/**
 * Printbox Storefront — Homepage (frontend).
 * Portat din „Homepage V4 - Final.html", SCOPAT integral sub `.pbsf-home` ca să nu
 * se bată cu tema. Tokenii stau pe wrapper; reset-urile bazale folosesc :where()
 * (specificitate 0) ca să NU strice conținutul de shortcode încorporat.
 */

.pbsf-home{
	--pbx-red:#E8392E; --pbx-red-dark:#C92E24; --pbx-red-soft:#FCEAE8;
	--pbx-ink:#18181B; --pbx-body:#3F3F46; --pbx-muted:#71717A;
	--pbx-line:#ECEAE5; --pbx-cream:#F7F5F2; --pbx-paper:#FBFAF8;
	--pbx-gold:#F5A623; --pbx-green:#27AE60; --pbx-wa:#25D366; --pbx-msg:#0A7CFF;
	--pbx-dark:#0F0F12; --pbx-dark-2:#18181B;
	--pbx-r-sm:12px; --pbx-r:16px; --pbx-r-lg:22px;
	font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
	-webkit-font-smoothing:antialiased;
	color:var(--pbx-ink);
	background:#fff;
}
.pbsf-home *,.pbsf-home *::before,.pbsf-home *::after{box-sizing:border-box}
.pbsf-home :where(h1,h2,h3,h4,p){margin:0}
.pbsf-home :where(a){color:inherit;text-decoration:none}
.pbsf-home img{display:block;max-width:100%}
.pbsf-home ::selection{background:var(--pbx-red);color:#fff}

/* full-width: lățim containerele de conținut ale temei DOAR pe pagina homepage-ului
   (Shoptimizer capează la .col-full ~1240px), ca barele/benzile să ajungă la marginile
   zonei de conținut. Folosim width:100% (NU 100vw) → perfect centrat, fără decalajul dat
   de scrollbar. Targetăm doar ce e în #content → header/footer rămân neatinse. */
body.pbsf-has-home #content .col-full,
body.pbsf-has-home #content .content-area,
body.pbsf-has-home #content .site-main,
body.pbsf-has-home #content .entry-content{max-width:none;width:100%;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
body.pbsf-has-home{overflow-x:hidden}
.pbsf-home{width:100%}
/* top curat: ascunde antetele GOALE ale temei (archive-header/entry-header) + breadcrumb-ul,
   ca homepage-ul să stea lipit sub header (hero-ul are propriul padding-top). */
body.pbsf-has-home #content .archive-header,
body.pbsf-has-home #content .entry-header,
body.pbsf-has-home .woocommerce-breadcrumb{display:none}
body.pbsf-has-home #content{padding-top:0;padding-bottom:0}
/* Simetric jos: footer lipit de ultima secțiune (fără banda albă). Tema pune sub conținut
   `padding-bottom:48px` pe #content (zerat mai sus) + un `.widget-area` (sidebar) GOL de ~32px. */
body.pbsf-has-home #content .widget-area{display:none}

/* keyframes (prefixate ca să nu se bată cu tema) */
@keyframes pbsfhShimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes pbsfhFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes pbsfhFloat2{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes pbsfhMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pbsfhPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.6)}}
@keyframes pbsfhRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* utilitare */
/* NB: `.wrap` folosește padding-left/right SEPARAT (nu shorthand `padding`) — un
   shorthand ar seta padding-top:0 și, redefinit în media query (mai jos în cascadă,
   specificitate egală cu `.pad`), ar ANULA `.pad{padding-top}` pe mobil → secțiuni
   lipite. Verticalul rămâne exclusiv al lui `.pad`/`.pbsf-mt`. */
