/* ══════════════════════════════════════════════════════════
   FruitShop — Product View Page · v4
   Matches refurb.me desktop + mobile layout exactly
   Colors: #FF6B00 orange · #0A0A0A black · #FFFFFF white
   ══════════════════════════════════════════════════════════ */

:root {
    --pv-font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --pv-font-display: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    /* RefurbMe SKU page type scale (https://www.refurb.me/.../sku/...) */
    --pv-fs-base: 16px;
    --pv-fs-sm: 14px;
    --pv-fs-xs: 13px;
    --pv-fs-2xs: 12px;
    --pv-fs-title: 2rem;
    --pv-fs-price-lg: 1.75rem;
    --pv-fs-h3: 1.125rem;
    --or:       #FF6B00;
    --or-deep:  #C94E00;
    --or-lt:    #FF8C33;
    --or-pale:  #FFF4EC;
    --or-glow:  rgba(255,107,0,.15);
    --black:    #0A0A0A;
    --ink:      #1A1A1A;
    --ink-2:    #2E2E2E;
    --white:    #FFFFFF;
    --smoke:    #F7F7F5;
    --mist:     #EEEEEC;
    --border:   #E5E5E3;
    --gray:     #6B6B6B;
    --gray-lt:  #AAAAAA;
    --green:    #16a34a;
    --red:      #ef4444;
    --blue:     #2563eb;
    --r-sm:     8px;
    --r-md:     12px;
    --r-xl:     22px;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }

