/* ============================================================
   TEXAS · PDP FOREST CSS  ·  texas-pdp-forest.css
   "Corporate Forest & White Gallery" B2B design system
   ------------------------------------------------------------
   PHASE 1 — CSS FOUNDATION (pre-styles all PDP components)
   ABSOLUTE RULE: every selector scoped under .txpdp
   No global bleed. Tokens defined on .txpdp only.
   ============================================================ */

/* ---------- TOKENS (scoped) ---------- */
.txpdp{
  --tx-forest:#003D29;      --tx-forest-dark:#002217;
  --tx-forest-tint:#E8EFE9; --tx-forest-soft:#F0F4F1;
  --tx-canvas:#F8FAFC;      --tx-surface:#FFFFFF;
  --tx-cream:#F2EFE8;       --tx-sand:#E8E2D6;
  --tx-graphite:#121212;    --tx-ink:#1F1F1F;
  --tx-muted:#6B7280;       --tx-muted-2:#9CA3AF;
  --tx-border:#E6E6E6;      --tx-line:#E6E2D8;  --tx-line-2:#EFEDE4;

  --b-new-bg:#E0E7FF;  --b-new-fg:#4F46E5;
  --b-prem-bg:#FEF3C7; --b-prem-fg:#B45309;
  --b-eco-bg:#D1FAE5;  --b-eco-fg:#059669;
  --b-exp-bg:#FFEDD5;  --b-exp-fg:#EA580C;
  --b-sale-bg:#FCE7F3; --b-sale-fg:#DB2777;

  --sh-sm:0 1px 2px rgba(15,30,20,.04), 0 1px 1px rgba(15,30,20,.03);
  --sh-md:0 6px 18px rgba(15,30,20,.06), 0 2px 6px rgba(15,30,20,.04);
  --sh-lg:0 18px 40px rgba(15,30,20,.08), 0 6px 14px rgba(15,30,20,.05);
  --e-out:cubic-bezier(.2,.7,.2,1);

  font-family:'Heebo','Assistant',system-ui,-apple-system,sans-serif;
  color:var(--tx-graphite);
  direction:rtl;
}
.txpdp *,
.txpdp *::before,
.txpdp *::after{ box-sizing:border-box; }

/* ---------- REVEAL (calm scroll-in) ---------- */
.txpdp .reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s var(--e-out), transform .6s var(--e-out); }
.txpdp .reveal.is-in{ opacity:1; transform:none; }

