/* ============================================================
   SNACK PAPER — Product Detail Page
   Loaded only on is_product().
   ============================================================ */

.pdp-wrap{max-width:100%;box-sizing:border-box}

/* ---- Gallery ---- */
.pdp-gallery{position:relative;background:var(--cr)}
.pdp-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.pdp-track::-webkit-scrollbar{display:none}
.pdp-slide{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative}
.pdp-slide-img{width:100%;height:100%;object-fit:cover;display:block}
.pdp-slide-badge{position:absolute;top:12px;left:12px;background:var(--k);color:#fff;font-size:8.5px;font-weight:700;padding:3px 8px;border-radius:1px;letter-spacing:.09em;text-transform:uppercase;z-index:5}
.pdp-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:5px}
.pdp-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);border:1px solid rgba(0,0,0,.15);cursor:pointer}
.pdp-dot.on{background:var(--k)}
.pdp-thumbs{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;scrollbar-width:none;background:var(--wh);border-bottom:2px solid var(--k)}
.pdp-thumbs::-webkit-scrollbar{display:none}
.pdp-thumb{width:56px;height:56px;flex-shrink:0;border-radius:3px;overflow:hidden;border:1.5px solid var(--bd);cursor:pointer;opacity:.6}
.pdp-thumb.on{border-color:var(--k);opacity:1;border-width:2px}
.pdp-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- Info / header block ---- */
.pdp-info{padding-top:14px}
.pdp-breadcrumb{font-size:9px;color:var(--gr);margin-bottom:7px;letter-spacing:.04em}
.pdp-breadcrumb a{color:var(--gr);text-decoration:none}
.pdp-breadcrumb span{color:var(--k);font-weight:600}
.pdp-title{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--k);line-height:1.15;margin-bottom:7px}
.pdp-subtitle{font-size:12px;color:var(--gr);line-height:1.5;margin-bottom:8px}