.pv-page {
    font-family: var(--pv-font-body);
    font-size: var(--pv-fs-base);
    line-height: 1.5;
    color: var(--ink);
    background: var(--smoke);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img  { max-width:100%; display:block; }
a    { text-decoration:none; color:inherit; }


/* ══════════════════════════════════════════════════════════
   BREADCRUMB BAR
══════════════════════════════════════════════════════════ */
.pv-breadcrumb-bar {
    background:var(--white);
    border-bottom:1.5px solid var(--border);
    padding:11px 0;
}
.pv-bc-inner {
    max-width:1200px; margin:0 auto;
    padding:0 24px;
    display:flex; align-items:center; gap:16px;
}
.pv-bc {
    display:flex; align-items:center; gap:6px;
    font-size: var(--pv-fs-xs); color:var(--gray); flex:1;
    flex-wrap:wrap;
}
.pv-bc svg { width:9px; height:9px; flex-shrink:0; }
.pv-bc-link { color:var(--or); font-weight:600; transition:opacity .14s; }
.pv-bc-link:hover { opacity:.75; }
.pv-bc span { color:var(--ink-2); font-weight:600; }

.pv-back-btn {
    display:inline-flex; align-items:center; gap:6px;
    font-size: var(--pv-fs-sm); font-weight:600; color:var(--ink-2);
    background:var(--smoke);
    border:1.5px solid var(--border);
    border-radius:100px;
    padding:6px 14px;
    white-space:nowrap;
    margin-left:auto;
    transition:border-color .14s,color .14s,background .14s;
}
.pv-back-btn svg { width:13px; height:13px; }
.pv-back-btn:hover { border-color:var(--or); color:var(--or); background:var(--or-pale); }


/* ══════════════════════════════════════════════════════════
   MAIN PRODUCT SECTION — white background, 2-col desktop
══════════════════════════════════════════════════════════ */
.pv-page { background:var(--smoke); }

/* White band behind the whole product row — like refurb.me */
.pv-main-wrapper {
    background:var(--white);
    border-bottom:1.5px solid var(--border);
}

.pv-main {
    max-width:1200px; margin:0 auto;
    padding:20px 40px 48px;
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:20px;
    align-items:start;
}

/* ══ GALLERY COLUMN ══ */
.pv-gallery-col {
    display:flex;
    flex-direction:row;
    gap:12px;
    position:relative;
    background:var(--white);
    align-items:stretch;
}

/* Vertical thumbnail strip */
.pv-thumbs {
    display:flex;
    flex-direction:column;
    gap:8px;
    width:72px;
    flex-shrink:0;
    justify-content:flex-start;
}
.pv-thumb {
    width:72px;
    height:72px;
    border-radius:6px;
    border:1.5px solid var(--border);
    overflow:hidden;
    cursor:pointer;
    background:var(--white);
    transition:border-color .15s;
}
.pv-thumb img {
    width:100%;
    height:100%;
    object-fit:contain;
}
.pv-thumb--active,
.pv-thumb:hover { border-color:var(--or); }

/* Wrapper for the large main image */
.pv-main-img-wrap {
    flex:1;
    min-width:0;
    aspect-ratio:1;
    overflow:hidden;
    position:relative;
}

/* Badge */
.pv-img-badge {
    position:absolute; top:0; left:0; z-index:3;
    display:inline-flex; align-items:center; gap:5px;
    background:var(--or-pale);
    border:1px solid rgba(255,107,0,.22);
    border-radius:100px;
    padding:4px 10px;
    font-size:.65rem; font-weight:700; color:var(--or-deep);
    pointer-events:none;
}
.pv-img-badge svg { width:11px; height:11px; }

/* Main image — clean, white, no hover effect, fills space */
.pv-main-img {
    width:100%;
    height:100%;
    object-fit:contain;
    background:var(--white);
    padding:0;
    cursor:zoom-in;
    display:block;
    border-radius:0;
    border:none;
    box-shadow:none;
    transition:none;
}
.pv-main-img:hover { transform:none; }

/* ══ DETAILS COLUMN ══ */
.pv-details-col {
    padding-top:0;
    background:var(--white);
}

/* Condition badge */
.pv-condition-badge {
    display:inline-block;
    font-family: var(--pv-font-display);
    font-size: var(--pv-fs-2xs); font-weight:700;
    letter-spacing:.08em; text-transform:uppercase;
    background:var(--or-pale);
    border:1px solid rgba(255,107,0,.25);
    color:var(--or-deep);
    border-radius:100px;
    padding:4px 12px;
    margin-bottom:12px;
}

/* Product name */
.pv-product-name {
    font-family: var(--pv-font-display);
    font-size: var(--pv-fs-title);
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin-bottom: 8px;
}

/* Spec summary — like refurb.me: "128GB SSD, 1.6Ghz …, 4GB memory • Silver, 2015 release" */
.pv-spec-summary {
    font-size: var(--pv-fs-base);
    color: var(--gray);
    margin-bottom: 10px;
    line-height: 1.5;
    font-weight: 400;
}

.pv-full-specs {
    display:inline-flex; align-items:center; gap:5px;
    font-size: var(--pv-fs-sm); font-weight:600; color:var(--or);
    margin-bottom:24px;
}
.pv-full-specs svg { width:12px; height:12px; }
.pv-full-specs:hover { text-decoration:underline; }


/* ── Variant Pills — horizontal like refurb.me ── */
.pv-options {
    display:flex; flex-wrap:wrap; gap:10px;
    margin-bottom:24px;
}

.pv-variant-wrap { position:relative; }

.pv-pill {
    display:inline-flex; align-items:center; gap:8px;
    border:1.5px solid var(--border);
    border-radius:100px;
    padding:9px 16px;
    background:var(--white);
    cursor:pointer;
    font-size: var(--pv-fs-sm); color:var(--ink);
    white-space:nowrap;
    box-shadow:0 1px 3px rgba(0,0,0,.05);
    transition:border-color .16s,box-shadow .16s;
}
.pv-pill:hover { border-color:var(--or); }
.pv-pill--open { border-color:var(--or); box-shadow:0 0 0 3.5px var(--or-glow); }

.pv-pill-label { font-size: var(--pv-fs-2xs); color:var(--gray); font-weight:500; }
.pv-pill-sep   { color:var(--border); }
.pv-pill-value { font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.pv-color-dot  { width:13px; height:13px; border-radius:50%; border:1px solid rgba(0,0,0,.15); flex-shrink:0; }
.pv-chev       { width:10px; height:6px; color:var(--gray); transition:transform .2s; flex-shrink:0; }
.pv-pill--open .pv-chev { transform:rotate(180deg); }

/* Dropdown */
.pv-dropdown {
    display:none;
    position:absolute;
    top:calc(100% + 7px); left:0;
    min-width:260px;
    background:var(--white);
    border:1.5px solid var(--border);
    border-radius:var(--r-md);
    box-shadow:0 8px 28px rgba(0,0,0,.12);
    z-index:400; overflow:hidden;
}
.pv-dropdown.pv-dd--open { display:block; animation:ddpop .18s ease both; }
@keyframes ddpop { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }

.pv-dd-item {
    display:flex; align-items:center; gap:10px;
    padding:11px 16px;
    font-size:.82rem; color:var(--ink);
    border-bottom:1px solid var(--mist);
    cursor:pointer;
    transition:background .12s;
}
.pv-dd-item:last-child { border-bottom:none; }
.pv-dd-item:hover:not(.pv-dd-oos) { background:var(--or-pale); }
.pv-dd-sel   { background:var(--or-pale); }
.pv-dd-oos   { opacity:.45; cursor:not-allowed; }

.pv-dd-check { width:18px; height:18px; border-radius:4px; border:1.5px solid var(--border); flex-shrink:0; display:flex; align-items:center; justify-content:center; background:var(--white); }
.pv-dd-check--on { background:var(--or); border-color:var(--or); }
.pv-dd-check svg { width:10px; height:8px; }
.pv-dd-dot { width:16px; height:16px; border-radius:50%; border:1px solid rgba(0,0,0,.14); flex-shrink:0; }
.pv-dd-name { flex:1; font-weight:600; }
.pv-dd-sel .pv-dd-name { color:var(--or-deep); }
.pv-dd-price { font-size:.74rem; color:var(--gray); white-space:nowrap; margin-left:auto; }
.pv-dd-price strong { color:var(--ink); font-weight:700; }
.pv-dd-oos-lbl { font-size:.69rem; color:var(--gray-lt); font-style:italic; }


/* ── BUY NOW CTA BLOCK — exactly like refurb.me ── */
.pv-buy-cta-block {
    background:var(--white);
    border:1.5px solid var(--border);
    border-radius:var(--r-md);
    padding:20px 22px;
    margin-bottom:16px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:20px;
    align-items:center;
}

.pv-buy-cta-action {
    display:flex; flex-direction:column; align-items:flex-start; gap:8px;
}

.pv-btn-group {
    display:flex; gap:12px; align-items:center; flex-wrap:nowrap;
}

/* Main "Buy now • UGX X" button */
.pv-btn-buy-now {
    display:inline-flex; align-items:center; gap:10px;
    padding:13px 22px;
    background:var(--or);
    color:#fff;
    border-radius:6px;
    font-family: var(--pv-font-display);
    font-size: var(--pv-fs-sm); font-weight:600;
    border:none; cursor:pointer;
    box-shadow:0 3px 12px rgba(255,107,0,.32);
    transition:background .14s,box-shadow .14s;
    white-space:nowrap;
    text-decoration:none;
}
.pv-btn-buy-now svg { width:15px; height:15px; }
.pv-btn-buy-now:hover {
    background:var(--or-deep); color:#fff;
    box-shadow:0 6px 18px rgba(255,107,0,.42);
}

.pv-cta-meta { font-size: var(--pv-fs-sm); color:var(--gray); line-height:1.5; }
.pv-cta-meta strong { color:var(--ink); font-weight:700; }
.pv-cta-meta a { color:var(--or); font-weight:700; }
.pv-cta-meta a:hover { text-decoration:underline; }

.pv-cta-right-info { text-align:right; }
.pv-cta-right-info .pv-price-orig {
    font-size:.82rem; color:var(--gray-lt); text-decoration:line-through;
    display:block; margin-bottom:3px;
}
.pv-cta-right-info .pv-discount-badge {
    font-size:.65rem; font-weight:800;
    background:rgba(22,163,74,.1); border:1px solid rgba(22,163,74,.2);
    color:var(--green); padding:2px 8px; border-radius:100px;
    font-family:'Figtree',sans-serif; display:inline-block; margin-bottom:4px;
}
.pv-cta-right-info .pv-cta-condition { font-size:.76rem; color:var(--gray); }
.pv-cta-right-info .pv-cta-keyboard  { font-size:.74rem; color:var(--gray-lt); }


/* ── Price block — no card, just white ── */
.pv-price-block {
    margin-bottom:16px;
    padding:0;
    background:transparent;
    border:none;
    border-radius:0;
}
.pv-price-orig-row { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.pv-price-orig     { font-size:.85rem; color:var(--gray-lt); text-decoration:line-through; }
.pv-discount-badge {
    background:rgba(22,163,74,.1); border:1px solid rgba(22,163,74,.2);
    color:var(--green); font-size:.65rem; font-weight:800;
    padding:2px 8px; border-radius:100px; font-family:'Figtree',sans-serif;
}
.pv-price {
    font-family: var(--pv-font-display);
    font-size: var(--pv-fs-price-lg); font-weight:700; color:var(--or);
    letter-spacing:-.02em; display:block; margin-bottom:3px;
}
.pv-price-note { font-size:.68rem; color:var(--gray-lt); }


/* ── Cart actions ── */
.pv-cart-block { margin-bottom:20px; }
.pv-stock-msg {
    display:flex; align-items:center; gap:7px;
    font-size:.8rem; color:var(--ink-2); font-weight:600; margin-bottom:14px;
}
.pv-stock-msg svg { width:14px; height:14px; flex-shrink:0; }
.pv-oos-msg {
    display:flex; align-items:center; gap:7px;
    font-size:.8rem; color:var(--red); font-weight:600; margin-bottom:14px;
}
.pv-oos-msg svg { width:14px; height:14px; }

.pv-cart-btns { display:flex; gap:10px; flex-wrap:wrap; }

.pv-btn-cart {
    display:inline-flex; align-items:center; gap:10px;
    background:var(--or);
    color:#fff; border:none;
    padding:13px 22px; border-radius:6px;
    font-family:'Figtree',sans-serif; font-size:.92rem; font-weight:800;
    cursor:pointer;
    box-shadow:0 3px 12px rgba(255,107,0,.32);
    transition:background .14s,box-shadow .14s;
    white-space:nowrap;
}
.pv-btn-cart svg { width:15px; height:15px; }
.pv-btn-cart:hover {
    background:var(--or-deep); color:#fff;
    box-shadow:0 6px 18px rgba(255,107,0,.42);
}
.pv-btn-cart--added { background:linear-gradient(135deg,var(--green),#22c55e) !important; box-shadow:0 4px 14px rgba(22,163,74,.38) !important; }

.pv-btn-buy {
    display:inline-flex; align-items:center; gap:8px;
    background:var(--black); color:#fff;
    padding:13px 24px; border-radius:100px;
    font-family:'Figtree',sans-serif; font-size:.9rem; font-weight:800;
    transition:background .15s,transform .13s;
    text-decoration:none;
}
.pv-btn-buy svg { width:14px; height:14px; }
.pv-btn-buy:hover { background:var(--ink-2); transform:translateY(-1px); color:#fff; }

.pv-btn-track {
    display:inline-flex; align-items:center; gap:7px;
    background:var(--white); color:var(--or);
    border:1.5px solid var(--or);
    padding:12px 22px; border-radius:100px;
    font-family:'Figtree',sans-serif; font-size:.88rem; font-weight:700;
    transition:background .15s;
    text-decoration:none;
}
.pv-btn-track svg { width:14px; height:14px; }
.pv-btn-track:hover { background:var(--or-pale); }


/* ── Trust strip ── */
.pv-trust-strip {
    display:flex; align-items:center;
    background:var(--smoke);
    border-radius:var(--r-md);
    border:1.5px solid var(--border);
    overflow:hidden;
}
.pv-trust-item {
    flex:1; display:flex; align-items:center;
    justify-content:center; gap:6px;
    padding:12px 10px;
    font-size:.72rem; font-weight:600; color:var(--gray);
}
.pv-trust-item svg { width:14px; height:14px; flex-shrink:0; }
.pv-trust-div { width:1px; background:var(--border); height:28px; flex-shrink:0; }


/* ══════════════════════════════════════════════════════════
   TABS SECTION — Refurbished / New
══════════════════════════════════════════════════════════ */
.pv-tabs-section {
    background:var(--white);
    border-top:1.5px solid var(--border);
    border-bottom:1.5px solid var(--border);
    margin-top:8px;
}
.pv-tabs-inner { max-width:1200px; margin:0 auto; padding:0 24px; }

.pv-tabs-nav {
    display:flex; gap:0;
    border-bottom:1.5px solid var(--border);
}
.pv-tab {
    display:inline-flex; align-items:center; gap:8px;
    padding:15px 22px;
    background:transparent; border:none;
    border-bottom:2.5px solid transparent;
    font-family: var(--pv-font-display); font-size: var(--pv-fs-sm); font-weight:600;
    color:var(--gray); cursor:pointer;
    transition:color .14s; margin-bottom:-2px;
}
.pv-tab svg { width:14px; height:14px; }
.pv-tab--active { color:var(--or); border-bottom-color:var(--or); }
.pv-tab-price {
    background:var(--or-pale); color:var(--or);
    font-size:.65rem; font-weight:800;
    padding:3px 9px; border-radius:100px;
    border:1px solid rgba(255,107,0,.22);
}

/* Offers */
.pv-offers-wrap { padding:24px 0; }
.pv-offers-head {
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom:20px; flex-wrap:wrap; gap:10px;
}
.pv-offers-head-left { display:flex; gap:8px; }
.pv-ofilt-btn {
    display:inline-flex; align-items:center; gap:6px;
    padding:7px 14px;
    background:var(--white); border:1.5px solid var(--border);
    border-radius:100px;
    font-size:.78rem; font-weight:600; color:var(--gray); cursor:pointer;
    transition:border-color .14s,color .14s;
}
.pv-ofilt-btn svg { width:12px; height:12px; }
.pv-ofilt-btn:hover { border-color:var(--or); color:var(--or); }
.pv-sort-sel {
    padding:7px 14px; border-radius:100px;
    border:1.5px solid var(--border);
    font-family:'DM Sans',sans-serif; font-size:.78rem; color:var(--ink-2);
    background:var(--white); cursor:pointer;
}

/* Condition cards */
.pv-cond-card {
    border:1.5px solid var(--border);
    border-radius:var(--r-md);
    overflow:hidden; margin-bottom:12px;
    background:var(--white);
}
.pv-cond-head {
    display:flex; align-items:center; gap:8px;
    padding:11px 18px;
    background:var(--smoke); border-bottom:1px solid var(--border);
    font-family: var(--pv-font-display); font-size: var(--pv-fs-h3); font-weight:600;
    color:var(--ink); letter-spacing:0;
    text-transform:none;
}
.pv-cond-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.pv-cond-dot--excellent { background:var(--green); }
.pv-cond-dot--good      { background:#f59e0b; }
.pv-cond-dot--fair      { background:#94a3b8; }
.pv-cond-empty { padding:20px; text-align:center; font-size:.82rem; color:var(--gray); }
.pv-cond-empty a { color:var(--or); font-weight:700; }

.pv-offer-row {
    display:grid;
    grid-template-columns:220px 1fr 160px 140px;
    gap:20px; padding:18px; align-items:center;
}
.pv-offer-seller { display:flex; align-items:center; gap:10px; }
.pv-seller-avatar {
    width:42px; height:42px; border-radius:10px;
    background:linear-gradient(135deg,var(--or),var(--or-lt));
    color:#fff; font-family:'Figtree',sans-serif;
    font-size:1.1rem; font-weight:900;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.pv-seller-info strong { font-family:'Figtree',sans-serif; font-size:.82rem; font-weight:800; color:var(--ink); display:block; margin-bottom:2px; }
.pv-seller-info span   { font-size:.68rem; color:var(--green); font-weight:600; }
.pv-offer-details { display:flex; flex-wrap:wrap; gap:6px; }
.pv-offer-chip {
    display:inline-flex; align-items:center; gap:4px;
    background:var(--smoke); border:1px solid var(--border);
    border-radius:100px; padding:3px 10px;
    font-size:.68rem; font-weight:600; color:var(--ink-2);
}
.pv-offer-chip svg { width:10px; height:10px; }
.pv-offer-price { text-align:right; }
.pv-offer-disc {
    font-size:.68rem; font-weight:800; color:var(--green);
    background:rgba(22,163,74,.1); padding:2px 7px; border-radius:100px;
    display:inline-block; margin-bottom:4px;
}
.pv-offer-pval { font-family: var(--pv-font-display); font-size: var(--pv-fs-price-lg); font-weight:700; color:var(--or); }
.pv-offer-buy {
    display:inline-flex; align-items:center; gap:6px;
    background:linear-gradient(135deg,var(--or),var(--or-lt));
    color:#fff; border:none;
    padding:11px 20px; border-radius:100px;
    font-family:'Figtree',sans-serif; font-size:.82rem; font-weight:800;
    cursor:pointer;
    box-shadow:0 3px 10px rgba(255,107,0,.3);
    transition:transform .13s,filter .13s;
}
.pv-offer-buy svg { width:13px; height:13px; }
.pv-offer-buy:hover { transform:translateY(-1px); filter:brightness(1.08); }
.pv-no-new { display:flex; flex-direction:column; align-items:center; padding:48px; gap:14px; color:var(--gray-lt); font-size:.84rem; }
.pv-no-new svg { width:48px; height:48px; opacity:.4; }


/* ══════════════════════════════════════════════════════════
   Q&A
══════════════════════════════════════════════════════════ */
.pv-qa-section { background:var(--white); border-top:1.5px solid var(--border); border-bottom:1.5px solid var(--border); padding:48px 0; }
.pv-qa-inner { max-width:860px; margin:0 auto; padding:0 24px; }
.pv-eyebrow { display:block; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:var(--or); margin-bottom:5px; }
.pv-qa-head { text-align:center; margin-bottom:28px; }
.pv-qa-title { font-family:'Figtree',sans-serif; font-size:1.35rem; font-weight:900; color:var(--ink); letter-spacing:-.03em; }
.pv-qa-item { border:1.5px solid var(--border); border-radius:var(--r-md); overflow:hidden; margin-bottom:8px; background:var(--white); transition:box-shadow .15s; }
.pv-qa-item--open, .pv-qa-item:hover { box-shadow:0 2px 12px rgba(0,0,0,.06); }
.pv-qa-btn { width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 18px; background:var(--white); border:none; text-align:left; font-family:'DM Sans',sans-serif; font-size:.86rem; font-weight:600; color:var(--ink); cursor:pointer; transition:background .12s; }
.pv-qa-btn:hover { background:var(--smoke); }
.pv-qa-item--open .pv-qa-btn { background:var(--or-pale); color:var(--or-deep); }
.pv-qa-chev { width:14px; height:14px; flex-shrink:0; color:var(--gray-lt); transition:transform .2s; }
.pv-qa-answer { padding:16px 18px; background:var(--smoke); border-top:1px solid var(--border); font-size:.82rem; color:var(--ink-2); line-height:1.7; }
.pv-qa-answer p { margin-bottom:8px; }
.pv-qa-answer p:last-child { margin-bottom:0; }


/* ══════════════════════════════════════════════════════════
   GALLERY STRIP
══════════════════════════════════════════════════════════ */
.pv-gallery-strip {
    max-width:1200px; margin:0 auto;
    padding:20px 24px;
    display:flex; gap:12px; overflow-x:auto;
    scrollbar-width:thin; scrollbar-color:var(--border) transparent;
}
.pv-gallery-strip::-webkit-scrollbar { height:4px; }
.pv-gallery-strip::-webkit-scrollbar-track { background:transparent; }
.pv-gallery-strip::-webkit-scrollbar-thumb { background:var(--border); border-radius:4px; }
.pv-gallery-item {
    width:120px; height:90px; flex-shrink:0;
    border-radius:var(--r-sm);
    border:1.5px solid var(--border);
    overflow:hidden; background:var(--white);
    cursor:pointer;
    transition:border-color .15s,transform .15s;
}
.pv-gallery-item img { width:100%; height:100%; object-fit:contain; }
.pv-gallery-item:hover,
.pv-gallery-item--active { border-color:var(--or); transform:translateY(-2px); }


/* ══════════════════════════════════════════════════════════
   SPECS
══════════════════════════════════════════════════════════ */
.pv-specs-section { background:var(--white); border-top:1.5px solid var(--border); padding:48px 0; }
.pv-specs-inner   { max-width:1200px; margin:0 auto; padding:0 24px; }
.pv-specs-head    { margin-bottom:20px; }
.pv-specs-title   { font-family:'Figtree',sans-serif; font-size:1.2rem; font-weight:900; color:var(--ink); letter-spacing:-.03em; }
.pv-or { color:var(--or); }
.pv-specs-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    border:1.5px solid var(--border);
    border-radius:var(--r-md);
    overflow:hidden;
}
.pv-spec-cell { padding:16px 18px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--white); }
.pv-spec-cell:nth-child(4n) { border-right:none; }
.pv-spec-cell--full { grid-column:1/-1; border-right:none; }
.pv-spec-cell:nth-last-child(-n+4):not(.pv-spec-cell--full) { border-bottom:none; }
.pv-spec-label { display:block; font-size: var(--pv-fs-2xs); font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--gray-lt); margin-bottom:5px; }
.pv-spec-value { font-size: var(--pv-fs-sm); font-weight:500; color:var(--ink-2); line-height:1.45; }


/* ══════════════════════════════════════════════════════════
   TOAST
══════════════════════════════════════════════════════════ */
.pv-toast {
    position:fixed; bottom:28px; left:50%;
    transform:translateX(-50%) translateY(20px);
    background:var(--ink); color:#fff;
    border-radius:var(--r-md);
    padding:14px 18px;
    display:flex; align-items:center; gap:13px;
    box-shadow:0 8px 28px rgba(0,0,0,.28);
    z-index:9999;
    min-width:320px; max-width:480px;
    opacity:0; pointer-events:none;
    transition:opacity .28s,transform .28s;
}
.pv-toast--show { opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto; }
.pv-toast-icon { width:28px; height:28px; background:rgba(22,163,74,.2); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#4ade80; }
.pv-toast-icon svg { width:15px; height:15px; }
.pv-toast-body { flex:1; display:flex; flex-direction:column; gap:1px; }
.pv-toast-body strong { font-family:'Figtree',sans-serif; font-size:.84rem; font-weight:800; color:#fff; }
.pv-toast-body span { font-size:.74rem; color:rgba(255,255,255,.5); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:200px; }
.pv-toast-link { font-family:'Figtree',sans-serif; font-size:.76rem; font-weight:800; color:var(--or-lt); white-space:nowrap; flex-shrink:0; }
.pv-toast-link:hover { text-decoration:underline; }
.pv-toast-close { width:22px; height:22px; background:rgba(255,255,255,.08); border:none; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; color:rgba(255,255,255,.5); flex-shrink:0; }
.pv-toast-close svg { width:10px; height:10px; }
.pv-toast-close:hover { background:rgba(255,255,255,.15); }


/* ══════════════════════════════════════════════════════════
   IMAGE LIGHTBOX MODAL
══════════════════════════════════════════════════════════ */
.pv-lightbox {
    display:none;
    position:fixed;
    top:0; left:0;
    width:100%; height:100%;
    z-index:9999;
    background:rgba(0,0,0,.93);
    -webkit-align-items:center; align-items:center;
    -webkit-justify-content:center; justify-content:center;
    /* top padding clears the close button (12px offset + 44px button + 8px gap) */
    padding:72px 16px 20px;
    -webkit-box-sizing:border-box; box-sizing:border-box;
    animation:lbFade .18s ease;
}
.pv-lightbox--open { display:-webkit-flex; display:flex; }
@keyframes lbFade { from{opacity:0} to{opacity:1} }

.pv-lightbox-inner {
    position:relative;
    width:100%;
    max-width:860px;
    display:-webkit-flex; display:flex;
    -webkit-align-items:center; align-items:center;
    -webkit-justify-content:center; justify-content:center;
}
.pv-lightbox-img {
    display:block;
    max-width:100%;
    /* 72px top + 20px bottom padding already handled by parent */
    max-height:calc(100vh - 92px);
    width:auto; height:auto;
    object-fit:contain;
    border-radius:6px;
    box-shadow:0 16px 48px rgba(0,0,0,.55);
    animation:lbPop .2s cubic-bezier(.34,1.56,.64,1);
}
@keyframes lbPop { from{-webkit-transform:scale(.9);transform:scale(.9);opacity:0} to{-webkit-transform:scale(1);transform:scale(1);opacity:1} }

.pv-lightbox-close {
    position:fixed;
    top:14px; right:14px;
    width:44px; height:44px;
    background:rgba(255,255,255,.97); border:none;
    border-radius:50%;
    display:-webkit-flex; display:flex;
    -webkit-align-items:center; align-items:center;
    -webkit-justify-content:center; justify-content:center;
    cursor:pointer; color:#111;
    box-shadow:0 4px 16px rgba(0,0,0,.4);
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition:background .14s;
    z-index:10000;
}
.pv-lightbox-close svg { width:18px; height:18px; }
.pv-lightbox-close:hover,
.pv-lightbox-close:active { background:var(--or-pale); color:var(--or); }

/* Slider image fade transition */
.pv-lightbox-img { transition:opacity .12s ease; }

/* Slider prev / next nav buttons */
.pv-lb-nav {
    position:absolute;
    top:50%; transform:translateY(-50%);
    width:44px; height:44px;
    background:rgba(255,255,255,.13);
    border:none; border-radius:50%;
    display:-webkit-flex; display:flex;
    -webkit-align-items:center; align-items:center;
    -webkit-justify-content:center; justify-content:center;
    color:#fff; cursor:pointer;
    transition:background .15s;
    z-index:2;
    -webkit-tap-highlight-color:transparent;
}
.pv-lb-nav:hover { background:rgba(255,255,255,.28); }
.pv-lb-nav svg   { width:20px; height:20px; }
.pv-lb-prev      { left:-56px; }
.pv-lb-next      { right:-56px; }

/* Slider footer: dots + counter */
.pv-lb-footer {
    position:absolute;
    bottom:-44px;
    left:0; right:0;
    display:-webkit-flex; display:flex;
    -webkit-align-items:center; align-items:center;
    -webkit-justify-content:center; justify-content:center;
    gap:10px;
}
.pv-lb-dots { display:-webkit-flex; display:flex; gap:6px; }
.pv-lb-dot {
    width:8px; height:8px;
    border-radius:50%;
    background:rgba(255,255,255,.35);
    border:none; padding:0; cursor:pointer;
    transition:background .15s, transform .15s;
}
.pv-lb-dot--active { background:#fff; transform:scale(1.25); }
.pv-lb-dot:hover   { background:rgba(255,255,255,.7); }
.pv-lb-counter { color:rgba(255,255,255,.6); font-size:13px; font-weight:500; min-width:3ch; }

/* Horizontal image gallery strip */
.pv-img-strip-section {
    background:var(--white);
    padding:20px 0 24px;
    border-top:1.5px solid var(--border);
    border-bottom:1.5px solid var(--border);
}
.pv-img-strip-inner {
    max-width:1200px;
    margin:0 auto;
    padding:0 24px;
}
.pv-img-strip-title {
    font-family:'Figtree',sans-serif;
    font-size:.72rem; font-weight:800;
    text-transform:uppercase; letter-spacing:.1em;
    color:var(--gray-lt);
    margin:0 0 12px;
}
.pv-img-strip {
    display:-webkit-flex; display:flex;
    gap:10px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:var(--border) transparent;
    padding-bottom:4px;
}
.pv-img-strip::-webkit-scrollbar { display:none; }
.pv-strip-thumb {
    flex-shrink:0;
    width:88px; height:88px;
    border-radius:8px;
    border:2px solid #e4e8ed;
    overflow:hidden;
    cursor:pointer;
    background:#f9f9f9;
    transition:border-color .15s, box-shadow .15s;
}
.pv-strip-thumb img { width:100%; height:100%; object-fit:contain; padding:6px; }
.pv-strip-thumb:hover      { border-color:#FF6B00; box-shadow:0 0 0 2px rgba(255,107,0,.15); }
.pv-strip-thumb--active    { border-color:#FF6B00; box-shadow:0 0 0 3px rgba(255,107,0,.25); }

/* ══════════════════════════════════════════════════════════
   RESPONSIVE — TABLET  ≤ 1000px
══════════════════════════════════════════════════════════ */
@media (max-width:1000px) {
    .pv-main {
        grid-template-columns:1fr;
        gap:0;
        padding:0;
    }
    .pv-gallery-col {
        max-width:100%; width:100%;
        padding:32px 24px 24px;
        border-bottom:1.5px solid var(--border);
        flex-direction:column;
    }
    .pv-thumbs { flex-direction:row; width:100%; height:auto; }
    .pv-thumb  { width:60px; height:60px; }
    .pv-details-col { padding:28px 24px 36px; }
    .pv-main-img { padding:8px 10px !important; }
    .pv-offer-row { grid-template-columns:1fr 1fr; gap:16px; }
    .pv-specs-grid { grid-template-columns:repeat(3,1fr); }
    .pv-spec-cell:nth-child(4n)  { border-right:1px solid var(--border); }
    .pv-spec-cell:nth-child(3n)  { border-right:none; }
}


/* ══════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE  ≤ 768px
   Matches refurb.me mobile screenshot exactly
══════════════════════════════════════════════════════════ */
@media (max-width:768px) {

    /* Breadcrumb */
    .pv-bc-inner { padding:0 16px; flex-wrap:wrap; gap:8px; }
    .pv-bc { font-size:.7rem; width:100%; }
    .pv-back-btn { margin-left:0; font-size:.72rem; padding:5px 12px; }

    /* Main — stacked, all white */
    .pv-main { padding:0; gap:0; grid-template-columns:1fr; }

    /* Gallery — white, full width, image centered */
    .pv-gallery-col {
        flex-direction:column !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding:20px 20px 16px !important;
        border-radius:0 !important;
        border:none !important;
        border-bottom:1.5px solid var(--border) !important;
        box-shadow:none !important;
    }
    .pv-thumbs { flex-direction:row !important; width:100% !important; height:auto !important; order:2; }
    .pv-thumb  { width:56px !important; height:56px !important; }
    .pv-main-img-wrap { order:1; width:100%; aspect-ratio:1; }
    .pv-img-badge { top:12px; left:12px; z-index:3; }
    .pv-main-img { padding:4px 6px !important; }

    /* Details — white, full width */
    .pv-details-col {
        background:var(--white) !important;
        padding:20px 16px 28px !important;
        border-top:none !important;
        border-radius:0 !important;
        margin:0 !important;
        border:none !important;
    }

    /* Condition badge */
    .pv-condition-badge { font-size:.6rem; padding:3px 10px; }

    /* Name */
    .pv-product-name { font-size:1.5rem; margin-bottom:8px; }

    /* Spec summary */
    .pv-spec-summary { font-size:14px; }

    /* Variant pills — 2 cols */
    .pv-options { gap:9px; }
    .pv-variant-wrap { flex:1 1 calc(50% - 5px); min-width:140px; }
    .pv-pill {
        width:100%; justify-content:space-between;
        padding:10px 14px; font-size:.79rem; border-radius:var(--r-sm);
    }
    .pv-pill-value { overflow:hidden; text-overflow:ellipsis; max-width:90px; }

    /* Dropdown sheet from bottom */
    .pv-dropdown {
        position:fixed !important;
        top:auto !important; bottom:0 !important; left:0 !important;
        right:0 !important; min-width:100% !important;
        border-radius:20px 20px 0 0 !important;
        max-height:65vh; overflow-y:auto;
        animation:slideUp .28s ease !important;
        z-index:1000 !important;
        box-shadow:0 -8px 32px rgba(0,0,0,.18) !important;
    }
    @keyframes slideUp { from{transform:translateY(100%)} to{transform:translateY(0)} }
    .pv-dd-item { padding:14px 18px; }

    /* Buy CTA block */
    .pv-buy-cta-block {
        grid-template-columns:1fr;
        gap:10px;
        margin-top:4px;
    }
    .pv-cta-right-info { text-align:left; }
    .pv-btn-buy-now { width:100%; justify-content:center; font-size:.9rem; padding:14px 20px; border-radius:8px; }

    /* Cart buttons — stacked */
    .pv-cart-btns { flex-direction:column; gap:10px; }
    
    .pv-btn-group {
        flex-direction:column;
        align-items:stretch;
        width:100%;
        gap:10px;
    }
    
    .pv-btn-buy-now, .pv-btn-cart { width:100%; justify-content:center; font-size:.9rem; padding:14px 20px; border-radius:8px; }

    /* Trust strip — stacked */
    .pv-trust-strip { flex-direction:column; }
    .pv-trust-div { width:100%; height:1px; }
    .pv-trust-item { width:100%; padding:10px; font-size:.72rem; }

    /* Tabs */
    .pv-tabs-inner { padding:0 16px; }
    .pv-tabs-nav { gap:4px; border-bottom:none; padding:12px 0 0; flex-wrap:wrap; }
    .pv-tab {
        flex:1; justify-content:center;
        border:1.5px solid var(--border);
        border-radius:var(--r-md);
        border-bottom:1.5px solid var(--border) !important;
        padding:11px 14px; font-size:.8rem; margin-bottom:0;
    }
    .pv-tab--active { border-color:var(--or) !important; background:var(--or-pale); }

    /* Offers */
    .pv-offers-head { flex-direction:column; align-items:stretch; }
    .pv-offers-head-left { justify-content:space-between; }
    .pv-ofilt-btn { flex:1; justify-content:center; font-size:.72rem; }
    .pv-sort-sel { width:100%; }
    .pv-offer-row { grid-template-columns:1fr; gap:12px; padding:14px; }
    .pv-offer-price { text-align:left; display:flex; align-items:center; gap:10px; }
    .pv-offer-disc { margin-bottom:0; }
    .pv-offer-buy { width:100%; justify-content:center; }
    .pv-cond-head { padding:10px 14px; font-size:.72rem; }
    .pv-cond-empty { font-size:.76rem; }

    /* Gallery strip */
    .pv-gallery-strip { padding:14px 16px; gap:10px; }
    .pv-gallery-item { width:80px; height:65px; }

    /* Specs */
    .pv-specs-inner { padding:0 16px; }
    .pv-specs-grid { grid-template-columns:repeat(2,1fr); }
    .pv-spec-cell:nth-child(3n) { border-right:1px solid var(--border); }
    .pv-spec-cell:nth-child(2n) { border-right:none !important; }
    .pv-spec-cell { padding:12px 14px; }
    .pv-spec-label { font-size:.6rem; }
    .pv-spec-value { font-size:.78rem; }
    .pv-specs-section { padding:32px 0; }

    /* Q&A */
    .pv-qa-inner { padding:0 16px; }
    .pv-qa-section { padding:32px 0; }
    .pv-qa-btn { padding:14px 16px; font-size:.82rem; }
    .pv-qa-answer { padding:14px 16px; font-size:.78rem; }

    /* Toast */
    .pv-toast { min-width:calc(100% - 32px); max-width:calc(100% - 32px); padding:12px 14px; bottom:20px; }

    /* Lightbox — keep same padding on small screens */
    .pv-lightbox { padding:68px 12px 60px; }
    .pv-lightbox-img { max-height:calc(100vh - 130px); }
    .pv-lightbox-close { top:12px; right:12px; width:40px; height:40px; }
    .pv-lb-prev { left:-4px; }
    .pv-lb-next { right:-4px; }
    .pv-lb-nav  { background:rgba(0,0,0,.45); width:36px; height:36px; }
}

/* ══ MOBILE SMALL  ≤ 480px ══ */
@media (max-width:480px) {
    .pv-main-img { padding:4px 4px !important; }
    .pv-product-name { font-size:1.375rem; }
    .pv-price { font-size:var(--pv-fs-price-lg); }
    .pv-variant-wrap { flex:1 1 100%; }
    .pv-options { flex-direction:column; }
    .pv-btn-buy-now { font-size:.85rem; padding:13px 20px; }
    .pv-specs-grid { grid-template-columns:1fr; }
    .pv-spec-cell { border-right:none !important; }
    .pv-qa-btn { padding:12px 14px; font-size:.78rem; }
}

/* iOS Safari fixes */
@supports (-webkit-touch-callout:none) {
    .pv-dropdown { -webkit-overflow-scrolling:touch; }
}

/* ══════════════════════════════════════════════════════════
   CART ADDED MODAL  (.cam-*)
   Slide-in panel from right — matches FruitShop design lang
   ══════════════════════════════════════════════════════════ */

/* Backdrop */
.cam-overlay {
    position: fixed; inset: 0; z-index: 1040;
    background: rgba(10,10,10,.55);
    backdrop-filter: blur(2px);
    opacity: 0; pointer-events: none;
    transition: opacity .28s ease;
}
.cam-overlay--open { opacity: 1; pointer-events: auto; }

/* Panel */
.cam-panel {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 1050;
    width: 440px; max-width: 100vw;
    background: var(--white);
    box-shadow: -6px 0 40px rgba(0,0,0,.18);
    display: flex; flex-direction: column;
    transform: translateX(100%);
    transition: transform .32s cubic-bezier(.4,0,.2,1);
    overflow: hidden;
}
.cam-panel--open { transform: translateX(0); }

/* Header */
.cam-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 18px 20px 16px;
    border-bottom: 1.5px solid var(--border);
    flex-shrink: 0;
    background: var(--white);
}
.cam-header-left { display: flex; align-items: center; gap: 10px; }

.cam-success-icon {
    width: 32px; height: 32px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; transition: background .25s, color .25s;
}
.cam-success-icon--pending { background: var(--mist); color: var(--gray-lt); }
.cam-success-icon--ok      { background: #dcfce7; color: #16a34a; }

.cam-header-title {
    font-family: 'Figtree', sans-serif;
    font-size: 1rem; font-weight: 800; color: var(--ink); letter-spacing: -.01em;
}

.cam-close {
    width: 32px; height: 32px; border: 1.5px solid var(--border); border-radius: 50%;
    background: var(--smoke); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: var(--gray-lt); transition: background .15s, color .15s, border-color .15s;
    flex-shrink: 0;
}
.cam-close svg { width: 12px; height: 12px; }
.cam-close:hover { background: #fef2f2; border-color: rgba(220,38,38,.3); color: var(--red); }

/* Product row */
.cam-product {
    display: flex; align-items: center; gap: 14px;
    padding: 18px 20px;
    border-bottom: 1.5px solid var(--border);
    flex-shrink: 0;
    min-height: 90px;
}
.cam-product-img {
    width: 72px; height: 72px; object-fit: cover;
    border-radius: var(--r-sm); border: 1.5px solid var(--border); flex-shrink: 0;
}
.cam-product-img-ph {
    width: 72px; height: 72px; border-radius: var(--r-sm);
    background: var(--mist); flex-shrink: 0;
}
.cam-product-info { flex: 1; min-width: 0; }
.cam-product-name {
    font-family: 'Figtree', sans-serif;
    font-size: .92rem; font-weight: 800; color: var(--ink);
    letter-spacing: -.01em; margin-bottom: 6px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cam-product-meta { display: flex; align-items: center; font-size: .82rem; }
.cam-product-qty  { color: var(--gray-lt); font-weight: 600; }
.cam-product-price { color: var(--or); font-weight: 800; font-family: 'Figtree', sans-serif; }

/* Subtotal strip */
.cam-subtotal {
    background: var(--or-pale);
    border-bottom: 1.5px solid rgba(255,107,0,.15);
    padding: 12px 20px;
    flex-shrink: 0; min-height: 46px;
}
.cam-subtotal-inner {
    display: flex; align-items: center; justify-content: space-between;
}
.cam-subtotal-label { font-size: .82rem; color: var(--gray); font-weight: 600; }
.cam-subtotal-val   {
    font-family: 'Figtree', sans-serif;
    font-size: 1rem; font-weight: 900; color: var(--or);
}

/* Action buttons */
.cam-actions {
    display: flex; gap: 8px;
    padding: 16px 20px;
    border-bottom: 1.5px solid var(--border);
    flex-shrink: 0;
    flex-wrap: wrap;
}
.cam-btn {
    flex: 1; min-width: 90px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 10px 14px; border-radius: var(--r-sm);
    font-family: 'Figtree', sans-serif; font-size: .8rem; font-weight: 800;
    cursor: pointer; border: 1.5px solid transparent;
    text-decoration: none; transition: filter .14s, transform .14s;
    white-space: nowrap;
}
.cam-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
.cam-btn--secondary {
    background: var(--smoke); color: var(--ink-2); border-color: var(--border);
}
.cam-btn--secondary:hover { background: var(--mist); color: var(--ink); }
.cam-btn--outline {
    background: transparent; color: var(--ink-2); border-color: var(--border);
}
.cam-btn--outline:hover { border-color: var(--or); color: var(--or); background: var(--or-pale); }
.cam-btn--primary {
    background: linear-gradient(135deg, var(--or-deep), var(--or));
    color: var(--white);
    box-shadow: 0 3px 10px rgba(255,107,0,.28);
}

/* Recommendations section */
.cam-recs {
    flex: 1; overflow-y: auto; padding: 16px 20px 24px;
    overscroll-behavior: contain;
}
.cam-recs-head {
    display: flex; align-items: center; gap: 7px;
    margin-bottom: 14px;
}
.cam-recs-head svg { width: 14px; height: 14px; color: var(--or); flex-shrink: 0; }
.cam-recs-title {
    font-family: 'Figtree', sans-serif;
    font-size: .82rem; font-weight: 800; color: var(--gray);
    text-transform: uppercase; letter-spacing: .07em;
}

.cam-recs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.cam-rec-card {
    background: var(--white); border: 1.5px solid var(--border);
    border-radius: var(--r-md); overflow: hidden;
    display: flex; flex-direction: column;
    transition: box-shadow .18s, transform .18s;
}
.cam-rec-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.09); }

.cam-rec-link { display: block; text-decoration: none; color: inherit; padding: 10px; }
.cam-rec-img-wrap {
    width: 100%; aspect-ratio: 1; background: var(--smoke);
    border-radius: var(--r-sm); overflow: hidden; margin-bottom: 8px;
}
.cam-rec-img { width: 100%; height: 100%; object-fit: cover; }
.cam-rec-name {
    font-size: .76rem; font-weight: 700; color: var(--ink);
    line-height: 1.3; margin-bottom: 4px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.cam-rec-price {
    font-family: 'Figtree', sans-serif;
    font-size: .78rem; font-weight: 800; color: var(--or);
}
.cam-rec-add {
    width: 100%; display: flex; align-items: center; justify-content: center; gap: 5px;
    padding: 8px; border: none; border-top: 1.5px solid var(--border);
    background: var(--smoke); color: var(--ink-2);
    font-family: 'Figtree', sans-serif; font-size: .76rem; font-weight: 800;
    cursor: pointer; transition: background .15s, color .15s;
}
.cam-rec-add svg { width: 11px; height: 11px; }
.cam-rec-add:hover:not(:disabled) { background: var(--or-pale); color: var(--or); }
.cam-rec-add:disabled { opacity: .65; cursor: not-allowed; }
.cam-rec-add--done { background: #dcfce7 !important; color: #16a34a !important; }

/* Skeleton shimmer */
@keyframes camShimmer {
    0%   { background-position: -400px 0; }
    100% { background-position:  400px 0; }
}
.cam-skeleton {
    border-radius: 6px;
    background: linear-gradient(90deg, var(--mist) 25%, var(--border) 50%, var(--mist) 75%);
    background-size: 800px 100%;
    animation: camShimmer 1.4s infinite linear;
}
.cam-skel-img     { width: 72px; height: 72px; border-radius: var(--r-sm); flex-shrink: 0; }
.cam-skel-name    { height: 14px; width: 80%; margin-bottom: 8px; }
.cam-skel-sub     { height: 12px; width: 55%; }
.cam-skel-subtotal { height: 22px; width: 100%; border-radius: 6px; }
.cam-skeleton-card { background: var(--white) !important; padding: 10px; gap: 6px; }
.cam-skel-rec-img  { width: 100%; aspect-ratio: 1; border-radius: var(--r-sm); margin-bottom: 6px; }
.cam-skel-rec-name { height: 11px; width: 85%; margin-bottom: 5px; }
.cam-skel-rec-price { height: 11px; width: 50%; }

/* Mobile */
@media (max-width: 500px) {
    .cam-panel { width: 100vw; }
    .cam-actions { gap: 6px; }
    .cam-btn { font-size: .74rem; padding: 9px 10px; }
    .cam-recs-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
}

/* ══ RefurbMe typography — undo site.css global Segoe UI on product detail ══ */
body.inner-page #view_content .pv-page {
    font-family: var(--pv-font-body);
    font-size: var(--pv-fs-base);
    line-height: 1.5;
}

body.inner-page #view_content .pv-page * {
    font-family: inherit;
}

body.inner-page #view_content .pv-page :is(
    .pv-product-name,
    .pv-condition-badge,
    .pv-price,
    .pv-tab,
    .pv-cond-head,
    .pv-offer-pval,
    .pv-specs-title,
    .pv-qa-title,
    .pv-btn-buy-now,
    .pv-btn-cart,
    .pv-btn-buy,
    .pv-btn-track,
    .pv-offer-buy,
    .pv-seller-info strong,
    .pv-discount-badge
) {
    font-family: var(--pv-font-display);
}

@media (max-width: 600px) {
    :root {
        --pv-fs-title: 1.625rem;
        --pv-fs-price-lg: 1.5rem;
    }
}
