/* White Tooth 1.1.4 — final runtime cascade.
   Loaded after ky6 component assets to preserve the approved header and typography. */
:root{
  --font:"Montserrat Alternates","Montserrat","Avenir Next","Segoe UI",Arial,sans-serif;
}

.public-page,
.public-page button,
.public-page input,
.public-page select,
.public-page textarea{
  font-family:var(--font) !important;
}

/* Desktop header: plain editorial navigation, no framework button chrome. */
@media (min-width:1101px){
  .public-page .site-header .header-row{
    min-height:88px !important;
    gap:16px !important;
  }
  .public-page .site-header .main-nav{
    display:flex !important;
    align-items:center !important;
    gap:1px !important;
    margin-left:auto !important;
  }
  .public-page .site-header .nav-group{
    position:relative !important;
  }
  .public-page .site-header .nav-trigger,
  .public-page .site-header .main-nav>a{
    appearance:none !important;
    -webkit-appearance:none !important;
    display:flex !important;
    align-items:center !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 6px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#35566e !important;
    font-family:var(--font) !important;
    font-size:12.5px !important;
    font-style:normal !important;
    font-weight:400 !important;
    line-height:1.2 !important;
    letter-spacing:.018em !important;
    text-decoration:none !important;
    text-transform:none !important;
  }
  .public-page .site-header .nav-trigger:hover,
  .public-page .site-header .nav-trigger:focus-visible,
  .public-page .site-header .nav-group[data-open="true"]>.nav-trigger,
  .public-page .site-header .main-nav>a:hover,
  .public-page .site-header .main-nav>a:focus-visible{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--color-primary-dark) !important;
  }
  .public-page .site-header .nav-trigger::before,
  .public-page .site-header .main-nav>a::before{
    left:6px !important;
    right:6px !important;
  }
  .public-page .site-header .nav-trigger::after{
    margin-left:6px !important;
    color:#86aec9 !important;
    font-size:11px !important;
  }
  .public-page .site-header .menu-button{
    display:none !important;
  }
  .public-page .site-header .header-phone{
    display:inline-flex !important;
    margin-left:4px !important;
  }
  .public-page .site-header .header-cta{
    display:inline-flex !important;
  }
}

/* Tablet/mobile switch is explicit so generic ky6 button styles cannot reveal the burger on desktop. */
@media (max-width:1100px){
  .public-page .site-header .main-nav{
    display:none !important;
  }
  .public-page .site-header .menu-button{
    appearance:none !important;
    -webkit-appearance:none !important;
    display:block !important;
    margin-left:0 !important;
  }
  .public-page .site-header .header-phone{
    margin-left:auto !important;
  }
  .public-page .site-header .header-cta{
    display:none !important;
  }
}

@media (max-width:760px){
  .public-page .site-header .header-phone{
    display:none !important;
  }
  .public-page .site-header .menu-button{
    margin-left:auto !important;
  }
}

/* White Tooth 1.1.5 — stacking and catalog detail fixes. */
html{
  scroll-padding-top:120px;
}
.public-page{
  overflow-x:clip;
}
.public-page .site-header{
  position:-webkit-sticky !important;
  position:sticky !important;
  top:0 !important;
  z-index:2000 !important;
  isolation:isolate !important;
  background:rgba(248,252,255,.985) !important;
  border-bottom:1px solid rgba(54,132,184,.12) !important;
  box-shadow:0 8px 32px rgba(34,82,116,.045) !important;
  backdrop-filter:blur(20px) saturate(145%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(145%) !important;
}
.public-page .site-header.is-scrolled{
  background:rgba(248,252,255,.995) !important;
  box-shadow:0 12px 36px rgba(34,82,116,.08) !important;
}
.public-page #main{
  position:relative;
  z-index:0;
  isolation:isolate;
}
.public-page #main > *,
.public-page .entity-detail,
.public-page .entity-detail-content,
.public-page .content-layout{
  position:relative;
  z-index:0;
}
.public-page .sidebar,
.public-page .entity-detail-sidebar{
  z-index:1 !important;
}
.public-page .sidebar .cta-card,
.public-page .sidebar .local-nav{
  z-index:0 !important;
}
.public-page .mobile-dialog{
  z-index:3000 !important;
}

