/**
 * PrintBox — Pagina de produs (PDP)
 * CSS care reproduce designul din DEMO1 peste markup-ul REAL
 * Shoptimizer + WooCommerce + CommerceKit.
 *
 * Scop: tot e limitat la .single-product ca să nu afecteze alte pagini.
 * Va ajunge în child theme (assets/printbox-pdp.css) sau în plugin.
 *
 * Clase reale țintite:
 *  - .product-details-wrapper        (wrapper galerie+summary, Shoptimizer)
 *  - .summary.entry-summary          (coloana dreaptă, WooCommerce)
 *  - h1.product_title                (titlu)
 *  - .woocommerce-product-rating     (rating)
 *  - p.price                         (preț)
 *  - .woocommerce-product-details__short-description
 *  - form.cgkit-swatch-form / table.variations / .cgkit-attribute-swatch (swatch CommerceKit)
 *  - button.single_add_to_cart_button
 *  - #fpd-start-customizing-button   (buton FPD)
 *  Clase noi (le adăugăm prin hooks): .pbsf-*
 */

/* ============================================================
   0. Tokens + font
   Fonturile se încarcă prin wp_enqueue_style (PBSF_Engine::enqueue), NU prin
   @import: optimizatorul CSS de pe staging elimină @import → fontul nu s-ar
   încărca (text pe font de sistem). Titluri = Fraunces (serif soft, premium),
   restul UI = Plus Jakarta Sans.
   ============================================================ */
:root {
  --pbsf-red:      #E8392E;
  --pbsf-red-dark: #C92E24;
  --pbsf-ink:      #18181B;
  --pbsf-text:     #3F3F46;
  --pbsf-text-2:   #52525B;
  --pbsf-muted:    #71717A;
  --pbsf-muted-2:  #9A9AA2;
  --pbsf-line:     #ECEAE5;
  --pbsf-line-2:   #E4E2DD;
  --pbsf-amber:    #F5A623;
  --pbsf-green:    #11875A;
  --pbsf-green-dot:#3BD16F;
  --pbsf-max:      1240px;
  --pbsf-radius:   16px;
  /* Fundal zone 2–5 (benzi full-width; dashboard: Pagina produs → Fundal zone) */
  --pbsf-zone-similar: #F6F7F8;
  --pbsf-zone-tabsbar: #F6F7F8;
  --pbsf-zone-tabs:    #F6F7F8;
  --pbsf-zone-related: #F6F7F8;
  --pbsf-zone-recent:  #F6F7F8;
  --pbsf-font:      'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --pbsf-font-head: 'Fraunces', Georgia, 'Times New Roman', serif;

  /* ---- Tipografie PER ELEMENT (ff=font, fs=mărime, fw=greutate, fc=culoare) ----
     Defaults; motorul le suprascrie inline din dashboard (secțiunea „Culori & tipografie").
     Cheile = elementele din pbsf_text_elements(). */
  --pbsf-title-ff: var(--pbsf-font-head);   --pbsf-title-fs: 30px;   --pbsf-title-fw: 600; --pbsf-title-fc: #18181B;
  --pbsf-section-ff: var(--pbsf-font-head);  --pbsf-section-fs: 24px; --pbsf-section-fw: 600; --pbsf-section-fc: #18181B;
  --pbsf-price-ff: var(--pbsf-font);         --pbsf-price-fs: 34px;   --pbsf-price-fw: 800; --pbsf-price-fc: #E8392E;
  --pbsf-price_prefix-ff: var(--pbsf-font);  --pbsf-price_prefix-fs: 14px; --pbsf-price_prefix-fw: 600; --pbsf-price_prefix-fc: #71717A;
  --pbsf-shortdesc-ff: var(--pbsf-font);     --pbsf-shortdesc-fs: 15.5px; --pbsf-shortdesc-fw: 600; --pbsf-shortdesc-fc: #3F3F46;
  --pbsf-breadcrumb-ff: var(--pbsf-font);    --pbsf-breadcrumb-fs: 13px; --pbsf-breadcrumb-fw: 600; --pbsf-breadcrumb-fc: #9A9AA2;
  --pbsf-rating-ff: var(--pbsf-font);        --pbsf-rating-fs: 13.5px; --pbsf-rating-fw: 700; --pbsf-rating-fc: #E8392E;
  --pbsf-paynote-ff: var(--pbsf-font);       --pbsf-paynote-fs: 12.5px; --pbsf-paynote-fw: 500; --pbsf-paynote-fc: #9A9AA2;
  --pbsf-var_label-ff: var(--pbsf-font);     --pbsf-var_label-fs: 14.5px; --pbsf-var_label-fw: 700; --pbsf-var_label-fc: #18181B;
  --pbsf-var_choose-ff: var(--pbsf-font);    --pbsf-var_choose-fs: 14.5px; --pbsf-var_choose-fw: 700; --pbsf-var_choose-fc: #E8392E;
  --pbsf-var_value-ff: var(--pbsf-font);     --pbsf-var_value-fs: 14.5px; --pbsf-var_value-fw: 700; --pbsf-var_value-fc: #11875A;
  --pbsf-swatch-ff: var(--pbsf-font);        --pbsf-swatch-fs: 14px; --pbsf-swatch-fw: 800; --pbsf-swatch-fc: #18181B;
  --pbsf-swatch_price-ff: var(--pbsf-font);  --pbsf-swatch_price-fs: 11px; --pbsf-swatch_price-fw: 600; --pbsf-swatch_price-fc: #9A9AA2;
  --pbsf-acc_title-ff: var(--pbsf-font);     --pbsf-acc_title-fs: 13.5px; --pbsf-acc_title-fw: 700; --pbsf-acc_title-fc: #18181B;
  --pbsf-acc_content-ff: var(--pbsf-font);   --pbsf-acc_content-fs: 13.5px; --pbsf-acc_content-fw: 400; --pbsf-acc_content-fc: #52525B;
  --pbsf-btn-ff: var(--pbsf-font);           --pbsf-btn-fs: 16px; --pbsf-btn-fw: 800; --pbsf-btn-fc: #FFFFFF;
  --pbsf-btn_placeholder-ff: var(--pbsf-font); --pbsf-btn_placeholder-fs: 16px; --pbsf-btn_placeholder-fw: 800; --pbsf-btn_placeholder-fc: #9A9AA2;
  --pbsf-trust_title-ff: var(--pbsf-font);   --pbsf-trust_title-fs: 12px; --pbsf-trust_title-fw: 700; --pbsf-trust_title-fc: #18181B;
  --pbsf-trust_sub-ff: var(--pbsf-font);     --pbsf-trust_sub-fs: 12px; --pbsf-trust_sub-fw: 500; --pbsf-trust_sub-fc: #71717A;
  --pbsf-tabs-ff: var(--pbsf-font);          --pbsf-tabs-fs: 14.5px; --pbsf-tabs-fw: 700; --pbsf-tabs-fc: #9A9AA2;
  --pbsf-desc_body-ff: 'Poppins', system-ui, -apple-system, sans-serif; --pbsf-desc_body-fs: 16px; --pbsf-desc_body-fw: 400; --pbsf-desc_body-fc: #3F3F46;
  --pbsf-card_title-ff: var(--pbsf-font);    --pbsf-card_title-fs: 14px; --pbsf-card_title-fw: 600; --pbsf-card_title-fc: #18181B;
  --pbsf-card_price-ff: var(--pbsf-font);    --pbsf-card_price-fs: 15px; --pbsf-card_price-fw: 800; --pbsf-card_price-fc: #18181B;
  --pbsf-card_prefix-ff: var(--pbsf-font);   --pbsf-card_prefix-fs: 12.5px; --pbsf-card_prefix-fw: 600; --pbsf-card_prefix-fc: #71717A;
  --pbsf-rev_avg-ff: var(--pbsf-font-head);  --pbsf-rev_avg-fs: 56px;   --pbsf-rev_avg-fw: 600; --pbsf-rev_avg-fc: #18181B;
  --pbsf-rev_name-ff: var(--pbsf-font);      --pbsf-rev_name-fs: 14.5px; --pbsf-rev_name-fw: 800; --pbsf-rev_name-fc: #18181B;
  --pbsf-rev_badge-ff: var(--pbsf-font);     --pbsf-rev_badge-fs: 11.5px; --pbsf-rev_badge-fw: 700; --pbsf-rev_badge-fc: #11875A;
  --pbsf-rev_date-ff: var(--pbsf-font);      --pbsf-rev_date-fs: 12.5px; --pbsf-rev_date-fw: 600; --pbsf-rev_date-fc: #9A9AA2;
  --pbsf-rev_text-ff: var(--pbsf-font);      --pbsf-rev_text-fs: 14.5px; --pbsf-rev_text-fw: 400; --pbsf-rev_text-fc: #3F3F46;
}

/* aplicăm fontul doar pe pagina de produs */
body.single-product,
body.single-product .summary,
body.single-product .product-details-wrapper,
body.single-product .pbsf-pdp {
  font-family: var(--pbsf-font);
  -webkit-font-smoothing: antialiased;
}
body.single-product ::selection { background: var(--pbsf-red); color: #fff; }

@keyframes pbxPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.6)} }

/* ============================================================
   1. Bara de anunț — GLOBALĂ (toate paginile), NU face parte din PDP.
      Se implementează la faza globală (header/temă) sau se folosește
      cea existentă de pe site. Lăsată intenționat în afara acestui fișier.
   ============================================================ */

