/* M7 CMS homepage sections — v1.4.5.2 */
.m7-audience-section,.m7-reviews-section,.m7-faq-section{padding:64px 0}
.m7-section-heading{text-align:center;max-width:760px;margin:0 auto 30px}
.m7-section-heading>span{display:inline-block;margin-bottom:8px;color:var(--primary,#ff7a1a);font-weight:800;font-size:.92rem}
.m7-section-heading h2{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.3}
.m7-section-heading p{margin:0;color:var(--muted,#667085)}
.m7-audience-grid,.m7-home-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.m7-audience-card,.m7-home-review,.m7-faq-item{border:1px solid var(--border,#e5e7eb);border-radius:20px;padding:24px;background:var(--surface,#fff);box-shadow:0 10px 30px rgba(15,23,42,.07)}
.m7-audience-card{border-top-width:5px}
.m7-audience-blue{border-top-color:#3b82f6;background:linear-gradient(180deg,rgba(59,130,246,.12),var(--surface,#fff) 48%)}
.m7-audience-green{border-top-color:#10b981;background:linear-gradient(180deg,rgba(16,185,129,.12),var(--surface,#fff) 48%)}
.m7-audience-purple{border-top-color:#8b5cf6;background:linear-gradient(180deg,rgba(139,92,246,.12),var(--surface,#fff) 48%)}
.m7-audience-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.08);font-size:1.35rem}
.m7-audience-card h3{margin:16px 0 8px;font-size:1.2rem}.m7-audience-card p{margin:0;color:var(--muted,#667085)}
.m7-home-review{display:flex;flex-direction:column;justify-content:space-between;min-height:220px}
.m7-home-review>p{margin:0 0 22px;font-size:1.02rem;line-height:1.9}
.m7-home-review>div{padding-top:16px;border-top:1px solid var(--border,#e5e7eb)}
.m7-home-review strong,.m7-home-review span{display:block}.m7-home-review span{margin-top:3px;color:var(--muted,#667085);font-size:.9rem}
.m7-section-action{text-align:center;margin-top:25px}.m7-section-action .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:14px;text-decoration:none;font-weight:800}
.m7-faq-list{display:grid;gap:14px;max-width:940px;margin-inline:auto}.m7-faq-item{padding:22px 24px}.m7-faq-item h3{margin:0 0 8px;font-size:1.1rem}.m7-faq-item p{margin:0;color:var(--muted,#667085)}
[data-theme="dark"] .m7-audience-card,[data-theme="dark"] .m7-home-review,[data-theme="dark"] .m7-faq-item,body.dark .m7-audience-card,body.dark .m7-home-review,body.dark .m7-faq-item{background:var(--surface,#171f2e);color:var(--text,#f4f6fb)}
[data-theme="dark"] .m7-audience-blue,[data-theme="dark"] .m7-audience-green,[data-theme="dark"] .m7-audience-purple,body.dark .m7-audience-blue,body.dark .m7-audience-green,body.dark .m7-audience-purple{background:var(--surface,#171f2e)}
@media(max-width:900px){.m7-audience-section,.m7-reviews-section,.m7-faq-section{padding:48px 0}.m7-audience-grid,.m7-home-reviews-grid{grid-template-columns:1fr}.m7-home-review{min-height:0}}
@media(max-width:520px){.m7-audience-card,.m7-home-review,.m7-faq-item{padding:20px;border-radius:17px}.m7-section-heading{margin-bottom:22px}}

/* v1.4.6.3: keep homepage audience icons consistent in dark mode only. */
[data-theme="dark"] .m7-audience-icon,body.dark .m7-audience-icon{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);color:var(--text,#f4f6fb)}


/* v1.4.6.4 — remaining fixes, strictly scoped to homepage additions. */
html[data-theme="dark"] .m7-audience-card .m7-audience-icon,
html.dark .m7-audience-card .m7-audience-icon,
body[data-theme="dark"] .m7-audience-card .m7-audience-icon,
body.dark .m7-audience-card .m7-audience-icon,
.theme-dark .m7-audience-card .m7-audience-icon {
  background:#222b3b !important;
  background-image:none !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#f7f8fc !important;
  box-shadow:none !important;
}
.monthly-offer .monthly-offer-media{min-width:0;overflow:hidden}
.monthly-offer .monthly-offer-image{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
  position:relative;
  transform:none;
  filter:none;
}
