/*
Theme Name: Chapter Gifting v4.0
Theme URI: https://chaptergifting.in
Author: Chapter Gifting
Description: Ivory & Burnt Wood — the Chapter Gifting house theme. Phone-first, self-hosted fonts, one admin hub (Chapter Studio).
Version: 4.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: chaptergifting
*/

/* ======================================================================
   0. FONTS — inside the theme, so text never jumps when a font arrives
   ====================================================================== */
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(assets/fonts/manrope-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(assets/fonts/manrope-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-display:swap;font-weight:100 900;src:url(assets/fonts/fraunces-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:italic;font-display:swap;font-weight:100 900;src:url(assets/fonts/fraunces-latin-wght-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:normal;font-display:swap;font-weight:100 900;src:url(assets/fonts/fraunces-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Fallbacks sized close to the real fonts, so the swap barely moves anything */
@font-face{font-family:'Manrope Fallback';src:local('Arial');size-adjust:104%;ascent-override:102%;descent-override:29%;line-gap-override:0%}
@font-face{font-family:'Fraunces Fallback';src:local('Georgia');size-adjust:103%;ascent-override:94%;descent-override:25%;line-gap-override:0%}

/* ======================================================================
   1. TOKENS
   ====================================================================== */
:root{
  --serif:'Fraunces','Fraunces Fallback',Georgia,'Times New Roman',serif;
  --ui:'Manrope','Manrope Fallback',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;

  --c-bg:#FBF7F0;       /* ivory page */
  --c-bg2:#F4ECDF;      /* warm sand bands */
  --c-card:#FFFFFF;
  --c-text:#1E1914;     /* ink */
  --c-muted:#5E554A;    /* 7:1 on ivory */
  --c-line:#E1D5C1;     /* card borders */
  --c-line2:#C9B89C;    /* dividers you must see */
  --c-field:#9A8B74;    /* input borders, 3:1 */
  --c-brand:#653A1C;    /* burnt wood — from a real plaque */
  --c-brand2:#4E2C14;
  --c-gold:#C9A24B;
  --c-gold-ink:#8A6420; /* gold that is readable as text */
  --c-dark:#17120D;
  --c-dark2:#221A12;
  --c-on-dark:#F4EBDD;
  --c-on-dark2:#CBBFAA;
  --c-sale:#A4332A;
  --c-ok:#1F7A45;
  --c-wa:#1F8F4E;

  --r-sm:10px; --r:16px; --r-lg:24px; --pill:999px;
  --sh-1:0 1px 2px rgba(40,25,10,.05),0 6px 18px rgba(40,25,10,.06);
  --sh-2:0 14px 40px rgba(40,25,10,.14);
  --ease:cubic-bezier(.2,.7,.2,1);
  --head-h:60px;
  --wrap:1240px;

  /* The old component styles (studio, burn page, giveaway) are written with
     these names and are meant to look dark — kept as they were. */
  --ink:#15140F; --ink-soft:#1A1810; --ink-panel:#211F17;
  --cream-text:#F1E9D8; --paper-dim:#E7DDC7;
  --gold:#B98B4E; --gold-soft:#D7B77E;
  --line:rgba(241,233,216,.14);
  --paper-bg:#F3EBDA; --paper-ink:#1D1B14;
}
@media (min-width:1000px){:root{--head-h:72px}}
/* v3.6 — big screens: the page uses the screen instead of leaving wide empty sides.
   Phones and tablets are untouched (this only starts at 1320px). */
@media (min-width:1320px){:root{--wrap:min(1560px,calc(100vw - 96px))}}

/* The same component styles, re-coloured for the light pages they sit on */
.cg-engrave,.cg-comm,.cg-delivery,.cg-proof,.cg-var-pills,.cg-share,.cg-filters,.cg-mk-badge,
.cg-mk-chosen,body.page-template-page-hamperbuilder,.cg3-light{
  --ink:#FFFFFF; --ink-soft:#FBF7F0; --ink-panel:#FFFFFF;
  --cream-text:#1E1914; --paper-dim:#5E554A;
  --gold:#8A6420; --gold-soft:#8A6420;
  --line:#D9CCB6;
}
/* ...but popups stay dark wherever they open */
body.page-template-page-hamperbuilder .cg-gv-overlay,body.page-template-page-hamperbuilder .cg-mkm{
  --ink:#15140F; --ink-soft:#1A1810; --ink-panel:#211F17;
  --cream-text:#F1E9D8; --paper-dim:#E7DDC7; --gold:#B98B4E; --gold-soft:#D7B77E; --line:rgba(241,233,216,.14);
}

/* ======================================================================
   2. BASE
   ====================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 12px)}
/* Sideways swipe guard — plain hidden on both, iOS honours this one */
html,body{max-width:100%;overflow-x:hidden}
body{
  margin:0;position:relative;
  background:var(--c-bg);color:var(--c-text);
  font-family:var(--ui);font-size:16px;line-height:1.6;font-weight:450;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overscroll-behavior-x:none;
}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:var(--c-brand);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--c-brand2)}
p{margin:0 0 1em}
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:560;line-height:1.12;letter-spacing:-.01em;color:var(--c-text);margin:0 0 .5em;font-variation-settings:"opsz" 72}
h1{font-size:clamp(32px,7.4vw,58px)}
h2{font-size:clamp(26px,5.6vw,40px)}
h3{font-size:clamp(19px,3.6vw,23px)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:2.5px solid var(--c-gold);outline-offset:3px;border-radius:6px}
::selection{background:#F1DFB8;color:var(--c-text)}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.cg3-skip{position:absolute;left:-999px;top:8px;z-index:1000;background:var(--c-text);color:#fff;padding:10px 14px;border-radius:8px}
.cg3-skip:focus{left:8px}
.cg3-wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:16px}
@media (min-width:700px){.cg3-wrap{padding-inline:28px}}
.cg3-main{display:block;min-height:40vh}
.cg3-kicker{font-family:var(--ui);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-gold-ink);margin:0 0 8px}
.cg3-i{flex:0 0 auto;display:inline-block;vertical-align:middle}

/* ======================================================================
   3. BUTTONS — one family for the whole site (WooCommerce's too)
   ====================================================================== */
.cg3-btn,.btn-primary,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce .button.alt,.woocommerce button.button.alt,
.woocommerce a.button.alt,.woocommerce-page .button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 22px;border-radius:var(--pill);
  font-family:var(--ui);font-size:15px;font-weight:700;letter-spacing:.01em;line-height:1.1;text-transform:none;
  text-decoration:none;border:1.5px solid transparent;cursor:pointer;
  background:var(--c-brand);color:#FFF8EE;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-color .2s,color .2s,border-color .2s;
  -webkit-tap-highlight-color:transparent;
}
.cg3-btn:hover,.btn-primary:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce .button.alt:hover,.woocommerce button.button.alt:hover{background:var(--c-brand2);color:#fff;box-shadow:0 10px 24px rgba(101,58,28,.22)}
.cg3-btn:active,.woocommerce .button:active{transform:scale(.97)}
.cg3-btn--gold{background:linear-gradient(135deg,#E3C77A,#C9A24B 55%,#B08A3E);color:#231708;box-shadow:0 8px 22px rgba(201,162,75,.28)}
.cg3-btn--gold:hover{background:linear-gradient(135deg,#EACF86,#CFA850 55%,#B8913F);color:#1B1106}
.cg3-btn--ghost-light{background:transparent;color:var(--c-on-dark);border-color:rgba(244,235,221,.45)}
.cg3-btn--ghost-light:hover{background:rgba(244,235,221,.08);color:#fff;border-color:rgba(244,235,221,.8);box-shadow:none}
.cg3-btn--line{background:transparent;color:var(--c-brand);border-color:var(--c-brand)}
.cg3-btn--line:hover{background:var(--c-brand);color:#fff}
.cg3-btn--wa{background:var(--c-wa);color:#fff}
.cg3-btn--wa:hover{background:#177A41;color:#fff;box-shadow:0 10px 24px rgba(31,143,78,.25)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5;cursor:not-allowed}

/* ======================================================================
   4. HEADER
   ====================================================================== */
.cg3-header{position:sticky;top:0;z-index:900;background:rgba(251,247,240,.97);border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s}
.cg3-header.is-scrolled{border-color:var(--c-line);box-shadow:0 6px 20px rgba(40,25,10,.06)}
.cg3-header-in{height:var(--head-h);max-width:var(--wrap);margin:0 auto;padding:0 8px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:4px}
.cg3-iconbtn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:transparent;border:0;color:var(--c-text);position:relative;text-decoration:none;-webkit-tap-highlight-color:transparent}
.cg3-iconbtn:hover{background:rgba(101,58,28,.07);color:var(--c-brand)}
.cg3-logo{margin:0;justify-self:center}
.cg3-logo a{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--c-text)}
.cg3-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--s,40px);height:var(--s,40px)}
.cg3-mark img{height:100%;width:auto;display:block}
.cg3-badge{background:#16120D;border-radius:calc(var(--s,40px) * .28);box-shadow:0 2px 8px rgba(22,18,13,.22),inset 0 0 0 1px rgba(227,199,122,.18)}
.cg3-badge img{height:76%}
.cg3-wordmark{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:-.01em;line-height:1;white-space:nowrap}
.cg3-wordmark em{font-style:italic;font-weight:500;color:var(--c-brand)}
.cg3-actions{display:flex;align-items:center;gap:0}
.cg3-bag-n{position:absolute;top:5px;right:3px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--c-brand);color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center}
.cg3-bag-n.is-empty{display:none}
.cg3-bag.is-bump .cg3-i{animation:cg3-bump .6s var(--ease)}
@keyframes cg3-bump{0%{transform:none}30%{transform:translateY(-5px) rotate(-8deg)}60%{transform:translateY(1px) rotate(4deg)}100%{transform:none}}
.cg3-nav{display:none}
@media (max-width:380px){.cg3-wordmark{font-size:18.5px}.cg3-mark{--s:34px}}
@media (min-width:1000px){
  .cg3-header-in{grid-template-columns:auto 1fr auto;padding:0 28px;gap:20px}
  .cg-mobile-toggle{display:none!important}
  .cg3-logo{justify-self:start}
  .cg3-wordmark{font-size:23px}
  .cg3-nav{display:block;justify-self:center}
  .cg3-menu{list-style:none;margin:0;padding:0;display:flex;gap:4px}
  .cg3-menu>li{position:relative}
  .cg3-menu>li>a{display:flex;align-items:center;gap:4px;height:44px;padding:0 13px;border-radius:10px;color:var(--c-text);text-decoration:none;font-size:15px;font-weight:650}
  .cg3-menu>li>a:hover,.cg3-menu>li.current-menu-item>a,.cg3-menu>li.current-menu-ancestor>a{color:var(--c-brand);background:rgba(101,58,28,.06)}
  .cg3-menu>li.menu-item-has-children>a::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:4px}
  .cg3-menu .sub-menu{list-style:none;margin:0;padding:8px;position:absolute;left:0;top:100%;min-width:240px;background:#fff;border:1px solid var(--c-line);border-radius:14px;box-shadow:var(--sh-2);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:10}
  .cg3-menu li:hover>.sub-menu,.cg3-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
  .cg3-menu .sub-menu a{display:block;padding:10px 12px;border-radius:9px;color:var(--c-text);text-decoration:none;font-size:14.5px;font-weight:600}
  .cg3-menu .sub-menu a:hover{background:var(--c-bg);color:var(--c-brand)}
}
/* Search */
.cg3-search{border-top:1px solid var(--c-line);background:var(--c-bg);padding:10px 12px}
.cg3-search form{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--c-field);border-radius:var(--pill);padding:0 6px 0 16px}
.cg3-search input{flex:1;min-width:0;height:48px;border:0;background:transparent;font-size:16px;outline:none}
.cg3-search form button{height:38px;padding:0 16px;border-radius:var(--pill);border:0;background:var(--c-brand);color:#fff;font-weight:700;font-size:14px}
/* v3.6 — inside the search panel: who / occasion / most loved */
.cg3-search{max-height:calc(100vh - var(--head-h));max-height:calc(100dvh - var(--head-h));overflow-y:auto;overscroll-behavior:contain}
.cg3-sx{max-width:720px;margin:16px auto 8px;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.cg3-sx-b{min-width:0}
.cg3-sx-h{margin:0 0 9px;font:750 12px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--c-gold-ink)}
.cg3-sx-who{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.cg3-sx-who::-webkit-scrollbar{display:none}
.cg3-sx-p{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:66px;padding:2px 3px;border:0;background:none;text-decoration:none;color:var(--c-text);font:650 13.5px/1.2 var(--ui);cursor:pointer;-webkit-tap-highlight-color:transparent}
.cg3-sx-p:hover{color:var(--c-brand)}
.cg3-sx-face{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--tint,#F5DDD6);color:var(--c-brand);transition:transform .25s var(--ease)}
.cg3-sx-p:hover .cg3-sx-face{transform:translateY(-3px)}
.cg3-sx-face .cg3-art{width:46px;height:46px;object-fit:contain}
.cg3-sx-face.t1{--tint:#DCE3EC}.cg3-sx-face.t2{--tint:#F5DDD6}.cg3-sx-face.t3{--tint:#EADFEA}.cg3-sx-face.t4{--tint:#F7E6BE}.cg3-sx-face.t5{--tint:#DFE8D8}
.cg3-sx-occ{display:flex;flex-wrap:wrap;gap:8px}
.cg3-sx-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--pill);background:var(--tint,#F4ECDF);color:var(--c-text);text-decoration:none;font:650 14.5px/1 var(--ui);transition:transform .2s var(--ease)}
.cg3-sx-chip:hover{color:var(--c-text);transform:translateY(-2px)}
.cg3-sx-chip.t1{--tint:#F7E6BE}.cg3-sx-chip.t2{--tint:#F5DDD6}.cg3-sx-chip.t3{--tint:#EADFEA}.cg3-sx-chip.t4{--tint:#DFE8D8}.cg3-sx-chip.t5{--tint:#DCE3EC}.cg3-sx-chip.t6{--tint:#F2D9C2}
.cg3-sx-top{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cg3-sx-card{min-width:0;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--c-text);font-size:13px;line-height:1.3}
.cg3-sx-ph{display:block;aspect-ratio:1/1;border-radius:12px;background:#fff;border:1px solid var(--c-line);overflow:hidden}
.cg3-sx-ph img{width:100%;height:100%;object-fit:contain;padding:4px}
.cg3-sx-nm{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:650}
.cg3-sx-card b{font-size:14px;color:var(--c-brand)}
@media (max-width:560px){.cg3-sx-top{display:flex;overflow-x:auto;scrollbar-width:none}.cg3-sx-top::-webkit-scrollbar{display:none}.cg3-sx-card{flex:0 0 112px}}

/* Drawer (phone menu) — ids are kept for js/main.js */
.cg-mobile-overlay{position:fixed;inset:0;z-index:950;background:rgba(23,18,13,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.cg-mobile-overlay.open{opacity:1;visibility:visible}
.cg3-drawer{position:fixed;top:0;right:0;bottom:0;z-index:960;width:min(88vw,380px);background:var(--c-bg);transform:translateX(102%);visibility:hidden;transition:transform .38s var(--ease),visibility 0s linear .38s;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;box-shadow:-20px 0 50px rgba(23,18,13,.18);padding-bottom:env(safe-area-inset-bottom)}
.cg3-drawer.open{transform:none;visibility:visible;transition:transform .38s var(--ease),visibility 0s}
.cg3-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:10px 8px 10px 18px;border-bottom:1px solid var(--c-line);position:sticky;top:0;background:var(--c-bg);z-index:2}
.cg3-drawer-head .cg3-logo{justify-self:start}
.cg3-drawer-menu{list-style:none;margin:0;padding:6px 18px}
.cg3-drawer-menu li{position:relative;border-bottom:1px solid var(--c-line)}
.cg3-drawer-menu a{display:flex;align-items:center;min-height:54px;padding-right:52px;color:var(--c-text);text-decoration:none;font-size:17px;font-weight:650}
.cg3-drawer-menu .current-menu-item>a{color:var(--c-brand)}
.cg3-drawer-menu .sub-menu{list-style:none;margin:0;padding:0 0 8px 12px;max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.cg3-drawer-menu .sub-menu.mopen{max-height:900px}
.cg3-drawer-menu .sub-menu li{border:0}
.cg3-drawer-menu .sub-menu a{min-height:44px;font-size:15.5px;font-weight:550;color:var(--c-muted)}
.cg-msub-toggle{position:absolute!important;top:5px;right:0;width:44px;height:44px;border-radius:12px;border:1px solid var(--c-line)!important;background:#fff!important;font-size:0!important;color:var(--c-brand)!important;padding:0!important}
.cg-msub-toggle::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,-70%) rotate(45deg);transition:transform .25s var(--ease)}
.cg-msub-toggle.open-icon::before{transform:translate(-50%,-30%) rotate(-135deg)}
.cg3-drawer-foot{margin-top:auto;padding:18px;display:grid;gap:10px}
.cg3-drawer-foot .cg3-btn{width:100%}
.cg3-drawer-foot p{margin:4px 0 0;font-size:13.5px;color:var(--c-muted);text-align:center}
body.cg-menu-open{position:fixed;left:0;right:0;overflow:hidden}

/* ======================================================================
   5. SECTIONS & HEADINGS
   ====================================================================== */
.cg3-sec{max-width:var(--wrap);margin:0 auto;padding:40px 16px}
@media (min-width:700px){.cg3-sec{padding:64px 28px}}
.cg3-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 20px}
.cg3-head h2{margin:0}
.cg3-ribbon-line{display:block;height:3px;width:56px;margin-top:12px;border-radius:3px;background:linear-gradient(90deg,var(--c-gold),#E8CF8C,var(--c-gold));background-size:200% 100%;transform-origin:left}
.cg3-more{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14.5px;font-weight:700;color:var(--c-brand);text-decoration:none;white-space:nowrap}
.cg3-more:hover .cg3-i{transform:translateX(3px)}
.cg3-more .cg3-i{transition:transform .2s}

/* Reveal on scroll — only once JS confirms it can reveal (never invisible otherwise) */
html.cg3-rv [data-cg3-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0) * 70ms)}
html.cg3-rv [data-cg3-reveal].is-in{opacity:1;transform:none}
html.cg3-rv .cg3-head .cg3-ribbon-line{transform:scaleX(0);transition:transform .9s var(--ease) .15s}
html.cg3-rv .cg3-head.is-in .cg3-ribbon-line{transform:scaleX(1);animation:cg3-shimmer 2.6s linear 1s 1}
@keyframes cg3-shimmer{from{background-position:200% 0}to{background-position:0 0}}
/* Old template reveal hooks (occasion page etc.) */
.cg-anim{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.cg-anim.cg-in-view{opacity:1;transform:none}

/* ======================================================================
   6. PRODUCT CARDS — the same everywhere
   ====================================================================== */
ul.products::before,ul.products::after{content:none!important;display:none!important}
.woocommerce ul.products,ul.products.cg3-grid{list-style:none;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
@media (min-width:700px){.woocommerce ul.products,ul.products.cg3-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media (min-width:1100px){.woocommerce ul.products,ul.products.cg3-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}}
.woocommerce ul.products li.product,ul.products li.product{
  position:relative;float:none!important;width:auto!important;margin:0!important;padding:0 0 12px!important;
  display:flex;flex-direction:column;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r);overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:var(--c-text)}
.woocommerce ul.products li.product a img,ul.products li.product a img{
  width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain!important;background:#fff;margin:0 0 10px!important;border-radius:0!important;padding:6px;
  transition:transform .5s var(--ease)
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,ul.products li.product h2,ul.products li.product h3{
  font-family:var(--ui)!important;font-size:14.5px!important;font-weight:650!important;line-height:1.35!important;letter-spacing:0;color:var(--c-text)!important;
  padding:0 12px!important;margin:0 0 6px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em
}
.woocommerce ul.products li.product .price,ul.products li.product .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 7px;padding:0 12px;margin:0 0 10px!important;font-size:16px!important;font-weight:800;color:var(--c-text)!important}
.woocommerce ul.products li.product .price del,ul.products li.product .price del{order:2;font-size:13px;font-weight:500;color:var(--c-muted);opacity:1}
.woocommerce ul.products li.product .price ins,ul.products li.product .price ins{text-decoration:none;color:var(--c-brand);font-weight:800}
.woocommerce ul.products li.product .star-rating{margin:0 12px 6px!important;font-size:12px;color:var(--c-gold)}
.woocommerce ul.products li.product .button,ul.products li.product .button{
  margin:auto 12px 0!important;min-height:42px!important;padding:0 12px!important;font-size:14px!important;
  background:transparent!important;color:var(--c-brand)!important;border:1.5px solid var(--c-brand)!important;box-shadow:none!important
}
.woocommerce ul.products li.product .button:hover{background:var(--c-brand)!important;color:#fff!important}
.woocommerce ul.products li.product .button.loading{opacity:.6}
.woocommerce ul.products li.product .button.added::after{content:" ✓";margin-left:2px;font-family:var(--ui)}
.woocommerce ul.products li.product .added_to_cart{display:block;text-align:center;font-size:13px;font-weight:700;margin:8px 12px 0;color:var(--c-ok)}
@media (hover:hover){
  .woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--c-line2)}
  .woocommerce ul.products li.product:hover a img{transform:scale(1.04)}
}
.cg-discount-badge,.cg-rail-badge{position:absolute;top:10px;right:10px;z-index:2;padding:4px 9px;border-radius:var(--pill);background:var(--c-sale);color:#fff;font-size:12px;font-weight:800;letter-spacing:.02em;line-height:1.3}
.cg3-flag{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--pill);background:rgba(255,252,246,.94);border:1px solid var(--c-line);color:var(--c-brand);font-size:11.5px;font-weight:750;line-height:1.3}
.woocommerce span.onsale{display:none}

/* Swipe rails */
.cg-rail-section{max-width:var(--wrap);margin:0 auto;padding:36px 16px}
@media (min-width:700px){.cg-rail-section{padding:56px 28px}}
.cg-rail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 16px}
.cg-rail-head h2{margin:0;font-size:clamp(23px,4.6vw,32px)}
.cg-rail-more{font-size:14.5px;font-weight:700;color:var(--c-brand);text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.cg-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:16px;padding:4px 16px 14px;margin:0 -16px;scrollbar-width:none;overscroll-behavior-x:contain}
.cg-rail::-webkit-scrollbar{display:none}
.cg-rail-card{position:relative;flex:0 0 min(44vw,200px);scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--c-text)}
.cg-rail-media{position:relative;display:block;aspect-ratio:1/1;background:#fff}
.cg-rail-media img{width:100%;height:100%;object-fit:contain;padding:6px}
.cg-rail-title{padding:8px 12px 0;font-size:14px;font-weight:650;line-height:1.35}
.cg-rail-title span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cg-rail-price{padding:4px 12px 12px;font-weight:800;font-size:15px}
.cg-rail-price del{font-weight:500;font-size:12.5px;color:var(--c-muted);margin-right:4px}
.cg-rail-price ins{text-decoration:none;color:var(--c-brand)}
@media (min-width:1320px){.cg-rail-card{flex:1 0 212px;max-width:280px}} /* v3.6 — wide screens */

/* ======================================================================
   7. SHOP & CATEGORY PAGES
   ====================================================================== */
.cg3-archive-head{background:linear-gradient(180deg,var(--c-bg2),var(--c-bg));padding:22px 0 6px;border-bottom:1px solid var(--c-line)}
.cg3-archive-head h1{margin:4px 0 6px;font-size:clamp(30px,7vw,48px)}
.cg3-archive-desc{color:var(--c-muted);max-width:640px;font-size:15.5px;margin:0 0 14px}
.cg3-archive-desc p{margin:0}
.cg3-crumbs{font-size:13.5px;color:var(--c-muted)}
.cg3-crumbs a{color:var(--c-muted);text-decoration:none}
.cg3-crumbs span{margin:0 4px;opacity:.6}
.cg3-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 16px 14px;max-width:var(--wrap);margin:0 auto;scrollbar-width:none;scroll-padding-left:16px}
.cg3-chips::-webkit-scrollbar{display:none}
@media (min-width:700px){.cg3-chips{padding-inline:28px;flex-wrap:wrap}}
.cg3-chip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:var(--pill);background:#fff;border:1px solid var(--c-line2);color:var(--c-text);font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap}
.cg3-chip:hover{border-color:var(--c-brand);color:var(--c-brand)}
.cg3-chip.is-on{background:var(--c-brand);border-color:var(--c-brand);color:#fff}
.shop-wrap{padding-top:18px;padding-bottom:48px}
.woocommerce .woocommerce-result-count{float:none;margin:0;font-size:14px;color:var(--c-muted);align-self:center}
.woocommerce .woocommerce-ordering{float:none;margin:0}
.woocommerce .woocommerce-ordering select{height:44px;padding:0 38px 0 14px;border:1.5px solid var(--c-field);border-radius:var(--pill);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23653A1C' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 14px center;-webkit-appearance:none;appearance:none;font-size:14.5px;font-weight:600;color:var(--c-text)}
.shop-wrap .woocommerce-notices-wrapper+.woocommerce-result-count,.shop-wrap>.woocommerce-result-count{display:inline-block}
.shop-wrap form.woocommerce-ordering{display:inline-block;float:right;margin-bottom:16px}
.shop-wrap .woocommerce-result-count{display:inline-block;margin-bottom:16px;line-height:44px}
.shop-wrap ul.products{clear:both}
.cg3-guide-chip{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;margin:0 0 16px;padding:10px 16px;border-radius:var(--r);border:1px solid #E6D3AA;background:linear-gradient(120deg,#FFF6E3,#FBF1DC);color:var(--c-text);text-align:left;font-size:14.5px;line-height:1.35}
.cg3-guide-chip>.cg3-i:first-child{color:var(--c-gold-ink)}
.cg3-guide-chip span{flex:1}
.cg3-guide-chip b{display:block;font-size:15px}
.cg3-guide-chip:hover{border-color:var(--c-gold)}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center;margin-top:28px}
.woocommerce nav.woocommerce-pagination ul li{border:0;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--c-line2);background:#fff;color:var(--c-text);font-weight:700}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--c-brand);color:#fff;border-color:var(--c-brand)}
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-notice{border-radius:12px;border:1px solid var(--c-line2)!important;border-top:3px solid var(--c-brand)!important;background:#fff!important;color:var(--c-text)!important;font-size:15px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--c-brand)!important}
.woocommerce-error{border-top-color:var(--c-sale)!important}
.woocommerce-no-products-found .woocommerce-info{margin-top:10px}

/* Filters bar — light re-colour of the existing component */
.cg-filters{border-bottom-color:var(--c-line)!important}
.cg-filter-chip.is-on,.cg-filter-chip[aria-pressed="true"]{background:var(--c-brand)!important;border-color:var(--c-brand)!important;color:#fff!important}

/* ======================================================================
   8. FORMS (everything that is not the block checkout)
   ====================================================================== */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=password],input[type=url],select,textarea{
  font-size:16px;border-radius:12px;border:1.5px solid var(--c-field);background:#fff;color:var(--c-text);padding:11px 14px;min-height:48px;max-width:100%
}
textarea{min-height:120px;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-brand);box-shadow:0 0 0 3px rgba(101,58,28,.14)}
label{font-weight:650}

/* ======================================================================
   9. PAGES
   ====================================================================== */
.cg3-page{padding-top:28px;padding-bottom:56px}
.cg3-page-title{font-size:clamp(30px,6.4vw,46px);margin:0 0 18px}
.cg3-prose{max-width:760px;font-size:16.5px;line-height:1.75}
.cg3-prose h2{margin-top:1.6em;font-size:clamp(22px,4.4vw,30px)}
.cg3-prose h3{margin-top:1.4em}
.cg3-prose ul,.cg3-prose ol{padding-left:1.3em}
.cg3-prose img{border-radius:var(--r)}
.cg3-money{padding-top:18px;padding-bottom:40px}
.cg3-money .cg3-prose{max-width:none}
.cg3-money .cg3-page-title{font-size:clamp(26px,5.4vw,36px);margin-bottom:8px}
.cg3-empty{background:#fff;border:1px dashed var(--c-line2);border-radius:var(--r);padding:24px;text-align:center}
.cg3-empty .cg3-btn{margin:6px}
.cg3-list-item{padding:18px 0;border-bottom:1px solid var(--c-line)}
.cg3-list-item h2{font-size:22px;margin:0 0 6px}
.cg3-list-item h2 a{color:var(--c-text);text-decoration:none}
.cg3-404{text-align:center;padding-top:60px}
.cg3-404 .cg3-btn{margin:6px}

.cg3-page-hero{background:linear-gradient(180deg,var(--c-bg2),var(--c-bg));padding:40px 0 28px;border-bottom:1px solid var(--c-line)}
.cg3-page-hero h1{margin:0 0 10px}
.cg3-page-hero p{color:var(--c-muted);max-width:620px;font-size:16.5px;margin:0}
.cg3-page-hero.is-dark{background:radial-gradient(120% 90% at 80% 0%,#3A2716 0%,var(--c-dark) 60%);border:0;padding:56px 0 48px}
.cg3-page-hero.is-dark h1{color:var(--c-on-dark);max-width:16ch}
.cg3-page-hero.is-dark h1 em{color:#E3C77A;font-style:italic;font-weight:500}
.cg3-page-hero.is-dark .cg3-kicker{color:#E3C77A}

.cg3-contact{display:grid;gap:18px;padding-top:24px;padding-bottom:56px}
@media (min-width:900px){.cg3-contact{grid-template-columns:.9fr 1.1fr;align-items:start;gap:28px}}
.cg3-contact-cards{display:grid;gap:12px}
.cg3-ccard{display:grid;grid-template-columns:44px 1fr;gap:2px 14px;align-items:center;padding:16px 18px;border-radius:var(--r);background:#fff;border:1px solid var(--c-line);color:var(--c-text);text-decoration:none}
.cg3-ccard .cg3-i{grid-row:span 2;color:var(--c-brand);width:44px;height:44px;padding:9px;border-radius:12px;background:var(--c-bg2)}
.cg3-ccard strong{font-size:16px}
.cg3-ccard span{font-size:14.5px;color:var(--c-muted)}
.cg3-ccard.is-wa .cg3-i{color:#fff;background:var(--c-wa)}
.cg3-ccard.is-wa:hover{border-color:var(--c-wa)}
.cg3-form{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:22px;display:grid;gap:14px;box-shadow:var(--sh-1)}
.cg3-form h2{margin:0;font-size:26px}
.cg3-form-note{margin:0;color:var(--c-muted);font-size:14.5px}
.cg3-form label{display:grid;gap:6px;font-size:14.5px}
.cg3-form .cg3-btn{width:100%;margin-top:4px}

.cg3-split{display:grid;gap:24px;padding-top:44px;padding-bottom:44px;align-items:center}
@media (min-width:900px){.cg3-split{grid-template-columns:1fr 1fr;gap:56px}.cg3-split.is-rev>figure{order:-1}}
.cg3-split p{color:var(--c-muted);font-size:16.5px}
.cg3-split-img{margin:0}
.cg3-split-img img{width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-2);max-height:560px;object-fit:cover}
.cg3-badge-line{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--pill);background:#FFF6E3;border:1px solid #E6D3AA;color:var(--c-text)!important;font-weight:700}
.cg3-badge-line .cg3-i{color:var(--c-gold-ink)}
.cg3-stats{background:var(--c-dark);color:var(--c-on-dark);padding:28px 0}
.cg3-stats .cg3-wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;text-align:center}
@media (min-width:800px){.cg3-stats .cg3-wrap{grid-template-columns:repeat(4,1fr)}}
.cg3-stats b{display:block;font-family:var(--serif);font-size:clamp(26px,5vw,38px);color:#E3C77A;font-weight:560}
.cg3-stats span{font-size:14px;color:var(--c-on-dark2)}
.cg3-sector-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:640px){.cg3-sector-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.cg3-sector-grid{grid-template-columns:repeat(3,1fr)}}
.cg3-sector{background:#fff;border:1px solid var(--c-line);border-radius:var(--r);padding:18px}
.cg3-sector .cg3-i{color:var(--c-brand)}
.cg3-sector h3{margin:10px 0 4px;font-size:19px}
.cg3-sector p{margin:0;color:var(--c-muted);font-size:14.5px}

/* "Still deciding?" band — home and story pages */
.cg3-help{padding:12px 16px 48px}
.cg3-help-inner{max-width:980px;margin:0 auto;text-align:center;padding:36px 20px;border-radius:var(--r-lg);background:radial-gradient(130% 120% at 50% 0%,#3A2716 0%,var(--c-dark) 65%);color:var(--c-on-dark);position:relative;overflow:hidden}
.cg3-help-inner::before{content:"";position:absolute;inset:10px;border:1px solid rgba(201,162,75,.35);border-radius:18px;pointer-events:none}
.cg3-help h2{color:var(--c-on-dark);margin:0 0 8px}
.cg3-help p{color:var(--c-on-dark2);max-width:520px;margin:0 auto 18px}
.cg3-help .cg3-kicker{color:#E3C77A}
.cg3-help-cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.cg3-help .cg3-btn--brand{background:linear-gradient(135deg,#E3C77A,#C9A24B 55%,#B08A3E);color:#231708}
@media (max-width:520px){.cg3-help-cta .cg3-btn{width:100%}}

/* ======================================================================
   10. FOOTER
   ====================================================================== */
.cg3-footer{background:var(--c-dark);color:var(--c-on-dark2);margin-top:24px}
.cg3-foot-top{max-width:var(--wrap);margin:0 auto;padding:44px 16px 20px;display:grid;grid-template-columns:1fr 1fr;gap:28px 20px}
.cg3-foot-brand{grid-column:1/-1}
@media (min-width:900px){.cg3-foot-top{grid-template-columns:1.4fr 1fr 1fr 1fr;padding:60px 28px 28px}.cg3-foot-brand{grid-column:auto}}
.cg3-footer .cg3-logo a{color:var(--c-on-dark)}
.cg3-footer .cg3-wordmark em{color:#E3C77A}
.cg3-footer .cg3-mark{background:none;box-shadow:none}
.cg3-foot-brand p{font-size:14.5px;max-width:380px;margin:14px 0 16px}
.cg3-foot-social{display:flex;gap:8px}
.cg3-foot-social a{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(244,235,221,.2);color:var(--c-on-dark)}
.cg3-foot-social a:hover{border-color:#E3C77A;color:#E3C77A}
.cg3-foot-col h2{font-family:var(--ui);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#E3C77A;margin:0 0 12px}
.cg3-foot-col ul{list-style:none;margin:0;padding:0}
.cg3-foot-col li a{display:flex;align-items:center;min-height:36px;color:var(--c-on-dark);text-decoration:none;font-size:15px}
.cg3-foot-col li a:hover{color:#E3C77A}
.cg3-foot-contact{list-style:none;margin:0 0 18px;padding:0;font-size:14.5px;line-height:1.5;display:grid;gap:8px}
.cg3-foot-contact li{display:flex;align-items:flex-start;gap:10px;min-width:0}
.cg3-foot-contact .cg3-i{flex:0 0 auto;color:#E3C77A;margin-top:2px}
.cg3-foot-contact span{min-width:0;overflow-wrap:anywhere;color:var(--c-on-dark)}
.cg3-foot-contact a{color:var(--c-on-dark);text-decoration:none;border-bottom:1px solid rgba(227,199,122,.35)}
.cg3-foot-contact a:hover{color:#E3C77A;border-color:#E3C77A}
.cg3-foot-bottom{border-top:1px solid rgba(244,235,221,.12);max-width:var(--wrap);margin:0 auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;font-size:13px}
@media (max-width:768px){.cg3-footer{padding-bottom:72px}}

/* ======================================================================
   11. PHONE BOTTOM BAR, WHATSAPP, OFFER TAB
   ====================================================================== */
.cg-bottom-tabs{display:none}
@media (max-width:768px){
  body{padding-bottom:0}
  .cg-bottom-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:880;justify-content:space-around;align-items:flex-end;background:rgba(255,253,249,.98);border-top:1px solid var(--c-line);box-shadow:0 -6px 20px rgba(40,25,10,.07);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .cg-tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:50px;justify-content:center;position:relative;color:var(--c-muted)!important;text-decoration:none!important;font-size:11.5px;font-weight:700;-webkit-tap-highlight-color:transparent}
  .cg-tab-item svg{width:23px;height:23px}
  .cg-tab-item.is-current{color:var(--c-brand)!important}
  .cg-tab-item.is-current::before{content:"";position:absolute;top:-6px;width:24px;height:3px;border-radius:3px;background:var(--c-brand)}
  .cg-tab-center{margin-top:-22px}
  .cg-tab-center::before{display:none}
  .cg-tab-center-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#7C4A26,var(--c-brand));color:#FFF3DC;border:4px solid var(--c-bg);box-shadow:0 8px 18px rgba(101,58,28,.35)}
  .cg-tab-center-icon svg{color:#FFF3DC}
  .cg-tab-badge{position:absolute;top:2px;right:calc(50% - 20px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--c-sale);color:#fff;font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
  .wa-float{display:none!important}
}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:870;display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 18px;border-radius:var(--pill);background:var(--c-wa);color:#fff!important;text-decoration:none;font-weight:750;font-size:14.5px;box-shadow:0 10px 26px rgba(31,143,78,.3)}
.wa-float:hover{background:#177A41}

.cg-offer-tab{position:fixed;left:0;top:44%;z-index:860;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 9px;border-radius:0 12px 12px 0;background:var(--c-brand);color:#FFF3DC;font-size:12.5px;font-weight:800;letter-spacing:.14em;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);cursor:pointer;box-shadow:4px 0 18px rgba(101,58,28,.25)}
@media (max-width:768px){.cg-offer-tab{top:auto;bottom:150px;transform:rotate(180deg)}}
.cg-offer-overlay{position:fixed;inset:0;z-index:990;background:rgba(23,18,13,.6);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.cg-offer-overlay.cg-offer-active{opacity:1;visibility:visible}
.cg-offer-popup{position:relative;width:100%;max-width:420px;background:var(--c-bg);border-radius:var(--r-lg);padding:32px 24px 24px;text-align:center;box-shadow:var(--sh-2);transform:translateY(16px) scale(.97);transition:transform .35s var(--ease)}
.cg-offer-popup::before{content:"";position:absolute;inset:8px;border:1px solid #E6D3AA;border-radius:18px;pointer-events:none}
.cg-offer-overlay.cg-offer-active .cg-offer-popup{transform:none}
.cg-offer-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:transparent;font-size:28px;color:var(--c-muted);z-index:2}
.cg-offer-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c-gold-ink);margin:0 0 6px}
.cg-offer-popup h3{font-size:26px;margin:0 0 6px}
.cg-offer-sub{color:var(--c-muted);font-size:15px;margin:0 0 14px}
.cg-offer-code-box{display:flex;align-items:center;justify-content:space-between;gap:10px;border:2px dashed var(--c-gold);border-radius:14px;padding:10px 10px 10px 18px;margin:0 0 14px;background:#fff}
.cg-offer-code-box span{font-weight:800;font-size:22px;letter-spacing:.14em;color:var(--c-brand)}
.cg-offer-code-box button{min-height:44px;padding:0 18px;border:0;border-radius:var(--pill);background:var(--c-brand);color:#fff;font-weight:750}
.cg-offer-shop-btn{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:var(--pill);border:1.5px solid var(--c-brand);color:var(--c-brand)!important;text-decoration:none;font-weight:750}

/* ======================================================================
   12. GIFT GUIDE
   ====================================================================== */
.cg3-guide-bubble{position:fixed;right:16px;bottom:88px;z-index:875;width:56px;height:56px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,#8A5A33,var(--c-brand) 60%,var(--c-brand2));color:#FFE7B3;box-shadow:0 10px 26px rgba(101,58,28,.4),0 0 0 4px rgba(251,247,240,.9)}
.cg3-guide-bubble::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(201,162,75,.6);animation:cg3-ping 2.4s var(--ease) 1.2s 3}
@keyframes cg3-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.45);opacity:0}}
.cg3-guide-tip{position:absolute;right:66px;top:50%;transform:translateY(-50%);white-space:nowrap;background:#fff;color:var(--c-text);border:1px solid var(--c-line);border-radius:var(--pill);padding:8px 14px;font-size:13.5px;font-weight:700;box-shadow:var(--sh-1);opacity:0;pointer-events:none;transition:opacity .4s}
.cg3-guide-bubble.show-tip .cg3-guide-tip{opacity:1}
@media (min-width:769px){.cg3-guide-bubble{bottom:88px;right:24px}}
.cg3-guide{position:fixed;inset:0;z-index:1000}
.cg3-guide-scrim{position:absolute;inset:0;background:rgba(23,18,13,.45);opacity:0;transition:opacity .3s}
.cg3-guide.is-open .cg3-guide-scrim{opacity:1}
.cg3-guide-panel{position:absolute;left:0;right:0;bottom:0;height:min(88vh,720px);display:flex;flex-direction:column;background:var(--c-bg);border-radius:22px 22px 0 0;box-shadow:var(--sh-2);transform:translateY(100%);transition:transform .42s var(--ease);padding-bottom:env(safe-area-inset-bottom)}
.cg3-guide.is-open .cg3-guide-panel{transform:none}
@media (min-width:769px){.cg3-guide-panel{left:auto;right:24px;bottom:24px;width:400px;height:min(640px,calc(100vh - 48px));border-radius:22px;transform:translateY(24px) scale(.97);opacity:0;transition:transform .35s var(--ease),opacity .25s}.cg3-guide.is-open .cg3-guide-panel{opacity:1}}
.cg3-guide-head{display:flex;align-items:center;gap:12px;padding:12px 10px 12px 16px;border-bottom:1px solid var(--c-line);background:#fff;border-radius:22px 22px 0 0}
.cg3-guide-av{width:42px;height:42px;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.cg3-guide-id{flex:1;display:flex;flex-direction:column;line-height:1.25}
.cg3-guide-id strong{font-size:16px}
.cg3-guide-id small{font-size:12.5px;color:var(--c-muted);display:flex;align-items:center;gap:6px}
.cg3-guide-id small i{width:8px;height:8px;border-radius:50%;background:#2FB167;box-shadow:0 0 0 3px rgba(47,177,103,.18)}
.cg3-guide-x{width:44px;height:44px;border:0;background:transparent;border-radius:12px;color:var(--c-text);display:flex;align-items:center;justify-content:center}
.cg3-guide-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.cg3-msg{max-width:86%;padding:11px 14px;border-radius:18px;font-size:15px;line-height:1.45;animation:cg3-pop .35s var(--ease) both}
.cg3-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--c-line);border-bottom-left-radius:6px}
.cg3-msg.me{align-self:flex-end;background:var(--c-brand);color:#FFF6E8;border-bottom-right-radius:6px}
@keyframes cg3-pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.cg3-typing{align-self:flex-start;display:inline-flex;gap:4px;padding:14px 16px;background:#fff;border:1px solid var(--c-line);border-radius:18px;border-bottom-left-radius:6px}
.cg3-typing i{width:7px;height:7px;border-radius:50%;background:var(--c-gold-ink);animation:cg3-dot 1s infinite}
.cg3-typing i:nth-child(2){animation-delay:.15s}.cg3-typing i:nth-child(3){animation-delay:.3s}
@keyframes cg3-dot{0%,80%,100%{opacity:.25;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.cg3-guide-choices{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--c-line);background:#fff}
.cg3-guide-choices:empty{display:none}
.cg3-choice{min-height:44px;padding:0 16px;border-radius:var(--pill);border:1.5px solid var(--c-brand);background:#fff;color:var(--c-brand);font-weight:700;font-size:14.5px}
.cg3-choice:hover{background:var(--c-brand);color:#fff}
.cg3-choice.is-skip{border-color:var(--c-line2);color:var(--c-muted)}
.cg3-choice:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.cg3-guide-cards{display:flex;gap:10px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none;align-self:stretch}
.cg3-guide-cards::-webkit-scrollbar{display:none}
.cg3-gcard{flex:0 0 150px;background:#fff;border:1px solid var(--c-line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--c-text);animation:cg3-pop .4s var(--ease) both}
.cg3-gcard img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;padding:4px}
.cg3-gcard span{display:block;padding:6px 10px 0;font-size:13px;font-weight:650;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cg3-gcard b{display:block;padding:4px 10px 10px;font-size:14px;color:var(--c-brand)}
.cg3-guide-actions{display:flex;flex-wrap:wrap;gap:8px}
.cg3-guide-actions .cg3-btn{min-height:44px;font-size:14px;padding:0 16px}
/* v3.6 — Gift Guide: a welcome screen, one question at a time, a progress line, answers you can change */
@media (min-width:769px){.cg3-guide-panel{right:0;top:0;bottom:0;width:460px;height:100%;border-radius:24px 0 0 24px;transform:translateX(102%);opacity:1;transition:transform .45s var(--ease)}.cg3-guide.is-open .cg3-guide-panel{transform:none}.cg3-guide-head{border-radius:24px 0 0 0}}
.cg3-guide-back{flex:0 0 auto;width:44px;height:44px;margin-left:-8px;border:0;background:transparent;border-radius:12px;color:var(--c-text);display:flex;align-items:center;justify-content:center}
.cg3-guide-back .cg3-i{transform:rotate(180deg)}
.cg3-guide-back:hover,.cg3-guide-x:hover{background:rgba(101,58,28,.07)}
.cg3-guide-step{flex:0 0 auto;font:650 13px/1 var(--ui);color:var(--c-muted);white-space:nowrap}
.cg3-guide.is-home .cg3-guide-av,.cg3-guide.is-home .cg3-guide-id{visibility:hidden}
.cg3-guide.is-home .cg3-guide-head{background:transparent;border-bottom-color:transparent}
.cg3-guide.is-chat .cg3-guide-av{display:none}
.cg3-guide.is-chat .cg3-guide-head{border-bottom-color:transparent}
.cg3-guide-bar{display:flex;gap:5px;padding:0 16px 12px;background:#fff;border-bottom:1px solid var(--c-line)}
.cg3-guide-bar i{flex:1;height:3px;border-radius:3px;background:var(--c-line);transition:background .4s}
.cg3-guide-bar i.done{background:var(--c-brand)}
.cg3-guide-bar i.now{background:var(--c-gold)}
.cg3-guide-home{display:none;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 18px 18px;flex-direction:column;align-items:center;text-align:center}
.cg3-guide.is-home .cg3-guide-home{display:flex}
.cg3-guide.is-home .cg3-guide-log,.cg3-guide.is-home .cg3-guide-choices{display:none}
.cg3-guide-hero{display:block;margin:0 0 12px;animation:cg3-nod 3.8s ease-in-out infinite}
@keyframes cg3-nod{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-6px) rotate(-4deg)}70%{transform:translateY(-2px) rotate(3deg)}}
.cg3-guide-home h2{font-size:26px;margin:0 0 6px}
.cg3-guide-home>p{margin:0 0 16px;color:var(--c-muted);font-size:15.5px;line-height:1.5;max-width:36ch}
.cg3-guide-prompts{list-style:none;margin:0 0 16px;padding:0;width:100%;border:1px solid var(--c-line);border-radius:16px;background:#fff;overflow:hidden;text-align:left}
.cg3-guide-prompts:empty{display:none}
.cg3-guide-prompts li+li{border-top:1px solid var(--c-line)}
.cg3-guide-prompt{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:8px 14px;border:0;background:none;color:var(--c-text);font:600 15px/1.3 var(--ui);text-align:left;text-decoration:none;cursor:pointer}
.cg3-guide-prompt:hover{background:var(--c-bg);color:var(--c-brand)}
.cg3-guide-prompt .ic{flex:0 0 22px;display:flex;align-items:center;justify-content:center;color:var(--c-gold-ink)}
.cg3-guide-prompt .ic svg,.cg3-guide-prompt .ic img{width:22px;height:22px;object-fit:contain}
.cg3-guide-prompt .tx{flex:1}
.cg3-guide-prompt .go{color:var(--c-muted);transition:transform .2s}
.cg3-guide-prompt:hover .go{transform:translateX(3px)}
.cg3-guide-go{width:100%;margin-top:auto;flex:0 0 auto}
.cg3-q{align-self:stretch;display:flex;flex-direction:column;gap:5px;padding:16px;border-radius:18px;border-bottom-left-radius:6px;background:#fff;border:1px solid var(--c-line)}
.cg3-q.is-new{animation:cg3-pop .35s var(--ease) both}
.cg3-q>strong{font:700 17px/1.3 var(--ui)}
.cg3-q-sub{font-size:14px;color:var(--c-muted)}
.cg3-q-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cg3-q .cg3-choice{display:inline-flex;align-items:center;gap:7px;border-color:var(--c-line2);color:var(--c-text);font-weight:650}
.cg3-q .cg3-choice:hover{background:var(--c-brand);border-color:var(--c-brand);color:#fff}
.cg3-choice .ic{display:flex;color:var(--c-gold-ink)}
.cg3-choice:hover .ic{color:#F6E3AE}
.cg3-choice .ic svg,.cg3-choice .ic img{width:20px;height:20px;object-fit:contain}
.cg3-q .cg3-choice.is-more{border-style:dashed;color:var(--c-brand)}
.cg3-q-skip{align-self:flex-start;margin-top:8px;min-height:40px;padding:0;border:0;background:none;color:var(--c-brand);font:700 13.5px/1 var(--ui)}
.cg3-q-skip:hover{text-decoration:underline}
button.cg3-ans{display:inline-flex;align-items:center;gap:8px;min-height:42px;border:0;font-family:inherit;font-weight:700;cursor:pointer}
button.cg3-ans svg{opacity:.85}
button.cg3-ans:hover{background:var(--c-brand2)}
@media (prefers-reduced-motion:reduce){.cg3-guide-hero{animation:none}}

/* ======================================================================
   13. THANK-YOU CONFETTI
   ====================================================================== */
.cg3-confetti{position:fixed;inset:0;pointer-events:none;z-index:1100;overflow:hidden}
.cg3-confetti i{position:absolute;top:-20px;width:8px;height:14px;border-radius:2px;opacity:.95;animation:cg3-fall linear forwards}
@keyframes cg3-fall{to{transform:translate(var(--x),105vh) rotate(var(--r));opacity:.9}}

/* ======================================================================
   14. SEASONAL RIBBON, PAGE BANNER, GIVEAWAY POPUP (existing features)
   ====================================================================== */
/* ported: c_season.css */
.cg-season-ribbon{display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:11px 20px;
  background:linear-gradient(90deg, #8a6329 0%, var(--gold) 50%, #8a6329 100%);
  color:var(--ink);
  font-family:var(--ui);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-align:center;
  text-decoration:none;
  position:relative;
  z-index:20;}
a.cg-season-ribbon:hover{filter:brightness(1.07);}
.cg-season-spark{opacity:.75;}
.cg-season-go{transition:transform .2s ease;}
a.cg-season-ribbon:hover .cg-season-go{transform:translateX(3px);}
@media (max-width:600px){
.cg-season-ribbon{font-size:12.5px; padding:9px 14px; letter-spacing:.05em;}
.cg-season-spark{display:none;}
}

/* ported: c_banner.css */
.cg-banner{position:relative; overflow:hidden;}
.cg-banner-media{position:relative; line-height:0;}
.cg-banner-media::after{content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,10,8,.34) 0%, rgba(10,10,8,.12) 40%, var(--ink) 100%);}
.cg-banner-media img{display:block;
  width:100%;
  height:clamp(190px, 46vw, 380px);
  object-fit:cover;}
.cg-banner.is-tall .cg-banner-media img{height:clamp(260px, 64vw, 540px);}
.cg-banner-text{position:relative;
  margin:-66px auto 0;
  padding:0 18px 4px;
  max-width:1120px;}
.cg-banner-text h1{font-family:var(--serif);
  font-size:clamp(26px,6.4vw,46px);
  line-height:1.1;
  color:var(--cream-text);
  margin:0;
  text-wrap:balance;}
.cg-banner-text p{margin:12px 0 0;
  font-size:15px;
  line-height:1.65;
  color:var(--paper-dim);
  max-width:54ch;}

/* ported: c_gv.css */
.cg-gv-overlay[hidden]{display: none !important;}
.cg-gv-overlay{position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	background: rgba(10, 8, 6, 0.72);}
.cg-gv-sheet{position: relative;
	width: 100%;
	max-width: 420px;
	max-height: 88vh;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--cg-paper-cream, #f6efe1);
	color: var(--cg-ink-black, #14110d);
	border-radius: 20px 20px 0 0;
	padding: 28px 22px 26px;
	box-shadow: 0 -8px 40px rgba(0,0,0,0.35);}
@media (min-width: 640px){
.cg-gv-overlay{align-items: center;}
.cg-gv-sheet{border-radius: 16px; margin-bottom: 0;}
}
.cg-gv-close{position: absolute;
	top: 10px;
	right: 12px;
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	font-size:24px;
	line-height: 1;
	cursor: pointer;
	color: inherit;}
.cg-gv-intro h3{margin: 4px 0 10px;
	font-size: 1.35rem;}
.cg-gv-intro p,
.cg-gv-success p{margin: 0 0 16px;
	line-height: 1.5;}
.cg-gv-btn{display: inline-block;
	width: 100%;
	text-align: center;
	background: var(--cg-gold, #b8873a);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 14px 18px;
	font-weight: 600;
	font-size: 1rem;
	cursor: pointer;
	text-decoration: none;}
.cg-gv-form label{display: block;
	margin-bottom: 14px;
	font-size: 0.9rem;}
.cg-gv-form input[type="text"],
.cg-gv-form input[type="file"]{display: block;
	width: 100%;
	margin-top: 6px;
	padding: 11px 12px;
	font-size:16px; 
	border: 1px solid rgba(20,17,13,0.25);
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;}
.cg-gv-error{color: #b3261e;
	font-size: 0.88rem;
	margin: -6px 0 12px;}
.cg-gv-locked-notice{background: rgba(184,135,58,0.12);
	border: 1px solid var(--cg-gold, #b8873a);
	border-radius: 8px;
	padding: 12px 14px;
	font-size: 0.92rem;
	margin: 14px 0;}
.cg-gv-tab[hidden]{display: none !important;}
.cg-gv-tab{position: fixed;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9990;
	display: block;
	background: var(--cg-gold, #b8873a);
	color: #fff;
	border: none;
	border-radius: 0 10px 10px 0;
	padding: 12px 10px;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	writing-mode: vertical-rl;
	box-shadow: 2px 2px 12px rgba(0,0,0,0.3);}
@media (max-width: 640px){
.cg-gv-tab{top: auto; bottom: 150px; transform: none;}
}

/* ported: c_filters.css */
.cg-filters{margin:0 0 30px;
  border-bottom:1px solid var(--line);
  padding-bottom:22px;}
.cg-filters-toggle{display:none;   
  align-items:center;
  gap:9px;
  position:relative;
  min-height:46px;
  padding:11px 20px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--cream-text);
  font-family:var(--ui);
  font-size:12.5px;
  letter-spacing:.09em;
  text-transform:uppercase;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;}
.cg-filters-toggle svg{width:17px; height:17px;}
.cg-filters-toggle[aria-expanded="true"]{border-color:var(--gold); color:var(--gold-soft);}
.cg-filters-dot{width:7px; height:7px; border-radius:50%;
  background:var(--gold);
  margin-left:2px;}
.cg-filters-body{display:flex; flex-direction:column; gap:14px;}
.cg-filter-group{display:grid;
  grid-template-columns:104px 1fr;
  gap:6px 16px;
  align-items:start;}
.cg-filter-label{font-family:var(--ui);
  font-size:12.5px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--gold-soft);
  padding-top:9px;}
.cg-filter-chips{display:flex; flex-wrap:wrap; gap:8px;}
.cg-filter-chip{display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:7px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:transparent;
  color:var(--paper-dim);
  font-family:var(--ui);
  font-size:12.5px;
  letter-spacing:.04em;
  text-decoration:none;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
  -webkit-tap-highlight-color:transparent;}
.cg-filter-chip:hover{border-color:rgba(185,139,78,.6); color:var(--gold-soft);}
.cg-filter-chip.is-on{background:var(--gold);
  border-color:var(--gold);
  color:var(--ink);
  font-weight:600;}
.cg-filter-chip.is-on::after{content:"×";
  margin-left:7px;
  font-size:14px;
  line-height:1;
  opacity:.65;}
.cg-filter-clear{align-self:flex-start;
  font-family:var(--ui);
  font-size:12.5px;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:3px;
  margin-top:2px;}
@media (max-width:768px){
.cg-filters{margin-bottom:22px; padding-bottom:16px;}
.cg-filters-toggle{display:inline-flex;}
.cg-filters-body{display:none; margin-top:16px;}
.cg-filters.is-open .cg-filters-body{display:flex;}
.cg-filter-group{grid-template-columns:1fr; gap:7px;}
.cg-filter-label{padding-top:0;}
.cg-filter-chip{min-height:38px; font-size:12.5px;}
}
.cg-filter-chips{max-width:100%;
  overscroll-behavior-x:contain;}



/* ======================================================================
   15. MOTION PREFERENCES
   ====================================================================== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  html.cg3-rv [data-cg3-reveal]{opacity:1;transform:none}
}

/* card link + button fixes (WooCommerce 11 sets block + underline) */
.woocommerce ul.products li.product a,ul.products li.product a{text-decoration:none!important}
.woocommerce ul.products li.product .button,ul.products li.product .button{display:flex!important;align-items:center;justify-content:center;text-align:center;text-decoration:none!important;width:auto}

/* ---- v3 polish pass (24 Sep) ---- */
/* Shop toolbar: count on its own line, sort box full width on phones */
@media (max-width:640px){
  .shop-wrap .woocommerce-result-count{display:block;line-height:1.4;margin:0 0 10px;font-size:13px}
  .shop-wrap form.woocommerce-ordering{display:block;float:none;margin:0 0 18px}
  .shop-wrap form.woocommerce-ordering select{width:100%}
}

/* Empty cart (block): calm message, gift icon, brand buttons, 2-up grid */
.wc-block-cart__empty-cart__title{font-family:var(--serif);font-size:24px!important;font-weight:600;color:var(--c-text);margin-top:10px!important}
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before{width:88px!important;height:88px!important;margin:0 auto 14px!important;background:var(--c-brand)!important;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='8.5' width='17' height='4' rx='1'/%3E%3Cpath d='M5 12.5V20a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7.5M12 8.5V21M12 8.5C10.5 5 7 4.5 7 6.8S10 8.5 12 8.5zm0 0c1.5-3.5 5-4 5-1.7S14 8.5 12 8.5z'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='8.5' width='17' height='4' rx='1'/%3E%3Cpath d='M5 12.5V20a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7.5M12 8.5V21M12 8.5C10.5 5 7 4.5 7 6.8S10 8.5 12 8.5zm0 0c1.5-3.5 5-4 5-1.7S14 8.5 12 8.5z'/%3E%3C/svg%3E")!important}
.wp-block-woocommerce-empty-cart-block .wp-block-separator{border:0!important;height:1px!important;background:var(--c-line)!important;max-width:120px;margin:22px auto!important}
.wp-block-woocommerce-empty-cart-block .wp-block-separator::before{display:none!important}
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title){font-family:var(--serif);font-size:22px!important;text-align:center}
.wc-block-grid__products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin:0!important}
@media (min-width:900px){.wc-block-grid__products{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
.wc-block-grid__product{max-width:none!important;width:auto!important;flex:none!important;margin:0!important;padding:0 0 14px!important;border:1px solid var(--c-line)!important;border-radius:var(--r)!important;background:#fff;text-align:left!important;overflow:hidden}
.wc-block-grid__product-image img{aspect-ratio:1/1;object-fit:contain!important;background:#fff;border-radius:0!important}
.wc-block-grid__product-link,.wc-block-grid__product-title{text-decoration:none!important;color:var(--c-text)!important;font-family:var(--ui)!important;font-size:14px!important;font-weight:650!important;padding:0 12px!important;margin:10px 0 4px!important;line-height:1.35}
.wc-block-grid__product-price{padding:0 12px!important;font-weight:800;color:var(--c-brand)!important;font-size:15px!important}
.wc-block-grid__product-price del{color:var(--c-muted);font-weight:500;font-size:13px}
.wc-block-grid__product-price ins{text-decoration:none}
.wc-block-grid__product-onsale{display:none!important}
.wc-block-grid__product-add-to-cart{padding:0 12px!important;margin-top:8px!important}
.wc-block-grid__product-add-to-cart .wp-block-button__link,.wc-block-grid__product-add-to-cart .add_to_cart_button{display:flex!important;justify-content:center;width:100%;min-height:42px;border-radius:var(--pill)!important;background:transparent!important;border:1.5px solid var(--c-brand)!important;color:var(--c-brand)!important;font-size:14px!important;font-weight:700!important;text-decoration:none!important;padding:0 10px!important;align-items:center}

/* ======================================================================
   v3.2 — OCCASION BANNER (shop page opened from an occasion tile)
   ====================================================================== */
.cg3-occ-hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(150deg,#7C4A26,#3A2111);isolation:isolate}
.cg3-occ-hero.tone-1{background:linear-gradient(150deg,#C0594B,#7E2622)}
.cg3-occ-hero.tone-2{background:linear-gradient(150deg,#8B5A8C,#43234A)}
.cg3-occ-hero.tone-3{background:linear-gradient(150deg,#C99A3E,#7A5212)}
.cg3-occ-hero.tone-4{background:linear-gradient(150deg,#4F7A6B,#1F4036)}
.cg3-occ-hero.tone-5{background:linear-gradient(150deg,#D98C5F,#933F1C)}
.cg3-occ-hero-bg{position:absolute;inset:0;z-index:-2}
.cg3-occ-hero-bg img{width:100%;height:100%;object-fit:cover;display:block}
.cg3-occ-hero.has-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(23,18,13,.86) 0%,rgba(23,18,13,.6) 55%,rgba(23,18,13,.25) 100%)}
@media (max-width:700px){.cg3-occ-hero.has-photo::before{background:linear-gradient(0deg,rgba(23,18,13,.92) 10%,rgba(23,18,13,.55) 70%,rgba(23,18,13,.35) 100%)}}
.cg3-occ-hero-art{position:absolute;right:-18px;bottom:-26px;z-index:-1;color:rgba(255,255,255,.14);transform:rotate(-8deg)}
.cg3-occ-hero-art svg{width:210px;height:210px;stroke-width:1.1}
.cg3-occ-hero-in{padding-top:clamp(38px,8vw,84px);padding-bottom:clamp(30px,6vw,64px);max-width:var(--wrap)}
.cg3-occ-hero .cg3-kicker{color:#F1DC9E}
.cg3-occ-hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,7vw,58px);line-height:1.05;margin:6px 0 12px;max-width:14ch;color:#fff}
.cg3-occ-hero-text{font-size:clamp(16px,2.2vw,19px);line-height:1.55;max-width:42ch;margin:0 0 12px;color:rgba(255,255,255,.9)}
.cg3-occ-hero-meta{font-size:14px;color:rgba(255,255,255,.78);margin:0 0 20px}
.cg3-occ-hero-meta b{color:#fff}
.cg3-occ-hero-cta{display:flex;flex-wrap:wrap;gap:10px}
.cg3-occ-chips{padding-top:16px;border-bottom:1px solid var(--c-line)}
.cg3-rv .cg3-occ-hero-in>*{animation:cg3-rise .7s var(--ease) both}
.cg3-rv .cg3-occ-hero-in>*:nth-child(2){animation-delay:.06s}.cg3-rv .cg3-occ-hero-in>*:nth-child(3){animation-delay:.12s}.cg3-rv .cg3-occ-hero-in>*:nth-child(4){animation-delay:.18s}.cg3-rv .cg3-occ-hero-in>*:nth-child(5){animation-delay:.24s}
@keyframes cg3-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ======================================================================
   v3.2 — OUR STORE
   ====================================================================== */
.cg3-store{padding:clamp(40px,7vw,90px) 16px;background:var(--c-bg2)}
.cg3-store-in{max-width:1100px;margin:0 auto;display:grid;gap:clamp(22px,4vw,56px);align-items:center}
@media (min-width:860px){.cg3-store-in{grid-template-columns:1fr 1fr}}
.cg3-store-photo{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2);aspect-ratio:1/1;background:var(--c-dark)}
.cg3-store-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.cg3-store:hover .cg3-store-photo img{transform:scale(1.03)}
.cg3-store-open{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--pill);background:rgba(23,18,13,.82);color:#fff;font-size:13.5px;font-weight:700;letter-spacing:.02em}
.cg3-store-open i{width:9px;height:9px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 0 rgba(74,222,128,.7);animation:cg3-pulse 2s infinite}
@keyframes cg3-pulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.6)}70%{box-shadow:0 0 0 10px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
.cg3-store-copy h2{font-family:var(--serif);font-size:clamp(28px,4.4vw,42px);line-height:1.1;margin:6px 0 12px}
.cg3-store-copy>p{color:var(--c-muted);font-size:17px;line-height:1.6;margin:0 0 16px;max-width:44ch}
.cg3-store-facts{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.cg3-store-facts li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;color:var(--c-text)}
.cg3-store-facts svg{color:var(--c-brand);flex:0 0 auto;margin-top:1px}
.cg3-store-cta{display:flex;flex-wrap:wrap;gap:10px}

/* ======================================================================
   v3.2 — VIDEO MESSAGE box (thank-you page, My Account)
   ====================================================================== */
.cg3-vm-box{display:flex;gap:16px;align-items:flex-start;margin:22px 0;padding:20px;border-radius:var(--r);background:linear-gradient(150deg,#FFF6E1,#F3DFB2);border:1px solid #E6D3AA}
.cg3-vm-ic{font-size:30px;line-height:1;flex:0 0 auto}
.cg3-vm-box h2{font-family:var(--serif);font-size:22px!important;margin:0 0 6px!important;color:var(--c-text)}
.cg3-vm-box p{margin:0 0 14px;color:var(--c-muted);font-size:15px;line-height:1.55}
.cg3-vm-box .cg3-btn{color:#fff!important;text-decoration:none!important}

/* ======================================================================
   v3.2 — LIGHTBOX (happy customers)
   ====================================================================== */
.cg3-lb{position:fixed;inset:0;z-index:2000;background:rgba(15,11,8,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .25s}
.cg3-lb.on{opacity:1}
.cg3-lb img{max-width:min(94vw,900px);max-height:78vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.6);transform:scale(.94);transition:transform .35s var(--ease);background:#fff;padding:10px 10px 10px}
.cg3-lb.on img{transform:none}
.cg3-lb p{color:#F4EBDD;margin:14px 0 0;font-size:15px;text-align:center}
.cg3-lb button{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:26px;cursor:pointer}
