/*
Theme Name: Afrique Kaleido
Theme URI: https://afriquekaleido.co.za
Author: Kri8it / Ikonik Digital
Description: Custom WooCommerce theme for Afrique Kaleido — proudly South African wildlife brand. Playful-editorial design, six kaleido-colourways, Fraunces + Hanken Grotesk.
Version: 0.1.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: afrique-kaleido
Tags: ecommerce, woocommerce, custom-colors, custom-menu, featured-images, threaded-comments
*/

:root{
  --ink:#17120D; --ink-2:#221A12; --ink-3:#2e2419;
  --paper:#FBF6EC; --paper-2:#F2E8D6; --line:#e6e6e6;
  --muted:#5f6368;

  /* six colourways — PLACEHOLDER names, client to confirm */
  --cw-protea:#EC008C;   /* magenta  */
  --cw-sky:#54C0EC;      /* cyan     */
  --cw-veld:#AFD135;     /* lime     */
  --cw-gold:#F5B400;     /* gold     */
  --cw-kalahari:#F0612A; /* orange   */
  --cw-jacaranda:#B0509E;/* purple   */
  --cw-byellow:#FFE100;  /* bright yellow */
  --cw-red:#E32119;      /* red      */
  --cw-chart:#7FB52A;    /* chartreuse */

  --active:var(--cw-gold);

  --font-display:"Fraunces",Georgia,serif;
  --font-body:"Hanken Grotesk",system-ui,sans-serif;
  --font-script:"Dancing Script",cursive;

  --maxw:1440px;
  --rainbow:linear-gradient(90deg,#EC008C 0 16.666%,#5BA829 16.666% 33.333%,#E32119 33.333% 50%,#F5B400 50% 66.666%,#F0612A 66.666% 83.333%,#00B4C8 83.333% 100%);
  --r:18px;
}
*{box-sizing:border-box}
html,body{overflow-x:clip;margin:0}
html{scroll-behavior:smooth;scrollbar-gutter:stable;overflow-y:scroll}
body{
  background:#fff; color:var(--ink);
  font-family:var(--font-body); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,56px)}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.02;margin:0;
  overflow-wrap:anywhere;min-width:0;letter-spacing:-.01em}
a{color:inherit}
/* No small uppercase kicker/eyebrow headings anywhere — hard rule. Do NOT add new eyebrow-style label classes. */
.eyebrow,.sc-eyebrow,.promo-eyebrow,.ak-card-cat{display:none!important}
.btn{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;
  font-family:var(--font-body);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  padding:.95em 1.5em;border-radius:999px;border:1.5px solid transparent;
  text-decoration:none;cursor:pointer;transition:transform .18s,background .2s,color .2s,border-color .2s}
.btn:focus-visible{outline:3px solid var(--cw-sky);outline-offset:3px}
.btn-solid{background:var(--active);color:#fff}
.btn-solid:hover{transform:translateY(-2px)}
.btn-ghost{border-color:#00B4C8;background:#00B4C8;color:#fff}
.btn-ghost:hover{background:#0090a5;color:#fff;border-color:#0090a5}

/* ===== NAV (split rail) ===== */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);color:var(--ink)}
.nav-stripe{height:16px;background:var(--rainbow);transition:height .28s ease}
.nav.scrolled .nav-stripe{height:4px}
.nav .brand img,.nav .custom-logo,.nav .custom-logo-link img{height:clamp(64px,6vw,88px);width:auto;display:block}
.nav .row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-block:14px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto}
.brand .mark{width:30px;height:30px;flex:none}
.brand b{font-family:var(--font-display);font-weight:700;font-size:1.18rem;letter-spacing:.01em;line-height:1}
.brand small{display:block;font-family:var(--font-body);font-size:.56rem;letter-spacing:.34em;
  color:var(--cw-gold);text-transform:uppercase;margin-top:2px}
