  :root{
    --cream-50:#faf6ec;
    --cream-100:#f4ecda;
    --cream-200:#ebe0c6;
    --cream-300:#d9c89e;
    --ink-900:#2a231a;
    --ink-700:#4a3f30;
    --ink-500:#7a6a52;
    --ink-400:#9a8b72;
    --ink-300:#bcae93;
    --forest-900:#1b2418;
    --forest-800:#222d1d;
    --forest-700:#2c3a26;
    --wine-700:#5a1717;
    --wine-800:#481010;
    --gold-600:#b08a3e;
    --gold-500:#c4a052;
    --gold-400:#d4b878;
    --line:#e3d6b8;
    --line-soft:#ece2cc;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    font-family:"Jost",-apple-system,system-ui,sans-serif;
    background:var(--cream-50);
    color:var(--ink-900);
    font-size:14px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  .serif{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500}
  .mono{font-family:"JetBrains Mono",ui-monospace,monospace}
  .smallcaps{font-family:"Cormorant Garamond",serif;text-transform:uppercase;letter-spacing:.22em;font-weight:600}
  a{color:inherit;text-decoration:none}
  button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
  img{display:block;max-width:100%}

  /* ===== Header =====
     The header (topbar + main nav row + mobile drawer) is shared site-wide via
     header.php and owned entirely by redesign-home.css. The old per-page header
     block (.util-bar/.search/.icon-link + a duplicate .header-inner that forced
     `auto 1fr auto`) was removed: it was dead markup AND it overrode the shared
     responsive rules only on product pages, breaking the burger-mode layout
     (actions left-clumped with a big right gap) and keeping nav gap at 32px.
     Do not redefine .header/.header-inner/.nav/.logo here — let redesign-home win. */

  /* ===== Breadcrumbs (chevron minimal) ===== */
  .crumbs{
    max-width:1360px;margin:0 auto;padding:22px 32px 0;
    display:flex;flex-wrap:wrap;align-items:center;
    font-size:12.5px;color:var(--ink-500);letter-spacing:.02em;
  }
  .crumbs a{color:var(--ink-500);transition:color .15s}
  .crumbs a:hover{color:var(--wine-700)}
  .crumbs .sep{margin:0 11px;color:var(--gold-600);font-size:15px;line-height:1;display:inline-flex}
  .crumbs .current{color:var(--ink-900);font-weight:600}

  /* ===== Main grid ===== */
  .product{
    max-width:1360px;margin:0 auto;padding:24px 32px 0;
    display:grid;grid-template-columns:84px 1fr 1fr;gap:28px;
    position:relative;
  }
  /* Faint vintage palm/cathedral etching behind the gallery area (matches reference) */
  .product::before{
    content:""; position:absolute; top:0; left:0; right:0; height:560px; z-index:0; pointer-events:none; opacity:.4;
    background:url("../banners/hero-vintage-etch.jpg") left top / contain no-repeat;
    -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);
            mask-image:linear-gradient(180deg,#000 55%,transparent);
  }
  .product > *{ position:relative; z-index:1; }
  .thumbs{display:flex;flex-direction:column;gap:10px;align-items:center;align-self:start;max-height:600px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
  .thumbs::-webkit-scrollbar{width:0;height:0;display:none}
  .thumb{flex:0 0 auto}
  .thumb{
    width:74px;height:74px;border:1px solid var(--line);background:#fff;
    border-radius:4px;overflow:hidden;cursor:pointer;
    display:grid;place-items:center;
    transition:border-color .15s, transform .15s;
  }
  .thumb.active{border-color:var(--gold-600);box-shadow:0 0 0 1px var(--gold-600) inset}
  .thumb:hover{transform:translateY(-1px)}
  .thumbs .more{
    width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;
    display:grid;place-items:center;color:var(--ink-500);margin-top:6px;
  }

  /* image placeholders (striped) */
  .ph{
    width:100%;height:100%;
    background:
      repeating-linear-gradient(135deg, #e8dcc0 0 6px, #ecd9b3 6px 12px),
      #efe2c1;
    display:grid;place-items:center;color:var(--ink-700);
    font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.1em;text-align:center;padding:6px;
  }
  .ph.dark{
    background:
      repeating-linear-gradient(135deg, #3a2d1c 0 6px, #4b3923 6px 12px),
      #3f3020;color:#dccfaa;
  }

  .hero-image{
    position:relative;background:var(--cream-100);border-radius:6px;overflow:hidden;
    border:1px solid var(--line-soft);
    aspect-ratio: 1 / 1;
  }
  .hero-image .ph{font-size:11px}
  .zoom{
    position:absolute;bottom:12px;right:12px;
    width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--line);
    display:grid;place-items:center;color:var(--ink-700);box-shadow:0 1px 2px rgba(0,0,0,.04);
    cursor:zoom-in;transition:background .15s ease,color .15s ease,transform .15s ease;z-index:3;
  }
  .zoom:hover{ background:var(--ink-900,#2b2118);color:#fff;transform:scale(1.06); }
  /* Hover magnifier (desktop) */
  .hero-image .hero-img-real{ transition:transform .12s ease-out; will-change:transform; }
  .hero-image.cco-zooming{ cursor:zoom-in; }
  /* Fullscreen lightbox */
  .cco-lightbox{ position:fixed;inset:0;z-index:100000;background:rgba(18,12,7,.93);
    display:none;align-items:center;justify-content:center;cursor:zoom-out;padding:24px;
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px); }
  .cco-lightbox.open{ display:flex; }
  .cco-lightbox img{ max-width:94vw;max-height:92vh;object-fit:contain;border-radius:6px;
    box-shadow:0 12px 60px rgba(0,0,0,.55);background:#fff; }
  .cco-lb-close{ position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;
    font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer; }
  .cco-lb-close:hover{ background:rgba(255,255,255,.22); }
  .gallery-down{ display:none; }

  /* ===== Product info ===== */
  .info{padding:0 4px}
  .brand-eyebrow{
    color:var(--gold-600);font-family:"Cormorant Garamond",serif;
    text-transform:uppercase;letter-spacing:.32em;font-weight:600;font-size:13px;margin-bottom:8px;
  }
  .title{
    font-family:"Cormorant Garamond",serif;font-weight:500;
    font-size:38px;line-height:1.1;color:var(--ink-900);margin:0 0 14px;letter-spacing:-.005em;
  }
  .rating{display:flex;gap:10px;align-items:center;color:var(--ink-700);font-size:13.5px;margin-bottom:18px}
  .stars{display:flex;gap:1px;color:var(--gold-500)}
  .stars svg{width:16px;height:16px}
  .stars .half{position:relative}
  .stars .half::after{
    content:"";position:absolute;inset:0 50% 0 0;background:var(--cream-100);
    -webkit-mask:linear-gradient(#000,#000);
  }
  .desc{color:var(--ink-700);font-size:14.5px;line-height:1.65;margin-bottom:22px;max-width:560px}
  .price-row{display:flex;gap:16px;align-items:center;margin-bottom:24px}
  .price{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:30px;color:var(--ink-900);letter-spacing:.005em}
  .stock{
    display:inline-flex;gap:6px;align-items:center;
    background:#e7eedb;color:#3b5828;
    padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;
  }
  .stock .dot{width:7px;height:7px;border-radius:50%;background:#4f7a32}

  .field-label{font-size:12px;font-weight:600;color:var(--ink-700);margin-bottom:8px;letter-spacing:.04em}
  .select{
    position:relative;background:#fff;border:1px solid var(--line);border-radius:5px;
    padding:13px 16px;font-size:14px;color:var(--ink-900);display:flex;align-items:center;justify-content:space-between;
    cursor:pointer;
  }
  .select::after{
    content:"";width:8px;height:8px;border-right:1.5px solid var(--ink-500);border-bottom:1.5px solid var(--ink-500);
    transform:rotate(45deg) translate(-2px,-2px);
  }
  .field{margin-bottom:18px}

  .qty{
    display:inline-flex;align-items:stretch;width:auto;height:48px;border:1px solid var(--line);background:#fff;
    border-radius:6px;overflow:hidden;
  }
  .qty button{
    flex:0 0 44px;width:44px;height:auto;color:var(--ink-700);font-size:17px;line-height:1;
    display:grid;place-items:center;background:#fff;cursor:pointer;margin:0 !important;padding:0 !important;
    transition:background .15s,color .15s;
  }
  .qty button:first-of-type{border-right:1px solid var(--line)}
  .qty button:last-of-type{border-left:1px solid var(--line)}
  .qty button:hover{background:var(--cream-100);color:var(--wine-700)}
  .qty input,
  .qty input.qty,
  .qty input[type=number]{
    flex:0 0 58px;width:58px !important;height:auto;min-height:0;text-align:center;
    border:0 !important;outline:0;background:transparent;box-shadow:none !important;
    margin:0 !important;padding:0 !important;
    font-size:15px;font-weight:600;color:var(--ink-900);font-family:inherit;
    -moz-appearance:textfield;appearance:textfield;
  }
  .qty input::-webkit-outer-spin-button,
  .qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

  .btn{
    display:flex;gap:10px;align-items:center;justify-content:center;
    height:52px;border-radius:5px;font-weight:700;
    text-transform:uppercase;letter-spacing:.18em;font-size:12.5px;width:100%;
    transition:transform .08s ease, background .15s;
  }
  .btn:active{transform:translateY(1px)}
  .btn-primary{background:var(--wine-700);color:#fff}
  .btn-primary:hover{background:var(--wine-800)}
  .btn-secondary{background:#fff;color:var(--ink-900);border:1px solid var(--ink-300)}
  .btn-secondary:hover{border-color:var(--ink-700)}
  .btn-stack{display:flex;flex-direction:column;gap:10px;margin-top:16px}

  .trust{
    display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px;
    padding-top:22px;border-top:1px solid var(--line-soft);
  }
  .trust-item{display:flex;gap:10px;align-items:flex-start;color:var(--ink-700);font-size:12.5px;line-height:1.4}
  .trust-item svg{color:var(--gold-600);flex:0 0 22px}

  /* ===== Tasting / profile / story card ===== */
  .card{
    max-width:1360px;margin:36px auto 0;padding:32px 36px;
    background:var(--cream-100);border:1px solid var(--line);border-radius:8px;
  }
  /* auto-fit collapses empty tracks, so products missing the Cigar Profile (or
     Tasting) render 2 balanced columns instead of leaving a blank third column. */
  .three-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px;align-items:flex-start}
  .col-title{font-family:"Cormorant Garamond",serif;text-transform:uppercase;letter-spacing:.26em;font-weight:600;font-size:13px;color:var(--ink-900);text-align:center;margin:0 0 18px}
  .tasting-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}
  .tasting-grid .note{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink-700)}
  .tasting-grid .icon{width:48px;height:48px;display:grid;place-items:center}
  .tasting-grid .icon img{width:100%;height:100%;object-fit:contain;display:block}
  .tasting-grid .label{font-family:"Cormorant Garamond",serif;font-size:15px;color:var(--ink-900)}
  .tasting-text{margin-top:18px;color:var(--ink-700);font-size:13px;line-height:1.6;text-align:left}

  .profile-row{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px;align-items:center}
  .profile-row:last-child{border-bottom:0}
  .profile-row .k{color:var(--ink-500)}
  .profile-row .v{color:var(--ink-900);font-weight:500}
  .leaves{display:flex;gap:3px;color:var(--gold-600)}
  .leaves svg{width:14px;height:14px}
  .leaves .empty{color:var(--cream-300)}

  .story-wrap{display:grid;grid-template-columns:1.3fr .9fr;gap:18px;align-items:flex-start}
  .story h4{margin:0 0 8px;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:16px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-900)}
  .story p{margin:0 0 14px;color:var(--ink-700);font-size:13.5px;line-height:1.7}
  .link-gold{color:var(--gold-600);font-weight:700;font-size:12.5px;letter-spacing:.06em;display:inline-flex;align-items:center;gap:6px}
  .link-gold:hover{color:var(--wine-700)}
  .story-img{aspect-ratio: 4 / 4.6;border-radius:6px;overflow:hidden;border:1px solid var(--line)}

  /* ===== Authenticity ===== */
  .authentic{
    max-width:1360px;margin:28px auto 0;
    background:var(--forest-800);color:var(--cream-100);border-radius:8px;
    padding:28px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:32px;align-items:center;
    position:relative;overflow:hidden;
  }
  .corner{position:absolute;width:28px;height:28px;border:1px solid var(--gold-600);opacity:.55}
  .corner.tl{top:14px;left:14px;border-right:0;border-bottom:0}
  .corner.tr{top:14px;right:14px;border-left:0;border-bottom:0}
  .corner.bl{bottom:14px;left:14px;border-right:0;border-top:0}
  .corner.br{bottom:14px;right:14px;border-left:0;border-top:0}
  .seal{display:flex;gap:22px;align-items:center}
  .seal-medal{
    width:104px;height:104px;border-radius:50%;overflow:hidden;flex:0 0 104px;
    box-shadow:0 4px 16px rgba(0,0,0,.28);
  }
  .seal-medal img{width:100%;height:100%;object-fit:cover;display:block}
  .authentic h3{margin:0 0 6px;font-family:"Cormorant Garamond",serif;letter-spacing:.28em;font-size:14.5px;color:var(--gold-500)}
  .authentic p{margin:0;color:#d9ccb0;font-size:13.5px;line-height:1.6;max-width:340px}
  .cert-card{
    display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;
    border:1px solid rgba(196,160,82,.35);border-radius:6px;padding:18px 22px;position:relative;
  }
  .cert-card .corner{opacity:.7}
  .cert-verify-title{font-size:13.5px;color:#fff;font-weight:600;margin-bottom:8px;font-family:"Cormorant Garamond",serif;letter-spacing:.02em}
  .verify{color:var(--gold-500);font-size:12px;display:inline-flex;gap:6px;align-items:center;transition:color .15s}
  .verify:hover{color:#fff}
  .qr{width:104px;height:104px;background:#fff;border-radius:6px;padding:7px;display:grid;place-items:center;transition:transform .15s}
  .qr:hover{transform:translateY(-1px)}
  .qr img{width:100%;height:100%;display:block}

  /* ===== Tabs ===== */
  .tabs-wrap{max-width:1120px;margin:48px auto 0;padding:0 32px;display:block;position:relative}
  .tabs-wrap > div{max-width:680px;position:relative;z-index:1}
  .tabs-wrap::before{
    content:""; position:absolute; top:40px; right:0; width:300px; height:400px; z-index:0; pointer-events:none; opacity:.2;
    background:url("../banners/hero-vintage-etch.jpg") center center / contain no-repeat;
  }
  .tabs{display:flex;gap:36px;border-bottom:1px solid var(--line);margin-bottom:24px}
  .tab{
    padding:14px 2px;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--ink-500);
    position:relative;
  }
  .tab.active{color:var(--ink-900)}
  .tab.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold-600)}
  .tab-body{color:var(--ink-700);font-size:15px;line-height:1.78;max-width:760px}
  .tab-body p{margin:0 0 18px}
  /* Lead paragraph + decorative drop cap */
  .tab-body > p:first-of-type{font-size:17px;line-height:1.7;color:var(--ink-900)}
  .tab-body > p:first-of-type::first-letter{
    float:left;font-family:"Cormorant Garamond",Georgia,serif;font-size:3.6em;line-height:.78;
    padding:6px 12px 0 0;color:var(--wine-700);
  }
  /* Headings — clear section rhythm */
  .tab-body h2{font-size:25px;font-weight:600;color:var(--ink-900);line-height:1.25;margin:36px 0 14px}
  .tab-body h2:not(:first-child){margin-top:46px;padding-top:30px;border-top:1px solid var(--line)}
  .tab-body h3{font-size:19px;font-weight:600;color:var(--ink-900);line-height:1.3;margin:36px 0 12px}
  .tab-body h3::before{content:"";display:block;width:42px;height:2px;background:var(--gold-600);margin-bottom:14px}
  .tab-body h2:first-child,.tab-body h3:first-child{margin-top:0}
  .tab-body ul{padding-left:20px;margin:0 0 18px;color:var(--ink-700)}
  .tab-body li{margin-bottom:8px;line-height:1.6}
  .tab-body strong,.tab-body b{color:var(--ink-900)}
  /* Article photos as floated editorial figures so text wraps around them */
  .tab-body p:has(img),
  .tab-body p:has(a img){
    float:right;clear:right;width:300px;max-width:44%;margin:8px 0 22px 34px;
  }
  .tab-body img{
    width:100%;height:auto;display:block;border-radius:8px;border:1px solid var(--line);
    box-shadow:0 8px 22px rgba(60,40,15,.10);
  }
  .tab-body::after{content:"";display:block;clear:both}
  .scene{display:none}

  /* Description collapse — compact by default, expandable. The full text stays in the
     DOM (only CSS-clipped), so it remains fully crawlable/indexable for SEO. */
  .desc-clamp{position:relative;max-height:520px;overflow:hidden;transition:max-height .45s ease}
  .desc-clamp.open{max-height:9000px}
  .desc-clamp:not(.open)::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:150px;pointer-events:none;
    background:linear-gradient(rgba(250,246,236,0), var(--cream-50) 92%);
  }
  .desc-toggle{
    display:inline-flex;align-items:center;gap:9px;margin-top:20px;
    background:transparent;border:1px solid var(--wine-700);color:var(--wine-700);
    font-family:"Cormorant Garamond",Georgia,serif;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;
    padding:11px 26px;border-radius:5px;cursor:pointer;transition:background .2s,color .2s;
  }
  .desc-toggle:hover{background:var(--wine-700);color:#fff}
  .desc-toggle svg{transition:transform .3s ease}
  .desc-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}

  /* ===== Reviews ===== */
  h2.section-title{
    display:block;max-width:1360px;margin:64px auto 22px;padding:0 32px;
    font-family:"Cormorant Garamond",serif;text-transform:uppercase;letter-spacing:.32em;font-weight:600;font-size:14px;
    color:var(--ink-900);text-align:center;position:relative;
  }
  .section-title::before,.section-title::after{
    content:"";position:absolute;top:50%;width:38%;height:1px;background:var(--line);
  }
  .section-title::before{left:32px}
  .section-title::after{right:32px}
  .reviews{max-width:1360px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative}
  .review{
    background:#fff;border:1px solid var(--line-soft);border-radius:6px;padding:22px 24px;
    display:flex;flex-direction:column;gap:12px;
  }
  .review-rate{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--ink-700)}
  .review h5{margin:0;font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:600;color:var(--ink-900)}
  .review p{margin:0;color:var(--ink-700);font-size:13.5px;line-height:1.65}
  .reviewer{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft)}
  .reviewer .name{color:var(--ink-900);font-weight:600;font-size:13.5px}
  .reviewer .verified{display:inline-flex;gap:5px;align-items:center;color:var(--ink-500);font-size:12px;margin-top:3px}
  .reviewer .verified svg{color:#5a8438}
  .review-dots{display:flex;gap:6px;justify-content:center;margin-top:22px}
  .review-dots span{width:7px;height:7px;border-radius:50%;background:var(--cream-300)}
  .review-dots span.on{background:var(--ink-700)}
  .view-all{
    grid-column:1/-1;order:99;justify-self:center;margin-top:10px;
    color:var(--gold-600);font-size:12.5px;font-weight:700;letter-spacing:.04em;
    display:inline-flex;gap:6px;align-items:center;
  }
  .view-all:hover{color:var(--wine-700)}

  /* ===== Related ===== */
  .related{max-width:1360px;margin:0 auto;padding:0 32px;position:relative}
  .related-nav{position:absolute;right:32px;top:-44px;display:flex;gap:8px}
  .related-nav button{
    width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink-700);
    display:grid;place-items:center;
  }
  .related-nav button:hover{border-color:var(--ink-700)}
  .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .pcard{
    background:#fff;border:1px solid var(--line-soft);border-radius:6px;overflow:hidden;
    display:flex;flex-direction:column;
    transition:transform .15s ease, box-shadow .15s;
  }
  .pcard:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(60,40,15,.06)}
  .pcard .pic{aspect-ratio: 1 / .8;background:var(--cream-100)}
  .pcard .body{padding:14px 16px 0}
  .pcard h6{margin:0 0 8px;font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:600;color:var(--ink-900)}
  .pcard .rate{display:flex;gap:8px;align-items:center;color:var(--ink-700);font-size:12px;margin-bottom:6px}
  .pcard .pr{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:18px;color:var(--ink-900);margin-bottom:12px}
  .pcard .add{
    background:var(--wine-700);color:#fff;padding:12px;text-align:center;font-size:11.5px;font-weight:700;
    letter-spacing:.22em;text-transform:uppercase;display:flex;gap:10px;align-items:center;justify-content:center;
  }
  .pcard .add:hover{background:var(--wine-800)}

  /* ===== Features ===== */
  .features{
    max-width:1360px;margin:56px auto 0;padding:32px 32px 28px;border-top:1px solid var(--line-soft);
    display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
    position:relative;
  }
  .features::before{
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.28;
    background:url("../banners/hero-vintage-etch.jpg") center bottom / cover no-repeat;
    -webkit-mask-image:linear-gradient(180deg,transparent,#000 70%);
            mask-image:linear-gradient(180deg,transparent,#000 70%);
  }
  .feat{display:flex;gap:14px;align-items:flex-start;position:relative;z-index:1}
  .feat svg{flex:0 0 32px;color:var(--ink-700)}
  .feat .ft{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:17px;color:var(--ink-900);margin-bottom:4px}
  .feat .fs{color:var(--ink-500);font-size:12.5px;line-height:1.55;max-width:200px}

  /* ===== Footer ===== */
  footer{
    background:var(--forest-900);color:#cfc4a8;margin-top:48px;
  }
  .foot-top{
    max-width:1360px;margin:0 auto;padding:48px 32px 32px;
    display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.3fr;gap:38px;
  }
  .foot-brand .logo-text .name{color:#fff}
  .foot-brand .logo-text .tag{color:#9aa48b}
  .foot-brand p{color:#aab199;font-size:13px;line-height:1.65;margin:16px 0 22px;max-width:240px}
  .socials{display:flex;gap:10px}
  .socials a{
    width:32px;height:32px;border-radius:50%;border:1px solid #3a4533;color:#cfc4a8;display:grid;place-items:center;
  }
  .socials a:hover{border-color:var(--gold-500);color:var(--gold-500)}
  .foot-col h6{
    margin:0 0 18px;color:var(--gold-500);font-family:"Cormorant Garamond",serif;
    text-transform:uppercase;letter-spacing:.28em;font-size:12.5px;font-weight:700;
  }
  .foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
  .foot-col a{color:#bcb59b;font-size:13px}
  .foot-col a:hover{color:#fff}
  .newsletter p{color:#aab199;font-size:13px;margin:0 0 14px}
  .newsletter form{display:flex;flex-direction:column;gap:10px}
  .newsletter input{
    background:transparent;border:1px solid #3a4533;color:#fff;border-radius:4px;padding:12px 14px;font:inherit;font-size:13px;outline:0;
  }
  .newsletter input:focus{border-color:var(--gold-500)}
  .newsletter button{
    background:var(--wine-700);color:#fff;border-radius:4px;padding:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:11.5px;
  }
  .newsletter button:hover{background:var(--wine-800)}
  .foot-bottom{
    border-top:1px solid #2a3325;
    max-width:1360px;margin:0 auto;padding:20px 32px;
    display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8b9079;
  }
  .pays{display:flex;gap:10px;align-items:center}
  .pay{
    height:24px;padding:0 9px;border-radius:3px;background:#fff;color:#222;font-size:10px;font-weight:800;
    display:grid;place-items:center;letter-spacing:.04em;
  }

  /* Body texture overlay - very subtle */
  .bg-decor{
    position:absolute;inset:0;pointer-events:none;opacity:.07;
    background:
      radial-gradient(circle at 90% 40%, #6b4d18 0, transparent 35%),
      radial-gradient(circle at 5% 70%, #6b4d18 0, transparent 30%);
  }

  /* Toast */
  .toast{
    position:fixed;left:50%;transform:translateX(-50%);bottom:32px;
    background:var(--forest-900);color:#fff;padding:12px 22px;border-radius:6px;
    font-size:13px;letter-spacing:.06em;box-shadow:0 8px 30px rgba(0,0,0,.18);
    opacity:0;transition:opacity .25s, transform .25s;pointer-events:none;
    z-index:50;
  }
  .toast.show{opacity:1;transform:translate(-50%,-6px)}

  ::selection{background:var(--gold-400);color:var(--ink-900)}

  /* =================================================================
     MOBILE RESPONSIVE — Product Page
     ================================================================= */
  .menu-toggle{display:none; background:none; border:0; cursor:pointer; padding:6px; color:var(--ink-900);}
  .menu-toggle svg{width:24px; height:24px;}
  .mobile-drawer{display:none;}
  .mobile-drawer-overlay{display:none;}

  @media (max-width:1024px){
    /* .header-inner owned by redesign-home.css (shared header) */
    .product{grid-template-columns:80px 1fr 1fr; padding:0 18px;}
    .tabs-wrap{padding:0 18px; grid-template-columns:1.3fr 1fr; gap:32px;}
    .reviews{padding:0 18px;}
    .grid-4{grid-template-columns:repeat(3,1fr);}
    .foot-top{grid-template-columns:1.3fr 1fr 1fr 1fr; gap:28px; padding:0 18px;}
    .foot-top > div:last-child{grid-column:1/-1;}
    /* Tasting / Profile / Story — stack into 2 cols so they breathe on tablet */
    .three-col{grid-template-columns:1fr 1fr; gap:28px 32px; padding:28px 18px !important;}
    .three-col .story{grid-column:1/-1;}
    .three-col .story .story-wrap{grid-template-columns:1.4fr 1fr;}
  }

  @media (max-width:768px){
    /* Utility bar */
    .util-bar{padding:8px 12px; font-size:10.5px;}
    .util-inner{flex-wrap:wrap; justify-content:center; gap:8px 14px;}
    .util-item{font-size:10.5px;}

    /* Header — burger mode: logo grows (1fr), actions pinned right (auto) */
    .header-inner{grid-template-columns:1fr auto; gap:8px; padding:12px 16px; min-height:auto;}
    .logo img{height:38px; max-width:170px;}
    .nav{display:none;}
    .search{display:none;}
    .header-tools{gap:10px;}
    .icon-link{gap:4px; font-size:0;}
    .icon-link .cart-label, .icon-link .account-label{display:none;}
    .icon-link svg{width:22px; height:22px;}
    .menu-toggle{display:inline-flex; align-items:center; justify-content:center;}

    /* Mobile drawer */
    .mobile-drawer{display:flex !important; position:fixed; top:0; right:0; bottom:0; width:84%; max-width:340px; background:#fff; z-index:1101; padding:20px 22px; transform:translateX(100%); transition:transform .35s ease; box-shadow:-12px 0 40px rgba(0,0,0,.15); overflow-y:auto; flex-direction:column;}
    .mobile-drawer.open{transform:translateX(0);}
    .mobile-drawer-overlay{display:block !important; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:1100; opacity:0; pointer-events:none; transition:opacity .3s;}
    .mobile-drawer-overlay.open{opacity:1; pointer-events:auto;}
    .md-head{display:flex; justify-content:space-between; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:14px;}
    .md-head img{height:36px;}
    .md-close{background:none; border:0; cursor:pointer; padding:4px;}
    .md-close svg{width:22px; height:22px;}
    .md-search{display:flex; gap:0; background:var(--cream-100); border:1px solid var(--line); border-radius:6px; padding:0 0 0 12px; height:42px; margin-bottom:18px;}
    .md-search input{flex:1; background:transparent; border:0; outline:none; font-size:14px; padding:0 8px;}
    .md-search button{width:42px; height:42px; background:var(--ink-900); color:#fff; border:0; border-radius:0 5px 5px 0;}
    .md-search svg{width:16px; height:16px;}
    .mobile-drawer nav{display:flex; flex-direction:column;}
    .mobile-drawer nav > a, .mobile-drawer nav details > summary{padding:14px 4px; font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:500; color:var(--ink-900); border-bottom:1px solid var(--line); cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center;}
    .mobile-drawer nav details > summary::-webkit-details-marker{display:none;}
    .mobile-drawer nav details > summary::after{content:"+"; font-size:18px; color:var(--gold-600);}
    .mobile-drawer nav details[open] > summary::after{content:"−";}
    .mobile-drawer nav details[open] > summary{color:var(--gold-600);}
    .mobile-drawer nav details > ul{list-style:none; padding:6px 0 12px 6px; margin:0;}
    .mobile-drawer nav details > ul li a{display:block; padding:9px 0; font-family:'Jost',sans-serif; font-size:14px; color:var(--ink-700);}

    /* Breadcrumbs */
    .crumbs{padding:10px 16px; font-size:11px; flex-wrap:wrap;}

    /* Product main — stack */
    .product{grid-template-columns:1fr; gap:18px; padding:0 16px; margin:18px auto 0;}
    .thumbs{flex-direction:row; flex-wrap:nowrap; justify-content:flex-start; gap:8px; order:1; max-height:none; overflow-x:auto; overflow-y:visible; padding-bottom:2px;}
    .thumb{width:60px; height:60px; flex:0 0 60px;}
    .hero-image{aspect-ratio:1/1; min-height:0; order:0;}
    .info{padding:0; order:2;}
    .gallery-down{display:none;}

    .brand-eyebrow{font-size:10.5px; letter-spacing:0.18em;}
    .title{font-size:30px !important; line-height:1.1;}
    .rating{flex-wrap:wrap; gap:8px; margin:10px 0;}
    .desc{font-size:14px;}
    .price-row{margin:18px 0; gap:12px; flex-wrap:wrap;}
    .price{font-size:30px !important;}
    .field{margin-bottom:14px;}
    .qty{display:inline-flex; align-items:stretch; width:auto; height:48px;}
    .btn-add, .btn-fav{width:100%; justify-content:center; font-size:13px;}

    .usp-row{grid-template-columns:1fr; gap:10px; margin-top:18px;}

    /* Tasting Notes / Cigar Profile / Story — stack */
    .three-col{grid-template-columns:1fr; gap:26px; padding:24px 18px !important;}
    .tasting-grid{grid-template-columns:repeat(3,1fr); gap:14px 6px; max-width:340px; margin:0 auto;}
    .tasting-grid .label{font-size:13px;}
    .profile-row{grid-template-columns:1fr auto; font-size:13.5px;}
    /* Story: stack image + text full width. Needs this specificity to beat the
       ≤1024 rule `.three-col .story .story-wrap{1.4fr 1fr}` (same 0,3,0). */
    .three-col .story .story-wrap{grid-template-columns:1fr; gap:16px;}
    .story .story-img{order:-1; width:100%; aspect-ratio:16/10; max-height:240px;}
    .col-title{font-size:11px !important;}

    /* Authenticity Certificate */
    .authentic{grid-template-columns:1fr; gap:20px; padding:24px 22px; margin:24px 16px 0; max-width:none;}
    .seal{gap:16px;}
    .seal-medal{width:78px; height:78px; flex:0 0 78px;}
    .authentic h3{letter-spacing:.18em; font-size:13px;}
    .authentic p{max-width:none; font-size:13px;}
    .cert-id{font-size:12.5px;}

    /* Tabs section */
    .tabs-wrap{grid-template-columns:1fr; gap:24px; padding:36px 16px 0; margin-top:32px;}
    .tabs-wrap > div{max-width:none;}
    .tabs-wrap::before{display:none;}
    .tab-body{max-width:none;}
    .tab-body p:has(img), .tab-body p:has(a img){float:none; width:100%; max-width:100%; margin:18px 0;}
    .tabs{gap:22px; overflow-x:auto; padding-bottom:6px; -webkit-overflow-scrolling:touch;}
    .tabs .tab{white-space:nowrap; flex:0 0 auto;}
    .tabs button{font-size:11px; white-space:nowrap; padding-bottom:10px;}
    .tab-content{font-size:14px;}

    /* Reviews */
    .reviews{grid-template-columns:1fr; padding:0 16px; gap:14px;}
    .review-card{padding:18px 20px;}

    /* Related — 2 cols on mobile */
    .may-also-like{padding:36px 16px 0;}
    .grid-4{grid-template-columns:repeat(2,1fr); gap:12px;}
    .pcard h6{font-size:13px;}
    .pcard .pr{font-size:14px;}

    /* Features */
    .features{grid-template-columns:1fr 1fr; gap:18px 14px; padding:32px 16px;}
    .feat{gap:10px;}
    .feat svg{flex:0 0 26px;}
    .feat .ft{font-size:13px;}
    .feat .fs{font-size:11.5px;}

    /* Footer */
    .foot-top{grid-template-columns:1fr 1fr; gap:24px 18px; padding:36px 16px 0;}
    .foot-top > div:first-child{grid-column:1/-1;}
    .foot-top > div:last-child{grid-column:1/-1;}
    .foot-col h6{font-size:11.5px;}
    .foot-col li{padding:4px 0;}
    .foot-col a{font-size:12.5px;}
    .foot-bottom{flex-direction:column; gap:14px; text-align:center; padding:18px 16px;}
    .footer-logo-img img{height:42px !important;}

    /* Newsletter */
    .newsletter form{flex-direction:column; gap:8px;}
    .newsletter input{width:100%; box-sizing:border-box;}
    .newsletter button{width:100%;}

    /* Section title: the side rules crossed over the text on narrow screens — drop them. */
    .section-title::before, .section-title::after{ display:none !important; }
    .section-title{ letter-spacing:.16em; font-size:12.5px; padding:0 16px; margin-top:42px; }
  }

  @media (max-width:480px){
    .title{font-size:26px !important;}
    .tasting-grid{grid-template-columns:repeat(2,1fr); gap:10px;}
    .features{grid-template-columns:1fr;}
    .foot-top{grid-template-columns:1fr;}
    .grid-4{grid-template-columns:1fr 1fr;}
    /* Cert card: stack the QR under the text on small phones */
    .cert-card{grid-template-columns:1fr; gap:16px; justify-items:start;}
    .qr{justify-self:start;}
  }

  /* ===== Font fidelity =====
     The "useanyfont" plugin (uaf.css) forces `font-family:figtree-regular !important`
     on every h1-h6/p/li/a, which kills the design's elegant serif. These class-based
     selectors out-specify uaf's bare element selectors, so with !important they win and
     restore Cormorant Garamond on the serif headings (body text stays the site's sans). */
  .product .title,
  .section-title,
  .col-title,
  .story h4,
  .authentic h3,
  .price,
  .brand-eyebrow,
  .pcard h6,
  .pcard .pr,
  .feat .ft,
  .tasting-grid .label,
  .tab-body h2,
  .tab-body h3,
  .tab-body h4,
  .reviews h4,
  .reviews .name,
  .testi-name{
    font-family:"Cormorant Garamond",Georgia,serif !important;
  }

  /* ===== YITH wishlist button on the product page → secondary outlined CTA ===== */
  .btn-stack .yith-wcwl-add-to-wishlist{ margin:0 !important; width:100%; }
  .btn-stack .yith-wcwl-add-to-wishlist .yith-wcwl-add-button > a,
  .btn-stack .yith-wcwl-add-to-wishlist a.add_to_wishlist,
  .btn-stack .yith-wcwl-wishlistaddedbrowse > a,
  .btn-stack .yith-wcwl-wishlistexistsbrowse > a{
    display:flex; align-items:center; justify-content:center; gap:9px; width:100%;
    height:52px; border-radius:5px; background:#fff !important; color:var(--ink-900) !important;
    border:1px solid var(--ink-300) !important; font-weight:700; text-transform:uppercase; letter-spacing:.16em; font-size:12px;
    text-decoration:none !important; transition:border-color .15s, color .15s; box-shadow:none !important;
  }
  .btn-stack .yith-wcwl-add-to-wishlist a:hover{ border-color:var(--wine-700) !important; color:var(--wine-700) !important; }
  .btn-stack .yith-wcwl-add-to-wishlist svg{ width:17px; height:17px; flex:0 0 auto; }
  .btn-stack .yith-wcwl-wishlistaddedbrowse,
  .btn-stack .yith-wcwl-wishlistexistsbrowse{ display:flex; flex-direction:column; gap:8px; }
  .btn-stack .yith-wcwl-add-to-wishlist .feedback{
    display:flex; align-items:center; justify-content:center; gap:8px; color:var(--gold-600);
    font-size:12.5px; font-weight:600; letter-spacing:.02em; text-transform:none; padding:2px 0;
  }
  .btn-stack .yith-wcwl-add-to-wishlist .feedback svg{ width:16px; height:16px; }

  /* ===================================================================
     RELATED "You may also enjoy" — smaller boxes on white, even card
     heights, and a responsive Add-to-cart button (was 81px tall on phones).
     =================================================================== */
  .related .pcard{ height:100%; }
  .related .grid-4{ align-items:stretch; }
  .related .pcard .pic{ background:#fff; }
  .related .pcard .pic img{ width:100%; height:100%; object-fit:contain; padding:16px; mix-blend-mode:multiply; }
  .related .pcard .body{ flex:1 1 auto; display:flex; flex-direction:column; }
  .related .pcard .pr{ margin-top:auto; }
  @media (max-width:768px){
    .related .pcard .add{ height:46px; min-height:46px; padding:0 8px; font-size:10.5px; letter-spacing:.07em; gap:6px; white-space:nowrap; }
    .related .pcard .add svg{ display:none; }
    .related .pcard .pic img{ padding:12px; }
    .related .pcard h6{ font-size:15px; }
    .related-nav{ display:none; }   /* grid on mobile, arrows overlapped the title */
  }

  /* ===== Trustpilot strip (under related) ===== */
  .cco-trustpilot{ max-width:1360px; margin:44px auto 0; padding:26px 32px; border-top:1px solid var(--line-soft); text-align:center; }
  .cco-trustpilot .tp-bar{ display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; }
  .cco-trustpilot .tp-excellent{ font-family:"Cormorant Garamond",Georgia,serif; font-size:21px; font-weight:600; color:var(--ink-900); }
  .cco-trustpilot .tp-stars{ display:inline-flex; gap:3px; }
  .cco-trustpilot .tp-stars svg{ width:23px; height:23px; }
  .cco-trustpilot .tp-meta{ color:var(--ink-700); font-size:13.5px; text-decoration:none; }
  .cco-trustpilot .tp-meta:hover{ color:var(--ink-900); }
  .cco-trustpilot .tp-meta strong{ color:var(--ink-900); font-weight:700; }
  .cco-trustpilot .tp-name{ font-weight:700; color:#00b67a; }
  .cco-trustpilot .trustpilot-widget{ margin-top:18px; }

  /* Custom review carousel (used while the live Trustpilot Carousel plan is off) */
  .cco-trustpilot .tp-reviews{
    margin-top:24px; display:grid; grid-auto-flow:column; grid-auto-columns:minmax(300px,1fr);
    gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; text-align:left;
    padding:4px 2px 14px; -webkit-overflow-scrolling:touch; scrollbar-width:thin;
  }
  .cco-trustpilot .tp-reviews::-webkit-scrollbar{ height:6px; }
  .cco-trustpilot .tp-reviews::-webkit-scrollbar-thumb{ background:var(--line-soft); border-radius:6px; }
  .cco-trustpilot .tp-review-card{
    scroll-snap-align:start; background:#fff; border:1px solid var(--line-soft); border-radius:10px;
    padding:20px 20px 16px; display:flex; flex-direction:column; gap:12px;
    box-shadow:0 1px 2px rgba(40,28,18,.04); min-width:0;
  }
  .cco-trustpilot .tp-rc-stars{ display:inline-flex; gap:3px; }
  .cco-trustpilot .tp-rc-stars svg{ width:18px; height:18px; }
  .cco-trustpilot .tp-rc-text{
    margin:0; color:var(--ink-800); font-size:14px; line-height:1.55; flex:1 1 auto;
  }
  .cco-trustpilot .tp-rc-foot{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    border-top:1px solid var(--line-soft); padding-top:11px; flex-wrap:wrap;
  }
  .cco-trustpilot .tp-rc-name{ font-weight:700; color:var(--ink-900); font-size:13.5px; }
  .cco-trustpilot .tp-rc-verified{
    display:inline-flex; align-items:center; gap:5px; color:var(--ink-600); font-size:12px;
  }

  @media (max-width:768px){
    .cco-trustpilot{ padding:22px 16px; margin-top:34px; }
    .cco-trustpilot .tp-bar{ gap:8px; }
    .cco-trustpilot .tp-excellent{ font-size:18px; }
    .cco-trustpilot .tp-stars svg{ width:18px; height:18px; }
    .cco-trustpilot .tp-meta{ font-size:12.5px; }
    .cco-trustpilot .tp-reviews{ grid-auto-columns:84%; gap:12px; margin-top:18px; }
    .cco-trustpilot .tp-review-card{ padding:16px 16px 13px; }
    .cco-trustpilot .tp-rc-text{ font-size:13.5px; }
  }
