/* ==========================================================================
   Island Compass — header & footer
   Ports the fixed transparent->glass header from the approved design.
   State comes from two body classes added by island-compass-support.php:
     .ic-overlay-header  — page opens with a full-bleed hero
     .ic-scrolled        — window.scrollY > 24
   Design reference: bar 92px transparent -> 78px solid (desktop), 64px mobile.
   ========================================================================== */

#header .ct-header [data-row="middle"]{
  --header-height:78px;
  background:var(--surface-glass);
  border-bottom:1px solid var(--border-hairline);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  backdrop-filter:saturate(1.4) blur(14px);
  transition:background 420ms cubic-bezier(.22,.61,.36,1),
             height 420ms cubic-bezier(.22,.61,.36,1),
             border-color 420ms linear;
}

#header, #header .ct-header{ position:relative; z-index:var(--z-header); }

/* Fixed on every page — the design's header never scrolls away. */
#header .ct-header [data-row="middle"]{
  position:fixed; top:0; left:0; right:0;
}

/* Non-overlay pages need a spacer, matching needsSpacer in the source. */
body:not(.ic-overlay-header) #main,
body:not(.ic-overlay-header) .site-main{ padding-top:78px; }

/* ---- Transparent state: overlay page, not yet scrolled ---- */
body.ic-overlay-header:not(.ic-scrolled) #header .ct-header [data-row="middle"]{
  --header-height:92px;
  background:linear-gradient(to bottom,rgba(22,38,31,.42),rgba(22,38,31,0));
  border-bottom-color:rgba(253,251,248,.20);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

/* Logo swaps white->black exactly as logoSrc does in the source. */
.ct-header .site-logo-container .logo-image-wrapper img{
  height:40px; width:auto; display:block;
  transition:height 420ms cubic-bezier(.22,.61,.36,1);
}
body.ic-overlay-header:not(.ic-scrolled) .ct-header .site-logo-container .logo-image-wrapper img{ height:46px; }

/* ---- Navigation ---- */
.ct-header .ic-nav .menu > li > a,
.ct-header .header-menu-1 .menu > li > a{
  font-family:var(--font-sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:.20em;
  text-transform:uppercase;
  white-space:nowrap;
  padding-block:5px;
  border-bottom:1px solid transparent;
  color:var(--text-primary);
  transition:color 220ms linear,border-color 220ms linear;
}
.ct-header .menu > li.current-menu-item > a,
.ct-header .menu > li.current_page_item > a{
  color:var(--pink-700);
  border-bottom-color:var(--pink-400);
}
body.ic-overlay-header:not(.ic-scrolled) .ct-header .menu > li > a{ color:var(--shell-50); }
body.ic-overlay-header:not(.ic-scrolled) .ct-header .menu > li.current-menu-item > a,
body.ic-overlay-header:not(.ic-scrolled) .ct-header .menu > li.current_page_item > a{
  color:var(--pink-200); border-bottom-color:var(--pink-200);
}

/* ---- End cluster: search, WhatsApp, CTA ---- */
.ic-head-actions{ display:flex; align-items:center; gap:var(--space-5); }
.ic-head-actions .ic-ico{ flex:0 0 auto; }
.ic-search-link{
  display:grid; place-items:center; width:40px; height:40px;
  color:var(--text-primary); text-decoration:none;
}
.ic-wa{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-sans); font-size:11.5px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase; text-decoration:none;
  color:var(--text-primary);
}
.ic-search-link:hover,.ic-wa:hover{ color:var(--pink-700); }
body.ic-overlay-header:not(.ic-scrolled) .ic-search-link,
body.ic-overlay-header:not(.ic-scrolled) .ic-wa{ color:var(--shell-50); }
body.ic-overlay-header:not(.ic-scrolled) .ic-search-link:hover,
body.ic-overlay-header:not(.ic-scrolled) .ic-wa:hover{ color:var(--pink-200); }

/* CTA — secondary tone when solid, onDarkOutline when transparent. */
.ct-header .ic-cta,
.ct-header .ct-button-ghost,
.ct-header .ct-button{
  display:inline-flex; align-items:center; justify-content:center;
  gap:var(--space-3);
  padding:9px 18px; min-height:36px;
  font-family:var(--font-sans); font-size:var(--text-caption); font-weight:var(--weight-medium);
  letter-spacing:var(--tracking-button); text-transform:uppercase; line-height:1;
  border-radius:var(--radius-control);
  background:transparent; color:var(--palm-800);
  border:1px solid var(--palm-800);
  text-decoration:none;
  transition:var(--transition-control);
}
.ct-header .ic-cta:hover{ background:var(--palm-800); color:var(--shell-50); }
body.ic-overlay-header:not(.ic-scrolled) .ct-header .ic-cta{
  background:transparent; color:var(--shell-50); border-color:rgba(253,251,248,.42);
}
body.ic-overlay-header:not(.ic-scrolled) .ct-header .ic-cta:hover{
  background:rgba(253,251,248,.12); border-color:var(--shell-50);
}