.pdp-rat-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.pdp-stars{font-size:13px}
.pdp-rat-val{font-size:12px;font-weight:700;color:var(--k)}
.pdp-rat-pipe{width:.5px;height:12px;background:var(--bd);flex-shrink:0}
.pdp-rat-cnt{font-size:11px;color:var(--gr)}
.pdp-rat-sold{font-size:10.5px;color:#2e7d32;font-weight:700}

.pdp-trust-line{display:flex;gap:5px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;margin-bottom:16px;scrollbar-width:none}
.pdp-trust-line::-webkit-scrollbar{display:none}
.pdp-tbadge{display:inline-flex;align-items:center;gap:3px;background:#f8f5ef;border:1px solid var(--bd);border-radius:20px;padding:4px 9px;font-size:9px;font-weight:600;color:var(--k);white-space:nowrap;flex-shrink:0}

/* ---- Cart form / size selector ---- */
.pdp-cart-form{margin-bottom:0}
.pdp-attr-block{margin-bottom:16px}
.pdp-attr-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gr);margin-bottom:8px}
.pdp-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.pdp-chip{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--k);background:var(--wh);border:1.5px solid var(--k);border-radius:20px;padding:8px 16px;cursor:pointer}
.pdp-chip.on{background:var(--k);color:#fff}
.pdp-hidden-select{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Visual size cards — used instead of plain pill chips when the product has exactly one
   variation attribute (the common weight/size case), so shoppers see price + savings per
   option right on the selector, matching the locked PDP mockup. */
.pdp-sc-row{gap:6px;flex-wrap:nowrap}
.pdp-sc{flex:1 1 0;min-width:0;max-width:none;box-sizing:border-box;border:1.5px solid var(--bd);border-radius:5px;padding:10px 6px 8px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;background:var(--wh);position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.pdp-sc.on{border-color:var(--k);background:var(--k);box-shadow:0 3px 12px rgba(0,0,0,.18)}
.pdp-sc-check{position:absolute;top:7px;right:7px;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--bd);background:#fff;flex-shrink:0}
.pdp-sc.on .pdp-sc-check{background:var(--k);border-color:#fff}
.pdp-sc.on .pdp-sc-check::after{content:"✓";font-size:9px;font-weight:800;color:#fff;display:block;text-align:center;line-height:13px}
.pdp-sc-pouch{display:flex;align-items:flex-end;justify-content:center;gap:2px;margin-bottom:6px;pointer-events:none}
.pdp-sc-pouch img{display:block;max-width:100%;height:auto;border-radius:2px}
.pdp-sc-pouch-double img{width:calc(50% - 1px)}
.pdp-sc-wt{font-size:14px;font-weight:800;color:var(--k);display:block;line-height:1.1;margin-bottom:3px}
.pdp-sc.on .pdp-sc-wt{color:#fff}
.pdp-sc-price{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--k);display:block;line-height:1}
.pdp-sc.on .pdp-sc-price{color:#fff}
.pdp-sc-old{font-size:10px;color:var(--gr);text-decoration:line-through;display:block;margin-top:2px}
.pdp-sc.on .pdp-sc-old{color:rgba(255,255,255,.5)}
.pdp-sc-save{font-size:8px;font-weight:700;color:#2e7d32;background:#e8f5e9;padding:2px 5px;border-radius:8px;display:inline-block;margin-top:5px}
.pdp-sc.on .pdp-sc-save{background:rgba(255,255,255,.18);color:#fff}
@media (max-width:360px){
  .pdp-sc{padding:8px 5px 6px}
  .pdp-sc-wt{font-size:12px}
  .pdp-sc-price{font-size:14px}
  .pdp-sc-save{font-size:7px;padding:1px 4px}
}

.pdp-qty-row{margin-top:20px;margin-bottom:16px}
.pdp-qty-label{font-size:12px;font-weight:600;color:var(--k);margin-bottom:8px}
.pdp-qty-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--k);border-radius:2px}
.pdp-qty-btn{width:34px;height:34px;background:transparent;border:none;font-size:16px;font-weight:600;color:var(--k);cursor:pointer}
.pdp-qty-input{width:38px;text-align:center;border:none;border-left:1px solid var(--bd);border-right:1px solid var(--bd);height:34px;font-size:13px;font-weight:600;font-family:var(--sans);color:var(--k);-moz-appearance:textfield}
.pdp-qty-input::-webkit-outer-spin-button,.pdp-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.pdp-price-row-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.pdp-price-row{font-size:22px;line-height:1;font-weight:700;color:var(--k);flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.pdp-wish-col{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0}
.pdp-wish-btn{position:static;flex-shrink:0;background:var(--cr);border:1px solid var(--bd)}
.pdp-wish-label{font-size:9px;color:var(--gr);text-align:center;white-space:nowrap}
.pdp-price-row del{font-size:14px;line-height:1;color:var(--gr);font-weight:400}
.pdp-price-row ins{text-decoration:none}
.pdp-price-hint{font-size:13px;font-weight:500;color:var(--gr)}

.pdp-addcart-btn{width:100%;background:var(--k);color:#fff;border:none;padding:16px;font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-family:var(--sans);border-radius:2px;cursor:pointer;margin-bottom:0}
.pdp-addcart-btn:disabled{opacity:.5;cursor:not-allowed}
.pdp-ship-note{font-size:9.5px;color:var(--gr);text-align:center;line-height:1.5}
.pdp-ship-note strong{color:var(--k);font-weight:700}

/* ---- What's Inside This Box (inline flow) ---- */
/* Optional per-product ingredient list, positioned right below the size selector so it's
   immediately visible without scrolling. Renders as one wrapped line of "01 Item  02 Item
   ..." (numbered editorial style, no icons/rows) rather than stacked rows, so it stays
   compact even for combos with 8-10 items. Only rendered when a product actually has
   bullets set (wp-admin → Snack Paper tab); the delivery trust strip further down is
   suppressed for that product instead of stacking under this. */
.pdp-whatsin{margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--bd)}
.pdp-whatsin-label{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gr);margin-bottom:8px}
.pdp-whatsin-flow{display:flex;flex-wrap:wrap;gap:4px 10px;font-family:var(--serif);font-size:11.5px;line-height:1.25;color:var(--k)}
.pdp-whatsin-item{white-space:normal}
.pdp-whatsin-num{color:var(--gr);font-weight:700;font-size:10px}
.pdp-ds{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);margin:16px 0 0}
.pdp-ds-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 6px;text-align:center;border-right:1px solid var(--bd)}
.pdp-ds-item:last-child{border-right:none}
.pdp-ds-icon{width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--k)}
.pdp-ds-title{font-size:10px;font-weight:700;color:var(--k);line-height:1.25}
.pdp-ds-sub{font-size:8.5px;color:var(--gr);line-height:1.5}

/* ---- Offer pill(s) ---- */
.pdp-offer-pills{display:flex;gap:8px;margin-bottom:16px}
.pdp-offer-pill{flex:1;min-width:0;border:1.5px solid var(--bd);border-radius:4px;padding:9px 8px;display:flex;align-items:center;gap:6px}
.pdp-offer-ico{width:24px;height:24px;background:var(--k);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pdp-offer-main{font-size:9px;font-weight:800;color:var(--k);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdp-offer-sub{font-size:8.5px;color:var(--gr);margin-top:1px}
.pdp-offer-pill > div{min-width:0}

/* ---- Product video ---- */
.pdp-video-block{margin:14px 0 4px}
.pdp-video{width:100%;aspect-ratio:16/9;border-radius:4px;margin-top:0;display:block;background:#000;object-fit:cover}

/* ---- About-tab banners & videos ---- */
/* Full-width landscape images/videos, uploaded per-product via wp-admin → Snack Paper tab
   → "About This Product tab — banners/videos". Each block only renders when the product
   actually has something uploaded for it; banners and videos are independent, so a product
   can have either, both, or neither. */
.pdp-about-banners{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.pdp-about-banner{width:100%;display:block;border-radius:4px}
.pdp-about-videos{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.pdp-about-video-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:#000}
.pdp-about-video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;display:block}

/* ---- Visual journey ---- */
.pdp-journey{background:var(--wh);position:relative;overflow:hidden;margin:0 -14px 18px;border-radius:6px}
.pdp-journey-np{position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 18px,rgba(0,0,0,.02) 18px,rgba(0,0,0,.02) 19px),repeating-linear-gradient(0deg,transparent 0,transparent 12px,rgba(0,0,0,.012) 12px,rgba(0,0,0,.012) 13px);pointer-events:none}
.pdp-journey-tag{font-size:8.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(0,0,0,.4);margin-bottom:8px;padding:0 20px;position:relative;z-index:1}
.pdp-journey-hed{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--k);line-height:1.2;margin-bottom:24px;padding:0 20px;position:relative;z-index:1}
.pdp-journey-hed em{font-style:italic;font-weight:400;color:rgba(0,0,0,.55)}
.pdp-journey-img-wrap{position:relative;z-index:1;line-height:0}
.pdp-journey-img{display:block;width:100%;height:auto}
.pdp-journey-img-desktop{display:none}
.pdp-road-scroll{overflow-x:auto;overflow-y:hidden;position:relative;cursor:grab;user-select:none;padding:0 20px 20px;z-index:1;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.pdp-road-scroll::-webkit-scrollbar{display:none}
.pdp-road-scroll:active{cursor:grabbing}
.pdp-road{display:flex;align-items:center;gap:0;width:max-content}
.pdp-road-step{display:flex;flex-direction:column;align-items:center;width:80px;position:relative}
.pdp-road-step-icon{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:22px;position:relative;z-index:2;flex-shrink:0}
.pdp-road-step-label{font-size:9px;font-weight:600;color:rgba(255,255,255,.6);text-align:center;margin-top:6px;line-height:1.35;max-width:70px}
.pdp-road-arrow{display:flex;align-items:center;padding-bottom:28px;flex-shrink:0}
.pdp-road-arrow-line{width:22px;height:1px;background:rgba(255,255,255,.25);position:relative}
.pdp-road-arrow-line::after{content:"";position:absolute;right:-1px;top:-3px;width:0;height:0;border-left:5px solid rgba(255,255,255,.25);border-top:4px solid transparent;border-bottom:4px solid transparent}
.pdp-journey-stats{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid rgba(0,0,0,.1);margin:4px 20px 0;position:relative;z-index:1}
.pdp-jstat{text-align:center;padding:16px 8px}
.pdp-jstat:not(:last-child){border-right:1px solid rgba(0,0,0,.1)}
.pdp-jstat-num{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--k);line-height:1;display:block}
.pdp-jstat-lbl{font-size:8.5px;color:rgba(0,0,0,.45);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;display:block}

/* ---- Tabs (accordion) ---- */
.pdp-tabs{border-top:1px solid var(--bd);margin-bottom:6px}
.pdp-tab{border-bottom:1px solid var(--bd)}
.pdp-tab-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 2px;cursor:pointer;-webkit-tap-highlight-color:transparent;color:var(--k)}
.pdp-tab-hdr-left{display:flex;align-items:center;gap:8px}
.pdp-tab-title{font-size:13px;font-weight:700;color:var(--k)}
.pdp-tab-arrow{width:18px;height:18px;display:flex;align-items:center;justify-content:center;transition:transform .22s ease;flex-shrink:0;color:var(--k)}
.pdp-tab.open .pdp-tab-arrow{transform:rotate(180deg)}
.pdp-tab-body{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1)}
.pdp-tab.open .pdp-tab-body{max-height:1400px}
.pdp-tab-inner{padding:0 2px 16px}
.pdp-desc-body{font-size:12px;color:#444;line-height:1.75;margin-bottom:12px}
.pdp-desc-body p{margin-bottom:8px}
.pdp-desc-body p:last-child{margin-bottom:0}
.pdp-highlights{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.pdp-hl{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;color:var(--k)}
.pdp-hl::before{content:"✓";font-weight:800;color:var(--k);flex-shrink:0}

/* Nutrition tab */
.nut-serving{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:12px;color:var(--k)}
.nut-serving-row strong{margin-right:6px}
.nut-table{width:100%;border-collapse:collapse;margin-bottom:12px}
.nut-table th,.nut-table td{text-align:left;padding:7px 0;border-bottom:1px solid var(--bd);font-size:11.5px}
.nut-table th{color:var(--gr);font-weight:600}
/* The "Per 100g" header was right-aligned inline but the value cells under it had no
   matching override, so header and values sat on different edges — the "not clean"
   look. Aligning the whole second column (header + every value) to the right fixes it. */
.nut-table th:last-child,.nut-table td:last-child{text-align:right}
.nut-ingr,.nut-allergen{margin-bottom:10px}
.nut-ingr-title,.nut-allergen-title{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gr);margin-bottom:4px}
.nut-ingr-body,.nut-allergen-body{font-size:11.5px;color:#444;line-height:1.6}

/* Shipping tab */
.ship-section{margin-bottom:14px}
.ship-section-title{font-size:13px;font-weight:700;color:var(--k);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.ship-section-title::after{content:"";flex:1;height:.5px;background:var(--bd)}
.ship-list{display:flex;flex-direction:column;gap:7px}
.ship-item{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;color:#444;line-height:1.6}
.ship-item::before{content:"›";font-weight:700;color:var(--k);flex-shrink:0;margin-top:1px}
.ship-note{background:#fff8e1;border:1px solid #ffc107;border-radius:3px;padding:9px 12px;font-size:11px;color:#7d5a00;line-height:1.6;margin-top:10px}
.ship-note strong{font-weight:700}

/* ---- Reviews ---- */
.pdp-reviews-sec{padding:0}
/* No border-top here — the last .pdp-tab (Packing & Shipping) already has its own
   border-bottom right above this, so a border-top here was drawing a second line
   immediately underneath it. */
.pdp-rev-hdr{padding:20px 2px 14px}
.pdp-rev-agg{display:flex;align-items:center;gap:12px;padding:0 2px 14px;border-bottom:1px solid var(--bd)}
.pdp-rev-big{font-family:var(--serif);font-size:52px;font-weight:700;color:var(--k);line-height:1}
.pdp-rev-right{flex:1}
.pdp-rev-stars-row{font-size:16px;margin-bottom:4px}
.pdp-rev-bars{display:flex;flex-direction:column;gap:3px}
.pdp-rev-bar-row{display:flex;align-items:center;gap:6px}
.pdp-rev-bar-lbl{font-size:9px;color:var(--gr);width:8px;text-align:right;font-weight:600;flex-shrink:0}
.pdp-rev-bar-bg{flex:1;height:5px;background:var(--bd);border-radius:3px;overflow:hidden}
.pdp-rev-bar-fill{height:100%;background:var(--k);border-radius:3px}
.pdp-rev-bar-n{font-size:9px;color:var(--gr);width:24px;text-align:right;flex-shrink:0}

/* Native WooCommerce reviews (rendered via comments_template) restyled to match */
#pdpVariationInfo{font-size:12px;color:var(--gr);margin-bottom:14px}
.pdp-reviews-sec .commentlist{list-style:none;margin:0;padding:0}
.pdp-reviews-sec .comment{border-bottom:1px solid var(--bd);padding:14px 0}
.pdp-reviews-sec .comment_container{display:flex;gap:10px}
.pdp-reviews-sec .avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}
.pdp-reviews-sec .comment-text{flex:1}
.pdp-reviews-sec .star-rating{color:#C89000;font-size:12px;margin-bottom:4px}
.pdp-reviews-sec .woocommerce-review__author{font-weight:700;font-size:12px;color:var(--k)}
.pdp-reviews-sec .woocommerce-review__dash,
.pdp-reviews-sec .woocommerce-review__published-date{font-size:11px;color:var(--gr)}
.pdp-reviews-sec .description p{margin:4px 0 0;font-size:12.5px;line-height:1.6}
.pdp-reviews-sec #review_form input[type="text"],
.pdp-reviews-sec #review_form input[type="email"],
.pdp-reviews-sec #review_form textarea{width:100%;border:1.5px solid var(--bd);border-radius:2px;padding:9px;font-family:var(--sans);font-size:12.5px;margin-bottom:10px;box-sizing:border-box}
.pdp-reviews-sec #review_form .form-submit input{background:var(--k);color:#fff;border:none;padding:11px 18px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-family:var(--sans);border-radius:2px;cursor:pointer}
.pdp-reviews-sec .woocommerce-verification-required{display:none}
.pdp-reviews-sec #reply-title{font-family:var(--serif);font-size:16px;margin:16px 0 10px}

/* ---- Sticky add-to-cart bar ---- */
.pdp-sticky-wrap{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:480px;z-index:290;max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}
.pdp-sticky-wrap.show{max-height:120px}
.pdp-sticky{background:var(--wh);box-shadow:0 -8px 28px rgba(0,0,0,.12);padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;border-top:1px solid var(--bd)}
.pdp-sticky-thumb{width:44px;height:44px;border-radius:8px;overflow:hidden;flex-shrink:0;border:1px solid var(--bd);background:var(--cr)}
.pdp-sticky-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pdp-sticky-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pdp-sticky-sub{font-size:11px;font-weight:600;color:var(--k);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;order:1}
.pdp-sticky-price{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--k);line-height:1.1;order:2}
.pdp-sticky-price del{font-size:12px;font-weight:400;color:var(--gr);margin-right:4px}
.pdp-sticky-price ins{text-decoration:none}
.pdp-sticky-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;background:var(--k);color:#fff;border:none;font-family:var(--sans);font-size:12.5px;font-weight:800;padding:13px 20px;cursor:pointer;letter-spacing:.03em;border-radius:26px;box-shadow:0 4px 14px rgba(0,0,0,.22);transition:transform .12s ease,box-shadow .12s ease}
.pdp-sticky-btn:active{transform:scale(.96);box-shadow:0 2px 8px rgba(0,0,0,.18)}
.pdp-sticky-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}

/* ---- "Recently ordered" ticker ---- */
.pdp-tick-wrap{overflow:hidden;height:32px;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);display:flex;align-items:center;background:#FAFAF7;margin-bottom:16px}
.pdp-tick-track{display:flex;align-items:center;will-change:transform}
.pdp-tick-item{display:inline-flex;align-items:center;gap:6px;padding:0 20px;font-size:10px;font-weight:600;color:var(--k);white-space:nowrap}
.pdp-tick-dot{width:6px;height:6px;border-radius:50%;background:#C62828;display:inline-block;flex-shrink:0}

/* ---- Comparison table ---- */
.pdp-compare{padding:4px 0 20px}
.pdp-below.sec{padding-top:4px}
.pdp-compare-table{width:100%;border-collapse:collapse;margin-top:12px}
.pdp-compare-table th{padding:8px 10px;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--k)}
.pdp-compare-table th:first-child{text-align:left;color:var(--gr)}
.pdp-compare-table th.us{background:var(--k);color:#fff;border-radius:3px 3px 0 0;text-align:center}
.pdp-compare-table th.them{color:var(--gr);text-align:center}
.pdp-compare-table td{padding:9px 10px;font-size:11px;border-bottom:1px solid var(--bd);vertical-align:middle}
.pdp-compare-table td:first-child{color:var(--gr);font-size:10px;font-weight:600}
.pdp-compare-table td.us{background:#f8f5ef;text-align:center;font-weight:700;color:var(--k)}
.pdp-compare-table td.them{text-align:center;color:var(--gr)}
.pdp-compare-table tr:last-child td{border-bottom:none}
.pdp-tick{color:#2e7d32;font-size:14px}
.pdp-cross{color:#C62828;font-size:14px}

@media (min-width:1024px){
  .pdp-wrap{display:flex;align-items:flex-start;gap:48px;max-width:1260px;margin:0 auto;padding:36px 44px 4px;box-sizing:border-box}
  .pdp-gallery{flex:0 0 50%;max-width:50%;box-sizing:border-box;border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
  .pdp-track{width:100%}
  .pdp-slide{width:100%;aspect-ratio:5/6}
  .pdp-info{flex:0 0 50%;max-width:50%;box-sizing:border-box;padding-top:0;min-width:0}
  .pdp-below{max-width:1260px;margin:0 auto;padding:0 44px 36px;box-sizing:border-box}
  .pdp-title{font-size:32px}
  .pdp-journey{margin:0 0 18px;border-radius:8px}
  .pdp-journey-img-mobile{display:none}
  .pdp-journey-img-desktop{display:block}
  .pdp-sticky-wrap{max-width:none}
  .pdp-sticky{max-width:1260px;margin:0 auto;padding:14px 44px}
  .pdp-sticky-thumb{width:52px;height:52px}
  .pdp-sticky-sub{font-size:13px}
  .pdp-sticky-price{font-size:21px}
  .pdp-sticky-btn{padding:15px 28px;font-size:13.5px}
}

/* Extra breathing room around "More Customer Videos" specifically on the PDP, where it sits
   directly under the comparison table instead of the homepage's more spread-out layout. */
.pdp-below .more-vids{padding-top:8px}
.pdp-below .more-vids-hdr{padding-bottom:18px}

/* Free-gift bar on the product page reuses the shared .sc-gift-bar component (same one used
   in the side cart and checkout), but plain white + a boxed product icon matches the PDP's
   black-and-white system better than the side cart's cream/dashed-border treatment. */
#pdpFreeBar{background:#fff;border:1px solid var(--bd);border-radius:8px}
#pdpFreeBar .sc-gift-icon{border:1px solid var(--bd);border-radius:6px;padding:2px;background:#fff}