.nav nav{display:flex;gap:6px;flex-wrap:wrap}
.nav nav ul{display:flex;gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.nav nav a{font-family:var(--font-body);font-size:.78rem;letter-spacing:.03em;text-decoration:none;
  padding:.55em .8em;border-radius:999px;opacity:.86;transition:background .2s,opacity .2s}
.nav nav a:hover{background:rgba(236,0,140,.1);color:#EC008C;opacity:1}
.nav .cart{border:1.5px solid var(--ink)}
.nav .cart .cart-ico{display:block;flex:none;margin-right:-.1em}
.nav-actions{display:flex;align-items:center;gap:8px}
.nav-toggle{display:none;background:transparent;border:0;padding:6px;margin-left:2px;cursor:pointer;color:var(--ink);line-height:0}
.nav-toggle .i-close{display:none}
.nav.menu-open .nav-toggle .i-bars{display:none}
.nav.menu-open .nav-toggle .i-close{display:block}
@media(max-width:900px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .nav .row{flex-wrap:nowrap;gap:8px}
  .nav .account span{display:none}
  .nav nav{position:absolute;top:100%;left:0;right:0;z-index:41;display:none;flex-direction:column;
    background:#fff;padding:10px 20px 18px;border-top:1px solid var(--line);box-shadow:0 14px 30px rgba(0,0,0,.10)}
  .nav.menu-open nav{display:flex}
  .nav nav ul{flex-direction:column;gap:2px;width:100%}
  .nav nav ul li{width:100%}
  .nav nav a{display:block;width:100%;padding:.8em .6em;font-size:.98rem;border-radius:10px;opacity:1}
}
.nav .account{display:inline-flex;align-items:center;gap:.45em;font-family:var(--font-body);
  font-size:.78rem;letter-spacing:.03em;text-decoration:none;color:var(--ink);
  padding:.5em .75em;border-radius:999px;opacity:.86;transition:background .2s,opacity .2s}
.nav .account:hover{background:rgba(0,0,0,.06);opacity:1}
.nav .account svg{display:block;flex:none}

/* ===== HERO ===== */
.hero{background:#fff;
  color:var(--ink);position:relative;overflow:clip;padding-block:clamp(28px,4vw,60px)}
.hero .grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(28px,5vw,64px);align-items:center}
.hero h1{font-size:clamp(3rem,9.6vw,7rem);font-weight:600;letter-spacing:-.025em;color:#00B4C8}
.hero h1 .pop{font-style:italic;color:var(--active);transition:color .5s}
.hero h1 .line{display:block}
.lede{font-size:clamp(1.05rem,1.6vw,1.22rem);max-width:42ch;color:var(--muted);margin:1.3rem 0 1.9rem}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:2.2rem}
.reveal{opacity:0;transform:translateY(16px);animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards}
.reveal.d1{animation-delay:.05s}.reveal.d2{animation-delay:.18s}
.reveal.d3{animation-delay:.31s}.reveal.d4{animation-delay:.44s}
@keyframes rise{to{opacity:1;transform:none}}

/* interactive disc */
.stage{position:relative;display:grid;place-items:center}
.hero-stamp{position:absolute;right:calc(128% + 10px - clamp(148px,22vw,290px));bottom:-4%;width:clamp(132px,19.5vw,258px);height:auto;
  transform:rotate(-13deg);transform-origin:center;z-index:3;pointer-events:none;opacity:.7}
@media(max-width:760px){.hero-stamp{display:none}}
.disc{width:min(92vw,530px);aspect-ratio:1;position:relative}
.disc .rings{position:absolute;inset:14%;color:var(--active);transition:color .5s ease}
.disc .rings svg{width:100%;height:100%;display:block}
.disc .animal{position:absolute;inset:0;background:#fff;transition:background .5s ease, -webkit-mask-image .35s, transform .4s cubic-bezier(.2,.7,.2,1);
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center}
.stage .spin{animation:slowspin 80s linear infinite}
@keyframes slowspin{to{transform:rotate(360deg)}}

/* colourway switcher */
.switch{margin-top:0;margin-bottom:clamp(20px,3.5vw,44px)}
.switch p{font-family:var(--font-body);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin:0 0 .7rem}
.swatches{display:flex;gap:11px;flex-wrap:wrap}
.swatch{width:42px;height:42px;border-radius:50%;border:2px solid rgba(0,0,0,.12);
  cursor:pointer;padding:0;position:relative;transition:transform .18s}
.swatch:hover{transform:scale(1.12)}
.swatch[aria-pressed="true"]{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink);transform:scale(1.12)}
.swatch:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
/* per-product customisation: info notes + optional request fields */
.ak-customise{margin:18px 0 6px}
.ak-cust-notes{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:7px}
.ak-cust-notes li{position:relative;padding-left:20px;font-size:.85rem;color:var(--muted);line-height:1.5}
.ak-cust-notes li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:#00B4C8}
.ak-cust-field{margin:0 0 14px;display:flex;flex-direction:column;gap:6px}
.ak-cust-field label{font-family:var(--font-body);font-weight:700;font-size:.82rem;color:var(--ink)}
.ak-cust-field .ak-optional{font-weight:400;color:var(--muted)}
.ak-cust-field textarea{width:100%;border:1.5px solid var(--line,#e6e6e6);border-radius:12px;padding:10px 12px;
  font-family:var(--font-body);font-size:.9rem;resize:vertical;background:#fff;color:var(--ink)}
.ak-cust-field textarea:focus{outline:none;border-color:#00B4C8;box-shadow:0 0 0 3px rgba(0,180,200,.15)}
/* ---- Animals page ---- */
.sec-head.ak-animals-head{flex-direction:column;align-items:flex-start;justify-content:flex-start;
  gap:clamp(14px,1.8vw,22px);margin-bottom:clamp(28px,4vw,48px);text-align:left}
.ak-animals-head-top{display:flex;flex-direction:row;justify-content:space-between;align-items:center;
  gap:24px 32px;flex-wrap:wrap;width:100%}
.ak-animals-head-top>div{flex:1 1 auto;text-align:left}
.ak-animals-head-top>div h2{text-align:left}
.sec-head.ak-animals-head .ak-animals-intro{max-width:none;margin:0;text-align:left}
.ak-animals-head-top .btn{flex:none}
.ak-animals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px)}
@media(max-width:980px){.ak-animals-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.ak-animals-grid{grid-template-columns:repeat(2,1fr)}}
.ak-animal-tile{background:#fff;border:1px solid var(--line,#e6e6e6);border-radius:var(--r,18px);padding:18px;text-align:center;transition:transform .2s}
.ak-animal-tile:hover{transform:translateY(-4px)}
.ak-animal-art{aspect-ratio:1;display:grid;place-items:center;margin-bottom:12px}
.ak-animal-art img{width:100%;height:100%;object-fit:contain}
.ak-animal-tile h3{font-family:var(--font-display);font-weight:600;font-size:1.25rem;margin:0}
.ak-animal-tile--custom{background:#EC008C;border-color:#EC008C;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:clamp(22px,3vw,32px)}
.ak-animal-tile--custom h3{color:#fff;margin:0}
.ak-animal-tile--custom:hover{background:#c30074;border-color:#c30074}
.ak-animal-tile--custom .ak-animal-art{aspect-ratio:auto;min-height:0;margin:0}
.ak-custom-plus{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px solid rgba(255,255,255,.8);font-family:var(--font-display);font-weight:400;font-size:1.9rem;line-height:1;color:#fff}
.ak-custom-note{color:rgba(255,255,255,.94);font-size:.86rem;line-height:1.45;margin:0}
.ak-cd-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
@media(max-width:820px){.ak-cd-wrap{grid-template-columns:1fr}}
.ak-cd-form{display:flex;flex-direction:column;gap:14px}
.ak-cd-field{display:flex;flex-direction:column;gap:6px;margin:0}
.ak-cd-field label{font-family:var(--font-body);font-weight:700;font-size:.82rem;color:var(--ink)}
.ak-cd-field .ak-optional{font-weight:400;color:var(--muted)}
.ak-cd-field input,.ak-cd-field textarea{width:100%;border:1.5px solid var(--line,#e6e6e6);border-radius:12px;padding:11px 13px;
  font-family:var(--font-body);font-size:.95rem;background:#fff;color:var(--ink);resize:vertical}
.ak-cd-field input:focus,.ak-cd-field textarea:focus{outline:none;border-color:#00B4C8;box-shadow:0 0 0 3px rgba(0,180,200,.15)}
.ak-cd-form button.btn{align-self:flex-start;cursor:pointer;border:none}
.ak-cd-note{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-size:.9rem}
.ak-cd-note--ok{background:rgba(91,168,41,.12);color:#3c7015}
.ak-cd-note--err{background:rgba(227,33,25,.1);color:#b21810}
.animal-pick{display:flex;gap:8px;flex-wrap:wrap;margin-top:2.4rem}
.animal-pick button{font-family:var(--font-body);font-size:.72rem;letter-spacing:.04em;
  background:transparent;color:var(--muted);border:1px solid var(--line);
  padding:.5em .8em;border-radius:999px;cursor:pointer;transition:.2s}
.animal-pick button:hover{color:var(--ink);border-color:var(--ink)}
.animal-pick button[aria-pressed="true"]{background:#00B4C8;color:#fff;border-color:#00B4C8}
.animal-pick button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}

/* ===== SHOP BY ANIMAL ===== */
.section{padding-block:clamp(84px,11vw,152px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  flex-wrap:wrap;margin-bottom:clamp(28px,4vw,48px)}
.sec-head h2{font-size:clamp(2rem,4.4vw,3.2rem)}
/* inner pages (shop, product, cart, checkout, account, static) — branded titles like home */
.ak-main h1,.ak-main .sec-head h1,.ak-main .product_title,.woocommerce-products-header__title{color:#EC008C}
.sec-head p{max-width:46ch;color:var(--muted);margin:1.1rem 0 0}
.animal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(14px,2vw,22px)}
@media(min-width:1100px){.animal-grid{grid-template-columns:repeat(4,1fr)}}
.tile{position:relative;border-radius:var(--r);overflow:hidden;background:#fff;
  aspect-ratio:4/4.7;display:block;text-decoration:none;color:var(--ink);
  border:0;transition:transform .22s,box-shadow .22s}
.tile{transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.tile .ring{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.tile:hover{transform:translateY(-6px)}
.tile:hover .ring{transform:scale(1.06)}
.tile:focus-visible{outline:3px solid var(--cw-sky);outline-offset:3px}
.tile .ring{position:absolute;inset:0}
.tile .ring .rings{position:absolute;width:74%;aspect-ratio:1;left:50%;top:44%;transform:translate(-50%,-50%);opacity:.9}
.tile .ring .rings svg{width:100%;height:100%}
.tile .crit{position:absolute;inset:14% 15% 22%;background:#fff;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.tile .meta{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;
  background:#fff;display:flex;
  justify-content:space-between;align-items:baseline;gap:8px}
.tile .meta b{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--ink)}
.tile .meta span{font-family:var(--font-body);font-size:.64rem;letter-spacing:.06em;color:var(--muted)}
.tile.soon{opacity:.92}
.tile.soon .crit{background:#5b4f3d}
.tile.floral .ring .rings{color:var(--cw-protea);left:50%;top:42%;width:76%}

/* ===== STUDIO STORY ===== */
.studio{background:#fff;padding-block:clamp(64px,8vw,104px)}
.studio--solo .studio-copy{max-width:66ch}
.studio--solo h2{max-width:22ch}
.studio .grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(30px,5vw,64px);align-items:center}
.studio-art{order:-1}
.studio h2{font-size:clamp(2rem,4.4vw,3.2rem);margin:.6rem 0 1.5rem;max-width:none;color:#00B4C8}
.studio-copy{color:var(--ink);max-width:52ch;margin:0 0 1.9rem;font-size:1.05rem}
.studio-art{justify-self:center;width:min(74vw,330px);aspect-ratio:1;color:var(--cw-gold)}
.studio-art .rings,.studio-art .rings svg{width:100%;height:100%}
.studio-art img{width:100%;height:100%;object-fit:contain;display:block}
.img-placeholder{width:100%;height:100%;background:#f2f2f2;border-radius:var(--r);display:grid;place-items:center;color:#cccccc}
.img-placeholder svg{width:36%;height:36%;max-width:150px}
.mark-art{justify-self:center;width:min(78vw,360px);aspect-ratio:1}
.mark-art img{width:100%;height:100%;object-fit:contain;display:block}
.mark-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,28px)}
.mark-block{border-radius:var(--r);padding:clamp(24px,3vw,40px);color:#fff}
.mark-block .mark-num{display:block;font-family:var(--font-display);font-weight:600;font-size:clamp(2.4rem,4vw,3.4rem);line-height:1;margin-bottom:.5rem;opacity:.92}
.mark-block b{display:block;font-family:var(--font-display);font-weight:600;font-size:clamp(1.2rem,1.6vw,1.45rem);margin-bottom:.5rem}
.mark-block p{margin:0;color:rgba(255,255,255,.94);font-size:.98rem;line-height:1.55}
.mark-block--1{background:#EC008C}
.mark-block--2{background:#00B4C8}
.mark-block--3{background:#5BA829}
@media(max-width:820px){.mark-blocks{grid-template-columns:1fr}}
.studio-africa,.mark-africa{width:100%;height:100%;object-fit:contain;display:block}
.studio-art .rings svg{filter:none}

/* ===== SHOP BY PRODUCT ===== */
.products{background:none;padding-top:clamp(20px,3vw,40px)}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:clamp(20px,2.5vw,32px)}
/* full-bleed edge-to-edge category band (home) */
.products--full{--gap:clamp(5px,0.7vw,10px);padding:clamp(36px,4.5vw,56px) 0 clamp(60px,7.5vw,96px);background:none}
/* In-the-wild photo gallery (full-bleed bento) */
.wildgal{background:#fff;padding-block:clamp(48px,7vw,92px)}
.wg-head{text-align:center;margin-bottom:clamp(26px,3.2vw,44px)}
.wg-head h2{font-size:clamp(2rem,4.4vw,3.2rem)}
.wg-head p{max-width:56ch;margin:1rem auto 0;color:var(--muted);font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.6}
.wg-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,15vw,235px);gap:clamp(6px,0.7vw,10px)}
.wg-cell{margin:0;overflow:hidden;position:relative}
.wg-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.wg-cell:hover img{transform:scale(1.05)}
.wg-tile{display:grid;place-items:center;text-align:center;padding:10px}
.wg-tile span{font-family:var(--font-script);font-weight:700;font-size:clamp(2.4rem,3.8vw,4rem);line-height:1;color:#fff}
.wg-t1{background:#EC008C}
.wg-t2{background:#00B4C8}
.wg-t3{background:#F0612A}
.wg-roller{grid-column:1;grid-row:1 / span 2}
.wg-t1{grid-column:2;grid-row:1}
.wg-elephant{grid-column:3 / span 2;grid-row:1}
.wg-t2{grid-column:2;grid-row:2}
.wg-leopard{grid-column:3;grid-row:2 / span 2}
.wg-coaster1{grid-column:4;grid-row:2}
.wg-zebra{grid-column:1;grid-row:3}
.wg-t3{grid-column:2;grid-row:3}
.wg-coaster2{grid-column:4;grid-row:3}
.wg-bar{margin-top:clamp(6px,0.7vw,10px);background:linear-gradient(90deg,#EC008C,#5BA829,#E32119,#F5B400,#F0612A,#00B4C8);color:#fff;text-align:center;padding:clamp(14px,1.9vw,24px);font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(1.05rem,1.8vw,1.5rem);text-shadow:0 1px 3px rgba(0,0,0,.28)}
@media(max-width:760px){
	.wg-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(140px,38vw,210px)}
	.wg-roller{grid-column:1;grid-row:1 / span 2}
	.wg-t1{grid-column:2;grid-row:1}
	.wg-elephant{grid-column:2;grid-row:2}
	.wg-t2{grid-column:1;grid-row:3}
	.wg-leopard{grid-column:2;grid-row:3 / span 2}
	.wg-coaster1{grid-column:1;grid-row:4}
	.wg-zebra{grid-column:1;grid-row:5}
	.wg-t3{grid-column:2;grid-row:5}
	.wg-coaster2{grid-column:1 / span 2;grid-row:6}
}
/* flexbox: max 4 per row with small gaps (basis subtracts the gaps); outer cards sit flush to the page edges; square corners; partial last row (11 = 4+4+3) stretches to fill. */
.products--full .prod-grid{display:flex;flex-wrap:wrap;gap:var(--gap)}
.products--full .prod-card{flex:1 1 calc((100% - 3 * var(--gap)) / 4);max-width:100%;border-radius:0}
@media(max-width:1000px){.products--full .prod-card{flex-basis:calc((100% - 2 * var(--gap)) / 3)}}
@media(max-width:680px){.products--full .prod-card{flex-basis:calc((100% - 1 * var(--gap)) / 2)}}
@media(max-width:430px){.products--full .prod-card{flex-basis:100%}}
.prod-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border-radius:var(--r);overflow:hidden;
  transition:transform .22s,box-shadow .22s;background:#fff}
.prod-card:hover{transform:translateY(-6px)}
.prod-card .ph{aspect-ratio:4/3;overflow:hidden;position:relative;background:#f5f5f5}
.prod-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.prod-card:hover .ph img{transform:scale(1.04)}
.prod-card .ph .tag{position:absolute;top:12px;left:12px;font-family:var(--font-body);
  font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;
  background:var(--active);padding:.4em .7em;border-radius:999px}
.prod-card .pd{padding:clamp(16px,2vw,24px)}
.prod-card h3{font-family:var(--font-display);font-weight:600;font-size:1.35rem;margin:0 0 .5rem}
.prod-card p{margin:0 0 1.2rem;color:var(--muted);font-size:.88rem;line-height:1.55;flex:1}
.prod-card .shop-btn{display:inline-flex;align-items:center;font-family:var(--font-body);
  font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  padding:.7em 1.4em;border-radius:999px;border:1.5px solid var(--ink);
  background:transparent;color:var(--ink);text-decoration:none;transition:.2s;align-self:flex-start}
.prod-card .shop-btn:hover{background:#fff;color:var(--ink)}
/* each product card a different main colourway */
.prod-card:nth-child(6n+1){background:#EC008C}
.prod-card:nth-child(6n+2){background:#5BA829}
.prod-card:nth-child(6n+3){background:#E32119}
.prod-card:nth-child(6n+4){background:#F5B400}
.prod-card:nth-child(6n+5){background:#F0612A}
.prod-card:nth-child(6n+6){background:#00B4C8}
.prod-card .pd h3{color:#fff}
.prod-card .pd p{color:rgba(255,255,255,.92)}
.prod-card .shop-btn{border-color:#fff;color:#fff}
.prod-card .shop-btn:hover{background:#fff;color:var(--ink)}
.prod-card:nth-child(6n+4) .pd h3,.prod-card:nth-child(6n+4) .pd p{color:var(--ink)}
.prod-card:nth-child(6n+4) .shop-btn{border-color:var(--ink);color:var(--ink)}
.prod-card:nth-child(6n+4) .shop-btn:hover{background:#fff;color:var(--ink)}
/* coming-soon category tiles (no product page yet) */
.prod-card.prod-card--promo{background:#A6489B;justify-content:center}
.prod-card--promo .promo-in{padding:clamp(24px,3vw,42px);display:flex;flex-direction:column;justify-content:center;height:100%}
.prod-card--promo .promo-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:rgba(255,255,255,.82);margin:0 0 .6rem}
.prod-card--promo h3{font-family:var(--font-display);font-weight:600;font-size:clamp(1.7rem,2.5vw,2.4rem);line-height:1.04;color:#fff;margin:0 0 .9rem}
.prod-card--promo p{color:rgba(255,255,255,.92);font-size:.92rem;line-height:1.55;margin:0 0 1.5rem;flex:0}
.prod-card--promo .shop-btn{align-self:flex-start;border-color:#fff;color:#fff}
.prod-card--promo:hover{transform:translateY(-6px)}
.prod-card.is-soon{cursor:default}
.prod-card.is-soon:hover{transform:none}
.prod-card.is-soon:hover .ph img{transform:none}
.prod-card .ph .tag-soon{background:rgba(0,0,0,.6)}

/* ===== COLOUR BANDS ===== */
.colour-band{display:flex;overflow:hidden;height:clamp(80px,12vw,140px)}
.colour-band .cb{flex:1;transition:flex .3s ease}
.colour-band .cb:hover{flex:2}
.colour-band--hero{margin-bottom:0}

/* Wild image parallax divider (fixed background scroll effect) */
.parallax-wild{position:relative;min-height:clamp(420px,58vh,620px);background-color:#c9a06a;background-size:cover;background-position:center;background-attachment:fixed}
.parallax-wild::before{content:"";position:absolute;top:0;left:0;right:0;height:16px;z-index:1;
    background:linear-gradient(90deg,#00B4C8 0 16.666%,#5BA829 16.666% 33.333%,#E32119 33.333% 50%,#F5B400 50% 66.666%,#F0612A 66.666% 83.333%,#EC008C 83.333% 100%)}
@media(max-width:820px){.parallax-wild{background-attachment:scroll;min-height:clamp(320px,44vh,420px)}}
/* Wild parallax band (fixed background scroll effect) */
.wildband{position:relative;isolation:isolate;min-height:clamp(280px,34vh,400px);display:grid;place-items:center;text-align:center;color:#fff;background:#EC008C}
.wildband-inner{padding:clamp(30px,5vw,64px) 20px;max-width:920px;position:relative;z-index:1}
.wildband-inner h2{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.02;color:#fff;margin:0;letter-spacing:-.02em}
.wildband-inner h2 em{font-style:italic;color:#fff}
.wildband-inner p{margin:1.2rem 0 1.9rem;font-size:clamp(.85rem,1.2vw,1.05rem);letter-spacing:.02em;color:#fff}
.wildband-inner p .wb-sep{display:inline-block;box-sizing:border-box;width:8px;height:8px;min-width:8px;
  border-radius:50%;background:#fff;margin:0 .8em;vertical-align:middle;line-height:0;flex:none}
.wildband-bar{position:absolute;left:0;right:0;bottom:0;display:flex;height:16px;z-index:1}
.wildband-bar span{flex:1}
@media(max-width:820px){.wildband{background-attachment:scroll}}
/* Instagram-style gallery grid (front page only) */
.home-gallery{display:flex;flex-direction:column;background:#fff;padding-block:0}
.home-gallery::before,.home-gallery::after{content:"";display:block;flex:none;height:16px;
    background:linear-gradient(90deg,#00B4C8 0 16.666%,#5BA829 16.666% 33.333%,#E32119 33.333% 50%,#F5B400 50% 66.666%,#F0612A 66.666% 83.333%,#EC008C 83.333% 100%)}
.gal-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;background:#fff}
.gal-cell{position:relative;aspect-ratio:1;overflow:hidden;display:block}
.gal-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.gal-cell:hover img{transform:scale(1.08)}
.gal-tag{position:absolute;left:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:7px;
  background:#fff;color:var(--ink);font-family:var(--font-body);font-weight:600;font-size:.74rem;letter-spacing:.01em;
  padding:6px 11px;border-radius:999px;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.gal-tag-dot{width:8px;height:8px;border-radius:50%;background:#EC008C;flex:none}
.gal-cell--shop:hover .gal-tag,.gal-cell--shop:focus-visible .gal-tag{opacity:1;transform:translateY(0)}
@media(hover:none){.gal-cell--shop .gal-tag{opacity:1;transform:none}}
@media(max-width:900px){.gal-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.gal-grid{grid-template-columns:repeat(3,1fr)}}

/* ===== THE MARK ===== */
.mark{background:#fff;color:var(--ink);position:relative;overflow:clip;padding-block:clamp(48px,6.5vw,88px)}
.mark .mark-head{max-width:none;margin-bottom:clamp(30px,5vw,52px)}
.mark .mark-intro{color:var(--muted);max-width:82ch;margin:0}
.mark-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(30px,5vw,64px);align-items:center}
.mark .disc2{width:min(78vw,360px);aspect-ratio:1;color:var(--cw-sky);justify-self:center;
  transition:color .45s ease}
.mark .disc2.bobbing{animation:markbob 1.8s ease-in-out infinite}
@keyframes markbob{0%,100%{transform:translateY(-7px)}50%{transform:translateY(7px)}}
.mark .disc2 svg{width:100%;height:100%}
.mark .disc2--photo{border-radius:50%;overflow:hidden}
.mark .disc2--photo img{width:100%;height:100%;object-fit:cover;display:block}
.mark h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:1.6rem;white-space:nowrap}
.mark .three{display:grid;gap:0;counter-reset:mk}
.mark .three div{padding:26px 0 26px 64px;border-top:1px solid var(--line);position:relative;counter-increment:mk;cursor:default;transition:padding-left .3s ease}
.mark .three div:first-child{border-top:0;padding-top:4px}
.mark .three div:hover{padding-left:74px}
.mark .three div::before{content:"0" counter(mk);position:absolute;left:0;top:26px;font-family:var(--font-display);font-weight:700;font-size:1.6rem;line-height:1;color:#00B4C8}
.mark .three div:first-child::before{top:4px}
.mark .three div:nth-child(2)::before{color:#EC008C}
.mark .three div:nth-child(3)::before{color:#5BA829}
.mark .three i{display:inline-block;font-style:normal;font-family:var(--font-body);
  font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;
  background:var(--active);padding:.4em .7em;border-radius:6px;margin-bottom:.7rem}
.mark .three b{display:block;font-family:var(--font-display);font-weight:600;font-size:1.28rem;transition:color .35s ease;color:#00B4C8}
.mark .three div:nth-child(2) b{color:#EC008C}
.mark .three div:nth-child(3) b{color:#5BA829}
.mark .three p{margin:.3rem 0 0;color:var(--muted);font-size:.96rem;max-width:48ch}

/* ===== COLOURWAY STRIP ===== */
.cw-strip{display:flex;overflow:hidden;margin-top:clamp(24px,4vw,40px);width:100vw;margin-left:calc(50% - 50vw)}
.cw-cell{flex:1;transition:flex .35s ease;padding:26px 24px;color:#fff;min-height:148px;display:flex;flex-direction:column;justify-content:flex-end}
.cw-cell:hover{flex:1.7}
@media(max-width:620px){
  .cw-strip{flex-wrap:wrap}
  .cw-cell{flex:1 0 50%;min-height:104px}
  .cw-cell:hover{flex:1 0 50%}
}
#colourways{padding-top:clamp(44px,6vw,72px);padding-bottom:0;background:#fff}
#colourways .sec-head{justify-content:center;text-align:center}
#colourways .sec-head>div{max-width:56ch}
#colourways .sec-head p{margin-inline:auto}
.cw-cell b{font-family:var(--font-display);font-weight:600;font-size:1.02rem;line-height:1.15}
.cw-cell span{font-family:var(--font-body);font-size:.66rem;letter-spacing:.08em;opacity:.85}

/* ===== FOOTER (statement) ===== */
.foot{background:#fff;color:var(--ink);padding-block:clamp(56px,6.5vw,88px) clamp(28px,3.5vw,44px);position:relative}
.foot .big{font-family:var(--font-display);font-size:clamp(2.4rem,7vw,5.4rem);font-weight:600;font-style:italic;line-height:.98;
  letter-spacing:-.02em;margin:clamp(3rem,6vw,5.5rem) 0}
.foot .big .g{color:#5BA829}.foot .big .m{color:#EC008C}
.foot .big .c{color:#00B4C8}.foot .big .v{color:#F0612A}
.foot-stripe{position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,#EC008C 0 16.666%,#5BA829 16.666% 33.333%,#E32119 33.333% 50%,#F5B400 50% 66.666%,#F0612A 66.666% 83.333%,#00B4C8 83.333% 100%)}
.foot .foot-info>div:nth-child(1) h4{color:#EC008C}
.foot .foot-info>div:nth-child(2) h4{color:#00B4C8}
.foot .foot-info>div:nth-child(3) h4{color:#5BA829}
.foot .foot-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));
  gap:28px 40px;padding-bottom:clamp(30px,3.8vw,44px);margin-bottom:clamp(44px,5.5vw,68px);
  border-bottom:0;background:var(--rainbow) bottom left/100% 5px no-repeat}
.foot .foot-info h4{font-family:var(--font-body);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .7rem;font-weight:800}
.foot .foot-info p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.6}
.foot .foot-info a{color:var(--ink);text-decoration:none;transition:color .2s}
.foot .foot-info a:hover{color:#EC008C}
.foot .foot-info .foot-contact{margin:0 0 .55rem;display:flex;align-items:center;gap:.7em}
.foot .foot-info .foot-contact:last-child{margin-bottom:0}
.foot .foot-info .foot-contact a{display:inline-flex;align-items:center;gap:.7em}
.foot .foot-dot{display:inline-block;box-sizing:border-box;width:9px;height:9px;min-width:9px;
  border-radius:50%;background:currentColor;flex:none;vertical-align:middle}
.foot .foot-info>div:nth-child(1) .foot-dot{background:#EC008C}
.foot .foot-info>div:nth-child(2) .foot-contact:nth-of-type(1) .foot-dot{background:#00B4C8}
.foot .foot-info>div:nth-child(2) .foot-contact:nth-of-type(2) .foot-dot{background:#5BA829}
.foot-headline{display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,4vw,48px);flex-wrap:wrap}
.foot-headline .big{margin-block:clamp(0.7rem,1.6vw,1.5rem)}
/* Sub-pages hide the contact block (which carried the top line) — put the top line on the wordmark row instead. */
.foot-headline--topline{padding-top:clamp(44px,5.5vw,68px);background:var(--rainbow) top left/100% 5px no-repeat}
.foot .foot-dl{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:.8em;white-space:nowrap;
  background:#EC008C;color:#fff;border-color:#EC008C;padding:.45em 1.4em .45em .5em;line-height:1.15}
.foot .foot-dl .foot-dl-ico{display:inline-grid;place-items:center;flex:none;width:2.5em;height:2.5em;border-radius:50%;background:#fff}
.foot .foot-dl .foot-dl-ico svg{width:1.25em;height:1.25em;fill:none;stroke:#EC008C;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}
.foot .foot-dl .foot-dl-txt{text-align:left}
.foot .foot-dl:hover{background:#c30074;border-color:#c30074;color:#fff;transform:translateY(-2px)}
.foot .foot-dl:hover .foot-dl-ico svg{stroke:#c30074}
.foot .cols{display:flex;justify-content:space-between;align-items:center;gap:18px 30px;flex-wrap:wrap;
  margin-top:clamp(44px,5.5vw,68px);padding-top:28px;border-top:0;background:var(--rainbow) top left/100% 5px no-repeat}
.foot .cols .co{margin:0}
.foot .links{display:flex;gap:22px;flex-wrap:wrap}
.foot .links a{font-family:var(--font-body);font-size:.78rem;letter-spacing:.03em;text-decoration:none;
  opacity:.92;white-space:nowrap;color:var(--ink)}
.foot .links a:hover{opacity:1;color:#EC008C}
.foot .co{font-family:var(--font-body);font-size:.72rem;color:var(--muted);letter-spacing:.02em}
.foot .co .foot-credit{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--muted)}
.foot .co .foot-credit:hover{color:#EC008C;text-decoration-color:#EC008C}
.note{font-family:var(--font-body);font-size:.66rem;color:#8a7d66;margin-top:18px;letter-spacing:.02em}

@media(max-width:900px){
  .hero .grid,.mark-grid,.studio .grid{grid-template-columns:minmax(0,1fr)}
  .hero .stage{order:-1}
  .sec-head{align-items:flex-start}
  .mark h2{white-space:normal}
}
@media(min-width:901px){
  .studio .grid{align-items:center;grid-template-columns:min(42vw,440px) minmax(0,1fr);gap:clamp(24px,3.5vw,52px)}
  .studio-art{position:relative;width:min(42vw,440px);aspect-ratio:1;justify-self:start;align-self:center;order:-1}
  .studio-art .rings{position:absolute;inset:0}
  .studio-art .rings svg{width:100%;height:100%}
  .studio h2{max-width:none}
  .studio-copy{max-width:none}
  .hero .grid{align-items:stretch}
  .hero .stage{position:relative}
  .hero .disc{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);height:100%;width:auto;aspect-ratio:1;max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  .mark .disc2.bobbing{animation:none}
  .reveal{animation:none;opacity:1;transform:none}
  .stage .spin{animation:none}
  *{scroll-behavior:auto}
}

/* ===== FILTER SHOP ===== */
.shop-section{background:#fff;padding-block:clamp(48px,7vw,96px)}
.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:clamp(24px,3vw,48px);align-items:start}
.shop-sidebar{position:sticky;top:90px}
.shop-sidebar h3{font-family:var(--font-body);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700;color:var(--muted);margin:0 0 .8rem;padding-bottom:.6rem;border-bottom:2px solid var(--ink)}
.filter-group{margin-bottom:1.8rem}
.filter-group h4{font-family:var(--font-body);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;color:var(--muted);margin:0 0 .8rem}
.filter-opts{display:flex;flex-direction:column;gap:2px}
.filter-opts label{display:flex;align-items:center;gap:.7em;font-family:var(--font-body);
  font-size:.88rem;cursor:pointer;padding:.35em .5em;border-radius:8px;transition:background .15s;
  color:var(--ink);user-select:none}
.filter-opts label:hover{background:rgba(0,0,0,.04)}
.filter-opts input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink);cursor:pointer;flex:none}
.filter-opts .swatch-dot{width:14px;height:14px;border-radius:50%;flex:none;border:1.5px solid rgba(0,0,0,.12)}
.shop-results-bar{display:flex;justify-content:space-between;align-items:center;
  margin-bottom:clamp(16px,2vw,24px);flex-wrap:wrap;gap:12px}
.shop-results-bar p{font-family:var(--font-body);font-size:.84rem;color:var(--muted);margin:0}
.shop-empty{padding:60px 20px;text-align:center;color:var(--muted);font-family:var(--font-body);
  grid-column:1/-1}
.shop-empty b{display:block;font-family:var(--font-display);font-size:1.4rem;color:var(--ink);
  margin-bottom:.4rem}
.shop-pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:clamp(24px,3vw,40px)}
.shop-pagination .pg-btn{display:grid;place-items:center;min-width:42px;height:42px;padding:0 .6em;border-radius:999px;
  border:1.5px solid var(--line);background:#fff;font-family:var(--font-body);font-size:.85rem;color:var(--ink);cursor:pointer;transition:.15s}
.shop-pagination .pg-btn:hover:not([disabled]){border-color:var(--ink)}
.shop-pagination .pg-btn.is-current{background:var(--ink);color:#fff;border-color:var(--ink)}
.shop-pagination .pg-btn[disabled]{opacity:.4;cursor:default}
.shop-pagination .pg-gap{display:grid;place-items:center;height:42px;color:var(--muted)}
.filter-clear{font-family:var(--font-body);font-size:.72rem;letter-spacing:.08em;
  background:none;border:none;cursor:pointer;color:var(--muted);text-decoration:underline;padding:0;
  margin-top:.4rem;display:block}
.filter-clear:hover{color:var(--ink)}
.filter-toggle{display:none;align-items:center;gap:.5em;font-family:var(--font-body);
  font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:.6em 1.2em;
  cursor:pointer;margin-bottom:1.2rem}
.filter-drawer{transition:max-height .3s ease,opacity .3s ease;overflow:hidden}
@media(max-width:860px){
  .shop-layout{grid-template-columns:1fr}
  .shop-sidebar{position:static}
  .filter-toggle{display:flex}
  .filter-drawer{max-height:0;opacity:0}
  .filter-drawer.open{max-height:800px;opacity:1}
}

/* =================================================================
   PRODUCT PAGE (single-product) — from product-mug mockup
   ================================================================= */
.crumb{padding-block:18px 4px}
.crumb a,.crumb span{font-family:var(--font-body);font-size:.76rem;letter-spacing:.02em;color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--ink)}
.crumb .sep{margin:0 .5em;opacity:.5}
.crumb .here{color:var(--ink)}

body.single-product{background:#fff}
.product{padding-block:clamp(18px,3vw,34px) clamp(40px,6vw,70px)}
.product .grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,5vw,64px);align-items:center}
.product .gallery{position:sticky;top:88px}
.shot{border-radius:0;background:#fff;
  border:1px solid var(--line);aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;position:relative}
.shot::before,.shot::after{content:"";position:absolute;left:0;right:0;height:16px;z-index:2;
  background:linear-gradient(90deg,#00B4C8 0 16.666%,#5BA829 16.666% 33.333%,#E32119 33.333% 50%,#F5B400 50% 66.666%,#F0612A 66.666% 83.333%,#EC008C 83.333% 100%)}
.shot::before{top:0}
.shot::after{bottom:0}
.shot-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.shot-note{margin:.7rem 0 0;font-family:var(--font-body);font-size:.74rem;color:var(--muted);text-align:center}
.thumbs{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.thumb{width:60px;height:60px;border-radius:12px;border:1.5px solid var(--line);background:#fff;
  cursor:pointer;padding:0;position:relative;overflow:hidden;transition:.18s}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb:hover{transform:translateY(-3px)}
.thumb[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.buy .animal-link{display:none}
.buy h1{font-size:clamp(2.1rem,4.6vw,3.2rem);margin:.4rem 0 .8rem;color:#EC008C}
.price{display:flex;align-items:baseline;gap:12px;margin-bottom:.4rem}
.price .amt{font-family:var(--font-display);font-weight:600;font-size:1.7rem;color:var(--ink)}
.price .pending{font-family:var(--font-body);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);background:var(--paper-2);border:1px solid var(--line);padding:.35em .6em;border-radius:999px}
.buy .lead{color:var(--muted);margin:.6rem 0 1.6rem;max-width:46ch}
.opt-label{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 .7rem}
.opt-label .t{font-family:var(--font-body);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:600}
.opt-label .v{font-family:var(--font-body);font-size:.85rem;color:var(--muted)}
.add-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin:1.8rem 0 1.3rem}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden}
.qty button{width:46px;height:100%;min-height:46px;background:transparent;border:0;font-size:1.2rem;cursor:pointer;color:var(--ink)}
.qty button:hover{background:var(--paper-2)}
.qty input{width:42px;text-align:center;border:0;background:transparent;font-family:var(--font-body);font-size:1rem;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.add-row .btn-solid{flex:1;min-width:200px}
.made{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.9rem;
  margin-top:2rem}
.made b{color:var(--ink);font-weight:600}
.buy .meta{margin-top:2rem;font-family:var(--font-body);font-size:.82rem;color:var(--muted);line-height:2.1}
.buy .meta b{color:var(--ink);font-weight:600}
.details{background:#fff;padding-block:clamp(48px,7vw,84px)}
.details .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(28px,4vw,56px)}
.details h2{font-size:clamp(1.5rem,2.8vw,2rem);margin-bottom:.8rem}
.details .grid>div:nth-child(1) h2{color:#00B4C8}
.details .grid>div:nth-child(2) h2{color:#5BA829}
.details p{color:var(--muted);margin:0 0 1rem}
.spec{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.spec span:first-child{color:var(--muted)}
.spec span:last-child{font-weight:600}
.related{padding-block:clamp(48px,7vw,90px)}
.related .head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(22px,3vw,38px)}
.related h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,232px),1fr));gap:clamp(14px,2vw,22px)}
.rel-card{display:block;text-decoration:none;color:inherit;transition:transform .22s}
.rel-card:hover{transform:translateY(-5px)}
.rel-card .pic{aspect-ratio:1;border-radius:var(--r);background:var(--ink);position:relative;overflow:hidden;border:1px solid var(--ink-3)}
.rel-card h3{font-family:var(--font-display);font-weight:600;font-size:1.2rem;margin:.7rem 0 .15rem}
.rel-card p{margin:0;color:var(--muted);font-size:.84rem}
@media(max-width:880px){
  .product .grid{grid-template-columns:minmax(0,1fr)}
  .product .gallery{position:static}
}

/* ===== preview flag (dev only — hidden in theme) ===== */
.preview-flag{display:none}

/* =================================================================
   WOOCOMMERCE ARCHIVE (shop + product categories) + FILTER
   ================================================================= */
.shop-archive{padding-block:clamp(26px,4vw,50px) clamp(48px,7vw,90px);background:#fff}
.shop-archive-head{align-items:flex-end}
.shop-archive-head .woocommerce-products-header__title,
.shop-archive-head h1{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4.6vw,3.4rem);letter-spacing:-.01em;margin:0;color:#EC008C}
.shop-archive .shop-result-count{font-family:var(--font-body);font-size:.84rem;color:var(--muted);margin:.55rem 0 0}
.shop-archive-desc{color:var(--muted);max-width:60ch;margin:.5rem 0 0}
.shop-ordering select,.woocommerce-ordering select{
  -webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;
  font-family:var(--font-body);font-size:.82rem;color:var(--ink);cursor:pointer;
  border:1.5px solid var(--line);border-radius:999px;
  padding:.7em 2.8em .7em 1.2em!important;line-height:1.2;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%2317120D' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1.1em center!important;
  background-size:11px!important}
.shop-ordering select:focus,.woocommerce-ordering select:focus{outline:none;border-color:var(--ink)}
.woocommerce-ordering{margin:0}

/* sidebar filter */
.shop-sidebar-head{display:flex;justify-content:space-between;align-items:baseline;
  border-bottom:2px solid var(--ink);padding-bottom:.6rem;margin-bottom:1.3rem}
.shop-sidebar-head h3{font-family:var(--font-body);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700;color:var(--muted);margin:0;border-bottom:0;padding-bottom:0}
.filter-clear-all{font-family:var(--font-body);font-size:.7rem;letter-spacing:.04em;color:var(--muted);text-decoration:underline}
.filter-clear-all:hover{color:var(--ink)}
.filter-swatches{display:flex;flex-wrap:wrap;gap:10px}
.filter-swatch{width:34px;height:34px;border-radius:50%;border:2px solid rgba(0,0,0,.12);
  display:block;cursor:pointer;transition:transform .15s}
.filter-swatch:hover{transform:scale(1.12)}
.filter-swatch.is-active{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--ink);transform:scale(1.1)}
.filter-opts{display:flex;flex-direction:column;gap:1px}
.filter-opt{display:flex;align-items:center;gap:.65em;font-family:var(--font-body);font-size:.9rem;
  color:var(--ink);text-decoration:none;padding:.4em .5em;border-radius:8px;transition:background .15s}
.filter-opt:hover{background:rgba(0,0,0,.04)}
.filter-check{width:16px;height:16px;border:1.6px solid var(--line);border-radius:5px;flex:none;
  display:grid;place-items:center;transition:.15s}
.filter-opt.is-active .filter-check{background:var(--ink);border-color:var(--ink)}
.filter-opt.is-active .filter-check::after{content:"";width:4px;height:8px;border:solid #fff;
  border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}
.filter-cats{display:flex;flex-direction:column;gap:.7rem}
.filter-cat-group{display:flex;flex-direction:column}
.filter-cat-parent{font-family:var(--font-display);font-weight:600;font-size:.98rem;color:var(--ink);
  text-decoration:none;padding:.15em 0}
.filter-cat-parent:hover{color:var(--active)}
.filter-cat-child{font-family:var(--font-body);font-size:.85rem;color:var(--muted);text-decoration:none;
  padding:.16em 0 .16em .9rem}
.filter-cat-child:hover{color:var(--ink)}
.filter-cat-child.is-current{color:var(--ink);font-weight:600}

/* product grid (override WC defaults) */
.ak-catbtns{background:#FAF8F5;padding-block:clamp(40px,6vw,80px)}
.ak-catbtns-head{margin-bottom:clamp(20px,3vw,34px)}
.ak-catbtns-head h2{font-size:clamp(1.7rem,3.4vw,2.6rem);margin:0}
.ak-catbtns-row{display:flex;flex-wrap:wrap;gap:clamp(10px,1.4vw,16px)}
.ak-cat-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:999px;color:#fff;font-weight:700;text-decoration:none;font-size:1.02rem;line-height:1;transition:transform .18s,filter .18s}
.ak-cat-btn:hover{transform:translateY(-3px);filter:brightness(1.07)}
.shop-main ul.products{background:none;display:grid !important;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));
  gap:clamp(16px,2vw,26px);margin:0 !important;padding:0;list-style:none}
.shop-main ul.products::before,.shop-main ul.products::after{display:none}
.ak-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;width:auto !important;margin:0 !important;float:none !important;
  transition:transform .2s,box-shadow .2s}
.ak-card::before,.ak-card::after{display:none}
.ak-card:hover{transform:translateY(-4px)}
.ak-card-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;flex:1}
.ak-card-img{aspect-ratio:1;display:grid;place-items:center;padding:8%;position:relative;
  background:#fff}
.ak-card-img img,.ak-card-art{width:100%;height:100%;object-fit:contain;display:block}
.ak-card-ph{width:62%;height:62%;border-radius:50%;
  background:repeating-radial-gradient(circle at 52% 48%, var(--line) 0 2px, transparent 2px 9px);opacity:.7}
.ak-card-body{padding:14px 16px 14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.35rem}
.ak-card-cat{font-family:var(--font-body);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin:0}
.ak-card-name{font-family:var(--font-display);font-weight:600;font-size:1.08rem;line-height:1.12;margin:0;color:var(--ink)}
.ak-card-dots{display:flex;gap:5px;flex-wrap:wrap;margin:.1rem 0}
.ak-card-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}
.ak-card-price{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--ink)}
.ak-card-price .amount,.ak-card-price bdi{color:inherit}
.ak-card-cta{padding:0 16px 16px}
.ak-card-cta .button,.ak-card-cta a.button{display:inline-flex;align-items:center;justify-content:center;width:100%;
  font-family:var(--font-body);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  padding:.8em 1.2em;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);
  text-decoration:none;transition:.2s;cursor:pointer;margin:0}
.ak-card-cta .button:hover{background:#00B4C8;color:#fff;border-color:#00B4C8}
.ak-card-cta .added_to_cart{display:none}

/* pagination (high specificity to beat WooCommerce's own pagination CSS) */
.woocommerce nav.woocommerce-pagination{margin-top:clamp(28px,4vw,44px);text-align:center;border:0}
.woocommerce nav.woocommerce-pagination ul{display:inline-flex;gap:8px;border:0!important;margin:0;padding:0;list-style:none}
.woocommerce nav.woocommerce-pagination ul li{border:0!important;margin:0;padding:0;display:inline-flex;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  display:grid!important;place-items:center;box-sizing:border-box;min-width:44px;height:44px;width:auto;
  padding:0 .65em!important;margin:0;border:1.5px solid var(--line)!important;border-radius:999px!important;
  background:#fff;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--ink);line-height:1;text-decoration:none}
.woocommerce nav.woocommerce-pagination ul li .current,
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li [aria-current]{background:#EC008C!important;color:#fff!important;border-color:#EC008C!important}
.woocommerce nav.woocommerce-pagination ul li a:hover{border-color:var(--ink)!important;background:var(--paper-2)}

@media(max-width:860px){
  .shop-archive .shop-layout{grid-template-columns:1fr}
}

/* =================================================================
   WOOCOMMERCE — GLOBAL (buttons, forms, notices) across all pages
   ================================================================= */
.ak-main{padding-block:clamp(28px,4vw,56px)}

/* buttons — classic + block */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce .button,
.wc-block-components-button,.wp-element-button,
.woocommerce-page a.button,.woocommerce-page button.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--font-body);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  padding:.95em 1.6em;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);
  text-decoration:none;cursor:pointer;line-height:1.2;white-space:nowrap;transition:transform .18s,background .2s,color .2s,border-color .2s;box-shadow:none}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce .button:hover,.wc-block-components-button:hover,.wp-element-button:hover{
  background:#00B4C8;color:#fff;border-color:#00B4C8;transform:translateY(-2px)}
/* primary / filled CTAs */
.woocommerce a.button.alt,.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce #place_order,.woocommerce .single_add_to_cart_button,.woocommerce a.checkout-button,.woocommerce .checkout-button,
.wc-block-components-button.contained,.wc-block-components-button--filled,
.wc-block-components-checkout-place-order-button{
  background:var(--active)!important;color:#fff!important;border-color:var(--active)!important}
.woocommerce .button.alt:hover,.woocommerce #place_order:hover,.woocommerce .single_add_to_cart_button:hover,
.woocommerce .checkout-button:hover,.wc-block-components-button.contained:hover,
.wc-block-components-button--filled:hover{filter:brightness(.94);background:var(--active);color:#fff;border-color:var(--active)}
/* Cart "Proceed to checkout" — pinned to brand magenta, full width */
.woocommerce a.checkout-button,.woocommerce .wc-proceed-to-checkout a.checkout-button{
  background:#EC008C!important;border-color:#EC008C!important;color:#fff!important;
  width:100%;padding:1.15em 1.6em;font-size:.82rem}
.woocommerce a.checkout-button:hover{background:#c30074!important;border-color:#c30074!important;filter:none;transform:translateY(-2px)}

/* form fields — classic + block */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce .input-text,.woocommerce select,.woocommerce textarea,
.wc-block-components-text-input input,.wc-block-components-select select,
.select2-container--default .select2-selection--single{
  font-family:var(--font-body);font-size:.95rem;color:var(--ink);background:#fff;
  border:1.5px solid var(--line);border-radius:12px;padding:.7em .9em;min-height:46px;box-shadow:none}
.woocommerce form .form-row input.input-text:focus,.woocommerce .input-text:focus,
.woocommerce select:focus,.wc-block-components-text-input input:focus{
  outline:none;border-color:var(--ink)}
.wc-block-components-text-input.is-active label,.woocommerce label{font-family:var(--font-body);color:var(--muted)}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,
.wc-block-components-notice-banner{
  font-family:var(--font-body);border-radius:14px;border:1px solid var(--line);
  background:#fff;color:var(--ink);padding:1em 1.2em;box-shadow:none}
.woocommerce-message{border-left:4px solid var(--cw-veld)}
.woocommerce-info,.wc-block-components-notice-banner.is-info{border-left:4px solid var(--cw-sky)}
.woocommerce-error,.wc-block-components-notice-banner.is-error{border-left:4px solid var(--cw-red)}
.woocommerce-message .button,.woocommerce-info .button{padding:.6em 1.1em;font-size:.68rem}
/* hide WooCommerce's notice glyph icons (they overlap the text) */
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before,
.woocommerce-noreviews::before,.woocommerce-warning::before,
.woocommerce-form-coupon-toggle .woocommerce-info::before{display:none!important;content:none!important}

/* breadcrumb */
.woocommerce-breadcrumb{font-family:var(--font-body);font-size:.76rem;letter-spacing:.02em;
  color:var(--muted);margin-bottom:1.4rem}
.woocommerce-breadcrumb a{color:var(--muted);text-decoration:none}
.woocommerce-breadcrumb a:hover{color:var(--ink)}

/* =================================================================
   SINGLE PRODUCT
   ================================================================= */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(28px,5vw,64px);align-items:start}
.single-product div.product .woocommerce-product-gallery{width:100%!important;margin:0;float:none;position:sticky;top:88px}
.single-product div.product .woocommerce-product-gallery__image img{border-radius:var(--r);border:1px solid var(--line)}
.single-product .product .summary{margin:0!important;width:100%!important;float:none!important}
.single-product .product .product_title{font-family:var(--font-display);font-weight:600;
  font-size:clamp(2.1rem,4.4vw,3.1rem);line-height:1.04;margin:.2rem 0 .7rem}
.single-product .product .price,.single-product .product .price .amount{font-family:var(--font-display);
  font-weight:600;color:var(--ink)}
.single-product .product .price{font-size:1.5rem;margin-bottom:1rem}
.single-product .product .woocommerce-product-details__short-description{color:var(--muted);margin-bottom:1.4rem}
.single-product .product_meta{margin-top:1.4rem;font-family:var(--font-body);font-size:.82rem;color:var(--muted);line-height:2}
.single-product .product_meta>span{display:block}
.single-product .product_meta a{color:var(--ink);text-decoration:none}
.single-product .product_meta a:hover{color:var(--active)}

/* variations table */
.single-product .variations{border:0;margin-bottom:1rem}
.single-product .variations th,.single-product .variations td{border:0;padding:.4em 0;vertical-align:middle}
.single-product .variations th.label label{font-family:var(--font-body);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;font-weight:600;color:var(--ink)}
.single-product .variations select{min-width:240px}
.single-product .reset_variations{font-family:var(--font-body);font-size:.78rem;color:var(--muted);margin-left:.6em}
.single-product .woocommerce-variation-price .price{font-size:1.4rem}
.single-product .woocommerce-variation-add-to-cart{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin-top:.6rem}
.single-product .single_add_to_cart_button{flex:1;min-width:200px}

/* quantity stepper */
.woocommerce .quantity,.wc-block-components-quantity-selector{display:inline-flex;align-items:center;
  border:1.5px solid var(--ink);border-radius:999px;overflow:hidden;background:#fff}
.woocommerce .quantity input.qty{width:50px;text-align:center;border:0;background:transparent;
  font-family:var(--font-body);font-size:1rem;min-height:46px;padding:0;-moz-appearance:textfield}
.woocommerce .quantity .qty-btn{width:40px;min-height:44px;background:transparent;border:0;font-size:1.15rem;
  line-height:1;cursor:pointer;color:var(--ink);padding:0;display:grid;place-items:center}
.woocommerce .quantity .qty-btn:hover{background:var(--paper-2)}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,.woocommerce .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none}

/* tabs */
.woocommerce-tabs{grid-column:1/-1;margin-top:clamp(36px,5vw,64px)}
.woocommerce-tabs ul.tabs{display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0 0 1.4rem;border-bottom:1px solid var(--line)}
.woocommerce-tabs ul.tabs::before{display:none}
.woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0;padding:0}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce-tabs ul.tabs li a{font-family:var(--font-body);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;color:var(--muted);padding:.8em 1.1em;display:block;
  border-bottom:2px solid transparent;transition:.2s}
.woocommerce-tabs ul.tabs li.active a,.woocommerce-tabs ul.tabs li a:hover{color:var(--ink);border-bottom-color:var(--active)}
.woocommerce-tabs .panel h2{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin-bottom:.7rem}
.woocommerce-tabs .panel{color:var(--muted)}

/* related / upsells reuse the branded card grid */
.single-product .related,.single-product .upsells{grid-column:1/-1;margin-top:clamp(40px,6vw,80px)}
.single-product .related>h2,.single-product .upsells>h2{font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.7rem,3.4vw,2.6rem);margin-bottom:clamp(20px,3vw,34px)}

@media(max-width:880px){
  .single-product div.product{grid-template-columns:1fr}
  .single-product div.product .woocommerce-product-gallery{position:static}
}

/* =================================================================
   CART + CHECKOUT (block-based) + classic fallbacks
   ================================================================= */
.woocommerce-cart .ak-main h1,.woocommerce-checkout .ak-main h1,
.woocommerce-account .ak-main h1{font-family:var(--font-display);font-weight:600;
  font-size:clamp(2rem,4vw,3rem);margin-bottom:1.2rem}

/* block cart/checkout headings + totals card */
.wc-block-components-title,.wc-block-cart__totals-title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title{
  font-family:var(--font-display)!important;font-weight:600;color:var(--ink)}
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-block{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,2vw,26px)}
.wc-block-components-totals-item__value,.wc-block-components-product-price{font-family:var(--font-display);color:var(--ink)}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--active);font-size:1.3rem}
.wc-block-cart-items__header,.wc-block-cart-item__total{font-family:var(--font-body)}
.wc-block-components-product-name{font-family:var(--font-display)!important;font-weight:600;color:var(--ink);text-decoration:none}

/* classic cart page — table + totals sidebar */
.woocommerce-cart .woocommerce{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px);align-items:flex-start}
.woocommerce-cart .woocommerce-notices-wrapper{flex:0 0 100%;width:100%}
.woocommerce-cart .woocommerce-cart-form{flex:1 1 460px;min-width:0;margin:0}
.woocommerce-cart .cart-collaterals{flex:0 0 372px;width:372px!important;float:none!important;margin:0;padding:0}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%!important;float:none!important}

.woocommerce-cart table.cart{border:0;width:100%;margin:0;table-layout:fixed}
.woocommerce-cart table.cart thead th{font-family:var(--font-body);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);font-weight:700;border:0;border-bottom:2px solid var(--ink);
  padding:0 1em 1em 0;text-align:left;background:none}
.woocommerce-cart table.cart tbody td{border:0;border-bottom:1px solid var(--line);padding:1.1em 1em 1.1em 0;
  vertical-align:middle;background:none}
.woocommerce-cart table.cart td.product-remove{padding-right:.8em;width:40px}
.woocommerce-cart table.cart a.remove{display:inline-grid!important;place-items:center;width:30px;height:30px;border-radius:50%;
  border:1.5px solid var(--line);text-decoration:none;font-size:0!important;color:transparent!important;transition:.18s;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M1 1L11 11M11 1L1 11' stroke='%23EC008C' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") center center/10px 10px no-repeat!important}
.woocommerce-cart table.cart a.remove:hover{border-color:#EC008C!important;background-color:#EC008C!important;transform:scale(1.08);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M1 1L11 11M11 1L1 11' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E")!important}
.woocommerce-cart table.cart td.product-thumbnail{width:92px}
.woocommerce-cart table.cart td.product-thumbnail img{width:72px;height:72px;border-radius:12px;border:1px solid var(--line);object-fit:cover}
.woocommerce-cart table.cart .product-name a{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--ink);text-decoration:none}
.woocommerce-cart table.cart .product-name a:hover{color:var(--active)}
.woocommerce-cart table.cart .product-name .variation,.woocommerce-cart table.cart .product-name dl{font-family:var(--font-body);font-size:.82rem;color:var(--muted);margin:.35em 0 0}
.woocommerce-cart table.cart .product-price,.woocommerce-cart table.cart .product-subtotal{font-family:var(--font-display);color:var(--ink)}
.woocommerce-cart table.cart .product-subtotal{font-weight:600}
/* column widths so the product name gets the space (not the empty remove/thumb cells) */
.woocommerce-cart table.cart th.product-remove,.woocommerce-cart table.cart td.product-remove{width:44px}
.woocommerce-cart table.cart th.product-thumbnail,.woocommerce-cart table.cart td.product-thumbnail{width:88px}
.woocommerce-cart table.cart th.product-name,.woocommerce-cart table.cart td.product-name{width:auto;min-width:240px}
.woocommerce-cart table.cart th.product-price,.woocommerce-cart table.cart td.product-price{width:100px;white-space:nowrap}
.woocommerce-cart table.cart th.product-quantity,.woocommerce-cart table.cart td.product-quantity{width:150px}
.woocommerce-cart table.cart th.product-subtotal,.woocommerce-cart table.cart td.product-subtotal{width:110px;white-space:nowrap;text-align:right}
.woocommerce-cart table.cart thead th.product-price,.woocommerce-cart table.cart thead th.product-subtotal{text-align:left}
.woocommerce-cart table.cart .product-name a{display:inline-block}
.woocommerce-cart table.cart td.actions{padding-top:1.5em!important;border-bottom:0;display:flex;
  justify-content:space-between;gap:14px 20px;flex-wrap:wrap;align-items:center}
.woocommerce-cart .coupon{display:flex;gap:12px;align-items:stretch;flex:1 1 auto;max-width:540px;float:none!important;margin:0}
.woocommerce-cart .coupon .input-text{margin:0;flex:1 1 220px;min-width:200px;height:auto}
.woocommerce-cart .coupon .button{flex:none;white-space:nowrap}
.woocommerce-cart td.actions>.button{float:none;margin:0;flex:none;margin-left:auto}

.woocommerce-cart .cart_totals{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,2.5vw,30px)}
.woocommerce-cart .cart_totals h2{font-family:var(--font-display);font-weight:600;font-size:1.4rem;margin:0 0 1.1rem}
.woocommerce-cart .cart_totals table{width:100%;border:0;margin:0}
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td{border:0;border-bottom:1px solid var(--line);
  padding:.9em 0;font-family:var(--font-body);font-size:.92rem;vertical-align:top}
.woocommerce-cart .cart_totals table th,.woocommerce-checkout #order_review table th{
  font-weight:600;color:var(--ink);text-align:left;background:none!important}
.woocommerce-cart .cart_totals .order-total th,.woocommerce-cart .cart_totals .order-total td{border-bottom:0;padding-top:1em}
.woocommerce-cart .cart_totals .order-total th{font-family:var(--font-display);font-size:1.05rem}
.woocommerce-cart .cart_totals .order-total .amount{font-family:var(--font-display);color:var(--active);font-size:1.3rem}
.woocommerce-cart .cart_totals .woocommerce-shipping-methods{margin:0;padding:0;list-style:none}
.woocommerce-cart .wc-proceed-to-checkout{padding:1.3em 0 0}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,.woocommerce-checkout #place_order{
  width:100%;letter-spacing:.05em;padding-left:1.1em;padding-right:1.1em;font-size:.74rem}
@media(max-width:820px){.woocommerce-cart .cart-collaterals{flex:1 1 100%;width:100%!important}}

/* classic checkout — details left, order summary right */
.woocommerce-checkout form.checkout.woocommerce-checkout{display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:clamp(28px,4vw,56px);align-items:start}
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1/3;min-width:0}
.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 1rem;
  font-family:var(--font-display);font-weight:600;font-size:1.4rem}
.woocommerce-checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:90px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,2.2vw,26px)}
.woocommerce-checkout #customer_details .col2-set{display:flex;flex-direction:column;gap:clamp(20px,3vw,34px)}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none;margin:0}
.woocommerce-checkout h3{font-family:var(--font-display);font-weight:600;font-size:1.3rem;margin:0 0 1.1rem}
.woocommerce-checkout .form-row{margin:0 0 1rem;padding:0}
.woocommerce-checkout .form-row label{font-family:var(--font-body);font-size:.82rem;color:var(--muted)}
.woocommerce-checkout #order_review table.shop_table{border:0;width:100%;margin:0}
.woocommerce-checkout #order_review table th,.woocommerce-checkout #order_review table td{border:0;
  border-bottom:1px solid var(--line);padding:.7em 0;font-family:var(--font-body);font-size:.9rem;background:none}
.woocommerce-checkout #order_review table .product-name{font-family:var(--font-display);color:var(--ink)}
.woocommerce-checkout #order_review .cart-subtotal th,.woocommerce-checkout #order_review .cart-subtotal td,
.woocommerce-checkout #order_review .shipping th,.woocommerce-checkout #order_review .shipping td{font-size:.9rem}
.woocommerce-checkout #order_review .order-total th,.woocommerce-checkout #order_review .order-total td{
  border-bottom:0;padding-top:1em;font-family:var(--font-display);font-weight:600}
.woocommerce-checkout #order_review .order-total .amount{color:var(--active);font-size:1.25rem;font-family:var(--font-display)}
.woocommerce-checkout #payment{background:none!important;border:0;margin-top:1rem;border-radius:0}
.woocommerce-checkout #payment .payment_methods{border:0!important;padding:0;margin:0;list-style:none}
.woocommerce-checkout #payment .place-order{padding:1.1em 0 0}
.woocommerce-checkout #place_order{width:100%}
@media(max-width:820px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{grid-template-columns:1fr}
  .woocommerce-checkout #customer_details{grid-row:auto}
  .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto}
  .woocommerce-checkout #order_review{position:static}
}

/* =================================================================
   MY ACCOUNT
   ================================================================= */
/* logged-in: nav sidebar + content (flex so the empty notices wrapper can't shift cells) */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){
  display:flex;flex-wrap:wrap;gap:clamp(24px,3vw,48px);align-items:flex-start}
.woocommerce-account .woocommerce-notices-wrapper{flex:0 0 100%;width:100%;margin:0}
/* logged-out: login + register as two equal cards */
.woocommerce-account .col2-set{display:flex!important;flex-wrap:wrap;
  gap:clamp(22px,3vw,40px);align-items:stretch;width:100%}
.woocommerce-account .col2-set::before,.woocommerce-account .col2-set::after{display:none!important}
.woocommerce-account .col2-set .col-1,.woocommerce-account .col2-set .col-2{
  flex:1 1 0;min-width:280px;width:auto!important;float:none!important;margin:0;
  border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,2.5vw,32px);background:#fff}
.woocommerce-account .col2-set h2{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin:0 0 1.2rem}
.woocommerce-account .col2-set form.login,.woocommerce-account .col2-set form.register{margin:0;border:0;padding:0;background:none}
.woocommerce-account .col2-set form.login .form-row{margin-bottom:1.5rem}
.woocommerce-account .col2-set form.login .form-row-last,
.woocommerce-account .col2-set form.login p.form-row:has(button){margin-top:.4rem}
.woocommerce-account .col2-set form.login .lost_password{margin-top:1.3rem;margin-bottom:0}
@media(max-width:640px){.woocommerce-account .col2-set{grid-template-columns:1fr}}
.woocommerce-MyAccount-navigation{flex:0 0 220px;width:220px!important;float:none!important;margin:0;position:sticky;top:90px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.woocommerce-MyAccount-navigation ul li{margin:0}
.woocommerce-MyAccount-navigation ul li a{display:block;font-family:var(--font-body);font-size:.92rem;
  color:var(--muted);text-decoration:none;padding:.6em .8em;border-radius:10px;transition:.15s}
.woocommerce-MyAccount-navigation ul li a:hover{background:rgba(0,0,0,.04);color:var(--ink)}
.woocommerce-MyAccount-navigation ul li.is-active a{background:var(--ink);color:#fff}
.woocommerce-MyAccount-content{flex:1 1 0;min-width:0;width:auto!important;float:none!important;margin:0;
  font-family:var(--font-body);color:var(--ink)}
.woocommerce-MyAccount-content > *:first-child{margin-top:0}
.woocommerce-MyAccount-content a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--active)}
.woocommerce-MyAccount-content a:hover{color:var(--active)}

@media(max-width:760px){
  .woocommerce-MyAccount-navigation{flex:0 0 100%;width:100%!important;position:static}
}

/* My Account — addresses */
.woocommerce-account .woocommerce-Addresses{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(20px,3vw,32px);margin:0}
.woocommerce-account .woocommerce-Address{border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(20px,2.5vw,30px);background:#fff;margin:0;width:auto!important;float:none!important}
.woocommerce-account .woocommerce-Address .title{display:block;text-align:left;margin:0 0 1rem;overflow:hidden}
.woocommerce-account .woocommerce-Address .title h3{margin:0 0 .85rem;font-family:var(--font-display);
  font-weight:600;font-size:1.3rem;text-align:left;float:none}
.woocommerce-account .woocommerce-Address .title .edit{float:none;display:inline-block;font-family:var(--font-body);
  font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--ink);text-decoration:none;
  border:1.5px solid var(--ink);border-radius:999px;padding:.55em 1.1em;white-space:nowrap;transition:.2s}
.woocommerce-account .woocommerce-Address .title .edit:hover{background:#00B4C8;color:#fff}
.woocommerce-account .woocommerce-Address address{font-style:normal;color:var(--muted);line-height:1.7;margin:0}

/* My Account — empty-state notices (downloads / orders) as a clean bar */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notice--info{
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message .button{margin:0;flex:none}

/* My Account — forms (account details / edit address) */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content form.edit-account,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields{max-width:600px}
.woocommerce-account .woocommerce-MyAccount-content .form-row{margin:0 0 1.1rem}
/* Edit-account "Password change" fieldset — clean card instead of default browser border */
.woocommerce-account .woocommerce-MyAccount-content fieldset{
  border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,2.6vw,32px);margin:2rem 0 0}
.woocommerce-account .woocommerce-MyAccount-content fieldset legend{
  font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--ink);padding:0 .5em;margin-left:-.5em}
.woocommerce-account .woocommerce-MyAccount-content fieldset .form-row:last-child{margin-bottom:0}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm>p:last-of-type,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .clear+p{margin-top:1.8rem}
.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"]{
  background:#EC008C!important;border-color:#EC008C!important;color:#fff!important;padding:1em 2.4em}
.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"]:hover{
  background:#c30074!important;border-color:#c30074!important;transform:translateY(-2px)}

/* =================================================================
   SINGLE PRODUCT — custom layout enhancements (swatches, qty, related)
   ================================================================= */
.single-product .product .grid{align-items:start}
.shot .shot-art{width:100%;height:100%;object-fit:contain;padding:9%;display:block}
.buy .price{margin-bottom:.8rem}
.buy .price .amt{font-family:var(--font-display);font-weight:600;font-size:1.7rem;color:var(--ink)}
.buy .price .amt .amount,.buy .price .amt bdi{color:inherit;font-weight:inherit}

/* variation controls injected by JS (colourway swatches / size + shirt pills) */
.ak-opt{margin:0 0 1.5rem}
.ak-opt .opt-label{margin:0 0 .75rem}
.ak-opt .swatches{gap:12px}
.ak-opt .swatch{width:46px;height:46px}
.ak-pills{display:flex;flex-wrap:wrap;gap:10px}
.ak-pill{font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.01em;
  min-width:54px;padding:.7em 1.05em;border-radius:14px;border:1.5px solid var(--line);
  background:#fff;color:var(--ink);cursor:pointer;transition:.15s;
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;line-height:1}
.ak-pill:hover{border-color:var(--ink)}
.ak-pill[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 1.5px var(--ink)}
.ak-pill .dot{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex:none}
.ak-pill--size{min-width:56px}

/* WC variation form inside the buy box */
.buy .variations_form{margin:0}
.buy .variations_form .variations{margin:0 0 1rem}
.buy .variations_form .variations th.label label{font-family:var(--font-body);font-size:.72rem;
  letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.buy .woocommerce-variation-price{margin:.2rem 0 .9rem}
.buy .woocommerce-variation-price .price,.buy .woocommerce-variation-price .amount{font-family:var(--font-display);font-weight:600;color:var(--ink)}
.buy .woocommerce-variation-add-to-cart{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:.4rem}
.buy .single_add_to_cart_button{flex:1;min-width:200px}
/* customisation notes/fields take their own full-width row above qty + button */
.buy .woocommerce-variation-add-to-cart .ak-customise,
.buy form.cart .ak-customise{flex:0 0 100%;width:100%;order:-1;margin:0 0 4px}
.buy .reset_variations{display:inline-block;font-family:var(--font-body);font-size:.78rem;color:var(--muted);margin-top:.5rem}

/* qty stepper buttons (injected) */
.single-product .quantity{display:inline-flex;align-items:center;border:1.5px solid var(--ink);
  border-radius:999px;overflow:hidden;background:#fff}
.single-product .quantity .qty-btn{width:44px;min-height:46px;background:transparent;border:0;
  font-size:1.2rem;line-height:1;cursor:pointer;color:var(--ink);padding:0;display:grid;place-items:center}
.single-product .quantity .qty-btn:hover{background:var(--paper-2)}
.single-product .quantity input.qty{border:0;width:48px}

/* related products grid (branded cards) */
.single-product .related-wrap{margin-block:clamp(40px,6vw,80px)}
.single-product .related.products>h2,.single-product .upsells.products>h2{font-family:var(--font-display);
  font-weight:600;font-size:clamp(1.7rem,3.4vw,2.6rem);margin:0 0 clamp(20px,3vw,34px)}
.single-product .related.products ul.products,.single-product .upsells.products ul.products{
  background:none;display:flex;flex-wrap:wrap;justify-content:flex-start;
  gap:clamp(16px,2vw,26px);margin:0;padding:0;list-style:none}
.single-product .related.products ul.products::before,.single-product .related.products ul.products::after{display:none}
.single-product .related .ak-card,.single-product .upsells .ak-card{flex:0 1 220px;min-width:0}
.single-product .related .ak-card-img,.single-product .upsells .ak-card-img{padding:12%}

/* =================================================================
   POST / PAGE CONTENT (blog, single post, static pages)
   ================================================================= */
.ak-content{font-size:1.05rem;line-height:1.75;color:var(--ink-3);max-width:72ch}
/* WooCommerce pages need full width, not reading width */
.woocommerce-cart .ak-content,.woocommerce-checkout .ak-content,.woocommerce-account .ak-content,
.woocommerce-cart .ak-page .ak-content,.woocommerce-checkout .ak-page .ak-content,
.woocommerce-account .ak-page .ak-content{max-width:none}
.ak-page .ak-content,.ak-post .ak-content{max-width:72ch}
.ak-content > *:first-child{margin-top:0}
.ak-content p{margin:0 0 1.2em}
.ak-content h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,3vw,2.1rem);
  line-height:1.12;margin:1.8em 0 .6em;color:#EC008C}
.ak-content h3{font-family:var(--font-display);font-weight:600;font-size:1.35rem;margin:1.5em 0 .5em;color:#00B4C8}
.ak-content h4{font-family:var(--font-body);font-weight:700;font-size:1.05rem;letter-spacing:.02em;margin:1.4em 0 .4em;color:var(--ink)}
.ak-content a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--active)}
.ak-content a:hover{color:var(--active)}
.ak-content ul,.ak-content ol{margin:0 0 1.2em;padding-left:1.3em}
.ak-content li{margin:.3em 0}
.ak-content img,.ak-content figure img{max-width:100%;height:auto;border-radius:var(--r)}
.ak-content figure{margin:1.6em 0}
.ak-content figcaption{font-size:.84rem;color:var(--muted);margin-top:.5em;text-align:center}
.ak-content blockquote{margin:1.6em 0;padding:.6em 0 .6em 1.3em;border-left:3px solid var(--active);
  font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:var(--ink)}
.ak-content hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.ak-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;
  background:var(--paper-2);padding:.15em .4em;border-radius:6px}
.ak-content pre{background:var(--ink);color:var(--paper);padding:1.1em 1.3em;border-radius:var(--r);overflow:auto;margin:0 0 1.4em}
.ak-content pre code{background:none;color:inherit;padding:0}
.ak-content table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:.95rem}
.ak-content th,.ak-content td{border:1px solid var(--line);padding:.6em .8em;text-align:left}
.ak-content th{background:var(--paper-2);font-family:var(--font-body)}

/* post meta + comments */
.ak-post .sec-head .eyebrow{margin-bottom:.3rem}
.comment-respond,.comments-area{max-width:72ch;margin-top:clamp(32px,5vw,56px)}
.comment-reply-title{font-family:var(--font-display);font-weight:600;font-size:1.4rem;margin-bottom:.8rem}
.comments-area .comment-list{list-style:none;padding:0}
.comments-area .comment-body{border:1px solid var(--line);border-radius:var(--r);padding:1.1em 1.3em;margin-bottom:1em}
.comments-area .comment-list .children{list-style:none;padding-left:clamp(14px,3vw,32px)}

/* comment form */
.comment-form{display:flex;flex-direction:column;gap:1rem;max-width:560px}
.comment-form p{margin:0;display:flex;flex-direction:column;gap:.35rem}
.comment-form label{font-family:var(--font-body);color:var(--muted);font-size:.82rem;letter-spacing:.02em}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  font-family:var(--font-body);font-size:.95rem;color:var(--ink);background:#fff;
  border:1.5px solid var(--line);border-radius:12px;padding:.7em .9em;width:100%}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--ink)}
.comment-form textarea{min-height:130px;resize:vertical}
.comment-form .comment-form-cookies-consent{flex-direction:row;align-items:center;gap:.6em}
.comment-form .comment-form-cookies-consent label{color:var(--ink);font-size:.9rem}
.comment-form .form-submit input,.comment-form #submit{display:inline-flex;align-items:center;justify-content:center;
  align-self:flex-start;font-family:var(--font-body);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:700;padding:.9em 1.7em;border-radius:999px;border:1.5px solid var(--ink);background:var(--active);
  color:#fff;cursor:pointer;transition:.2s;width:auto}
.comment-form .form-submit input:hover,.comment-form #submit:hover{filter:brightness(.94)}

/* pagination (blog/archive) */
.ak-main .pagination,.ak-main .navigation.pagination{margin-top:clamp(28px,4vw,44px)}
.ak-main .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.ak-main .nav-links .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;border-radius:999px;
  border:1.5px solid var(--line);font-family:var(--font-body);font-size:.85rem;text-decoration:none;color:var(--ink)}
.ak-main .nav-links .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.ak-main .nav-links a.page-numbers:hover{border-color:var(--ink)}