/* ---- Mobile ---- */
@media (max-width:1119px){
  #header .ct-header [data-row="middle"]{ --header-height:64px; }
  body.ic-overlay-header:not(.ic-scrolled) #header .ct-header [data-row="middle"]{ --header-height:64px; }
  body:not(.ic-overlay-header) #main,
  body:not(.ic-overlay-header) .site-main{ padding-top:64px; }
  .ct-header .site-logo-container .logo-image-wrapper img,
  body.ic-overlay-header:not(.ic-scrolled) .ct-header .site-logo-container .logo-image-wrapper img{ height:34px; }
}

/* Offcanvas drawer — full-screen bark-900 panel. */
#offcanvas .ct-panel-inner,
#offcanvas{ background:var(--bark-900); }
#offcanvas .menu > li > a{
  display:flex; align-items:center; justify-content:space-between;
  min-height:56px; padding-block:8px;
  font-family:var(--font-display); font-size:1.75rem; font-weight:400;
  letter-spacing:-.01em; text-decoration:none;
  color:var(--shell-50);
  border-bottom:1px solid rgba(253,251,248,.12);
}
#offcanvas .menu > li.current-menu-item > a{ color:var(--pink-200); }

/* ==========================================================================
   Footer
   ========================================================================== */
.ic-footer{ background:var(--bark-900); color:var(--text-on-dark); }
.ic-footer a{ color:var(--shell-50); text-decoration:none; transition:color 220ms linear; }
.ic-footer a:hover{ color:var(--pink-200); }
.ic-footer .ic-foot-head{
  font-family:var(--font-sans); font-size:var(--text-eyebrow); font-weight:600;
  text-transform:uppercase; letter-spacing:var(--tracking-eyebrow);
  color:var(--text-on-dark-muted);
}
.ic-footer .ic-foot-link{ font-size:var(--text-body-sm); line-height:2; }
.ic-footer .ic-foot-rule{ height:1px; background:var(--border-dark); border:0; }
.ic-footer .ic-foot-legal{ font-size:var(--text-caption); color:var(--text-on-dark-muted); }
.ic-footer .ic-pink{ color:var(--pink-200); }

/* ==== Footer - ported from Site Footer.dc.html ==== */
footer.ct-footer{background:var(--bark-900);color:var(--text-on-dark);padding:clamp(72px,9vw,120px) var(--gutter) clamp(28px,3vw,40px)}
footer.ct-footer [data-row="middle"] > .ct-container,footer.ct-footer [data-row="bottom"] > .ct-container{max-width:var(--container-max);margin-inline:auto;padding-inline:0}
footer.ct-footer [data-row="middle"] .ct-footer-cell{padding-block:0}
footer.ct-footer [data-row="middle"] > .ct-container{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,110px);align-items:flex-start}
footer.ct-footer [data-column="1"]{flex:1 1 320px;max-width:400px}
footer.ct-footer [data-column="2"]{flex:0 1 200px}
footer.ct-footer [data-column="3"]{flex:0 1 260px}
footer.ct-footer [data-column="4"]{flex:0 1 auto}
.ic-foot-brand{display:flex;flex-direction:column;gap:var(--space-6)}
.ic-foot-logo{display:block;width:clamp(180px,17vw,232px);height:auto}
.ic-foot-blurb{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:300;line-height:1.8;color:var(--text-on-dark-muted);margin:0;max-width:36ch}
footer.ct-footer .widget_nav_menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}
footer.ct-footer .widget_nav_menu li{margin:0}
footer.ct-footer .widget_nav_menu a{font-family:var(--font-sans);font-size:var(--text-body-sm);color:var(--shell-100);text-decoration:none;transition:color 240ms linear}
footer.ct-footer .widget_nav_menu a:hover{color:var(--pink-200)}
.ic-foot-contact{display:flex;flex-direction:column;gap:var(--space-4);font-family:var(--font-sans);font-size:var(--text-body-sm);color:var(--shell-100)}
.ic-foot-contact a{color:var(--shell-100);text-decoration:none;transition:color 240ms linear}
.ic-foot-contact a:hover{color:var(--pink-200)}
.ic-foot-muted{color:var(--text-on-dark-muted)}
.ic-foot-social{display:flex;gap:var(--space-4);align-items:flex-start}
.ic-foot-social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border-dark);border-radius:var(--radius-xs);color:var(--shell-50);text-decoration:none;transition:border-color 240ms linear}
.ic-foot-social a:hover{border-color:var(--pink-200)}
footer.ct-footer [data-row="bottom"]{margin-top:clamp(56px,7vw,100px);padding-top:var(--space-6);border-top:1px solid var(--border-dark)}
footer.ct-footer [data-row="bottom"] .ct-footer-copyright{width:100%}
footer.ct-footer [data-row="bottom"] .ct-footer-copyright p{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin:0;font-family:var(--font-sans);font-size:var(--text-caption);color:var(--text-on-dark-muted)}
.ic-foot-rose{display:block;width:22px;height:22px;opacity:.30}
@media (max-width:767px){footer.ct-footer [data-row="middle"] > .ct-container{gap:var(--space-11)}footer.ct-footer [data-column="1"],footer.ct-footer [data-column="2"],footer.ct-footer [data-column="3"],footer.ct-footer [data-column="4"]{flex:1 1 100%;max-width:none}}