.pdv-breadbar{background:#f9fafb;border-bottom:1px solid #f0f0f0}
.pdv-breadcrumb{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#9ca3af;padding:14px 0;flex-wrap:wrap}
.pdv-breadcrumb a{color:#6b7280;transition:color .2s;font-weight:500}
.pdv-breadcrumb a:hover{color:#814f20}
.pdv-breadcrumb i{font-size:8px;color:#d1d5db}
.pdv-breadcrumb span{color:#374151;font-weight:600;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


.pdv-wrap{padding:40px 0 0}
.pdv-grid{display:grid;grid-template-columns:520px 1fr;gap:60px;align-items:start}


.pdv-gallery{position:sticky;top:90px}

/* Main image */
.pdv-main-wrap{position:relative;border-radius:24px;overflow:hidden;background:#f8fafb;border:1.5px solid #e5e7eb;cursor:zoom-in;aspect-ratio:1/1;margin-bottom:14px;box-shadow:0 8px 32px rgba(0,0,0,.07)}
.pdv-main-img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.34,1.4,.64,1),opacity .2s}
.pdv-main-wrap:hover .pdv-main-img{transform:scale(1.06)}
.pdv-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:80px;color:#d1d5db}

/* Discount/out badge on image */
.pdv-img-badge{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;gap:7px;z-index:2}
.pdv-badge-disc{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:11px;font-weight:800;padding:5px 11px;border-radius:9999px;letter-spacing:.04em}
.pdv-badge-out{background:#6b7280;color:#fff;font-size:11px;font-weight:700;padding:5px 11px;border-radius:9999px}

/* Zoom hint */
.pdv-zoom-hint{position:absolute;bottom:14px;right:14px;background:rgba(0,0,0,.5);color:#fff;font-size:11px;font-weight:500;padding:6px 12px;border-radius:9999px;display:flex;align-items:center;gap:6px;pointer-events:none;backdrop-filter:blur(4px)}

/* Nav arrows on main image */
.pdv-img-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.85);border:1.5px solid rgba(0,0,0,.08);color:#374151;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:3;backdrop-filter:blur(4px)}
.pdv-img-nav:hover{background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.16);transform:translateY(-50%) scale(1.08)}
.pdv-img-prev{left:12px}
.pdv-img-next{right:12px}

/* Thumbnail strip */
.pdv-thumbs{display:flex;gap:10px;flex-wrap:wrap}
.pdv-thumb{width:74px;height:74px;border-radius:12px;overflow:hidden;border:2.5px solid #e5e7eb;cursor:pointer;transition:all .22s;flex-shrink:0;background:#f9fafb}
.pdv-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.pdv-thumb:hover{border-color:#814f20;transform:translateY(-2px)}
.pdv-thumb.active{border-color:#814f20;box-shadow:0 0 0 3px rgba(129,79,32,.18)}
.pdv-thumb.active img{transform:scale(1.05)}


.pdv-info{padding-top:4px}

.pdv-cat-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#654120;text-transform:uppercase;letter-spacing:.08em;background:#f2e3d5;padding:5px 14px;border-radius:9999px;margin-bottom:14px}
.pdv-cat-tag i{font-size:10px}

.pdv-title{font-size:clamp(22px,2.8vw,34px);font-weight:800;color:#111827;line-height:1.2;margin-bottom:12px}

/* Rating row */
.pdv-rating-row{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.pdv-stars{display:flex;gap:3px}
.pdv-stars i{color:#f59e0b;font-size:14px}
.pdv-stars i.half{position:relative;display:inline-block;color:#e5e7eb}
.pdv-stars i.half::before{content:'\f089';font-family:'Font Awesome 6 Free';font-weight:900;color:#f59e0b;position:absolute;left:0;top:0;width:50%;overflow:hidden}
.pdv-rating-score{font-size:15px;font-weight:800;color:#111827}
.pdv-rating-count{font-size:13px;color:#9ca3af;cursor:pointer;transition:color .2s}
.pdv-rating-count:hover{color:#814f20;text-decoration:underline}
.pdv-rating-badge{background:#fef9c3;color:#854d0e;font-size:11px;font-weight:700;padding:4px 10px;border-radius:9999px}

/* Price block */
.pdv-price-block{background:linear-gradient(135deg,#faf6f3,#f2e3d5);border-radius:16px;padding:18px 22px;margin-bottom:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pdv-price{font-size:36px;font-weight:800;color:#654120;letter-spacing:-.5px}
.pdv-price-orig{font-size:20px;color:#9ca3af;text-decoration:line-through;font-weight:500}
.pdv-price-save{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:12px;font-weight:800;padding:5px 12px;border-radius:9999px}

/* Stock */
.pdv-stock-row{margin-bottom:18px}
.pdv-stock{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:7px 16px;border-radius:9999px}
.pdv-stock.in{background:#faf6f3;color:#5d3c1e;border:1.5px solid #efd8c3}
.pdv-stock.low{background:#fffbeb;color:#92400e;border:1.5px solid #fde68a;animation:pdvPulse 2s infinite}
.pdv-stock.out{background:#fef2f2;color:#991b1b;border:1.5px solid #fecaca}
@keyframes pdvPulse{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.35)}50%{box-shadow:0 0 0 6px rgba(245,158,11,0)}}
.pdv-stock-num{font-size:11px;font-weight:700;background:#fef9c3;color:#854d0e;padding:2px 7px;border-radius:9999px;margin-left:2px}

/* Short description */
.pdv-short-desc{font-size:14px;color:#4b5563;line-height:1.8;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f3f4f6}


.pdv-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.pdv-feat-chip{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#654120;background:#faf6f3;border:1px solid #f3e5d8;padding:6px 13px;border-radius:9999px}
.pdv-feat-chip i{font-size:11px;color:#814f20}


.pdv-buy-section{background:#fff;border:1.5px solid #f3f4f6;border-radius:20px;padding:20px;margin-bottom:20px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.pdv-qty-row{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.pdv-qty-label{font-size:13px;font-weight:600;color:#374151;white-space:nowrap}
.pdv-qty-ctrl{display:flex;align-items:center;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:9999px;overflow:hidden}
.pdv-qty-ctrl button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#374151;transition:all .2s}
.pdv-qty-ctrl button:hover:not(:disabled){background:#f2e3d5;color:#814f20}
.pdv-qty-ctrl button:disabled{opacity:.35;cursor:not-allowed}
.pdv-qty-val{min-width:48px;width:48px;text-align:center;font-size:16px;font-weight:700;color:#111827;border:none;background:transparent;outline:none;-moz-appearance:textfield;appearance:textfield;padding:0}
.pdv-qty-val::-webkit-outer-spin-button,.pdv-qty-val::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pdv-cart-btns{display:flex;gap:12px;flex-wrap:wrap}
/* Height trimmed from 15px/24px padding at 15px type down to 12px/22px at
   14px - about 56px tall to about 44px, which is still a comfortable target
   and no longer dominates the buy box. */
.pdv-atc-btn{flex:1;min-width:150px;background:linear-gradient(135deg,#814f20,#7c4c1f,#945b25);color:#fff;padding:12px 22px;border-radius:9999px;font-size:14px;font-weight:700;font-family: var(--font-body);display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s;cursor:pointer;border:none;box-shadow:0 3px 12px rgba(129,79,32,.26)}
.pdv-atc-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(129,79,32,.38)}
.pdv-atc-btn:active{transform:scale(.97)}
.pdv-atc-btn:disabled{background:#e5e7eb;color:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}
.pdv-atc-btn.loading{pointer-events:none}
.pdv-atc-btn.loading i{animation:pdvSpin .7s linear infinite}
@keyframes pdvSpin{to{transform:rotate(360deg)}}
/* Buy Now: an outline twin of Add to Cart - same family, same size, so the
   pair reads as one control rather than two competing calls to action.
   The near-black fill it used to have was the only cool, heavy element left in
   a warm palette, and at the same weight it out-shouted the primary action.

   #814f20 is the Add to Cart gradient's own start colour, and it measures
   6.83:1 on white - clearing AA for the label (4.5) AND the 3:1 non-text rule
   for the border, which matters because a button edge is a real control
   boundary, unlike the decorative hairlines elsewhere in this sheet.
   A border cannot take a gradient, so a gradient stop is the closest match. */
.pdv-buy-btn{flex:1;min-width:140px;background:transparent;color:#814f20;border:1.5px solid #814f20;padding:12px 22px;border-radius:9999px;font-size:14px;font-weight:700;font-family: var(--font-body);display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s;text-decoration:none;box-shadow:none}
.pdv-buy-btn:hover{background:#814f20;color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(129,79,32,.32)}
.pdv-buy-btn:active{transform:scale(.97)}


.pdv-sec-row{display:flex;align-items:center;gap:10px;margin-bottom:22px;flex-wrap:wrap}
.pdv-sec-btn{display:flex;align-items:center;gap:7px;padding:10px 18px;border-radius:9999px;font-size:13px;font-weight:600;font-family: var(--font-body);cursor:pointer;transition:all .25s;border:1.5px solid #e5e7eb;color:#374151;background:#fff}
.pdv-sec-btn:hover{border-color:#814f20;color:#814f20;background:#faf6f3}
.pdv-sec-btn.wished{border-color:#f43f5e;color:#f43f5e;background:#fff1f2}
.pdv-sec-btn.wished i{color:#f43f5e}


.pdv-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.pdv-trust-item{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:14px 10px;background:#f9fafb;border-radius:14px;border:1px solid #f3f4f6}
.pdv-trust-item i{font-size:20px;color:#814f20}
.pdv-trust-item span{font-size:11.5px;font-weight:600;color:#374151;line-height:1.4}


.pdv-delivery{display:flex;align-items:center;gap:10px;padding:13px 16px;background:#faf6f3;border-radius:12px;border:1px solid #f3e5d8;font-size:13px;color:#5d3c1e;font-weight:500;margin-bottom:4px}
.pdv-delivery i{font-size:16px;color:#814f20;flex-shrink:0}
.pdv-delivery strong{font-weight:700}


/* ══════════════════════════════════════════════════════════════════
   PRODUCT DETAILS BLOCK
   The tab bar is now an editorial underline set on a hairline rule
   rather than a grey pill - the pill read as generic and its cool grey
   fought the warm peach/caramel palette.

   Colour decisions are measured, not assumed:
     #A36833 tab underline  4.58:1 on white - clears the 3:1 non-text
                            rule for a state indicator (WCAG 1.4.11)
     #66707E muted text     5.02:1 on white, 4.67:1 on #FAF6F3
     #774C24 on #F2E3D5     5.88:1
   The frame hairline (#F2E3D5, 1.26:1) is decorative: the card is a
   content container and is defined by its white fill plus a soft warm
   shadow, not by that border.
   ══════════════════════════════════════════════════════════════════ */
.pdv-tabs-section{padding:56px 0 0}
/* Breathing room before the footer.
   .pdv-wrap, .container and .pdv-tabs-section all carry zero bottom padding,
   and the only 72px gap in the chain came from .pdv-related-section - which
   is conditionally rendered. On a store with a single product (so no related
   items) the tab frame butted straight into the dark footer. This restores
   the gap only when the tabs really are the last block, so the related
   section's own margin-top is untouched when it does render. */
.pdv-tabs-section:last-child{padding-bottom:72px}

/* Section header - gives the block a hierarchy the bare tab bar lacked */
.pdv-tabs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.pdv-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#A36833;margin-bottom:12px}
.pdv-eyebrow::before{content:"";width:28px;height:2px;border-radius:2px;background:linear-gradient(90deg,#E7B88E,#DFAB76);flex-shrink:0}
.pdv-tabs-title{font-family:var(--font-display);font-size:clamp(26px,3.4vw,36px);font-weight:600;line-height:1.16;color:#1F2937;letter-spacing:-.01em}
.pdv-tabs-title span{color:#774C24;font-style:italic}
.pdv-tabs-sub{margin:12px 0 0;font-size:14.5px;line-height:1.65;color:#4B5563;max-width:56ch}
.pdv-tabs-stamp{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;background:#FAF6F3;border:1px solid #F2E3D5;border-radius:9999px;font-family:var(--font-body);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#774C24;white-space:nowrap;flex-shrink:0}
.pdv-tabs-stamp i{font-size:13px;color:#A36833}

/* Tab bar */
.pdv-tabs-nav{display:flex;gap:26px;margin-bottom:0;overflow-x:auto;border-bottom:1px solid #F2E3D5;scrollbar-width:none;-ms-overflow-style:none}
.pdv-tabs-nav::-webkit-scrollbar{display:none}
.pdv-tab-btn{position:relative;display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;padding:14px 4px;font-family:var(--font-body);font-size:13px;font-weight:600;color:#66707E;background:transparent;border:none;cursor:pointer;white-space:nowrap;transition:color .25s ease}
.pdv-tab-btn i{font-size:14px;transition:color .25s ease}
.pdv-tab-label{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:.005em}
.pdv-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;background:#F2E3D5;border-radius:9999px;font-family:var(--font-body);font-size:11.5px;font-weight:700;color:#774C24}
.pdv-tab-btn::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:#A36833;transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.pdv-tab-btn:hover{color:#774C24}
.pdv-tab-btn.active{color:#774C24}
.pdv-tab-btn.active::after{transform:scaleX(1)}

/* One frame wraps every panel so the card edge persists across switches */
.pdv-tab-frame{background:#fff;border:1px solid #F2E3D5;border-top:none;border-radius:0 0 20px 20px;padding:40px 44px;box-shadow:0 1px 2px rgba(124,76,31,.04),0 14px 34px -12px rgba(124,76,31,.14)}

.pdv-tab-panel{display:none}
.pdv-tab-panel.active{display:block;animation:pdvFadeUp .35s ease both}
@keyframes pdvFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Description tab.
   This is admin-authored rich HTML, so the rules stay structural: rhythm
   via a sibling selector, and enhancement for the tags the editor can
   actually emit. Anything unknown from the WYSIWYG still renders fine. */
/* Single column, flush left, at a readable ~70ch measure. The card is
   ~1060px wide, so some space remains on the right - stretching the line
   length to fill it would run past ~100 characters, which genuinely hurts
   reading. Left-aligned rather than centred so the text starts on the same
   edge as the tab label, the heading and the other tab panels. */
.pdv-desc-content{max-width:70ch;font-size:15.5px;line-height:1.7;color:#374151}
/* Keep headings and discrete blocks from being split when the page is printed. */
.pdv-desc-content h3,.pdv-desc-content h4,.pdv-desc-content li,.pdv-desc-content blockquote,.pdv-desc-content table,.pdv-desc-content figure,.pdv-desc-content pre,.pdv-desc-content hr{break-inside:avoid}
.pdv-desc-content>*{margin:0}
.pdv-desc-content>*+*{margin-top:.85em}
.pdv-desc-content h3,.pdv-desc-content h4{font-family:var(--font-display);font-size:21px;font-weight:600;line-height:1.3;color:#111827;margin:1.7em 0 .45em;padding-left:15px;border-left:3px solid #DFAB76}
.pdv-desc-content h3:first-child,.pdv-desc-content h4:first-child{margin-top:0}
.pdv-desc-content ul,.pdv-desc-content ol{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.6em}
.pdv-desc-content ul li{position:relative;padding-left:26px}
.pdv-desc-content ul li::before{content:"";position:absolute;left:5px;top:.66em;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#E7B88E,#DFAB76)}
.pdv-desc-content ol{counter-reset:pdvDescList}
.pdv-desc-content ol li{position:relative;padding-left:34px;counter-increment:pdvDescList}
.pdv-desc-content ol li::before{content:counter(pdvDescList);position:absolute;left:0;top:.14em;width:22px;height:22px;border-radius:50%;background:#F2E3D5;color:#774C24;font-family:var(--font-body);font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.pdv-desc-content strong{color:#111827;font-weight:700}
.pdv-desc-content a{color:#945B25;text-decoration:underline;text-decoration-color:#DFAB76;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.pdv-desc-content a:hover{color:#774C24;text-decoration-color:#A36833}
.pdv-desc-content img{border-radius:14px;margin:1.5em 0;max-width:100%;height:auto}
.pdv-desc-content blockquote{margin:1.5em 0;padding:15px 22px;background:#FAF6F3;border-left:3px solid #DFAB76;border-radius:0 14px 14px 0;font-style:italic;color:#4B5563}
.pdv-desc-content table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:14px;line-height:1.6}
.pdv-desc-content th{background:#FAF6F3;color:#111827;font-weight:700;text-align:left}
.pdv-desc-content th,.pdv-desc-content td{padding:10px 13px;border:1px solid #F2E3D5}
.pdv-desc-content hr{border:none;height:1px;background:#F2E3D5;margin:2em 0}
.pdv-no-content{font-size:14px;color:#66707E;font-style:italic}

/* How to use tab */
.pdv-how-list{display:flex;flex-direction:column;max-width:64ch}
.pdv-how-item{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid #F2E3D5}
.pdv-how-item:first-child{padding-top:0}
.pdv-how-item:last-child{border-bottom:none;padding-bottom:0}
.pdv-how-num{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#A36833,#774C24);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px -3px rgba(124,76,31,.4)}
.pdv-how-text strong{display:block;font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.35;color:#111827;margin-bottom:5px}
.pdv-how-text span{font-size:14px;color:#4B5563;line-height:1.7}
.pdv-how-tip{display:flex;align-items:flex-start;gap:12px;margin-top:26px;padding:16px 20px;background:#FAF6F3;border:1px solid #F2E3D5;border-radius:14px;font-size:13.5px;line-height:1.65;color:#5D3C1E}
.pdv-how-tip i{color:#A36833;margin-top:3px;flex-shrink:0}

/* Ingredients tab */
.pdv-ing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.pdv-ing-card{background:#FAF6F3;border:1px solid #F2E3D5;border-radius:16px;padding:18px 20px;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.pdv-ing-card:hover{border-color:#DFAB76;transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(124,76,31,.35)}
.pdv-ing-card strong{display:block;font-size:13.5px;font-weight:700;color:#111827;margin-bottom:5px}
.pdv-ing-card span{font-size:12.5px;color:#4B5563;line-height:1.6}
.pdv-ing-note{margin-top:22px;display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;color:#4B5563}
.pdv-ing-note i{color:#A36833;margin-top:3px;flex-shrink:0}


.pdv-reviews-section{padding:0}
/* Rating stars and bar fills.
   #c26605 replaces #f59e0b here. The old amber measured only 2.00:1 on the
   summary card and 1.71:1 against its own bar track, so a rating was a data
   mark nobody could actually see. #c26605 is the lightest amber clearing 3:1
   in both roles (3.76:1 and 3.22:1) and reads as a deeper, more refined gold.
   #f59e0b is still used for decorative stars elsewhere on the site. */
.pdv-reviews-summary{
  display:grid;grid-template-columns:230px 1fr;gap:0;align-items:stretch;
  background:#FAF6F3;border:1px solid #EACCB0;border-radius:22px;
  padding:30px 34px;margin-bottom:28px;
  box-shadow:0 1px 2px rgba(124,76,31,.04),0 12px 30px -14px rgba(124,76,31,.18);
}
.pdv-rating-hero{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding-right:34px;border-right:1px solid #EACCB0;
}
.pdv-rating-num{display:flex;align-items:baseline;justify-content:center;gap:9px}
.pdv-rating-score{font-size:64px;font-weight:800;line-height:1;letter-spacing:-3px;color:#111827}
.pdv-rating-den{font-size:13px;font-weight:600;color:#66707E;letter-spacing:.01em}
.pdv-rating-stars-big{display:flex;justify-content:center;gap:5px;margin:14px 0 8px}
.pdv-rating-stars-big i{color:#c26605;font-size:19px}
.pdv-rating-stars-big .far{color:#E0CDB4}
.pdv-rating-label{font-size:13px;color:#66707E}
.pdv-rating-verified{
  display:inline-flex;align-items:center;gap:6px;margin-top:12px;
  padding:5px 12px;background:#F2E3D5;border-radius:9999px;
  font-size:11.5px;font-weight:600;color:#774C24;
}
.pdv-rating-verified i{font-size:12px;color:#A36833}

.pdv-rating-bars{display:flex;flex-direction:column;justify-content:center;gap:9px;padding-left:34px}
.pdv-rating-bars-title{
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#66707E;margin:0 0 4px;
}
.pdv-rbar-row{display:flex;align-items:center;gap:12px}
.pdv-rbar-label{display:flex;align-items:center;gap:5px;width:26px;flex-shrink:0;font-size:12.5px;font-weight:600;color:#4B5563}
.pdv-rbar-label i{color:#c26605;font-size:11px}
.pdv-rbar-track{flex:1;height:9px;background:#F2E3D5;border-radius:9999px;overflow:hidden}
.pdv-rbar-fill{height:100%;background:#c26605;border-radius:9999px;transition:width .8s cubic-bezier(.34,1.4,.64,1)}
.pdv-rbar-cnt{font-size:12.5px;font-weight:700;color:#111827;min-width:20px;text-align:right}
.pdv-rbar-pct{font-size:11.5px;color:#66707E;min-width:38px;text-align:right;font-variant-numeric:tabular-nums}
/* Rows with no reviews recede, but stay readable rather than being hidden. */
.pdv-rbar-row:not(.has-reviews) .pdv-rbar-label{color:#66707E}
.pdv-rbar-row:not(.has-reviews) .pdv-rbar-label i{color:#E0CDB4}
/* The row that actually holds the average gets a subtle warm wash. */
.pdv-rbar-row.has-reviews{background:#F2E3D5;border-radius:8px;padding:2px 6px;margin:0 -6px}

/* Review cards */
.pdv-reviews-list{display:flex;flex-direction:column;gap:16px;max-height:560px;overflow-y:auto;padding-right:4px}
.pdv-reviews-list::-webkit-scrollbar{width:4px}
.pdv-reviews-list::-webkit-scrollbar-track{background:transparent}
.pdv-reviews-list::-webkit-scrollbar-thumb{background:#E2CDBB;border-radius:9999px}
.pdv-review-card{background:#fff;border-radius:16px;padding:22px;border:1px solid #F2E3D5;box-shadow:0 2px 10px rgba(124,76,31,.05);transition:box-shadow .2s,border-color .2s}
.pdv-review-card:hover{border-color:#DFAB76;box-shadow:0 6px 20px rgba(124,76,31,.1)}
.pdv-review-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;gap:12px;flex-wrap:wrap}
.pdv-review-user{display:flex;align-items:center;gap:10px}
/* Reviewer chip. The gradient comes from the reviewer via --av-a/--av-b
   (see sm_review_avatar()), so each person is visually distinct while the
   fallback keeps the default caramel if the custom properties go missing.
   Three shadow layers give it depth instead of the flat disc it used to be:
   a white ring, a neutral drop shadow, and a halo tinted with that person's
   own colour. All three sit on the element itself - no pseudo-element - so
   there is no z-index/stacking-context dependency on how the markup nests. */
.pdv-review-avatar{
  --av-a:#A36833;
  --av-b:#774C24;
  width:44px;height:44px;
  border-radius:50%;
  background:linear-gradient(140deg,var(--av-a),var(--av-b));
  color:#fff;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  box-shadow:0 0 0 2px #fff,0 3px 10px rgba(15,23,42,.14),0 0 16px -3px var(--av-a);
  transition:transform .2s ease,box-shadow .2s ease;
  user-select:none;
}
.pdv-review-user:hover .pdv-review-avatar{
  transform:scale(1.06);
  box-shadow:0 0 0 2px #fff,0 6px 16px -3px rgba(15,23,42,.22),0 0 22px -2px var(--av-a);
}
@media (hover:none){.pdv-review-user:hover .pdv-review-avatar{transform:none}}
.pdv-review-name{font-size:14px;font-weight:700;color:#111827}
/* Was #9ca3af, which measures only ~2.5:1 on white - below AA for 12px text. */
.pdv-review-date{font-size:12px;color:#66707E}
.pdv-review-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.pdv-review-stars{display:flex;gap:2px}
.pdv-review-stars i{color:#f59e0b;font-size:12px}
.pdv-review-badge{font-size:10px;font-weight:700;color:#5d3c1e;background:#faf6f3;padding:3px 8px;border-radius:9999px;border:1px solid #efd8c3}
.pdv-review-text{font-size:13.5px;color:#374151;line-height:1.75}
.pdv-review-helpful{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:12px;color:#66707E}
.pdv-review-helpful button{display:flex;align-items:center;gap:4px;font-size:12px;color:#66707E;font-family: var(--font-body);padding:4px 10px;border-radius:9999px;border:1px solid #F2E3D5;background:#fff;transition:all .2s}
.pdv-review-helpful button:hover{border-color:#DFAB76;color:#774C24;background:#FAF6F3}
.pdv-write-review-btn{margin-top:20px;display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#A36833,#774C24);color:#fff;border-radius:9999px;font-size:14px;font-weight:700;font-family: var(--font-body);cursor:pointer;transition:all .3s;border:none;box-shadow:0 4px 14px rgba(124,76,31,.28)}
.pdv-write-review-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(124,76,31,.38)}

/* Write review modal */
.pdv-review-modal{position:fixed;inset:0;z-index:700;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(4px)}
.pdv-review-modal.open{opacity:1;pointer-events:all}
.pdv-review-modal-inner{background:#fff;border-radius:24px;padding:32px;width:100%;max-width:500px;position:relative;box-shadow:0 24px 64px rgba(0,0,0,.2);transform:translateY(16px);transition:transform .3s}
.pdv-review-modal.open .pdv-review-modal-inner{transform:translateY(0)}
.pdv-review-modal h3{font-size:18px;font-weight:800;color:#111827;margin-bottom:6px}
.pdv-review-modal .pdv-modal-subtitle{font-size:13px;color:#6b7280;margin-bottom:22px}
.pdv-review-modal label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}
.pdv-review-modal .pdv-modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;background:#f3f4f6;color:#6b7280;font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}
.pdv-review-modal .pdv-modal-close:hover{background:#e5e7eb}
/* Star picker */
.pdv-star-picker{display:flex;gap:6px;margin-bottom:18px}
.pdv-star-picker i{font-size:26px;color:#d1d5db;cursor:pointer;transition:color .15s,transform .15s}
.pdv-star-picker i:hover,.pdv-star-picker i.lit{color:#f59e0b;transform:scale(1.2)}
.pdv-modal-input{width:100%;padding:12px 15px;border:1.5px solid #e5e7eb;border-radius:12px;font-size:14px;font-family: var(--font-body);outline:none;transition:border-color .2s;margin-bottom:14px;resize:vertical}
.pdv-modal-input:focus{border-color:#814f20;box-shadow:0 0 0 3px rgba(129,79,32,.12)}
.pdv-modal-submit{width:100%;background:linear-gradient(135deg,#814f20,#7c4c1f);color:#fff;padding:14px;border-radius:9999px;font-size:15px;font-weight:700;font-family: var(--font-body);border:none;cursor:pointer;transition:all .3s;margin-top:4px}
.pdv-modal-submit:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(129,79,32,.35)}


.pdv-related-section{padding:56px 0 72px;margin-top:52px;border-top:1px solid #f3f4f6}
.pdv-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}
.pdv-section-head h2{font-size:22px;font-weight:800;color:#111827}
.pdv-section-head h2 span{color:#814f20}
.pdv-view-all{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#814f20;padding:9px 20px;border-radius:9999px;border:1.5px solid #f3e5d8;background:#faf6f3;transition:all .25s}
.pdv-view-all:hover{background:#814f20;color:#fff;border-color:#814f20}
.pdv-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px}

/* Related product card */
.pdv-rel-card{background:#fff;border-radius:20px;border:1.5px solid #f3f4f6;overflow:hidden;transition:all .3s;cursor:pointer}
.pdv-rel-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.12);border-color:#f3e5d8}
.pdv-rel-img-wrap{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f8fafb}
.pdv-rel-img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pdv-rel-card:hover .pdv-rel-img{transform:scale(1.06)}
.pdv-rel-badge{position:absolute;top:10px;left:10px;font-size:10px;font-weight:800;padding:4px 9px;border-radius:9999px;color:#fff}
.pdv-rel-badge.disc{background:linear-gradient(135deg,#ef4444,#dc2626)}
.pdv-rel-badge.out{background:#6b7280}
.pdv-rel-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.45) 0%,transparent 55%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;justify-content:center;padding-bottom:14px}
.pdv-rel-card:hover .pdv-rel-overlay{opacity:1}
.pdv-rel-quick-btn{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.95);color:#814f20;padding:9px 18px;border-radius:9999px;font-size:12px;font-weight:700;font-family: var(--font-body);cursor:pointer;border:none;transition:all .2s;backdrop-filter:blur(4px)}
.pdv-rel-quick-btn:hover{background:#fff;transform:scale(1.04)}
.pdv-rel-quick-btn.out-btn{color:#6b7280;cursor:not-allowed}
.pdv-rel-body{padding:14px}
.pdv-rel-cat{font-size:10.5px;font-weight:700;color:#814f20;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.pdv-rel-name{font-size:13.5px;font-weight:700;color:#111827;line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pdv-rel-price-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pdv-rel-price{font-size:16px;font-weight:800;color:#654120}
.pdv-rel-orig{font-size:12px;color:#9ca3af;text-decoration:line-through}
.pdv-rel-add{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#814f20,#7c4c1f);color:#fff;border-radius:9999px;font-size:12px;font-weight:700;font-family: var(--font-body);border:none;cursor:pointer;margin-top:10px;width:100%;justify-content:center;transition:all .25s}
.pdv-rel-add:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(129,79,32,.35)}
.pdv-rel-add.out-btn{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}


.pdv-lightbox{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.pdv-lightbox.open{opacity:1;pointer-events:all}
.pdv-lb-inner{position:relative;display:flex;align-items:center;justify-content:center;max-width:min(90vw,800px)}
.pdv-lb-img{max-width:min(90vw,800px);max-height:84vh;object-fit:contain;border-radius:12px;display:block;transition:opacity .25s;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.pdv-lb-close{position:fixed;top:20px;right:24px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.22);color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:10}
.pdv-lb-close:hover{background:rgba(255,255,255,.25)}
.pdv-lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:10}
.pdv-lb-nav:hover{background:rgba(255,255,255,.22);transform:translateY(-50%) scale(1.08)}
.pdv-lb-prev{left:20px}
.pdv-lb-next{right:20px}
.pdv-lb-counter{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);font-size:13px;color:rgba(255,255,255,.6);letter-spacing:.06em;background:rgba(0,0,0,.4);padding:6px 16px;border-radius:9999px}
.pdv-lb-thumbs{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10;max-width:90vw;overflow-x:auto;padding:4px}
.pdv-lb-thumb{width:52px;height:52px;border-radius:8px;overflow:hidden;cursor:pointer;opacity:.5;border:2px solid transparent;transition:all .22s;flex-shrink:0}
.pdv-lb-thumb img{width:100%;height:100%;object-fit:cover}
.pdv-lb-thumb.active{opacity:1;border-color:#fff;transform:scale(1.08)}


@media(max-width:1100px){
  .pdv-grid{grid-template-columns:1fr 1fr;gap:40px}
  .pdv-lb-prev{left:8px}
  .pdv-lb-next{right:8px}
}
@media(max-width:820px){
  .pdv-grid{grid-template-columns:1fr;gap:24px}
  .pdv-gallery{position:static}
  .pdv-related-grid{grid-template-columns:repeat(2,1fr)}
  .pdv-reviews-summary{grid-template-columns:1fr;gap:20px}
  .pdv-rating-big{display:flex;gap:16px;align-items:center;justify-content:flex-start;text-align:left}
  .pdv-rating-stars-big{justify-content:flex-start}
}
@media(max-width:600px){
  .pdv-trust{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .pdv-trust-item i{font-size:16px}
  .pdv-cart-btns{flex-direction:column}
  .pdv-atc-btn,.pdv-buy-btn{min-width:0;width:100%}
  .pdv-tabs-nav{gap:18px}
  .pdv-tab-btn{padding:12px 3px;font-size:12px}
  .pdv-tab-label{font-size:15px}
  .pdv-tab-frame{padding:26px 20px;border-radius:0 0 16px 16px}
  .pdv-tabs-section:last-child{padding-bottom:48px}
  .pdv-tabs-sub{display:none}
  .pdv-tabs-stamp{display:none}
  .pdv-desc-content{font-size:15px;max-width:100%}
  .pdv-related-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .pdv-lb-thumbs{display:none}
  .pdv-ing-grid{grid-template-columns:1fr 1fr}
}

/* ── Admin reply shown under a customer review ─────────────── */
.pdv-review-reply{
    margin-top:12px;padding:12px 14px;
    background:#faf6f3;border:1px solid #e8c6a7;
    border-radius:12px;
}
.pdv-review-reply-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.pdv-review-reply-avatar{
    width:26px;height:26px;border-radius:50%;
    background:linear-gradient(135deg,#814f20,#945b25);
    display:flex;align-items:center;justify-content:center;
    font-size:11px;color:#fff;flex-shrink:0;
}
.pdv-review-reply-head strong{font-size:12.5px;color:#654120;font-weight:700}
.pdv-review-reply-date{font-size:11px;color:#66707E;margin-left:auto}
.pdv-review-reply-body{font-size:12.5px;color:#374151;line-height:1.7}

/* "My Review" state on the Write-review button */
.pdv-my-review-pill{
    display:inline-block;margin-left:6px;padding:2px 8px;border-radius:9999px;
    font-size:10px;font-weight:700;letter-spacing:.2px;
}
.pdv-my-review-pill.approved{background:#f6ece2;color:#714924}
.pdv-my-review-pill.pending{background:#fef3c7;color:#b45309}
.pdv-my-review-pill.rejected{background:#fee2e2;color:#b91c1c}

.pdv-review-signin i{margin-right:6px;color:#A36833}
.pdv-review-signin strong{color:#374151}

@media (max-width:520px){
  .pdv-review-reply{padding:10px 12px}
  .pdv-review-reply-date{display:none}
}
