/* Header (floating double-pill nav) + Navy footer. Briefing §2.1 / §2.2. */

/* Hide GeneratePress leftovers, if any render. */
.generate-page-header,
#masthead .inside-navigation,
.main-navigation:not(.cav-nav){ display:none !important; }

.cav-skiplink{ position:absolute; left:-9999px; }
.cav-skiplink:focus{ left:16px; top:16px; background:#fff; padding:8px 14px; border-radius:8px; z-index:9999; }

/* ---------- HEADER (exact: SiteNav.dc.html) ---------- */
.cav-header{ position:sticky; top:0; z-index:200; padding:16px 20px 0; }
.cav-header__bar{ max-width:1280px; margin:0 auto; display:flex; align-items:center; gap:16px; }
.cav-header__left{ flex:1; display:flex; align-items:center; gap:10px; justify-content:flex-start; }
.cav-header__right{ flex:1; display:flex; justify-content:flex-end; }
.cav-logo{ flex:none; display:block; }
.cav-logo img{ width:80px; height:80px; display:block; }

/* shared icon button */
.cav-vico{ display:flex; align-items:center; justify-content:center; border:none; cursor:pointer; flex:none; }
.cav-vico--soft{ width:44px; height:44px; border-radius:50%; background: var(--cav-hafer); color: var(--cav-navy); }
.cav-vico--cart{ position:relative; width:48px; height:48px; border-radius:50%; background: var(--cav-navy); color:#fff; }
.cav-burger{ width:46px; height:46px; border-radius:50%; background:#fff; color: var(--cav-navy); border:1px solid var(--cav-card-border); box-shadow:0 12px 30px -18px rgba(42,58,82,0.3); display:none; }

/* center nav pill */
.cav-nav{ position:relative; display:flex; align-items:center; gap:4px; padding:8px 12px; background:#fff; border:1px solid var(--cav-card-border); border-radius:999px; box-shadow:0 18px 40px -22px rgba(42,58,82,0.34); }
.cav-nav__blob{ position:absolute; top:50%; transform:translateY(-50%); height:48px; border-radius:999px; left:0; width:0; opacity:0; background:linear-gradient(160deg,#3E5C8A,#2A3A52); transition:left .46s cubic-bezier(.5,.12,.13,1), width .46s cubic-bezier(.5,.12,.13,1), opacity .3s ease; z-index:0; box-shadow:0 12px 24px -10px rgba(42,58,82,0.45); pointer-events:none; }
.cav-nav__list{ display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0; }
.cav-nav__list a{ position:relative; z-index:1; height:48px; display:flex; align-items:center; padding:0 22px; font-family: var(--cav-font-head); font-weight:500; font-size:18px; color: var(--cav-ink); text-decoration:none; white-space:nowrap; transition: color .3s ease; }
.cav-nav__list a:hover,
.cav-nav__list a.is-on,
.cav-nav__list .current-menu-item > a{ color:#fff; }

/* right icons pill */
.cav-actions{ display:flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--cav-card-border); border-radius:999px; box-shadow:0 18px 40px -22px rgba(42,58,82,0.34); padding:7px 8px; }
.cav-actions .cav-cart-count{ position:absolute; top:-2px; right:-2px; width:20px; height:20px; min-width:20px; padding:0; background: var(--cav-honey); color: var(--cav-navy); font-family: var(--cav-font-body); font-weight:800; font-size:11px; line-height:1; border-radius:50%; display:flex; align-items:center; justify-content:center; border:2px solid #fff; }

/* ---------- FOOTER ---------- */
.cav-footer{
  background: var(--cav-navy); color:#fff;
  margin-top:64px; padding:56px 0 30px;
}
.cav-footer h4{ color:#fff; font-weight:800; font-size:15px; margin:0 0 14px; }
.cav-footer a{ color: rgba(255,255,255,.78); }
.cav-footer a:hover{ color:#fff; }
.cav-footer__grid{
  display:grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap:40px;
}
.cav-footer .cav-brand{ gap:12px; padding:0; }
.cav-footer .cav-brand__logo{ width:52px; height:52px; border-radius:50%; background:#fff; padding:3px; box-shadow:none; }
.cav-footer .cav-brand__name{ font-size:18px; line-height:1.1; }
.cav-footer__links a{ font-size:14.5px; padding:5px 0; display:block; }
.cav-footer__trust svg{ color: var(--cav-honey); }
.cav-footer__tagline{ margin:14px 0; max-width:30ch; font-size:14px; }
.cav-footer__trust{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-size:13px; }
.cav-footer__trust li{ display:flex; align-items:center; gap:8px; }
.cav-footer__trust svg{ color: var(--cav-honey); }
.cav-footer__links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:14px; }
.cav-footer__bottom{
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  margin-top:34px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14);
  font-size:13px; color: rgba(255,255,255,.6);
}

/* ---------- Mobile drawer ---------- */
.cav-drawer{ justify-content:flex-start; }
.cav-drawer__panel{
  position:relative; width:min(340px,90vw); height:100%; background: var(--cav-hafer);
  display:flex; flex-direction:column; gap:14px; padding:20px;
  transform: translateX(-100%); transition: transform .3s var(--cav-ease-bounce, cubic-bezier(.34,1.5,.5,1));
  box-shadow: 20px 0 60px -30px rgba(42,58,82,.6); overflow:auto;
}
.cav-overlay.is-open .cav-drawer__panel{ transform: translateX(0); }
.cav-drawer__head{ display:flex; align-items:center; justify-content:space-between; }
.cav-drawer__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.cav-drawer__list a{ display:block; padding:12px 14px; border-radius:12px; text-decoration:none; color: var(--cav-ink); font-weight:600; }
.cav-drawer__list a:hover{ background:#fff; }
.cav-drawer__auth{ display:flex; flex-direction:column; gap:9px; margin-top:auto; }

/* ---------- RESPONSIVE (§9) ---------- */
@media (max-width: 980px){
  .cav-nav{ display:none; }              /* collapse center pill to burger */
  .cav-burger{ display:flex; }
  .cav-footer__grid{ grid-template-columns: 1fr 1fr; gap:26px; }
}
@media (max-width: 560px){
  .cav-header{ padding:12px 14px 0; }
  .cav-header__bar{ gap:10px; }
  .cav-logo img{ width:60px; height:60px; }
  .cav-footer__grid{ grid-template-columns: 1fr; }
}
