/* Coco's new design (v2). Loaded after coco.css only on v2 pages (theme_coco_v2); every rule is scoped to body.coco-v2. */
body.coco-v2{
  --v-teal:#369ca8;--v-teal-d:#1f6f79;--v-teal-l:#e3f2f3;--v-sun:#ffdf5e;--v-cream:#fbf6ec;--v-sand:#f3e9d6;
  --v-brown:#5a3417;--v-palm:#2f8f3a;--v-palm-d:#1d5a28;--v-coral:#ef6f53;--v-pink:#f7c6c0;--v-ink:#1d2a2c;--v-mute:#5f6d6f;
  --v-line:#e7dfcf;--v-r:22px;--v-shadow:0 18px 50px -20px rgba(31,74,80,.35);
  --v-serif:Fraunces,Georgia,serif;--v-sans:"DM Sans",system-ui,-apple-system,sans-serif;
  font:16px/1.55 var(--v-sans);color:var(--v-ink);background:var(--v-cream)!important;
}
body.coco-v2 #container{max-width:none!important;background:var(--v-cream)!important;box-shadow:none!important}
body.coco-v2 h1,body.coco-v2 h2,body.coco-v2 h3{font-family:var(--v-serif);font-weight:800;letter-spacing:-.02em;color:inherit;text-transform:none}
body.coco-v2 a{color:inherit}
body.coco-v2 .coco-float{display:none!important}
.coco-v2 .v2-wrap{width:min(1320px,100% - 32px);margin-inline:auto}
.coco-v2 .v2-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font:700 .76rem/1.4 var(--v-sans);color:var(--v-teal-d);text-decoration:none}
.coco-v2 .v2-sun{color:var(--v-sun)!important}
.coco-v2 .v2-script{font:600 2rem/1 Caveat,cursive;color:var(--v-brown)}
.coco-v2 .v2-center{text-align:center;margin-top:20px}
.coco-v2 .v2-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:15px 26px;border-radius:999px;font:700 1rem/1.2 var(--v-sans);border:2px solid transparent;text-decoration:none!important;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.coco-v2 .v2-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(0,0,0,.4)}
.coco-v2 .v2-btn-dark{background:var(--v-ink);color:#fff!important}
.coco-v2 .v2-btn-teal{background:var(--v-teal);color:#fff!important}
.coco-v2 .v2-btn-sun{background:var(--v-sun);color:var(--v-ink)!important}
.coco-v2 .v2-btn-ghost{border-color:currentColor;background:transparent}
.coco-v2 .v2-arrow{font-weight:700;border-bottom:2px solid;padding-bottom:2px;text-decoration:none!important}
.coco-v2 .v2-light{color:#fff!important}
.coco-v2 .v2-flag{position:fixed;left:14px;bottom:96px;z-index:9999;background:var(--v-coral);color:#fff;font:700 .75rem/1 var(--v-sans);padding:9px 14px;border-radius:999px;box-shadow:var(--v-shadow);pointer-events:none}

/* announcement */
.coco-v2 .v2-announce{background:var(--v-teal-d);color:#fff;height:38px;overflow:hidden;font-size:.86rem;font-weight:500}
.coco-v2 .v2-ann{list-style:none;margin:0;padding:0;transition:transform .6s cubic-bezier(.7,0,.3,1)}
.coco-v2 .v2-ann li{height:38px;line-height:38px;display:block;padding:0 16px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coco-v2 .v2-ann b{color:var(--v-sun)}

/* header */
.coco-v2 .v2-shell{position:sticky;top:0;z-index:1030}
.coco-v2 .v2-hdr{background:var(--v-cream);border-bottom:1px solid transparent;transition:border-color .3s}
.coco-v2 .v2-hdr.scrolled{border-color:var(--v-line)}
.coco-v2 .v2-hdr-row{display:flex;align-items:center;gap:24px;height:84px;transition:height .3s}
.coco-v2 .v2-hdr.scrolled .v2-hdr-row{height:66px}
.coco-v2 .v2-logo img{height:64px;width:auto;transition:height .3s}
.coco-v2 .v2-hdr.scrolled .v2-logo img{height:48px}
.coco-v2 .v2-search{flex:1;max-width:560px;position:relative;display:flex;background:#fff;border:2px solid var(--v-line);border-radius:999px;transition:border-color .2s;height:auto;margin:0;padding:0;box-shadow:none}
.coco-v2 .v2-search:focus-within{border-color:var(--v-teal)}
.coco-v2 .v2-search input[type=search]{flex:1;min-width:0;height:48px;border:0!important;background:transparent!important;padding:0 18px 0 22px!important;font:inherit;font-size:.95rem;outline:0;box-shadow:none!important;color:var(--v-ink)}
.coco-v2 .v2-search button{border:0;background:none;color:var(--v-teal-d);width:52px;display:grid;place-items:center;cursor:pointer;padding:0}
.coco-v2 .v2-icons{display:flex;align-items:center;gap:4px;margin-left:auto}
.coco-v2 .v2-phone{font-weight:700;font-size:.9rem;color:var(--v-teal-d)!important;white-space:nowrap;margin-right:8px;text-decoration:none}
.coco-v2 .v2-again{font-weight:700;font-size:.82rem;background:var(--v-sun);border-radius:999px;padding:7px 14px;margin-right:6px;text-decoration:none;white-space:nowrap}
.coco-v2 .v2-ic{position:relative;height:46px;min-width:46px;padding:0 11px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--v-ink)!important;text-decoration:none;transition:background .2s}
.coco-v2 .v2-ic:hover{background:var(--v-sand)}
.coco-v2 .v2-hi{font-size:.85rem;font-weight:700;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coco-v2 .v2-n{position:absolute;top:3px;right:2px;background:var(--v-coral);color:#fff;font-size:.66rem;font-weight:700;min-width:19px;height:19px;border-radius:99px;display:grid;place-items:center;transform:scale(0);transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.coco-v2 .v2-n.on{transform:scale(1)}
/* cart (common/cart.twig dropdown) as an icon button */
.coco-v2 .v2-cart{position:relative}
.coco-v2 .v2-cart .coco-cart-btn{display:inline-flex;flex-direction:row-reverse;align-items:center;gap:8px;height:46px;padding:0 14px 0 11px;border-radius:999px;background:var(--v-ink);color:#fff;border:0;font:700 .85rem/1 var(--v-sans);box-shadow:none}
.coco-v2 .v2-cart .coco-cart-btn:hover{background:var(--v-teal-d)}
.coco-v2 .v2-cart .coco-cart-ic{background:none;color:#fff;width:auto;height:auto;padding:0}
.coco-v2 .v2-scrim{position:fixed;inset:0;background:rgba(20,30,32,.45);z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.coco-v2 .v2-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--v-cream);z-index:2001;transform:translateX(100%);transition:transform .45s cubic-bezier(.7,0,.2,1);display:flex;flex-direction:column;box-shadow:-20px 0 60px -30px rgba(0,0,0,.4);text-align:left}
.coco-v2 #cart.v2-open .v2-drawer{transform:none}
.coco-v2 #cart.v2-open .v2-scrim{opacity:1;visibility:visible}
.coco-v2 #cart.v2-still .v2-drawer,.coco-v2 #cart.v2-still .v2-scrim{transition:none}
.coco-v2 .v2-dh{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--v-line)}
.coco-v2 .v2-dh h3{font-size:1.6rem;margin:0}
.coco-v2 .v2-dclose{width:44px;height:44px;border-radius:50%;border:0;background:transparent;font-size:1.8rem;line-height:1;color:var(--v-ink);cursor:pointer}
.coco-v2 .v2-dclose:hover{background:var(--v-sand)}
.coco-v2 .v2-dship{padding:12px 24px 0}
.coco-v2 .v2-dship .coco-freeship{display:block;max-width:none;width:100%;margin:0;text-align:left;background:#fff;border-radius:16px;padding:14px 16px}
.coco-v2 .v2-dship .coco-freeship p{font-size:.88rem;font-weight:700;color:var(--v-ink);margin-bottom:6px}
.coco-v2 .v2-dship .coco-freeship .cfs-track{height:8px}
.coco-v2 .v2-dship .coco-freeship .cfs-track span{background:linear-gradient(90deg,var(--v-teal),var(--v-palm))}
.coco-v2 .v2-dship .coco-freeship small{text-align:right}
.coco-v2 .v2-ditems{list-style:none;margin:0;padding:0 24px;flex:1;overflow:auto}
.coco-v2 .v2-dit{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--v-line)}
.coco-v2 .v2-dimg img{width:70px;height:70px;object-fit:contain;background:#fff;border-radius:12px}
.coco-v2 .v2-dnm{font-size:.9rem;line-height:1.3;min-width:0}
.coco-v2 .v2-dnm a{text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.coco-v2 .v2-dnm small{display:block;color:var(--v-mute)}
.coco-v2 .v2-dqty{display:block;color:var(--v-mute);font-size:.82rem;margin-top:4px}
.coco-v2 .v2-dright{text-align:right}
.coco-v2 .v2-dright form{margin:0}
.coco-v2 .v2-drm{border:0;background:none;color:var(--v-mute);font-size:.8rem;text-decoration:underline;padding:4px 0;cursor:pointer}
.coco-v2 .v2-drm:hover{color:#b13d22}
.coco-v2 .v2-dfoot{padding:18px 24px 22px;border-top:1px solid var(--v-line);background:#fff}
.coco-v2 .v2-dtot{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:.92rem}
.coco-v2 .v2-dtot th{font-weight:400;color:var(--v-mute);text-align:left;padding:3px 0}
.coco-v2 .v2-dtot td{text-align:right;font-weight:700;padding:3px 0}
.coco-v2 .v2-dtot tr:last-child th,.coco-v2 .v2-dtot tr:last-child td{font:800 1.3rem var(--v-serif);color:var(--v-ink);padding-top:8px}
.coco-v2 .v2-dbtn{width:100%}
.coco-v2 .v2-dview{display:block;text-align:center;margin-top:12px;font-weight:700;color:var(--v-teal-d)!important}
.coco-v2 .v2-dempty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--v-mute);padding:40px 24px;text-align:center}
.coco-v2 .v2-dempty div{font-size:3rem}
.coco-v2 .v2-drawer,.coco-v2 .v2-ditems{overscroll-behavior:contain}
/* existing mega menu bar, light */
.coco-v2 #cwm .cwm-bar{background:transparent;border-top:1px solid var(--v-line)}
.coco-v2 #cwm .cwm-nav{width:min(1320px,100% - 32px);margin:0 auto}
.coco-v2 #cwm .cwm-nb{color:var(--v-ink);font:700 .92rem/1 var(--v-sans);padding:13px 8px}
.coco-v2 #cwm .cwm-nb .cwm-ic:not(.cwm-cv){display:none}
.coco-v2 #cwm .cwm-nb:hover,.coco-v2 #cwm .cwm-nb[aria-expanded=true]{background:var(--v-sand)}
.coco-v2 #cwm .cwm-new{color:var(--v-teal-d)}
.coco-v2 #cwm .cwm-new:hover{background:var(--v-teal-l)}
.coco-v2 #cwm .cwm-seasonal{background:transparent;color:var(--v-coral)}
.coco-v2 #cwm .cwm-seasonal:hover,.coco-v2 #cwm .cwm-seasonal[aria-expanded=true]{background:#fde7e1;color:var(--v-coral)}
.coco-v2 #cwm .cwm-panels{left:50%;right:auto;width:min(1320px,100% - 32px);transform:translateX(-50%)}
.coco-v2 #cwm .cwm-panel{border-radius:0 0 24px 24px;padding:26px 32px 0;box-shadow:0 30px 60px -24px rgba(20,50,52,.35)}
.coco-v2 #cwm .cwm-crow{grid-template-columns:repeat(var(--n,3),minmax(0,1fr)) 280px;gap:28px}
/* compact rows so the tallest panel (Grocery, 13 links in Pantry) fits a 1440x900 screen without scrolling */
.coco-v2 #cwm .cwm-gh{font:700 1.08rem/1.2 var(--v-serif);padding-bottom:8px;margin-bottom:6px}
.coco-v2 #cwm .cwm-grp li a,.coco-v2 #cwm .cwm-row li a{padding:3px 8px;gap:12px;border-radius:10px}
.coco-v2 #cwm .cwm-th{width:32px;height:32px}
.coco-v2 #cwm .cwm-th img{width:32px;height:32px;object-fit:contain}
.coco-v2 #cwm .cwm-nm{font:500 15px/1.25 var(--v-sans)}
.coco-v2 #cwm .cwm-sh{font-size:12px;margin-bottom:8px}
.coco-v2 #cwm .cwm-pick img{width:52px;height:52px}
.coco-v2 #cwm .cwm-pick span{font-size:15px}
.coco-v2 #cwm .cwm-tile span,.coco-v2 #cwm .cwm-gcard span{font-size:14px}
/* panels without the "Shop all" strip (Guides, Visit us) need their own bottom space */
.coco-v2 #cwm .cwm-panel:not(:has(.cwm-foot)){padding-bottom:30px}
.coco-v2 #cwm .cwm-vimg{border-radius:18px;object-fit:cover;aspect-ratio:600/315;height:auto}
/* guide titles: full length (the original menu clamps them to 2 lines) */
.coco-v2 #cwm .cwm-gcard span{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;line-height:1.35}
.coco-v2 #cwm .cwm-gcard{display:flex;flex-direction:column}
.coco-v2 #cwm .cwm-guide strong{font:700 1.12rem/1.25 var(--v-serif)}
.coco-v2 #cwm .cwm-gb,.coco-v2 #cwm .cwm-go{font-size:14px}
.coco-v2 #cwm .cwm-foot{margin:4px -32px 0;padding:13px 32px;font-size:14px;border-radius:0 0 24px 24px}
.coco-v2 #cwm .cwm-h{font:700 1.3rem/1.2 var(--v-serif)}
.coco-v2 #cwm .cwm-addr{font-size:16px}
.coco-v2 #cwm .cwm-hrs{font-size:15px}
.coco-v2 #cwm .cwm-panel{max-height:calc(100vh - 175px)}
/* short screens (laptops at 768px high): drop the "Popular right now" row, the same links are in the columns */
@media (max-height:860px){.coco-v2 #cwm .cwm-picks{display:none}.coco-v2 #cwm .cwm-panel{padding-top:22px}}
.coco-v2 .coco-again{max-width:1320px;margin:10px auto 0}
.coco-v2 .v2-main{padding:0}

/* alerts from OpenCart (added to cart, wish list...) as toasts */
.coco-v2 #alert{position:fixed!important;top:auto!important;right:auto!important;left:50%!important;bottom:24px;margin:0!important;transform:translateX(-50%);z-index:10060;width:min(560px,calc(100% - 32px))!important;max-width:none!important;pointer-events:none;transition:bottom .3s}
.coco-v2.v2-sticky-on #alert{bottom:92px}
.coco-v2 #alert .alert{margin:8px 0 0;padding:14px 46px 14px 16px;font-size:.92rem;line-height:1.4}
.coco-v2 #alert .alert{pointer-events:auto;border:0;border-radius:18px;background:var(--v-ink);color:#fff;box-shadow:var(--v-shadow);font-weight:500;animation:v2toast .45s cubic-bezier(.3,1.5,.5,1)}
.coco-v2 #alert .alert a{color:var(--v-sun);font-weight:700}
.coco-v2 #alert .alert-danger{background:#a33a24}
.coco-v2 #alert .btn-close{filter:invert(1)}
@keyframes v2toast{from{opacity:0;transform:translateY(30px)}}

/* images carry width/height attributes for layout stability; let CSS decide the rendered height */
.coco-v2 .v2-float img,.coco-v2 .v2-cat img,.coco-v2 .v2-gift img,.coco-v2 .v2-ph img,.coco-v2 .v2-g img,.coco-v2 .v2-mini img,.coco-v2 .v2-foot-logo img{height:auto}

/* reveal on scroll (only elements that start below the fold get hidden, by v2.js) */
.coco-v2 .v2-rv.v2-hide{opacity:0;transform:translateY(36px)}
.coco-v2 .v2-rv{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}

/* hero */
.coco-v2 .v2-hero{min-height:calc(100svh - 190px);display:grid;grid-template-columns:1.05fr 1fr;align-items:center;overflow:hidden;position:relative}
.coco-v2 .v2-hero-copy{padding:40px clamp(16px,5vw,90px)}
.coco-v2 .v2-hero h1{font-size:clamp(3rem,7.2vw,7.2rem);line-height:1.02;margin:0}
.coco-v2 .v2-hero h1 em{font-style:italic;font-weight:400;color:var(--v-teal)}
.coco-v2 .v2-u{position:relative;white-space:nowrap;z-index:0}
.coco-v2 .v2-u svg{position:absolute;left:0;bottom:-.12em;width:100%;height:.3em;color:var(--v-sun);z-index:-1}
.coco-v2 .v2-lead{font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--v-mute);max-width:34em;margin:26px 0 32px}
.coco-v2 .v2-ctas{display:flex;gap:12px;flex-wrap:wrap}
.coco-v2 .v2-hero-art{position:relative;height:100%;min-height:600px}
.coco-v2 .v2-blob{position:absolute;border-radius:50%}
.coco-v2 .v2-b1{width:78%;aspect-ratio:1;background:var(--v-teal);right:-8%;top:8%;border-radius:46% 54% 42% 58%/52% 44% 56% 48%;animation:v2morph 14s ease-in-out infinite}
.coco-v2 .v2-b2{width:34%;aspect-ratio:1;background:var(--v-sun);left:4%;bottom:6%;animation:v2morph 10s ease-in-out infinite reverse}
.coco-v2 .v2-b3{width:18%;aspect-ratio:1;background:var(--v-coral);right:10%;bottom:4%}
@keyframes v2morph{50%{border-radius:58% 42% 55% 45%/42% 58% 42% 58%;rotate:12deg}}
.coco-v2 .v2-float{position:absolute;background:#fff;border-radius:26px;padding:14px;box-shadow:var(--v-shadow);animation:v2bob 6s ease-in-out infinite;text-decoration:none}
.coco-v2 .v2-float img{width:100%;aspect-ratio:1;object-fit:contain}
.coco-v2 .v2-float small{display:block;font-weight:700;font-size:.76rem;line-height:1.25;margin-top:6px}
.coco-v2 .v2-float small span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.coco-v2 .v2-fl-in{display:block;transition:opacity .45s ease,transform .45s ease}
.coco-v2 .v2-float.v2-swap .v2-fl-in{opacity:0;transform:scale(.9) rotate(-4deg)}
.coco-v2 .v2-float small i{font-style:normal;color:var(--v-teal-d);white-space:nowrap}
.coco-v2 .v2-f1{width:30%;left:18%;top:8%;rotate:-6deg}
.coco-v2 .v2-f2{width:26%;right:12%;top:18%;rotate:5deg;animation-delay:-2s}
.coco-v2 .v2-f3{width:28%;left:30%;bottom:8%;rotate:3deg;animation-delay:-4s}
.coco-v2 .v2-f4{width:21%;right:16%;bottom:22%;rotate:-4deg;animation-delay:-1s}
@keyframes v2bob{50%{transform:translateY(-14px)}}
.coco-v2 .v2-stamp{position:absolute;left:5%;top:42%;width:140px;height:140px;animation:v2spin 40s linear infinite;filter:drop-shadow(0 8px 18px rgba(0,0,0,.12))}
.coco-v2 .v2-stamp text{font:700 10.5px var(--v-sans);fill:var(--v-brown)}
@keyframes v2spin{to{rotate:360deg}}

/* marquee */
.coco-v2 .v2-marquee{background:var(--v-ink);color:var(--v-cream);overflow:hidden;padding:20px 0;white-space:nowrap}
.coco-v2 .v2-track{display:inline-flex;gap:48px;animation:v2mq 38s linear infinite;font:600 clamp(1.3rem,2.2vw,2rem)/1.2 var(--v-serif)}
.coco-v2 .v2-track span{display:inline-flex;align-items:center;gap:48px}
.coco-v2 .v2-track span::after{content:"✺";color:var(--v-sun);font-size:.8em}
@keyframes v2mq{to{transform:translateX(-50%)}}

/* full screen sections */
.coco-v2 .v2-full{min-height:100svh;padding:clamp(70px,9vw,120px) 0;display:flex;flex-direction:column;justify-content:center}
.coco-v2 .v2-white{background:#fff}
.coco-v2 .v2-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.coco-v2 .v2-head h2{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.03;margin:6px 0 0}
.coco-v2 .v2-head p{color:var(--v-mute);max-width:30em;margin:0}
.coco-v2 .v2-head-r{display:flex;gap:16px;align-items:center;flex-wrap:wrap}

/* departments */
.coco-v2 .v2-cats{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(220px,auto);gap:16px}
.coco-v2 .v2-cat{border-radius:var(--v-r);padding:26px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none!important;color:var(--v-ink)!important;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.coco-v2 .v2-cat:hover{transform:translateY(-6px) rotate(-.5deg)}
.coco-v2 .v2-cat h3{font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:1.05;margin:4px 0 8px;position:relative;z-index:2}
.coco-v2 .v2-cat p{font-size:.92rem;position:relative;z-index:2;max-width:16em;opacity:.85;margin:0}
.coco-v2 .v2-cat .v2-eyebrow{color:var(--v-ink);position:relative;z-index:2}
.coco-v2 .v2-go{position:relative;z-index:2;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.85);display:grid;place-items:center;transition:transform .3s}
.coco-v2 .v2-cat:hover .v2-go{transform:rotate(-45deg)}
.coco-v2 .v2-cat img{position:absolute;mix-blend-mode:multiply;transition:transform .5s;object-fit:contain}
.coco-v2 .v2-cat:hover img{transform:scale(1.08) rotate(4deg)}
.coco-v2 .v2-cat.c1{grid-column:span 3;grid-row:span 2;background:var(--v-sun)}
.coco-v2 .v2-cat.c1 img{width:58%;right:-2%;bottom:-4%}
.coco-v2 .v2-cat.c2{grid-column:span 3;background:var(--v-teal-l)}
.coco-v2 .v2-cat.c2 img,.coco-v2 .v2-cat.c5 img,.coco-v2 .v2-cat.c6 img{width:34%;right:3%;bottom:-6%}
.coco-v2 .v2-cat.c3{grid-column:span 2;background:var(--v-pink)}
.coco-v2 .v2-cat.c3 img{width:50%;right:-6%;bottom:-10%}
.coco-v2 .v2-cat.c4{grid-column:span 1;background:#d9ead0}
.coco-v2 .v2-cat.c4 img{width:70%;right:-14%;bottom:-12%}
.coco-v2 .v2-cat.c5{grid-column:span 3;background:var(--v-sand)}
.coco-v2 .v2-cat.c6{grid-column:span 3;background:#cfe3f6}

/* tabs + rail */
.coco-v2 .v2-tabs{display:flex;gap:8px;flex-wrap:wrap;border:0;margin:0}
.coco-v2 .v2-tab{padding:11px 20px;border-radius:999px;border:2px solid var(--v-line);background:transparent;font:700 .9rem/1 var(--v-sans);color:var(--v-ink);cursor:pointer;transition:.2s}
.coco-v2 .v2-tab.on{background:var(--v-ink);border-color:var(--v-ink);color:#fff}
.coco-v2 .coco-tabs .ct-panel{display:none}
.coco-v2 .coco-tabs .ct-panel.on{display:block}
.coco-v2 .v2-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,calc((100% - 4*20px)/5));gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 24px;scrollbar-width:none}
.coco-v2 .v2-rail::-webkit-scrollbar{display:none}
.coco-v2 .v2-railnav{display:flex;gap:8px}
.coco-v2 .v2-railnav button{width:50px;height:50px;border-radius:50%;border:2px solid var(--v-ink);background:transparent;color:var(--v-ink);font-size:1.1rem;cursor:pointer;transition:.2s}
.coco-v2 .v2-railnav button:hover{background:var(--v-ink);color:#fff}

/* product card */
.coco-v2 .v2-card{background:#fff;border:1px solid var(--v-line);border-radius:var(--v-r);padding:16px;scroll-snap-align:start;display:flex;flex-direction:column;position:relative;height:100%;margin:0;transition:transform .3s,box-shadow .3s}
.coco-v2 .v2-card:hover{transform:translateY(-6px);box-shadow:var(--v-shadow)}
.coco-v2 .v2-card-img{display:grid;place-items:center;aspect-ratio:1;border-radius:16px;overflow:hidden;margin-bottom:12px;background:#fff}
.coco-v2 .v2-card-img img{width:90%;height:90%;object-fit:contain;transition:transform .4s}
.coco-v2 .v2-card:hover .v2-card-img img{transform:scale(1.06)}
.coco-v2 .v2-card-brand{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--v-teal-d);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.coco-v2 .v2-card-name{font:500 .96rem/1.3 var(--v-sans);margin:4px 0 12px;min-height:2.6em;letter-spacing:0}
.coco-v2 .v2-card-name a{text-decoration:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.coco-v2 .v2-card-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.coco-v2 .v2-card-price{font:800 1.3rem/1.1 var(--v-serif)}
.coco-v2 .v2-card-price s{font:400 .8rem var(--v-sans);color:var(--v-mute)}
.coco-v2 .v2-card-form{margin:0}
.coco-v2 .v2-add{width:46px;height:46px;border-radius:50%;background:var(--v-teal);color:#fff;border:0;display:grid;place-items:center;cursor:pointer;transition:transform .2s,background .2s;flex:none;padding:0}
.coco-v2 .v2-add:hover{background:var(--v-teal-d);transform:scale(1.08)}
.coco-v2 .v2-add.done{background:var(--v-palm)}
.coco-v2 .v2-instore{font-size:.75rem;font-weight:700;color:var(--v-brown);background:var(--v-sand);padding:6px 10px;border-radius:99px}
.coco-v2 .v2-wish-form{position:absolute;top:22px;right:22px;margin:0;z-index:2}
.coco-v2 .v2-heart{width:36px;height:36px;border-radius:50%;background:#fff;border:0;display:grid;place-items:center;box-shadow:0 4px 12px -4px rgba(0,0,0,.25);cursor:pointer;color:var(--v-ink);padding:0}
.coco-v2 .v2-heart.on svg{fill:var(--v-coral);color:var(--v-coral)}
.coco-v2 .v2-badge{position:absolute;top:24px;left:24px;z-index:2;background:var(--v-palm);color:#fff;font-size:.7rem;font-weight:700;padding:5px 10px;border-radius:99px}
.coco-v2 .v2-badge.v2-sale{background:var(--v-coral)}
/* product cards on category, search, specials pages */
.coco-v2 #product-list .product-thumb,.coco-v2 .coco-grid .product-thumb{height:100%}

/* seasonal split */
.coco-v2 .v2-split{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}
.coco-v2 .v2-split-l{background:var(--v-palm-d);color:#fff;padding:clamp(60px,8vw,120px) clamp(16px,6vw,100px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.coco-v2 .v2-split-l h2{font-size:clamp(2.8rem,6vw,5.8rem);line-height:1.02;margin:8px 0 0}
.coco-v2 .v2-split-l h2 em{color:var(--v-sun);font-style:italic;font-weight:400}
.coco-v2 .v2-split-l p{opacity:.88;font-size:1.1rem;max-width:30em;margin:22px 0 30px}
.coco-v2 .v2-split-l .v2-script{color:var(--v-pink)}
.coco-v2 .v2-snow{position:absolute;inset:0;pointer-events:none}
.coco-v2 .v2-snow i{position:absolute;top:-10px;border-radius:50%;background:rgba(255,255,255,.6);animation:v2fall linear infinite}
@keyframes v2fall{to{transform:translateY(110vh) translateX(40px)}}
.coco-v2 .v2-split-r{background:#c94a3a;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:clamp(24px,4vw,60px);align-content:center}
.coco-v2 .v2-gift{background:#fff;border-radius:var(--v-r);padding:18px;text-align:center;text-decoration:none!important;transition:transform .3s}
.coco-v2 .v2-gift:nth-child(odd){transform:rotate(-2deg)}
.coco-v2 .v2-gift:nth-child(even){transform:rotate(2deg) translateY(24px)}
.coco-v2 .v2-gift:hover{transform:rotate(0) scale(1.03)}
.coco-v2 .v2-gift img{aspect-ratio:1;object-fit:contain;width:80%;margin:0 auto 10px}
.coco-v2 .v2-gift b{display:block;font-size:.92rem;font-weight:500;line-height:1.3}
.coco-v2 .v2-gift span{font:800 1.05rem var(--v-serif);color:#c94a3a}

/* story (uses the existing home_local.twig copy) */
.coco-v2 .v2-story{background:var(--v-teal);color:#fff}
.coco-v2 .v2-story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.coco-v2 .v2-story .cocos-about{background:none!important;border:0!important;padding:0!important;margin:14px 0 28px!important}
.coco-v2 .v2-story .cocos-about h2{font:600 clamp(1.8rem,3.2vw,3rem)/1.12 var(--v-serif)!important;color:#fff!important;margin:0 0 18px!important}
.coco-v2 .v2-story .cocos-about p{font-size:1.05rem!important;color:rgba(255,255,255,.9)!important}
.coco-v2 .v2-story .cocos-about a{color:var(--v-sun)!important;text-decoration:underline}
.coco-v2 .v2-photos{position:relative}
.coco-v2 .v2-ph{border-radius:var(--v-r);overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);border:8px solid #fff;background:#fff}
.coco-v2 .v2-ph img{width:100%;aspect-ratio:1140/400;object-fit:cover}
.coco-v2 .v2-ph1{rotate:-3deg}
.coco-v2 .v2-ph2{width:52%;margin:-14% 0 0 auto;rotate:4deg;position:relative}
.coco-v2 .v2-ph2 img{aspect-ratio:480/507}
.coco-v2 .v2-ph2{margin-bottom:0}
.coco-v2 .v2-ph2 figcaption{padding:12px 14px 10px;color:var(--v-ink);font-size:.92rem;line-height:1.3;background:#fff}
.coco-v2 .v2-ph2 figcaption b{display:block;font:800 1.05rem var(--v-serif);color:var(--v-teal-d)}
.coco-v2 .v2-ph2 figcaption small{display:block;color:var(--v-mute);font-size:.78rem;margin-top:2px}
.coco-v2 .v2-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;grid-column:1/-1}
.coco-v2 .v2-stat{border-top:2px solid rgba(255,255,255,.35);padding-top:16px}
.coco-v2 .v2-stat b{font:800 clamp(2.6rem,5vw,4.4rem)/1 var(--v-serif);display:block}
.coco-v2 .v2-stat span{opacity:.85}

/* needs */
.coco-v2 .v2-needs .v2-head p a{color:var(--v-teal-d);font-weight:700}
.coco-v2 .v2-concerns{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.coco-v2 .v2-concern{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;font:600 clamp(1rem,1.5vw,1.3rem)/1.15 var(--v-serif);text-decoration:none!important;color:var(--v-ink)!important;padding:12px;transition:transform .3s}
.coco-v2 .v2-concern:hover{transform:scale(1.06) rotate(-4deg)}
.coco-v2 .v2-concern:nth-child(6n+1){background:var(--v-teal-l)}
.coco-v2 .v2-concern:nth-child(6n+2){background:var(--v-pink)}
.coco-v2 .v2-concern:nth-child(6n+3){background:var(--v-sun)}
.coco-v2 .v2-concern:nth-child(6n+4){background:#d9ead0}
.coco-v2 .v2-concern:nth-child(6n+5){background:var(--v-sand)}
.coco-v2 .v2-concern:nth-child(6n+6){background:#cfe3f6}

/* guides */
.coco-v2 .v2-guides{background:var(--v-sand)}
.coco-v2 .v2-ggrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}
.coco-v2 .v2-g{background:#fff;border-radius:var(--v-r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none!important;transition:transform .3s}
.coco-v2 .v2-g:hover{transform:translateY(-6px)}
.coco-v2 .v2-gim{overflow:hidden}
.coco-v2 .v2-g img{width:100%;aspect-ratio:800/422;object-fit:cover;transition:transform .6s}
.coco-v2 .v2-g:hover img{transform:scale(1.06)}
.coco-v2 .v2-gt{padding:20px 22px 24px}
.coco-v2 .v2-g h3{font-size:1.2rem;line-height:1.18;margin:8px 0 0}
.coco-v2 .v2-g.big{grid-row:span 2}
.coco-v2 .v2-g.big .v2-gim{flex:1}
.coco-v2 .v2-g.big img{height:100%;min-height:320px;aspect-ratio:auto}
.coco-v2 .v2-g.big h3{font-size:clamp(1.5rem,2.4vw,2.2rem)}

/* reviews */
.coco-v2 .v2-reviews{background:var(--v-ink);color:#fff;padding:90px 0;overflow:hidden;text-align:center}
.coco-v2 .v2-reviews h2{font-size:clamp(2.2rem,4.6vw,4rem);margin:0 0 14px}
.coco-v2 .v2-score{display:inline-flex;gap:10px;align-items:center;font-weight:700;color:#fff!important;text-decoration:none;margin-bottom:36px}
.coco-v2 .v2-stars{color:var(--v-sun);letter-spacing:3px}
.coco-v2 .v2-rvtrack{display:flex;gap:20px;width:max-content;animation:v2mq 80s linear infinite;text-align:left}
.coco-v2 .v2-reviews:hover .v2-rvtrack{animation-play-state:paused}
.coco-v2 .v2-rvc{width:360px;background:#25393c;border-radius:var(--v-r);padding:26px;margin:0}
.coco-v2 .v2-rvc blockquote{margin:10px 0 16px;padding:0;border:0;font-size:1rem;color:#fff;background:none}
.coco-v2 .v2-rvc blockquote p{margin:0 0 8px}
.coco-v2 .v2-rvc figcaption{font-size:.88rem;opacity:.8}
.coco-v2 .v2-rvc b{color:var(--v-sun)}

/* visit */
.coco-v2 .v2-visit{position:relative;color:#fff;background:#203c40 url("../../../../../image/cocos-home/maroubra-rubiks-cube-1600.jpg") center/cover}
.coco-v2 .v2-visit::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,40,44,.88) 30%,rgba(15,40,44,.2))}
.coco-v2 .v2-visit-grid{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.coco-v2 .v2-visit h2{font-size:clamp(3rem,7vw,6.4rem);line-height:1.02;margin:8px 0 0}
.coco-v2 .v2-visit h2 em{color:var(--v-sun);font-style:italic;font-weight:400}
.coco-v2 .v2-visit .v2-lead{color:rgba(255,255,255,.9)}
.coco-v2 .v2-hours{background:var(--v-cream);color:var(--v-ink);border-radius:28px;padding:32px;box-shadow:var(--v-shadow)}
.coco-v2 .v2-hours h3{font-size:1.8rem;margin:0 0 8px}
.coco-v2 .v2-open{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.85rem;padding:6px 12px;border-radius:99px;background:#dff3e2;color:var(--v-palm-d);margin-bottom:14px}
.coco-v2 .v2-open::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;animation:v2pulse 1.6s infinite}
.coco-v2 .v2-open.closed{background:#fde3dc;color:#b13d22}
@keyframes v2pulse{50%{opacity:.3}}
.coco-v2 .v2-hours dl{display:grid;grid-template-columns:1fr auto;gap:9px 20px;border-top:1px solid var(--v-line);padding-top:14px;margin:0}
.coco-v2 .v2-hours dt{color:var(--v-mute);font-weight:400}
.coco-v2 .v2-hours dd{font-weight:700;text-align:right;margin:0}
.coco-v2 .v2-hours .today{color:var(--v-teal-d)}
.coco-v2 .v2-addr{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--v-line)}
.coco-v2 .v2-addr a{color:var(--v-teal-d);font-weight:700}

/* newsletter + footer */
.coco-v2 .v2-club{background:var(--v-sun);padding:90px 0;text-align:center}
.coco-v2 .v2-club h2{font-size:clamp(2.3rem,5vw,4.6rem);margin:6px 0 0}
.coco-v2 .v2-club p{max-width:34em;margin:14px auto 28px;font-size:1.1rem}
.coco-v2 .v2-club-form{display:flex;flex-wrap:wrap;max-width:560px;margin:0 auto;background:#fff;border-radius:999px;padding:6px;box-shadow:var(--v-shadow)}
.coco-v2 .v2-club-form input{flex:1;border:0!important;outline:0;font:inherit;padding:0 22px!important;background:transparent!important;min-width:0;box-shadow:none!important}
.coco-v2 #coco-news-form button{background:var(--v-ink);color:#fff;height:auto;padding:14px 26px}
.coco-v2 #coco-news-form button:hover{background:var(--v-teal-d)}
.coco-v2 #coco-news-form input{width:auto;height:auto;border-radius:0}
.coco-v2 .v2-club-form .cn-msg{color:var(--v-ink);padding:6px 16px 4px;text-align:left;flex-basis:100%;font-weight:700;font-size:.9rem}
.coco-v2 .v2-club-form .cn-msg:empty{display:none}
.coco-v2 .v2-perks{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin:26px 0 0;padding:0;list-style:none;font-weight:700;font-size:.9rem}
.coco-v2 .v2-perks li::before{content:"✓ "}
body.coco-v2 #container{margin-bottom:0!important;min-height:0!important}

/* footer: light and simple */
.coco-v2 .v2-foot{position:static!important;border:0!important;border-top:1px solid var(--v-line)!important;width:auto!important;margin:0!important;background:#fff;color:var(--v-ink);padding:56px 0 0;font-size:.93rem}
.coco-v2 .v2-foot a{color:inherit;text-decoration:none}
.coco-v2 .v2-fmain{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.3fr;gap:36px;padding-bottom:40px}
.coco-v2 .v2-foot-logo img{height:64px;width:auto;margin:-6px 0 10px -4px}
.coco-v2 .v2-fbrand p{color:var(--v-mute);margin:0 0 16px;max-width:24em;line-height:1.55}
.coco-v2 .v2-social{display:flex;gap:8px;margin-bottom:16px}
.coco-v2 .v2-social a{width:40px;height:40px;border-radius:50%;background:var(--v-cream);display:grid;place-items:center;color:var(--v-teal-d);transition:background .2s,color .2s}
.coco-v2 .v2-social a:hover{background:var(--v-teal);color:#fff}
.coco-v2 .v2-fbrand .v2-award{font-size:.8rem;line-height:1.45;margin:0}
.coco-v2 .v2-award b{color:var(--v-ink)}
.coco-v2 .v2-fcol h4{font:700 .74rem/1.2 var(--v-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--v-mute);margin:6px 0 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.coco-v2 .v2-fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.coco-v2 .v2-fcol a:hover{color:var(--v-teal-d);text-decoration:underline;text-underline-offset:3px}
.coco-v2 .v2-fhours p{margin:0 0 12px;line-height:1.6}
.coco-v2 .v2-fhours dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0 0 12px;font-size:.88rem}
.coco-v2 .v2-fhours dt{color:var(--v-mute);font-weight:400}
.coco-v2 .v2-fhours dd{margin:0;font-weight:700}
.coco-v2 .v2-fhours .today{color:var(--v-teal-d)}
.coco-v2 .v2-fnow{font-size:.66rem;letter-spacing:.06em;padding:3px 8px;border-radius:99px;background:#dff3e2;color:var(--v-palm-d)}
.coco-v2 .v2-fnow.closed{background:#fde3dc;color:#b13d22}
.coco-v2 .v2-foot .v2-foot-shop{font-weight:700;color:var(--v-teal-d)}
.coco-v2 .v2-fbase{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;border-top:1px solid var(--v-line);padding:18px 0 22px;font-size:.82rem;color:var(--v-mute)}
.coco-v2 .v2-fbase p{margin:0}
.coco-v2 .v2-flegal{display:flex;gap:18px;flex-wrap:wrap}
.coco-v2 .v2-flegal a:hover{color:var(--v-ink);text-decoration:underline}
.coco-v2 .v2-pay{display:flex;gap:6px}
@media (max-width:1100px){.coco-v2 .v2-fmain{grid-template-columns:repeat(3,1fr)}.coco-v2 .v2-fbrand{grid-column:1/-1}.coco-v2 .v2-fhours{grid-column:span 3}}
@media (max-width:767px){.coco-v2 .v2-foot{padding-top:40px}.coco-v2 .v2-fmain{grid-template-columns:1fr 1fr;gap:28px 20px}.coco-v2 .v2-fhours{grid-column:1/-1}.coco-v2 .v2-fbase{flex-direction:column;align-items:flex-start}}

/* product page */
.coco-v2 .v2-pdp-page{padding-bottom:20px}
.coco-v2 .v2-crumbs{font-size:.85rem;color:var(--v-mute);padding:20px 0 4px;display:flex;gap:8px;flex-wrap:wrap}
.coco-v2 .v2-crumbs a{text-decoration:none}
.coco-v2 .v2-crumbs a:hover{color:var(--v-teal-d);text-decoration:underline}
.coco-v2 .v2-crumbs span{opacity:.5}
.coco-v2 .v2-pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);padding:18px 0 60px;align-items:start}
.coco-v2 .v2-gallery{position:sticky;top:150px}
.coco-v2 .v2-gallery .v2-badge{top:20px;left:20px}
.coco-v2 .v2-stage{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:32px;background:#fff;overflow:hidden;box-shadow:var(--v-shadow);cursor:zoom-in}
.coco-v2 .v2-stage img{width:86%;height:86%;object-fit:contain;border:0;padding:0;background:none;border-radius:0}
.coco-v2 .v2-hint{position:absolute;bottom:16px;right:16px;font-size:.75rem;color:var(--v-mute);background:rgba(255,255,255,.92);padding:6px 12px;border-radius:99px}
.coco-v2 .v2-thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding:2px}
.coco-v2 .v2-thumb{flex:none;width:80px;height:80px;border-radius:16px;background:#fff;border:2px solid transparent;display:grid;place-items:center;overflow:hidden}
.coco-v2 .v2-thumb.on{border-color:var(--v-ink)}
.coco-v2 .v2-thumb img{width:86%;height:86%;object-fit:contain;border:0;padding:0}
.coco-v2 .v2-brand{color:var(--v-teal-d)!important;text-decoration:underline!important;text-underline-offset:3px}
.coco-v2 .v2-title{font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.04;margin:10px 0 14px}
.coco-v2 .v2-rating{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--v-mute);margin-bottom:18px;flex-wrap:wrap}
.coco-v2 .v2-rating a{color:var(--v-teal-d)!important;font-weight:700;text-decoration:underline}
.coco-v2 .v2-stars-sm i{font-style:normal;color:#d9cfbd;font-size:1.05rem}
.coco-v2 .v2-stars-sm i.on{color:#f2b705}
.coco-v2 .v2-price-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:20px 0 6px;border-top:1px solid var(--v-line)}
.coco-v2 .v2-price{font:800 3rem/1 var(--v-serif)}
.coco-v2 .v2-was{color:var(--v-mute);font-size:1.1rem}
.coco-v2 .v2-save{background:var(--v-coral);color:#fff;font-weight:700;font-size:.8rem;padding:5px 10px;border-radius:99px}
.coco-v2 .v2-unit,.coco-v2 .v2-small{color:var(--v-mute);font-size:.88rem;margin:0}
.coco-v2 .v2-discounts{list-style:none;padding:0;margin:8px 0;font-size:.9rem}
.coco-v2 .v2-stock{font-weight:700;font-size:.9rem;color:#b13d22;margin:10px 0 18px}
.coco-v2 .v2-stock.in{color:var(--v-palm)}
.coco-v2 .v2-stock.in::before{content:"● "}
.coco-v2 #product h3{font-size:1.1rem}
.coco-v2 #product .form-select,.coco-v2 #product .form-control{border-radius:14px;border:2px solid var(--v-line);min-height:48px}
.coco-v2 .cp-buy{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:stretch}
.coco-v2 .cp-qty{display:flex;align-items:center;border:2px solid var(--v-line);border-radius:999px;background:#fff;height:58px;overflow:hidden}
.coco-v2 .cp-qty .cp-qty-btn{width:46px;height:100%;border:0;background:none;font-size:1.3rem;font-weight:700;color:var(--v-ink)}
.coco-v2 .cp-qty #input-quantity{width:44px;border:0;text-align:center;font-weight:700;font-size:1.05rem;background:transparent;box-shadow:none;padding:0}
.coco-v2 #button-cart{height:58px;border-radius:999px;background:var(--v-teal);color:#fff;border:0;font:700 1.05rem var(--v-sans);transition:background .2s,transform .2s}
.coco-v2 #button-cart:hover{background:var(--v-teal-d);transform:translateY(-2px)}
.coco-v2 #error-quantity{grid-column:1/-1}
.coco-v2 .v2-buy-links{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 4px;flex-wrap:wrap}
.coco-v2 .v2-wish-link{margin:0}
.coco-v2 .v2-wish-link .cp-link{border:0;background:none;font-weight:700;color:var(--v-ink);display:inline-flex;align-items:center;gap:6px;padding:6px 0}
.coco-v2 .v2-buy .cp-share{display:flex;gap:6px}
.coco-v2 .v2-buy .cp-share a{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;border:1px solid var(--v-line)}
.coco-v2 .v2-fulfil{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.coco-v2 .v2-ful{background:#fff;border-radius:18px;padding:16px;display:flex;gap:12px;font-size:.86rem;line-height:1.4}
.coco-v2 .v2-ful b{display:block;font-size:.95rem;margin-bottom:2px}
.coco-v2 .v2-ful a{color:var(--v-teal-d);font-weight:700}
.coco-v2 .v2-ful-ic{flex:none;width:40px;height:40px;border-radius:12px;background:var(--v-teal-l);display:grid;place-items:center;font-size:1.15rem}
.coco-v2 .v2-buy .cp-postcode{margin-top:12px;background:#fff;border-radius:18px;padding:16px}
.coco-v2 .v2-ask{margin-top:12px;border-radius:18px;padding:16px;background:var(--v-sun);display:flex;align-items:center;gap:14px;font-size:.9rem;line-height:1.35;flex-wrap:wrap}
.coco-v2 .v2-ask span{font-size:1.5rem}
.coco-v2 .v2-ask b{display:block}
.coco-v2 .v2-ask .v2-btn{padding:10px 18px;margin-left:auto;font-size:.88rem}
.coco-v2 .v2-meta{margin-top:16px;font-size:.82rem;color:var(--v-mute)}
.coco-v2 .cp-instore,.coco-v2 .cp-alert{border-radius:18px}
.coco-v2 .v2-details{max-width:900px;padding-bottom:40px}
.coco-v2 .v2-details .nav-tabs{border:0;gap:8px;margin-bottom:18px}
.coco-v2 .v2-details .nav-tabs .nav-link{border:2px solid var(--v-line);border-radius:999px;font-weight:700;color:var(--v-ink);padding:10px 20px;background:transparent}
.coco-v2 .v2-details .nav-tabs .nav-link.active{background:var(--v-ink);border-color:var(--v-ink);color:#fff}
.coco-v2 .v2-details .tab-content{background:#fff;border-radius:24px;padding:28px;font-size:1rem;line-height:1.65}
.coco-v2 .v2-blk{padding:70px 0}
.coco-v2 .v2-sand{background:var(--v-sand)}
.coco-v2 .v2-mini{background:#fff;border-radius:var(--v-r);padding:16px;scroll-snap-align:start;display:flex;flex-direction:column;text-decoration:none!important;transition:transform .3s,box-shadow .3s}
.coco-v2 .v2-mini:hover{transform:translateY(-6px);box-shadow:var(--v-shadow)}
.coco-v2 .v2-mini img{aspect-ratio:1;object-fit:contain;width:88%;margin:0 auto 12px}
.coco-v2 .v2-mini-name{font-size:.95rem;line-height:1.3;margin-bottom:10px}
.coco-v2 .v2-mini-price{font:800 1.25rem var(--v-serif);margin-top:auto}
.coco-v2 .v2-mini-price s{font:400 .8rem var(--v-sans);color:var(--v-mute)}
.coco-v2 .v2-sticky{position:fixed;left:0;right:0;bottom:0;z-index:1040;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--v-line);transform:translateY(110%);transition:transform .4s cubic-bezier(.3,1.2,.5,1)}
.coco-v2 .v2-sticky.on{transform:none}
.coco-v2 .v2-sticky .v2-wrap{display:flex;align-items:center;gap:14px;padding:10px 0}
.coco-v2 .v2-sticky img{width:52px;height:52px;object-fit:contain}
.coco-v2 .v2-sticky-nm{flex:1;min-width:0}
.coco-v2 .v2-sticky-nm b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coco-v2 .v2-sticky-nm span{font:800 1.05rem var(--v-serif)}

/* wish list (template/v2/account/wishlist_list.twig) */
.coco-v2 .v2-wl{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px}
.coco-v2 .v2-wl-row{display:grid;grid-template-columns:96px 1fr auto 210px;gap:20px;align-items:center;background:#fff;border:1px solid var(--v-line);border-radius:20px;padding:14px 18px}
.coco-v2 .v2-wl-img img{width:96px;height:96px;object-fit:contain;border-radius:14px}
.coco-v2 .v2-wl-info{min-width:0;display:flex;flex-direction:column;gap:3px}
.coco-v2 .v2-wl-info form{margin:0}
.coco-v2 .v2-wl-name{font-weight:500;font-size:1rem;line-height:1.3;text-decoration:none}
.coco-v2 .v2-wl-name:hover{color:var(--v-teal-d);text-decoration:underline}
.coco-v2 .v2-wl-stock{font-size:.82rem;color:var(--v-mute)}
.coco-v2 .v2-wl-price{font:800 1.25rem var(--v-serif);white-space:nowrap;text-align:right}
.coco-v2 .v2-wl-price s{font:400 .85rem var(--v-sans);color:var(--v-mute)}
.coco-v2 .v2-wl-actions{display:grid;gap:8px}
.coco-v2 .v2-wl-actions .v2-btn{width:100%;padding:11px 18px;font-size:.92rem;line-height:1.2;margin:0}
.coco-v2 .v2-wl-remove{background:transparent!important;color:var(--v-ink)!important;border:2px solid var(--v-line)!important;box-shadow:none}
.coco-v2 .v2-wl-remove:hover{border-color:#b13d22!important;color:#b13d22!important}
.coco-v2 #account-wishlist #content>.text-end{padding-bottom:20px}
.coco-v2 .v2-wl-empty{background:#fff;border-radius:24px;padding:40px 24px;text-align:center;color:var(--v-mute)}
.coco-v2 .v2-wl-empty span{font-size:2.6rem;color:var(--v-coral);display:block;line-height:1}
/* form text: OpenCart's stylesheet sets every label to 12px; readable sizes for the new design */
.coco-v2 .form-check-label{font-size:15px;line-height:1.4;cursor:pointer}
.coco-v2 .form-check{margin-bottom:6px}
.coco-v2 .form-check-input{width:1.15em;height:1.15em;margin-top:.15em}
.coco-v2 .form-label,.coco-v2 .coco-checkout .form-label,.coco-v2 #content .col-form-label{font-size:14.5px}
.coco-v2 .coco-checkout legend{font-size:17px}
.coco-v2 .coco-checkout .cco-login{font-size:14.5px}
.coco-v2 .form-text,.coco-v2 .invalid-feedback{font-size:13.5px}
/* OpenCart's own buttons on account, checkout and info pages, in the new style */
.coco-v2 #content .btn-primary,.coco-v2 #content .btn-light,.coco-v2 #content .btn-secondary{border-radius:999px;padding:10px 22px;font-weight:700}
.coco-v2 #content .btn-primary{background:var(--v-teal);border-color:var(--v-teal)}
.coco-v2 #content .btn-primary:hover{background:var(--v-teal-d);border-color:var(--v-teal-d)}
@media (max-width:767px){
  .coco-v2 .v2-wl-row{grid-template-columns:72px 1fr;gap:12px;padding:12px}
  .coco-v2 .v2-wl-img img{width:72px;height:72px}
  .coco-v2 .v2-wl-price{grid-column:2;text-align:left;margin-top:-4px}
  .coco-v2 .v2-wl-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}
}

/* other pages (category, search, account, checkout, guides): content in a wider, softer frame */
.coco-v2 .v2-main>.container,.coco-v2 .v2-main>#product-category,.coco-v2 .v2-main>div[id]:not([class*="v2-"]){max-width:1320px;padding-top:24px;padding-bottom:40px}

@media (prefers-reduced-motion:reduce){.coco-v2 *{animation:none!important;transition:none!important}.coco-v2 .v2-rv.v2-hide{opacity:1;transform:none}}

@media (max-width:1150px){
  .coco-v2 .v2-phone{display:none}
  .coco-v2 .v2-rail{grid-auto-columns:minmax(220px,calc((100% - 2*20px)/3))}
  .coco-v2 .v2-concerns{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .coco-v2 .v2-hero{grid-template-columns:1fr;min-height:auto}
  .coco-v2 .v2-hero-art{min-height:400px;order:-1}
  .coco-v2 .v2-f4{display:none}
  .coco-v2 .v2-stamp{width:92px;height:92px;top:auto;bottom:6%}
  .coco-v2 .v2-cats{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(180px,auto)}
  .coco-v2 .v2-cat.c1,.coco-v2 .v2-cat.c2,.coco-v2 .v2-cat.c5,.coco-v2 .v2-cat.c6{grid-column:span 2}
  .coco-v2 .v2-cat.c1{grid-row:span 1;min-height:320px}
  .coco-v2 .v2-cat.c3,.coco-v2 .v2-cat.c4{grid-column:span 1}
  .coco-v2 .v2-split,.coco-v2 .v2-story-grid,.coco-v2 .v2-visit-grid,.coco-v2 .v2-pdp{grid-template-columns:1fr}
  .coco-v2 .v2-split-r{padding-bottom:60px}
  .coco-v2 .v2-ggrid{grid-template-columns:1fr 1fr}
  .coco-v2 .v2-g.big{grid-column:1/-1;grid-row:auto}
  .coco-v2 .v2-full{min-height:auto}
  .coco-v2 .v2-visit::before{background:rgba(15,40,44,.82)}
  .coco-v2 .v2-gallery{position:static}
}
/* phones: the existing app bar from coco_menu.twig (fixed, 162px) replaces the v2 header row */
@media (max-width:767px){
  .coco-v2 .v2-announce,.coco-v2 .v2-hdr-row{display:none}
  .coco-v2 .v2-shell{position:static}
  .coco-v2 .v2-hdr{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0}
  .coco-v2 .v2-hero-copy{padding:24px 16px 40px}
  .coco-v2 .v2-rail{grid-auto-columns:72%}
  .coco-v2 .v2-ggrid{grid-template-columns:1fr}
  .coco-v2 .v2-stats{grid-template-columns:1fr}
  .coco-v2 .v2-rvc{width:280px}
  .coco-v2 .v2-club-form{flex-direction:column;border-radius:24px;gap:6px}
  .coco-v2 .v2-club-form input{padding:14px 18px!important}
  .coco-v2 .v2-fulfil{grid-template-columns:1fr}
  .coco-v2 .v2-price{font-size:2.4rem}
  .coco-v2 #alert{bottom:16px}
  .coco-v2.v2-sticky-on #alert{bottom:84px}
  .coco-v2 .v2-flag{display:none}
  .coco-v2 .v2-railnav{display:none}
  .coco-v2 .v2-head-r{width:100%}
  .coco-v2 .v2-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
  .coco-v2 .v2-tabs::-webkit-scrollbar{display:none}
  .coco-v2 .v2-tab{flex:none}
  .coco-v2 .v2-f1{width:38%;left:8%;top:4%}
  .coco-v2 .v2-f2{width:36%;right:6%;top:10%}
  .coco-v2 .v2-f3{width:38%;left:34%;bottom:4%}
  .coco-v2 .v2-float{padding:10px;border-radius:20px}
  .coco-v2 .v2-concerns{grid-template-columns:repeat(3,1fr);gap:10px}
  .coco-v2 .v2-concern{font-size:.86rem;padding:8px}
}
