/* UNO DENTAL — header/footer/promo/drawer canonical styles, extracted from homepage v2 */
@media(max-width:760px) {
.v3-hamburger-fixed{right:auto !important; left:24px !important; bottom:max(72px, calc(env(safe-area-inset-bottom) + 72px)) !important;}
}

.nav-mini a, .nav-mini > div, footer ul li a, .legal a, .nav-cta .btn { min-height:44px; display:inline-flex; align-items:center; }

.nav-cta .btn-primary, .v3-mobile-book { padding:14px 22px !important; font-size:13px !important; }

/* ===== NAV (approved Polished Editorial — preserved) ===== */
  .nav-mini{background:#000; color:rgba(255,255,255,.78); font-size:13px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.06);}

.nav-mini-row{display:flex; justify-content:space-between; align-items:center; max-width:1240px; margin:0 auto; padding:0 28px; gap:32px; flex-wrap:wrap;}

.nav-mini-rating{display:inline-flex; gap:10px; align-items:center;}

.nav-mini-rating .stars{color:var(--ab2-ember); font-size:13px; letter-spacing:2px;}

.nav-mini-rating strong{color:#fff; font-family:'Unbounded',sans-serif; font-weight:700; font-size:13px;}

.nav-mini em{font-family:'Josefin Sans',sans-serif; font-style:italic; color:var(--ab2-peach); font-weight:500; letter-spacing:.04em;}

.nav-mini a{color:rgba(255,255,255,.78); transition:color .2s; display:inline-flex; align-items:center; gap:6px;}

.nav-mini a:hover{color:var(--ab2-ember);}

.nav-mini a svg{width:16px; height:16px; fill:currentColor;}

.nav-mini .pulse{display:inline-block; width:7px; height:7px; border-radius:50%; background:#16B85E; margin-right:8px; box-shadow:0 0 0 3px rgba(22,184,94,.3);}

.nav-mini-status{display:inline-flex; align-items:center; gap:6px; flex:1 1 auto; justify-content:center;}

.nav-mini-hours{color:rgba(255,255,255,.65); margin-left:6px;}

nav.top{height:88px;}

nav.top .row{height:88px; padding:0;}

.brand{align-items:center; transition:filter .35s ease;}

.brand img{height:46px !important; transition:filter .35s ease;}

.brand:hover img{filter:brightness(1.1) drop-shadow(0 0 14px rgba(255,210,125,.55)) drop-shadow(0 0 24px rgba(255,203,184,.4));}

.nav-links{gap:48px !important; align-items:center;}

.nav-item{position:relative;}

.nav-item > a.parent{display:inline-flex; align-items:center; gap:6px;}

.nav-item > a.parent::after{content:"▾"; font-size:10px; opacity:.6; transition:transform .25s, opacity .2s;}

.nav-item:hover > a.parent::after{transform:rotate(180deg); opacity:1;}

.nav-dropdown{position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px); background:#0A1518; border:1px solid rgba(255,203,184,.15); border-radius:18px; padding:18px; min-width:280px; box-shadow:0 30px 80px rgba(0,0,0,.5); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s, transform .25s, visibility .25s; z-index:60;}

.nav-item:hover .nav-dropdown{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); pointer-events:auto;}

.nav-dropdown::before{content:""; position:absolute; top:-6px; left:50%; transform:translateX(-50%) rotate(45deg); width:12px; height:12px; background:#0A1518; border-left:1px solid rgba(255,203,184,.15); border-top:1px solid rgba(255,203,184,.15);}

.nav-dropdown a{display:block; padding:11px 14px; border-radius:10px; font-family:'Albert Sans',sans-serif !important; font-weight:600 !important; font-size:14px !important; color:#fff !important; letter-spacing:0; transition:background .2s, color .2s; -webkit-text-fill-color:#fff !important; background:transparent !important;}

.nav-dropdown a small{display:block; font-weight:400; font-size:12px; color:rgba(255,255,255,.55) !important; margin-top:2px; -webkit-text-fill-color:rgba(255,255,255,.55) !important;}

.nav-dropdown a:hover{background:rgba(255,203,184,.08) !important; color:var(--ab2-peach) !important; -webkit-text-fill-color:var(--ab2-peach) !important; animation:none;}

.nav-dropdown a:hover::before{display:none;}

.nav-dropdown a:hover small{color:rgba(255,203,184,.7) !important; -webkit-text-fill-color:rgba(255,203,184,.7) !important;}

.nav-dropdown a.featured{background:rgba(255,92,57,.1) !important; color:var(--ab2-peach) !important; -webkit-text-fill-color:var(--ab2-peach) !important; border:1px solid rgba(255,92,57,.2);}

.nav-dropdown-divider{height:1px; background:rgba(255,255,255,.08); margin:10px 4px;}

.nav-links a{font-family:'Albert Sans',sans-serif !important; font-weight:700 !important; font-size:16px !important; color:#fff !important; position:relative; padding:8px 4px; transition:color .25s ease; background-clip:text; -webkit-background-clip:text;}

.nav-links a::before{content:""; position:absolute; left:50%; bottom:0; width:0; height:2px; background:linear-gradient(90deg, transparent 0%, #FFD27D 30%, var(--ab2-peach) 50%, #FFD27D 70%, transparent 100%); transition:width .35s ease, left .35s ease;}

.nav-links a:hover{background:linear-gradient(120deg, #fff 0%, #FFE4B8 30%, #FFD27D 50%, #FFE4B8 70%, #fff 100%); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent !important; animation:gold-shimmer 1.6s ease infinite;}

.nav-links a:hover::before{width:100%; left:0;}

.nav-links a.gleam{font-family:'Josefin Sans',sans-serif !important; font-style:italic; font-weight:600 !important; font-size:26px !important; color:var(--ab2-peach) !important; letter-spacing:.02em; padding:8px 8px; display:inline-flex; align-items:center;}

.nav-links a.gleam .gleam-nav-logo{height:60px !important; width:auto !important; max-width:240px; display:block; filter:drop-shadow(0 0 8px rgba(255,203,184,.25));}

.nav-links a.gleam:hover .gleam-nav-logo{filter:drop-shadow(0 0 14px rgba(255,210,125,.6));}

.v3-drawer a.gleam{display:inline-flex !important; align-items:center;}

.v3-drawer a.gleam .gleam-nav-logo{height:72px !important; width:auto !important; max-width:280px; display:block;}

.nav-links a.gleam:hover{background:linear-gradient(120deg, var(--ab2-peach) 0%, #FFE4B8 30%, #FFD27D 50%, #FFE4B8 70%, var(--ab2-peach) 100%); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent !important;}

.nav-cta{gap:14px;}

.nav-cta .btn-ghost{color:#fff !important; border-color:rgba(255,255,255,.4) !important; font-weight:700; padding:14px 22px; display:inline-flex; align-items:center; gap:10px; transition: background-color, transform, color, box-shadow, opacity .2s;}

.nav-cta .btn-ghost svg{width:16px; height:16px; fill:var(--ab2-peach); transition:fill .2s;}

.nav-cta .btn-ghost:hover{background:#fff; color:var(--ab2-ink) !important; border-color:#fff !important;}

.nav-cta .btn-ghost:hover svg{fill:var(--ab2-ember);}

.nav-cta .btn-primary{font-weight:700; padding:14px 26px; background:var(--ab2-ember); color:#fff;}

.nav-cta .btn-primary:hover{background:#FF7253;}

/* ===== ELEVATED CTA (gradient — separates from footer) ===== */
  .ab2-final{
    background:linear-gradient(135deg, var(--ab2-ink) 0%, var(--ab2-ember) 100%);
    color:#fff; padding:180px 28px 140px; text-align:center; position:relative; overflow:hidden;
  }

/* Footer (kept dark) */
  footer{background:var(--ab2-ink) !important; color:#fff; padding-top:80px;}

footer h5{color:#fff;}

footer .about, footer ul li, footer .legal{color:rgba(255,255,255,.7);}

footer ul li a{color:rgba(255,255,255,.85);}

footer ul li a:hover{color:var(--ab2-ember);}

/* ===== MOBILE FIXES (v3.1) ===== */
/* Hamburger button — hidden on desktop, shown on mobile */
.v3-hamburger{
  display:none; background:none; border:0; cursor:pointer;
  width:44px; height:44px; align-items:center; justify-content:center;
  color:#fff; padding:0; margin-left:4px;
}

.v3-hamburger svg{width:28px; height:28px;}

/* Mobile drawer — slides from right */
.v3-drawer{
  position:fixed; top:0; right:-100%; width:88vw; max-width:380px; height:100vh; height:100dvh;
  background:#0A1518; color:#fff; z-index:9999;
  padding:24px 24px 40px; overflow-y:auto;
  transition:right .3s cubic-bezier(.7,0,.3,1);
  box-shadow:-20px 0 50px rgba(0,0,0,.5);
  display:flex; flex-direction:column; gap:6px;
}

.v3-drawer.open{right:0;}

.v3-drawer-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:9998;
  opacity:0; pointer-events:none; transition:opacity .25s;
}

.v3-drawer-backdrop.open{opacity:1; pointer-events:auto;}

.v3-drawer-close{
  align-self:flex-end; background:none; border:0; color:#fff;
  font-size:28px; cursor:pointer; padding:8px 12px; margin-bottom:8px;
}

.v3-drawer a{
  display:block; padding:14px 16px; color:#fff !important;
  font-family:'Albert Sans',sans-serif; font-weight:700; font-size:17px;
  text-decoration:none; border-radius:10px; transition:background .2s;
}

.v3-drawer a:hover{background:rgba(255,203,184,.08); color:#FFCBB8 !important;}

.v3-drawer a.gleam{font-family:'Josefin Sans',sans-serif; font-style:italic; font-size:24px; color:#FFCBB8 !important;}

.v3-drawer .section{font-family:'Josefin Sans',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.18em; font-size:11px; color:#FFCBB8 !important; padding:18px 16px 8px;}

.v3-drawer-divider{height:1px; background:rgba(255,255,255,.08); margin:8px 4px;}

.v3-drawer-cta{
  margin-top:16px; padding:16px 24px; background:#FF5C39; color:#fff !important;
  border-radius:999px; text-align:center;
  font-family:'Unbounded',sans-serif; font-weight:700; font-size:14px; text-decoration:none;
}

@media(max-width:560px) {
.nav-cta .btn-ghost span, .nav-cta .btn-ghost{font-size:0 !important;}
.nav-cta .btn-ghost{padding:10px !important;}
.nav-cta .btn-ghost svg{font-size:14px !important; width:16px !important; height:16px !important;}
.nav-cta .btn-primary{font-size:13px !important; padding:10px 16px !important;}
}

@media(max-width:560px) {
nav.top .nav-cta .btn-ghost{display:none !important;}
nav.top .nav-cta .btn-primary{padding:10px 14px !important; font-size:11px !important;}
nav.top .nav-cta{margin-right:50px; gap:6px !important;}
}

footer{margin-bottom:0 !important;}

/* Burger menu CTA inside drawer — say "Book Online" */
.v3-drawer-cta{content:"Book Online";}

@media(min-width:901px) {
.v3-hamburger-fixed{display:none !important;}
}

footer{margin-bottom:0 !important; padding-bottom:40px !important;}

/* Remove any rogue absolute-positioned elements adding height */
.book-modal[hidden], .v3-drawer:not(.open), .v3-drawer-backdrop:not(.open){
  height:0 !important; overflow:hidden;
}

/* 3. Hamburger always visible — bigger, sticky, coral, white border */
.v3-hamburger-fixed{
  display:none;
}

@media(max-width:900px) {
.v3-hamburger-fixed{
    display:flex !important;
    position:fixed !important; bottom:24px !important; left:24px !important; right:auto !important;
    z-index:999 !important;
    width:64px !important; height:64px !important;
    background:var(--ab2-ember) !important;
    border-radius:50% !important;
    box-shadow:0 12px 32px rgba(255,92,57,.6), 0 0 0 3px #fff !important;
    align-items:center; justify-content:center;
    border:0 !important;
  }
.v3-hamburger-fixed svg{width:28px !important; height:28px !important; stroke:#fff !important; color:#fff !important;}
}

/* === v3.8: GleamBar nav logo bigger === */
.nav-links a.gleam .gleam-nav-logo{height:60px !important; max-width:240px !important;}

.v3-drawer a.gleam .gleam-nav-logo{height:72px !important; max-width:280px !important;}

@media(max-width:560px) {
nav.top .nav-cta{margin-right:60px !important; gap:8px !important;}
nav.top .nav-cta .btn-primary{padding:10px 14px !important; font-size:12px !important;}
nav.top .nav-cta .btn-ghost{width:38px !important; height:38px !important;}
}

/* === v3.15: rotating promo ticker with sticky open-now (left) + Book Online CTA (right) === */
.promo-ticker{display:flex; align-items:stretch; background:#102F33; color:#fff; border-bottom:1px solid rgba(255,255,255,.06); position:relative; min-height:42px;}

.promo-ticker-status{display:inline-flex; align-items:center; gap:8px; padding:0 18px 0 24px; font-family:'Albert Sans',sans-serif; font-weight:700; font-size:13px; color:#fff; letter-spacing:.02em; flex-shrink:0; z-index:3; background:#102F33; position:relative; white-space:nowrap;}

.promo-ticker-status::after{content:""; position:absolute; right:-32px; top:0; bottom:0; width:32px; background:linear-gradient(90deg, #102F33, transparent); pointer-events:none;}

.promo-ticker-status .pulse{display:inline-block; width:8px; height:8px; border-radius:50%; background:#16B85E; box-shadow:0 0 0 3px rgba(22,184,94,.30); animation:promo-pulse 2s ease-in-out infinite;}

.promo-ticker-status .hours{color:rgba(255,255,255,.55); font-weight:500; font-size:12px; margin-left:6px;}

@keyframes promo-pulse{0%,100%{box-shadow:0 0 0 3px rgba(22,184,94,.30);} 50%{box-shadow:0 0 0 6px rgba(22,184,94,.18);}}

.promo-ticker-window{flex:1; min-width:0; overflow:hidden; padding:11px 0; align-self:center;}

.promo-ticker-track{display:flex; align-items:center; gap:0; width:max-content; will-change:transform; transform:translateX(0);}

.promo-ticker-item{display:inline-flex; align-items:center; gap:10px; font-family:'Albert Sans',sans-serif; font-weight:600; font-size:13px; color:rgba(255,255,255,.85); letter-spacing:.02em; padding:0 28px 0 0; white-space:nowrap;}

.promo-ticker-item strong{color:#fff; font-weight:800;}

.promo-ticker-item svg{flex-shrink:0; opacity:.85;}

.promo-ticker-item a{color:#fff;}

a.promo-ticker-item{text-decoration:none; cursor:pointer;}

a.promo-ticker-item:hover{color:#fff;}

.promo-ticker-dot{width:6px; height:6px; border-radius:50%; background:var(--ab2-ember); display:inline-block; margin-left:28px; flex-shrink:0;}

.promo-ticker-cta{display:inline-flex; align-items:center; gap:6px; padding:0 22px; font-family:'Unbounded',sans-serif; font-weight:700; font-size:12px; letter-spacing:.04em; color:#fff !important; background:var(--ab2-ember); text-decoration:none; flex-shrink:0; z-index:3; position:relative; white-space:nowrap; transition:background .2s;}

.promo-ticker-cta:hover{background:#FF7253;}

.promo-ticker-cta::before{content:""; position:absolute; left:-32px; top:0; bottom:0; width:32px; background:linear-gradient(270deg, var(--ab2-ember), transparent); pointer-events:none;}

.promo-ticker-cta svg{width:13px; height:13px;}

@media(max-width:760px) {
.promo-ticker-status{padding:0 12px 0 14px; font-size:12px;}
.promo-ticker-status .hours{display:none;}
.promo-ticker-cta{padding:0 14px; font-size:11px;}
.promo-ticker-item{font-size:12px; padding-right:22px;}
}

/* v3.14: collapse to single rotating ticker — hide static nav-mini */ .nav-mini{display:none;}

@media(max-width:760px) {
.nav-mini{display:flex !important;background:var(--ab2-ink,#1A1A1A);color:#fff;padding:6px 12px;font-size:12px;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(255,255,255,.12);}
}

html body > .promo-ticker,
html body > .nav-mini,
html body > nav,
html body > main,
html body > footer,
html body > section,
html body > header,
html body > div,
html body > script,
html body > style{font-size:16px; line-height:1.5;}

/* unified-extras: back-to-top + scroll-restore */
/* Make nav reliably sticky on every page (override any per-page absolute) */
nav.top{position:sticky !important; top:0 !important; z-index:50 !important;}

/* Back-to-top button — bottom-left, mirror of floating burger */
.back-to-top{
  position:fixed !important; bottom:24px !important; left:24px !important;
  z-index:998 !important; width:56px !important; height:56px !important;
  background:rgba(16,47,51,.92) !important; border-radius:50% !important;
  border:2px solid rgba(255,255,255,.85) !important; cursor:pointer !important;
  display:none; align-items:center !important; justify-content:center !important;
  box-shadow:0 8px 22px rgba(0,0,0,.35) !important; padding:0 !important;
  opacity:0; transition:opacity .25s ease, transform .25s ease;
  transform:translateY(8px);
}

.back-to-top.visible{display:flex; opacity:1; transform:translateY(0);}

.back-to-top:hover{transform:translateY(-2px) scale(1.05);}

.back-to-top svg{width:22px; height:22px; stroke:#fff; color:#fff;}

@media(max-width:560px) {
.back-to-top{width:48px !important; height:48px !important; bottom:20px !important; left:20px !important;}
.back-to-top svg{width:18px; height:18px;}
}

/* ============================================================
   v3.9 — Hero CTA pills, How+Trust glass merge, accordion text
   wrap fix, FAQ polish, finale single glass, header/footer
   gradient, full-width submit, hero-h1 stays white.
   ============================================================ */

/* HERO H1 STAYS WHITE — override the global ink-swap from v3.8 */
html body header.ab2hero h1,
html body header.ab2hero h1 em,
html body header.ab2hero .ab2hero-eyebrow,
html body header.ab2hero p{
  color:#fff !important;
}

/* HEADER (promo bar + nav) GRADIENT + FOOTER GRADIENT */
.promo-bar,
header.v3nav,
header.nav-v3,
.uds-promo-bar,
.uds-promo-strip,
.ab2-promo-bar,
nav.uds-nav,
nav.v3-nav{
  background:linear-gradient(135deg, #0B2226 0%, #102F33 50%, #1A4A52 100%) !important;
}

footer{
  background:linear-gradient(135deg, #0B2226 0%, #102F33 50%, #1A4A52 100%) !important;
}

/* === FOOTER MAIN CATEGORIES — make h5 visible on gradient === */
footer{
  color:#fff !important;
}

footer h5,
footer h5 a,
footer .foot-h3,
footer h3{
  color:#fff !important;
  font-family:'Unbounded',sans-serif !important;
  font-weight:800 !important;
  font-size:14px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  margin-bottom:18px !important;
  opacity:1 !important;
  display:block !important;
  visibility:visible !important;
}

footer h5 a:hover{ color:var(--ab2-peach) !important; }

footer ul{ list-style:none !important; padding:0 !important; margin:0 !important; }

footer ul li{ margin:8px 0 !important; }

footer ul li a{
  color:rgba(255,255,255,.78) !important;
  font-size:14.5px !important;
  text-decoration:none !important;
  transition:color .15s ease !important;
}

footer ul li a:hover{ color:#fff !important; }

footer .about{ color:rgba(255,255,255,.72) !important; }

footer .foot-contact a{ color:rgba(255,255,255,.85) !important; }

/* ============================================================
   v3.22 — 8-reasons carousel + how-trust BG video + founders
   elevation + TM disclaimer seamless with footer
   ============================================================ */

/* === 8-REASONS CAROUSEL (3-card view: prev / active / next) === */
html body section.ab2-why .ab2-eight-carousel{
  position:relative !important;
  max-width:1240px !important;
  margin:0 auto !important;
  padding:0 24px !important;
  overflow:hidden !important;
}

/* === TRADEMARK DISCLAIMER seamless with footer === */
.ud-tm-disclaimer{
  background:linear-gradient(135deg, #0B2226 0%, #102F33 50%, #1A4A52 100%) !important;
  border-top:0 !important;
  border-bottom:0 !important;
  padding:18px 0 !important;
  margin:0 !important;
}

.ud-tm-disclaimer + footer{
  margin-top:0 !important;
}

/* === Promo ticker: seamless with nav (no border / no margin gap).
   Window is transparent so the parent .promo-ticker bg flows through —
   that way each page (homepage = teal, GleamBar = cobalt) gets its own color. === */
html body .promo-ticker-window,
html body .promo-bar,
html body .ab2-promo-bar{
  border-top:0 !important;
  border-bottom:0 !important;
  margin:0 !important;
  background:transparent !important;
}

/* Kill any background-clip: padding-box gap or extra spacing on the next sibling */
html body .promo-ticker-window + *,
html body .promo-bar + *{
  border-top:0 !important;
  margin-top:0 !important;
}

@media(max-width:760px) {
.v3-hamburger-fixed{bottom:max(72px, calc(env(safe-area-inset-bottom) + 72px)) !important;}
}

/* Reassurance footer copy */
html body .ab2-affd-foot{
  margin:26px auto 0 !important;
  max-width:600px !important;
  color:rgba(255,255,255,.55) !important;
  font-family:'Albert Sans',sans-serif !important;
  font-size:12.5px !important;
  line-height:1.6 !important;
  text-align:center !important;
}
/* ============================================================
   2026-05-09 — UNIFY nav.top with homepage exactly.
   Sub-pages had nav.top .row{padding:0 28px} which squeezed
   nav-links narrow enough to wrap "What We Do" → "What We | Do".
   Match the homepage rendering: zero-padding row + nowrap items.
   ============================================================ */
nav.top .row{
  padding: 0 !important;
  gap: normal !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}
nav.top .nav-links > .nav-item,
nav.top .nav-links > a,
nav.top .nav-item > a.parent,
nav.top .nav-links a.gleam{
  white-space: nowrap !important;
}
/* Restore the homepage's interior padding on .row by giving the inner items room */
nav.top .brand{padding-left:28px !important;}
nav.top .nav-cta{padding-right:28px !important;}
@media (max-width: 900px){
  nav.top .brand{padding-left:16px !important;}
  nav.top .nav-cta{padding-right:16px !important;}
}

/* ============================================================
   2026-05-09 — Kill the 24px white bar above the promo ticker.
   Cause: whitespace text nodes between <body> and <div.promo-ticker>
   create an anonymous line box at body's font-size/line-height = 24px.
   Fix: zero body's intrinsic font-size/line-height; restore on every
   direct element child so all real content renders normally.
   This is the same fix the homepage used in its inline <style>.
   ============================================================ */
html body{font-size:0 !important; line-height:0 !important;}
html body > a,
html body > .promo-ticker,
html body > .nav-mini,
html body > nav,
html body > main,
html body > footer,
html body > section,
html body > header,
html body > article,
html body > aside,
html body > div,
html body > button,
html body > script,
html body > style,
html body > iframe,
html body > svg,
html body > p,
html body > h1, html body > h2, html body > h3, html body > h4{
  font-size:16px !important;
  line-height:1.5 !important;
}