/* ---------- BUTTONS ---------- */
.txpdp .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:48px; padding:0 22px; border:0; border-radius:8px;
  font:600 14px/1 'Heebo',sans-serif; cursor:pointer;
  transition:background .2s var(--e-out), transform .2s var(--e-out), box-shadow .2s var(--e-out), color .2s;
  text-decoration:none; white-space:nowrap;
}
.txpdp .btn--primary{ background:var(--tx-forest); color:#fff; }
.txpdp .btn--primary:hover{ background:var(--tx-forest-dark); transform:translateY(-1px); box-shadow:0 10px 22px rgba(0,61,41,.22); }
.txpdp .btn--primary:active{ transform:translateY(0); transition-duration:.1s; }
.txpdp .btn--ghost{ background:transparent; color:var(--tx-forest); border:1.5px solid var(--tx-forest); }
.txpdp .btn--ghost:hover{ background:var(--tx-forest); color:#fff; }
.txpdp .btn--lg{ height:60px; padding:0 28px; font-size:16px; }
.txpdp .btn--block{ width:100%; }

/* ============================================================
   LAYOUT
   ============================================================ */
.txpdp .pdp{ padding:40px 0 60px; background:var(--tx-canvas); }
.txpdp .pdp__grid{
  display:grid; grid-template-columns:1.05fr 1fr; gap:56px;
  max-width:1240px; margin:0 auto; padding:0 24px;
}

/* ============================================================
   GALLERY  (.gal — restyle over MagicZoom/bxSlider markup)
   ============================================================ */
.txpdp .gal{ position:sticky; top:96px; }
.txpdp .gal__main{
  position:relative; aspect-ratio:1/1; background:var(--tx-cream);
  border:1px solid var(--tx-line); border-radius:16px; overflow:hidden;
  box-shadow:var(--sh-sm);
}
.txpdp .gal__slide{ position:absolute; inset:0; opacity:0; transition:opacity .4s var(--e-out); }
.txpdp .gal__slide.is-on{ opacity:1; }
.txpdp .gal__slide img{ width:100%; height:100%; object-fit:contain; padding:6%; transition:transform .5s var(--e-out); }
.txpdp .gal__main:hover .gal__slide.is-on img{ transform:scale(1.05); }

.txpdp .gal__badge-360{
  position:absolute; bottom:18px; left:18px; z-index:5;
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,.92); backdrop-filter:blur(4px);
  border:1px solid var(--tx-line); border-radius:99px;
  padding:7px 13px; font-size:12px; font-weight:700; color:var(--tx-forest);
  box-shadow:var(--sh-sm);
}
.txpdp .gal__nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.86); border:1px solid var(--tx-line);
  display:flex; align-items:center; justify-content:center;
  color:var(--tx-graphite); cursor:pointer; opacity:0;
  transition:opacity .25s var(--e-out), transform .2s var(--e-out), background .2s;
  box-shadow:var(--sh-sm);
}
.txpdp .gal__main:hover .gal__nav{ opacity:1; }
.txpdp .gal__nav:hover{ background:#fff; transform:translateY(-50%) scale(1.06); }
.txpdp .gal__nav.prev{ right:16px; }
.txpdp .gal__nav.next{ left:16px; }

.txpdp .gal__thumbs{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:14px; }
.txpdp .gal__thumb{
  position:relative; aspect-ratio:1/1; background:var(--tx-surface);
  border:1.5px solid var(--tx-line); border-radius:10px; overflow:hidden;
  cursor:pointer; transition:border-color .2s var(--e-out), transform .2s var(--e-out);
}
.txpdp .gal__thumb img{ width:100%; height:100%; object-fit:contain; padding:8%; }
.txpdp .gal__thumb:hover{ border-color:var(--tx-muted-2); transform:translateY(-2px); }
.txpdp .gal__thumb.is-on{ border-color:var(--tx-forest); }
.txpdp .gal__thumb__play{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(0,61,41,.55); color:#fff;
}
.txpdp .gal__thumb__play svg{ width:22px; height:22px; }

/* ============================================================
   BUY BOX
   ============================================================ */
.txpdp .buy{ padding-top:4px; }

/* badges row */
.txpdp .buy__badges,
.txpdp .marketing-badges{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.txpdp .m-badge{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 11px; border-radius:99px;
  font-size:11.5px; font-weight:700; letter-spacing:.01em;
  background:var(--tx-forest-tint); color:var(--tx-forest);
}
/* badge variant mapping (PHP classMap 12-31 → forest pastel system) */
.txpdp .m-badge.badge-new,
.txpdp .m-badge.badge-hybrid{ background:var(--b-new-bg); color:var(--b-new-fg); }
.txpdp .m-badge.badge-premium,
.txpdp .m-badge.badge-exclusive,
.txpdp .m-badge.badge-wow{ background:var(--b-prem-bg); color:var(--b-prem-fg); }
.txpdp .m-badge.badge-eco,
.txpdp .m-badge.badge-recycled{ background:var(--b-eco-bg); color:var(--b-eco-fg); }
.txpdp .m-badge.badge-express,
.txpdp .m-badge.badge-daily{ background:var(--b-exp-bg); color:var(--b-exp-fg); }
.txpdp .m-badge.badge-bestseller,
.txpdp .m-badge.badge-bulk{ background:var(--b-sale-bg); color:var(--b-sale-fg); }

/* sku + title */
.txpdp .buy__sku{ font-size:12.5px; color:var(--tx-muted); margin-bottom:8px; letter-spacing:.01em; }
.txpdp .buy__title{ margin:0 0 16px; font-size:38px; line-height:1.12; letter-spacing:-.025em; font-weight:800; color:var(--tx-ink); }
.txpdp .buy__short{ font-size:14.5px; line-height:1.6; color:var(--tx-muted); margin-bottom:20px; }
.txpdp .buy__hr{ height:1px; background:var(--tx-border); border:0; margin:22px 0; }
.txpdp .buy__lbl{ font-size:12px; font-weight:700; color:var(--tx-muted); text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px; }

/* ============================================================
   TIER PRICING  (.tier — wraps Magento .tier-prices output)
   ============================================================ */
.txpdp .tier{ background:var(--tx-surface); border:1px solid var(--tx-line); border-radius:14px; overflow:hidden; box-shadow:var(--sh-sm); }
.txpdp .tier__head{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px;
  padding:12px 18px; background:var(--tx-forest-soft);
  font-size:11.5px; font-weight:700; color:var(--tx-muted); text-transform:uppercase; letter-spacing:.04em;
  border-bottom:1px solid var(--tx-line);
}
.txpdp .tier__row{
  position:relative; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center;
  padding:16px 18px; border-bottom:1px solid var(--tx-line-2);
  cursor:pointer; transition:background .2s var(--e-out);
}
.txpdp .tier__row:last-child{ border-bottom:0; }
.txpdp .tier__row:hover{ background:var(--tx-forest-soft); }
.txpdp .tier__row.is-on{ background:var(--tx-forest-tint); }
.txpdp .tier__row.is-on::before{ content:""; position:absolute; right:0; top:0; bottom:0; width:3px; background:var(--tx-forest); }
.txpdp .tier__qty{ font-size:14px; font-weight:700; color:var(--tx-graphite); }
.txpdp .tier__per{ font-size:15px; font-weight:800; color:var(--tx-ink); }
.txpdp .tier__per small{ font-size:11px; font-weight:600; color:var(--tx-muted); }
.txpdp .tier__save{ font-size:12.5px; font-weight:700; color:var(--tx-muted); text-align:left; }
.txpdp .tier__row.is-on .tier__save{ color:var(--tx-forest); }
.txpdp .tier__pop{
  display:inline-block; background:var(--tx-forest); color:#fff;
  font-size:10.5px; font-weight:800; letter-spacing:.04em; padding:2px 8px;
  border-radius:99px; margin-inline-start:8px; vertical-align:middle;
}
.txpdp .tier__note{ font-size:11.5px; color:var(--tx-muted); padding:10px 18px; background:var(--tx-forest-soft); }

/* Fallback styling for RAW Magento tier list if used directly */
.txpdp .tier-prices{ list-style:none; margin:0; padding:0; }
.txpdp .tier-prices .tier-price{ padding:14px 18px; border-bottom:1px solid var(--tx-line-2); font-size:13.5px; color:var(--tx-graphite); }
.txpdp .tier-prices .tier-price:last-child{ border-bottom:0; }
.txpdp .tier-prices .benefit{ color:var(--tx-forest); font-weight:700; }

/* ============================================================
   CUSTOM OPTIONS  (.opts — wraps Magento product options "תוספת מיתוג")
   ============================================================ */
.txpdp .opts{ display:flex; flex-direction:column; gap:10px; }
.txpdp .opt{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  border:1px solid var(--tx-line); border-radius:10px; padding:14px 16px;
  background:var(--tx-surface); cursor:pointer;
  transition:border-color .2s var(--e-out), background .2s var(--e-out), box-shadow .2s var(--e-out);
}
.txpdp .opt:hover{ border-color:var(--tx-muted-2); }
.txpdp .opt.is-on{ border-color:var(--tx-forest); background:var(--tx-forest-tint); box-shadow:0 0 0 1px var(--tx-forest) inset; }
.txpdp .opt.is-disabled{ opacity:.5; cursor:not-allowed; }
.txpdp .opt__l{ display:flex; align-items:flex-start; gap:12px; }
.txpdp .opt__radio{
  width:20px; height:20px; border-radius:50%; border:2px solid var(--tx-muted-2);
  flex-shrink:0; margin-top:1px; position:relative; transition:border-color .2s;
}
.txpdp .opt.is-on .opt__radio{ border-color:var(--tx-forest); }
.txpdp .opt.is-on .opt__radio::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--tx-forest); }
.txpdp .opt__name{ font-size:14px; font-weight:700; color:var(--tx-graphite); }
.txpdp .opt__sub{ font-size:12px; color:var(--tx-muted); margin-top:3px; line-height:1.4; }
.txpdp .opt__price{ font-size:13.5px; font-weight:800; color:var(--tx-forest); white-space:nowrap; }
.txpdp .opt__price.free{ color:var(--tx-muted); }

