/* ===========================================================
   DC Dental — mobile "feel" layer v3  (≤1024px only)
   Clinic-site mobile conventions: centered section heads,
   airy rhythm, icon-on-top cards, sticky bottom contact bar.
   Desktop (>1024px) untouched.
   =========================================================== */

/* ---- sticky bottom contact bar (built by mobile-v3.js) ---- */
.v3bar{display:none}
@media(max-width:1024px){
.v3bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:900;background:#FFFDF8;
  border-top:1px solid rgba(196,168,130,.4);box-shadow:0 -4px 18px rgba(80,60,40,.10);
  padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
.v3bar-label{text-align:center;font-size:13px;letter-spacing:.06em;color:#8B7355;font-weight:700;margin-bottom:7px}
.v3bar-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.v3bar-row a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  min-height:52px;border-radius:11px;text-decoration:none;font-size:14px;font-weight:700;line-height:1.2;color:#fff}
.v3bar-row a svg{width:20px;height:20px;display:block}
.v3bar-call{background:linear-gradient(135deg,#C4A882,#8B7355)}
.v3bar-line{background:#06C755}
.v3bar-msg{background:#0866FF}
body{padding-bottom:96px!important}
.float-cta,.v3float{display:none!important}

/* ---- type scale: outrank per-page id-scoped !important rules ---- */
body #about .sdesc,body #about .about-feat,body #services .sdesc,body #team .sdesc,
body #tech .sdesc,body #testimonials .sdesc,body #blogs .sdesc,body #contact .sdesc,
body .sdesc,body .slead{font-size:18px!important;line-height:1.75!important}
body .hero .hero-desc,body .hero-desc{font-size:18px!important;line-height:1.75!important}
body #tech .tech-card h3{font-size:21px!important}
body #tech .tech-card p{font-size:17px!important;line-height:1.7!important}
body .hero .hero-contacts{margin-bottom:24px!important}
body .hero .hc-pill,body .hero .hc-phone{font-size:17px!important}
body .stitle,body h2.stitle{font-size:clamp(27px,7.4vw,34px)!important;line-height:1.28!important}

/* ---- airier vertical rhythm ---- */
.section{padding:56px 18px!important}
.section+.section{padding-top:56px!important}

/* ---- centered section heads, lowercase english eyebrow ---- */
.section-head,.section-head-center,.sec-head{text-align:center!important;margin-bottom:30px!important}
.section-head-center .eyebrow,.section-head .eyebrow,.eyebrow,
body #about .eyebrow,body #services .eyebrow,body #team .eyebrow,body #tech .eyebrow,
body #testimonials .eyebrow,body #blogs .eyebrow,body #contact .eyebrow,body #insurance .eyebrow{
  display:block!important;text-align:center!important;
  font-size:15px!important;letter-spacing:.18em!important;text-transform:lowercase!important;
  font-weight:700!important;margin:0 auto 10px!important}
.section-head-center h2,.section-head h2,.stitle{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.section-head-center>p,.section-head>p,.sec-lead,.slead{text-align:center!important;max-width:46ch;margin-left:auto!important;margin-right:auto!important}

/* ---- cards: icon on top, centered, soft and roomy ---- */
.svc-card,.why-card,.tech-card,.ins-card,.stat-card{text-align:center!important;padding:28px 22px!important;
  border-radius:16px!important;background:#FFFDF8!important;box-shadow:0 3px 16px rgba(140,115,85,.08)!important}
.svc-card>svg,.svc-card>img,.svc-icon,.why-icon,.tech-icon,.ins-icon{margin-left:auto!important;margin-right:auto!important;display:block!important}
.svc-card h3,.why-card h3,.tech-card h3,.ins-card h3{text-align:center!important;margin-top:16px!important;font-size:21px!important}
.svc-card p,.why-card p,.tech-card p,.ins-card p{text-align:center!important;font-size:17px!important;line-height:1.7!important}
.svc-card a,.svc-more,.read-more{display:inline-flex!important;align-items:center;gap:6px;margin-top:14px!important;
  font-size:16px!important;letter-spacing:.04em;text-transform:lowercase}

/* ---- stats: one big number per row, centered ---- */
.stats-inner{flex-direction:column!important;align-items:center!important;gap:26px!important;text-align:center}
.stat-sep{width:52px!important;height:1px!important}
.stat-num{font-size:44px!important;line-height:1!important}
.stat-label{font-size:18px!important;margin-top:6px!important}

/* ---- hero: centered, roomy, rating chip under the heading ---- */
.hero-text{text-align:center!important}
.hero-text h1,.hero-text p{margin-left:auto!important;margin-right:auto!important}
.hero-desc{max-width:44ch;font-size:18px!important;line-height:1.75!important}
.hero-rating{margin:18px auto 0!important;justify-content:center!important}
.hero-contacts{align-items:stretch!important;gap:10px!important;margin-top:20px!important}
.hero-contacts>a{justify-content:center!important;width:100%!important;min-height:50px!important;font-size:17px!important}

/* ---- footer heads centered like the rest of the page ---- */
footer h3,footer h4{text-align:center!important}
footer .footer-grid>div{text-align:center!important}
footer .ci,footer .ci-hours{justify-content:center!important;text-align:center!important}
footer .mv2-cols{text-align:center!important}
footer .footer-grid>div>div[style*="display:flex"]{justify-content:center!important}
/* ---- FIX: no fade-in reveal on mobile (cards were showing washed-out) ---- */
.hm,.hm-card,.hm-img,.pm,.pm-card,.pm-img{opacity:1!important;transform:none!important;transition:none!important;filter:none!important}
/* ---- FIX: solid card text contrast ---- */
.svc-card,.why-card,.tech-card,.ins-card{background:#FFFFFF!important;border:1px solid rgba(196,168,130,.28)!important}
.svc-card h3,.why-card h3,.tech-card h3,.ins-card h3{color:#2B2118!important;opacity:1!important}
.svc-card p,.why-card p,.tech-card p,.ins-card p{color:#5C4A38!important;opacity:1!important}
.svc-card a,.svc-more,.read-more{color:#8B7355!important;font-weight:700!important}
.svc-card .svc-num{display:none!important}
.svc-icon{background:rgba(196,168,130,.14)!important;border:1px solid rgba(196,168,130,.28)!important}


/* ---- FIX: footer contrast on mobile ---- */
footer{background:linear-gradient(160deg,#6B5438 0%,#54402A 60%,#3E2F1E 100%)!important}
footer,footer div,footer p,footer span,footer li{color:#F4EDE3!important}
footer a{color:#F4EDE3!important;text-decoration:none}
footer a:hover{color:#E3C99B!important}
footer h3,footer h4,footer strong,footer b{color:#FFFFFF!important}
footer .ci,footer .ci a,footer .ci-hours{color:#F4EDE3!important;font-weight:500!important}
footer [style*="rgba(255,253,248,.6)"],footer [style*="rgba(255,253,248,.5)"],footer [style*="rgba(255,253,248,.7)"],footer [style*="rgba(255,253,248,.75)"],footer [style*="rgba(255,253,248,.8)"]{color:#EFE6D9!important}
footer svg{opacity:1!important}
footer [style*="border-bottom:1px solid rgba"],footer [style*="border-top:1px solid rgba"]{border-color:rgba(244,237,227,.22)!important}


/* ---- FIX: doctor cards CDC-style (photo left, text right) ---- */
.dr-grid{gap:12px!important;margin:22px 0!important}
.dr-card{flex-direction:row!important;align-items:center!important;text-align:left!important;
  gap:14px!important;padding:16px!important;border-radius:14px!important;background:#fff!important;
  border:1px solid rgba(196,168,130,.22)!important;box-shadow:0 2px 10px rgba(140,115,85,.06)!important}
.dr-card:nth-child(5){max-width:100%!important;margin:0!important}
.dr-photo{width:64px!important;height:64px!important;min-width:64px!important;margin:0!important}
.dr-info{flex:1!important;text-align:left!important;min-width:0}
.dr-name{text-align:left!important;font-size:18px!important;font-weight:700!important;color:#7A6046!important;margin-bottom:2px!important;line-height:1.35!important}
.dr-nick{text-align:left!important;font-size:14px!important;color:#8C7A66!important;margin-bottom:3px!important}
.dr-spec{text-align:left!important;font-size:15px!important;color:#3F3226!important;font-weight:500!important}
/* LINE CTA under the team grid */
.dr-line-cta{display:flex!important;justify-content:center;margin:22px 0 4px}
.dr-line-cta a{display:inline-flex;align-items:center;gap:9px;padding:14px 30px;border-radius:999px;
  border:2px solid #06C755;color:#06C755!important;background:#fff;font-size:17px;font-weight:700;text-decoration:none}
.dr-line-cta a svg{width:20px;height:20px;fill:#06C755}
/* ---- FIX: veneers two-col blocks stack on mobile ---- */
.type-grid,.proscons{grid-template-columns:1fr!important;gap:14px!important}
.type-card-body h3{font-size:19px!important;line-height:1.4!important}
.type-card-body ul li,.pros ul li,.cons ul li{font-size:16px!important;line-height:1.65!important}
.pros,.cons{padding:20px 18px!important}
.pros h4,.cons h4{font-size:18px!important;align-items:flex-start!important}
/* ---- footer logo: smaller on mobile, centered ---- */
footer img[src*="logo"]{height:auto!important;max-height:62px!important;width:auto!important;max-width:70%!important;display:block!important;margin:0 auto 14px!important}
/* service links: keep 44px tap height, tighter rhythm */
footer .mv2-cols>a{padding:9px 0!important}
/* service links: two columns so the footer is not endlessly tall */
footer .mv2-cols.mv2-onecol{grid-template-columns:1fr 1fr!important;gap:2px 14px!important}
}

@media(max-width:480px){
  .section{padding:46px 16px!important}
  .v3bar-row a{font-size:13px}
  .stat-num{font-size:38px!important}

}
