/* =====================================================================
   CHAPTER GIFTING — CATALOGUE
   One markup, four faces:
   1. Book (default on screen) → pages turn like a magazine (page-flip)
   2. List view on a computer  → A4 sheets on a dark desk
   3. List view on a phone     → flowing cards, big photos, enquiry bar
   4. Print / PDF              → exact A4, one sheet per page, colours kept
   Units inside a page are mm/pt so the PDF matches the screen.
   ===================================================================== */

:root{
  --ink:#16120D; --ink2:#221A12; --ivory:#FBF7F0; --sand:#F4ECDF; --paper:#FFFDF9;
  --gold:#C9A24B; --gold2:#E3C77A; --goldink:#8A6420; --brown:#653A1C;
  --text:#1E1914; --muted:#5E554A; --line:#E1D5C1; --tile:#FFFFFF;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --ui:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --pad:14mm;
}
.style-noir{
  --paper:#17120D; --sand:#211A13; --text:#F4EBDD; --muted:#CBBFAA; --line:rgba(227,199,122,.22);
  --tile:#FFFDF9; --goldink:#E3C77A; --brown:#E3C77A;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.cgc-body{margin:0;font-family:var(--ui);color:var(--text);background:#2A2119;-webkit-print-color-adjust:exact;print-color-adjust:exact}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;cursor:pointer}
[hidden]{display:none!important}
.cgc-kicker{font:700 7.5pt/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--goldink);margin:0 0 3mm}
.cgc-rule{display:block;width:26mm;height:.5mm;background:linear-gradient(90deg,transparent,var(--gold2),transparent);margin:5mm auto}

/* ---------------------------------------------------------------------
   THE SHEETS (computer list view + print + PDF + inside the book)
   --------------------------------------------------------------------- */
.cgc-book{display:flex;flex-direction:column;align-items:center;gap:26px;padding:84px 16px 140px}
.cgc-page{position:relative;width:210mm;height:297mm;overflow:hidden;background:var(--paper);box-shadow:0 30px 70px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.25);display:flex;flex-direction:column;break-after:page;page-break-after:always}
.cgc-page:last-child{break-after:auto;page-break-after:auto}

/* running header + footer on inside pages */
.cgc-ph{flex:0 0 auto;height:17mm;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:.3mm solid var(--line)}
.cgc-ph-brand{display:flex;align-items:center;gap:2.6mm;font:600 11pt/1 var(--serif);color:var(--text)}
.cgc-ph-brand em{color:var(--goldink)}
.cgc-ph-logo{width:8mm;height:8mm;border-radius:2.2mm;background:var(--ink);display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 .25mm rgba(227,199,122,.3)}
.cgc-ph-logo img{height:6mm;width:auto}
.cgc-ph-title{font:700 7pt/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);max-width:95mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cgc-pf{position:absolute;left:0;right:0;bottom:0;height:12mm;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;font:500 7.5pt/1 var(--ui);color:var(--muted);letter-spacing:.04em}
.cgc-pn{font:600 12pt/1 var(--serif);color:var(--goldink)}

/* ---------------------------------------------------------------------
   COVER + BACK
   --------------------------------------------------------------------- */
