/* ═══════════════════════════════════════════════════════════════
   ARCO SHELL v1.0.0 — the frame every page wears.
   LAW: zero !important. Tokens first, cascade does the rest.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --arco-bg:#0B0E13; --arco-card:#0D1118; --arco-deep:#080B10;
  --arco-gold:#C9A96E; --arco-hgold:#E9CF9B; --arco-muted:#AEB4C0;
  --arco-green:#7FB88A; --arco-line:rgba(201,169,110,.16); --arco-line2:rgba(201,169,110,.3);
  --arco-head:"Hanken Grotesk",sans-serif; --arco-body:"Atkinson Hyperlegible",sans-serif;
}
.arco-wrap{max-width:1280px;margin:0 auto;padding:0 28px}
.arco-skip{position:absolute;left:-9999px;top:0;background:var(--arco-gold);color:var(--arco-ink);padding:10px 16px;z-index:200;font-weight:700}
.arco-skip:focus{left:12px;top:12px}

/* ── topbar ── */
.arco-topbar{background:var(--arco-deep);border-bottom:1px solid var(--arco-line);font:13px/1 var(--arco-body);color:var(--arco-muted)}
.arco-topbar-in{display:flex;align-items:center;justify-content:space-between;min-height:38px;height:auto;gap:16px}/* v1.18.4 — same disease as the header: fixed-height flex + wrappable text */
.arco-topbar-claim{margin:0;letter-spacing:.02em}
.arco-topbar-claim .ok{color:var(--arco-green);font-weight:700}
.arco-topbar-claim .dot{margin:0 8px;color:var(--arco-line2)}
.arco-topbar-nav{display:flex;align-items:center;gap:0}
.arco-topbar-nav ul,.arco-topbar-nav li{list-style:none;margin:0;padding:0}
.arco-topbar-nav ul{display:flex;gap:34px}
.arco-topbar-nav>li{display:inline-flex;margin-left:34px}
.arco-topbar-nav>a{margin-left:34px;position:relative}
.arco-topbar-nav>a:not(:first-child)::before{content:"·";position:absolute;left:-20px;color:var(--arco-line2)}
.arco-topbar-link.is-wa{display:inline-flex;align-items:center;gap:8px;color:#7FB88A}
.arco-topbar-link.is-wa:hover{color:#25D366}
.arco-topbar-claim{white-space:nowrap;flex:0 0 auto}
/* 1.19.38 — the count badge on the wishlist/compare icons hangs 6px above
   its icon (.arco-ic-count{top:-6px}), and this element clips at its
   PADDING box. With no padding, that clip edge ran straight through the
   badge — measured on his 24 Jul screenshot: 8 of the badge's 16 css px
   were being cut off. The overflow:hidden itself stays (it is what keeps
   a long topbar nav from pushing the layout); the clip box is simply
   moved outward by padding, and the negative margin cancels that padding
   so surrounding layout is unchanged. */
.arco-topbar-nav{overflow:hidden;min-width:0;padding:10px 0;margin:-10px 0}
.arco-topbar-nav a,.arco-topbar-link{color:var(--arco-muted);text-decoration:none;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.arco-topbar-nav a:hover{color:var(--arco-hgold)}
.arco-topbar-nav .is-gold,.arco-topbar-link.is-gold{color:var(--arco-gold)}

/* ── header ── */
.arco-header{position:sticky;top:0;z-index:100;background:var(--arco-bg);border-bottom:1px solid var(--arco-line)}
body.admin-bar .arco-header{top:32px}
.arco-header-in{display:flex;align-items:center;gap:34px;min-height:84px;height:auto;padding:10px 0}/* v1.18.3 — Safari: wider glyph runs wrap the nav labels, items grew taller than the fixed 84px box, and centered flex children taller than their box overflow above AND below — painting over the topbar. Content-driven height contains any wrap in any browser. */
.arco-brand{display:flex;align-items:center}
.arco-brand{flex:0 0 auto}
.arco-brand .custom-logo-link{display:inline-flex;align-items:center}
.arco-brand .custom-logo{height:48px;width:auto;max-width:none;object-fit:contain}
.arco-brand a{display:flex;align-items:center}
.arco-brand-text{font:800 24px/1 var(--arco-head);color:var(--arco-gold);text-decoration:none;letter-spacing:.02em}
.arco-brand-text span{display:block;font-size:10px;letter-spacing:.34em;color:var(--arco-muted);font-weight:700}
.arco-nav{margin-left:auto}
.arco-nav-list{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.arco-nav-list a{display:block;padding:10px 12px;color:var(--arco-bone);text-decoration:none;font:700 13px/1.25 var(--arco-head);letter-spacing:.07em;text-transform:uppercase;text-align:center;border-bottom:2px solid transparent;transition:.15s}
@media(max-width:1360px){.arco-nav-list a{font-size:12px;padding:10px 9px;letter-spacing:.05em}}
.arco-nav-list a:hover{color:var(--arco-hgold)}
.arco-nav-list .current-menu-item>a,.arco-nav-list .current_page_item>a,
.arco-nav-list .current-menu-ancestor>a,.arco-nav-list .current-menu-parent>a{color:var(--arco-gold);border-bottom-color:var(--arco-gold)}
.arco-nav-list .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:8px;opacity:.7}
.arco-nav-list a:focus-visible,.arco-tool:focus-visible,.arco-topbar-nav a:focus-visible{outline:2px solid var(--arco-gold);outline-offset:2px;border-radius:6px}
.arco-nav-list .sub-menu{position:absolute;min-width:230px;background:var(--arco-card);border:1px solid var(--arco-line2);border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.arco-nav-list li{position:relative}
.arco-nav-list li:hover>.sub-menu,.arco-nav-list li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.arco-nav-list .sub-menu a{text-transform:none;letter-spacing:.02em;font:700 14px/1.3 var(--arco-body);color:var(--arco-muted);border:0;border-radius:7px;padding:10px 12px}
.arco-nav-list .sub-menu a:hover{background:rgba(201,169,110,.1);color:var(--arco-hgold)}
.arco-header-tools{display:flex;align-items:center;gap:6px}
.arco-tool{display:inline-flex;align-items:center;gap:8px;background:none;border:0;color:var(--arco-muted);padding:10px;cursor:pointer;text-decoration:none;border-radius:8px;transition:.15s}
.arco-tool:hover{color:var(--arco-hgold);background:rgba(201,169,110,.08)}
.arco-cart-count{min-width:20px;height:20px;border-radius:10px;background:var(--arco-gold);color:var(--arco-ink);font:700 12px/20px var(--arco-head);text-align:center;padding:0 5px}
.arco-burger{display:none;flex-direction:column;gap:4px}
.arco-burger span{width:20px;height:2px;background:currentColor;border-radius:2px}

/* ── search reveal ── */
.arco-search{border-top:1px solid var(--arco-line);background:var(--arco-deep)}
.arco-search-form{display:flex;gap:10px;padding:14px 28px}
.arco-search-form input[type=search]{flex:1;background:var(--arco-bg);border:1px solid var(--arco-line2);border-radius:9px;color:var(--arco-bone);font:16px var(--arco-body);padding:11px 14px}
.arco-search-form input[type=search]::placeholder{color:var(--arco-gold)}
.arco-search-form button{background:var(--arco-gold);border:0;border-radius:9px;color:var(--arco-ink);font:800 15px var(--arco-head);padding:0 22px;cursor:pointer}
.arco-search-form button:hover{background:var(--arco-hgold)}

/* ── drawer ── */
.arco-drawer{position:fixed;inset:0;z-index:150}
.arco-drawer-scrim{position:absolute;inset:0;background:rgba(8,11,16,.6)}
.arco-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(330px,88vw);background:var(--arco-deep);border-left:1px solid var(--arco-line2);padding:56px 22px 22px;overflow:auto}
.arco-drawer-close{position:absolute;top:10px;right:14px;background:none;border:0;color:var(--arco-muted);font-size:30px;cursor:pointer}
.arco-drawer-list{list-style:none;margin:0;padding:0}
.arco-drawer-list a{display:block;padding:13px 6px;color:var(--arco-bone);text-decoration:none;font:700 15px var(--arco-head);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--arco-line)}
.arco-drawer-list .sub-menu{list-style:none;padding-left:14px}
.arco-drawer-list .sub-menu a{text-transform:none;color:var(--arco-muted);font-family:var(--arco-body)}
.arco-drawer-foot{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.arco-drawer-foot a{color:var(--arco-muted);text-decoration:none;font-weight:700}
.arco-drawer-foot .is-gold{color:var(--arco-gold)}

/* ── footer ── */
.arco-footer{background:var(--arco-deep);border-top:1px solid var(--arco-line);margin-top:48px;font-family:var(--arco-body)}
.arco-footer-grid{display:grid;grid-template-columns:1.1fr .9fr auto;column-gap:72px;row-gap:32px;padding:46px 28px 34px;align-items:start;justify-content:space-between}
.arco-footer-grid>div,.arco-footer-grid>nav{min-width:0}
.arco-footer-grid>div:first-child{max-width:340px}
.arco-footer-brand{font:800 22px/1 var(--arco-head);color:var(--arco-gold);margin:0 0 10px}
.arco-footer-brand span{display:block;font-size:9px;letter-spacing:.34em;color:var(--arco-muted)}
.arco-footer-claim{color:var(--arco-muted);font-size:14.5px;line-height:1.6;margin:0}
.arco-footer-h{font:700 12px var(--arco-head);letter-spacing:.1em;text-transform:uppercase;color:var(--arco-gold);margin:0 0 12px}
.arco-footer-list{list-style:none;margin:0;padding:0}
.arco-footer-list{columns:2;column-gap:28px}
.arco-footer-list li{break-inside:avoid}
.arco-footer-list a{color:var(--arco-muted);text-decoration:none;font-size:14.5px;line-height:2.1;text-transform:none}
.arco-footer-list a:hover{color:var(--arco-hgold)}
.arco-pays{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.arco-pays span{font-size:11px;font-weight:700;letter-spacing:.04em;border:1px solid var(--arco-line2);border-radius:5px;padding:4px 8px;color:var(--arco-muted)}
.arco-footer-legal{border-top:1px solid var(--arco-line);padding:16px 28px;font-size:13px;color:var(--arco-dim);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.arco-footer-legal a{color:var(--arco-gold)}
.arco-pays span{white-space:nowrap}

/* ── consent ── */
.arco-consent{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:180;display:flex;align-items:center;gap:16px;max-width:min(680px,92vw);background:var(--arco-card);border:1px solid var(--arco-line2);border-radius:12px;padding:14px 18px;box-shadow:0 18px 50px rgba(0,0,0,.5);font:14.5px/1.5 var(--arco-body);color:var(--arco-muted)}
.arco-consent p{margin:0}
.arco-consent a{color:var(--arco-gold)}
.arco-consent button{background:var(--arco-gold);border:0;border-radius:8px;color:var(--arco-ink);font:800 14px var(--arco-head);padding:10px 18px;cursor:pointer;white-space:nowrap}
.arco-consent button:hover{background:var(--arco-hgold)}

/* ── loop / page shells ── */
.arco-page,.arco-loop,.arco-woo{padding:36px 28px 20px;font-family:var(--arco-body);color:var(--arco-muted)}
.arco-page-title{font:800 34px/1.2 var(--arco-head);color:var(--arco-bone);margin:0 0 22px}

/* ── responsive ── */
@media (max-width:1020px){
  .arco-nav{display:none}
  .arco-burger{display:inline-flex}
  .arco-header-in{min-height:68px;height:auto;gap:16px}/* v1.18.4 — the 1.18.3 fix missed this breakpoint twin */
  .arco-topbar-claim{font-size:12px}
  .arco-footer-grid{grid-template-columns:1fr;gap:28px}
}
@media (max-width:600px){
  .arco-topbar-claim .dot,.arco-topbar-claim .ok+.ok{display:none}
  body.admin-bar .arco-header{top:46px}
}

.arco-footer-list.is-single{columns:1}
.arco-footer-list.is-single a{white-space:nowrap}

/* ── WhatsApp — brand green (identity color, like payment marks) ── */
.arco-footer-wa{margin:16px 0 0}
.arco-footer-wa a{display:inline-flex;align-items:center;gap:9px;color:#7FB88A;font-weight:700;text-decoration:none}
.arco-footer-wa a:hover{color:#25D366}
.wa-dot{width:9px;height:9px;border-radius:50%;background:#25D366;box-shadow:0 0 0 3px rgba(37,211,102,.2)}
.arco-wa-float{position:fixed;right:22px;bottom:22px;z-index:140;width:54px;height:54px;border-radius:50%;background:#25D366;color:#0b3d20;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(0,0,0,.45);transition:transform .15s,box-shadow .15s}
.arco-wa-float:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.55);color:#0b3d20}
.arco-footer-legal-links a{color:var(--arco-gold)}
@media(max-width:640px){.arco-wa-float{right:14px;bottom:14px;width:48px;height:48px}}

/* ── 1.4.4 — footer parity elements ── */
.arco-footer-connect{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.arco-wa-lockup{display:inline-flex;align-items:center;gap:12px;color:var(--arco-bone);text-decoration:none;font:700 20px var(--arco-head);padding:10px 18px 10px 12px;border:1px solid rgba(37,211,102,.45);border-radius:999px;background:rgba(37,211,102,.08);transition:.15s}
.arco-wa-lockup svg{color:#25D366}
.arco-wa-lockup:hover{background:rgba(37,211,102,.16);border-color:#25D366;color:var(--arco-bone)}
.arco-stripe-badge{border:1px solid var(--arco-line2);border-radius:12px;padding:12px 16px;background:var(--arco-bg)}
.arco-stripe-line{margin:0 0 8px;font-size:12.5px;color:var(--arco-muted);letter-spacing:.03em}
.arco-stripe-line strong{color:var(--arco-bone);font:800 15px var(--arco-head);letter-spacing:0}
.arco-copy{display:block;text-align:center;width:100%;font-size:14px}
.arco-footer-list.is-single a{font-size:15.5px;font-weight:700;color:var(--arco-bone);line-height:2.15}
.arco-footer-list.is-single a:hover{color:var(--arco-hgold)}

/* ── 1.4.6 — brand lockup row + even connect column ── */
.arco-footer-brandrow{display:flex;align-items:center;gap:24px}
.arco-footer-brandrow .arco-footer-brand{margin:0}
.arco-footer-brandrow .arco-footer-claim{margin:0;border-left:1px solid var(--arco-line);padding-left:24px}
.arco-footer-connect .arco-wa-lockup{margin-top:4px}
@media(max-width:640px){.arco-footer-brandrow{flex-direction:column;align-items:flex-start;gap:12px}.arco-footer-brandrow .arco-footer-claim{border-left:0;padding-left:0}}

/* ── 1.4.7 — checkout under the ARCO line ── */
.arco-footer-connect{margin-top:32px}
.arco-stripe-badge{display:inline-block}


/* ═══ 1.7.0 — LUXE CHROME (the furniture, not the paint) ═══ */
/* topbar → hallmark strip */
.arco-topbar{font:700 10.5px/1 var(--arco-head);letter-spacing:.16em;text-transform:uppercase}
.arco-topbar-in{min-height:40px;height:auto}
.arco-topbar-claim{letter-spacing:.16em}
.arco-topbar-claim .hm b{color:var(--arco-gold);font-weight:700}
.arco-topbar-claim .dot{margin:0 10px;color:var(--arco-line2)}
.arco-topbar-nav a,.arco-topbar-link{font:700 10.5px/1 var(--arco-head);letter-spacing:.14em;text-transform:uppercase}
@media(max-width:920px){.arco-topbar-claim .hm-mid,.arco-topbar-claim .dot-mid{display:none}}

/* main nav — quiet tracking, champagne current */
.arco-nav-list a{letter-spacing:.11em;font-size:12.5px}

/* hero split grid (page-home 1.7.0) */
.arco-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;text-align:left}
.arco-hero-grid .arco-hero-ctas{justify-content:flex-start}
.arco-hero-card{display:flex;justify-content:center}
.arco-hero-card .arco-lic{transform:rotate(-4deg);width:min(430px,100%)}
@media(max-width:960px){
  .arco-hero-grid{grid-template-columns:1fr;gap:40px;text-align:center}
  .arco-hero-card{order:-1}
  .arco-hero-card .arco-lic{width:min(340px,86vw)}
  .arco-hero-grid .arco-hero-ctas{justify-content:center}
}

/* footer → colophon voice */
.arco-footer-h{font:700 11px var(--arco-head);letter-spacing:.22em;text-transform:uppercase;color:var(--arco-gold)}
.arco-pays{display:flex;flex-wrap:wrap;gap:8px}
.arco-pays span{border:1px solid var(--arco-line);border-radius:6px;padding:5px 10px;font:700 10px var(--arco-head);letter-spacing:.1em;text-transform:uppercase;color:var(--arco-muted)}
.arco-copy{font:700 10.5px var(--arco-head);letter-spacing:.18em;text-transform:uppercase;color:var(--arco-muted);opacity:.85}


/* ═══ 1.9.0 — wishlist + compare in the topbar; links tightened for room ═══ */
.arco-topbar-nav>a.arco-topbar-link{margin-left:24px}
.arco-topbar-nav>a.arco-topbar-link:not(:first-child)::before{left:-15px}
.arco-topbar-ic{display:inline-flex;align-items:center;justify-content:center;position:relative;width:30px;height:30px;border:1px solid var(--arco-line);border-radius:50%;color:var(--arco-gold);margin-left:16px;flex:0 0 auto;transition:border-color .15s,color .15s}
.arco-topbar-ic:first-of-type{margin-left:26px}
.arco-topbar-ic:hover{border-color:var(--arco-gold);color:var(--arco-hgold);background:#1B2740}/* 1.19.39 — same navy+gold as the card buttons */
.arco-ic-count{position:absolute;top:-6px;right:-7px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--arco-gold);color:var(--arco-ink);font:800 10px/16px var(--arco-head);text-align:center;letter-spacing:0}
.arco-ic-count[hidden]{display:none}

@media(max-width:920px){.arco-brand .custom-logo{height:40px}}

/* 1.13.1 — topbar links: consistent spacing + separator dots for BOTH
   markup families (wp-menu links carry no .arco-topbar-link class) */
.arco-topbar-nav>a{margin-left:24px}
.arco-topbar-nav>a:not(:first-child)::before{left:-15px}


/* ═══ 1.13.3 — CASCADE SUMMIT. arco-shell loads LAST (after legacy style.css),
   so nothing in the theme can outrank these. Relocated from arco-base. ═══ */
/* ═══ 1.13.2 — the editorial button family, properly defined (was missing —
   .arco-ed-button/.arco-ed-ghost were used by the ports but never styled).
   Solid = champagne + ink, always. Ghost = hairline, fills to champagne
   WITH ink on hover. Zero !important. ═══ */
.arco-ed-button,a.arco-ed-button,button.arco-ed-button{display:inline-block;background:var(--arco-champ);color:var(--arco-ink);font:700 15px/1.2 "Hanken Grotesk",sans-serif;letter-spacing:.02em;padding:15px 32px;border-radius:999px;text-decoration:none;border:2px solid var(--arco-champ);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}
.arco-ed-button:hover,a.arco-ed-button:hover,button.arco-ed-button:hover{background:var(--arco-goldh);border-color:var(--arco-goldh);color:var(--arco-ink)}
.arco-ed-ghost,a.arco-ed-ghost{display:inline-block;background:transparent;color:var(--arco-champ);font:700 15px/1.2 "Hanken Grotesk",sans-serif;letter-spacing:.02em;padding:15px 30px;border-radius:999px;text-decoration:none;border:2px solid rgba(201,169,110,.4);cursor:pointer;text-align:center;transition:background .18s,color .18s,border-color .18s}
.arco-ed-ghost:hover,a.arco-ed-ghost:hover,.arco-ed-closing .arco-ed-ghost:hover{background:var(--arco-champ);color:var(--arco-ink);border-color:var(--arco-champ)}



/* ═══ 1.13.2 — legal/plain pages (page.php): typographic normalization.
   Data-override (!important justified): the Terms/Privacy/Delivery/Return
   pages carry pasted INLINE font sizes in DB content, rendering body text
   at hero scale. Scoped to .arco-page-content only; retire if those pages
   are ever re-authored clean. ═══ */body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content,body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content p,body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content li,body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content span{font-size:17px !important;line-height:1.75 !important}body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content h2,body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content h2 span{font-size:24px !important;line-height:1.3 !important}body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content h3,body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content h3 span{font-size:19px !important;line-height:1.35 !important}body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content h2,body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content h3{color:var(--arco-bone);margin:36px 0 12px;font-family:"Hanken Grotesk",sans-serif;font-weight:800}body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content p{margin:0 0 18px;color:var(--arco-muted)}body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content li{color:var(--arco-muted);margin-bottom:8px}body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content a:not(.arco-button):not(.button):not(.wp-element-button){color:var(--arco-champ)}body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content a:not(.arco-button):not(.button):not(.wp-element-button):hover{color:var(--arco-goldh)}body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content strong,body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content b{color:var(--arco-bone)}body:not(.woocommerce-cart):not(.woocommerce-checkout) .arco-page-content hr{border:0;border-top:1px solid rgba(201,169,110,.16);margin:34px 0}

/* ═══ BUILD BEACON RETIRED (v1.19.8, operator's final-stage order): the
   visible corner tag is gone from the screen. The build still signs the
   page invisibly — an HTML comment in <head> (functions.php) plus ?ver=
   on every asset URL — so "which files are live" stays answerable. ═══ */


/* ═══ 1.14.0 — CART DRAWER ═══ */
.arco-cart-hold{position:relative;display:flex}
.arco-cart-drawer{position:absolute;top:calc(100% + 10px);right:0;width:360px;background:var(--arco-panel);border:1px solid rgba(201,169,110,.22);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.55);padding:18px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s;z-index:900}
.arco-cart-drawer::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.arco-cart-hold:hover .arco-cart-drawer,.arco-cart-hold:focus-within .arco-cart-drawer,.arco-cart-hold.open .arco-cart-drawer{opacity:1;visibility:visible;transform:translateY(0)}
.arco-cart-drawer ul.woocommerce-mini-cart{list-style:none;margin:0;padding:0;max-height:56vh;overflow-y:auto}
.arco-cart-drawer li.woocommerce-mini-cart-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(201,169,110,.1);position:relative;flex-wrap:nowrap}
.arco-cart-drawer li.woocommerce-mini-cart-item img{width:44px;height:44px;object-fit:contain;border-radius:8px;background:var(--arco-deep);order:-1}
.arco-cart-drawer li.woocommerce-mini-cart-item a:not(.remove){color:var(--arco-bone);font:600 14px/1.4 "Hanken Grotesk",sans-serif;text-decoration:none;flex:1;min-width:0;overflow-wrap:break-word}/* v1.19.6 — wrapped titles stay in their column, never under the thumbnail */
.arco-cart-drawer li.woocommerce-mini-cart-item a:not(.remove):hover{color:var(--arco-goldh)}
.arco-cart-drawer .quantity{color:#FFFFFF;font-size:13px;white-space:nowrap}
.arco-cart-drawer a.remove{order:2;width:22px;height:22px;line-height:20px;text-align:center;border-radius:50%;color:var(--arco-muted);border:1px solid rgba(201,169,110,.25);text-decoration:none;font-size:15px;flex:0 0 auto}
.arco-cart-drawer a.remove:hover{background:#1B2740;color:#FFFFFF;border-color:#1B2740}/* v1.19.6 — his spec: darker blue, white cross */
.arco-cart-drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:center;color:var(--arco-bone);font:700 15px/1 "Hanken Grotesk",sans-serif;padding:14px 2px 12px;margin:0;border-top:1px solid rgba(201,169,110,.16)}
.arco-cart-drawer .woocommerce-mini-cart__total .amount{color:var(--arco-champ)}
.arco-cart-drawer .woocommerce-mini-cart__buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 0;padding:0}
.arco-cart-drawer .woocommerce-mini-cart__buttons .arco-ed-ghost,.arco-cart-drawer .woocommerce-mini-cart__buttons .arco-ed-button{padding:12px 10px;font-size:13.5px}
.arco-cart-drawer .woocommerce-mini-cart__empty-message{color:var(--arco-muted);text-align:center;padding:18px 6px;margin:0;font-size:14.5px}
@media(max-width:920px){.arco-cart-drawer{position:fixed;top:auto;left:12px;right:12px;width:auto}}


/* ═══ 1.15.0 — PURGE-REGRESSION SWEEP: these families held ink via the old
   !importants; re-won via mirror + exceed + later order. LEGIBILITY LAW:
   champagne fill ⇒ ink text. Hover = the KB-hero fill feel. ═══ */
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,.woocommerce a.button.checkout-button,
.wp-block-button__link,.wp-block-button a.wp-block-button__link,
.woocommerce button.single_add_to_cart_button.button,.woocommerce a.add_to_cart_button.button{background:var(--arco-champ);border-color:var(--arco-champ);color:var(--arco-ink)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.checkout-button:hover,
.wp-block-button__link:hover,.wp-block-button a.wp-block-button__link:hover,
.woocommerce button.single_add_to_cart_button.button:hover,.woocommerce a.add_to_cart_button.button:hover{background:var(--arco-goldh);border-color:var(--arco-goldh);color:var(--arco-ink)}

/* blocks cart + checkout primary action */
.wc-block-cart__submit-container a.wc-block-cart__submit-button,
.wc-block-cart .wc-block-components-button.wc-block-cart__submit-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{background:var(--arco-champ);color:var(--arco-ink);border:2px solid var(--arco-champ);border-radius:999px;font:700 15.5px/1.2 "Hanken Grotesk",sans-serif;letter-spacing:.02em;padding:16px 20px;width:100%;justify-content:center;box-shadow:none;transition:background .18s,border-color .18s,transform .15s,box-shadow .18s}
.wc-block-cart__submit-container a.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-container a.wc-block-cart__submit-button:focus,
.wc-block-cart .wc-block-components-button.wc-block-cart__submit-button:hover,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover{background:var(--arco-goldh);border-color:var(--arco-goldh);color:var(--arco-ink);transform:translateY(-1px);box-shadow:0 8px 24px rgba(201,169,110,.28)}
.wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text{color:inherit}
.wc-block-cart__submit-container a.wc-block-cart__submit-button:focus-visible{outline:2px solid var(--arco-goldh);outline-offset:2px}

/* v1.19.2 — form consent controls in the ink voice (operator: contact-page selector color) */
.arco-consent-label,.wpcf7-acceptance .wpcf7-list-item-label{color:var(--arco-muted)}
.wpcf7-acceptance .wpcf7-list-item-label a{color:var(--arco-gold)}

/* v1.19.5 — honeypot: visible only to bots. It had aria-hidden but no visual
   hiding rule anywhere — humans were seeing spam-bait. Off-canvas, not
   display:none, so naive bots still find and fill it. */
.arco-honeypot{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* v1.19.6 — the placeholder voice, sitewide (operator: "into forms placeholders
   I want the color that is on the KB searchbar. That is awesome") */
input::placeholder,textarea::placeholder{color:var(--arco-muted);opacity:1}

/* v1.19.7 — drawer qty badges match the cross (operator: same color as the cross) */
.arco-cart-drawer .arco-qty,.arco-cart-drawer .arco-cart-badge,.arco-cart-drawer .quantity-badge{background:#1B2740 !important;color:#FFFFFF !important;border-color:#1B2740 !important}

/* v1.19.7 — consent selectors: navy box, white tick, all forms (operator's spec) */
input[type="checkbox"],input[type="radio"]{accent-color:#1B2740}


/* ═══ 1.19.38 — DRAWER QUANTITY BADGE, ANCHORED TO THE THUMBNAIL ═══════
   It was appended to the <li> and placed at left:32px, which assumed the
   thumbnail sat at the row's left edge. It does not: WooCommerce's real
   mini-cart markup is <li><a class="remove">×</a><a>IMG + name</a>
   <span class="quantity">…</span></li> — the image lives INSIDE the title
   anchor, so `order:-1` on the img never applied (order only moves flex
   ITEMS, and the img is not one). The badge therefore landed on the title
   text, which is what he photographed. The badge now hangs off a wrapper
   around the image itself, so it follows the thumbnail wherever the row
   lays out. ══════════════════════════════════════════════════════════ */
.arco-cart-drawer .arco-thumb-wrap {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    line-height: 0;
}
.arco-cart-drawer .arco-thumb-wrap .arco-qty-badge {
    left: -7px;
    top: -7px;
}
/* the img is a flex item again once wrapped — put it back at the row's start */
.arco-cart-drawer li.woocommerce-mini-cart-item .arco-thumb-wrap { order: -1; }

/* ═══ 1.19.39 — THE TOPBAR ON A PHONE ═══════════════════════════════════
   Reported: the small strip carrying "EST. 2011 … SUPPORT | PARTNER PORTAL"
   is wild on mobile. It is one nowrap flex row: `.arco-topbar-claim` is
   `white-space:nowrap; flex:0 0 auto`, so it can neither wrap NOR shrink,
   and it pushes `.arco-topbar-nav` — which clips at `overflow:hidden` —
   straight off the end. At 920px the middle claim segments hide, but even
   the survivors ("Est. 2011 · Support 7 days a week") plus WhatsApp, Support,
   Partner Portal and two icons cannot fit a ~390px viewport on one line, so
   the utility links were being cut rather than laid out.
   Below 760px the strip becomes two centred rows and everything is allowed
   to wrap: claim on top, utility row beneath. The separator dots are
   absolutely positioned 20px to the left of each link, so once the row wraps
   they would strand at line starts — they go, and spacing carries the
   separation instead. Below 520px the claim drops entirely: on that width
   the utility links are the only part of the strip that does any work. ══ */
@media (max-width: 760px) {
    .arco-topbar-in {
        flex-direction: column;
        align-items: center;
        gap: 8px;
        padding: 9px 0;
        min-height: 0;
    }
    .arco-topbar-claim {
        white-space: normal;
        flex: 0 1 auto;
        text-align: center;
        line-height: 1.5;
    }
    .arco-topbar-nav {
        overflow: visible;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px 20px;
        margin: 0;
        padding: 0;
    }
    .arco-topbar-nav ul { flex-wrap: wrap; justify-content: center; gap: 6px 20px; }
    .arco-topbar-nav > a,
    .arco-topbar-nav > li { margin-left: 0; }
    .arco-topbar-nav > a:not(:first-child)::before { content: none; }
    .arco-topbar-nav > a:not(:first-child) { margin-left: 0; }
}
@media (max-width: 520px) {
    .arco-topbar-claim { display: none; }
    .arco-topbar-in { gap: 0; }
}