/* ============================================================
   2. Breadcrumb (lățimea containerului o lasă tema — e mai largă)
   ============================================================ */
body.single-product .woocommerce-breadcrumb {
  font-family: var(--pbsf-breadcrumb-ff) !important;
  font-size: var(--pbsf-breadcrumb-fs) !important;
  font-weight: var(--pbsf-breadcrumb-fw) !important;
  color: var(--pbsf-breadcrumb-fc) !important;
}
body.single-product .woocommerce-breadcrumb a { color: var(--pbsf-breadcrumb-fc); }
body.single-product .woocommerce-breadcrumb a:hover { color: var(--pbsf-text-2); }

/* ============================================================
   3. Layout produs — 2 coloane (robust)
   De când Elementor e scos, FPD injectează .fpd-product-designer-wrapper ca
   PRIM copil al .product-details-wrapper (înainte de galerie). Asta rupe
   float-ul nativ al temei (.images float:left 60% / .summary float:right 36%).
   Forțăm flexbox cu ordine explicită: galerie (1) | summary (2); wrapper-ul
   FPD iese pe propriul rând (3) — apare la apăsarea „Personalizează".
   ============================================================ */
body.single-product div.product .product-details-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  /* clearfix-ul temei (overflow:hidden) era pt. layout-ul pe float; pe flex nu mai
     e necesar și ar OMORÎ sticky-ul galeriei (sticky nu funcționează într-un
     strămoș cu overflow hidden). */
  overflow: visible !important;
}
body.single-product div.product .product-details-wrapper > .fpd-product-designer-wrapper {
  order: 3;
  width: 100%;
}
/* helper-e CommerceKit / lightbox PhotoSwipe — scoase din cele 2 coloane (invizibile) */
body.single-product div.product .product-details-wrapper > #cgkit-pdp-gallery-outside,
body.single-product div.product .product-details-wrapper > #pswp,
body.single-product div.product .product-details-wrapper > .pswp {
  order: 4;
  width: 100%;
}
/* GALERIA e sticky (nu summary-ul): imaginea rămâne lipită la scroll și coboară
   odată cu conținutul până se termină coloana din dreapta (înălțimea wrapper-ului
   flex = coloana mai înaltă; align-items:flex-start face sticky-ul posibil). */
body.single-product div.product .product-details-wrapper > .images,
body.single-product div.product .product-details-wrapper > .woocommerce-product-gallery {
  order: 1;
  float: none !important;
  width: 48% !important;
  margin: 0 !important;
  /* !important: CommerceKit pune inline `#commercegurus-pdp-gallery-wrapper
     {position:relative}` (id > clasă). Pe mobil se revine la static (secț. 9). */
  position: sticky !important;
  top: 20px;
}
body.single-product div.product .product-details-wrapper > .summary {
  order: 2;
  float: none !important;
  width: 48% !important;
  margin: 0 0 0 4% !important;
}

/* ============================================================
   4. Galerie (CommerceKit) — restilare
   NB: se reglează fin pe staging cu DOM-ul real Swiper.
   ============================================================ */
body.single-product #cgkit-pdp-gallery,
body.single-product .pbsf-gallery {
  display: flex;
  gap: 16px;
}
body.single-product .pbsf-gallery__thumbs {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 560px;
  overflow-y: auto;
  scrollbar-width: none;
}
body.single-product .pbsf-gallery__thumbs::-webkit-scrollbar { width: 0; }
body.single-product .pbsf-gallery__thumbs img {
  width: 62px; height: 62px;
  border-radius: 11px;
  object-fit: cover;
  cursor: pointer;
  border: 2px solid transparent;
  opacity: .7;
  transition: opacity .15s, border-color .15s;
}
body.single-product .pbsf-gallery__thumbs img:hover { opacity: 1; }
body.single-product .pbsf-gallery__thumbs img.is-active { opacity: 1; border-color: var(--pbsf-red); }
body.single-product .pbsf-gallery__main {
  flex: 1;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(160deg, #F4F1EC, #EAE5DD);
  aspect-ratio: 1 / 1.06;
}
body.single-product .pbsf-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
body.single-product .pbsf-gallery__nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 42px; height: 42px; border-radius: 100px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 6px 16px -6px rgba(0,0,0,.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; cursor: pointer; color: var(--pbsf-ink); border: 0;
}
body.single-product .pbsf-gallery__nav--prev { left: 14px; }
body.single-product .pbsf-gallery__nav--next { right: 14px; }
body.single-product .pbsf-gallery__badge {
  position: absolute; right: 14px; top: 14px;
  background: rgba(24,24,27,.82); color: #fff;
  font-size: 11.5px; font-weight: 700;
  padding: 6px 12px; border-radius: 100px;
  display: flex; align-items: center; gap: 7px;
}
body.single-product .pbsf-gallery__badge::before {
  content: ""; width: 7px; height: 7px; border-radius: 100px;
  background: var(--pbsf-green-dot); display: inline-block;
  animation: pbxPulse 1.6s ease-in-out infinite;
}
/* Varianta peste galeria CommerceKit (badge opt-in din dashboard, randat la
   commercekit_before_gallery). Poziția exactă se confirmă pe staging. */
body.single-product #commercegurus-pdp-gallery,
body.single-product .cg-psp-gallery { position: relative; }
body.single-product .pbsf-gallery__badge--ck { position: absolute; right: 16px; top: 16px; z-index: 5; }

/* ============================================================
   5. Coloana summary
   ============================================================ */
body.single-product .summary.entry-summary { padding: 0; }

/* titlu produs (per element) */
body.single-product .summary h1.product_title {
  font-family: var(--pbsf-title-ff) !important;
  font-size: var(--pbsf-title-fs) !important;
  font-weight: var(--pbsf-title-fw) !important;
  color: var(--pbsf-title-fc) !important;
  line-height: 1.18; letter-spacing: -.01em; margin: 0;
}

/* rating */
body.single-product .summary .woocommerce-product-rating {
  display: flex; align-items: center; gap: 12px; margin: 14px 0 0;
}
body.single-product .summary .woocommerce-product-rating .star-rating { color: var(--pbsf-amber); }
body.single-product .summary .woocommerce-review-link {
  font-family: var(--pbsf-rating-ff);
  font-size: var(--pbsf-rating-fs);
  font-weight: var(--pbsf-rating-fw);
  color: var(--pbsf-rating-fc);
  border-bottom: 1px solid var(--pbsf-rating-fc); text-decoration: none;
}

/* preț */
body.single-product .summary p.price,
body.single-product .summary .price {
  margin: 16px 0 0;
  font-family: var(--pbsf-price-ff);
  font-size: var(--pbsf-price-fs);
  font-weight: var(--pbsf-price-fw);
  color: var(--pbsf-price-fc);
  letter-spacing: -.01em;
}
body.single-product .summary p.price del { color: var(--pbsf-muted-2); font-weight: 600; font-size: 18px; }
body.single-product .summary p.price ins { text-decoration: none; }
/* badge % reducere (Shoptimizer) */
body.single-product .summary .sale-item.product-label {
  background: var(--pbsf-red); color: #fff; border-radius: 100px;
  font-size: 13px; font-weight: 800; padding: 3px 10px; margin-left: 8px;
}

/* short description */
body.single-product .summary .woocommerce-product-details__short-description {
  font-family: var(--pbsf-shortdesc-ff) !important;
  font-size: var(--pbsf-shortdesc-fs);
  font-weight: var(--pbsf-shortdesc-fw);
  color: var(--pbsf-shortdesc-fc);
  line-height: 1.6; margin-top: 18px;
}

/* Conținutul descrierii scurte e autorat în câmpul produsului și poate
   include hint-uri de orientare („Poza ta e verticală?…"). Le stilăm AICI,
   nu ca secțiune injectată separat. */
body.single-product .woocommerce-product-details__short-description p { margin: 0 0 9px; }
body.single-product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
body.single-product .woocommerce-product-details__short-description a { color: var(--pbsf-red); font-weight: 700; text-decoration: none; }
body.single-product .woocommerce-product-details__short-description b,
body.single-product .woocommerce-product-details__short-description strong { color: var(--pbsf-ink); }

/* ---- selector mărimi (swatch-uri CommerceKit) ----
   CommerceKit randează și stilează swatch-urile NATIV (layout Square/Fluid din setările lui).
   NU le forțăm grilă/restilare aici — DOM-ul real diferă de mock-ul din preview și se strică.
   Doar spațiere; aspectul swatch-urilor se reglează din CommerceKit. */
body.single-product .summary form.cart { margin-top: 22px; }

/* label „Dimensiune” + hint (element din preview; inofensiv pe site-ul real) */
body.single-product .pbsf-size-head {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;
}
body.single-product .pbsf-size-head__label { font-weight: 800; font-size: 14.5px; color: var(--pbsf-ink); }
body.single-product .pbsf-size-head__hint  { font-size: 13px; font-weight: 700; color: var(--pbsf-red); }
body.single-product .pbsf-size-head__hint.is-selected { color: var(--pbsf-green); }

/* ---- qty + add to cart + FPD ---- */
body.single-product .summary .woocommerce-variation-add-to-cart,
body.single-product .summary form.cart:not(.variations_form) {
  display: flex; gap: 14px; align-items: stretch; margin-top: 14px; flex-wrap: wrap;
}
/* placeholder gri aproape de swatch-uri (la fel ca butonul roșu) */
body.single-product .summary .pbsf-fpd-placeholder { margin-top: 14px; }
/* Selectorul de CANTITATE e ASCUNS pe TOATE produsele (decizie 2026-07-09 —
   înainte era ascuns doar pe cele cu FPD): produsele se cumpără bucată cu
   bucată; WooCommerce trimite implicit qty=1. */
body.single-product .summary .quantity { display: none !important; }

/* Produse cu VARIAȚII fără FPD — același comportament ca la FPD: până la
   selecția variației se vede DOAR placeholder-ul gri „Alege o opțiune"
   (zona add-to-cart dezactivată e ascunsă; clasele -disabled/-enabled le
   comută WooCommerce core la selecție/reset); la selecție apare butonul
   roșu full-width „Adaugă în coș" (stilizat mai jos, la fel ca butonul FPD). */
body.single-product .summary .woocommerce-variation-add-to-cart-disabled { display: none !important; }
/* CommerceKit împachetează butonul ATC în wrappere care se strâng la conținut
   → butonul (width:100% din părinte) rămânea mic (~156px). Pe variabile: doar
   „intersector"-ul; pe produsele SIMPLE lanțul e mai adânc:
   .commercekit-pdp-sticky-inner > .commercekit-pdp-simple-form > intersector.
   Le întindem pe toate pe lățimea containerului flex. */
body.single-product .summary .commercekit-sticky-atc-intersector,
body.single-product .summary .commercekit-pdp-simple-form,
body.single-product .summary .commercekit-pdp-sticky-inner {
  flex: 1 1 auto; width: 100%;
}

/* Butonul FPD apare DOAR când o variație e selectată (FPD îl arată atunci) →
   roșu, full-width (cantitatea e ascunsă), cu umbra de brand. !important ca să
   batem CSS-ul propriu al FPD. */
body.single-product .summary #fpd-start-customizing-button,
body.single-product .summary button.single_add_to_cart_button {
  width: 100% !important;
  flex: 1 1 auto !important;
  border: 0 !important;
  border-radius: 100px !important;
  font-family: var(--pbsf-btn-ff) !important;
  font-weight: var(--pbsf-btn-fw) !important;
  font-size: var(--pbsf-btn-fs) !important;
  cursor: pointer;
  /* Cutie IDENTICĂ cu placeholder-ul gri (ca să nu fie mai înalt și să împingă conținutul):
     aceleași padding/line-height/box-sizing + reset peste min-height-ul injectat de FPD. */
  box-sizing: border-box !important;
  line-height: 1.25 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 17px 24px !important;
  /* FPD pune `#fpd-start-customizing-button{margin:10px 0}` (fancy-product.css) → 20px în plus
     vs placeholder-ul gri (care n-are margin jos) → împinge conținutul. Îl resetăm. */
  margin: 0 !important;
  background: var(--pbsf-red) !important;
  color: var(--pbsf-btn-fc) !important;
  text-align: center;
  box-shadow: 0 12px 28px -8px rgba(232,57,46,.5) !important;
  transition: transform .12s, box-shadow .12s;
}
body.single-product .summary #fpd-start-customizing-button:hover,
body.single-product .summary button.single_add_to_cart_button:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px -8px rgba(232,57,46,.6) !important;
}
/* Placeholder gri „Alege o opțiune" — starea fără variație (randat de plugin). */
body.single-product .summary .pbsf-fpd-placeholder {
  width: 100%;
  border: 0; border-radius: 100px;
  font-family: var(--pbsf-btn_placeholder-ff); font-weight: var(--pbsf-btn_placeholder-fw); font-size: var(--pbsf-btn_placeholder-fs);
  /* aceeași cutie ca butonul roșu (box-sizing + line-height + padding identice) */
  box-sizing: border-box; line-height: 1.25; min-height: 0;
  padding: 17px 24px; cursor: default; text-align: center;
  background: #F0EEEA; color: var(--pbsf-btn_placeholder-fc);
}
/* notă plată (element nou .pbsf-pay-note) */
body.single-product .pbsf-pay-note {
  font-family: var(--pbsf-paynote-ff);
  font-size: var(--pbsf-paynote-fs);
  font-weight: var(--pbsf-paynote-fw);
  color: var(--pbsf-paynote-fc);
  margin-top: 12px; text-align: center;
}
/* Link-ul WhatsApp inline din textul de sub buton ([pb_whatsapp_order style="link"]):
   culoarea vine din dashboard (Culori & tipografie → Culori generale → „Link WhatsApp";
   default = verdele oficial WhatsApp). Hover: aceeași culoare, ușor întunecată —
   brightness() merge cu ORICE culoare aleasă. */