/* Dynamic module-catalog pages use the same theme templates as ordinary pages. */
.public-page.page-catalog-detail .mobile-cta,
.public-page.page-catalog-list .mobile-cta,
.public-page.page-catalog-category .mobile-cta{
  z-index:1900;
}

.public-page .entity-detail-hero{
  padding:58px 0 92px;
}
.public-page .entity-detail-hero::before{
  background:
    radial-gradient(circle at 80% 24%,rgba(176,217,243,.48),transparent 27rem),
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(237,247,253,.86));
}
.public-page .entity-detail-hero-grid{
  grid-template-columns:minmax(0,6.8fr) minmax(360px,5.2fr);
  gap:clamp(56px,7vw,104px);
  align-items:center;
}
.public-page .entity-detail-intro{
  min-width:0;
}
.public-page .entity-detail-intro h1{
  max-width:12ch;
  margin-bottom:24px;
}
.public-page .entity-detail-lead > :last-child{
  margin-bottom:0;
}
.public-page .entity-detail-actions{
  margin-top:30px;
}
.public-page .entity-detail-photo{
  position:relative;
  width:min(100%,520px);
  justify-self:end;
  margin:0;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:58px 24px 72px 30px;
  background:#e8f4fb;
  box-shadow:0 34px 88px rgba(34,83,118,.16);
}
.public-page .entity-detail-photo::before{
  content:"";
  position:absolute;
  z-index:2;
  width:120px;
  height:140px;
  right:-20px;
  bottom:-28px;
  pointer-events:none;
  background:rgba(255,255,255,.22);
  -webkit-mask:url("/theme/white-tooth/assets/images/decor/tooth-outline.svg") center/contain no-repeat;
  mask:url("/theme/white-tooth/assets/images/decor/tooth-outline.svg") center/contain no-repeat;
  transform:rotate(10deg);
}
.public-page .entity-detail-photo--portrait{
  width:min(100%,440px);
  aspect-ratio:4/5;
}
.public-page .entity-detail-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.public-page .entity-detail-photo--portrait img{
  object-position:center 18%;
}
.public-page .entity-detail-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:34px 0 0;
  padding:22px 0 0;
  list-style:none;
  border-top:1px solid rgba(54,132,184,.13);
}
.public-page .entity-detail-facts li{
  min-width:0;
}
.public-page .entity-detail-facts span,
.public-page .entity-detail-facts strong{
  display:block;
}
.public-page .entity-detail-facts span{
  margin-bottom:6px;
  color:#7990a3;
  font-size:9px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.public-page .entity-detail-facts strong{
  color:#35566e;
  font-size:12px;
  font-weight:400;
  line-height:1.55;
}

.public-page .entity-detail-content{
  padding-top:clamp(84px,8vw,122px);
}
.public-page .entity-detail-content .content-layout{
  grid-template-columns:minmax(0,8.25fr) minmax(280px,3.75fr);
  gap:clamp(58px,7vw,96px);
}
.public-page .entity-detail-article{
  min-width:0;
}
.public-page .entity-detail-article .article-section{
  padding-left:30px;
  padding-bottom:58px;
  margin-bottom:58px;
}
.public-page .entity-detail-article .article-section h2{
  max-width:18ch;
  margin-top:12px;
}
.public-page .entity-detail-overview{
  padding:38px 42px 42px !important;
  border:0 !important;
  border-radius:38px 18px 48px 22px;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(235,246,253,.88));
  box-shadow:0 26px 70px rgba(40,91,126,.08);
}
.public-page .entity-detail-overview::before,
.public-page .entity-detail-overview::after{
  content:none !important;
}
.public-page .entity-rich-text{
  color:#557086;
  font-size:15px;
  line-height:1.9;
}
.public-page .entity-rich-text > :last-child{
  margin-bottom:0;
}
.public-page .entity-emphasis{
  margin-top:22px;
  padding:18px 22px;
  border-radius:20px;
  background:#e8f4fb;
  color:#35566e !important;
}
.public-page .entity-price{
  margin:20px 0;
  color:var(--color-primary-dark) !important;
  font-size:clamp(34px,4vw,52px) !important;
  font-weight:300 !important;
  line-height:1.12 !important;
  letter-spacing:-.035em;
}
.public-page .entity-data-list{
  display:grid;
  gap:0;
  margin:26px 0 30px;
  padding:5px 26px;
  border-radius:28px;
  background:rgba(255,255,255,.72);
}
.public-page .entity-data-list > div{
  display:grid;
  grid-template-columns:minmax(130px,.65fr) minmax(0,1.35fr);
  gap:26px;
  padding:20px 0;
  border-bottom:1px solid rgba(54,132,184,.12);
}
.public-page .entity-data-list > div:last-child{
  border-bottom:0;
}
.public-page .entity-data-list dt{
  color:#7890a4;
  font-size:10px;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.public-page .entity-data-list dd{
  margin:0;
  color:#3e6179;
  font-weight:300;
}
.public-page .entity-detail-sidebar{
  top:116px !important;
  align-self:start;
}
.public-page .entity-detail-sidebar .local-nav{
  margin-bottom:4px;
}
.public-page .entity-detail-sidebar .cta-card{
  isolation:isolate;
}
.public-page .entity-detail-sidebar .cta-card .kicker{
  position:relative;
  z-index:1;
  color:#b8ddf2;
}
.public-page .entity-detail-sidebar .cta-card h3,
.public-page .entity-detail-sidebar .cta-card p,
.public-page .entity-detail-sidebar .cta-card .button{
  position:relative;
  z-index:1;
}

@media (max-width:1100px){
  .public-page .entity-detail-hero-grid{
    grid-template-columns:1fr;
    gap:46px;
  }
  .public-page .entity-detail-photo,
  .public-page .entity-detail-photo--portrait{
    width:min(100%,720px);
    justify-self:start;
    aspect-ratio:16/10;
  }
  .public-page .entity-detail-photo--portrait img{
    object-position:center 22%;
  }
  .public-page .entity-detail-content .content-layout{
    grid-template-columns:1fr;
    gap:54px;
  }
  .public-page .entity-detail-sidebar{
    position:static !important;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
  }
}

@media (max-width:760px){
  html{scroll-padding-top:92px}
  .public-page .entity-detail-hero{
    padding:34px 0 60px;
  }
  .public-page .entity-detail-hero-grid{
    gap:32px;
  }
  .public-page .entity-detail-intro h1{
    max-width:none;
  }
  .public-page .entity-detail-actions{
    display:grid;
  }
  .public-page .entity-detail-actions .button{
    width:100%;
  }
  .public-page .entity-detail-facts{
    grid-template-columns:1fr;
    gap:14px;
  }
  .public-page .entity-detail-photo,
  .public-page .entity-detail-photo--portrait{
    aspect-ratio:4/3;
    border-radius:38px 18px 48px 22px;
  }
  .public-page .entity-detail-content{
    padding-top:72px;
  }
  .public-page .entity-detail-article .article-section{
    padding-left:22px;
  }
  .public-page .entity-detail-overview{
    padding:28px 25px 30px !important;
    border-radius:28px 15px 36px 18px;
  }
  .public-page .entity-data-list{
    padding-inline:20px;
  }
  .public-page .entity-data-list > div{
    grid-template-columns:1fr;
    gap:6px;
  }
  .public-page .entity-detail-sidebar{
    grid-template-columns:1fr;
  }
}