/* ============================================================
   QTY STEPPER
   ============================================================ */
.txpdp .qty{ display:inline-flex; align-items:center; border:1px solid var(--tx-line); border-radius:10px; overflow:hidden; background:var(--tx-surface); }
.txpdp .qty__btn{
  width:46px; height:50px; border:0; background:var(--tx-surface);
  font-size:20px; color:var(--tx-forest); cursor:pointer; transition:background .15s;
  display:flex; align-items:center; justify-content:center;
}
.txpdp .qty__btn:hover{ background:var(--tx-forest-soft); }
.txpdp .qty input.qty,
.txpdp .qty__input{
  width:64px; height:50px; border:0; border-inline:1px solid var(--tx-line);
  text-align:center; font-size:16px; font-weight:700; color:var(--tx-graphite);
  -moz-appearance:textfield;
}
.txpdp .qty input.qty::-webkit-outer-spin-button,
.txpdp .qty input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* ============================================================
   CTA + TOTAL
   ============================================================ */
.txpdp .buy__cta{ display:flex; align-items:stretch; gap:12px; margin-top:18px; }
.txpdp .buy__cta .qty{ flex-shrink:0; }
.txpdp .buy__cta .btn{ flex:1; }
.txpdp .buy__total{
  display:flex; align-items:baseline; justify-content:space-between;
  margin-top:14px; padding:14px 18px; background:var(--tx-forest-soft);
  border:1px solid var(--tx-line); border-radius:10px;
}
.txpdp .buy__total-lbl{ font-size:13px; color:var(--tx-muted); font-weight:600; }
.txpdp .buy__total-val{ font-size:22px; font-weight:800; color:var(--tx-forest); }
.txpdp .buy__total-val small{ font-size:12px; font-weight:600; color:var(--tx-muted); }

/* CTA button bridge to Magento .btn-cart (keep onclick) */
.txpdp .btn-cart{
  display:inline-flex; align-items:center; justify-content:center;
  height:60px; padding:0 28px; border:0; border-radius:8px;
  background:var(--tx-forest); color:#fff; font:700 16px/1 'Heebo',sans-serif;
  cursor:pointer; flex:1; transition:background .2s var(--e-out), transform .2s var(--e-out), box-shadow .2s;
}
.txpdp .btn-cart:hover{ background:var(--tx-forest-dark); transform:translateY(-1px); box-shadow:0 10px 22px rgba(0,61,41,.22); }

/* secondary row (save / share) */
.txpdp .buy__secondary{ display:flex; gap:10px; margin-top:14px; }
.txpdp .buy__secondary .btn{ flex:1; height:44px; font-size:13px; }

/* ============================================================
   TRUST LIST
   ============================================================ */
.txpdp .trust-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px; }
.txpdp .trust-item{
  display:flex; flex-direction:column; align-items:center; gap:7px; text-align:center;
  padding:14px 8px; background:var(--tx-surface); border:1px solid var(--tx-line); border-radius:12px;
}
.txpdp .trust-item svg{ width:24px; height:24px; color:var(--tx-forest); }
.txpdp .trust-item span{ font-size:11.5px; color:var(--tx-muted); font-weight:600; line-height:1.3; }
.txpdp .trust-item strong{ font-size:13px; color:var(--tx-graphite); }

/* ============================================================
   INLINE PIPELINE  (.txfp — Forest, calm; reused from v8)
   ============================================================ */