.pbsf-home .wrap{max-width:1240px;margin:0 auto;padding-left:28px;padding-right:28px}
.pbsf-home .pad{padding-top:64px}
.pbsf-home .pbsf-mt{margin-top:28px}
.pbsf-home .kicker{font-family:var(--pbsfh-kicker-ff,inherit);color:var(--pbsfh-kicker-fc,var(--pbx-red));font-weight:var(--pbsfh-kicker-fw,700);font-size:var(--pbsfh-kicker-fs,13px);letter-spacing:.08em;text-transform:uppercase}
.pbsf-home .sec-title{font-family:var(--pbsfh-sec_title-ff,inherit);font-size:var(--pbsfh-sec_title-fs,32px);font-weight:var(--pbsfh-sec_title-fw,800);color:var(--pbsfh-sec_title-fc,var(--pbx-ink));letter-spacing:-.02em;margin-top:6px;line-height:1.1}
.pbsf-home .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px;flex-wrap:wrap}
.pbsf-home .sec-link{font-family:var(--pbsfh-sec_link-ff,inherit);font-weight:var(--pbsfh-sec_link-fw,700);font-size:var(--pbsfh-sec_link-fs,14.5px);color:var(--pbsfh-sec_link-fc,var(--pbx-ink));border-bottom:2px solid var(--pbx-red);padding-bottom:2px;cursor:pointer;white-space:nowrap}
.pbsf-home .btn{display:inline-block;font-weight:700;font-size:15.5px;padding:15px 30px;border-radius:100px;cursor:pointer;transition:.18s;border:0}
.pbsf-home .btn-primary{background:var(--pbx-red);color:#fff;box-shadow:0 10px 24px -6px rgba(232,57,46,.4)}
.pbsf-home .btn-primary:hover{background:var(--pbx-red-dark);transform:translateY(-2px)}
.pbsf-home .btn-ghost{background:#fff;color:var(--pbx-ink);border:1.5px solid #E4E2DD}
.pbsf-home .btn-ghost:hover{border-color:var(--pbx-ink)}
.pbsf-home .stars{color:var(--pbx-gold);letter-spacing:1px}

/* placeholder pentru imaginile negoale (containerul are fundal) */
.pbsf-home .frame,.pbsf-home .ph,.pbsf-home .duo .b,.pbsf-home .pcard .pimg,.pbsf-home .ugc-track .u{background:linear-gradient(135deg,#F2F0EC,#E7E4DE)}

/* anunț */
.pbsf-home .annbar{background:var(--pbx-red);color:#fff;text-align:center;font-size:13.5px;font-weight:600;letter-spacing:.01em;padding:9px 16px}
.pbsf-home .annbar-marquee{overflow:hidden;white-space:nowrap;padding:9px 0}
.pbsf-home .annbar-marquee .ann-track{display:inline-flex;animation:pbsfhMarquee 26s linear infinite}
.pbsf-home .annbar-marquee .ann-track span{padding:0 1.5em}

/* hero */
.pbsf-home .hero{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;padding-top:56px;padding-bottom:30px}
.pbsf-home .hero-copy{animation:pbsfhRise .6s ease both}
.pbsf-home .hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--pbx-red-soft);font-family:var(--pbsfh-hero_badge-ff,inherit);color:var(--pbsfh-hero_badge-fc,var(--pbx-red-dark));font-weight:var(--pbsfh-hero_badge-fw,700);font-size:var(--pbsfh-hero_badge-fs,13px);padding:7px 14px;border-radius:100px;margin-bottom:22px}
.pbsf-home .hero h1{font-family:var(--pbsfh-hero_title-ff,inherit);font-size:var(--pbsfh-hero_title-fs,54px);line-height:1.05;font-weight:var(--pbsfh-hero_title-fw,800);color:var(--pbsfh-hero_title-fc,var(--pbx-ink));letter-spacing:-.025em}
.pbsf-home .rot{display:inline-block;background:linear-gradient(90deg,#E8392E,#FF7A5C,#E8392E);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:pbsfhShimmer 3.5s linear infinite}
.pbsf-home .hero p{font-family:var(--pbsfh-hero_subtext-ff,inherit);font-size:var(--pbsfh-hero_subtext-fs,18px);font-weight:var(--pbsfh-hero_subtext-fw,400);line-height:1.6;color:var(--pbsfh-hero_subtext-fc,#52525B);margin-top:22px;max-width:460px}
.pbsf-home .hero-ctas{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.pbsf-home .hero-social{display:flex;align-items:center;gap:14px;margin-top:34px;font-size:14px;color:#52525B}
.pbsf-home .hero-social b{color:var(--pbx-ink)}
.pbsf-home .hero-img{position:relative}
.pbsf-home .hero-img .frame{border-radius:var(--pbx-r-lg);overflow:hidden;box-shadow:0 30px 70px -28px rgba(24,24,27,.45);min-height:420px}
.pbsf-home .hero-img .frame img{width:100%;height:520px;object-fit:cover}
/* Cardurile plutitoare sunt dimensionate în EM + factorul --fs (din câmpul „mărime %"
   al editorului) → scalarea font-size-ului scalează proporțional toată cutia.
   --fs e legat la --fs-m DOAR pe mobil (≤767px, decizie user) → pe desktop rămâne 100%. */
.pbsf-home .float-card{position:absolute;left:-22px;bottom:30px;background:#fff;border-radius:var(--pbx-r);padding:1.15em 1.43em;box-shadow:0 18px 40px -12px rgba(24,24,27,.3);display:flex;align-items:center;gap:1em;font-size:calc(14px * var(--fs-m,1));animation:pbsfhFloat 5s ease-in-out infinite}
.pbsf-home .float-card .ic{width:2em;height:2em;border-radius:.55em;background:var(--pbx-red-soft);display:flex;align-items:center;justify-content:center;font-size:1.57em;flex:none}
.pbsf-home .float-dark{position:absolute;right:-14px;top:26px;background:var(--pbx-dark-2);color:#fff;border-radius:1.08em;padding:.92em 1.23em;box-shadow:0 16px 36px -12px rgba(24,24,27,.5);font-size:calc(13px * var(--fs-m,1));font-weight:700;display:flex;align-items:center;gap:.62em;animation:pbsfhFloat2 6s ease-in-out infinite}
.pbsf-home .dot-live{width:.62em;height:.62em;border-radius:100px;background:#3BD16F;display:inline-block;animation:pbsfhPulse 1.6s ease-in-out infinite}
@media(max-width:767px){
	.pbsf-home .float-card,.pbsf-home .float-dark{--fs-m:var(--fs,1)}
}

/* trust */
.pbsf-home .trust{border:1px solid var(--pbx-line);border-radius:18px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;background:#fff}
.pbsf-home .trust>div{padding:22px 24px;display:flex;align-items:center;gap:14px;border-right:1px solid var(--pbx-line)}
.pbsf-home .trust>div:last-child{border-right:0}
.pbsf-home .trust>div:hover{background:var(--pbx-paper)}
.pbsf-home .trust .t-ic{font-size:24px}
.pbsf-home .trust b{display:block;font-family:var(--pbsfh-trust_title-ff,inherit);font-size:var(--pbsfh-trust_title-fs,14.5px);font-weight:var(--pbsfh-trust_title-fw,700);color:var(--pbsfh-trust_title-fc,var(--pbx-ink))}
.pbsf-home .trust small{font-family:var(--pbsfh-trust_sub-ff,inherit);font-size:var(--pbsfh-trust_sub-fs,12.5px);font-weight:var(--pbsfh-trust_sub-fw,400);color:var(--pbsfh-trust_sub-fc,var(--pbx-muted))}

/* trust compact (mobil) — carduri-pastilă derulabile orizontal; tipografia refolosește
   elementele trust_title/trust_sub (aceleași ca bara clasică) */
.pbsf-home .trustm{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pbsf-home .trustm>div{flex:0 0 auto;scroll-snap-align:start;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--pbx-line);border-radius:14px;padding:10px 14px}
.pbsf-home .trustm .tm-ic{font-size:20px;flex:none}
.pbsf-home .trustm b{display:block;font-family:var(--pbsfh-trust_title-ff,inherit);font-size:calc(var(--pbsfh-trust_title-fs,14.5px) - 1px);font-weight:var(--pbsfh-trust_title-fw,700);color:var(--pbsfh-trust_title-fc,var(--pbx-ink));line-height:1.25;white-space:nowrap}
.pbsf-home .trustm small{display:block;font-family:var(--pbsfh-trust_sub-ff,inherit);font-size:var(--pbsfh-trust_sub-fs,12.5px);font-weight:var(--pbsfh-trust_sub-fw,400);color:var(--pbsfh-trust_sub-fc,var(--pbx-muted));white-space:nowrap}

/* chips */
.pbsf-home .chips{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;overscroll-behavior-x:contain}
.pbsf-home .chip{flex:none;display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--pbx-line);border-radius:100px;padding:10px 18px;font-family:var(--pbsfh-chip-ff,inherit);font-weight:var(--pbsfh-chip-fw,700);font-size:var(--pbsfh-chip-fs,13.5px);color:var(--pbsfh-chip-fc,var(--pbx-ink));cursor:pointer;transition:.15s;background:#fff;white-space:nowrap}
.pbsf-home .chip:hover{border-color:var(--pbx-ink)}
.pbsf-home .chip.on{background:var(--pbx-ink);color:#fff;border-color:var(--pbx-ink)}
.pbsf-home .noscroll{scrollbar-width:none}
.pbsf-home .noscroll::-webkit-scrollbar{display:none}

/* bara sticky de chips (meniu de pagină). top-ul e setat de JS (sub header-ul sticky al
   temei pe desktop; 0 pe mobil). Banda are fundal alb full-width; conținutul stă în .wrap. */
.pbsf-home .pbsf-chipsbar{position:sticky;top:0;z-index:60;background:#fff;padding:10px 0 8px}
.pbsf-home .pbsf-chipsbar.is-stuck{box-shadow:0 10px 24px -18px rgba(24,24,27,.35);border-bottom:1px solid var(--pbx-line)}
/* punctele de ancoră (span 0px înaintea secțiunilor): scroll-margin ține titlul secțiunii
   vizibil sub bara sticky + header la navigarea din chips */
.pbsf-home .pbsf-anchorpt{display:block;height:0;scroll-margin-top:150px}
@media(max-width:960px){ .pbsf-home .pbsf-anchorpt{scroll-margin-top:60px} }

/* destinatari */
.pbsf-home .dest{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.pbsf-home .dest a{text-align:center;cursor:pointer}
.pbsf-home .dest .ph{display:block;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--pbx-line),0 10px 24px -12px rgba(24,24,27,.25);transition:.18s}
.pbsf-home .dest a:hover .ph{box-shadow:0 0 0 2px var(--pbx-red),0 16px 30px -12px rgba(232,57,46,.35);transform:translateY(-4px)}
.pbsf-home .dest .ph img{width:100%;height:100%;object-fit:cover}
.pbsf-home .dest b{display:block;font-family:var(--pbsfh-dest_name-ff,inherit);font-size:var(--pbsfh-dest_name-fs,14.5px);font-weight:var(--pbsfh-dest_name-fw,700);color:var(--pbsfh-dest_name-fc,var(--pbx-ink));margin-top:12px}
.pbsf-home .dest small{font-family:var(--pbsfh-dest_count-ff,inherit);font-size:var(--pbsfh-dest_count-fs,12px);font-weight:var(--pbsfh-dest_count-fw,400);color:var(--pbsfh-dest_count-fc,var(--pbx-muted))}

/* header carusel + corp shortcode */
.pbsf-home .row-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.pbsf-home .row-title{display:flex;align-items:center;gap:13px}
.pbsf-home .row-title .row-ic{width:46px;height:46px;border-radius:14px;background:var(--pbx-red-soft);display:flex;align-items:center;justify-content:center;font-size:23px;flex:none}
.pbsf-home .row-title h2{font-family:var(--pbsfh-row_title-ff,inherit);font-size:var(--pbsfh-row_title-fs,25px);font-weight:var(--pbsfh-row_title-fw,800);color:var(--pbsfh-row_title-fc,var(--pbx-ink));letter-spacing:-.02em}
.pbsf-home .row-title small{display:block;font-family:var(--pbsfh-row_sub-ff,inherit);font-size:var(--pbsfh-row_sub-fs,12.5px);color:var(--pbsfh-row_sub-fc,var(--pbx-muted));font-weight:var(--pbsfh-row_sub-fw,600);margin-top:3px}
.pbsf-home .row-actions{display:flex;align-items:center;gap:12px}
/* Caruseluri pb_woo_carousel pe homepage (Faza 4) — carduri stilizate (port din PDP secț.13,
   re-scopat .pbsf-home + tokeni --pbx-*). Init-ul Swiper e în pbsf-home.js; fallback derulabil
   până se inițializează. */
.pbsf-home .pbw{position:relative}
.pbsf-home .pbw .swiper{overflow:hidden;padding:6px 2px 10px}
.pbsf-home .pbw .swiper-slide{height:auto}
.pbsf-home .pbsf-carousel-body .swiper:not(.swiper-initialized) .swiper-wrapper{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px}
.pbsf-home .pbsf-carousel-body .swiper:not(.swiper-initialized) .swiper-slide{flex:0 0 auto;width:220px}
.pbsf-home .pbw-card{display:flex;flex-direction:column;height:100%;text-decoration:none;padding:0;background:#fff;border:1px solid var(--pbsf-line,#ECEAE5);border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:transform .15s,border-color .15s,box-shadow .15s} /* umbra fina de repaus PASTRATA: linia gri de sub carduri (9 sept 2026) era un al doilea a.pbw-card gol, facut de wpautop pe the_content - reparat in class-pbsf-home.php (v0.36.18), nu aici */
.pbsf-home .pbw-card:hover{transform:translateY(-2px);border-color:var(--pbsf-line-2,#E4E2DD);box-shadow:0 12px 30px -16px rgba(0,0,0,.28)}
.pbsf-home .pbw-thumb{position:relative;border-radius:0;overflow:hidden;background:#F4F1EC;aspect-ratio:1/1}
.pbsf-home .pbw-thumb img{width:100%!important;height:100%!important;object-fit:cover;display:block;border-radius:0}
.pbsf-home .pbw-info{display:flex;flex-direction:column;flex:1;padding:12px 13px 13px;background:#fff}
.pbsf-home .pbw-info .pbw-title{margin:0 0 5px;font-family:var(--pbsf-card_title-ff,'Plus Jakarta Sans',sans-serif);font-weight:var(--pbsf-card_title-fw,600);font-size:var(--pbsf-card_title-fs,14px);color:var(--pbsf-card_title-fc,#18181B);line-height:1.35;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pbsf-home .pbw-info .pbw-rating{margin:0 0 6px;line-height:1;order:-1}
.pbsf-home .pbw-info .pbw-rating .star-rating{color:var(--pbsf-amber,#F5A623);font-size:13px}
.pbsf-home .pbw-info .pbw-price{margin:auto 0 0;font-family:var(--pbsf-card_price-ff,'Plus Jakarta Sans',sans-serif);font-weight:var(--pbsf-card_price-fw,800);font-size:var(--pbsf-card_price-fs,15px);color:var(--pbsf-card_price-fc,#18181B)}
.pbsf-home .pbw-info .pbw-price .amount,.pbsf-home .pbw-info .pbw-price bdi{color:var(--pbsf-card_price-fc,#18181B);font-weight:var(--pbsf-card_price-fw,800)}
.pbsf-home .pbw-info .pbw-price .pbsf-price-prefix{font-family:var(--pbsf-card_prefix-ff,'Plus Jakarta Sans',sans-serif);font-weight:var(--pbsf-card_prefix-fw,600);font-size:var(--pbsf-card_prefix-fs,12.5px);color:var(--pbsf-card_prefix-fc,#71717A);margin-right:3px}
/* Săgeți = ACELAȘI cerc alb 44px ca pe caruselele PDP (v0.26.1, cerință user). Homepage-ul nu
   încarcă pbsf-woo-carousel.css (stilurile structurale ale butoanelor), deci butoanele rămâneau
   la dreptunghiul default Swiper 27px — reproducem aici blocul structural din acel fișier. */
.pbsf-home .pbw .swiper-button-prev,.pbsf-home .pbw .swiper-button-next{position:absolute!important;top:var(--pbw-arrows-top,50%)!important;transform:translateY(-50%)!important;margin-top:0!important;z-index:5!important;width:44px!important;height:44px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .3s ease!important;background:#fff!important;box-shadow:0 6px 18px -8px rgba(0,0,0,.3)!important}
.pbsf-home .pbw .swiper-button-prev:hover,.pbsf-home .pbw .swiper-button-next:hover{transform:translateY(-50%) scale(1.1)!important}
.pbsf-home .pbw .swiper-button-prev::after,.pbsf-home .pbw .swiper-button-next::after{font-size:18px!important;font-weight:800!important;color:var(--pbsf-ink,#18181B)!important}
/* Elemente de conversie pe carduri (Faza 4b) — valori din datele reale ale produsului */
.pbsf-home .pbw-flag{position:absolute;left:10px;top:10px;z-index:2;font-size:11px;font-weight:800;letter-spacing:.02em;padding:4px 10px;border-radius:100px;color:#fff;background:var(--pbsf-red,#E8392E)}
.pbsf-home .pbw-flag--new{background:var(--pbsf-green,#11875A)}
.pbsf-home .pbw-off{position:absolute;right:10px;top:10px;z-index:2;background:#fff;color:var(--pbsf-red,#E8392E);font-size:11.5px;font-weight:800;padding:4px 9px;border-radius:100px;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.pbsf-home .pbw-info .pbw-micro{font-size:11.5px;font-weight:700;margin:0 0 5px}
.pbsf-home .pbw-info .pbw-micro--stock,.pbsf-home .pbw-info .pbw-micro--new{color:#1E7D45}
.pbsf-home .pbw-info .pbw-micro--fast{color:var(--pbsf-red,#E8392E)}
.pbsf-home .pbw-info .pbw-price del,.pbsf-home .pbw-info .pbw-price del .amount,.pbsf-home .pbw-info .pbw-price del bdi{color:#A1A1AA;font-weight:600;font-size:.82em;text-decoration:line-through}
.pbsf-home .pbw-info .pbw-price del{margin-right:5px}
.pbsf-home .pbw-info .pbw-price ins{text-decoration:none}

/* duo */
.pbsf-home .duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pbsf-home .duo .b{position:relative;border-radius:var(--pbx-r-lg);overflow:hidden;min-height:300px}
.pbsf-home .duo .b>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pbsf-home .duo .veil{position:absolute;inset:0;background:linear-gradient(105deg,rgba(15,15,18,.74) 8%,rgba(15,15,18,.28) 52%,transparent 78%)}
.pbsf-home .duo .txt{position:relative;padding:38px 36px;max-width:340px}
.pbsf-home .duo .txt .tag{font-family:var(--pbsfh-duo_tag-ff,inherit);color:var(--pbsfh-duo_tag-fc,#fff);opacity:.9;font-weight:var(--pbsfh-duo_tag-fw,700);font-size:var(--pbsfh-duo_tag-fs,13px);letter-spacing:.06em}
.pbsf-home .duo .txt .big{font-family:var(--pbsfh-duo_title-ff,inherit);color:var(--pbsfh-duo_title-fc,#fff);font-size:var(--pbsfh-duo_title-fs,28px);font-weight:var(--pbsfh-duo_title-fw,800);line-height:1.1;margin-top:10px}
.pbsf-home .btn-white{display:inline-block;margin-top:20px;background:#fff;color:var(--pbx-ink);font-weight:700;font-size:14px;padding:12px 24px;border-radius:100px;cursor:pointer;transition:.15s}
.pbsf-home .btn-white:hover{background:var(--pbx-red);color:#fff}

/* sezonal */
.pbsf-home .season{background:linear-gradient(120deg,#FBF3EE,#F7F5F2);border-radius:24px;padding:40px 36px}
.pbsf-home .season-title{font-size:30px}
.pbsf-home .pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pbsf-home .pcard{background:#fff;border-radius:var(--pbx-r);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid var(--pbx-line);transition:.18s}
.pbsf-home .pcard:hover{box-shadow:0 18px 36px -14px rgba(24,24,27,.24);transform:translateY(-4px)}
.pbsf-home .pcard .pimg{position:relative}
.pbsf-home .pcard .pimg img{width:100%;height:200px;object-fit:cover}
.pbsf-home .badge{position:absolute;left:12px;top:12px;background:var(--pbx-red);color:#fff;font-size:11.5px;font-weight:800;padding:5px 11px;border-radius:100px;letter-spacing:.02em}
.pbsf-home .badge.lite{background:rgba(255,255,255,.92);color:var(--pbx-ink)}
.pbsf-home .pbody{padding:14px 16px 16px}
.pbsf-home .pbody h3{font-family:var(--pbsfh-pcard_title-ff,inherit);font-weight:var(--pbsfh-pcard_title-fw,700);font-size:var(--pbsfh-pcard_title-fs,13.5px);color:var(--pbsfh-pcard_title-fc,var(--pbx-ink));line-height:1.35;min-height:36px}
.pbsf-home .prow{margin-top:10px;display:flex;align-items:center;justify-content:space-between}
.pbsf-home .price{font-family:var(--pbsfh-pcard_price-ff,inherit);font-weight:var(--pbsfh-pcard_price-fw,800);font-size:var(--pbsfh-pcard_price-fs,15.5px);color:var(--pbsfh-pcard_price-fc,var(--pbx-ink))}

/* USP */
.pbsf-home .usp3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pbsf-home .usp3>div{border:1px solid var(--pbx-line);border-radius:18px;padding:24px 26px;display:flex;align-items:center;gap:16px;background:#fff}
.pbsf-home .usp3 .ic{width:52px;height:52px;border-radius:14px;background:var(--pbx-red-soft);display:flex;align-items:center;justify-content:center;font-size:26px;flex:none}
.pbsf-home .usp3 b{display:block;font-family:var(--pbsfh-usp_title-ff,inherit);font-size:var(--pbsfh-usp_title-fs,16px);font-weight:var(--pbsfh-usp_title-fw,700);color:var(--pbsfh-usp_title-fc,var(--pbx-ink))}
.pbsf-home .usp3 small{font-family:var(--pbsfh-usp_sub-ff,inherit);font-size:var(--pbsfh-usp_sub-fs,13px);font-weight:var(--pbsfh-usp_sub-fw,400);color:var(--pbsfh-usp_sub-fc,var(--pbx-muted));margin-top:2px;display:block;line-height:1.45}
.pbsf-home .wa-mini{display:inline-block;margin-top:8px;background:var(--pbx-wa);color:#fff;font-weight:700;font-size:12.5px;padding:7px 16px;border-radius:100px;cursor:pointer}

/* pași */
.pbsf-home .pbsf-steps-wrap .steps-head{text-align:center;margin-bottom:42px}
.pbsf-home .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pbsf-home .steps>div{text-align:center;padding:0 8px}
.pbsf-home .steps .n{width:60px;height:60px;border-radius:18px;background:var(--pbx-red-soft);color:var(--pbx-red);font-weight:800;font-size:22px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.pbsf-home .steps b{font-family:var(--pbsfh-step_title-ff,inherit);font-size:var(--pbsfh-step_title-fs,16px);font-weight:var(--pbsfh-step_title-fw,700);color:var(--pbsfh-step_title-fc,var(--pbx-ink))}
.pbsf-home .steps p{font-family:var(--pbsfh-step_desc-ff,inherit);font-size:var(--pbsfh-step_desc-fs,13.5px);font-weight:var(--pbsfh-step_desc-fw,400);color:var(--pbsfh-step_desc-fc,var(--pbx-muted));line-height:1.5;margin-top:7px}

/* UGC — bandă derulabilă (auto-scroll din JS cu pauză la interacțiune; drag cu mouse-ul,
   swipe nativ pe touch); click pe imagine = lightbox */
.pbsf-home .ugc-belt{margin-top:30px}
.pbsf-home .ugc-track{display:flex;gap:16px;overflow-x:auto;padding-bottom:4px;cursor:grab;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pbsf-home .ugc-track::-webkit-scrollbar{display:none}
.pbsf-home .ugc-track.dragging{cursor:grabbing}
.pbsf-home .ugc-track .u{position:relative;flex:none;width:190px;height:190px;border-radius:var(--pbx-r);overflow:hidden;cursor:pointer}
.pbsf-home .ugc-track .u img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.pbsf-home .ugc-track .u span{position:absolute;right:10px;bottom:8px;color:#fff;font-size:13px;text-shadow:0 1px 6px rgba(0,0,0,.5)}

/* lightbox UGC */
body.pbsf-lb-open{overflow:hidden}
.pbsf-lb{position:fixed;inset:0;z-index:100000;background:rgba(15,15,18,.93);display:flex;align-items:center;justify-content:center;padding:30px}
.pbsf-lb[hidden]{display:none}
.pbsf-lb img{max-width:min(1100px,92vw);max-height:84vh;width:auto;height:auto;border-radius:14px;box-shadow:0 40px 90px -20px rgba(0,0,0,.6)}
.pbsf-lb button{position:absolute;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:100px;border:0;cursor:pointer;background:rgba(255,255,255,.14);color:#fff;font-size:22px;line-height:1;transition:.15s;font-family:inherit}
.pbsf-lb button:hover{background:rgba(255,255,255,.28)}
.pbsf-lb .pbsf-lb__close{top:16px;right:16px}
.pbsf-lb .pbsf-lb__prev{left:14px;top:50%;transform:translateY(-50%)}
.pbsf-lb .pbsf-lb__next{right:14px;top:50%;transform:translateY(-50%)}
.pbsf-lb .pbsf-lb__count{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;font-weight:600;opacity:.75}
@media(max-width:560px){
	.pbsf-lb{padding:14px}
	.pbsf-lb button{width:38px;height:38px;font-size:19px}
	.pbsf-lb img{max-height:76vh}
}

/* recenzii (bandă închisă) */
.pbsf-home .rev-band{background:var(--pbx-dark-2);color:#fff;margin-top:64px}
.pbsf-home .rev-band .pbsf-rev-inner{padding-top:62px;padding-bottom:62px}
.pbsf-home .rev-band .kicker{color:#FF6A5E}
.pbsf-home .rev-band .sec-title{color:#fff}
.pbsf-home .rev-rating{display:flex;align-items:center;gap:14px;font-size:15px}
/* Recenzii pe UN SINGUR rând, derulabil orizontal — 3 vizibile pe desktop (restul prin scroll/
   snap), ~1,15 pe mobil (hint de scroll). Scrollbar ascuns; drag pe touch = nativ. */
.pbsf-home .rev-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;cursor:grab}
.pbsf-home .rev-grid.dragging{cursor:grabbing;scroll-snap-type:none}
.pbsf-home .rev-grid::-webkit-scrollbar{display:none}
/* Săgeți subtile stânga/dreapta la recenzii (hint de derulare) — DOAR desktop; injectate de JS. */
.pbsf-home .rev-scroller{position:relative}
.pbsf-home .rev-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;display:none;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);color:#fff;font-size:22px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:.7;transition:opacity .2s,background .2s,box-shadow .2s,transform .2s}
.pbsf-home .rev-nav:hover{opacity:1;background:rgba(255,255,255,.2);box-shadow:0 8px 22px rgba(0,0,0,.3)}
.pbsf-home .rev-nav:active{transform:translateY(-50%) scale(.94)}
.pbsf-home .rev-nav--prev{left:-8px}
.pbsf-home .rev-nav--next{right:-8px}
.pbsf-home .rev-scroller.rev-has-nav .rev-nav{display:flex} /* apar doar dacă e ce derula */
.pbsf-home .rev-nav.is-off{opacity:0;pointer-events:none} /* ascunsă la capătul respectiv */
@media (max-width:768px){.pbsf-home .rev-nav{display:none!important}} /* mobil: derulare intuitivă, fără săgeți */
/* Cardul e coloană flex ca blocul cu numele să poată fi împins la BAZĂ (`margin-top:auto`
   pe .rev-who). Fără asta, numele stă lipit de text, iar restul cardului rămâne o gaură —
   măsurat 7 aug 2026: 337px goi (63% din card) pe recenziile de 2 rânduri, fiindcă toate
   cele 13 carduri erau înălțate la 538px de una singură, de 16 rânduri. */
.pbsf-home .rev-card{flex:0 0 calc((100% - 40px) / 3);scroll-snap-align:start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column}
.pbsf-home .rev-card p{font-family:var(--pbsfh-rev_text-ff,inherit);font-size:var(--pbsfh-rev_text-fs,15px);font-weight:var(--pbsfh-rev_text-fw,400);line-height:1.6;color:var(--pbsfh-rev_text-fc,#E4E4E7);margin-top:14px}
/* Tăierea la N rânduri. `-webkit-line-clamp` merge în toate browserele actuale (inclusiv
   Firefox ≥68), iar dacă vreodată nu se aplică, textul se vede întreg — degradare curată. */
.pbsf-home .rev-band.rev-clamped .rev-txt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--rev-lines,6);overflow:hidden}
.pbsf-home .rev-card.is-open .rev-txt{-webkit-line-clamp:unset;overflow:visible}
.pbsf-home .rev-more{align-self:flex-start;margin-top:10px;padding:0;background:none;border:0;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:700;color:var(--pbx-red,#e8392e);text-decoration:underline;text-underline-offset:3px}
.pbsf-home .rev-more:hover{opacity:.75}
.pbsf-home .rev-more[hidden]{display:none}
/* „Citește tot" PE ultimul rând vizibil, nu pe un rând propriu — economisește ~34px pe
   fiecare card tăiat, exact spațiul care rămânea gol între text și nume (cerut de user
   după ce a coborât tăierea la 3 rânduri și tot i se părea aerisit).
   ⚠ Degradeul acoperă coada textului fără tăietură vizibilă. Culoarea NU e `--pbx-*`, ci
   compoziția reală card-peste-bandă: rgba(255,255,255,.07) peste #18181B = #28282B.
   Dacă se schimbă fundalul benzii sau al cardului, se recalculează AICI. */
/* ⚠ Marginea de jos a paragrafului trebuie scoasă: învelișul o include, iar butonul poziționat
   pe `bottom:0` ar cădea cu 14px SUB ultimul rând, nu peste el. Distanța până la nume vine
   oricum din `padding-top` pe .rev-who. */
.pbsf-home .rev-txtwrap{position:relative}
.pbsf-home .rev-txtwrap .rev-txt{margin-bottom:0}
/* ⚠ `wpautop` (homepage-ul iese prin the_content) împachetează butonul într-un <p> propriu.
   Acela n-are înălțime — butonul e absolut — dar marginea LUI de sus (14px) lungește
   învelișul, iar butonul pe `bottom:0` cade sub ultimul rând. Prins pe staging 7 aug 2026;
   nu șterge regula crezând că e redundantă. */
.pbsf-home .rev-txtwrap > p:not(.rev-txt){margin:0}
.pbsf-home .rev-band.rev-clamped .rev-card:not(.is-open) .rev-more{position:absolute;right:0;bottom:0;margin:0;line-height:24px;padding-left:40px;background:linear-gradient(90deg,rgba(40,40,43,0) 0,#28282b 40px)}
.pbsf-home .rev-top{display:flex;align-items:center}
.pbsf-home .verif{display:inline-flex;align-items:center;gap:5px;color:#3BD16F;font-size:11.5px;font-weight:700;margin-left:auto}
.pbsf-home .rev-who{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:20px}
.pbsf-home .rev-av{width:40px;height:40px;border-radius:100px;background:var(--pbx-red);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.pbsf-home .rev-who b{display:block;font-family:var(--pbsfh-rev_name-ff,inherit);font-size:var(--pbsfh-rev_name-fs,14px);font-weight:var(--pbsfh-rev_name-fw,700);color:var(--pbsfh-rev_name-fc,#fff)}
.pbsf-home .rev-who small{font-family:var(--pbsfh-rev_meta-ff,inherit);font-size:var(--pbsfh-rev_meta-fs,12.5px);font-weight:var(--pbsfh-rev_meta-fw,400);color:var(--pbsfh-rev_meta-fc,#A1A1AA)}

/* newsletter */
.pbsf-home .news{border-radius:24px;padding:44px 40px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}
.pbsf-home .news h2{font-family:var(--pbsfh-news_title-ff,inherit);font-size:var(--pbsfh-news_title-fs,28px);font-weight:var(--pbsfh-news_title-fw,800);color:var(--pbsfh-news_title-fc,inherit);letter-spacing:-.02em}
.pbsf-home .news form{display:flex;gap:10px}
.pbsf-home .news input{flex:1;border-radius:100px;padding:14px 20px;font-family:inherit;font-size:14.5px;outline:none;border:1.5px solid transparent}
.pbsf-home .news .btn{padding:14px 26px;font-size:14.5px}
.pbsf-home .news-pink{background:var(--pbx-red-soft)}
.pbsf-home .news-pink p{font-family:var(--pbsfh-news_text-ff,inherit);color:var(--pbsfh-news_text-fc,#7A4A45);font-size:var(--pbsfh-news_text-fs,14.5px);font-weight:var(--pbsfh-news_text-fw,400);margin-top:8px;line-height:1.55}
.pbsf-home .news-pink input{border-color:#E9C9C4;background:#fff}
.pbsf-home .news-pink input:focus{border-color:var(--pbx-red)}
.pbsf-home .news-dark{background:linear-gradient(120deg,#18181B,#2A2A31);color:#fff}
.pbsf-home .news-dark h2{color:#fff} /* varianta închisă: titlul rămâne alb (nu moștenește fc-ul editabil, care e gândit pt. varianta deschisă) */
.pbsf-home .news-dark p{font-family:var(--pbsfh-news_text-ff,inherit);color:#B9B9C0;font-size:var(--pbsfh-news_text-fs,14.5px);font-weight:var(--pbsfh-news_text-fw,400);margin-top:8px;line-height:1.55} /* varianta închisă: text fix gri-deschis (font/mărime/greutate rămân editabile) */
.pbsf-home .news-dark input{border-color:#3F3F46;background:#26262B;color:#fff}
.pbsf-home .news-dark input::placeholder{color:#8B8B93}
.pbsf-home .news-dark input:focus{border-color:var(--pbx-red)}

/* coloane + HTML liber */
.pbsf-home .pbsf-cols{display:grid;gap:22px}
.pbsf-home .pbsf-cols-1{grid-template-columns:1fr}
.pbsf-home .pbsf-cols-2{grid-template-columns:repeat(2,1fr)}
.pbsf-home .pbsf-cols-3{grid-template-columns:repeat(3,1fr)}
.pbsf-home .pbsf-cols-4{grid-template-columns:repeat(4,1fr)}

/* breakpoints */
@media(max-width:960px){
	.pbsf-home .hero{grid-template-columns:1fr;gap:30px;padding-top:34px}
	.pbsf-home .hero h1{font-size:calc(var(--pbsfh-hero_title-fs,54px) - 16px)} /* mobil = desktop-16px; se scalează cu setarea userului */
	.pbsf-home .hero-img .frame{min-height:0}
	.pbsf-home .hero-img .frame img{height:340px}
	.pbsf-home .trust{grid-template-columns:1fr 1fr}
	.pbsf-home .trust>div:nth-child(2n){border-right:0}
	.pbsf-home .trust>div{border-bottom:1px solid var(--pbx-line)}
	.pbsf-home .trust>div:nth-child(n+3){border-bottom:0}
	.pbsf-home .dest{grid-template-columns:repeat(3,1fr)}
	.pbsf-home .pgrid{grid-template-columns:1fr 1fr}
	.pbsf-home .duo{grid-template-columns:1fr}
	.pbsf-home .usp3{grid-template-columns:1fr}
	.pbsf-home .row-title h2{font-size:calc(var(--pbsfh-row_title-fs,25px) - 5px)}
	.pbsf-home .steps{grid-template-columns:1fr 1fr;gap:28px}
	.pbsf-home .rev-card{flex-basis:calc((100% - 20px) / 2)} /* tabletă: 2 recenzii vizibile */
	.pbsf-home .news{grid-template-columns:1fr;padding:32px 24px}
	.pbsf-home .sec-title{font-size:calc(var(--pbsfh-sec_title-fs,32px) - 6px)}
	.pbsf-home .pbsf-cols-3,.pbsf-home .pbsf-cols-4{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
	.pbsf-home .wrap{padding-left:18px;padding-right:18px}
	.pbsf-home .pad{padding-top:40px} /* 64px e prea mult pe ecran îngust — respiro consecvent între secțiuni */
	.pbsf-home .rev-band{margin-top:40px}
	.pbsf-home .chip{font-size:12.5px;padding:8px 13px;gap:6px} /* mai mici → se văd ~3,5 chips = clar că e scrolabil */
	.pbsf-home .trustm>div{min-width:62%} /* pastila următoare rămâne pe jumătate vizibilă → clar că e scrolabilă */
	.pbsf-home .rev-card{flex-basis:86%;padding:22px 20px} /* mobil: 1 recenzie + hint de scroll */
	.pbsf-home .pbsf-anchorpt{scroll-margin-top:52px}
	.pbsf-home .dest{grid-template-columns:repeat(3,1fr);gap:12px}
	.pbsf-home .pgrid{grid-template-columns:1fr 1fr;gap:12px}
	.pbsf-home .pcard .pimg img{height:150px}
	.pbsf-home .float-card{left:8px}
	.pbsf-home .float-dark{right:8px}
	.pbsf-home .news form{flex-direction:column}
	.pbsf-home .pbsf-cols-2,.pbsf-home .pbsf-cols-3,.pbsf-home .pbsf-cols-4{grid-template-columns:1fr}
}

/* Finisaje mobil + stare FĂRĂ imagine (v0.10.2) */
.pbsf-home .pcard .pimg{min-height:150px} /* placeholder când produsul n-are imagine → badge-ul nu cade peste titlu */
@media(max-width:960px){
	.pbsf-home .hero-img .frame{min-height:300px} /* nu se prăbușește fără imagine → cardurile plutitoare nu ies peste trust bar */
}
@media(max-width:767px){
	.pbsf-home .pbw .swiper-button-prev,.pbsf-home .pbw .swiper-button-next{display:none!important} /* săgeți ascunse pe mobil (nu se suprapun peste card) */
	/* v0.26.2 (cerință user): carduri mai mari pe mobil, tot 2.5 vizibile — caruselul iese
	   full-bleed spre marginea DREAPTĂ a ecranului (peek-ul de 0.5 card e oricum tăiat);
	   stânga rămâne aliniată cu titlul secțiunii. Spațiul dintre carduri: 16→10 din JS. */
	.pbsf-home .pbw{margin-right:-28px}
	/* Prețul pe UN rând: prețul vechi tăiat dispare pe mobil (reducerea rămâne pe badge-ul
	   −%) — un preț rupt pe 2 rânduri înălța TOATE cardurile din rând (flex egalizează) și
	   lăsa ~30px gol deasupra prețului pe celelalte (măsurat; golul de bază e 7px). */
	.pbsf-home .pbw-info .pbw-price del{display:none}
	/* Prețul COMPACT sub conținut (nu ancorat jos): cardurile cu rând de stele sunt mai
	   înalte decât cele fără, iar cu margin-top:auto diferența cădea ca GOL deasupra
	   prețului pe cardurile fără stele (măsurat ~21-28px). Cu margin fix, fiecare card
	   e compact, iar restul de spațiu cade la baza cardului (mult mai discret). */
	.pbsf-home .pbw-info .pbw-price{margin-top:6px}
}
/* sub 560 wrap-ul are padding 18 (nu 28) — full-bleed-ul urmează. DUPĂ blocul ≤767 în
   fișier, ca la 390px să câștige -18 (cascadă la specificitate egală). */
@media(max-width:560px){
	.pbsf-home .pbw{margin-right:-18px}
}

/* Vizibilitate per secțiune (ascunde pe desktop / mobil, ales din editor). Wrapper-ul
   e transparent la layout (display:contents) când e vizibil, și trece pe display:none
   la breakpoint-ul device-ului ascuns. Prag: mobil ≤767px, desktop ≥768px. */
.pbsf-home .pbsf-sec-vis{display:contents}
@media(max-width:767px){ .pbsf-home .pbsf-sec-vis.pbsf-hide-mobile{display:none!important} }
@media(min-width:768px){ .pbsf-home .pbsf-sec-vis.pbsf-hide-desktop{display:none!important} }