body.single-product .pbsf-pay-note .pb-wob-button.pb-wob-style-link { color: var(--pbsf-wa, #25D366); }
body.single-product .pbsf-pay-note .pb-wob-button.pb-wob-style-link:hover {
  color: var(--pbsf-wa, #25D366);
  filter: brightness(.82);
}

/* ---- mini trust (cele 3 iconițe — element nou .pbsf-trust) ---- */
body.single-product .pbsf-trust {
  margin-top: 22px; border-top: 1px solid var(--pbsf-line); padding-top: 20px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
}
body.single-product .pbsf-trust__item { display: flex; align-items: center; gap: 10px; }
body.single-product .pbsf-trust__ico { font-size: 20px; line-height: 1; }
body.single-product .pbsf-trust__txt {
  font-family: var(--pbsf-trust_title-ff); font-size: var(--pbsf-trust_title-fs);
  font-weight: var(--pbsf-trust_title-fw); color: var(--pbsf-trust_title-fc); line-height: 1.3;
}
body.single-product .pbsf-trust__txt span {
  font-family: var(--pbsf-trust_sub-ff); font-size: var(--pbsf-trust_sub-fs);
  font-weight: var(--pbsf-trust_sub-fw); color: var(--pbsf-trust_sub-fc); display: block;
}

/* ============================================================
   6. Acordeoane (DEASUPRA variațiilor; editabile per-produs)
      Aspect tip „card" (ca opțiunile din demo).
   ============================================================ */
body.single-product .pbsf-accordions { margin-top: 18px; display: flex; flex-direction: column; gap: 9px; }
body.single-product .pbsf-accordion {
  border: 1.5px solid var(--pbsf-line); border-radius: 14px; background: #fff; overflow: hidden;
  transition: border-color .15s;
}
body.single-product .pbsf-accordion.is-open { border-color: var(--pbsf-line-2); }
body.single-product .pbsf-accordion__title {
  font-family: var(--pbsf-acc_title-ff);
  font-size: var(--pbsf-acc_title-fs);
  font-weight: var(--pbsf-acc_title-fw);
  color: var(--pbsf-acc_title-fc);
  cursor: pointer; display: flex; align-items: center; gap: 11px;
  padding: 13px 15px; user-select: none;
}
body.single-product .pbsf-accordion__ico { font-size: 18px; line-height: 1; flex: none; }
body.single-product .pbsf-accordion__chev {
  margin-left: auto; color: var(--pbsf-muted); font-size: 13px; transition: transform .3s;
}
body.single-product .pbsf-accordion.is-open .pbsf-accordion__chev { transform: rotate(180deg); }
body.single-product .pbsf-accordion__content {
  font-family: var(--pbsf-acc_content-ff);
  font-size: var(--pbsf-acc_content-fs);
  font-weight: var(--pbsf-acc_content-fw);
  color: var(--pbsf-acc_content-fc);
  display: none; padding: 0 15px 14px; line-height: 1.6;
}
body.single-product .pbsf-accordion.is-open .pbsf-accordion__content { display: block; }

/* ============================================================
   7. Produse similare / caruseluri (pb_woo_carousel)
   ============================================================ */
body.single-product .pbsf-section {
  max-width: var(--pbsf-max); margin: 0 auto; padding: 56px 28px 0;
}
body.single-product .pbsf-section__head {
  display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 22px;
}
body.single-product .pbsf-section__head h2 {
  font-family: var(--pbsf-section-ff) !important;
  font-size: var(--pbsf-section-fs) !important;
  font-weight: var(--pbsf-section-fw) !important;
  color: var(--pbsf-section-fc) !important;
  letter-spacing: -.01em; margin: 0;
}
body.single-product .pbsf-section__head a {
  font-weight: 700; font-size: 14px; color: var(--pbsf-ink);
  border-bottom: 2px solid var(--pbsf-red); padding-bottom: 2px; text-decoration: none;
}
/* Titlul dat prin ATRIBUTUL shortcode-ului (title="..."), randat de snippet ca
   h3.pbw-carousel-title — primește EXACT stilul titlurilor de secțiune (elementul
   „Titluri secțiuni" din dashboard), ca să arate identic cu titlul din câmpul
   „Titlu secțiune". Folosește ORI câmpul din dashboard, ORI atributul — nu ambele
   (ar apărea două titluri). */
body.single-product .pbsf-section .pbw-title-wrapper { margin: 0 0 22px; }
body.single-product .pbsf-section .pbw-carousel-title {
  font-family: var(--pbsf-section-ff) !important;
  font-size: var(--pbsf-section-fs) !important;
  font-weight: var(--pbsf-section-fw) !important;
  color: var(--pbsf-section-fc) !important;
  letter-spacing: -.01em; margin: 0;
}
/* scroll orizontal FĂRĂ bară vizibilă (caruseluri / thumbnails) */
body.single-product .pbsf-scrollx { scrollbar-width: none; -ms-overflow-style: none; }
body.single-product .pbsf-scrollx::-webkit-scrollbar { height: 0; width: 0; }

/* ============================================================
   8. Tabs descriere / info / recenzii
   ============================================================ */
body.single-product .woocommerce-tabs.wc-tabs-wrapper {
  max-width: var(--pbsf-max); margin: 56px auto 0; padding: 0 28px;
}
body.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--pbsf-line); display: flex; gap: 6px;
  padding: 0; margin: 0;
}
body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; margin: 0; padding: 0; }
body.single-product .woocommerce-tabs ul.tabs li a {
  font-family: var(--pbsf-tabs-ff); font-weight: var(--pbsf-tabs-fw); font-size: var(--pbsf-tabs-fs);
  color: var(--pbsf-tabs-fc);
  padding: 14px 18px; border-bottom: 2.5px solid transparent; margin-bottom: -1px; display: block;
}
body.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--pbsf-ink); border-bottom-color: var(--pbsf-red); }
/* DOAR linia roșie pe tabul activ (tema/CommerceKit mai pun o linie proprie pe li) */
body.single-product .woocommerce-tabs ul.tabs li.active,
body.single-product .woocommerce-tabs ul.tabs li.active a {
	box-shadow: none !important;
	border-top: 0 !important; border-left: 0 !important; border-right: 0 !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active { border-bottom: 0 !important; }
body.single-product .woocommerce-tabs .panel { padding: 34px 0; }

/* --- Descrierea LUNGĂ (tab „Descriere") — element typo `desc_body`. Conținutul
   e construit per produs cu Elementor, care îi setează propriul font (widget/temă)
   → fără forțare, fontul din dashboard nu s-ar aplica. Familia se forțează cu
   `*` + !important pe TOT conținutul (font unitar în toate descrierile, inclusiv
   titluri); mărimea/greutatea/culoarea se aplică DOAR pe textul curent (p/li/td),
   ca titlurile și boldul din descriere să-și păstreze dimensiunea/greutatea.
   ATENȚIE selectori: cu bara sticky CommerceKit (sticky_atc_tabs=ON, layout
   „stacked" — cazul nostru LIVE) panoul are clasa `commercekit-Tabs-panel--description`
   (id `cgkit-tab-description`), NU clasa nativă Woo `woocommerce-Tabs-panel--description`
   — le țintim pe AMBELE (nativa rămâne fallback dacă sticky tabs se dezactivează). --- */
body.single-product .woocommerce-Tabs-panel--description,
body.single-product .woocommerce-Tabs-panel--description *,
body.single-product .commercekit-Tabs-panel--description,
body.single-product .commercekit-Tabs-panel--description * {
  font-family: var(--pbsf-desc_body-ff) !important;
}
body.single-product .woocommerce-Tabs-panel--description p,
body.single-product .woocommerce-Tabs-panel--description li,
body.single-product .woocommerce-Tabs-panel--description td,
body.single-product .commercekit-Tabs-panel--description p,
body.single-product .commercekit-Tabs-panel--description li,
body.single-product .commercekit-Tabs-panel--description td {
  font-size: var(--pbsf-desc_body-fs);
  font-weight: var(--pbsf-desc_body-fw);
  color: var(--pbsf-desc_body-fc);
}

/* --- Bara STICKY de taburi (CommerceKit sticky_atc_tabs=ON): layout „stacked",
   navigația se lipește sus la scroll (scrollspy), primul link = „Sumar" (setarea
   CommerceKit sticky_atc_label) care urcă la începutul paginii. Tipografia vine
   din dashboard (elementul „Taburi"); underline-ul activ = DOAR roșu (păstrăm
   animația de slide a CommerceKit, doar recolorăm ::after-ul). --- */
body.single-product .commercekit-atc-sticky-tabs ul.commercekit-atc-tab-links {
	max-width: var(--pbsf-max); margin: 0 auto; padding: 0 28px;
}
body.single-product .commercekit-atc-tab-links li a {
	font-family: var(--pbsf-tabs-ff) !important;
	font-size: var(--pbsf-tabs-fs) !important;
	font-weight: var(--pbsf-tabs-fw) !important;
	color: var(--pbsf-tabs-fc) !important;
	text-decoration: none;
}
body.single-product .commercekit-atc-tab-links li.active a { color: var(--pbsf-ink) !important; }
body.single-product .commercekit-atc-tab-links li a:after {
	border-bottom-width: 2.5px !important;
	border-bottom-color: var(--pbsf-red) !important;
}
/* Bulina cu numărul de recenzii din bara de taburi: VERDE (succes, editabil în
   dashboard la Culori generale) — tema o suprascria pe negru. */
body.single-product .commercekit-atc-tab-links li a span {
	background-color: var(--pbsf-green) !important;
	color: #fff !important;
}
/* Linia gri deschis de la începutul zonei de taburi = border-top-ul temei pe
   wrapper (`.woocommerce-tabs.wc-tabs-wrapper{border-top:1px solid #f5f5f5}`,
   product.css). Nu are rost în layout-ul nostru — scoasă. */
body.single-product .woocommerce-tabs.wc-tabs-wrapper { border-top: 0 !important; }
/* Titlul secțiunii unui tab custom (vizibil mai ales în layout-ul stacked) */
body.single-product .pbsf-custom-tab .pbsf-custom-tab__title {
	font-family: var(--pbsf-section-ff) !important;
	font-size: var(--pbsf-section-fs) !important;
	font-weight: var(--pbsf-section-fw) !important;
	color: var(--pbsf-section-fc) !important;
	letter-spacing: -.01em; margin: 0 0 14px;
}

/* ============================================================
   9. Responsive (mobil)
   ============================================================ */
@media (max-width: 860px) {
  /* O coloană pe mobil. Containerul RĂMÂNE flex (din regula de bază, secț. 3) — copiii
     sunt ținuți la `width:48%` acolo, iar `grid-template-columns` n-avea efect pe un flex
     container, deci galeria+summary rămâneau pe 2 coloane. Forțăm copiii pe lățime plină;
     `flex-wrap:wrap` (deja setat) îi pune unul sub altul. Ordinea flex se păstrează:
     galerie (1) → summary (2) → FPD-wrapper (3) → helpere (4). */
  body.single-product div.product .product-details-wrapper {
    gap: 24px; padding: 14px 16px 0;
  }
  body.single-product div.product .product-details-wrapper > .images,
  body.single-product div.product .product-details-wrapper > .woocommerce-product-gallery,
  body.single-product div.product .product-details-wrapper > .summary {
    width: 100% !important;
    margin-left: 0 !important;
  }
  /* summary nu mai e sticky pe mobil (era `position:sticky;top:20px` în secț. 3) */
  body.single-product div.product .product-details-wrapper > .summary {
    position: static; top: auto;
  }
  body.single-product div.product .product-details-wrapper > #cgkit-pdp-gallery,
  body.single-product div.product .product-details-wrapper > .images,
  body.single-product div.product .product-details-wrapper > .woocommerce-product-gallery {
    position: static !important; top: auto;
  }
  body.single-product #cgkit-pdp-gallery,
  body.single-product .pbsf-gallery { flex-direction: column-reverse; }
  body.single-product .pbsf-gallery__thumbs {
    flex-direction: row; max-height: none; overflow-x: auto;
  }
  /* pe mobil scalăm din ACEEAȘI variabilă (-6px) ca să păstrăm controlul din dashboard.
     Titlul are un override cu !important mai jos în fișier (secț. 10), deci aici trebuie
     specificitate mai mare (body.single-product.pbsf-pdp) + !important ca să câștige. */
  body.single-product.pbsf-pdp .summary h1.product_title { font-size: calc(var(--pbsf-title-fs) - 6px) !important; }
  body.single-product .summary p.price { font-size: calc(var(--pbsf-price-fs) - 6px); }
  body.single-product .cgkit-attribute-swatches { grid-template-columns: repeat(3, 1fr) !important; }
  body.single-product .pbsf-section,
  body.single-product .woocommerce-tabs.wc-tabs-wrapper { padding-left: 16px; padding-right: 16px; }
}

/* ============================================================
   10. Preț — enforcement peste temă (Shoptimizer/Kirki + CommerceKit)
   Restul tipografiei per element e forțat în regulile proprii de mai sus
   (fiecare element folosește --pbsf-{el}-ff/-fs/-fw/-fc).
   ============================================================ */
body.single-product .summary p.price,
body.single-product .summary p.price .amount,
body.single-product .summary p.price bdi,
body.single-product .summary .cgkit-as-variation-price,
body.single-product .summary .cgkit-as-variation-price .amount,
body.single-product .summary .cgkit-as-variation-price bdi {
  font-family: var(--pbsf-price-ff) !important;
  font-size: var(--pbsf-price-fs) !important;
  font-weight: var(--pbsf-price-fw) !important;
  color: var(--pbsf-price-fc) !important;
}
/* Excepție: prețul VECHI tăiat (<del>) la reduceri rămâne mic + muted.
   Woo îl randează ca <del><span class="amount"><bdi> — .amount/bdi din interior
   erau prinse DIRECT de enforcement-ul de mai sus (34px roșu); selectorii cu
   `del` sunt mai specifici + vin după, deci câștigă. Valorile = cele de la
   regula `p.price del` (secț. preț). */
body.single-product .summary p.price del,
body.single-product .summary p.price del .amount,
body.single-product .summary p.price del bdi,
body.single-product .summary .cgkit-as-variation-price del,
body.single-product .summary .cgkit-as-variation-price del .amount,
body.single-product .summary .cgkit-as-variation-price del bdi {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--pbsf-muted-2) !important;
}
/* Prefixul „de la" din fața prețului (înlocuiește intervalul de variație) — element de text propriu.
   Bate moștenirea de la regula prețului de mai sus (de-aia !important + selector mai specific). */
