/* GOLDFISCHER tennis-bracelet product page (bracelet.html). Frame first: gallery slots wait for the creatives.
   Layout follows the Ice Diamonds PDP order: gallery → stock/title/specs → price → options → cart → trust,
   then details, features, comparison, reviews, FAQ, and a sticky buy bar on phones. Colours come from vera.css tokens. */
.ptb{padding-bottom:40px}
.ptb-crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--mute,#9b9890);padding:14px 0 10px}
.ptb-crumbs a{color:inherit;text-decoration:none}
.ptb-crumbs [aria-current]{color:var(--paper)}

.ptb-top{display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.ptb-top{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start}
  .ptb-gallery{position:sticky;top:84px}}

/* gallery */
.ptb-tabs{display:flex;gap:6px;margin-bottom:10px}
.ptb-tabs button{flex:1;font:inherit;font-size:14px;padding:9px 10px;border-radius:999px;border:1px solid var(--line,#2a2a2e);
  background:transparent;color:var(--mute,#9b9890);cursor:pointer}
.ptb-tabs button[aria-selected="true"]{color:var(--paper);border-color:var(--paper)}
.ptb-stage{position:relative;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:var(--ink2,#0d0d0f);border:1px solid var(--line,#2a2a2e)}
.ptb-3d,.ptb-photos{position:absolute;inset:0}
.ptb-3d-host{position:absolute;inset:0}
.ptb-3d-host canvas{touch-action:pan-y}
.ptb-3d-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:12px;color:#cfcfd6;white-space:nowrap;
  background:rgba(10,10,11,.55);border:1px solid var(--line,#2a2a2e);border-radius:999px;padding:5px 11px;pointer-events:none}
.ptb-3d-host .h3d-zoom{display:none!important}
.ptb-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;outline:none}
.ptb-track::-webkit-scrollbar{display:none}
.ptb-slide{flex:0 0 100%;height:100%;margin:0;scroll-snap-align:center;display:grid}
.ptb-slide img,.ptb-slide video{width:100%;height:100%;object-fit:cover;display:block}
.ptb-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid var(--line,#2a2a2e);
  background:rgba(10,10,11,.6);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.ptb-nav.prev{right:10px}.ptb-nav.next{left:10px}
.ptb-count{position:absolute;bottom:10px;right:12px;font-size:12px;color:#cfcfd6;background:rgba(10,10,11,.55);border-radius:999px;padding:3px 9px}
.ptb-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:none}
.ptb-thumb{flex:0 0 58px;height:58px;border-radius:10px;border:1px solid var(--line,#2a2a2e);background:var(--ink2,#0d0d0f);
  color:var(--mute,#9b9890);font:inherit;font-size:13px;cursor:pointer}
.ptb-thumb.on{border-color:var(--paper);color:var(--paper)}

/* creative slots (placeholders until the real images/videos arrive) */
.ptb-slot{display:grid;place-content:center;gap:4px;text-align:center;min-height:100%;padding:16px;
  border:1.5px dashed var(--line,#2a2a2e);border-radius:14px;color:var(--mute,#9b9890);font-size:15px;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.015) 0 12px,transparent 12px 24px)}
.ptb-slide .ptb-slot{border-radius:0;border:0}
.ptb-slot small{font-size:12px;opacity:.8}
.ptb-slot.sm{aspect-ratio:4/3;min-height:0}
.ptb-slot.tall{aspect-ratio:9/16;min-height:0}

/* buy box */
.ptb-stock{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--pass,#c9ad78);margin:0 0 8px}
.ptb-stock i{width:8px;height:8px;border-radius:50%;background:#4cc38a;box-shadow:0 0 0 4px rgba(76,195,138,.15)}
.ptb-title{font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:400;font-size:clamp(34px,9.4vw,54px);line-height:1.12;letter-spacing:0;margin:0 0 12px;text-wrap:balance}
.ptb-title em{font-style:normal}
.ptb-label{color:var(--mute,#9b9890);font-size:14px;margin:0 0 14px}
.ptb-specs{list-style:none;margin:18px 0 6px;padding:0;display:grid;gap:6px;font-size:15px}
.ptb-specs li{position:relative;padding-inline-start:20px}
.ptb-specs li::before{content:"";position:absolute;inset-inline-start:2px;top:.6em;width:8px;height:8px;border-radius:2px;transform:rotate(45deg);background:var(--champ,#c9ad78)}
.ptb-price{padding:16px 0;border-top:1px solid var(--line,#2a2a2e);border-bottom:1px solid var(--line,#2a2a2e);margin-bottom:18px}
.ptb-price-main{font-size:34px;font-weight:700;line-height:1}
.ptb-price-main small{font-size:12px;font-weight:400;color:var(--mute,#9b9890);margin-inline-start:8px}
.ptb-inst{margin:8px 0 2px;font-size:14px;color:var(--body,#cfcfd6)}
.ptb-cmp{margin:0;font-size:13px;color:var(--mute,#9b9890)}
.ptb-cmp .cmpv{text-decoration:line-through}

.ptb-opt{margin-bottom:16px}
.ptb-opt-h{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;margin-bottom:8px}
.ptb-opt-h span{color:var(--mute,#9b9890)}
.ptb-opt-h a{font-size:13px;color:var(--pass,#c9ad78)}
.ptb-chips,.ptb-swatches{display:flex;flex-wrap:wrap;gap:8px}
.ptb-chips button,.ptb-swatches button{font:inherit;font-size:14px;min-height:44px;padding:8px 14px;border-radius:12px;cursor:pointer;
  border:1px solid var(--line,#2a2a2e);background:transparent;color:var(--paper);display:inline-flex;align-items:center;gap:8px}
.ptb-chips button[aria-pressed="true"],.ptb-swatches button[aria-pressed="true"]{border-color:var(--paper);box-shadow:inset 0 0 0 1px var(--paper)}
.ptb-chips button:disabled,.ptb-swatches button:disabled{opacity:.35;cursor:not-allowed}
.ptb-swatches i{width:18px;height:18px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}

.ptb-cta{display:flex;gap:10px;align-items:stretch;margin-top:20px}
.ptb-qty{display:flex;align-items:center;border:1px solid var(--line,#2a2a2e);border-radius:12px;overflow:hidden}
.ptb-qty button{width:42px;height:52px;border:0;background:transparent;color:var(--paper);font-size:20px;cursor:pointer}
.ptb-qty output{min-width:26px;text-align:center}
.ptb-add{flex:1;min-height:52px;background:var(--paper);color:var(--ink);border:0;border-radius:12px;font-size:17px;font-weight:700;cursor:pointer}
.ptb-msg{min-height:20px;margin:8px 0 0;font-size:13px;color:var(--pass,#c9ad78)}
.ptb-trust{list-style:none;padding:0;margin:14px 0 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ptb-trust li{border:1px solid var(--line,#2a2a2e);border-radius:12px;padding:10px 12px;display:grid;gap:2px;font-size:13px}
.ptb-trust b{font-size:14px}
.ptb-trust span{color:var(--mute,#9b9890)}
.ptb-pay{font-size:12px;color:var(--mute,#9b9890);margin:0}

/* sections */
.ptb-sec{padding:56px 0}
.ptb-sec.tint{background:var(--ink2,#0d0d0f)}
.ptb-narrow{max-width:760px}
.ptb-h2{font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:400;font-size:clamp(26px,6.4vw,36px);margin:0 0 22px}
.ptb-acc{border-bottom:1px solid var(--line,#2a2a2e)}
.ptb-acc summary{list-style:none;cursor:pointer;padding:16px 0;font-size:16px;font-weight:500;display:flex;justify-content:space-between;align-items:center}
.ptb-acc summary::-webkit-details-marker{display:none}
.ptb-acc summary::after{content:"+";font-size:22px;color:var(--mute,#9b9890)}
.ptb-acc[open] summary::after{content:"−"}
.ptb-acc p{margin:0 0 16px;color:var(--body,#cfcfd6);line-height:1.6}
.ptb-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 18px;font-size:15px}
.ptb-dl dt{color:var(--mute,#9b9890)}
.ptb-dl dd{margin:0}
.ptb-todo{color:var(--mute,#9b9890);font-style:italic}
.ptb-todo.center{text-align:center;margin-top:18px}

.ptb-feats{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.ptb-feat h3{font-size:17px;margin:12px 0 6px}
.ptb-feat p{margin:0;color:var(--body,#cfcfd6);font-size:14px;line-height:1.55}

.ptb-cmp-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.ptb-cmp-col{border:1px solid var(--line,#2a2a2e);border-radius:16px;padding:18px}
.ptb-cmp-col.us{border-color:var(--champ,#c9ad78)}
.ptb-cmp-col h3{font-size:15px;margin:0 0 8px}
.ptb-cmp-price{font-size:24px;font-weight:700;margin:0 0 10px}
.ptb-cmp-col ul{margin:0;padding-inline-start:18px;display:grid;gap:4px;font-size:14px;color:var(--body,#cfcfd6)}

.ptb-vids{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}

/* mobile sticky buy bar */
.ptb-bar{position:fixed;z-index:45;left:0;right:0;bottom:0;display:flex;gap:12px;align-items:center;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(10,10,11,.94);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line,#2a2a2e);
  transform:translateY(110%);transition:transform .3s}
.ptb-bar.on{transform:none}
.ptb-bar-t{flex:1;display:grid;font-size:13px;line-height:1.3}
.ptb-bar-t span{font-size:16px;font-weight:700}
.ptb-bar .ptb-add{flex:0 0 auto;min-height:46px;padding:0 22px}
@media (min-width:900px){.ptb-bar{display:none}}
/* the light theme inverts the page; keep the metal swatches true to colour */
html[data-theme="light"] .ptb-swatches i{filter:invert(1) hue-rotate(180deg)}
.ptb-title .num{font-weight:inherit}

/* headline sits above the gallery; stone size opens the buy box */
.ptb-head{padding-top:4px;margin-bottom:16px}
.ptb-buy > .ptb-opt:first-child{margin-top:4px}

/* price block sits between the length options and the cart button */
.ptb-buy .ptb-price{margin:6px 0 0}
.ptb-buy .ptb-price + .ptb-cta{margin-top:18px}

/* size guide on the bracelet page: bracelet only, no type tabs */
#sizes .vx-seg{display:none}

/* ===== lessons from the Ice Diamonds PDP (component map in MEGA CLAUDE/גולדפישר/דף-מוצר) ===== */
/* frames: visible, dashed, clearly "to be filled" */
.ptb-frame-txt{color:var(--mute,#9b9890);font-style:italic;font-size:13px}
.ptb-frame-block{border:1.5px dashed var(--line,#2a2a2e);border-radius:12px;padding:14px;color:var(--mute,#9b9890);font-style:italic;font-size:14px;margin:0 0 14px}
.ptb-slot.wide{aspect-ratio:16/10;min-height:0;margin:0 0 18px}
.ptb-eyebrow{font-size:13px;color:var(--mute,#9b9890);margin:0 0 4px}
.ptb-lead{color:var(--body,#cfcfd6);line-height:1.6;margin:-10px 0 20px}
.ptb-h2.center{text-align:center}
.ptb-h3{font-size:17px;margin:22px 0 12px}

/* rating line under the headline */
.ptb-rating{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;margin:-2px 0 4px;flex-wrap:wrap}
.ptb-stars{color:var(--champ,#c9ad78);letter-spacing:2px;font-size:15px;margin:0}

/* bundle upsell */
.ptb-bundle{margin:4px 0 16px}
.ptb-bundle-h{font-size:14px;color:var(--mute,#9b9890);margin:0 0 8px}
.ptb-bundle-card{display:flex;align-items:center;gap:12px;border:1.5px dashed var(--line,#2a2a2e);border-radius:14px;padding:10px 12px}
.ptb-bundle-img{width:56px;height:56px;min-height:0;padding:0;font-size:11px;border-radius:10px}
.ptb-bundle-t{display:grid;gap:2px;font-size:14px}
.ptb-bundle-t small{color:var(--mute,#9b9890)}

/* buy now + add to cart */
.ptb-buynow{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;border:0;border-radius:12px;cursor:pointer;
  background:var(--paper);color:var(--ink);font-size:17px;font-weight:700;margin-top:18px;text-decoration:none}
.ptb-buy .ptb-price + .ptb-buynow{margin-top:18px}
.ptb-buynow + .ptb-cta{margin-top:10px}
.ptb-add-ghost{background:transparent;color:var(--paper);border:1.5px solid var(--paper)}

/* info box (ETA + trust row) */
.ptb-info{border:1px solid var(--line,#2a2a2e);border-radius:14px;padding:14px 16px;margin:14px 0 12px;background:var(--ink2,#0d0d0f)}
.ptb-info-eta{font-weight:700;font-size:16px;margin:0 0 2px;text-align:center}
.ptb-info-note{font-size:13px;color:var(--mute,#9b9890);margin:0 0 12px;text-align:center}
.ptb-info-trust{list-style:none;padding:12px 0 0;margin:0;border-top:1px solid var(--line,#2a2a2e);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:13px}
.ptb-info-trust li{display:flex;align-items:center;gap:6px}
.ptb-info-trust svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* story circles */
.ptb-stories{display:flex;justify-content:center;gap:14px;margin:6px 0 14px}
.ptb-story{width:74px;height:74px;border-radius:50%;padding:3px;border:2px solid var(--champ,#c9ad78)}
.ptb-story .ptb-slot{border-radius:50%;min-height:0;height:100%;padding:0;font-size:11px}

/* payment chips */
ul.ptb-pay{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
ul.ptb-pay li{font-size:11px;border:1px solid var(--line,#2a2a2e);border-radius:6px;padding:3px 7px;color:var(--mute,#9b9890)}

/* social proof marquee */
.ptb-mq{overflow:hidden;padding:4px 0}
.ptb-mq-track{display:flex;gap:12px;width:max-content;animation:ptb-mq 38s linear infinite}
.ptb-mq figure{margin:0;width:150px;flex:0 0 150px}
.ptb-mq .ptb-slot{aspect-ratio:3/4;min-height:0;font-size:12px}
.ptb-mq figcaption{text-align:center;font-size:13px;color:var(--mute,#9b9890);margin-top:6px}
@keyframes ptb-mq{to{transform:translateX(50%)}}
@media (prefers-reduced-motion:reduce){.ptb-mq-track{animation:none}}

/* features: 2 x 2 on phones too */
.ptb-feats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:900px){.ptb-feats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}}
.ptb-feat{border:1px solid var(--line,#2a2a2e);border-radius:14px;padding:10px}
.ptb-feat h3{font-size:15px;margin:10px 0 4px}
.ptb-feat p{font-size:13px}

/* comparison table */
.ptb-cmp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;margin-bottom:22px}
.ptb-cmp-table th,.ptb-cmp-table td{padding:11px 8px;border-bottom:1px solid var(--line,#2a2a2e);text-align:center}
.ptb-cmp-table tbody th{text-align:start;font-weight:500;color:var(--mute,#9b9890)}
.ptb-cmp-table thead th{font-size:13px}
.ptb-cmp-table .us{background:rgba(201,173,120,.08);font-weight:700}
.ptb-cmp-table thead .us{border-radius:12px 12px 0 0}
.ptb-cmp-table tr.price td{font-size:16px}
.ptb-tester-h{display:inline-block;font-weight:700;font-size:15px;background:var(--paper);color:var(--ink);border-radius:10px;padding:8px 14px;margin:0 0 10px}

/* press quotes */
.ptb-press{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ptb-press figure{margin:0;border:1px solid var(--line,#2a2a2e);border-radius:14px;padding:12px;text-align:center;display:grid;gap:8px}
.ptb-press .ptb-slot.sm{aspect-ratio:3/1}
.ptb-press blockquote{margin:0;font-size:13px;color:var(--mute,#9b9890);font-style:italic}
.ptb-press figcaption{font-size:12px;color:var(--mute,#9b9890)}

/* horizontal scrollers: customer videos + review cards */
.ptb-scroller{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.ptb-scroller::-webkit-scrollbar{display:none}
.ptb-vids.ptb-scroller{display:flex;grid-template-columns:none}
.ptb-vid{margin:0;flex:0 0 46%;max-width:220px;scroll-snap-align:start}
.ptb-vid figcaption{font-size:13px;text-align:center;margin-top:6px;color:var(--mute,#9b9890)}
.ptb-revs{margin-top:18px}
.ptb-rev{flex:0 0 82%;max-width:360px;scroll-snap-align:start;border:1.5px dashed var(--line,#2a2a2e);border-radius:14px;padding:14px 16px;display:grid;gap:6px}
.ptb-rev-by{display:grid;margin:4px 0 0;font-size:13px}
.ptb-rev-by small{color:var(--mute,#9b9890)}

/* closing CTA */
.ptb-close{padding:8px 0 56px}
.ptb-close-card{background:#0b0b0c;color:#f4f4f6;border-radius:18px;padding:34px 22px;text-align:center;display:grid;gap:18px}
.ptb-close-card h2{font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:400;font-size:clamp(24px,6.6vw,34px);margin:0;color:#fff}
.ptb-close-card em{font-style:normal;color:var(--champ,#c9ad78)}
.ptb-close-card .ptb-buynow{background:#f4f4f6;color:#0b0b0c;margin:0}
html[data-theme="light"] .ptb-close-card{filter:invert(1) hue-rotate(180deg)}

/* sticky bar: length select */
.ptb-bar-len{flex:0 0 auto;min-height:46px;border-radius:12px;border:1px solid var(--line,#2a2a2e);background:transparent;color:var(--paper);font:inherit;font-size:14px;padding:0 10px}

/* real media in the gallery, story circles and feature cards */
.ptb-slide[hidden]{display:none}
.ptb-thumb{background:var(--ink2,#0d0d0f) center/cover no-repeat}
.ptb-thumb.has-img{color:transparent}
.ptb-thumb.is-video::after{content:"▶";color:#fff;font-size:12px;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.ptb-story video{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.ptb-feat-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}

/* section 1: three calls to action, as on the Ice Diamonds PDP */
.ptb-head-inst{font-size:14px;color:var(--body,#cfcfd6);margin:8px 0 12px}
.ptb-quick{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;border-radius:12px;
  background:var(--paper);color:var(--ink);font-size:17px;font-weight:700;text-decoration:none}
.ptb-ship-pill{display:flex;align-items:center;justify-content:center;gap:6px;width:fit-content;margin:10px auto 0;
  font-size:13px;font-weight:600;color:#1f7a4d;background:rgba(76,195,138,.14);border-radius:999px;padding:5px 12px}
.ptb-ship-pill svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
/* the bottom bar is always there on phones: keep the page end clear of it */
@media (max-width:899px){html body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}}

/* story circles are buttons now */
button.ptb-story{background:none;cursor:pointer;display:block}
/* full-screen story viewer (js/pdp-tennis.js) */
html.ptb-sv-open,html.ptb-sv-open body{overflow:hidden}
.ptb-sv{position:fixed;inset:0;z-index:1000;background:#000;display:flex;align-items:center;justify-content:center}
.ptb-sv[hidden]{display:none}
.ptb-sv-box{position:relative;width:100%;height:100%;max-width:calc(100dvh * 9 / 16);background:#000;overflow:hidden}
@media (min-width:700px){.ptb-sv-box{height:92dvh;border-radius:14px}}
.ptb-sv-v{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.ptb-sv-bars{position:absolute;z-index:3;top:calc(10px + env(safe-area-inset-top,0px));left:10px;right:10px;display:flex;gap:4px;direction:ltr}
.ptb-sv-bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden}
.ptb-sv-bars b{display:block;height:100%;width:0;background:#fff}
.ptb-sv-x{position:absolute;z-index:4;top:calc(22px + env(safe-area-inset-top,0px));right:12px;width:40px;height:40px;border:0;border-radius:50%;
  background:rgba(0,0,0,.35);color:#fff;font-size:18px;cursor:pointer}
.ptb-sv-tap{position:absolute;z-index:2;top:0;bottom:0;width:50%;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ptb-sv-tap.prev{left:0}.ptb-sv-tap.next{right:0}
html[data-theme="light"] .ptb-sv{filter:invert(1) hue-rotate(180deg)}
html[data-theme="light"] .ptb-sv video{filter:none}
html.ptb-sv-open #vtheme{display:none}

/* iPhone Safari: never let the page slide sideways (body overflow-x alone does not stop it there) */
html,body{overflow-x:clip}

/* round 3: installments right under the price line; the stock dot moved down to the gallery */
.ptb-title{margin-bottom:4px}
.ptb-head-inst{margin:0 0 10px}
.ptb-stock-low{display:flex;justify-content:center;width:100%;margin:12px 0 0}
.ptb-head .ptb-rating{margin-bottom:14px}
.ptb-head{padding-top:18px}
/* round 3b: "במלאי" sits inside the gallery card, top right corner */
.ptb-stage{position:relative}
.ptb-stock-in{position:absolute;top:14px;right:16px;z-index:3;margin:0;pointer-events:none}
