/**
 * KAI site shell — Sprint 1 correction pass.
 * Header and license bar intentionally inherit the proven 5.24.0 shell.
 * Only mobile accordion behavior is layered here; footer keeps the correction-pass direction.
 */
:root {
  --kai-shell-wide: var(--wp--custom--kai--container--wide, 1240px);
  --kai-shell-gutter: var(--wp--custom--kai--container--gutter, clamp(20px, 4vw, 36px));
  --kai-shell-border: rgba(111, 16, 38, .12);
  --kai-shell-burgundy: var(--wp--preset--color--primary, #ba0c2f);
  --kai-shell-burgundy-deep: var(--wp--custom--kai--visual--primary-deep, #780a22);
}

/* Desktop shell is the 5.24.0 cascade from main.css + release-hardening.css. */
.kai-mobile-nav-cta { display:none !important; }

@media (max-width:782px) {
  .kai-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items:stretch !important;
    width:100%;
    gap:6px !important;
  }
  .kai-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width:100%;
  }
  .kai-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    width:100%;
    min-height:46px;
    justify-content:flex-start;
  }
  .kai-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .kai-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
    display:none !important;
    position:static !important;
    width:100%;
    min-width:0 !important;
    margin-top:5px;
    padding:6px !important;
    box-shadow:none !important;
  }
  .kai-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.is-kai-open > .wp-block-navigation__submenu-container {
    display:flex !important;
  }
  .kai-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
    flex:0 0 auto;
  }
  .kai-main-nav .wp-block-navigation__responsive-container.is-menu-open .kai-mobile-nav-cta {
    display:flex !important;
    order:-10;
    margin-bottom:8px;
  }
  .kai-main-nav .wp-block-navigation__responsive-container.is-menu-open .kai-mobile-nav-cta > .wp-block-navigation-item__content {
    justify-content:center;
    color:#fff !important;
    background:var(--kai-primary,#BA0C2F) !important;
    border-color:transparent !important;
    font-weight:800;
  }
}

.kai-footer {
  position:relative; overflow:hidden; margin:0; color:rgba(255,255,255,.82);
  border-top:1px solid rgba(255,255,255,.1);
  background:radial-gradient(circle at 86% 0%,rgba(214,45,79,.28),transparent 32%),linear-gradient(145deg,#470b1b 0%,#5f0a22 52%,#780a22 100%);
}
.kai-footer::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.34;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:38px 38px; mask-image:linear-gradient(to bottom,#000,transparent 78%);
}
.kai-footer > * { position:relative; z-index:1; }
.kai-footer-cta {
  width:min(100%, calc(var(--kai-shell-wide) + (var(--kai-shell-gutter) * 2)));
  margin:0 auto; padding:clamp(48px,6vw,72px) var(--kai-shell-gutter) 0;
}
.kai-footer .kai-footer-cta__dynamic {
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg,rgba(186,12,47,.98),rgba(122,10,34,.98));
  box-shadow:0 24px 64px rgba(56,7,23,.24);
}
.kai-footer-main {
  width:min(100%, calc(var(--kai-shell-wide) + (var(--kai-shell-gutter) * 2)));
  margin:0 auto; padding:clamp(48px,6vw,66px) var(--kai-shell-gutter) 38px; gap:clamp(24px,3vw,42px);
}
.kai-footer-brand-col { max-width:34rem; }
.kai-footer .kai-footer-site-logo { margin-bottom:18px; }
.kai-footer .kai-footer-description { max-width:34ch; margin:0 0 20px; color:rgba(255,255,255,.78); line-height:1.8; }
.kai-footer :where(h2,h3,h4,strong) { color:#fff; }
.kai-footer a { color:rgba(255,255,255,.76); }
.kai-footer a:hover,.kai-footer a:focus-visible { color:#fff; }
.kai-footer .wp-block-navigation { gap:7px; }
.kai-footer .wp-block-navigation-item__content { padding-block:3px; }
.kai-footer .kai-contact-item { padding:0; border:0; color:rgba(255,255,255,.78); background:transparent; }
.kai-footer .kai-contact-item :where(span,strong,a) { color:inherit; }
.kai-footer .kai-portals--footer { margin-top:18px; gap:8px; }
.kai-footer .kai-portals--footer a { padding:9px 11px; border:1px solid rgba(255,255,255,.15); border-radius:12px; background:rgba(255,255,255,.06); }
.kai-footer-trust-payments {
  width:min(100%, calc(var(--kai-shell-wide) + (var(--kai-shell-gutter) * 2)));
  margin:0 auto; padding:24px var(--kai-shell-gutter) 30px; border-top:1px solid rgba(255,255,255,.1);
}
.kai-footer-bottom {
  padding:18px max(var(--kai-shell-gutter), calc((100vw - var(--kai-shell-wide)) / 2));
  gap:12px 26px; color:rgba(255,255,255,.68); border-top:1px solid rgba(255,255,255,.1); background:rgba(54,5,20,.18);
}
.kai-footer-legal { margin:0; }
.kai-footer .kai-consent-link { color:rgba(255,255,255,.76); }

@media (max-width:1120px) {
  .kai-footer-main { flex-wrap:wrap !important; }
  .kai-footer-main > .wp-block-column { flex-basis:calc(33.333% - 20px) !important; }
  .kai-footer-main > .wp-block-column:first-child { flex-basis:100% !important; }
}
@media (max-width:782px) {
  .kai-footer-main.wp-block-columns { display:grid; grid-template-columns:1fr 1fr; padding-top:44px; }
  .kai-footer-main > .wp-block-column { min-width:0; flex-basis:auto !important; }
  .kai-footer-brand-col,.kai-footer-contact-col { grid-column:1 / -1; }
  .kai-footer-bottom { align-items:flex-start; flex-direction:column; }
}
@media (max-width:520px) {
  .kai-footer-main.wp-block-columns { grid-template-columns:1fr; }
  .kai-footer-main > .wp-block-column,.kai-footer-brand-col,.kai-footer-contact-col { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) {
  .kai-main-nav .wp-block-navigation-item__content { transform:none !important; transition:none !important; }
}