.txpdp .txfp{ background:var(--tx-surface); border:1px solid var(--tx-border); border-radius:14px; padding:30px 24px 24px; margin:20px 0; }
.txpdp .txfp-heading{ font-size:13px; color:var(--tx-muted); text-align:center; letter-spacing:.06em; margin:0 0 28px; font-weight:500; text-transform:uppercase; }
.txpdp .txfp-track{ position:relative; max-width:680px; margin:0 auto; }
.txpdp .txfp-line{ position:absolute; top:26px; right:28px; left:28px; height:3px; background:var(--tx-border); border-radius:2px; }
.txpdp .txfp-fill{ position:absolute; top:0; right:0; height:100%; width:0; background:var(--tx-forest); border-radius:2px; transition:width 2s var(--e-out); }
.txpdp .txfp.is-in .txfp-fill{ width:100%; }
.txpdp .txfp-steps{ display:flex; justify-content:space-between; gap:8px; position:relative; z-index:2; }
.txpdp .txfp-step{ flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; min-width:0; }
.txpdp .txfp-node{
  width:50px; height:50px; border-radius:50%; background:var(--tx-surface);
  border:1.5px solid var(--tx-border); color:var(--tx-muted);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative;
  transition:background .5s var(--e-out), border-color .5s var(--e-out), color .5s var(--e-out), box-shadow .5s var(--e-out), transform .25s var(--e-out);
}
.txpdp .txfp-node svg{ width:22px; height:22px; }
.txpdp .txfp.is-in .txfp-node{ background:var(--tx-forest); border-color:var(--tx-forest); color:var(--tx-surface); box-shadow:0 4px 14px rgba(0,61,41,.18); }
.txpdp .txfp.is-in .txfp-step:nth-child(1) .txfp-node{ transition-delay:.3s; }
.txpdp .txfp.is-in .txfp-step:nth-child(2) .txfp-node{ transition-delay:.75s; }
.txpdp .txfp.is-in .txfp-step:nth-child(3) .txfp-node{ transition-delay:1.2s; }
.txpdp .txfp.is-in .txfp-step:nth-child(4) .txfp-node{ transition-delay:1.65s; }
.txpdp .txfp.is-in .txfp-step:nth-child(5) .txfp-node{ transition-delay:2.1s; }
.txpdp .txfp-badge{
  position:absolute; top:-2px; left:-2px; width:21px; height:21px; border-radius:50%;
  background:var(--tx-surface); border:2px solid var(--tx-forest);
  display:flex; align-items:center; justify-content:center;
  transform:scale(0); transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.txpdp .txfp-badge svg{ width:11px; height:11px; }
.txpdp .txfp-badge path{ stroke:var(--tx-forest); stroke-width:3; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.txpdp .txfp.is-in .txfp-step .txfp-badge{ transform:scale(1); }
.txpdp .txfp.is-in .txfp-step:nth-child(1) .txfp-badge{ transition-delay:.5s; }
.txpdp .txfp.is-in .txfp-step:nth-child(2) .txfp-badge{ transition-delay:.95s; }
.txpdp .txfp.is-in .txfp-step:nth-child(3) .txfp-badge{ transition-delay:1.4s; }
.txpdp .txfp.is-in .txfp-step:nth-child(4) .txfp-badge{ transition-delay:1.85s; }
.txpdp .txfp.is-in .txfp-step:nth-child(5) .txfp-badge{ transition-delay:2.3s; }
.txpdp .txfp-title{ font-size:13.5px; color:var(--tx-graphite); font-weight:700; margin-top:14px; line-height:1.25; transition:color .5s var(--e-out); }
.txpdp .txfp.is-in .txfp-step .txfp-title{ color:var(--tx-forest); }
.txpdp .txfp-subtext{ font-size:11px; color:var(--tx-muted); margin-top:4px; line-height:1.4; max-width:115px; }

/* ============================================================
   TABS
   ============================================================ */
.txpdp .tabs-wrap{ max-width:1240px; margin:48px auto 0; padding:0 24px; }
.txpdp .tabs{ display:flex; gap:0; border-bottom:1px solid var(--tx-border); }
.txpdp .tab{
  appearance:none; border:0; background:transparent; cursor:pointer;
  padding:16px 22px; font:600 15px/1 'Heebo',sans-serif; color:var(--tx-muted);
  position:relative; transition:color .2s var(--e-out);
}
.txpdp .tab:hover{ color:var(--tx-graphite); }
.txpdp .tab.is-on{ color:var(--tx-forest); }
.txpdp .tab.is-on::after{ content:""; position:absolute; right:0; left:0; bottom:-1px; height:3px; background:var(--tx-forest); border-radius:2px 2px 0 0; }
.txpdp .tabs__count{ font-size:11px; color:var(--tx-muted-2); margin-inline-start:6px; }
.txpdp .tab-content{ padding:28px 2px; }
.txpdp .tab-pane{ display:none; font-size:14.5px; line-height:1.75; color:var(--tx-graphite); }
.txpdp .tab-pane.is-on{ display:block; animation:txpdpFade .35s var(--e-out); }
@keyframes txpdpFade{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;} }
.txpdp .tab-pane h2,.txpdp .tab-pane h3{ color:var(--tx-ink); font-weight:800; margin:18px 0 10px; }
.txpdp .tab-pane ul{ padding-inline-start:20px; }
.txpdp .tab-pane li{ margin-bottom:6px; }
.txpdp .tab-pane .table,
.txpdp .tab-pane table.data-table{ width:100%; border-collapse:collapse; }
.txpdp .tab-pane table.data-table th,
.txpdp .tab-pane table.data-table td{ text-align:right; padding:11px 14px; border-bottom:1px solid var(--tx-line-2); font-size:13.5px; }
.txpdp .tab-pane table.data-table th{ color:var(--tx-muted); font-weight:700; width:30%; }

/* ============================================================
   RELATED PRODUCTS
   ============================================================ */
.txpdp .related{ max-width:1240px; margin:48px auto 0; padding:0 24px; }
.txpdp .related__head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:22px; }
.txpdp .related__head h2{ font-size:24px; font-weight:800; color:var(--tx-ink); letter-spacing:-.02em; }
.txpdp .related__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.txpdp .pcard{
  background:var(--tx-surface); border:1px solid var(--tx-line); border-radius:14px; overflow:hidden;
  transition:transform .25s var(--e-out), box-shadow .25s var(--e-out), border-color .25s;
  display:flex; flex-direction:column;
}
.txpdp .pcard:hover{ transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--tx-muted-2); }
.txpdp .pcard__img{ aspect-ratio:1/1; background:var(--tx-cream); display:flex; align-items:center; justify-content:center; padding:10%; }
.txpdp .pcard__img img{ max-width:100%; max-height:100%; object-fit:contain; }
.txpdp .pcard__body{ padding:14px 16px 16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.txpdp .pcard__sku{ font-size:11px; color:var(--tx-muted-2); }
.txpdp .pcard__name{ font-size:14px; font-weight:700; color:var(--tx-graphite); line-height:1.35; min-height:38px; }
.txpdp .pcard__name a{ color:inherit; text-decoration:none; }
.txpdp .pcard__name a:hover{ color:var(--tx-forest); }
.txpdp .pcard__price{ font-size:15px; font-weight:800; color:var(--tx-forest); margin-top:auto; }
.txpdp .pcard__cta{ margin-top:8px; }

/* ============================================================
   FAQ
   ============================================================ */
.txpdp .faq{ max-width:1240px; margin:48px auto 0; padding:0 24px; }
.txpdp .faq__grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:start; }
.txpdp .faq__intro h2{ font-size:26px; font-weight:800; color:var(--tx-ink); letter-spacing:-.02em; margin-bottom:10px; }
.txpdp .faq__intro p{ font-size:14px; color:var(--tx-muted); line-height:1.6; margin-bottom:14px; }
.txpdp .faq__list{ display:flex; flex-direction:column; gap:10px; }
.txpdp .faq-item{ background:var(--tx-surface); border:1px solid var(--tx-line); border-radius:12px; overflow:hidden; }
.txpdp .faq-item__q{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:16px 18px; cursor:pointer; font-size:14.5px; font-weight:700; color:var(--tx-graphite);
  transition:background .2s var(--e-out);
}
.txpdp .faq-item__q:hover{ background:var(--tx-forest-soft); }
.txpdp .faq-item__q .chev{ width:18px; height:18px; color:var(--tx-muted); transition:transform .25s var(--e-out); flex-shrink:0; }
.txpdp .faq-item.is-on .faq-item__q .chev{ transform:rotate(180deg); color:var(--tx-forest); }
.txpdp .faq-item__body{ max-height:0; overflow:hidden; transition:max-height .3s var(--e-out); }
.txpdp .faq-item.is-on .faq-item__body{ max-height:420px; }
.txpdp .faq-item__body-inner{ padding:0 18px 18px; font-size:13.5px; line-height:1.7; color:var(--tx-muted); }

