/* =========================================================================
   Island Collection — design system (every page)
   Source of truth: the V2 mockups (files/redesign-v2/, v20261110f) and the
   dark component set in files/redesign/ (gallery, cart, checkout, account).
   Tokens map to theme.json presets so the Site Editor and this file agree.
   ========================================================================= */

:root{
  --ic-black:#000;
  --ic-s1:#0D0D0D;           /* section alt */
  --ic-s2:#161616;           /* cards, panels */
  --ic-edge:#242424;
  --ic-edge-2:#3A3A3A;
  --ic-tx:#EFEDEA;
  --ic-tx-2:#A6A29C;
  --ic-tx-3:#807B75;
  --ic-turq:#19B3A6;
  --ic-turq-lt:#4FD8CB;
  --ic-turq-d:#0E8E84;
  --ic-bar:#0F807D;
  --ic-coral:#E0836B;
  --ic-coral-hi:#EE9880;
  --ic-coral-lt:#DE8672;
  --ic-ink:#00211F;
  --ic-footer:#13322F;
  --ic-serif:Georgia,'Times New Roman',serif;
  --ic-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --ic-radius:10px;
  --ic-wrap:1200px;
  --ic-gutter:28px;
  --ic-scale:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='32' viewBox='0 0 64 32'%3E%3Cg fill='none' stroke='%234FD8CB' stroke-opacity='.04' stroke-width='1'%3E%3Cpath d='M0 32a32 32 0 0 1 64 0M10 32a22 22 0 0 1 44 0M20 32a12 12 0 0 1 24 0'/%3E%3Cpath d='M-32 16a32 32 0 0 1 64 0M-22 16a22 22 0 0 1 44 0M-12 16a12 12 0 0 1 24 0M32 16a32 32 0 0 1 64 0M42 16a22 22 0 0 1 44 0M52 16a12 12 0 0 1 24 0'/%3E%3C/g%3E%3C/svg%3E");
  --ic-scale-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='32' viewBox='0 0 64 32'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.045' stroke-width='1'%3E%3Cpath d='M0 32a32 32 0 0 1 64 0M10 32a22 22 0 0 1 44 0M20 32a12 12 0 0 1 24 0'/%3E%3Cpath d='M-32 16a32 32 0 0 1 64 0M-22 16a22 22 0 0 1 44 0M-12 16a12 12 0 0 1 24 0M32 16a32 32 0 0 1 64 0M42 16a22 22 0 0 1 44 0M52 16a12 12 0 0 1 24 0'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
body.ic-v2{
  background-color:var(--ic-black);
  background-image:var(--ic-scale);background-size:64px 32px;
  color:var(--ic-tx);font-family:var(--ic-sans);
  -webkit-font-smoothing:antialiased;
}
body.ic-v2 .wp-site-blocks{padding:0}
body.ic-v2 .wp-site-blocks > *{margin-block-start:0}
body.ic-v2 .ic-main > *{margin-block-start:0}
body.ic-v2 h1,body.ic-v2 h2,body.ic-v2 h3,body.ic-v2 h4{font-family:var(--ic-serif);font-weight:400;color:var(--ic-tx)}
body.ic-v2 a{color:var(--ic-turq-lt);text-decoration:none;transition:color .2s}
body.ic-v2 a:hover{color:#fff}
body.ic-v2 img{max-width:100%;height:auto}
body.ic-v2 ::selection{background:var(--ic-turq);color:var(--ic-ink)}
body.ic-v2 :focus-visible{outline:2px solid var(--ic-turq-lt);outline-offset:3px}

.ic-wrap{max-width:var(--ic-wrap);margin-inline:auto;padding-inline:var(--ic-gutter)}
.ic-section{padding-block:56px;padding-inline:var(--ic-gutter)}
.ic-section.is-alt,.ic-alt{background-color:rgba(13,17,16,.8);border-top:1px solid rgba(79,216,203,.10)}
.ic-muted{color:var(--ic-tx-2)}

/* ---------- Section heading kit (kicker · title · lead) ---------- */
.ic-kicker{letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--ic-coral-lt);margin:0 0 10px}
.ic-center{text-align:center}
.ic-center .ic-kicker{display:flex;align-items:center;justify-content:center;gap:14px}
.ic-center .ic-kicker::before,.ic-center .ic-kicker::after{content:"";width:42px;height:1px;background:linear-gradient(90deg,transparent,rgba(222,134,114,.8))}
.ic-center .ic-kicker::after{transform:scaleX(-1)}
.ic-title{font-size:34px;margin:0 0 8px}
.ic-center .ic-title::after{content:"";display:block;width:56px;height:2px;margin:16px auto 0;border-radius:2px;background:linear-gradient(90deg,var(--ic-turq),var(--ic-turq-lt))}
.ic-lead{color:var(--ic-tx-2);max-width:56ch;font-size:15px}
.ic-center .ic-lead{margin-inline:auto}

/* ---------- Announcement bar ---------- */
.ic-announce{background:#000;color:#9A9A9A;border-bottom:1px solid #1A1A1A;font-size:12px;letter-spacing:.05em;padding:8px 12px;margin:0}
.ic-announce p{margin:0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.ic-announce a{color:#CFCFCF !important;display:inline-flex;align-items:center;gap:7px}
.ic-announce a:hover{color:var(--ic-turq-lt) !important}
.ic-announce span{display:inline-flex;align-items:center;gap:7px}
.ic-announce .sep{opacity:.4}
.ic-ico{display:inline-block;width:13px;height:13px;background:currentColor;flex:none;
  -webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.ic-ico-phone{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 01-2.2 2 19.8 19.8 0 01-8.6-3.1 19.5 19.5 0 01-6-6A19.8 19.8 0 012.1 4.2 2 2 0 014.1 2h3a2 2 0 012 1.7c.1.9.3 1.8.6 2.6a2 2 0 01-.5 2.1L8 9.6a16 16 0 006 6l1.3-1.3a2 2 0 012.1-.4c.8.3 1.7.5 2.6.6a2 2 0 011.7 2z'/%3E%3C/svg%3E")}
.ic-ico-pin{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}

/* ---------- Header ---------- */
.ic-header{position:sticky;top:0;z-index:50;background:#000;margin:0;
  border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(79,216,203,.45),transparent) 1}
body.admin-bar .ic-header{top:32px}
@media (max-width:782px){ body.admin-bar .ic-header{top:46px} }
.ic-hdr{max-width:var(--ic-wrap);margin-inline:auto;padding:6px var(--ic-gutter);gap:24px;align-items:center}
.ic-logo{margin:0;line-height:0;flex:none}
body.ic-v2 .ic-header .ic-logo img{height:92px;width:auto;max-width:none}
.ic-nav{flex:1;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.ic-nav .wp-block-navigation__container{gap:22px}
.ic-nav .wp-block-navigation-item__content{color:rgba(255,255,255,.90) !important;position:relative;padding:4px 0 6px;white-space:nowrap}
.ic-nav .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ic-turq-lt);transform:scaleX(0);opacity:0;transition:transform .25s ease,opacity .25s ease}
.ic-nav .wp-block-navigation-item__content:hover,
.ic-nav .current-menu-item > .wp-block-navigation-item__content{color:var(--ic-turq-lt) !important}
.ic-nav .wp-block-navigation-item__content:hover::after,
.ic-nav .current-menu-item > .wp-block-navigation-item__content::after{transform:scaleX(1);opacity:1}
.ic-icons{gap:14px;color:#fff;flex:none}
.ic-icons a,.ic-icons button{color:#fff !important}
.ic-icons svg{width:22px;height:22px}
.ic-icons a:hover,.ic-icons button:hover{color:var(--ic-turq-lt) !important}

/* Mobile menu (core navigation overlay) */
.ic-nav .wp-block-navigation__responsive-container-open{color:#fff}
.ic-nav .wp-block-navigation__responsive-container-open svg{width:28px;height:28px}
.ic-nav .wp-block-navigation__responsive-container.is-menu-open{background:#000 !important;color:var(--ic-tx) !important;
  background-image:var(--ic-scale) !important;background-size:64px 32px !important;padding:22px}
.ic-nav .is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start !important;padding-top:56px}
.ic-nav .is-menu-open .wp-block-navigation__container{gap:4px !important;align-items:flex-start !important}
.ic-nav .is-menu-open .wp-block-navigation-item__content{font-family:var(--ic-serif);font-size:26px;letter-spacing:0;text-transform:none;padding:10px 0}
.ic-nav .wp-block-navigation__responsive-container-close{color:#fff}

@media (max-width:920px){
  .ic-hdr{gap:12px;padding-block:4px}
  body.ic-v2 .ic-header .ic-logo img{height:66px}
  .ic-nav{flex:0 0 auto;order:3}
  .ic-icons{margin-left:auto}
}

/* ---------- Interior page banner ---------- */
.ic-banner{background:#000;color:#fff;border-bottom:1px solid #1C1C1C;padding:44px var(--ic-gutter) 46px;margin:0}
.ic-banner h1,.ic-banner .wp-block-post-title{font-size:40px;line-height:1.1;margin:0 0 10px;color:#fff}
.ic-banner p{max-width:60ch;color:#C6C6C6;font-size:15.5px;margin:0}
.ic-banner .ic-kicker{margin-bottom:12px}
.ic-crumb,.ic-banner .woocommerce-breadcrumb{font-size:12px;color:rgba(255,255,255,.62);margin:0 0 14px}
.ic-crumb a,.ic-banner .woocommerce-breadcrumb a{color:rgba(255,255,255,.72)}
@media (max-width:920px){ .ic-banner{padding:32px 22px 34px} .ic-banner h1,.ic-banner .wp-block-post-title{font-size:32px} }

/* ---------- Buttons (core, Woo and WPForms share one look) ---------- */
body.ic-v2 .wp-element-button,
body.ic-v2 .wp-block-button__link{position:relative;overflow:hidden;isolation:isolate;cursor:pointer;
  transition:color .25s,background-color .25s,border-color .25s,transform .2s,box-shadow .25s}
body.ic-v2 .wp-element-button:hover,
body.ic-v2 .wp-block-button__link:hover{transform:translateY(-2px)}

/* Coral = "do this". Light sweep on hover. */
.ic-btn-cta .wp-block-button__link,a.ic-btn-cta,button.ic-btn-cta,
body.ic-v2 .wp-block-button:not(.is-style-outline):not(.ic-btn-line):not(.ic-btn-turq) .wp-block-button__link{
  background:var(--ic-coral);color:var(--ic-ink);box-shadow:0 8px 22px rgba(201,97,79,.28)}
.ic-btn-cta .wp-block-button__link::before,a.ic-btn-cta::before,button.ic-btn-cta::before,
body.ic-v2 .wp-block-button:not(.is-style-outline):not(.ic-btn-line):not(.ic-btn-turq) .wp-block-button__link::before{
  content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:-1;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg);transition:left .6s ease}
.ic-btn-cta .wp-block-button__link:hover::before,a.ic-btn-cta:hover::before,button.ic-btn-cta:hover::before,
body.ic-v2 .wp-block-button:not(.is-style-outline):not(.ic-btn-line):not(.ic-btn-turq) .wp-block-button__link:hover::before{left:120%}
body.ic-v2 .wp-block-button:not(.is-style-outline):not(.ic-btn-line):not(.ic-btn-turq) .wp-block-button__link:hover{
  background:var(--ic-coral-hi);color:var(--ic-ink);box-shadow:0 12px 28px rgba(201,97,79,.42)}

/* Outlined: a turquoise fill rises on hover */
.ic-btn-line .wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent !important;border:1.5px solid rgba(255,255,255,.55) !important;color:#fff !important}
.ic-btn-line .wp-block-button__link::before,.wp-block-button.is-style-outline .wp-block-button__link::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--ic-turq);transform:scaleY(0);transform-origin:bottom;transition:transform .28s ease}
.ic-btn-line .wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link:hover{color:var(--ic-ink) !important;border-color:var(--ic-turq) !important}
.ic-btn-line .wp-block-button__link:hover::before,.wp-block-button.is-style-outline .wp-block-button__link:hover::before{transform:scaleY(1)}

.ic-btn-turq .wp-block-button__link{background:var(--ic-turq) !important;color:var(--ic-ink) !important}
.ic-btn-turq .wp-block-button__link:hover{background:var(--ic-turq-lt) !important}

/* ---------- Cards (shared by home tiles, related pieces and the shop grid) ---------- */
.ic-card{position:relative;display:block;background:linear-gradient(180deg,#141414,#0C0C0C);border:1px solid var(--ic-edge);
  border-radius:var(--ic-radius);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ic-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--ic-turq),var(--ic-turq-lt));
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.ic-card:hover{transform:translateY(-5px);border-color:rgba(79,216,203,.45);box-shadow:0 18px 44px rgba(25,179,166,.20)}
.ic-card:hover::after{transform:scaleX(1)}

/* ---------- Filter chips (shop + collections) ---------- */
.ic-chips{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 22px}
.ic-chip{border:1px solid var(--ic-edge);background:var(--ic-s2);color:var(--ic-tx-2) !important;border-radius:999px;
  padding:7px 15px;font-size:12px;letter-spacing:.04em;line-height:1.35;transition:border-color .2s,color .2s,background .2s}
.ic-chip:hover{border-color:var(--ic-turq);color:var(--ic-turq-lt) !important}
.ic-chip.is-on{background:var(--ic-turq);border-color:var(--ic-turq);color:var(--ic-ink) !important}

/* ---------- Panels ---------- */
.ic-panel{background:var(--ic-s2);border:1px solid var(--ic-edge);border-radius:14px;padding:24px 26px}
.ic-panel h3{margin-top:0;font-size:20px}

/* ---------- Prose (policy pages, plain pages) ---------- */
.ic-prose{max-width:none}
.ic-prose p,.ic-prose li{color:var(--ic-tx-2);line-height:1.7}
.ic-prose h2{font-size:26px;margin-top:2em}
.ic-prose h3{font-size:20px;margin-top:1.6em}
.ic-prose a{text-decoration:underline;text-underline-offset:3px}

/* ---------- Contact ---------- */
.ic-cgrid{gap:40px !important}
.ic-info h3{font-size:18px;margin:0 0 6px}
.ic-info p{color:var(--ic-tx-2);margin:0 0 22px}
.ic-bigphone{font-family:var(--ic-serif);font-size:30px}

/* ---------- Footer ---------- */
.ic-ftr-part{margin-top:0;position:relative;z-index:2} /* wave overlaps the last section's bottom padding (56px), so its own colour shows behind the crest */
.ic-footer{position:relative;margin:0;font-size:15px;color:#E6F0EE;background-color:var(--ic-footer);
  background-image:linear-gradient(90deg,rgba(19,50,47,.92),rgba(19,50,47,.55) 55%,rgba(19,50,47,.25)),var(--ic-scale-white);
  background-size:auto,64px 32px}
.ic-fcrest{position:absolute;left:0;right:0;top:-39px;width:100%;height:40px;display:block}
.ic-fcrest path{fill:var(--ic-footer)}
/* flow-root stops the flow-layout block gap (32px) on .ic-wrap from collapsing out of the footer and opening a black band under the wave */
.ic-footer{display:flow-root}
.ic-footer > .ic-wrap{margin-block-start:0 !important}
.ic-footer .ic-wrap{padding-top:50px}
.ic-fcols{gap:30px !important;margin:0 0 34px !important}
.ic-footer p{color:#E6F0EE;font-size:15px;line-height:1.6;margin:0 0 12px}
.ic-flogo{font-family:var(--ic-serif);font-size:24px !important;color:#fff !important;letter-spacing:.04em;margin-bottom:10px !important}
.ic-footer h4{font-size:18px;color:#fff;margin:0 0 14px}
.ic-flinks{list-style:none;margin:0;padding:0}
.ic-flinks li{margin:0}
.ic-footer a{color:#D5E4E1;transition:color .2s,padding-left .2s}
.ic-flinks a{display:block;padding:5px 0}
.ic-footer a:hover{color:#fff;padding-left:5px}
.ic-footer .nw{padding:0 !important;white-space:nowrap}
.ic-fbot{border-top:1px solid rgba(255,255,255,.13);padding:16px 0;color:#B9CBC7;font-size:13.5px}
.ic-fbot p{font-size:13.5px !important;color:#B9CBC7 !important;margin:0 !important}
.ic-ffb{margin:18px 0 0 !important}
.ic-footer .ic-ffb a{display:inline-flex;align-items:center;gap:10px;padding:9px 18px 9px 10px;border-radius:999px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:14px;letter-spacing:.02em;
  transition:background-color .2s,border-color .2s,transform .2s}
.ic-footer .ic-ffb a:hover{padding-left:10px;background:#1877F2;border-color:#1877F2;color:#fff;transform:translateY(-2px)}
.ic-ffb svg{width:26px;height:26px;flex:none;display:block}
.ic-ffb .bg{fill:#1877F2;transition:fill .2s}
.ic-ffb a:hover .bg{fill:#fff}
.ic-ffb .f{fill:#fff;transition:fill .2s}
.ic-ffb a:hover .f{fill:#1877F2}
@media (max-width:781px){ .ic-footer .ic-wrap{padding-top:40px} }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
  body.ic-v2 *,body.ic-v2 *::before,body.ic-v2 *::after{animation:none !important;transition:none !important}
}

/* ---------- Layout widths (explicit, so plugin CSS can't widen them) ---------- */
body.ic-v2 .ic-banner > *,
body.ic-v2 .ic-section > *,
body.ic-v2 .ic-woo > *{max-width:var(--ic-wrap) !important;margin-left:auto !important;margin-right:auto !important}
body.ic-v2 .ic-prose > .wp-block-post-content > *{max-width:760px;margin-left:auto;margin-right:auto}
body.ic-v2 .ic-prose > .wp-block-post-content > .alignwide{max-width:var(--ic-wrap)}
/* Plain pages (legal etc.): title lines up with the 760px text column. */
body.ic-v2 .ic-banner--page > .wp-block-post-title{max-width:760px;margin-left:auto !important;margin-right:auto !important}