.cgc-cover,.cgc-back,.cgc-divider{background:radial-gradient(120% 70% at 50% 18%,#3A2A1B 0%,#1C150F 55%,#110D09 100%);color:#F4EBDD}
.cgc-cover::after,.cgc-back::after{content:"";position:absolute;inset:8mm;border:.35mm solid rgba(227,199,122,.38);border-radius:2mm;pointer-events:none}
.cgc-cover-glow{position:absolute;left:50%;top:18%;width:150mm;height:150mm;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(227,199,122,.22),transparent 62%);pointer-events:none}
.cgc-cover-in{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24mm 22mm 10mm}
.cgc-cover.has-photo .cgc-cover-in{flex:0 0 auto;padding-top:30mm;padding-bottom:6mm}
.cgc-cover-logo{width:38mm}
.cgc-cover-logo img{width:100%;height:auto;filter:drop-shadow(0 4mm 8mm rgba(0,0,0,.45))}
.cgc-cover-brand{margin:7mm 0 0;font:700 9pt/1 var(--ui);letter-spacing:.42em;text-transform:uppercase;color:var(--gold2)}
.cgc-cover h1{margin:0;font:600 40pt/1.04 var(--serif);letter-spacing:-.01em;color:#FFFDF6;max-width:150mm}
.cgc-cover-sub{margin:5mm 0 0;font:400 12pt/1.5 var(--ui);color:#D9CDB8;max-width:120mm}
.cgc-pill{display:inline-block;margin-top:8mm;padding:2.6mm 6mm;border-radius:20mm;border:.35mm solid rgba(227,199,122,.7);font:700 8pt/1 var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}
.cgc-for{position:relative;margin:7mm 0 0;display:flex;flex-direction:column;align-items:center;gap:1.6mm}
.cgc-for small{font:600 7.5pt/1 var(--ui);letter-spacing:.3em;text-transform:uppercase;color:rgba(244,235,221,.72)}
.cgc-for b{font:italic 500 19pt/1.15 var(--serif);color:var(--gold2);max-width:140mm}
.cgc-for::before{content:"";width:16mm;height:.3mm;margin-bottom:2.2mm;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}
.cgc-cover-photo{position:relative;margin:4mm auto 0;width:120mm;height:92mm;border-radius:60mm 60mm 3mm 3mm;overflow:hidden;box-shadow:0 0 0 .6mm rgba(227,199,122,.55),0 10mm 20mm rgba(0,0,0,.45)}
.cgc-cover-photo img{width:100%;height:100%;object-fit:cover}
.cgc-cover-foot{position:relative;z-index:1;flex:0 0 auto;display:flex;justify-content:space-between;gap:4mm;padding:0 16mm 14mm;font:600 7pt/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:rgba(244,235,221,.7)}

.cgc-back-in{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20mm 24mm}
.cgc-back-logo{width:26mm;height:auto}
.cgc-back h2{margin:8mm 0 3mm;font:600 30pt/1.1 var(--serif);color:#FFFDF6}
.cgc-back h2 em,.cgc-about h2 em{font-style:italic;color:var(--gold2)}
.cgc-back-lead{max-width:125mm;margin:0 0 10mm;font:400 11pt/1.55 var(--ui);color:#D9CDB8}
.cgc-back-grid{display:grid;grid-template-columns:1fr auto;gap:10mm;align-items:center;text-align:left;width:100%;max-width:150mm;padding:8mm;border-radius:3mm;background:rgba(255,253,246,.05);box-shadow:inset 0 0 0 .3mm rgba(227,199,122,.3)}
.cgc-contact{list-style:none;margin:0;padding:0;display:grid;gap:4.5mm}
.cgc-contact li,.cgc-contact a{display:flex;gap:3.5mm;align-items:center;color:#FFFDF6;font:600 11pt/1.3 var(--ui);text-decoration:none}
.cgc-contact svg{color:var(--gold2);flex:0 0 auto}
.cgc-contact small{display:block;font:700 6.5pt/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:rgba(227,199,122,.85);margin-bottom:1.2mm}
.cgc-qr{text-align:center}
.cgc-qr #cgcQr{width:34mm;height:34mm;padding:2.4mm;background:#FFFDF6;border-radius:2mm;margin:0 auto}
.cgc-qr #cgcQr svg{width:100%;height:100%;display:block}
.cgc-qr small{display:block;margin-top:2.5mm;font:500 7pt/1.3 var(--ui);color:rgba(244,235,221,.75);max-width:36mm}
.cgc-legal{margin:10mm 0 0;font:500 7.5pt/1.7 var(--ui);color:rgba(244,235,221,.6)}

/* ---------------------------------------------------------------------
   ABOUT
   --------------------------------------------------------------------- */
.cgc-about-in{display:grid;grid-template-columns:1.15fr .85fr;gap:10mm;padding:12mm var(--pad) 0;align-items:center}
.cgc-about h2{margin:0 0 5mm;font:600 26pt/1.1 var(--serif);color:var(--text)}
.cgc-about h2 em{color:var(--goldink)}
.cgc-about-copy p{margin:0 0 4mm;font:400 10pt/1.62 var(--ui);color:var(--muted)}
.cgc-about-copy .cgc-lead{font:500 11.5pt/1.55 var(--ui);color:var(--text)}
.cgc-vp{display:flex;gap:2.5mm;align-items:center;margin-top:5mm!important;padding:3mm 4mm;border-radius:2mm;background:var(--sand);color:var(--text)!important;font:600 9.5pt/1.3 var(--ui)!important}
.cgc-vp svg{color:var(--goldink);flex:0 0 auto}
.cgc-about-photo{margin:0;border-radius:36mm 36mm 3mm 3mm;overflow:hidden;aspect-ratio:4/5;box-shadow:0 0 0 .5mm var(--gold),0 8mm 18mm rgba(40,25,10,.2);position:relative}
.cgc-about-photo img{width:100%;height:100%;object-fit:cover}
.cgc-about-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:6mm 4mm 3mm;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;font:600 8pt/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;text-align:center}
.cgc-stats{list-style:none;margin:12mm var(--pad) 0;padding:7mm 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:.3mm solid var(--line);border-bottom:.3mm solid var(--line);text-align:center}
.cgc-stats b{display:block;font:600 24pt/1 var(--serif);color:var(--goldink)}
.cgc-stats span{display:block;margin-top:2mm;font:600 7.5pt/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cgc-promise{list-style:none;margin:10mm var(--pad) 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6mm}
.cgc-promise li{display:flex;flex-direction:column;gap:1.8mm}
.cgc-promise svg{color:var(--goldink)}
.cgc-promise b{font:600 11pt/1.25 var(--serif);color:var(--text)}
.cgc-promise span{font:400 8.5pt/1.5 var(--ui);color:var(--muted)}

/* ---------------------------------------------------------------------
   CONTENTS
   --------------------------------------------------------------------- */
.cgc-contents-in{padding:20mm 24mm 0}
.cgc-contents h2{margin:0 0 12mm;font:600 36pt/1 var(--serif)}
.cgc-toc{list-style:none;margin:0;padding:0;display:grid;gap:5.5mm}
.cgc-toc a{display:flex;align-items:baseline;gap:5mm;text-decoration:none}
.cgc-toc .n{font:600 20pt/1 var(--serif);color:var(--gold);min-width:12mm}
.cgc-toc .t{font:600 15pt/1.2 var(--serif);color:var(--text)}
.cgc-toc .t small{display:block;margin-top:1.2mm;font:500 7.5pt/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cgc-toc .dots{flex:1;border-bottom:.35mm dotted var(--line);transform:translateY(-1.5mm)}
.cgc-toc .pg{font:600 13pt/1 var(--serif);color:var(--goldink)}
.cgc-contents-note{margin:14mm 0 0;font:500 8.5pt/1.5 var(--ui);color:var(--muted)}

/* ---------------------------------------------------------------------
   SECTION DIVIDER
   --------------------------------------------------------------------- */
.cgc-divider-in{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 20mm 70mm}
.cgc-divider-n{font:600 110pt/1 var(--serif);color:transparent;-webkit-text-stroke:.5mm rgba(227,199,122,.8);letter-spacing:-.02em}
.cgc-divider-k{margin:4mm 0 0!important;font:700 8pt/1 var(--ui)!important;letter-spacing:.3em!important;color:var(--gold2)!important}
.cgc-divider h2{margin:2mm 0 0;font:600 42pt/1.05 var(--serif);color:#FFFDF6;max-width:140mm}
.cgc-divider .cgc-rule{margin:7mm 0}
.cgc-divider p{margin:0;font:700 8pt/1 var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}
.cgc-divider-photo{position:absolute;right:-24mm;bottom:-18mm;width:150mm;height:150mm;margin:0;border-radius:50%;overflow:hidden;background:#FFFDF6;box-shadow:0 0 0 1.4mm rgba(227,199,122,.55),0 0 0 5mm rgba(227,199,122,.12)}
.cgc-divider-photo img{width:100%;height:100%;object-fit:contain;padding:14mm;mix-blend-mode:multiply}
.cgc-divider.is-hl .cgc-divider-n{-webkit-text-stroke-color:#F1DC9E}
.cgc-divider .cgc-pf{color:rgba(244,235,221,.6)}
.cgc-divider .cgc-pn{color:var(--gold2)}

/* ---------------------------------------------------------------------
   PRODUCT PAGES
   --------------------------------------------------------------------- */
.cgc-items-in{flex:1;display:grid;padding:7mm var(--pad) 16mm;gap:0;min-height:0}
.cgc-item{position:relative;display:grid;gap:8mm;min-height:0;overflow:hidden;padding:6mm 0}
.cgc-item + .cgc-item{border-top:.3mm solid var(--line)}
.cgc-media{display:flex;flex-direction:column;gap:2.5mm;min-width:0}
.cgc-main{position:relative;aspect-ratio:1/1;border-radius:3mm;background:var(--tile);box-shadow:inset 0 0 0 .3mm var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center}
.cgc-main img{width:100%;height:100%;object-fit:contain;padding:3.5mm}
.cgc-noimg{color:var(--line)}
.cgc-badge{position:absolute;left:3mm;top:3mm;padding:1.6mm 3mm;border-radius:10mm;background:var(--ink);color:var(--gold2);font:700 6.5pt/1 var(--ui);letter-spacing:.14em;text-transform:uppercase}
.cgc-thumbs{display:flex;gap:2mm}
.cgc-thumb{flex:0 0 auto;width:15mm;height:15mm;padding:0;border:0;border-radius:2mm;background:var(--tile);box-shadow:inset 0 0 0 .3mm var(--line);overflow:hidden}
.cgc-thumb img{width:100%;height:100%;object-fit:contain;padding:1mm}
.cgc-thumb.on{box-shadow:inset 0 0 0 .5mm var(--gold)}
.cgc-info{min-width:0;display:flex;flex-direction:column}
.cgc-code{margin:0 0 1.6mm;font:700 7.5pt/1 var(--ui);letter-spacing:.2em;color:var(--goldink)}
.cgc-name{margin:0 0 2.6mm;font:600 17pt/1.15 var(--serif);color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cgc-desc{margin:0 0 3mm;font:400 9.2pt/1.55 var(--ui);color:var(--muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.cgc-specs{margin:0 0 3mm;display:grid;grid-template-columns:1fr 1fr;gap:1.6mm 4mm}
.cgc-specs div{min-width:0}
.cgc-specs dt{font:700 6.5pt/1.2 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cgc-specs dd{margin:.6mm 0 0;font:600 8.8pt/1.3 var(--ui);color:var(--text);overflow:hidden;text-overflow:ellipsis}
.cgc-chips{list-style:none;margin:0 0 3.4mm;padding:0;display:flex;flex-wrap:wrap;gap:1.6mm}
.cgc-chips li{display:inline-flex;align-items:center;gap:1.4mm;padding:1.3mm 2.6mm;border-radius:10mm;background:var(--sand);font:600 7.5pt/1.2 var(--ui);color:var(--text)}
.cgc-chips svg{color:var(--goldink);width:3.4mm;height:3.4mm}
.cgc-tiers{width:100%;border-collapse:separate;border-spacing:0;border-radius:2mm;overflow:hidden;box-shadow:inset 0 0 0 .3mm var(--line);font:500 8.8pt/1.2 var(--ui)}
.cgc-tiers th{padding:2mm 3mm;background:var(--ink);color:var(--gold2);font:700 6.5pt/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;text-align:left}
.style-noir .cgc-tiers th{background:#0e0b08}
.cgc-tiers th:last-child,.cgc-tiers td:last-child{text-align:right}
.cgc-tiers td{padding:1.9mm 3mm;border-top:.25mm solid var(--line);color:var(--text)}
.cgc-tiers tbody tr:nth-child(even) td{background:var(--sand)}
.cgc-tiers td:last-child{font:600 11pt/1 var(--serif);color:var(--brown)}
.cgc-tiers td em{font:italic 500 8.5pt/1 var(--ui);color:var(--muted)}
.cgc-tiers tr.on td{background:#FFF1CC!important}
.style-noir .cgc-tiers tr.on td{background:rgba(227,199,122,.18)!important}
/* one live price from the website */
.cgc-price{display:flex;flex-direction:column;gap:1mm;padding:3mm 4mm;border-radius:2.4mm;background:var(--sand);box-shadow:inset 0 0 0 .3mm var(--line)}
.cgc-price-k{font:700 6.5pt/1 var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.cgc-price-v{display:flex;align-items:baseline;flex-wrap:wrap;gap:1.2mm 2.4mm}
.cgc-price-v b{font:600 20pt/1 var(--serif);color:var(--brown)}
.cgc-price-v s{font:500 10pt/1 var(--ui);color:var(--muted)}
.cgc-price-v small{font:600 7.5pt/1 var(--ui);color:var(--muted)}
.cgc-por{margin:0;padding:3mm;border-radius:2mm;background:var(--sand);font:600 10pt/1 var(--serif);color:var(--goldink);text-align:center}
.cgc-note{margin:2mm 0 0;font:italic 400 7.8pt/1.4 var(--ui);color:var(--muted)}
/* WhatsApp link that only the PDF shows (it stays clickable in the PDF) */
.cgc-pdfwa{display:none;align-self:flex-start;align-items:center;gap:1.6mm;margin-top:3mm;padding:1.8mm 3.4mm;border-radius:10mm;background:#1F8F4E;color:#fff;font:700 7.5pt/1 var(--ui);letter-spacing:.02em;text-decoration:none}
.cgc-pdfwa svg{width:3.4mm;height:3.4mm}
.cgc-open{display:none}

/* 2 per page: photo left, details right */
.cgc-per-2 .cgc-items-in{grid-template-rows:1fr 1fr}
.cgc-per-2 .cgc-item{grid-template-columns:76mm 1fr;align-items:start}

/* a page to itself: a wide photo stage on top (it takes whatever height is
   left), the extra photos as tiles, then the details in two columns */
.cgc-per-1 .cgc-items-in{grid-template-rows:minmax(0,1fr)}
.cgc-per-1 .cgc-item{display:flex;flex-direction:column;gap:5mm;padding-top:4mm;padding-bottom:0}
.cgc-per-1 .cgc-media{display:contents}
.cgc-per-1 .cgc-main{flex:1 1 0;min-height:60mm;aspect-ratio:auto;height:auto}
.cgc-per-1 .cgc-main img{padding:5mm}
.cgc-per-1 .cgc-thumbs{display:none}
.cgc-per-1 .cgc-tiles{flex:0 0 auto;display:grid;grid-template-columns:repeat(var(--tc,4),minmax(0,1fr));gap:3mm}
.cgc-per-1 .cgc-tile{width:auto;height:auto;aspect-ratio:1/1;border-radius:2.4mm}
.cgc-per-1 .cgc-tile img{padding:1.6mm}
.cgc-per-1 .cgc-info{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 66mm;column-gap:9mm;align-content:start}
.cgc-per-1 .cgc-info>*{grid-column:1}
.cgc-per-1 .cgc-info>.cgc-tiers,.cgc-per-1 .cgc-info>.cgc-price,.cgc-per-1 .cgc-info>.cgc-por,.cgc-per-1 .cgc-info>.cgc-note,.cgc-per-1 .cgc-info>.cgc-pdfwa{grid-column:2}
.cgc-per-1 .cgc-info>.cgc-tiers,.cgc-per-1 .cgc-info>.cgc-price,.cgc-per-1 .cgc-info>.cgc-por{grid-row:1 / span 5;align-self:start}
.cgc-per-1 .cgc-name{font-size:22pt;-webkit-line-clamp:2}
.cgc-per-1 .cgc-desc{-webkit-line-clamp:4;font-size:9.8pt}
.cgc-per-1 .cgc-act{top:4mm}

/* ---------------------------------------------------------------------
   SCREEN EXTRAS: top bar, enquiry, actions
   --------------------------------------------------------------------- */
.cgc-bar{position:fixed;top:0;left:0;right:0;z-index:50;height:58px;padding:0 max(14px,env(safe-area-inset-left));display:flex;align-items:center;gap:8px;background:rgba(22,18,13,.96);color:#F4EBDD;box-shadow:0 1px 0 rgba(227,199,122,.2)}
.cgc-bar-brand{display:flex;text-decoration:none}
.cgc-bar .cgc-ph-logo{width:36px;height:36px;border-radius:10px}
.cgc-bar .cgc-ph-logo img{height:27px}
.cgc-bar-title{flex:1;min-width:0;font:600 16px/1.1 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cgc-bar-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(227,199,122,.55);background:transparent;color:#F1DC9E;font:700 13px/1 var(--ui);text-decoration:none}
.cgc-pdf{background:linear-gradient(135deg,#E3C77A,#C9A24B);color:#2A1A0E;border-color:transparent}
.cgc-pdf .cgc-dl{transform:rotate(90deg)}

.cgc-printbar{position:fixed;top:58px;left:0;right:0;z-index:49;padding:10px 16px;background:#FFF4D6;color:#3a2a10;font:500 14px/1.45 var(--ui);box-shadow:0 2px 8px rgba(0,0,0,.2)}
.cgc-printbar button{margin-left:10px;min-height:36px;padding:0 14px;border:0;border-radius:999px;background:#653A1C;color:#fff;font-weight:700}
.is-print .cgc-book{padding-top:130px}
.cgc-printnote{display:none}

/* item actions: floating on the sheet (computer list view) */
.cgc-act{position:absolute;right:0;top:6mm;z-index:2;display:flex;align-items:center;gap:6px;padding:5px;border-radius:999px;background:rgba(255,253,249,.96);box-shadow:0 4px 14px rgba(40,25,10,.16);opacity:.94;transition:opacity .2s}
.style-noir .cgc-act{background:rgba(23,18,13,.96)}
.cgc-item:hover .cgc-act{opacity:1}
.cgc-qty{display:flex;align-items:center;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.cgc-qty button{width:30px;height:32px;border:0;background:transparent;color:var(--text);font-size:17px}
.cgc-qty input{width:46px;height:32px;border:0;background:transparent;text-align:center;font:700 14px/1 var(--ui);color:var(--text);-moz-appearance:textfield;appearance:textfield}
.cgc-qty input::-webkit-inner-spin-button,.cgc-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cgc-add{height:34px;padding:0 14px;border:0;border-radius:999px;background:var(--ink);color:#F1DC9E;font:700 13px/1 var(--ui);white-space:nowrap}
.style-noir .cgc-add{background:linear-gradient(135deg,#E3C77A,#C9A24B);color:#2A1A0E}
.cgc-add.added{background:#1F7A45;color:#fff}
.cgc-wa{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#1F8F4E;color:#fff}
.cgc-est{position:absolute;right:8px;top:calc(100% + 4px);margin:0;padding:4px 10px;border-radius:999px;background:var(--ink);color:#F1DC9E;font:700 12px/1.2 var(--ui);white-space:nowrap;pointer-events:none}
.cgc-est:empty{display:none}

/* enquiry bar + sheet */
.cgc-enq-bar{position:fixed;z-index:60;right:20px;bottom:20px;display:flex;align-items:center;gap:10px;min-height:58px;padding:0 10px 0 16px;border:0;border-radius:999px;background:linear-gradient(135deg,#E3C77A,#C9A24B);color:#2A1A0E;box-shadow:0 12px 30px rgba(0,0,0,.35);font:600 14px/1.2 var(--ui)}
.cgc-enq-n{min-width:30px;height:30px;border-radius:50%;background:#16120D;color:#F1DC9E;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.cgc-enq-sum{font-weight:800}
.cgc-enq-bar b{padding:10px 14px;border-radius:999px;background:#16120D;color:#F1DC9E}
.cgc-enq-sheet{position:fixed;z-index:90;right:20px;bottom:90px;width:min(420px,calc(100vw - 24px));max-height:min(78vh,720px);overflow:auto;overscroll-behavior:contain;padding:18px;border-radius:20px;background:#FFFDF9;color:#1E1914;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.cgc-enq-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cgc-enq-head h2{margin:0;font:600 22px/1.1 var(--serif)}
.cgc-enq-x{width:44px;height:44px;border:0;border-radius:50%;background:#F4ECDF;font-size:24px;color:#1E1914}
.cgc-enq-list{list-style:none;margin:0 0 10px;padding:0}
.cgc-enq-list li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #E1D5C1;font:500 14px/1.35 var(--ui)}
.cgc-enq-list b{display:block;font:700 12px/1 var(--ui);letter-spacing:.12em;color:#8A6420;margin-bottom:3px}
.cgc-enq-list input{width:64px;min-height:40px;border:1px solid #C9B89C;border-radius:10px;text-align:center;font:700 16px/1 var(--ui)}
.cgc-enq-list button{width:40px;height:40px;border:0;border-radius:50%;background:#F4ECDF;color:#A4332A;font-size:20px}
.cgc-enq-total{margin:4px 0 12px;font:700 15px/1.3 var(--ui)}
.cgc-enq-sheet label{display:block;margin:0 0 10px;font:600 13px/1.3 var(--ui);color:#5E554A}
.cgc-enq-sheet label input{display:block;width:100%;margin-top:5px;min-height:46px;padding:0 12px;border:1px solid #9A8B74;border-radius:12px;font:500 16px/1 var(--ui);color:#1E1914;background:#fff}
.cgc-enq-send{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border:0;border-radius:999px;background:#1F8F4E;color:#fff;font:800 16px/1 var(--ui)}
.cgc-enq-fine{margin:10px 0 0;font:500 12px/1.4 var(--ui);color:#5E554A;text-align:center}
.cgc-toast{position:fixed;left:50%;bottom:96px;z-index:120;transform:translateX(-50%);padding:10px 18px;border-radius:999px;background:#16120D;color:#F1DC9E;font:700 14px/1.2 var(--ui);box-shadow:0 10px 24px rgba(0,0,0,.35);animation:cgcToast 1.8s ease forwards;white-space:nowrap}
@keyframes cgcToast{0%{opacity:0;transform:translate(-50%,10px)}12%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}

/* ---------------------------------------------------------------------
   LIST VIEW ON A PHONE — flowing cards (screen only)
   --------------------------------------------------------------------- */
@media screen and (max-width:899px){
  .cgc-bar{gap:6px;padding:0 10px}
  .cgc-bar-title{font-size:15px}
  .cgc-bar-btn{padding:0 11px;font-size:12.5px}
  .cgc-bar-toc{display:none}
  .cgc-share span,.cgc-bookview span{display:none}
  .cgc-share,.cgc-bookview{padding:0;width:40px;justify-content:center}
  .cgc-flow.cgc-body{background:var(--ivory)}
  .cgc-flow.style-noir.cgc-body{background:#110D09}
  .cgc-flow .cgc-book{padding:58px 0 110px;gap:0}
  .cgc-flow .cgc-page{width:100%;height:auto;min-height:0;box-shadow:none;overflow:hidden}
  .cgc-flow .cgc-ph,.cgc-flow .cgc-pf{display:none}
  /* cover */
  .cgc-flow .cgc-cover{min-height:calc(100svh - 58px)}
  .cgc-flow .cgc-cover::after,.cgc-flow .cgc-back::after{inset:12px}
  .cgc-flow .cgc-cover-in{padding:48px 26px 20px}
  .cgc-flow .cgc-cover-logo{width:120px}
  .cgc-flow .cgc-cover-brand{font-size:11px;margin-top:22px}
  .cgc-flow .cgc-rule{width:80px;height:2px;margin:18px auto}
  .cgc-flow .cgc-cover h1{font-size:clamp(34px,10vw,46px)}
  .cgc-flow .cgc-cover-sub{font-size:16px;margin-top:14px}
  .cgc-flow .cgc-pill{margin-top:22px;font-size:11px;padding:9px 18px}
  .cgc-flow .cgc-for{margin-top:24px;gap:6px}
  .cgc-flow .cgc-for small{font-size:10.5px}
  .cgc-flow .cgc-for b{font-size:clamp(22px,6.4vw,30px);max-width:92%}
  .cgc-flow .cgc-for::before{width:56px;height:1px;margin-bottom:8px}
  .cgc-flow .cgc-cover-photo{width:78vw;height:58vw;max-width:360px;max-height:270px;margin-top:10px}
  .cgc-flow .cgc-cover-foot{flex-wrap:wrap;justify-content:center;gap:8px 16px;padding:24px 20px 30px;font-size:10px}
  /* about */
  .cgc-flow .cgc-about{padding:36px 20px 30px}
  .cgc-flow .cgc-about-in{grid-template-columns:1fr;padding:0;gap:22px}
  .cgc-flow .cgc-kicker{font-size:11px;margin-bottom:10px}
  .cgc-flow .cgc-about h2{font-size:30px;margin-bottom:14px}
  .cgc-flow .cgc-about-copy p{font-size:16px;margin-bottom:12px}
  .cgc-flow .cgc-about-copy .cgc-lead{font-size:17px}
  .cgc-flow .cgc-vp{padding:12px 14px;border-radius:12px;font-size:15px!important;gap:10px}
  .cgc-flow .cgc-about-photo{border-radius:140px 140px 14px 14px;max-width:340px;width:100%;margin:0 auto}
  .cgc-flow .cgc-about-photo figcaption{font-size:12px;padding:30px 12px 12px}
  .cgc-flow .cgc-stats{margin:26px 0 0;padding:20px 0}
  .cgc-flow .cgc-stats b{font-size:28px}
  .cgc-flow .cgc-stats span{font-size:10.5px;margin-top:6px}
  .cgc-flow .cgc-promise{grid-template-columns:1fr;margin:24px 0 0;gap:16px}
  .cgc-flow .cgc-promise b{font-size:17px}
  .cgc-flow .cgc-promise span{font-size:14.5px}
  /* contents */
  .cgc-flow .cgc-contents{padding:34px 20px 26px;background:var(--sand)}
  .cgc-flow .cgc-contents-in{padding:0}
  .cgc-flow .cgc-contents h2{font-size:32px;margin-bottom:22px}
  .cgc-flow .cgc-toc{gap:16px}
  .cgc-flow .cgc-toc .n{font-size:22px;min-width:40px}
  .cgc-flow .cgc-toc .t{font-size:18px}
  .cgc-flow .cgc-toc .t small{font-size:10.5px;margin-top:4px}
  .cgc-flow .cgc-toc .pg,.cgc-flow .cgc-toc .dots{display:none}
  .cgc-flow .cgc-contents-note{margin-top:22px;font-size:13px}
  /* divider */
  .cgc-flow .cgc-divider{min-height:0;padding:44px 22px;overflow:hidden}
  .cgc-flow .cgc-divider-in{padding:0;position:relative;z-index:1}
  .cgc-flow .cgc-divider-n{font-size:84px;-webkit-text-stroke-width:1.5px}
  .cgc-flow .cgc-divider h2{font-size:34px}
  .cgc-flow .cgc-divider .cgc-rule{margin:16px 0}
  .cgc-flow .cgc-divider p{font-size:11px}
  .cgc-flow .cgc-divider-k{font-size:10.5px!important;margin-top:10px!important}
  .cgc-flow .cgc-divider-photo{width:190px;height:190px;right:-40px;bottom:-40px;opacity:.9}
  .cgc-flow .cgc-divider-photo img{padding:22px}
  /* products */
  .cgc-flow .cgc-items-in{display:block;padding:8px 16px 14px}
  .cgc-flow .cgc-item{display:block;padding:20px 0 26px;overflow:visible}
  .cgc-flow .cgc-item + .cgc-item{border-top:1px solid var(--line)}
  .cgc-flow .cgc-media{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
  .cgc-flow .cgc-main{aspect-ratio:1/1;height:auto;flex:none;border-radius:18px}
  .cgc-flow .cgc-per-1 .cgc-item{display:block}
  .cgc-flow .cgc-per-1 .cgc-info{display:flex}
  .cgc-flow .cgc-main img{padding:14px}
  .cgc-flow .cgc-badge{left:12px;top:12px;padding:6px 11px;font-size:10.5px;border-radius:999px}
  .cgc-flow .cgc-thumbs{display:flex;flex-direction:row;gap:8px;overflow-x:auto;scrollbar-width:none}
  .cgc-flow .cgc-thumb{width:64px;height:64px;border-radius:12px}
  .cgc-flow .cgc-thumb img{padding:4px}
  .cgc-flow .cgc-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .cgc-flow .cgc-tile{width:auto;height:auto;aspect-ratio:1/1;border-radius:12px}
  .cgc-flow .cgc-info{display:flex;flex-direction:column;overflow:visible}
  .cgc-flow .cgc-code{font-size:11px;margin-bottom:6px}
  .cgc-flow .cgc-name{font-size:24px;-webkit-line-clamp:unset;margin-bottom:8px}
  .cgc-flow .cgc-desc{font-size:15.5px;-webkit-line-clamp:unset;margin-bottom:12px}
  .cgc-flow .cgc-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:14px}
  .cgc-flow .cgc-specs dt{font-size:10px}
  .cgc-flow .cgc-specs dd{font-size:14.5px;margin-top:3px}
  .cgc-flow .cgc-chips{gap:8px;margin-bottom:14px}
  .cgc-flow .cgc-chips li{padding:7px 12px;font-size:13px;gap:6px}
  .cgc-flow .cgc-chips svg{width:15px;height:15px}
  .cgc-flow .cgc-tiers{border-radius:12px;font-size:15px;margin-bottom:4px}
  .cgc-flow .cgc-tiers th{padding:10px 14px;font-size:10.5px}
  .cgc-flow .cgc-tiers td{padding:11px 14px;font-size:15px}
  .cgc-flow .cgc-tiers td:last-child{font-size:18px}
  .cgc-flow .cgc-price{padding:12px 14px;border-radius:12px;gap:4px}
  .cgc-flow .cgc-price-k{font-size:10.5px}
  .cgc-flow .cgc-price-v b{font-size:28px}
  .cgc-flow .cgc-price-v s{font-size:15px}
  .cgc-flow .cgc-price-v small{font-size:12.5px}
  .cgc-flow .cgc-por{padding:14px;border-radius:12px;font-size:17px}
  .cgc-flow .cgc-note{display:block;font-size:13px;margin-top:8px}
  /* actions become a full-width row */
  .cgc-flow .cgc-act{position:static;margin-top:16px;padding:0;background:none;box-shadow:none;opacity:1;flex-wrap:wrap;gap:10px}
  .cgc-flow .cgc-qty button{width:44px;height:48px;font-size:22px}
  .cgc-flow .cgc-qty input{width:58px;height:48px;font-size:17px}
  .cgc-flow .cgc-add{flex:1;height:50px;font-size:15.5px}
  .cgc-flow .cgc-wa{width:50px;height:50px}
  .cgc-flow .cgc-est{position:static;flex-basis:100%;background:none;color:var(--goldink);padding:0 4px;font-size:14.5px}
  /* back */
  .cgc-flow .cgc-back{padding:40px 20px 60px}
  .cgc-flow .cgc-back-in{padding:10px 0}
  .cgc-flow .cgc-back-logo{width:90px}
  .cgc-flow .cgc-back h2{font-size:32px;margin:22px 0 10px}
  .cgc-flow .cgc-back-lead{font-size:16px;margin-bottom:24px}
  .cgc-flow .cgc-back-grid{grid-template-columns:1fr;padding:20px;gap:22px;border-radius:16px}
  .cgc-flow .cgc-contact{gap:16px}
  .cgc-flow .cgc-contact li,.cgc-flow .cgc-contact a{font-size:16px;gap:12px}
  .cgc-flow .cgc-contact small{font-size:10px;margin-bottom:4px}
  .cgc-flow .cgc-qr #cgcQr{width:150px;height:150px;padding:10px;border-radius:10px}
  .cgc-flow .cgc-qr small{font-size:12px;max-width:none;margin-top:8px}
  .cgc-flow .cgc-legal{font-size:12px;margin-top:24px}
  .cgc-enq-bar{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));justify-content:space-between}
  .cgc-enq-t{flex:1;text-align:left}
  .cgc-enq-sheet{left:0;right:0;bottom:0;width:100%;max-height:88vh;border-radius:22px 22px 0 0;padding:20px 18px max(20px,env(safe-area-inset-bottom))}
}

/* reveal on scroll (list view only, gentle) */
@media screen and (prefers-reduced-motion:no-preference){
  .js .cgc-flow .cgc-item{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
  .js .cgc-flow .cgc-item.in{opacity:1;transform:none}
}

/* ---------------------------------------------------------------------
   THE BOOK — pages turn like a magazine (page-flip library)
   --------------------------------------------------------------------- */
/* hold the list back for a moment while the book is being made, so it
   never flashes — and show it anyway if the book cannot start */
.cgc-wantbook .cgc-flow .cgc-book{visibility:hidden;animation:cgcShow 0s linear 3.5s forwards}
@keyframes cgcShow{to{visibility:visible}}
.is-book.cgc-body{background:radial-gradient(120% 90% at 50% 0%,#3A2A1B 0%,#1E1610 55%,#120E0A 100%) fixed;min-height:100vh;min-height:100svh;overflow-x:hidden}
.is-book .cgc-book{display:none}
.cgc-flipwrap{position:relative;display:flex;flex-direction:column;align-items:center;padding:74px 12px 8px;overflow:hidden}
.cgc-flipwrap::before{content:"";position:absolute;left:50%;top:44%;width:min(1100px,100%);height:70%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(227,199,122,.16),transparent);pointer-events:none}
#cgcFlip{position:relative;margin:0 auto;--k:.5}
.cgc-flipsize{position:relative;max-width:100%;margin:0 auto}
#cgcFlip .stf__parent{margin:0 auto}
.cgc-leaf{background:var(--paper);overflow:hidden}
.cgc-leaf>.cgc-page{position:absolute;left:0;top:0;margin:0;box-shadow:none;transform:scale(var(--k));transform-origin:0 0;break-after:auto}
/* a soft shadow along the spine, like a real bound book */
.cgc-leaf::after{content:"";position:absolute;top:0;bottom:0;width:7%;pointer-events:none;z-index:5}
.cgc-leaf.--left::after{right:0;background:linear-gradient(90deg,transparent,rgba(40,25,10,.16))}
.cgc-leaf.--right::after{left:0;background:linear-gradient(270deg,transparent,rgba(40,25,10,.16))}
.--portrait .cgc-leaf::after,.cgc-leaf.--hard::after{content:none}
.stf__parent{position:relative;display:block;box-sizing:border-box;transform:translateZ(0);touch-action:pan-y}
.stf__wrapper{position:relative;width:100%;box-sizing:border-box}
.stf__block{position:absolute;width:100%;height:100%;box-sizing:border-box;perspective:2000px}
.stf__item{display:none;position:absolute;transform-style:preserve-3d}
.stf__outerShadow,.stf__innerShadow,.stf__hardShadow,.stf__hardInnerShadow{position:absolute;left:0;top:0}
/* taps inside a page reach the link/button itself, never its picture or text,
   so the book forwards them instead of turning the page */
.is-book .cgc-leaf a *,.is-book .cgc-leaf button *{pointer-events:none}
.is-book .cgc-act,.is-book .cgc-est{display:none}
.is-book .cgc-open{display:block;position:absolute;inset:0;z-index:4;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.is-book .cgc-open::after{content:"";position:absolute;right:2mm;top:8mm;width:13mm;height:13mm;border-radius:50%;background:radial-gradient(circle,#F1DC9E 0,#C9A24B 70%);box-shadow:0 1.6mm 4mm rgba(40,25,10,.3),0 0 0 1.2mm rgba(255,253,246,.9);
  --p:linear-gradient(#231708,#231708);
  background-image:var(--p),var(--p),radial-gradient(circle,#F1DC9E 0,#C9A24B 70%);background-size:5.4mm .9mm,.9mm 5.4mm,100% 100%;background-position:center,center,center;background-repeat:no-repeat}
.is-book .cgc-per-1 .cgc-open::after{top:6mm}
.is-book .cgc-open:hover::after{filter:brightness(1.08)}
.is-book .cgc-open:focus-visible{outline:.8mm solid var(--gold);outline-offset:-1mm}
.is-book .cgc-thumb.on{box-shadow:inset 0 0 0 .3mm var(--line)}
/* the controls under the book */
.cgc-flipui{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 12px max(16px,env(safe-area-inset-bottom));color:#F1DC9E}
.cgc-fl-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(227,199,122,.45);background:rgba(255,253,246,.06);color:#F1DC9E;display:inline-flex;align-items:center;justify-content:center}
.cgc-fl-btn:hover{background:rgba(255,253,246,.12)}
.cgc-fl-btn[disabled]{opacity:.35;cursor:default}
.cgc-fl-pg{min-width:84px;text-align:center;font:700 14px/1 var(--ui);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.cgc-fl-view{margin-left:6px;min-height:40px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;color:#CBBFAA;font:700 13px/1 var(--ui);text-decoration:none;border:1px solid rgba(203,191,170,.3)}
.cgc-fl-view:hover{color:#fff}
.is-book .cgc-enq-bar{bottom:max(84px,calc(env(safe-area-inset-bottom) + 76px))}
/* first-visit hint */
.cgc-hint{position:fixed;left:50%;top:50%;z-index:80;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 24px;border-radius:20px;background:rgba(22,18,13,.9);color:#F4EBDD;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.5);pointer-events:none;animation:cgcHint 3.4s ease forwards}
.cgc-hint b{font:600 19px/1.2 var(--serif);color:#FFFDF6}
.cgc-hint span{font:500 13.5px/1.4 var(--ui);color:#CBBFAA;max-width:230px}
.cgc-hint-hand{width:46px;height:46px;border-radius:50%;border:2px solid #E3C77A;position:relative;animation:cgcSwipe 1.1s ease-in-out infinite}
.cgc-hint-hand::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;background:#E3C77A;transform:translate(-50%,-50%)}
@keyframes cgcSwipe{0%{transform:translateX(26px)}60%,100%{transform:translateX(-26px);opacity:.2}}
@keyframes cgcHint{0%{opacity:0}10%,82%{opacity:1}100%{opacity:0}}
@media (min-width:900px){.cgc-hint{top:auto;bottom:110px;transform:translateX(-50%)}}

/* ---------------------------------------------------------------------
   PRODUCT DETAIL SHEET (tap a product in the book)
   --------------------------------------------------------------------- */
.cgc-ds{position:fixed;inset:0;z-index:85;display:flex;align-items:flex-end;justify-content:center}
.cgc-ds-back{position:absolute;inset:0;background:rgba(10,7,4,.62);animation:cgcFade .25s ease}
.cgc-ds-panel{position:relative;width:100%;max-height:92vh;max-height:92svh;overflow:auto;overscroll-behavior:contain;background:var(--paper);color:var(--text);border-radius:22px 22px 0 0;padding:14px 18px max(22px,env(safe-area-inset-bottom));box-shadow:0 -20px 50px rgba(0,0,0,.4);animation:cgcUp .34s cubic-bezier(.2,.7,.2,1)}
@media (min-width:900px){.cgc-ds{align-items:center}.cgc-ds-panel{width:min(880px,calc(100vw - 48px));max-height:88vh;border-radius:22px;padding:22px 26px 26px}}
@keyframes cgcUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes cgcFade{from{opacity:0}}
.cgc-ds-grab{display:block;width:44px;height:5px;margin:0 auto 10px;border-radius:5px;background:#D9CCB6}
@media (min-width:900px){.cgc-ds-grab{display:none}}
.cgc-ds-x{position:sticky;top:0;float:right;z-index:3;width:44px;height:44px;margin:-4px -6px 0 0;border:0;border-radius:50%;background:#F4ECDF;color:#1E1914;font-size:24px;line-height:1}
.style-noir .cgc-ds-x{background:#2A2119;color:#F4EBDD}
.cgc-ds .cgc-item{display:block;padding:0;overflow:visible;border:0}
.cgc-ds .cgc-open,.cgc-ds .cgc-pdfwa{display:none!important}
.cgc-ds .cgc-media{display:flex;flex-direction:column;gap:10px;margin:0 0 16px}
.cgc-ds .cgc-main{flex:none;aspect-ratio:1/1;height:auto;max-height:min(62vh,520px);width:100%;border-radius:18px}
.cgc-ds .cgc-main img{padding:14px}
.cgc-ds .cgc-badge{left:12px;top:12px;padding:6px 11px;font-size:10.5px;border-radius:999px}
.cgc-ds .cgc-thumbs,.cgc-ds .cgc-tiles{display:flex;flex-direction:row;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.cgc-ds .cgc-thumb,.cgc-ds .cgc-tile{flex:0 0 auto;width:64px;height:64px;border-radius:12px;aspect-ratio:auto}
.cgc-ds .cgc-thumb img{padding:4px}
.cgc-ds .cgc-thumb.on{box-shadow:inset 0 0 0 2px var(--gold)}
.cgc-ds .cgc-info{display:flex;flex-direction:column;overflow:visible}
.cgc-ds .cgc-code{font-size:11px;margin-bottom:6px}
.cgc-ds .cgc-name{font-size:25px;-webkit-line-clamp:unset;margin-bottom:8px}
.cgc-ds .cgc-desc{font-size:15.5px;-webkit-line-clamp:unset;margin-bottom:12px}
.cgc-ds .cgc-specs{grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:14px}
.cgc-ds .cgc-specs dt{font-size:10px}
.cgc-ds .cgc-specs dd{font-size:14.5px;margin-top:3px}
.cgc-ds .cgc-chips{gap:8px;margin-bottom:14px}
.cgc-ds .cgc-chips li{padding:7px 12px;font-size:13px;gap:6px}
.cgc-ds .cgc-chips svg{width:15px;height:15px}
.cgc-ds .cgc-tiers{border-radius:12px;font-size:15px;margin-bottom:4px}
.cgc-ds .cgc-tiers th{padding:10px 14px;font-size:10.5px}
.cgc-ds .cgc-tiers td{padding:11px 14px;font-size:15px}
.cgc-ds .cgc-tiers td:last-child{font-size:18px}
.cgc-ds .cgc-price{padding:12px 14px;border-radius:12px;gap:4px}
.cgc-ds .cgc-price-k{font-size:10.5px}
.cgc-ds .cgc-price-v b{font-size:28px}
.cgc-ds .cgc-price-v s{font-size:15px}
.cgc-ds .cgc-price-v small{font-size:12.5px}
.cgc-ds .cgc-por{padding:14px;border-radius:12px;font-size:17px}
.cgc-ds .cgc-note{font-size:13px;margin-top:8px}
.cgc-ds .cgc-act{position:static;display:flex;margin-top:16px;padding:0;background:none;box-shadow:none;opacity:1;flex-wrap:wrap;gap:10px}
.cgc-ds .cgc-qty button{width:44px;height:48px;font-size:22px}
.cgc-ds .cgc-qty input{width:58px;height:48px;font-size:17px}
.cgc-ds .cgc-add{flex:1;height:50px;font-size:15.5px}
.cgc-ds .cgc-wa{width:50px;height:50px}
.cgc-ds .cgc-est{display:block;position:static;flex-basis:100%;background:none;color:var(--goldink);padding:0 4px;font-size:14.5px}
.cgc-ds .cgc-est:empty{display:none}
@media (min-width:900px){
  .cgc-ds .cgc-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start}
  .cgc-ds .cgc-media{margin:0}
}

/* ---------------------------------------------------------------------
   PDF BUILD (admin only, in a hidden frame) — same as print, on screen
   --------------------------------------------------------------------- */
.is-build.cgc-body{background:#fff}
.is-build .cgc-book{padding:0;gap:0;align-items:flex-start}
.is-build .cgc-page{box-shadow:none}
.is-build .cgc-act,.is-build .cgc-open{display:none!important}
.is-build .cgc-pdfwa{display:inline-flex}

/* ---------------------------------------------------------------------
   PRINT / PDF — exact A4
   --------------------------------------------------------------------- */
@page{size:A4;margin:0}
@media print{
  html,body.cgc-body{background:none!important;width:210mm}
  .noprint,.cgc-act,.cgc-enq,.cgc-toast,.cgc-open,.cgc-ds,.cgc-flipwrap,.cgc-flipui,.cgc-hint,.cgc-bookview{display:none!important}
  .cgc-pdfwa{display:inline-flex}
  .cgc-book{display:block!important;padding:0!important;gap:0;visibility:visible!important}
  .cgc-page{margin:0;box-shadow:none;border-radius:0}
  .js .cgc-item{opacity:1!important;transform:none!important}
  a{text-decoration:none}
  .is-book .cgc-printnote{display:block;margin:40mm 20mm;font:600 16pt/1.4 var(--ui);color:#1E1914}
}