/* ============================================================
   RESPONSIVE  (single CSS shared desktop+mobile)
   ============================================================ */
@media (max-width:1024px){
  .txpdp .pdp__grid{ grid-template-columns:1fr; gap:32px; }
  .txpdp .gal{ position:static; }
  .txpdp .related__grid{ grid-template-columns:repeat(3,1fr); }
  .txpdp .faq__grid{ grid-template-columns:1fr; gap:24px; }
}
@media (max-width:768px){
  .txpdp .pdp{ padding:24px 0 48px; }
  .txpdp .pdp__grid{ padding:0 16px; gap:28px; }
  .txpdp .buy__title{ font-size:27px; }
  .txpdp .related__grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .txpdp .trust-list{ grid-template-columns:repeat(3,1fr); gap:8px; }
  .txpdp .tabs{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .txpdp .tab{ white-space:nowrap; padding:14px 16px; font-size:14px; }
  .txpdp .tabs-wrap,.txpdp .related,.txpdp .faq{ padding:0 16px; }
  /* pipeline compact */
  .txpdp .txfp{ padding:22px 14px 18px; }
  .txpdp .txfp-line{ top:19px; right:18px; left:18px; }
  .txpdp .txfp-node{ width:38px; height:38px; }
  .txpdp .txfp-node svg{ width:16px; height:16px; }
  .txpdp .txfp-title{ font-size:11px; margin-top:8px; }
  .txpdp .txfp-subtext{ font-size:9px; max-width:none; }
}
@media (max-width:480px){
  .txpdp .gal__thumbs{ grid-template-columns:repeat(5,1fr); gap:6px; }
  .txpdp .buy__cta{ flex-direction:column; }
  .txpdp .buy__cta .qty{ align-self:flex-start; }
  .txpdp .txfp-node{ width:32px; height:32px; }
  .txpdp .txfp-subtext{ display:none; }
}

/* ============================================================
   END texas-pdp-forest.css
   ============================================================ */

/* C2a: hide foreign SKU injections */
.txpdp .sku .tx-sku-copy,.txpdp .sku .tx-share-mini,.txpdp .sku .sku-copy-btn,.txpdp .sku .tx-incart-pill{display:none!important;}
/* C2b: SKU copy icon + popup */
.txpdp .sku{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#6B7280;}
.txpdp .sku strong{font-weight:700;color:#1F1F1F;}
.txpdp .sku .tx-mk-copy{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid #E6E6E6;border-radius:7px;background:#fff;color:#003D29;cursor:pointer;transition:all .15s ease;}
.txpdp .sku .tx-mk-copy:hover{background:#F0F4F1;border-color:#003D29;}
.txpdp .sku .tx-mk-copy i{font-size:13px;line-height:1;}
.tx-mk-pop{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(10px);background:#003D29;color:#fff;padding:10px 18px;border-radius:10px;font:600 14px Heebo,sans-serif;box-shadow:0 8px 24px rgba(0,61,41,.28);opacity:0;transition:all .25s ease;z-index:99999;pointer-events:none;}
.tx-mk-pop.show{opacity:1;transform:translateX(-50%) translateY(0);}





/* TX-PDP-CENTER-CONTAINER */
body.catalog-product-view .product-essential .container{max-width:1280px!important;margin:0 auto!important;display:block;float:none;}

/* ============================================================
   RELATED + VIEWED — Forest grid override (v4.41)
   Targets EXACT styles.css selectors. Loaded after styles.css = wins.
   NOT scoped to .txpdp — these grids sit outside .txpdp wrapper.
   ============================================================ */

/* ---- GRID: 4 per row (was 20%=5) ---- */
.block.block-related .mini-products-list{
  display:grid !important; grid-template-columns:repeat(4,1fr) !important;
  gap:18px !important; list-style:none !important; margin:0 !important; padding:0 !important;
}
.block.block-related .mini-products-list .item{
  width:auto !important; margin:0 !important; padding:0 !important; float:none !important; list-style:none !important;
}
.home-section.block-viewed .product-grid,
.home-section.block-viewed .container-products{
  display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:18px !important;
}
.home-section.block-viewed .product-grid .item,
.home-section.block-viewed .container-products .item{
  width:auto !important; margin:0 !important; padding:0 !important; float:none !important;
}

/* ---- TITLE: forest (beat #FF5C9D pink h3) ---- */
.home-section.block-viewed h3,
.block.block-related .block-title,
.block.block-related h2{
  color:#003D29 !important; text-align:right !important;
  font-size:24px !important; font-weight:800 !important;
  margin:0 0 20px !important; padding-bottom:14px !important;
  border-bottom:1px solid #E6E2D8 !important; letter-spacing:-.3px !important;
}

/* ---- CARD wrapper ---- */
.block.block-related .mini-products-list .item .product,
.home-section.block-viewed .product-grid .item .product{
  display:flex !important; flex-direction:column !important; height:100% !important;
  background:#FFFFFF !important; border:1px solid #E6E2D8 !important;
  border-radius:14px !important; overflow:hidden !important;
  transition:box-shadow .2s,transform .2s !important;
}
.block.block-related .mini-products-list .item .product:hover,
.home-section.block-viewed .product-grid .item .product:hover{
  box-shadow:0 6px 18px rgba(15,30,20,.08) !important; transform:translateY(-3px) !important;
}

/* ---- IMAGE (cream bg, contain, NO mix-blend) ---- */
.block.block-related .mini-products-list .item .product>a:first-child,
.home-section.block-viewed .product-grid .item .product>a:first-child{
  display:flex !important; align-items:center !important; justify-content:center !important;
  background:#F2EFE8 !important; padding:16px !important; aspect-ratio:1/1 !important;
}
.block.block-related .mini-products-list .item .product>a:first-child img,
.home-section.block-viewed .product-grid .item .product>a:first-child img{
  max-width:100% !important; max-height:100% !important; width:auto !important; height:auto !important;
  object-fit:contain !important; mix-blend-mode:normal !important;
}

/* ---- NAME-PRICE area ---- */
.block.block-related .mini-products-list .item .name-price,
.home-section.block-viewed .product-grid .item .name-price{
  padding:14px !important; display:flex !important; flex-direction:column !important; flex:1 !important;
}
.block.block-related .mini-products-list .item .makat,
.home-section.block-viewed .product-grid .item .makat{
  font-size:11px !important; color:#6B7280 !important; letter-spacing:.4px !important;
  margin-bottom:6px !important; text-align:right !important; display:block !important;
}
.block.block-related .mini-products-list .item .product-name,
.home-section.block-viewed .product-grid .item .product-name{
  min-height:2.7em !important; display:-webkit-box !important; -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important; overflow:hidden !important;
  margin:0 0 12px !important; font-size:14.5px !important; font-weight:700 !important;
  line-height:1.35 !important; text-align:right !important;
}
.block.block-related .mini-products-list .item .product-name a,
.home-section.block-viewed .product-grid .item .product-name a{
  color:#1F1F1F !important; text-decoration:none !important;
}
.block.block-related .mini-products-list .item .price-box,
.home-section.block-viewed .product-grid .item .price-box{ display:none !important; }

/* ---- OFFER row: forest button ---- */
.block.block-related .mini-products-list .item .product .offer,
.home-section.block-viewed .product-grid .item .offer{
  display:flex !important; gap:8px !important; align-items:center !important;
  margin-top:auto !important; padding:0 !important; width:100% !important;
}
/* hide qty-block (pink) */
.block.block-related .mini-products-list .item .product .offer .qty-block,
.home-section.block-viewed .product-grid .item .offer .qty-block{
  display:none !important; width:0 !important;
}
/* btn-block full width */
.block.block-related .mini-products-list .item .product .offer .btn-block,
.home-section.block-viewed .product-grid .item .offer .btn-block{
  width:auto !important; flex:1 !important; margin:0 !important; padding:0 !important;
}
/* THE BUTTON — forest. Add .btn-cart class to beat styles.css .button.btn-cart winner.
   Also prefix with body.catalog-product-view for extra specificity insurance. */
body.catalog-product-view .block.block-related .mini-products-list .item .product .offer .btn-block button.btn-cart,
body.catalog-product-view .home-section.block-viewed .product-grid .item .offer .btn-block button.btn-cart,
body.catalog-product-view .home-section.block-viewed .container-products .item .offer .btn-block button.btn-cart{
  background:#003D29 !important; background-color:#003D29 !important; background-image:none !important;
  border:1px solid #003D29 !important; color:#fff !important;
  width:100% !important; height:auto !important; min-height:44px !important;
  border-radius:10px !important; font-size:14px !important; font-weight:700 !important;
  padding:11px 14px !important; cursor:pointer !important; transition:background .2s !important;
  box-sizing:border-box !important;
}
body.catalog-product-view .block.block-related .mini-products-list .item .product .offer .btn-block button.btn-cart:hover,
body.catalog-product-view .home-section.block-viewed .product-grid .item .offer .btn-block button.btn-cart:hover,
body.catalog-product-view .home-section.block-viewed .container-products .item .offer .btn-block button.btn-cart:hover{
  background:#002217 !important; background-color:#002217 !important; border-color:#002217 !important; color:#fff !important;
}
/* button text via ::after (span is empty) */
body.catalog-product-view .block.block-related .mini-products-list .item .product .offer .btn-block button.btn-cart>span,
body.catalog-product-view .home-section.block-viewed .product-grid .item .offer .btn-block button.btn-cart>span,
body.catalog-product-view .home-section.block-viewed .container-products .item .offer .btn-block button.btn-cart>span{ display:none !important; }
body.catalog-product-view .block.block-related .mini-products-list .item .product .offer .btn-block button.btn-cart::after,
body.catalog-product-view .home-section.block-viewed .product-grid .item .offer .btn-block button.btn-cart::after,
body.catalog-product-view .home-section.block-viewed .container-products .item .offer .btn-block button.btn-cart::after{
  content:"הוסף להצעה" !important; color:#fff !important; font-weight:700 !important; font-size:14px !important;
}

/* details-block (info "i") → forest */
.block.block-related .mini-products-list .item .product .offer .details-block,
.home-section.block-viewed .product-grid .item .offer .details-block{
  width:auto !important; flex:0 0 44px !important; height:auto !important;
}
.block.block-related .mini-products-list .item .product .offer .details-block a,
.home-section.block-viewed .product-grid .item .offer .details-block a{
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:44px !important; height:44px !important; border:1px solid #E6E2D8 !important;
  background:#F0F4F1 !important; border-radius:10px !important; color:#003D29 !important;
}

/* Forest category link (injected by JS) */
.txv4-related-head{ display:flex !important; align-items:baseline !important; justify-content:space-between !important; margin:0 0 20px !important; padding-bottom:14px !important; border-bottom:1px solid #E6E2D8 !important; }
.txv4-related-head .txv4-related-ttl{ color:#003D29; font-size:24px; font-weight:800; letter-spacing:-.3px; margin:0; }
.txv4-related-head .txv4-cat-link{ color:#003D29; font-size:14px; font-weight:600; text-decoration:none; border-bottom:1px solid #003D29; padding-bottom:1px; white-space:nowrap; }
.txv4-related-head .txv4-cat-link:hover{ color:#002217; }

/* Mobile: 2 cols */
@media(max-width:768px){
  .block.block-related .mini-products-list,
  .home-section.block-viewed .product-grid,
  .home-section.block-viewed .container-products{ grid-template-columns:repeat(2,1fr) !important; }
}

/* ===== v4.44: Card uniform height for button alignment ===== */
.block.block-related .mini-products-list,
.home-section.block-viewed .product-grid,
.home-section.block-viewed .container-products,
.txv4-viewed-grid{
  align-items:stretch !important;
}
.block.block-related .mini-products-list .item,
.home-section.block-viewed .product-grid .item,
.home-section.block-viewed .container-products .item,
.txv4-viewed-grid .item{
  display:flex !important;
  flex-direction:column !important;
}
.block.block-related .mini-products-list .item .product,
.home-section.block-viewed .product-grid .item .product,
.home-section.block-viewed .container-products .item .product,
.txv4-viewed-grid .item .product{
  flex:1 !important;
  min-height:380px !important;
}
.block.block-related .mini-products-list .item .name-price,
.home-section.block-viewed .product-grid .item .name-price,
.home-section.block-viewed .container-products .item .name-price,
.txv4-viewed-grid .item .name-price{
  flex:1 !important;
  justify-content:flex-end !important;
}
/* The "פרטים" details-block sits below offer — make it inline with button (side icon) */
.block.block-related .mini-products-list .item .product .offer .details-block,
.home-section.block-viewed .product-grid .item .offer .details-block,
.home-section.block-viewed .container-products .item .offer .details-block{
  flex:0 0 44px !important;
}

/* ============================================================
   v4.45: VIEWED-SPECIFIC selectors (no .product wrapper).
   Viewed cards: .item > a + .name-price + .offer
   Related cards: .item > .product > a + .name-price + .offer
   ============================================================ */

/* VIEWED — card itself acts as the .product wrapper */
body.catalog-product-view .block-viewed .txv4-viewed-grid .item,
body.catalog-product-view .home-section.block-viewed .product-grid .item,
body.catalog-product-view .home-section.block-viewed .container-products .item{
  background:#FFFFFF !important;
  border:1px solid #E6E2D8 !important;
  border-radius:14px !important;
  overflow:hidden !important;
  min-height:380px !important;
}
body.catalog-product-view .block-viewed .txv4-viewed-grid .item:hover,
body.catalog-product-view .home-section.block-viewed .product-grid .item:hover{
  box-shadow:0 6px 18px rgba(15,30,20,.08) !important;
  transform:translateY(-3px) !important;
}

/* VIEWED — image (direct child a, no .product wrapper) */
body.catalog-product-view .block-viewed .txv4-viewed-grid .item > a:first-child,
body.catalog-product-view .home-section.block-viewed .product-grid .item > a:first-child,
body.catalog-product-view .home-section.block-viewed .container-products .item > a:first-child{
  display:flex !important; align-items:center !important; justify-content:center !important;
  background:#F2EFE8 !important; padding:16px !important;
  aspect-ratio:1/1 !important; width:100% !important; box-sizing:border-box !important;
}
body.catalog-product-view .block-viewed .txv4-viewed-grid .item > a:first-child img,
body.catalog-product-view .home-section.block-viewed .product-grid .item > a:first-child img,
body.catalog-product-view .home-section.block-viewed .container-products .item > a:first-child img{
  max-width:100% !important; max-height:100% !important;
  width:auto !important; height:auto !important;
  object-fit:contain !important; mix-blend-mode:normal !important;
  display:block !important;
}

/* VIEWED — name-price area (direct child of .item) */
body.catalog-product-view .block-viewed .txv4-viewed-grid .item > .name-price,
body.catalog-product-view .home-section.block-viewed .product-grid .item > .name-price{
  padding:14px !important; display:flex !important; flex-direction:column !important; flex:1 !important;
  background:#FFFFFF !important;
}
body.catalog-product-view .block-viewed .txv4-viewed-grid .item .makat,
body.catalog-product-view .home-section.block-viewed .product-grid .item .makat{
  font-size:11px !important; color:#6B7280 !important; letter-spacing:.4px !important;
  margin-bottom:6px !important; text-align:right !important;
}
body.catalog-product-view .block-viewed .txv4-viewed-grid .item .product-name,
body.catalog-product-view .home-section.block-viewed .product-grid .item .product-name{
  min-height:2.7em !important; display:-webkit-box !important; -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important; overflow:hidden !important;
  margin:0 0 12px !important; font-size:14.5px !important; font-weight:700 !important;
  line-height:1.35 !important; text-align:right !important; color:#1F1F1F !important;
}
body.catalog-product-view .block-viewed .txv4-viewed-grid .item .product-name a,
body.catalog-product-view .home-section.block-viewed .product-grid .item .product-name a{
  color:#1F1F1F !important; text-decoration:none !important; font-size:30px !important;
}
/* Override the inherited h3-like 30px on .product-name a (audit found it) */
body.catalog-product-view .block-viewed .product-name,
body.catalog-product-view .block-viewed .product-name a,
body.catalog-product-view .block-viewed .product-name h3,
body.catalog-product-view .block-viewed .product-name strong{
  font-size:14.5px !important; font-weight:700 !important; text-align:right !important; color:#1F1F1F !important;
}
body.catalog-product-view .block-viewed .price-box{ display:none !important; }

/* OFFER ROW: button + details-block in SAME ROW (not stacked) */
body.catalog-product-view .block-related .item .offer,
body.catalog-product-view .block-viewed .item .offer{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  align-items:stretch !important;
  margin-top:auto !important;
  padding:0 14px 14px !important;
  width:100% !important;
  box-sizing:border-box !important;
}
/* Hide qty-block */
body.catalog-product-view .block-related .item .offer .qty-block,
body.catalog-product-view .block-viewed .item .offer .qty-block{
  display:none !important;
}
/* btn-block flexible width */
body.catalog-product-view .block-related .item .offer .btn-block,
body.catalog-product-view .block-viewed .item .offer .btn-block{
  flex:1 !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}
/* details-block sits beside button — 44px square */
body.catalog-product-view .block-related .item .offer .details-block,
body.catalog-product-view .block-viewed .item .offer .details-block{
  flex:0 0 44px !important;
  width:44px !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  overflow:visible !important;
  position:relative !important;
}
body.catalog-product-view .block-related .item .offer .details-block a,
body.catalog-product-view .block-viewed .item .offer .details-block a{
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:44px !important; height:44px !important; min-height:44px !important;
  border:1px solid #E6E2D8 !important;
  background:#F0F4F1 !important;
  border-radius:10px !important;
  color:#003D29 !important;
  text-decoration:none !important;
}
/* Hide the floating "פרטים" text label - just keep the i icon */
body.catalog-product-view .block-related .item .offer .details-block span,
body.catalog-product-view .block-viewed .item .offer .details-block span{
  display:none !important;
}

/* VIEWED — apply forest button at high specificity (no .product wrapper) */
body.catalog-product-view .block-viewed .txv4-viewed-grid .item .offer .btn-block button.btn-cart,
body.catalog-product-view .home-section.block-viewed .product-grid .item .offer .btn-block button.btn-cart{
  background:#003D29 !important; background-color:#003D29 !important; background-image:none !important;
  color:#fff !important; border:1px solid #003D29 !important;
  width:100% !important; height:auto !important; min-height:44px !important;
  border-radius:10px !important; font-size:14px !important; font-weight:700 !important;
  padding:11px 14px !important;
}
body.catalog-product-view .block-viewed .txv4-viewed-grid .item .offer .btn-block button.btn-cart>span,
body.catalog-product-view .home-section.block-viewed .product-grid .item .offer .btn-block button.btn-cart>span{
  display:none !important;
}
body.catalog-product-view .block-viewed .txv4-viewed-grid .item .offer .btn-block button.btn-cart::after,
body.catalog-product-view .home-section.block-viewed .product-grid .item .offer .btn-block button.btn-cart::after{
  content:"הוסף להצעה" !important; color:#fff !important; font-weight:700 !important;
}

/* ===== v4.46: In-cart state text override ===== */
body.catalog-product-view .block-related .item button.btn-cart[data-tx-incart="1"]::after,
body.catalog-product-view .block-viewed .item button.btn-cart[data-tx-incart="1"]::after{
  content:"✓ כבר בסל" !important;
  color:#003D29 !important;
  font-weight:700 !important;
  font-size:14px !important;
}
body.catalog-product-view .block-related .item button.btn-cart[data-tx-incart="1"],
body.catalog-product-view .block-viewed .item button.btn-cart[data-tx-incart="1"]{
  cursor:pointer !important;
}

/* ===== v4.47: Force block-viewed full width (kill float:right that shrinks grid) ===== */
body.catalog-product-view .block-viewed,
body.catalog-product-view .home-section.block-viewed{
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  clear:both !important;
  display:block !important;
}
body.catalog-product-view .block-viewed .txv4-viewed-grid,
body.catalog-product-view .block-viewed .product-grid,
body.catalog-product-view .block-viewed .container-products{
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  float:none !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
body.catalog-product-view .block-viewed .txv4-viewed-grid > .item,
body.catalog-product-view .block-viewed .product-grid > .item,
body.catalog-product-view .block-viewed .container-products > .item{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  float:none !important;
  box-sizing:border-box !important;
}