body.single-product .summary p.price .pbsf-price-prefix,
body.single-product .summary .price .pbsf-price-prefix,
body.single-product .summary .cgkit-as-variation-price .pbsf-price-prefix {
  display: inline-block; margin-right: 5px; letter-spacing: 0; vertical-align: baseline;
  font-family: var(--pbsf-price_prefix-ff) !important;
  font-size: var(--pbsf-price_prefix-fs) !important;
  font-weight: var(--pbsf-price_prefix-fw) !important;
  color: var(--pbsf-price_prefix-fc) !important;
}

/* ============================================================
   11. Polish: galerie + swatch-uri rotunjite, ascundere duplicate
   ============================================================ */
/* Galerie CommerceKit — colțuri rotunjite la imaginea mare + thumbnails */
body.single-product #commercegurus-pdp-gallery .cg-main-swiper .woocommerce-product-gallery__image,
body.single-product #commercegurus-pdp-gallery .cg-main-swiper .woocommerce-product-gallery__image img,
body.single-product #commercegurus-pdp-gallery .cg-main-swiper img.pdp-img,
body.single-product #commercegurus-pdp-gallery .cg-main-swiper .swiper-slide > a {
  border-radius: 16px;
}
body.single-product #commercegurus-pdp-gallery .cg-main-swiper .swiper-slide { overflow: hidden; border-radius: 16px; }
body.single-product #commercegurus-pdp-gallery .cg-thumb-swiper .swiper-slide,
body.single-product #commercegurus-pdp-gallery .cg-thumb-swiper .swiper-slide img {
  border-radius: 10px;
}

