/* ========================================================================
   SmileCraft v2.0 — stable header + guaranteed premium motion layer
   Loaded after the core/client-review CSS. It deliberately avoids changing
   the global header grid so the v1.8 layout remains intact.
   ======================================================================== */
:root {
  --sc20-ink:#263746;
  --sc20-blue:#4A6480;
  --sc20-gold:#BC9C65;
  --sc20-ease:cubic-bezier(.16,.84,.28,1);
}

/* --- neutralise legacy reveal state only; v2.0 motion is driven by WAAPI --- */
.sc18-reveal,.sc18-reveal-media,.sc18-reveal-left,.sc18-reveal-right,.sc18-reveal-scale,
.reveal-on-scroll {
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
  clip-path:none !important;
}

/* --- restore the stable header geometry; do not shrink/re-grid it on scroll --- */
.site-header,
.site-header.scrolled,
.site-header.sc19-scrolled {
  background:rgba(246,240,229,.96) !important;
  box-shadow:none !important;
  transition:box-shadow .24s ease, background-color .24s ease !important;
}
.site-header.scrolled { box-shadow:0 12px 30px rgba(38,55,70,.08) !important; }
.sc-header-inner,
.site-header.sc19-scrolled .sc-header-inner {
  min-height:80px !important;
}

/* Desktop navigation: keep every top-level item on one row. */
@media (min-width:1081px) {
  .site-header .sc-header-inner {
    grid-template-columns:auto minmax(0,1fr) auto !important;
    gap:clamp(18px,2.2vw,30px) !important;
  }
  .site-header .main-nav {
    min-width:0 !important;
    justify-self:center !important;
  }
  .site-header .main-nav > .wp-block-navigation__responsive-container,
  .site-header .main-nav .wp-block-navigation__responsive-container-content,
  .site-header .main-nav .wp-block-navigation__container {
    width:auto !important;
    max-width:100% !important;
  }
  .site-header .main-nav .wp-block-navigation__container {
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:2px !important;
  }
  .site-header .main-nav .wp-block-navigation-item { flex:0 0 auto !important; }
  .site-header .main-nav .wp-block-navigation-item__content {
    white-space:nowrap !important;
    padding:9px 9px !important;
  }

  /* No translated gap. The submenu touches the parent hover area. */
  .site-header .main-nav .wp-block-navigation-submenu { position:relative !important; }
  .site-header .main-nav .wp-block-navigation__submenu-container {
    display:block !important;
    position:absolute !important;
    top:calc(100% - 1px) !important;
    left:0 !important;
    right:auto !important;
    margin:0 !important;
    padding:9px !important;
    min-width:255px !important;
    width:max-content !important;
    max-width:330px !important;
    height:auto !important;
    overflow:visible !important;
    transform:none !important;
    translate:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    background:rgba(255,255,255,.99) !important;
    border:1px solid rgba(169,184,196,.38) !important;
    border-radius:16px !important;
    box-shadow:0 22px 54px rgba(38,55,70,.14) !important;
    transition:opacity .16s ease, visibility .16s ease !important;
    z-index:1003 !important;
  }
  .site-header .main-nav .wp-block-navigation__container > .wp-block-navigation-item:nth-last-child(-n+2) > .wp-block-navigation__submenu-container {
    left:auto !important;
    right:0 !important;
  }
  .site-header .main-nav .wp-block-navigation__submenu-container::before {
    content:"";
    position:absolute;
    left:0; right:0; top:-10px; height:12px;
    background:transparent;
  }
  .site-header .main-nav .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-container,
  .site-header .main-nav .wp-block-navigation-submenu:focus-within > .wp-block-navigation__submenu-container,
  .site-header .main-nav .wp-block-navigation-submenu.sc20-menu-open > .wp-block-navigation__submenu-container {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
  }
  .site-header .main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    display:block !important;
    min-width:235px !important;
    padding:11px 12px !important;
    border-radius:10px !important;
    line-height:1.35 !important;
  }
  .site-header .main-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content::after {
    transform:none !important;
  }
}

/* Keep the nav compact on smaller desktop widths instead of wrapping. */
@media (min-width:1081px) and (max-width:1220px) {
  .site-header .sc-header-inner { gap:14px !important; padding-inline:20px !important; }
  .site-header .main-nav .wp-block-navigation-item__content { font-size:12px !important; padding-inline:7px !important; }
  .sc-header-phone { display:none !important; }
  .sc-header-cta .wp-block-button__link { padding:10px 14px !important; }
}

/* --- tactile but restrained premium feedback --- */
.sc17-btns .wp-block-button__link,
.sc-header-cta .wp-block-button__link {
  transition:transform .22s var(--sc20-ease), box-shadow .22s ease, background-color .22s ease !important;
}
.sc17-btns .wp-block-button__link:hover,
.sc-header-cta .wp-block-button__link:hover {
  transform:translateY(-2px) !important;
  box-shadow:0 10px 24px rgba(38,55,70,.12) !important;
}

.sc17-value-card,.sc17-summary-card,.sc17-detail-card,.sc17-content-card,.sc17-pathway,.sc17-case-pair {
  transition:transform .34s var(--sc20-ease), box-shadow .34s ease, border-color .34s ease !important;
}
.sc17-value-card:hover,.sc17-summary-card:hover,.sc17-detail-card:hover,.sc17-content-card:hover,.sc17-pathway:hover,.sc17-case-pair:hover {
  transform:translateY(-6px) !important;
  box-shadow:0 24px 56px rgba(38,55,70,.10) !important;
  border-color:rgba(188,156,101,.42) !important;
}
.sc17-pathway-media,.sc17-photo,.sc17-case-photo { overflow:hidden !important; }
.sc17-pathway-media img,.sc17-photo img,.sc17-case-photo img {
  transition:transform .75s var(--sc20-ease), filter .5s ease !important;
}
.sc17-pathway:hover .sc17-pathway-media img,
.sc17-photo:hover img,
.sc17-case-photo:hover img { transform:scale(1.035) !important; }

/* Subtle living background accents; no layout impact. */
.sc17-hero,.sc17-page-hero { isolation:isolate; }
.sc17-hero::after,.sc17-page-hero::after {
  content:"";
  position:absolute;
  width:clamp(250px,33vw,500px);
  aspect-ratio:1;
  right:clamp(-220px,-10vw,-90px);
  top:clamp(-190px,-8vw,-85px);
  border:1px solid rgba(188,156,101,.16);
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}
.sc17-page-hero::after { border-color:rgba(74,100,128,.12); }

/* Prevent old reduced-motion CSS from killing the logged-in preview. Public
   visitors still keep the system preference because v2 JS respects it. */
@media (prefers-reduced-motion:reduce) {
  body.logged-in .sc17-btns .wp-block-button__link,
  body.logged-in .sc-header-cta .wp-block-button__link,
  body.logged-in .sc17-value-card,
  body.logged-in .sc17-summary-card,
  body.logged-in .sc17-detail-card,
  body.logged-in .sc17-content-card,
  body.logged-in .sc17-pathway,
  body.logged-in .sc17-case-pair,
  body.logged-in .sc17-pathway-media img,
  body.logged-in .sc17-photo img,
  body.logged-in .sc17-case-photo img {
    transition-duration:.28s !important;
  }
}

/* Editor stays still/predictable. */
.editor-styles-wrapper * { animation:none !important; }