/* Swatch-uri (variații) — colțuri rotunjite ca în preview */
body.single-product .cgkit-attribute-swatches .cgkit-as-single,
body.single-product .cgkit-swatch.cgkit-as-single {
  border-radius: 10px !important;
}

/* Ascunde „Golește" (reset) + prețul DUPLICAT din zona variațiilor.
   Prețul principal (sub titlu: p.price / .cgkit-as-variation-price) rămâne. */
body.single-product .summary .reset_variations { display: none !important; }
body.single-product .summary .woocommerce-variation-price { display: none !important; }

/* Prețul „as variation" CommerceKit — stilizat în secțiunea 10 (preț per element). */

/* ============================================================
   12. Swatch-uri ca în preview (alb + chenar) + fundal alb
   ============================================================ */
/* Swatch-uri EGALE (grilă), ca în preview — altfel se dimensionează după text */
body.single-product .cgkit-attribute-swatches {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 8px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .cgkit-attribute-swatches .cgkit-attribute-swatch {
  width: auto !important;
  margin: 0 !important;
}
body.single-product .cgkit-attribute-swatches .cgkit-attribute-swatch button.cgkit-as-single {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Swatch NESELECTAT: alb + chenar subtil (CommerceKit le pune #eee gri) */
body.single-product .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button.cgkit-as-single:not(.cgkit-swatch-selected):not(.cgkit-disabled) {
  background-color: #fff !important;
  border: 1.5px solid var(--pbsf-line-2) !important;
  color: var(--pbsf-swatch-fc) !important;
}
body.single-product .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button.cgkit-as-single:not(.cgkit-swatch-selected):hover {
  border-color: var(--pbsf-muted-2) !important;
}
/* tipografie swatch (per element) + compactare (CommerceKit pune min-height ~43px) */
body.single-product .cgkit-attribute-swatches .cgkit-as-single {
  font-family: var(--pbsf-swatch-ff) !important;
  font-size: var(--pbsf-swatch-fs) !important;
  font-weight: var(--pbsf-swatch-fw) !important;
  line-height: 1.2 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 10px 8px !important;
}
/* swatch SELECTAT: text alb (fundal negru CommerceKit) */
body.single-product .cgkit-attribute-swatches .cgkit-swatch-selected.cgkit-as-single,
body.single-product .cgkit-attribute-swatches .cgkit-attribute-swatch:has(.cgkit-swatch-selected) button.cgkit-as-single { color: #fff !important; }
/* label variație (CommerceKit) — per element */
body.single-product .summary .cgkit-swatch-title,
body.single-product .summary table.variations .label label,
body.single-product .summary .variations .label {
  font-family: var(--pbsf-var_label-ff) !important;
  font-size: var(--pbsf-var_label-fs) !important;
  font-weight: var(--pbsf-var_label-fw) !important;
  color: var(--pbsf-var_label-fc) !important;
}
/* FĂRĂ majuscule (CommerceKit pune `.summary .variations label{text-transform:uppercase}`).
   „:" (`.ckit-chosen-attribute_semicolon`) rămâne VIZIBIL → „Nume:".
   Label = flex (e full-width, 561px pe DOM real); valoarea împinsă la DREAPTA prin
   `margin-left:auto` pe `.cgkit-chosen-attribute` (NU `space-between` — ar plimba „:" în
   starea fără selecție, unde strong/„:"/valoare sunt 3 copii direcți ai label-ului). */
body.single-product .summary .variations .label label,
body.single-product .summary table.variations th.label label {
  display: flex !important; align-items: baseline; flex-wrap: wrap;
  text-transform: none !important; letter-spacing: 0 !important;
}
/* Valoarea de lângă „:" — la DREAPTA + DOUĂ STĂRI editabile per element din dashboard:
   „Alege o opțiune" (.no-selection → var_choose) și valoarea selectată (var_value). */
body.single-product .summary .variations .cgkit-chosen-attribute {
  margin-left: auto; padding-left: 0 !important; white-space: nowrap;
  opacity: 1 !important; text-transform: none !important;
  font-family: var(--pbsf-var_value-ff) !important;
  font-size: var(--pbsf-var_value-fs) !important;
  font-weight: var(--pbsf-var_value-fw) !important;
  color: var(--pbsf-var_value-fc) !important;
}
body.single-product .summary .variations .cgkit-chosen-attribute.no-selection {
  opacity: 1 !important;
  font-family: var(--pbsf-var_choose-ff) !important;
  font-size: var(--pbsf-var_choose-fs) !important;
  font-weight: var(--pbsf-var_choose-fw) !important;
  color: var(--pbsf-var_choose-fc) !important;
}
/* prețul sub mărime (.variation-price): mic, gri, aproape de mărime; alb pe selectat */
body.single-product .variation-price {
  font-family: var(--pbsf-swatch_price-ff) !important;
  font-size: var(--pbsf-swatch_price-fs) !important;
  font-weight: var(--pbsf-swatch_price-fw) !important;
  color: var(--pbsf-swatch_price-fc) !important;
  line-height: 1.2 !important;
  margin-top: 2px !important;
}
body.single-product .cgkit-swatch-selected .variation-price,
body.single-product .cgkit-attribute-swatch:has(.cgkit-swatch-selected) .variation-price {
  color: #fff !important;
}
/* CommerceKit copiază innerHTML-ul butonului swatch în label-ul „.cgkit-chosen-attribute"
   la selecție (commercegurus-attribute-swatches.js: attr_text = input.innerHTML), ceea ce
   duplică prețul nostru lângă „DIMENSIUNE: 50×30cm". Îl ascundem DOAR acolo (rămâne pe swatch). */
body.single-product .cgkit-chosen-attribute .variation-price { display: none !important; }

/* Fundal alb pe pagina de produs (CommerceKit/temă pun gri pe alocuri) */
body.single-product,
body.single-product #content,
body.single-product .site-content,
body.single-product #primary,
body.single-product #main,
body.single-product .site-main { background-color: #fff !important; }

/* ============================================================
   13. Caruseluri pb_woo_carousel — carduri stilizate ca în preview
   Markup din snippet: .pbsf-section .pbw > .swiper > .swiper-wrapper >
   .swiper-slide > a.pbw-card > .pbw-thumb img / .pbw-title / .pbw-rating / .pbw-price
   ============================================================ */
body.single-product .pbsf-section .pbw { position: relative; }
body.single-product .pbsf-section .pbw .swiper { overflow: hidden; padding: 6px 2px 10px; }
body.single-product .pbsf-section .pbw .swiper-slide { height: auto; }
/* Card UNITAR (v0.4.9): chenarul cuprinde poza + textul; colțurile rotunjite
   sunt DOAR pe chenar (overflow hidden decupează poza sus; jos poza e dreaptă). */
body.single-product .pbsf-section .pbw-card {
  display: flex; flex-direction: column; height: 100%;
  text-decoration: none; padding: 0;
  background: #fff; border: 1px solid var(--pbsf-line); border-radius: 14px;
  overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.06);
  transition: transform .15s, border-color .15s, box-shadow .15s;
}
body.single-product .pbsf-section .pbw-card:hover {
  transform: translateY(-2px);
  border-color: var(--pbsf-line-2);
  box-shadow: 0 12px 30px -16px rgba(0,0,0,.28);
}
/* Poza — în interiorul chenarului, fără radius propriu (jos colțuri drepte) */
body.single-product .pbsf-section .pbw-thumb {
  border-radius: 0; overflow: hidden; background: #F4F1EC; aspect-ratio: 1 / 1;
}
body.single-product .pbsf-section .pbw-thumb img {
  width: 100% !important; height: 100% !important; object-fit: cover; display: block; border-radius: 0;
}
/* Titlu + stele + preț — în același card, sub poză.
   Grupate în .pbw-info de printbox-pdp.js (markup-ul snippet-ului le are ca frați). */
body.single-product .pbsf-section .pbw-info {
  display: flex; flex-direction: column; flex: 1;
  padding: 12px 13px 13px;
  background: #fff;
}
body.single-product .pbsf-section .pbw-info .pbw-title {
  margin: 0 0 5px;
  font-family: var(--pbsf-card_title-ff); font-weight: var(--pbsf-card_title-fw);
  font-size: var(--pbsf-card_title-fs); color: var(--pbsf-card_title-fc);
  line-height: 1.35; min-height: 2.7em;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* Stelele DEASUPRA titlului (ca în preview); apar doar la produse cu recenzii */
body.single-product .pbsf-section .pbw-info .pbw-rating { margin: 0 0 6px; line-height: 1; order: -1; }
body.single-product .pbsf-section .pbw-info .pbw-rating .star-rating { color: var(--pbsf-amber); font-size: 13px; }
body.single-product .pbsf-section .pbw-info .pbw-price {
  margin: auto 0 0;
  font-family: var(--pbsf-card_price-ff); font-weight: var(--pbsf-card_price-fw);
  font-size: var(--pbsf-card_price-fs); color: var(--pbsf-card_price-fc);
}
body.single-product .pbsf-section .pbw-info .pbw-price .amount,
body.single-product .pbsf-section .pbw-info .pbw-price bdi {
  color: var(--pbsf-card_price-fc); font-weight: var(--pbsf-card_price-fw);
}
body.single-product .pbsf-section .pbw-info .pbw-price .pbsf-price-prefix {
  font-family: var(--pbsf-card_prefix-ff); font-weight: var(--pbsf-card_prefix-fw);
  font-size: var(--pbsf-card_prefix-fs); color: var(--pbsf-card_prefix-fc);
  margin-right: 3px;
}
/* săgeți */
body.single-product .pbsf-section .pbw .swiper-button-prev::after,
body.single-product .pbsf-section .pbw .swiper-button-next::after {
  font-size: 18px !important; font-weight: 800 !important; color: var(--pbsf-ink) !important;
}
body.single-product .pbsf-section .pbw .swiper-button-prev,
body.single-product .pbsf-section .pbw .swiper-button-next {
  background: #fff !important; box-shadow: 0 6px 18px -8px rgba(0,0,0,.3) !important;
}

/* ============================================================
   15. RECENZII — restilizarea Customer Reviews for WooCommerce
   (design aprobat 2026-07-11: summary editorial pe fundal cald +
   recenzii în CARDURI + avatare gradient — vezi preview-recenzii-final.html).
   Doar CSS peste markup-ul CR (.cr-* / .ivole-*); avatarele gradient le face
   printbox-pdp.js (pbsfBrandAvatars). CSS-ul nostru se încarcă după al CR-ului
   (enqueue la prio 100) și oricum câștigă prin prefixul body.single-product.
   ============================================================ */
/* stele SVG (CR): contur bej pentru fundal, umplere AURIE pentru rating */
body.single-product .cr-rating-icon-base svg { color: #E7E2D8; }
body.single-product .cr-rating-icon-frnt svg,
body.single-product .cr-rating-icon svg { color: var(--pbsf-amber); }
body.single-product .cr-rating-icon-frnt .cr-rating-icon-bg path:last-child {
  fill: var(--pbsf-amber); stroke: var(--pbsf-amber);
}
/* titlul lung „244 de recenzii pentru..." e redundant (tabul zice deja Recenzii) */
body.single-product .cr-reviews-ajax-reviews .woocommerce-Reviews-title { display: none; }

/* summary editorial: nota mare + histograma, pe fundal cald */
body.single-product .cr-summaryBox-wrap {
  display: flex; gap: 44px; align-items: center; flex-wrap: wrap;
  padding: 26px 30px; background: #F7F5F1 !important; border-radius: 20px; margin-bottom: 20px;
  /* Chenar subțire cald: pe banda zonei 3 (#F6F7F8, secț. 16) cremul #F7F5F1
     e la ΔE≈3 de fundal — fără chenar caseta „editorial" ar dispărea. */
  border: 1.5px solid var(--pbsf-line-2);
}
/* CR pune fundal/borduri proprii pe cutia interioară a histogramei — le scoatem */
body.single-product .cr-summaryBox-wrap .ivole-summaryBox {
  background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
}
body.single-product .cr-overall-rating-wrap {
  display: flex; flex-direction: column; gap: 6px; min-width: 200px;
}
body.single-product .cr-average-rating span {
  font-family: var(--pbsf-rev_avg-ff); font-weight: var(--pbsf-rev_avg-fw);
  color: var(--pbsf-rev_avg-fc); font-size: var(--pbsf-rev_avg-fs); line-height: 1;
}
body.single-product .cr-total-rating-count { color: var(--pbsf-muted); font-weight: 600; }
body.single-product .cr-summaryBox-wrap .ivole-summaryBox { flex: 1; min-width: 280px; }
body.single-product .ivole-meter {
  background: #F1EEE8; border-radius: 100px; height: 9px; overflow: hidden; width: 100%;
}
body.single-product .ivole-meter-bar {
  background: var(--pbsf-amber); border-radius: 100px; height: 9px;
  color: transparent; font-size: 0; /* CR pune procentul CA TEXT în bară */
}
body.single-product .ivole-histogram-a {
  color: var(--pbsf-muted); font-weight: 600; text-decoration: none;
  font-size: 12.5px; white-space: nowrap;
}
body.single-product .ivole-histogramCell2 { width: 100%; }
body.single-product .ivole-histogramTable,
body.single-product .ivole-summaryBox table { width: 100%; }
/* butonul REAL „Adaugă o recenzie" al CR = CTA roșu de brand */
body.single-product button.cr-ajax-reviews-add-review {
  background: var(--pbsf-red) !important; color: #fff !important; font-weight: 800 !important;
  font-size: 14px !important; border: 0 !important; border-radius: 100px !important;
  padding: 13px 26px !important; cursor: pointer;
  font-family: var(--pbsf-font) !important; box-shadow: 0 12px 26px -10px rgba(232,57,46,.5) !important;
  margin-top: 12px; transition: transform .12s;
}
body.single-product button.cr-ajax-reviews-add-review:hover { transform: translateY(-1px); }

/* banda cu pozele clienților. Wrapper-ele .cr-comment-image-top sunt flex items:
   FĂRĂ flex:0 0 auto se STRÂNGEAU pe ecrane înguste (înălțimea rămânea 84px,
   lățimea scădea, overflow:hidden le tăia ca „pastile" — bug raportat pe mobil). */
body.single-product .cr-ajax-reviews-cus-images-div2 {
  display: flex; gap: 10px; overflow-x: auto; padding: 6px 2px 16px;
}
body.single-product .cr-ajax-reviews-cus-images-div2 .cr-comment-image-top {
  flex: 0 0 auto; margin: 0; border: 0; border-radius: 12px;
  overflow: hidden; max-height: none; box-sizing: border-box;
}
body.single-product .cr-comment-image-top-item {
  width: 84px !important; height: 84px !important; border-radius: 12px; object-fit: cover;
  cursor: pointer; transition: transform .12s; display: block;
}
body.single-product .cr-comment-image-top-item:hover { transform: scale(1.04); }

/* lista de recenzii: CARDURI albe cu bordură + hover */
body.single-product .cr-reviews-ajax-comments ol.commentlist {
  list-style: none; margin: 6px 0 0; padding: 0;
  display: flex; flex-direction: column; gap: 16px;
}
body.single-product .cr-reviews-ajax-comments ol.commentlist > li { margin: 0; }
/* CARD: layout BLOC cu avatarul ABSOLUT (așa îl așază CR PRO — un grid propriu
   ar rămâne fără primul element, avatarul fiind scos din flux). */
body.single-product .cr-reviews-ajax-comments .comment_container {
  display: block !important; position: relative;
  background: #fff; border: 1px solid var(--pbsf-line); border-radius: 16px;
  padding: 20px 22px 20px 88px !important;
  transition: box-shadow .15s, border-color .15s;
}
body.single-product .cr-reviews-ajax-comments .comment_container:hover {
  border-color: var(--pbsf-line-2);
  box-shadow: 0 14px 30px -18px rgba(0,0,0,.22);
}
/* avatar: rotund + inel alb; bifa verde de „verificat" peste colț */
body.single-product .cr-reviews-ajax-comments img.cr-avatar {
  position: absolute !important; left: 22px !important; top: 22px !important;
  width: 48px !important; height: 48px !important; border-radius: 100px;
  box-shadow: 0 0 0 3px #fff, 0 4px 12px -4px rgba(0,0,0,.25);
}
body.single-product .cr-reviews-ajax-comments .cr-avatar-check {
  position: absolute !important; left: 54px !important; top: 54px !important;
  background: var(--pbsf-green); border-radius: 100px; width: 18px; height: 18px;
  display: flex; align-items: center; justify-content: center; border: 2px solid #fff;
  /* CR îi dă z-index:10 → se vedea PESTE lightbox-ul PhotoSwipe (prins în
     stacking context-ul .product-details-wrapper cu z-index:5 de la temă). */
  z-index: 1 !important;
}
body.single-product .cr-reviews-ajax-comments .cr-avatar-check svg { width: 13px; height: 13px; }
/* meta: nume + badge verificat + data în dreapta. !important: CSS-ul CR (PRO)
   pune lățimi/direcții proprii pe coloanele astea și împacheta totul îngust. */
body.single-product .cr-reviews-ajax-comments .meta {
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; gap: 10px; flex-wrap: wrap; margin: 0 0 2px;
  width: 100%;
}
body.single-product .cr-reviews-ajax-comments .cr-meta-author-featured-date {
  display: flex !important; flex-direction: row !important; align-items: center !important;
  gap: 10px; width: auto !important; max-width: none !important; margin: 0 !important;
}
body.single-product .cr-reviews-ajax-comments .cr-meta-author-title {
  display: flex !important; flex-direction: row !important; align-items: center !important;
  gap: 10px !important; width: auto !important; max-width: none !important;
}
body.single-product .cr-reviews-ajax-comments .woocommerce-review__author {
  font-family: var(--pbsf-rev_name-ff) !important;
  font-weight: var(--pbsf-rev_name-fw) !important; color: var(--pbsf-rev_name-fc) !important;
  font-size: var(--pbsf-rev_name-fs) !important; white-space: nowrap;
}
body.single-product .cr-reviews-ajax-comments .woocommerce-review__verified {
  display: inline-flex !important; align-items: center; gap: 4px;
  background: #EAF6F0 !important; color: var(--pbsf-rev_badge-fc) !important;
  font-family: var(--pbsf-rev_badge-ff) !important;
  font-size: var(--pbsf-rev_badge-fs) !important; font-weight: var(--pbsf-rev_badge-fw) !important;
  line-height: 1.4 !important;
  padding: 3px 9px !important; border-radius: 100px !important; font-style: normal !important;
  white-space: nowrap;
}
body.single-product .cr-reviews-ajax-comments .woocommerce-review__verified::before {
  content: "✓"; font-weight: 900;
}
body.single-product .cr-reviews-ajax-comments time.woocommerce-review__published-date {
  color: var(--pbsf-rev_date-fc) !important; font-size: var(--pbsf-rev_date-fs) !important;
  font-family: var(--pbsf-rev_date-ff) !important;
  font-weight: var(--pbsf-rev_date-fw) !important; white-space: nowrap;
  width: auto !important; display: inline-block !important; margin-left: auto !important;
}
/* CR (PRO) îngustează containerele de text (width pe coloane) → textul recenziei
   ajungea literă-sub-literă. Lățimi normalizate. */
body.single-product .cr-reviews-ajax-comments .cr-comment-text {
  width: auto !important; max-width: none !important; float: none !important; min-width: 0;
  /* CR pune margin-left:70px (layout-ul lui cu avatar în flux) — se ADUNA cu
     padding-left-ul cardului nostru → gol dublu între avatar și conținut. */
  margin: 0 !important;
}
body.single-product .cr-reviews-ajax-comments .cr-comment-text .description {
  width: auto !important; max-width: none !important; white-space: normal;
}
body.single-product .cr-reviews-ajax-comments .cr-comment-text .description p {
  margin: 0 0 6px;
}
body.single-product .cr-reviews-ajax-comments .crstar-rating-svg svg { width: 16px; height: 16px; }
body.single-product .cr-reviews-ajax-comments .cr-comment-text .description {
  font-family: var(--pbsf-rev_text-ff) !important;
  font-size: var(--pbsf-rev_text-fs) !important;
  font-weight: var(--pbsf-rev_text-fw) !important;
  line-height: 1.65; color: var(--pbsf-rev_text-fc) !important;
}
/* Bara de SEARCH a recenziilor — ASCUNSĂ (decizie user 2026-07-11; înainte o
   ascundea Yellow Pencil, regulă ștearsă de user din YP la migrarea pe plugin). */
body.single-product #comments .cr-ajax-search { visibility: hidden; }
/* Butonul „Vezi mai multe recenzii" (paginarea CR) + submit-ul formularului de
   recenzie = CTA roșu de brand (înainte: gradient din Yellow Pencil, șters). */
body.single-product #comments .cr-show-more-reviews-prd,
body.single-product .cr-review-form-wrap .cr-review-form-buttons .cr-review-form-submit {
  background: var(--pbsf-red) !important; background-image: none !important;
  color: #fff !important; font-family: var(--pbsf-font) !important;
  font-weight: 800 !important; font-size: 14px !important;
  border: 0 !important; border-radius: 100px !important;
  padding: 13px 26px !important; cursor: pointer;
  box-shadow: 0 12px 26px -10px rgba(232,57,46,.5) !important;
  transition: transform .12s;
}
body.single-product #comments .cr-show-more-reviews-prd:hover,
body.single-product .cr-review-form-wrap .cr-review-form-buttons .cr-review-form-submit:hover {
  transform: translateY(-1px);
}
/* separatorul intern al CR din card + rama lui din jurul pozelor — scoase (cardul are propria bordură) */
body.single-product .cr-reviews-ajax-comments .cr-comment-text { border-bottom: 0 !important; }
/* pozele din recenzie: CR le FLOATĂ (.iv-comment-image{float:left}) → ieșeau din
   chenarul cardului; flex cu WRAP + float scos. Dimensiunea se dă pe WRAPPER
   (CR îi pune lățime fixă 75px, iar tema img{max-width:100%} tăia img-ul nostru
   de 90px la 75) — img umple wrapper-ul. */
body.single-product .cr-reviews-ajax-comments .iv-comment-image {
  border: 0 !important; padding: 0 !important; float: none !important;
  margin: 0 !important; border-radius: 12px; overflow: hidden;
  width: 90px !important; height: 90px !important; flex: 0 0 auto;
}
body.single-product .cr-reviews-ajax-comments .cr-comment-images {
  display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px;
}
body.single-product .cr-reviews-ajax-comments .cr-comment-images img {
  width: 100% !important; height: 100% !important;
  /* CR pune max-width/height:75px pe img (fără important) — clamp-uiau 100%-ul */
  max-width: 100% !important; max-height: 100% !important;
  border-radius: 12px; object-fit: cover; display: block;
}

/* --- Lightbox-ul PhotoSwipe al pozelor din recenzii: .pswp e copil al
   .product-details-wrapper, căruia tema îi dă z-index:5 → era prins sub orice
   element cu z-index >5. Cât e deschis, ridicăm wrapper-ul peste tot. --- */
body.single-product div.product .product-details-wrapper:has(.pswp--open) {
  z-index: 100000 !important;
}

/* --- MODALUL „imagini de la clienți" (click pe banda de poze) — adus în design --- */
body.single-product .cr-ajax-reviews-cus-images-modal-cont {
  background: rgba(24, 24, 27, .55) !important;
}
body.single-product .cr-ajax-reviews-cus-images-modal {
  background: #fff !important; border: 0 !important; border-radius: 20px !important;
  box-shadow: 0 30px 80px -20px rgba(0,0,0,.45);
  padding: 16px 22px 20px !important;
}
body.single-product .cr-ajax-reviews-cus-images-hdr { border: 0 !important; padding: 0 0 8px !important; }
body.single-product button.cr-ajax-reviews-cus-images-close {
  background: #F4F1EC !important; border: 0 !important; border-radius: 100px;
  width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center;
  color: var(--pbsf-ink); cursor: pointer; transition: background .12s; padding: 0;
}
body.single-product button.cr-ajax-reviews-cus-images-close:hover { background: #ECE8E1 !important; }
body.single-product .cr-ajax-reviews-slide-main-flex { gap: 24px; align-items: flex-start; }
body.single-product .cr-ajax-reviews-slide-main-flex > img { border-radius: 14px; }
body.single-product .cr-ajax-reviews-slide-main-comment .woocommerce-review__author {
  font-family: var(--pbsf-rev_name-ff); font-size: var(--pbsf-rev_name-fs);
  font-weight: var(--pbsf-rev_name-fw); color: var(--pbsf-rev_name-fc);
}
body.single-product .cr-ajax-reviews-slide-main-comment time.woocommerce-review__published-date {
  color: var(--pbsf-rev_date-fc) !important; font-family: var(--pbsf-rev_date-ff) !important;
  font-size: var(--pbsf-rev_date-fs) !important; font-weight: var(--pbsf-rev_date-fw) !important;
}
body.single-product .cr-ajax-reviews-slide-main-comment-body {
  font-family: var(--pbsf-rev_text-ff); font-size: var(--pbsf-rev_text-fs);
  font-weight: var(--pbsf-rev_text-fw); color: var(--pbsf-rev_text-fc); line-height: 1.65;
}
/* thumbs de navigare din modal: bandă caldă, thumb-uri rotunjite, activul cu inel roșu */
body.single-product .cr-ajax-reviews-cus-images-slider-nav {
  background: #F7F5F1 !important; border-radius: 14px; padding: 10px 8px; margin-top: 12px;
}
body.single-product .cr-ajax-reviews-slide-nav { cursor: pointer; }
body.single-product .cr-ajax-reviews-slide-nav img {
  border-radius: 10px; object-fit: cover; opacity: .55; transition: opacity .12s; border: 0 !important;
}
body.single-product .cr-ajax-reviews-slide-nav:hover img { opacity: .85; }
body.single-product .cr-ajax-reviews-slide-nav.slick-current img {
  opacity: 1; box-shadow: 0 0 0 2px var(--pbsf-red);
}
/* bulinele + săgețile slick din modal — recolorate discret (glyph-urile slick rămân) */
body.single-product .cr-ajax-reviews-cus-images-modal .slick-dots li button:before {
  color: #C9C4BB !important; opacity: 1 !important;
}
body.single-product .cr-ajax-reviews-cus-images-modal .slick-dots li.slick-active button:before {
  color: var(--pbsf-red) !important;
}
body.single-product .cr-ajax-reviews-cus-images-modal .slick-prev:before,
body.single-product .cr-ajax-reviews-cus-images-modal .slick-next:before {
  color: var(--pbsf-ink) !important; opacity: .6;
}
body.single-product .cr-ajax-reviews-cus-images-modal .slick-prev:hover:before,
body.single-product .cr-ajax-reviews-cus-images-modal .slick-next:hover:before { opacity: 1; }

/* --- MOBIL: card compact + poze care NU ies din chenar + thumbs pătrate --- */
@media (max-width: 860px) {
  body.single-product .cr-summaryBox-wrap { padding: 20px 16px; gap: 20px; }
  body.single-product .cr-comment-image-top-item {
    width: 64px !important; height: 64px !important; border-radius: 10px;
  }
  body.single-product .cr-ajax-reviews-cus-images-div2 .cr-comment-image-top { border-radius: 10px; }
  body.single-product .cr-reviews-ajax-comments .comment_container {
    padding: 16px 14px 16px 68px !important;
  }
  body.single-product .cr-reviews-ajax-comments img.cr-avatar {
    left: 14px !important; top: 16px !important; width: 42px !important; height: 42px !important;
  }
  body.single-product .cr-reviews-ajax-comments .cr-avatar-check {
    left: 42px !important; top: 44px !important;
  }
  body.single-product .cr-reviews-ajax-comments .iv-comment-image {
    width: 72px !important; height: 72px !important;
  }
  body.single-product .cr-reviews-ajax-comments .woocommerce-review__author { white-space: normal; }
}

/* ============================================================
   14. FPD lazy-load (toggle fpd_lazy_load + pbsf-fpd-lazy.js)
   Clasa pbsf-fpd-lazy e pusă pe body cât timp stage-ul FPD e gol
   (produsul nu s-a încărcat încă); scoasă la productCreate.
   Butonul de share e ascuns în starea asta: frontend-share.js
   n-are gard și ar arunca TypeError pe stage gol.
   ============================================================ */
body.pbsf-fpd-lazy #fpd-share-button { display: none !important; }

/* ============================================================
   16. Fundal ZONE — benzi full-width pe zonele 2–5
   Zona 1 (galerie + summary) rămâne albă. Fiecare zonă primește
   o bandă de fundal pe TOATĂ lățimea ferestrei printr-un
   pseudo-element de 100vw centrat pe secțiune (secțiunile stau
   în containerul de 1240px — fundalul trebuie să iasă din el).
   Culorile vin din dashboard (Pagina produs → Fundal zone,
   variabilele --pbsf-zone-*). Alb #FFFFFF = practic fără bandă.
   Zona 3 = DOUĂ elemente frați (bara sticky CommerceKit + wrapper-ul
   de taburi) — ambele primesc banda, lipite, ca să pară una.
   ============================================================ */
/* 100vw include scrollbar-ul (Windows) → banda depășește viewport-ul cu
   ~8px pe fiecare parte; tăiem depășirea pe body. HIDDEN, NU clip:
   pe body, „visible + clip" e corectat de browser la „clip + clip" și,
   propagat la viewport, ÎNGHEAȚĂ scroll-ul vertical al paginii (bug
   confirmat local). Cu hidden, axa verticală devine „auto" la propagare —
   scroll-ul și sticky-urile (galerie, bara de taburi) rămân intacte,
   pentru că body-ul propagat NU devine scroll container. */
body.single-product { overflow-x: hidden; }

body.single-product .pbsf-carousel-similar,
body.single-product .pbsf-carousel-related,
body.single-product .pbsf-carousel-recent,
body.single-product .woocommerce-tabs.wc-tabs-wrapper {
  position: relative;
  /* stacking context propriu: ::before-ul cu z-index -1 stă sub conținut,
     dar PESTE fundalul paginii (altfel ar cădea sub fundalul alb din secț. 12) */
  z-index: 0;
}
/* Tema pune .woocommerce-tabs{overflow:hidden} (clearfix) — acum wrapper-ul e
   containing block-ul benzii de 100vw și ar TĂIA-O la 1240px pe ecrane late
   (dreptunghi centrat cu flancuri albe la >1240px). Depășirea orizontală e
   deja rezolvată de overflow-x:hidden pe body. */
body.single-product .woocommerce-tabs.wc-tabs-wrapper { overflow: visible; }
/* Stacking context-ul nou al wrapper-ului ar prinde modalele FIXED ale
   Customer Reviews (imagini de la clienți z-index:100001, video z-index:99999
   — AMBELE descendente ale wrapper-ului) sub bara sticky (z:3) și meniul
   sticky al temei (z:10/15) → bara ar picta peste modal și i-ar fura
   click-urile (inclusiv X-ul de închidere). Cât timp un modal e deschis,
   urcăm wrapper-ul — același pattern ca fix-ul PhotoSwipe din secț. 15.
   Gating pe .cr-mask-active e OBLIGATORIU la modalul de imagini (închis e
   doar display:none, tot în DOM — fără gating wrapper-ul ar sta permanent
   ridicat); clasa de video există doar cât e deschis. */
body.single-product .woocommerce-tabs.wc-tabs-wrapper:has(.cr-ajax-reviews-cus-images-modal-cont.cr-mask-active),
body.single-product .woocommerce-tabs.wc-tabs-wrapper:has(.cr-comment-videos-modal) {
  z-index: 100000;
}
body.single-product .pbsf-carousel-similar::before,
body.single-product .pbsf-carousel-related::before,
body.single-product .pbsf-carousel-recent::before,
body.single-product .woocommerce-tabs.wc-tabs-wrapper::before,
body.single-product .commercekit-atc-sticky-tabs::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0; left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
}
body.single-product .pbsf-carousel-similar::before { background: var(--pbsf-zone-similar, #F6F7F8); }
body.single-product .woocommerce-tabs.wc-tabs-wrapper::before { background: var(--pbsf-zone-tabs, #F6F7F8); }
/* Bara sticky are culoarea EI (editabilă separat în dashboard) + LINIA orizontală
   de la bază desenată PE pseudo (bordura pseudo-ului pictează peste umplerea lui).
   CommerceKit își desenează linia ca background-image (linear-gradient 1px) pe
   element — dar banda noastră (z-index:-1) pictează PESTE stratul de fundal al
   elementului și o acoperă; de-asta „dispărea" linia. Pe pseudo, linia călătorește
   cu bara și când e stuck, pe toată lățimea ferestrei. */
body.single-product .commercekit-atc-sticky-tabs::before {
  background: var(--pbsf-zone-tabsbar, #F6F7F8);
  border-bottom: 1px solid var(--pbsf-line-2);
}
body.single-product .pbsf-carousel-related::before { background: var(--pbsf-zone-related, #F6F7F8); }
body.single-product .pbsf-carousel-recent::before { background: var(--pbsf-zone-recent, #F6F7F8); }

/* Bara sticky de taburi e deja position:sticky (stacking context propriu) —
   NU îi atingem position/z-index. Fără margin: banda ei se lipește de banda
   zonei 2 de deasupra. Când bara e „stuck", banda + linia călătoresc cu ea. */

/* Spațierea benzilor: aer în interior (padding); benzile stau LIPITE una de
   alta (decizie user v0.8.1 — fără goluri albe între zone; separarea se face
   din culori). Singurul margin rămas e deasupra zonei 2, față de zona 1 albă.
   Suprascrie baza din secț. 7 (padding 56px sus, fără jos) și secț. 8. */
body.single-product .pbsf-carousel-similar {
  padding: 44px 28px 52px;
  margin: 44px auto 0;
}
body.single-product .pbsf-carousel-related,
body.single-product .pbsf-carousel-recent {
  padding: 44px 28px 52px;
  margin: 0 auto;
}
body.single-product .woocommerce-tabs.wc-tabs-wrapper {
  margin: 0 auto;
  padding: 40px 28px 48px;
}
/* Stub-ul GOL al temei (hook-ul related e scos de engine) stă între banda
   taburilor și banda zonei 4 — dacă tema îi dă margin/padding ar face un
   gol alb între benzi. Empty = sigur de ascuns. */
body.single-product section.related-wrapper:empty { display: none; }

@media (max-width: 860px) {
  /* Reafirmăm lateralele de 16px (regula din secț. 9 e mai devreme în fișier
     și ar pierde în fața shorthand-urilor de mai sus). */
  body.single-product .pbsf-carousel-similar {
    padding: 30px 16px 36px;
    margin: 30px auto 0;
  }
  body.single-product .pbsf-carousel-related,
  body.single-product .pbsf-carousel-recent {
    padding: 30px 16px 36px;
    margin: 0 auto;
  }
  body.single-product .woocommerce-tabs.wc-tabs-wrapper {
    margin: 0 auto;
    padding: 26px 16px 32px;
  }
}
