/* LIT STUDIOS · v4.0 · sections.css
   Dacă înlocuiești fișiere pe server, versiunea de aici îți spune
   ce ai urcat. Trebuie să se potrivească cu ?v=4.0 din HTML. */
/* ==========================================================================
   LIT STUDIOS — Stilurile secțiunilor generate (site-ul clientului)
   Partajat între builder.html (editare) și preview.html (vizualizare).
   Responsive prin @container (pe lățimea cadrului) => device preview real.
   ========================================================================== */

.frame{ container-type: inline-size; container-name: site; }

.canvas{
  --ls-accent:#0A6EF2; --ls-accent-soft:#E7F0FF; --ls-bg:#FFFFFF;
  --ls-font:'Plus Jakarta Sans'; --ls-radius:12px;
  background:var(--ls-bg);
  font-family: var(--ls-font), 'Plus Jakarta Sans', system-ui, sans-serif; color:#0A2540;
}
.canvas h1,.canvas h2,.canvas h3,.canvas h4{ font-family: var(--ls-font), 'Plus Jakarta Sans', sans-serif; color:#0A2540; letter-spacing:-.02em; }

.s-inner{ max-width:1080px; margin:0 auto; padding:0 40px; }
.s-inner.wide{ max-width:1160px; }
.s-inner.narrow{ max-width:720px; }

/* Butoane — folosesc raza aleasă din setări */
.s-btn{ padding:13px 26px; border-radius:var(--ls-radius); font-weight:700; font-size:15px; display:inline-block; transition:transform .12s ease, box-shadow .12s ease; }
.s-btn.primary{ background:var(--ls-accent); color:#fff; }
/* Butonul secundar (ghost): implicit alb cu contur, dar poate primi o culoare
   proprie per-secțiune (v2.19 — setarea „Culoare buton secundar"). */
.s-btn.ghost{ background:var(--ls-btn2-bg,#fff); color:var(--ls-btn2-text,#0A2540); border:1px solid var(--ls-btn2-border,#E6EBF1); }
.s-btn:hover{ transform:translateY(-1px); }

/* Logo încărcat */
.s-logo{ height:34px; width:auto; display:block; }

/* ---------------- NAVBAR (4 variante) ---------------- */
.s-nav{ display:flex; align-items:center; gap:20px; padding:20px 40px; border-bottom:1px solid #EEF2F6; }
.s-nav .brand{ font-weight:800; font-size:20px; }
.s-nav .brand span{ color:var(--ls-accent); }
.s-nav .links{ display:flex; gap:26px; font-size:15px; font-weight:600; flex-wrap:wrap; }
.s-nav .navlink{ color:#425466; text-decoration:none; cursor:pointer; }
.s-nav .navlink:hover{ color:var(--ls-accent); }
.s-nav .navbtn{ background:var(--ls-accent); color:#fff; padding:9px 18px; border-radius:var(--ls-radius); font-weight:700; font-size:14px; white-space:nowrap; }
/* stânga: logo | linkuri | buton */
.s-nav.nav-stânga .links{ margin-left:auto; }
/* dreapta: buton | linkuri | logo */
.s-nav.nav-dreapta{ flex-direction:row-reverse; }
.s-nav.nav-dreapta .links{ margin-left:auto; }
/* centrat: totul pe centru, pe două rânduri */
.s-nav.nav-centrat{ flex-direction:column; gap:14px; text-align:center; }
.s-nav.nav-centrat .links{ order:2; justify-content:center; }
.s-nav.nav-centrat .navbtn{ order:3; }
/* evazat: linkurile ocupă tot spațiul, distribuite */
.s-nav.nav-evazat .links{ flex:1; justify-content:space-evenly; }
/* v2.18 (setarea „Lățime meniu"): fundalul barei rămâne pe toată lățimea,
   dar conținutul (logo, linkuri, buton) se aliniază cu restul secțiunilor
   (aceeași lățime ca .s-inner: 1080px + 40px padding). */
.s-nav.nav-aligned{
  padding-left:  max(40px, calc((100% - 1080px) / 2 + 40px));
  padding-right: max(40px, calc((100% - 1080px) / 2 + 40px));
}

/* ---------------- HERO (4 variante) ---------------- */
.s-hero{ padding:84px 0; text-align:center; background:radial-gradient(70% 60% at 50% 0%, var(--ls-accent-soft), transparent 70%); }
.s-hero.left{ text-align:left; }
.s-hero .eb{ display:inline-block; font-weight:700; font-size:13px; color:var(--ls-accent); background:var(--ls-accent-soft); padding:6px 14px; border-radius:999px; margin-bottom:18px; }
.s-hero h1{ font-size:48px; font-weight:800; margin:0 0 18px; line-height:1.05; }
.s-hero p{ font-size:19px; color:#425466; max-width:54ch; margin:0 auto 28px; }
.s-hero.left p{ margin-left:0; }
.s-hero .cta{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.s-hero.left .cta{ justify-content:flex-start; }
.s-split{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
/* impact: titlu foarte mare, editorial (trend 2026) */
.s-hero.impact{ padding:96px 0; background:linear-gradient(160deg, var(--ls-accent-soft), transparent 60%); }
.s-hero.impact h1.huge{ font-size:clamp(44px, 8cqw, 92px); font-weight:800; letter-spacing:-.03em; line-height:.98; max-width:16ch; margin:0 auto 22px; }
.s-hero.impact p{ font-size:20px; }

/* Imagine */
.s-img{ position:relative; border-radius:16px; background:linear-gradient(120deg,var(--ls-accent-soft),#fff); border:1px dashed var(--ls-accent); min-height:220px; display:grid; place-items:center; color:var(--ls-accent); font-weight:600; font-size:14px; overflow:hidden; }
.s-img.tall{ min-height:320px; }
.s-imghint{ opacity:.8; }
.s-imgtools{ position:absolute; bottom:10px; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:2; }
.s-imgtools button{ font:600 12px/1 var(--font-body,sans-serif); background:rgba(255,255,255,.95); color:#0A2540; border:1px solid #E6EBF1; border-radius:8px; padding:6px 9px; cursor:pointer; box-shadow:0 4px 12px rgba(10,37,64,.12); }
.s-imgtools button:hover{ border-color:var(--ls-accent); color:var(--ls-accent); }

/* ---------------- FEATURES (4 variante) ---------------- */
.s-features{ padding:76px 0; }
.s-head{ text-align:center; max-width:640px; margin:0 auto; }
.s-head h2{ font-size:34px; font-weight:800; }
.s-head p{ font-size:17px; color:#425466; margin-top:12px; }
.s-features .grid{ margin-top:38px; display:grid; gap:22px; }
.s-features .g3{ grid-template-columns:repeat(3,1fr); }
.s-features .g2{ grid-template-columns:repeat(2,1fr); }
.s-feat{ padding:26px; border:1px solid #EEF2F6; border-radius:16px; background:#fff; display:flex; gap:16px; flex-direction:column; }
.s-feat .fi{ width:46px; height:46px; border-radius:12px; background:var(--ls-accent-soft); color:var(--ls-accent); display:grid; place-items:center; }
.s-feat h3{ font-size:18px; margin:0 0 6px; }
.s-feat p{ font-size:15px; color:#425466; margin:0; }
/* bento: primul card mare pe 2 coloane/2 rânduri (trend 2026) */
.s-features .bento{ grid-template-columns:repeat(3,1fr); grid-auto-rows:1fr; }
.s-features .bento .s-feat:first-child{ grid-column:span 2; grid-row:span 2; background:linear-gradient(150deg,var(--ls-accent-soft),#fff); }
/* listă: rânduri cu iconiță în stânga */
.s-features .rows{ grid-template-columns:1fr; gap:14px; max-width:760px; margin-left:auto; margin-right:auto; }
.s-features .rows .s-feat{ flex-direction:row; align-items:flex-start; }

/* ---------------- GALLERY (3 variante) ---------------- */
.s-gallery{ padding:76px 0; }
.s-gallery .grid{ margin-top:38px; display:grid; gap:16px; }
.s-gallery .g3{ grid-template-columns:repeat(3,1fr); }
.s-gallery .g2{ grid-template-columns:repeat(2,1fr); }
.s-gallery .cell{ position:relative; aspect-ratio:4/3; border-radius:14px; overflow:hidden; }
.s-gallery .cell:not([style]){ background:linear-gradient(120deg,var(--ls-accent),#8AB6FF); }
.s-gallery .collage{ grid-template-columns:repeat(3,1fr); grid-auto-rows:1fr; }
.s-gallery .collage .cell:first-child{ grid-column:span 2; grid-row:span 2; aspect-ratio:auto; }
.s-gallery .cell .s-imgtools button{ padding:5px 8px; }

/* ---------------- REVIEWS (3 variante) ---------------- */
.s-reviews{ padding:76px 0; background:var(--ls-accent-soft); }
.s-reviews .grid{ margin-top:38px; display:grid; gap:20px; }
.s-reviews .g3{ grid-template-columns:repeat(3,1fr); }
.s-reviews .g2{ grid-template-columns:repeat(2,1fr); max-width:820px; margin-left:auto; margin-right:auto; }
.s-review{ background:#fff; border-radius:16px; padding:24px; box-shadow:0 8px 24px rgba(10,37,64,.06); }
.s-review .stars,.s-quote .stars{ color:#FFB020; font-size:16px; letter-spacing:2px; margin-bottom:12px; }
.s-review p{ font-size:15px; color:#33475B; margin:0 0 16px; }
.s-review .who,.s-quote .who{ display:flex; align-items:center; gap:10px; justify-content:center; }
.s-review .who{ justify-content:flex-start; }
.s-review .av,.s-quote .av{ width:40px; height:40px; border-radius:50%; background:var(--ls-accent); color:#fff; display:grid; place-items:center; font-weight:700; font-size:14px; }
.s-review .who b,.s-quote .who b{ display:block; font-size:14px; color:#0A2540; }
.s-review .who small,.s-quote .who small{ font-size:12px; color:#6B7C93; }
/* citat mare */
.s-quote{ max-width:820px; margin:0 auto; text-align:center; }
.s-quote p.big{ font-size:26px; line-height:1.4; color:#0A2540; font-weight:600; margin:0 0 22px; }

/* ---------------- ABOUT (3 variante) ---------------- */
.s-about{ padding:76px 0; }
.s-about .row{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.s-about h2{ font-size:32px; font-weight:800; margin:0 0 16px; }
.s-about p{ font-size:16px; color:#425466; margin:0 0 14px; }
.s-about.center p{ max-width:60ch; margin-left:auto; margin-right:auto; }

/* ---------------- FAQ (2 variante) ---------------- */
.s-faq{ padding:76px 0; }
.s-faq .list{ max-width:760px; margin:34px auto 0; }
.s-faq .list.cols2{ max-width:1000px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.s-faq .qa{ border:1px solid #EEF2F6; border-radius:14px; padding:20px 22px; margin-bottom:12px; background:#fff; }
.s-faq .cols2 .qa{ margin-bottom:0; }
.s-faq .qa h4{ font-size:17px; margin:0 0 8px; color:#0A2540; }
.s-faq .qa p{ font-size:15px; color:#425466; margin:0; }

/* ---------------- CTA (3 variante) ---------------- */
.s-cta{ padding:64px 40px; }
.s-cta .box{ background:var(--ls-cta-bg, var(--ls-accent)); border-radius:min(var(--ls-radius-card), 40px); padding:56px 40px; text-align:center; color:var(--ls-cta-text, #fff); max-width:1000px; margin:0 auto; }
.s-cta .box h2{ color:var(--ls-cta-text, #fff); font-size:32px; font-weight:800; margin:0 0 12px; }
.s-cta .box p{ color:var(--ls-cta-text, #fff); opacity:.92; font-size:17px; max-width:48ch; margin:0 auto 24px; }
.s-cta .box .s-btn.primary{ background:var(--ls-cta-btn, #fff); color:var(--ls-cta-btn-text, var(--ls-accent)); }
.s-cta .box.split{ display:flex; align-items:center; justify-content:space-between; gap:28px; text-align:left; }
.s-cta .box.split p{ margin:0; }
.s-cta .box.split .s-btn{ white-space:nowrap; flex:none; }
/* simplu: fără cutie, pe fundal accent-soft */
.s-cta.plain{ background:var(--ls-accent-soft); }
.s-cta.plain h2{ color:#0A2540; font-size:34px; }
.s-cta.plain p{ color:#425466; }

/* ---------------- ANPC ---------------- */
.s-anpc{ padding:36px 40px; border-top:1px solid #EEF2F6; }
.s-anpc .row{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; justify-content:center; }
.s-anpc img{ width:100px; max-width:100%; height:auto; border-radius:4px; display:block; }

/* ---------------- FOOTER (3 variante) ---------------- */
.s-footer{ padding:44px 40px; border-top:1px solid #EEF2F6; color:#6B7C93; font-size:14px; }
.s-footer .frow{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.s-footer .brand{ font-weight:800; font-size:18px; color:#0A2540; }
.s-footer .brand span{ color:var(--ls-accent); }
.s-footer.cols .frow{ align-items:flex-start; margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid #EEF2F6; }
.s-footer.cols .fbrand .tag{ margin:8px 0 0; max-width:32ch; }
.s-footer.cols .fcol{ display:flex; flex-direction:column; gap:8px; }
.s-footer .flink{ color:#425466; text-decoration:none; }
.s-footer .flink:hover{ color:var(--ls-accent); }
.s-footer.center .tag{ margin:8px 0 6px; }
.s-footer.center .cp{ opacity:.8; }

/* ======================================================================
   RESPONSIVE prin CONTAINER QUERIES (pe lățimea cadrului)
   ====================================================================== */
@container site (max-width: 860px){
  .s-hero{ padding:64px 0; }
  .s-hero h1{ font-size:38px; }
  .s-features .g3, .s-features .bento, .s-gallery .g3, .s-gallery .collage{ grid-template-columns:repeat(2,1fr); }
  .s-features .bento .s-feat:first-child, .s-gallery .collage .cell:first-child{ grid-column:span 2; grid-row:auto; }
  .s-reviews .g3{ grid-template-columns:1fr; }
  .s-about .row, .s-split, .s-faq .list.cols2{ grid-template-columns:1fr; }
  .s-features, .s-gallery, .s-reviews, .s-about, .s-faq{ padding:56px 0; }
}
@container site (max-width: 560px){
  .s-inner{ padding:0 22px; }
  .s-nav{ padding:16px 22px; flex-wrap:wrap; justify-content:center; text-align:center; }
  .s-nav.nav-dreapta{ flex-direction:row; }
  .s-nav .links{ justify-content:center; gap:16px; font-size:14px; margin-left:0 !important; }
  .s-hero{ padding:48px 0; }
  .s-hero h1{ font-size:30px; }
  .s-hero.impact h1.huge{ font-size:40px; }
  .s-hero p{ font-size:16px; }
  .s-features .g2, .s-features .g3, .s-features .bento, .s-gallery .g2, .s-gallery .g3, .s-gallery .collage, .s-reviews .g2{ grid-template-columns:1fr; }
  .s-features .bento .s-feat:first-child, .s-gallery .collage .cell:first-child{ grid-column:auto; }
  .s-head h2, .s-about h2, .s-cta h2{ font-size:26px; }
  .s-cta{ padding:40px 22px; }
  .s-cta .box{ padding:40px 24px; }
  .s-cta .box.split{ flex-direction:column; text-align:center; }
  .s-quote p.big{ font-size:20px; }
  .s-footer{ padding:32px 22px; }
  .s-footer .frow{ flex-direction:column; text-align:center; }
  .s-anpc{ padding:28px 22px; }
}

/* ======================================================================
   v1.2 — Culoare de text tematizabilă + componente noi
   ====================================================================== */
.canvas{ color:var(--ls-text, #0A2540); }
.canvas h1,.canvas h2,.canvas h3,.canvas h4{ color:var(--ls-text, #0A2540); }
.s-nav .brand{ color:var(--ls-text); }
.s-nav .navlink{ color:var(--ls-text-soft, #425466); }
.s-nav .navlink:hover{ color:var(--ls-accent); }
.s-hero p, .s-head p, .s-about p, .s-footer, .s-footer .flink{ color:var(--ls-text-soft, #425466); }
.s-footer .brand{ color:var(--ls-text); }
.s-cta.plain h2{ color:var(--ls-text); }
.s-cta.plain p{ color:var(--ls-text-soft, #425466); }

/* suprafețele deschise rămân cu text fix — lizibile pe orice fundal de site */
.s-feat h3, .s-faq .qa h4, .s-quote p.big, .s-review .who b, .s-quote .who b, .s-reviews .s-head h2{ color:#0A2540; }
.s-feat p, .s-faq .qa p{ color:#425466; }
.s-review p{ color:#33475B; }
.s-cta .box h2{ color:var(--ls-cta-text, #fff); }
.s-cta .box p{ color:var(--ls-cta-text, #fff); opacity:.92; }

/* ---- Navbar: număr de telefon ---- */
.s-nav .navphone{ display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:14px; color:var(--ls-text); white-space:nowrap; }
.s-nav .navphone .npi{ color:var(--ls-accent); display:grid; place-items:center; }
.s-nav.nav-centrat .navphone{ order:3; }
.s-nav.nav-centrat .navbtn{ order:4; }

/* ---- Hero: cu poză de fundal ---- */
.s-hero.cover{ position:relative; text-align:center; padding:110px 0; background-size:cover; background-position:center; border-radius:0; overflow:hidden; }
.s-hero.cover.nobg{ background-image:linear-gradient(140deg, var(--ls-accent), #0A2540); }
.s-hero.cover::before{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,15,30,.45), rgba(6,15,30,.62)); }
.s-hero.cover .s-inner{ position:relative; z-index:1; }
.s-hero.cover h1, .s-hero.cover p{ color:#fff; }
.s-hero.cover .eb{ background:rgba(255,255,255,.16); color:#fff; }
.s-hero.cover .s-btn.ghost{ background:var(--ls-btn2-bg,transparent); color:var(--ls-btn2-text,#fff); border-color:var(--ls-btn2-border,rgba(255,255,255,.55)); }
.s-hero.cover .cover-tools{ position:absolute; top:14px; right:14px; left:auto; bottom:auto; transform:none; }

/* ---- Buton WhatsApp plutitor ---- */
.ls-wa{ position:fixed; right:22px; bottom:22px; width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; display:grid; place-items:center; box-shadow:0 12px 28px rgba(0,0,0,.24); z-index:60; transition:transform .14s ease; }
.ls-wa:hover{ transform:scale(1.06); }

/* ---- ANPC integrat în footer ---- */
.fanpc{ display:flex; gap:12px; align-items:center; justify-content:center; flex-wrap:wrap; margin:20px 0 8px; }
.fanpc img{ width:92px; height:auto; border-radius:4px; display:block; opacity:.85; transition:opacity .15s ease; }
.fanpc a:hover img{ opacity:1; }
.s-footer.cols .fanpc{ margin:16px 0 12px; }

@container site (max-width: 560px){
  .s-hero.cover{ padding:72px 0; }
  .s-nav .navphone{ font-size:13px; }
  .fanpc img{ width:80px; }
  .ls-wa{ width:50px; height:50px; right:16px; bottom:16px; }
}

/* ======================================================================
   v1.3 — Raze separate (butoane / carduri / imagini), culoare buton,
   fundal carduri cu text auto-lizibil, footer cu date business
   ====================================================================== */
.canvas{
  --ls-radius-card:14px; --ls-radius-img:14px;
  --ls-btn:var(--ls-accent); --ls-btn-text:#fff;
  --ls-card-bg:#fff; --ls-card-text:#0A2540; --ls-card-text-soft:#425466; --ls-card-line:#EEF2F6;
}
/* butoane: culoare + rază proprie */
.s-btn.primary{ background:var(--ls-btn); color:var(--ls-btn-text); }
.s-nav .navbtn{ background:var(--ls-btn); color:var(--ls-btn-text); }
/* v2.25 (pct 2) BUG REPARAT: această regulă venea DUPĂ cea de la linia ~151 și
   îi anula efectul, fixând butonul din secțiunea CTA pe alb. Rezultat: schimbai
   „Culoare butoane" la o secțiune CTA și nu se întâmpla nimic. Acum respectă
   culoarea aleasă, iar albul rămâne doar ca valoare implicită. */
.s-cta .box .s-btn.primary{ background:var(--ls-cta-btn, #fff); color:var(--ls-cta-btn-text, var(--ls-accent)); }

/* carduri: fundal + rază + text lizibil automat */
/* v3.3: cardurile din secțiunile noi urmează ACELEAȘI setări ca restul —
   fundal, colțuri și contur se schimbă dintr-un singur loc. */
.s-feat, .s-review, .s-faq .qa,
.s-reviews.marquee .rv-cell,
.s-stats.cols .st-cell,
.s-steps.carduri .sp-cell,
.s-logos.band.thin .lg-cell,
.s-logos .lg-add{
  background:var(--ls-card-bg); border-radius:var(--ls-radius-card); border-color:var(--ls-card-line);
}
/* v3.7: caseta de logo își păstrează colțurile reglabile și după ce au fost
   scoase variantele „grilă" și „pătrate" (regulile lor le acopereau). */
.s-logos .lg-cell{ border-radius:var(--ls-radius-card, 12px); }
.s-logos .lg-add{ background:transparent; }
/* textul din cardurile noi respectă contrastul calculat pentru carduri */
.s-stats.cols .st-l, .s-steps.carduri .sp-txt p{ color:var(--ls-card-text-soft, var(--ls-text-soft,#6B7C93)); }
.s-steps.carduri .sp-txt h4{ color:var(--ls-card-text, var(--ls-text,#0A2540)); }
.s-feat h3, .s-faq .qa h4{ color:var(--ls-card-text); }
.s-feat p, .s-faq .qa p, .s-review p{ color:var(--ls-card-text-soft); }
.s-review .who b{ color:var(--ls-card-text); }
.s-review .who small{ color:var(--ls-card-text-soft); }
.s-feat .fi{ border-radius:calc(var(--ls-radius-card) * .7); }
.s-cta .box{ border-radius:min(var(--ls-radius-card), 40px); }

/* imagini: rază proprie */
.s-img, .s-gallery .cell, .s-about .s-img{ border-radius:var(--ls-radius-img); }
.s-hero.cover{ border-radius:0; }

/* ---- Footer business (v1.3) ---- */
.s-footer .fgrid{ display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:32px; align-items:start; }
.s-footer .fgrid.simple{ grid-template-columns:1.6fr 1fr 1.3fr; }
.s-footer .fbrand .brand{ margin-bottom:6px; }
.s-footer .fh{ display:block; font-weight:700; font-size:13px; color:var(--ls-text); margin-bottom:12px; font-family:var(--ls-font),sans-serif; }
.s-footer .fmap{ display:flex; flex-direction:column; gap:9px; }
.s-footer .fmap.inline{ flex-direction:row; justify-content:center; flex-wrap:wrap; gap:18px; margin:14px 0; }
.s-footer .flink{ color:var(--ls-text-soft,#425466); text-decoration:none; font-size:14px; }
.s-footer .flink:hover{ color:var(--ls-accent); }
.s-footer .fcontact{ display:flex; flex-direction:column; gap:9px; }
.s-footer .fline{ display:flex; align-items:center; gap:9px; font-size:14px; color:var(--ls-text-soft,#425466); }
.s-footer .fcontact-row{ display:flex; gap:22px; justify-content:center; flex-wrap:wrap; margin:12px 0; }
.s-footer .fline .fi{ color:var(--ls-accent); display:grid; place-items:center; flex:none; }
.s-footer .fcomm{ font-size:12px; color:var(--ls-text-soft,#6B7C93); margin:0 0 4px; opacity:.9; }
.s-footer .fbottom{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:26px; padding-top:22px; border-top:1px solid var(--ls-card-line,#EEF2F6); }
.s-footer .fbottom .cp{ font-size:13px; }
.s-footer.center .fbottom{ justify-content:center; }

/* ANPC mai mari, se aranjează una lângă/sub alta după spațiu */
.fanpc{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin:0; }
.fanpc img{ width:118px; height:auto; border-radius:4px; display:block; opacity:.9; transition:opacity .15s ease; }
.fanpc a:hover img{ opacity:1; }
.s-footer.center .fanpc{ justify-content:center; margin:16px 0; }

@container site (max-width: 860px){
  .s-footer .fgrid, .s-footer .fgrid.simple{ grid-template-columns:1fr 1fr; gap:26px; }
  .s-footer .fbrand{ grid-column:1 / -1; }
}
@container site (max-width: 560px){
  .s-footer .fgrid, .s-footer .fgrid.simple{ grid-template-columns:1fr; gap:22px; }
  .s-footer .fbottom{ flex-direction:column; align-items:flex-start; text-align:left; }
  .s-footer.center .fbottom{ align-items:center; }
  .fanpc img{ width:104px; }
}

/* ======================================================================
   v1.4 — Secțiunea Formular
   ====================================================================== */
.s-form{ padding:76px 0; }
.s-formbox{ background:var(--ls-form-bg,var(--ls-card-bg,#fff)); border:1px solid var(--ls-card-line,#EEF2F6); border-radius:var(--ls-radius-card,14px); padding:30px; text-align:left; max-width:520px; margin:32px auto 0; }
.s-form .s-formwide .s-formbox, .s-form .s-formsplit .s-formbox{ margin-top:0; max-width:none; }
.s-form .ff{ margin-bottom:16px; }
.s-form .ff label{ display:block; font-size:13px; font-weight:700; color:var(--ls-form-text,var(--ls-card-text,#0A2540)); margin-bottom:7px; }
.s-form .fin{ width:100%; padding:12px 14px; border:1px solid var(--ls-card-line,#E6EBF1); border-radius:calc(var(--ls-radius-card,14px) * .6); font-family:inherit; font-size:15px; color:var(--ls-form-text,var(--ls-card-text,#0A2540)); background:var(--ls-field-bg,rgba(255,255,255,.6)); box-sizing:border-box; }
.s-form .fin:disabled{ cursor:default; opacity:.9; }
.s-form .ff .s-btn.primary{ width:100%; text-align:center; cursor:default; }
.s-form .fnote{ font-size:12px; color:var(--ls-card-text-soft,#6B7C93); text-align:center; margin:14px 0 0; opacity:.8; }
.s-formsplit{ display:grid; grid-template-columns:1fr 1.1fr; gap:44px; align-items:start; }
.s-forminfo h2{ font-size:30px; font-weight:800; margin:0 0 14px; }
.s-forminfo p{ font-size:16px; color:var(--ls-text-soft,#425466); margin:0 0 20px; }
.s-forminfo .fline{ display:flex; align-items:center; gap:10px; font-size:15px; color:var(--ls-text-soft,#425466); margin-bottom:10px; }
.s-forminfo .fline .fi{ color:var(--ls-accent); display:grid; place-items:center; }
.s-formwide{ max-width:640px; margin:32px auto 0; }

@container site (max-width: 720px){
  .s-formsplit{ grid-template-columns:1fr; gap:28px; }
}
@container site (max-width: 560px){
  .s-form{ padding:56px 0; }
  .s-formbox{ padding:22px; }
  .s-forminfo h2{ font-size:24px; }
}

/* ======================================================================
   v1.5 — Carusel galerie + celulă de adăugare + ștergere imagine
   ====================================================================== */
.s-carousel{ position:relative; margin-top:38px; display:flex; align-items:center; gap:10px; }
.carousel-track{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:4px; flex:1; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
.carousel-track::-webkit-scrollbar{ height:8px; }
.carousel-track::-webkit-scrollbar-thumb{ background:rgba(10,37,64,.18); border-radius:99px; }
.carousel-track .cell{ flex:0 0 clamp(220px, 46%, 340px); aspect-ratio:4/3; scroll-snap-align:start; }
.gal-arrow{ flex:none; width:40px; height:40px; border-radius:50%; border:1px solid var(--ls-card-line,#EEF2F6); background:#fff; color:var(--ls-accent); font-size:22px; line-height:1; cursor:pointer; display:grid; place-items:center; box-shadow:0 6px 16px rgba(10,37,64,.10); transition:.14s ease; }
.gal-arrow:hover{ background:var(--ls-accent); color:#fff; }

/* celulă „Adaugă imagine" (doar în editor) */
.s-gallery .addcell{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; border:2px dashed var(--ls-accent); background:linear-gradient(120deg,var(--ls-accent-soft),#fff); color:var(--ls-accent); font-weight:700; font-size:13px; cursor:pointer; font-family:inherit; min-height:120px; }
.s-gallery .addcell span{ font-size:26px; line-height:1; }
.s-carousel .addcell{ flex:0 0 clamp(200px, 40%, 300px); aspect-ratio:4/3; }
.s-gallery .cell .s-imgtools{ flex-wrap:wrap; }

@container site (max-width: 560px){
  .carousel-track .cell, .s-carousel .addcell{ flex-basis:78%; }
  .gal-arrow{ width:34px; height:34px; font-size:18px; }
}

/* ======================================================================
   v1.7 — Meniu (font/stil/culori), Footer (logo st/dr + CTA), FAQ add/del, bento bg
   ====================================================================== */
/* Meniu: font + stiluri text + culori link/hover */
.s-nav .links{ font-family:var(--nav-font, var(--ls-font)), sans-serif; }
.s-nav .links.caps{ text-transform:uppercase; letter-spacing:.06em; font-size:13px; }
.s-nav .links.bold{ font-weight:800; }
.s-nav .links.italic{ font-style:italic; }
.s-nav .navlink{ color:var(--nav-link, var(--ls-text-soft, #425466)); }
.s-nav .navlink:hover{ color:var(--nav-hover, var(--ls-accent)); }
.brand-home{ cursor:pointer; display:inline-flex; align-items:center; }

/* Footer: logo dreapta (grid inversat) + buton CTA */
.s-footer .fgrid.rev .fbrand{ text-align:right; }
.s-footer .fgrid.rev{ grid-template-columns:1.2fr 1fr 1.4fr; }
.s-footer .fcta{ margin-top:16px; }
.s-footer .foot-cta{ font-size:14px; padding:11px 22px; }
.s-footer .flink{ cursor:pointer; }

/* FAQ: ștergere + adăugare */
.s-faq .qa{ position:relative; }
.qa-del{ position:absolute; top:10px; right:10px; width:24px; height:24px; border-radius:6px; border:1px solid var(--ls-card-line,#EEF2F6); background:#fff; color:#E5484D; cursor:pointer; font-size:13px; line-height:1; display:none; }
.editor .s-faq .qa:hover .qa-del{ display:block; }
.qa-add{ display:block; margin:14px auto 0; padding:11px 20px; border:2px dashed var(--ls-accent); border-radius:12px; background:var(--ls-accent-soft); color:var(--ls-accent); font-weight:700; font-size:14px; cursor:pointer; font-family:inherit; }

/* Features bento: cardul mare */
.s-features .bento .s-feat:first-child{ /* fundal setabil via inline style */ }

/* ======================================================================
   v1.8 — Culoare Titlu / Subtitlu / Text controlabile per-secțiune
   (specificitate .canvas ... => câștigă în fața regulilor vechi cu culori fixe)
   ====================================================================== */
/* TITLURI de secțiune */
.canvas .s-head h2, .canvas .s-hero:not(.cover) h1, .canvas .s-about h2,
.canvas .s-cta.plain h2, .canvas .s-forminfo h2{ color:var(--ls-title, var(--ls-text, #0A2540)); }
/* SUBTITLURI (doar unde există) */
.canvas .s-head p, .canvas .s-hero:not(.cover) p, .canvas .s-cta.plain p{ color:var(--ls-subtitle, var(--ls-text-soft, #425466)); }
/* TEXT / body — inclusiv text din carduri */
.canvas .s-about p{ color:var(--ls-body, var(--ls-text-soft, #425466)); }
.canvas .s-feat h3{ color:var(--ls-body, var(--ls-card-text, #0A2540)); }
.canvas .s-feat p{ color:var(--ls-body, var(--ls-card-text-soft, #425466)); }
.canvas .s-faq .qa h4{ color:var(--ls-body, var(--ls-card-text, #0A2540)); }
.canvas .s-faq .qa p{ color:var(--ls-body, var(--ls-card-text-soft, #425466)); }
.canvas .s-review p{ color:var(--ls-body, var(--ls-card-text-soft, #33475B)); }
.canvas .s-review .who b{ color:var(--ls-body, var(--ls-card-text, #0A2540)); }
.canvas .s-review .who small{ color:var(--ls-body, var(--ls-card-text-soft, #6B7C93)); }
.canvas .s-quote p.big{ color:var(--ls-body, var(--ls-title, var(--ls-text, #0A2540))); }
.canvas .s-quote .who b{ color:var(--ls-body, var(--ls-card-text, #0A2540)); }
/* v2.20: în varianta „Info + formular", textul de sub titlu ESTE subtitlul —
   deci ascultă întâi de „Culoare subtitlu", apoi de „Culoare text". */
.canvas .s-forminfo p{ color:var(--ls-subtitle, var(--ls-body, var(--ls-text-soft, #425466))); }
.canvas .s-forminfo .fline{ color:var(--ls-contact-text, var(--ls-body, var(--ls-text-soft, #425466))); }
.canvas .s-forminfo .fline .fi{ color:var(--ls-contact-icon, var(--ls-accent)); }

/* ======================================================================
   v2.0 — Meniu hamburger pe mobil/tabletă + direcție de deschidere
   ====================================================================== */
.nav-drawer{ display:contents; }
.nav-burger{ display:none; width:44px; height:40px; border:1px solid var(--ls-card-line,#EEF2F6); border-radius:10px; background:transparent; cursor:pointer; padding:0; flex-direction:column; align-items:center; justify-content:center; gap:5px; flex:none; }
.nav-burger span{ display:block; width:22px; height:2px; background:var(--nav-link, var(--ls-text, #0A2540)); border-radius:2px; transition:transform .2s ease, opacity .2s ease; }
.s-nav.menu-open .nav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.s-nav.menu-open .nav-burger span:nth-child(2){ opacity:0; }
.s-nav.menu-open .nav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* stilul comun al panoului (sheet) când hamburger e activ */
.s-nav.hamburger-mobile, .s-nav.hamburger-tablet{ position:relative; }
.hb-on{ }
.s-nav.hamburger-mobile .nav-burger, .s-nav.hamburger-tablet .nav-burger{ /* vizibilitate setată pe breakpoint */ }

/* --- TABLETĂ (561–860px) --- */
@container site (min-width: 561px) and (max-width: 860px){
  .s-nav.hamburger-tablet{ flex-wrap:nowrap; }
  .s-nav.hamburger-tablet .nav-burger{ display:flex; margin-left:auto; order:9; }
  .s-nav.hamburger-tablet .nav-drawer{
    display:block; position:absolute; top:100%; left:0; right:0; z-index:40;
    background:var(--nav-bg, #fff); border-top:1px solid rgba(0,0,0,.06); box-shadow:0 14px 30px rgba(10,37,64,.12);
    padding:16px 40px 20px; opacity:0; pointer-events:none; transition:transform .22s ease, opacity .22s ease;
  }
  .s-nav.hamburger-tablet .nav-drawer .links{ flex-direction:column; align-items:flex-start; gap:14px; margin:0 0 12px !important; }
  .s-nav.hamburger-tablet .nav-drawer .navphone{ margin:0 0 12px; }
  .s-nav.hamburger-tablet .nav-drawer .navbtn{ display:inline-block; }
  .s-nav.hamburger-tablet.menu-open .nav-drawer{ opacity:1; pointer-events:auto; transform:none !important; }
  .s-nav.hamburger-tablet.open-jos .nav-drawer{ transform:translateY(-14px); }
  .s-nav.hamburger-tablet.open-sus .nav-drawer{ transform:translateY(14px); }
  .s-nav.hamburger-tablet.open-dreapta .nav-drawer{ transform:translateX(-26px); }
  .s-nav.hamburger-tablet.open-stanga .nav-drawer{ transform:translateX(26px); }
}

/* --- TELEFON (≤560px) --- */
@container site (max-width: 560px){
  .s-nav.hamburger-mobile{ flex-wrap:nowrap; justify-content:space-between; }
  .s-nav.hamburger-mobile .nav-burger{ display:flex; margin-left:auto; order:9; }
  .s-nav.hamburger-mobile .nav-drawer{
    display:block; position:absolute; top:100%; left:0; right:0; z-index:40;
    background:var(--nav-bg, #fff); border-top:1px solid rgba(0,0,0,.06); box-shadow:0 14px 30px rgba(10,37,64,.12);
    padding:16px 22px 20px; opacity:0; pointer-events:none; transition:transform .22s ease, opacity .22s ease;
  }
  .s-nav.hamburger-mobile .nav-drawer .links{ flex-direction:column; align-items:flex-start; gap:16px; margin:0 0 14px !important; }
  .s-nav.hamburger-mobile .nav-drawer .navphone{ margin:0 0 14px; justify-content:flex-start; }
  .s-nav.hamburger-mobile .nav-drawer .navbtn{ display:block; text-align:center; }
  .s-nav.hamburger-mobile.menu-open .nav-drawer{ opacity:1; pointer-events:auto; transform:none !important; }
  .s-nav.hamburger-mobile.open-jos .nav-drawer{ transform:translateY(-14px); }
  .s-nav.hamburger-mobile.open-sus .nav-drawer{ transform:translateY(14px); }
  .s-nav.hamburger-mobile.open-dreapta .nav-drawer{ transform:translateX(-26px); }
  .s-nav.hamburger-mobile.open-stanga .nav-drawer{ transform:translateX(26px); }
}
.stars{ display:inline-flex; gap:2px; align-items:center; }
.stars svg{ display:block; }

/* ---- Increment 1: mesaj formular + input activ ---- */
.fmsg{ min-height:18px; font-size:13px; font-weight:600; margin:8px 0 0; }
.fmsg.ok{ color:#0B7A3F; }
.fmsg.err{ color:#C0332B; }
.s-form .fin:not([disabled]){ background:var(--ls-field-bg,#fff); }

/* ---- Increment 2/3 polish: cursor, hover, pop-up, calendar ---- */

/* perechi de câmpuri (dată/oră, check-in/check-out) */
.frow2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.frow2 .ff{ margin-bottom:0; }
.s-form .frow2 + .ff{ margin-top:16px; }
@media (max-width:520px){ .frow2{ grid-template-columns:1fr; } }

/* 1) În previzualizare butoanele arată apăsabile (nu cursor de text) */
.canvas.preview .s-btn,
.canvas.preview .navbtn,
.canvas.preview .foot-cta,
.canvas.preview [data-cta-action],
.canvas.preview .s-form .ff .s-btn.primary{ cursor:pointer; }

/* 2) Hover „raise" pe toate butoanele */
.s-btn{ transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease; }
.s-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 24px -12px rgba(10,37,64,.45); }
.s-btn:active{ transform:translateY(0); box-shadow:0 4px 10px -6px rgba(10,37,64,.4); }
.navbtn{ transition:transform .16s ease, box-shadow .16s ease; }
.navbtn:hover{ transform:translateY(-2px); box-shadow:0 10px 22px -12px rgba(10,37,64,.4); }

/* 3) Pop-up = exact formularul din secțiune, doar într-o fereastră */
.ls-pop-ov{ position:fixed; inset:0; background:rgba(10,37,64,.5); display:flex; align-items:flex-start; justify-content:center; padding:40px 16px; z-index:9999; overflow:auto; opacity:0; transition:opacity .18s ease; }
.ls-pop-ov.show{ opacity:1; }
.ls-pop{ background:transparent; box-shadow:none; padding:0; width:100%; max-width:480px; position:relative; margin:auto; }
.ls-pop-x{ position:absolute; top:-12px; right:-12px; z-index:3; width:36px; height:36px; border-radius:50%; border:0; background:var(--ls-bg,#fff); color:var(--ls-text,#0A2540); box-shadow:0 8px 20px -6px rgba(10,37,64,.4); font-size:20px; line-height:1; cursor:pointer; display:grid; place-items:center; transition:transform .12s ease; }
.ls-pop-x:hover{ transform:scale(1.08); }
.ls-pop .s-form.in-pop{ padding:0; }
.ls-pop .s-form.in-pop .s-inner{ padding:0; max-width:none; }
.ls-pop .pop-title{ margin:0 0 12px; font-size:21px; font-weight:800; color:var(--ls-text,#0A2540); text-align:left; }
.ls-pop .s-formbox{ margin:0; max-width:none; box-shadow:0 40px 90px -30px rgba(10,37,64,.55); }

/* 4) Calendar / ore stilizate (booking-style, light) */
.s-form .fin{ transition:border-color .14s ease, box-shadow .14s ease, background-color .14s ease; }
.s-form .fin:focus{ outline:none; border-color:var(--ls-accent); box-shadow:0 0 0 3px var(--ls-accent-soft); background:var(--ls-field-bg,#fff); }
/* v2.27: regula veche forța 50px înălțime și text îngroșat, ceea ce făcea
   câmpurile de dată/oră să arate diferit de cele de text. Dimensiunile sunt
   acum stabilite mai jos, identic cu .fin. */





.s-form .fin::placeholder{ color:var(--ls-form-ph,#9AA5B1); opacity:1; }

/* ==========================================================================
   v2.20 — SECȚIUNEA POP-UP
   Arată exact ca fereastra pe care o va vedea vizitatorul: fundal întunecat
   + card centrat. În builder se editează prin click, ca orice secțiune.
   ========================================================================== */
.s-popupsec{ padding:0; }
.s-pop-stage{
  background:var(--ls-pop-backdrop, rgba(10,37,64,.55));
  padding:46px 20px; display:grid; place-items:center;
}
.s-pop-card{
  position:relative; width:100%; max-width:560px;
  background:var(--ls-card-bg,#fff); color:var(--ls-card-text,#0A2540);
  border-radius:var(--ls-radius-card,16px);
  box-shadow:0 30px 80px -20px rgba(10,37,64,.55);
}
.s-pop-card .s-pop-x{
  position:absolute; top:12px; right:16px; font-size:26px; line-height:1;
  color:var(--ls-card-text-soft,#6B7C93); opacity:.7; pointer-events:none;
}
.s-pop-card .s-form.in-pop{ padding:34px 30px 30px; }
.s-pop-card .s-form.in-pop .s-inner{ padding:0; }
.s-pop-card .pop-title{
  font-family:var(--ls-font); font-size:24px; font-weight:800; margin:0 0 6px;
  color:var(--ls-title, var(--ls-card-text, #0A2540));
}
@media (max-width: 560px){
  .s-pop-stage{ padding:26px 12px; }
  .s-pop-card .s-form.in-pop{ padding:26px 18px 22px; }
}


/* ==========================================================================
   v3.2 — SECȚIUNI ȘI VARIANTE NOI
   Convenții de design folosite pe scară largă, implementate original.
   ========================================================================== */

/* ---- LOGO-URI / PRESĂ / CERTIFICĂRI ---------------------------------- */
.s-logos{ padding:34px 0; background:var(--ls-bg); }
.s-logos .lg-title{ font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ls-text-soft,#6B7C93); text-align:center; margin:0 0 20px; }
.s-logos .lg-wrap{ display:flex; align-items:center; justify-content:center; gap:26px; flex-wrap:wrap; }
.s-logos .lg-cell{ flex:0 0 auto; }
.s-logos .lg-img, .s-logos .lg-cell .s-img{
  width:104px; height:44px; background-size:contain; background-repeat:no-repeat; background-position:center;
  opacity:.62; filter:grayscale(1); transition:opacity .2s ease, filter .2s ease;
}
.s-logos .lg-cell:hover .lg-img{ opacity:1; filter:none; }
/* bandă rulantă */
.s-logos.band .lg-track{ overflow:hidden; width:100%; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.s-logos.band .lg-run{ display:flex; gap:44px; width:max-content; animation:lgRun 26s linear infinite; }
@keyframes lgRun{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.s-logos.band:hover .lg-run{ animation-play-state:paused; }

/* ---- CIFRE / REZULTATE ------------------------------------------------ */
.s-stats{ padding:48px 0; background:var(--ls-bg); }
.s-stats .st-wrap{ display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:18px; }
.s-stats .st-cell{ text-align:center; }
.s-stats .st-n{ font-family:var(--ls-font); font-size:clamp(28px,4vw,42px); font-weight:800;
  line-height:1; letter-spacing:-.03em; color:var(--ls-accent); }
.s-stats .st-l{ font-size:13.5px; color:var(--ls-text-soft,#6B7C93); margin-top:7px; line-height:1.35; }
/* bandă colorată */
.s-stats.band{ padding:0; }
.s-stats.band .s-inner{ background:var(--ls-accent); border-radius:var(--ls-radius-card,16px); padding:34px 28px; }
.s-stats.band .st-n, .s-stats.band .st-l{ color:#fff; }
.s-stats.band .st-l{ opacity:.85; }
.s-stats.band .s-head h2, .s-stats.band .s-head p{ color:#fff; }
.s-stats.band .s-head p{ opacity:.85; }
/* coloane separate */
.s-stats.cols .st-cell{ background:var(--ls-card-bg,#fff); border:1px solid var(--ls-line,#E6EBF1);
  border-radius:var(--ls-radius-card,14px); padding:24px 14px; }
/* cifre mari */
.s-stats.big .st-wrap{ gap:8px; }
.s-stats.big .st-n{ font-size:clamp(36px,6vw,64px); }
.s-stats.big .st-cell + .st-cell{ border-left:1px solid var(--ls-line,#E6EBF1); }

/* ---- CUM FUNCȚIONEAZĂ (PAȘI) ----------------------------------------- */
.s-steps{ padding:56px 0; background:var(--ls-bg); }
.s-steps .sp-wrap{ display:grid; gap:22px; }
.s-steps .sp-num{
  width:34px; height:34px; flex:none; border-radius:50%;
  background:var(--ls-accent); color:#fff; display:grid; place-items:center;
  font-family:var(--ls-font); font-weight:800; font-size:15px;
}
.s-steps .sp-txt h4{ font-family:var(--ls-font); font-size:17px; font-weight:800; margin:0 0 5px;
  color:var(--ls-title, var(--ls-text,#0A2540)); }
.s-steps .sp-txt p{ font-size:14.5px; line-height:1.55; color:var(--ls-body, var(--ls-text-soft,#425466)); margin:0; }
.s-steps .sp-cta{ margin-top:28px; text-align:center; }
/* orizontal: linie care leagă pașii */
.s-steps.orizontal .sp-wrap{ grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); position:relative; }
.s-steps.orizontal .sp-cell{ text-align:center; position:relative; }
.s-steps.orizontal .sp-num{ margin:0 auto 12px; position:relative; z-index:2; }
.s-steps.orizontal .sp-cell:not(:last-child)::after{
  content:""; position:absolute; top:17px; left:calc(50% + 24px); right:-10px;
  height:2px; background:var(--ls-line,#E6EBF1);
}
/* vertical: pașii unul sub altul */
.s-steps.vertical .sp-wrap{ max-width:560px; margin:0 auto; gap:0; }
.s-steps.vertical .sp-cell{ display:flex; gap:16px; padding-bottom:26px; position:relative; }
.s-steps.vertical .sp-cell:not(:last-child)::after{
  content:""; position:absolute; left:16px; top:38px; bottom:6px; width:2px; background:var(--ls-line,#E6EBF1);
}
/* cartonașe */
.s-steps.carduri .sp-wrap{ grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); }
.s-steps.carduri .sp-cell{
  background:var(--ls-card-bg,#fff); border:1px solid var(--ls-line,#E6EBF1);
  border-radius:var(--ls-radius-card,14px); padding:24px 20px;
}
.s-steps.carduri .sp-num{ margin-bottom:14px; }

/* ---- HERO EDITORIAL --------------------------------------------------- */
.s-hero.editorial{
  min-height:clamp(380px, 62vh, 560px); display:flex; align-items:flex-end;
  background-size:cover; background-position:center; position:relative; padding:0;
}
.s-hero.editorial::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(8,15,26,.78) 0%, rgba(8,15,26,.32) 42%, rgba(8,15,26,0) 72%);
}
.s-hero.editorial.nobg{ background:linear-gradient(135deg, var(--ls-accent-soft,#EEF3F8), #D9E4F0); }
.s-hero.editorial .s-inner{ position:relative; z-index:2; padding-bottom:48px; width:100%; }
.s-hero.editorial .ed-copy{ max-width:560px; }
.s-hero.editorial h1, .s-hero.editorial p, .s-hero.editorial .eb{ color:#fff; }
.s-hero.editorial .eb{ opacity:.9; }
.s-hero.editorial .cta{ justify-content:flex-start; }

/* ---- HERO DOUĂ JUMĂTĂȚI ---------------------------------------------- */
.s-hero.halves{ padding:0; }
.s-hero.halves .hf-wrap{ display:grid; grid-template-columns:1fr 1fr; min-height:clamp(360px, 58vh, 520px); }
.s-hero.halves .hf-copy{
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  padding:clamp(28px, 5vw, 64px); background:var(--ls-accent-soft,#EEF3F8);
}
.s-hero.halves .hf-img{ background-size:cover; background-position:center; background-color:var(--ls-accent-soft,#EEF3F8); min-height:220px; }
.s-hero.halves .cta{ justify-content:flex-start; }
@container site (max-width: 760px){
  .s-hero.halves .hf-wrap{ grid-template-columns:1fr; }
  .s-hero.halves .hf-img{ min-height:200px; order:-1; }
}

/* ---- RECENZII: BANDĂ RULANTĂ ----------------------------------------- */
.s-reviews.marquee{ overflow:hidden; }
.s-reviews.marquee .rv-track{
  overflow:hidden; width:100%; padding:6px 0 4px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.s-reviews.marquee .rv-run{ display:flex; gap:16px; width:max-content; animation:rvRun 38s linear infinite; }
@keyframes rvRun{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.s-reviews.marquee:hover .rv-run{ animation-play-state:paused; }
.s-reviews.marquee .rv-cell{
  flex:0 0 280px; background:var(--ls-card-bg,#fff); border:1px solid var(--ls-line,#E6EBF1);
  border-radius:var(--ls-radius-card,14px); padding:20px;
}
.s-reviews.marquee .rv-txt{ font-size:14px; line-height:1.55; margin:10px 0 12px;
  color:var(--ls-card-text, var(--ls-text,#0A2540)); }
.s-reviews.marquee .rv-name{ font-size:13px; font-weight:700; color:var(--ls-text-soft,#6B7C93); }

/* ---- RECENZIE CU PORTRET --------------------------------------------- */
.s-reviews.solo .rv-solo{
  display:grid; grid-template-columns:auto 1fr; gap:clamp(20px,4vw,42px);
  align-items:center; max-width:820px; margin:0 auto;
}
.s-reviews.solo .rv-face{ width:clamp(110px,16vw,170px); }
.s-reviews.solo .rv-face .s-img, .s-reviews.solo .rv-photo{
  width:100%; aspect-ratio:1; border-radius:50%; background-size:cover; background-position:center;
  background-color:var(--ls-accent-soft,#EEF3F8);
}
.s-reviews.solo .rv-quote{
  font-family:var(--ls-font); font-size:clamp(17px,2.3vw,24px); line-height:1.45; font-weight:600;
  margin:12px 0 16px; color:var(--ls-title, var(--ls-text,#0A2540));
}
.s-reviews.solo .rv-who{ display:flex; flex-direction:column; gap:2px; }
.s-reviews.solo .rv-name{ font-size:14.5px; font-weight:800; color:var(--ls-text,#0A2540); }
.s-reviews.solo .rv-role{ font-size:13px; color:var(--ls-text-soft,#6B7C93); }
@container site (max-width: 640px){
  .s-reviews.solo .rv-solo{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  .s-reviews.solo .rv-who{ align-items:center; }
}

/* ---- FAQ ACORDEON ----------------------------------------------------- */
.s-faq .list.accordion{ display:flex; flex-direction:column; gap:8px; max-width:760px; margin:0 auto; }
.s-faq .qa.acc{ padding:0; overflow:hidden; border:1px solid var(--ls-line,#E6EBF1);
  border-radius:var(--ls-radius-card,12px); background:var(--ls-card-bg,#fff); }
.s-faq .qa-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px;
  background:none; border:0; cursor:pointer; padding:16px 18px; text-align:left; font:inherit;
}
.s-faq .qa-q h4{ margin:0; font-family:var(--ls-font); font-size:16px; font-weight:700;
  color:var(--ls-title, var(--ls-card-text,#0A2540)); }
.s-faq .qa-sign{ position:relative; width:14px; height:14px; flex:none; }
.s-faq .qa-sign::before, .s-faq .qa-sign::after{
  content:""; position:absolute; background:var(--ls-accent); border-radius:1px; transition:transform .22s ease;
}
.s-faq .qa-sign::before{ left:0; top:6px; width:14px; height:2px; }
.s-faq .qa-sign::after{ left:6px; top:0; width:2px; height:14px; }
.s-faq .qa.acc.open .qa-sign::after{ transform:scaleY(0); }
.s-faq .qa-a{ max-height:0; overflow:hidden; transition:max-height .28s ease, padding .28s ease; padding:0 18px; }
.s-faq .qa.acc.open .qa-a{ max-height:420px; padding:0 18px 16px; }
.s-faq .qa-a p{ margin:0; font-size:14.5px; line-height:1.6; color:var(--ls-body, var(--ls-text-soft,#425466)); }

/* ---- DESPRE NOI: CRONOLOGIE ------------------------------------------ */
.s-about.timeline .tl-wrap{ max-width:620px; margin:0 auto; position:relative; padding-left:34px; }
.s-about.timeline .tl-wrap::before{
  content:""; position:absolute; left:9px; top:6px; bottom:6px; width:2px; background:var(--ls-line,#E6EBF1);
}
.s-about.timeline .tl-item{ position:relative; padding-bottom:28px; }
.s-about.timeline .tl-item:last-child{ padding-bottom:0; }
.s-about.timeline .tl-dot{
  position:absolute; left:-34px; top:4px; width:20px; height:20px; border-radius:50%;
  background:var(--ls-accent); border:4px solid var(--ls-bg,#fff); box-sizing:border-box;
}
.s-about.timeline .tl-y{
  display:inline-block; font-family:var(--ls-font); font-size:12px; font-weight:800;
  letter-spacing:.06em; color:var(--ls-accent); margin-bottom:3px;
}
.s-about.timeline .tl-t{ font-family:var(--ls-font); font-size:17px; font-weight:800; margin:0 0 4px;
  color:var(--ls-title, var(--ls-text,#0A2540)); }
.s-about.timeline .tl-d{ font-size:14.5px; line-height:1.55; margin:0; color:var(--ls-body, var(--ls-text-soft,#425466)); }

@media (prefers-reduced-motion: reduce){
  .lg-run, .rv-run{ animation:none !important; }
}

/* ==========================================================================
   v3.3 — LOGO-URI: FINISAJ
   Trei probleme reparate: casetele goale erau prea mici ca să încapă
   butoanele („Încarcă", „Link"), textul explicativ era tăiat, iar colțurile
   nu se puteau regla. Acum caseta goală e o zonă de lucru lizibilă, iar cea
   umplută rămâne discretă, cum trebuie să arate o siglă.
   ========================================================================== */

/* colțurile respectă setarea din panou, la toate variantele */
.s-logos .lg-cell .s-img{ border-radius:var(--ls-radius-img, 10px); }

/* --- caseta GOALĂ, în editor: destul loc pentru text și butoane --- */
.canvas.editor .s-logos .lg-cell .s-img:not([style*="background-image"]){
  width:170px; min-height:104px; height:auto;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; padding:12px 10px; box-sizing:border-box; text-align:center;
  border:1.5px dashed var(--ls-line,#CBD5E1); background:var(--ls-accent-soft,#F6F9FC);
  opacity:1; filter:none;
}
.canvas.editor .s-logos .lg-cell .s-imghint{
  position:static; transform:none; white-space:normal; max-width:100%;
  font-size:11px; line-height:1.35; color:var(--ls-text-soft,#6B7C93); font-weight:600;
}
.canvas.editor .s-logos .lg-cell .s-imgtools{
  position:static; transform:none; opacity:1; pointer-events:auto;
  display:flex; flex-wrap:wrap; justify-content:center; gap:4px; width:100%;
}
.canvas.editor .s-logos .lg-cell .s-imgtools button{
  flex:0 0 auto; white-space:nowrap; font-size:10.5px; padding:5px 8px; line-height:1;
}
/* caseta UMPLUTĂ rămâne de mărimea unei sigle */
.s-logos .lg-cell .s-img[style*="background-image"]{
  width:104px; height:44px; background-size:contain; padding:0; border:0;
}

/* --- varianta CASETE PĂTRATE --- */
.canvas.editor 
/* pe telefon, casetele de lucru nu depășesc ecranul */
@container site (max-width: 560px){
  .canvas.editor .s-logos .lg-cell .s-img:not([style*="background-image"]){ width:100%; max-width:220px; }
  .s-logos .lg-wrap{ gap:16px; }
}

/* ==========================================================================
   v3.4 — BANDĂ PROMO
   ========================================================================== */
.s-promo{
  background:var(--ls-accent); color:#fff; overflow:hidden;
  font-size:13.5px; font-weight:600; letter-spacing:.01em; line-height:1.3;
}
.s-promo .pr-txt{ color:inherit; }
.s-promo.static{ text-align:center; padding:9px 16px; }
.s-promo.moving{ padding:9px 0; }
.s-promo .pr-track{ overflow:hidden; width:100%; }
.s-promo .pr-run{
  display:flex; align-items:center; gap:22px; width:max-content;
  white-space:nowrap; animation:prRun 30s linear infinite;
}
.s-promo .pr-sep{ opacity:.6; }
@keyframes prRun{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
/* se oprește la hover — citești și editezi fără să fugă textul */
.s-promo.moving:hover .pr-run,
.s-promo.moving:focus-within .pr-run,
.s-promo.moving.paused .pr-run{ animation-play-state:paused; }
/* în editor, textul editabil e evidențiat când e oprit */
.canvas.editor .s-promo.moving:hover .pr-txt[contenteditable]{
  outline:1px dashed rgba(255,255,255,.7); outline-offset:3px; border-radius:3px;
}
@media (prefers-reduced-motion: reduce){ .s-promo .pr-run{ animation:none; } }

/* ==========================================================================
   v3.4 — SELECTORUL PROPRIU DE DATĂ ȘI ORĂ
   Un singur set de reguli, fără suprapuneri. Câmpul arată IDENTIC cu cele
   de text; culorile vin din aceleași variabile ca restul formularului.
   ========================================================================== */
.s-form .fpick{ position:relative; }
.s-form .fin-pick{
  cursor:pointer; padding-right:44px;
  color:var(--ls-form-text, #0A2540);
  -webkit-text-fill-color:var(--ls-form-text, #0A2540);   /* Safari pe câmpuri readonly */
  caret-color:transparent;
}
.s-form .fin-pick::placeholder{
  color:var(--ls-form-ph, #9AA5B1); -webkit-text-fill-color:var(--ls-form-ph, #9AA5B1); opacity:1;
}
.s-form .fin-pick:disabled{ cursor:default; opacity:1; }
.s-form .fpick-ico{
  position:absolute; right:13px; top:50%; transform:translateY(-50%);
  color:var(--ls-accent, #0A6EF2); display:grid; pointer-events:none;
  transition:transform .18s ease;
}
.s-form .fpick.open .fpick-ico{ transform:translateY(-50%) scale(1.12); }
.s-form .fpick.open .fin-pick{
  border-color:var(--ls-accent); box-shadow:0 0 0 3px var(--ls-accent-soft);
}

/* --- fereastra selectorului --- */
.lit-pick{
  position:fixed; z-index:10000; width:292px;
  background:#fff; color:#0A2540; border-radius:16px;
  box-shadow:0 24px 56px -16px rgba(10,37,64,.42), 0 0 0 1px rgba(10,37,64,.06);
  padding:14px; font-family:inherit;
  animation:pkIn .18s cubic-bezier(.2,1.1,.4,1);
}
@keyframes pkIn{ from{ opacity:0; transform:translateY(-6px) scale(.98); } to{ opacity:1; transform:none; } }
.lit-pick-time{ width:318px; max-height:360px; overflow-y:auto; }

.lit-pick .pk-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.lit-pick .pk-title{ font-size:15px; font-weight:800; letter-spacing:-.01em; }
.lit-pick-time .pk-head{ justify-content:flex-start; }
.lit-pick .pk-nav{
  width:32px; height:32px; border-radius:9px; border:0; cursor:pointer;
  background:#F1F5F9; color:#0A2540; font-size:19px; line-height:1;
  display:grid; place-items:center; transition:.14s ease;
}
.lit-pick .pk-nav:hover{ background:var(--ls-accent, #0A6EF2); color:#fff; }

.lit-pick .pk-week, .lit-pick .pk-days{ display:grid; grid-template-columns:repeat(7, 1fr); gap:3px; }
.lit-pick .pk-week span{
  text-align:center; font-size:11px; font-weight:800; color:#94A3B8;
  text-transform:uppercase; letter-spacing:.04em; padding:4px 0 6px;
}
.lit-pick .pk-day{
  aspect-ratio:1; border:0; border-radius:10px; background:none; cursor:pointer;
  font-size:14px; font-weight:600; color:#0A2540; transition:.12s ease;
}
.lit-pick .pk-day:hover:not(:disabled){ background:var(--ls-accent-soft, #E7F0FF); color:var(--ls-accent, #0A6EF2); }
.lit-pick .pk-day.today{ box-shadow:inset 0 0 0 1.5px var(--ls-accent, #0A6EF2); color:var(--ls-accent, #0A6EF2); font-weight:800; }
.lit-pick .pk-day.sel{ background:var(--ls-accent, #0A6EF2); color:#fff; font-weight:800; box-shadow:0 6px 14px -6px var(--ls-accent, #0A6EF2); }
.lit-pick .pk-day.past{ color:#CBD5E1; cursor:not-allowed; }

.lit-pick .pk-group{
  font-size:11px; font-weight:800; color:#94A3B8; text-transform:uppercase;
  letter-spacing:.06em; margin:10px 2px 6px;
}
.lit-pick .pk-group:first-of-type{ margin-top:0; }
.lit-pick .pk-times{ display:grid; grid-template-columns:repeat(4, 1fr); gap:6px; }
.lit-pick .pk-time{
  border:1px solid #E6EBF1; border-radius:10px; background:#fff; cursor:pointer;
  padding:9px 0; font-size:13.5px; font-weight:700; color:#0A2540;
  font-variant-numeric:tabular-nums; transition:.12s ease;
}
.lit-pick .pk-time:hover{ border-color:var(--ls-accent, #0A6EF2); color:var(--ls-accent, #0A6EF2); background:var(--ls-accent-soft, #E7F0FF); }
.lit-pick .pk-time.sel{ background:var(--ls-accent, #0A6EF2); border-color:var(--ls-accent, #0A6EF2); color:#fff; }

@media (max-width: 420px){
  .lit-pick, .lit-pick-time{ width:calc(100vw - 20px); left:10px !important; }
  .lit-pick .pk-times{ grid-template-columns:repeat(3, 1fr); }
}

/* ==========================================================================
   v3.6 (pct 4) — LOGO-URI: ADĂUGARE ȘI ȘTERGERE
   ========================================================================== */
.s-logos .lg-cell{ position:relative; }
.s-logos .lg-del{
  position:absolute; top:-8px; right:-8px; z-index:3;
  width:22px; height:22px; border-radius:50%; border:0; cursor:pointer;
  background:#fff; color:#B42318; box-shadow:0 2px 8px rgba(10,37,64,.25);
  display:grid; place-items:center; opacity:0; transition:opacity .15s ease, transform .15s ease;
}
.s-logos .lg-del svg{ width:11px; height:11px; }
.s-logos .lg-cell:hover .lg-del{ opacity:1; }
.s-logos .lg-del:hover{ transform:scale(1.12); background:#FEF3F2; }
/* caseta „+ Adaugă logo" */
.s-logos .lg-add{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  width:170px; min-height:104px; padding:12px; cursor:pointer;
  border:1.5px dashed var(--ls-accent, #0A6EF2); border-radius:var(--ls-radius-card, 12px);
  background:transparent; color:var(--ls-accent, #0A6EF2);
  font:700 12px/1.3 inherit; transition:background .15s ease;
}
.s-logos .lg-add:hover{ background:var(--ls-accent-soft, #E7F0FF); }
.s-logos .lg-add-ic{
  width:30px; height:30px; border-radius:50%; background:var(--ls-accent, #0A6EF2);
  color:#fff; display:grid; place-items:center;
}
.s-logos .lg-add-ic svg{ width:15px; height:15px; }
.s-logos.band.editing .lg-wrap{ display:flex; flex-wrap:wrap; justify-content:center; gap:22px; }
/* pe touch nu există hover: butonul de ștergere rămâne vizibil */
@media (hover: none){ .s-logos .lg-del{ opacity:1; } }

/* ==========================================================================
   v3.6 (pct 6) — PREȚURI
   ========================================================================== */
.s-prices{ padding:64px 0; background:var(--ls-bg); }
.s-prices .pr-wrap{
  display:grid; gap:18px; align-items:stretch;
  grid-template-columns:repeat(var(--pr-n, 3), minmax(0, 1fr));
}
.s-prices .pr-card{
  position:relative; display:flex; flex-direction:column;
  background:var(--ls-card-bg, #fff); border:1px solid var(--ls-card-line, var(--ls-line, #E6EBF1));
  border-radius:var(--ls-radius-card, 16px); padding:28px 24px 24px;
  color:var(--ls-card-text, var(--ls-text, #0A2540));
  transition:transform .2s ease, box-shadow .2s ease;
}
.s-prices .pr-name{ font-family:var(--ls-font); font-size:17px; font-weight:800; margin:0 0 14px;
  color:var(--ls-title, var(--ls-card-text, #0A2540)); }
.s-prices .pr-price{ display:flex; align-items:baseline; gap:6px; margin-bottom:10px; }
.s-prices .pr-amount{ font-family:var(--ls-font); font-size:clamp(34px,4vw,44px); font-weight:800;
  letter-spacing:-.03em; line-height:1; color:var(--ls-card-text, #0A2540); }
.s-prices .pr-unit{ font-size:13.5px; font-weight:600; color:var(--ls-card-text-soft, #6B7C93); }
.s-prices .pr-desc{ font-size:14px; line-height:1.5; margin:0 0 18px;
  color:var(--ls-card-text-soft, var(--ls-body, #425466)); }
.s-prices .pr-feat{ list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:10px; flex:1; }
.s-prices .pr-feat li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.45; }
.s-prices .pr-tick{
  flex:none; width:18px; height:18px; margin-top:1px; border-radius:50%;
  background:var(--ls-accent-soft, #E7F0FF); position:relative;
}
.s-prices .pr-tick::after{
  content:""; position:absolute; left:6px; top:3.5px; width:4px; height:8px;
  border:solid var(--ls-accent, #0A6EF2); border-width:0 2px 2px 0; transform:rotate(45deg);
}
.s-prices .pr-cta .s-btn{ display:block; text-align:center; width:100%; box-sizing:border-box; }
/* planul recomandat iese în față */
.s-prices .pr-card.featured{
  border:2px solid var(--ls-accent, #0A6EF2);
  box-shadow:0 22px 44px -22px var(--ls-accent, #0A6EF2);
  transform:translateY(-8px);
}
.s-prices .pr-badge{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--ls-accent, #0A6EF2); color:#fff; white-space:nowrap;
  font-size:11.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
  padding:5px 12px; border-radius:999px;
}
/* varianta listă: planurile unul sub altul, compacte */
.s-prices.list .pr-wrap{ grid-template-columns:1fr; max-width:760px; margin:0 auto; gap:10px; }
.s-prices.list .pr-card{ display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:18px; padding:18px 22px; }
.s-prices.list .pr-name{ margin:0; }
.s-prices.list .pr-price{ margin:0; }
.s-prices.list .pr-desc, .s-prices.list .pr-feat{ display:none; }
.s-prices.list .pr-cta .s-btn{ width:auto; }
/* editor: adăugare, ștergere, marcare recomandat */
.s-prices .pr-del, .s-prices .pr-star{
  position:absolute; top:10px; z-index:3; width:26px; height:26px; border-radius:50%;
  border:0; cursor:pointer; display:grid; place-items:center; background:#fff;
  box-shadow:0 2px 8px rgba(10,37,64,.2); opacity:0; transition:opacity .15s ease, transform .15s ease;
}
.s-prices .pr-del{ right:10px; color:#B42318; }
.s-prices .pr-del svg{ width:12px; height:12px; }
.s-prices .pr-star{ left:10px; color:#CBD5E1; font-size:15px; line-height:1; }
.s-prices .pr-star.on{ color:#F5B301; opacity:1; }
.s-prices .pr-card:hover .pr-del, .s-prices .pr-card:hover .pr-star{ opacity:1; }
.s-prices .pr-del:hover, .s-prices .pr-star:hover{ transform:scale(1.12); }
.s-prices .pr-add{
  align-items:center; justify-content:center; gap:8px; min-height:220px; cursor:pointer;
  border:2px dashed var(--ls-accent, #0A6EF2); background:transparent;
  color:var(--ls-accent, #0A6EF2); font:700 14px/1.3 inherit;
}
.s-prices .pr-add:hover{ background:var(--ls-accent-soft, #E7F0FF); }
.s-prices .pr-add small{ font-weight:600; opacity:.7; font-size:12px; }
.s-prices .pr-add-ic{ width:40px; height:40px; border-radius:50%; background:var(--ls-accent, #0A6EF2); color:#fff; display:grid; place-items:center; }
.s-prices .pr-add-ic svg{ width:18px; height:18px; }
@media (hover: none){ .s-prices .pr-del, .s-prices .pr-star{ opacity:1; } }
@container site (max-width: 860px){
  .s-prices .pr-wrap{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .s-prices .pr-card.featured{ transform:none; }
}
@container site (max-width: 560px){
  .s-prices .pr-wrap{ grid-template-columns:1fr; }
  .s-prices.list .pr-card{ grid-template-columns:1fr; gap:10px; }
}

/* ==========================================================================
   v3.7 — REPARAȚII DE ASPECT
   ========================================================================== */

/* (1) Formularul „Info + formular" își schimba lățimea între builder și
   previzualizare. Cauza: coloanele `1fr` înseamnă „cel puțin cât conținutul",
   deci lățimea depindea de text. `minmax(0, …)` le fixează la proporție. */
/* v3.9.2 BUG REPARAT: această regulă venea DUPĂ interogarea de container
   care trece formularul pe o coloană, deci o anula — pe telefon cele două
   coloane rămâneau alăturate și înghesuite. Acum se aplică doar de la
   lățimea la care chiar încap două coloane. */
@container site (min-width: 721px){
  .s-formsplit{ grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr); }
}
@container site (max-width: 720px){
  .s-formsplit{ grid-template-columns:1fr !important; gap:26px; }
}
.s-form .s-formsplit .s-formbox{ max-width:none; width:100%; box-sizing:border-box; }
.s-form .s-formwide .s-formbox{ width:100%; box-sizing:border-box; }

/* (4) Convenție de aliniere: textul și butoanele trebuie să fie pe aceeași
   linie de referință. Editorial = tot la stânga; Două jumătăți = tot centrat. */
.s-hero.editorial .ed-copy{ text-align:left; }
.s-hero.editorial .ed-copy .eb,
.s-hero.editorial .ed-copy h1,
.s-hero.editorial .ed-copy p{ margin-left:0; margin-right:auto; text-align:left; }
.s-hero.editorial .cta{ justify-content:flex-start; }
.s-hero.halves .hf-copy{ align-items:center; text-align:center; }
.s-hero.halves .hf-copy h1,
.s-hero.halves .hf-copy p,
.s-hero.halves .hf-copy .eb{ text-align:center; margin-left:auto; margin-right:auto; }
.s-hero.halves .cta{ justify-content:center; width:100%; }

/* (7) Banda colorată de la „Cifre" se lipea de marginile secțiunii. */
.s-stats.band{ padding:48px 0; }
.s-stats.band .s-inner{ padding:38px 30px; }

/* (11) La acordeon, „×" se suprapunea peste semnul + / −. Îl scoatem în
   colțul din dreapta-sus al întrebării, ușor în afara cutiei. */
.s-faq .qa.acc{ overflow:visible; }
.s-faq .qa.acc .qa-del{
  top:-9px; right:-9px; z-index:4;
  width:22px; height:22px; border-radius:50%;
  background:#fff; box-shadow:0 2px 8px rgba(10,37,64,.28);
}
.s-faq .qa.acc .qa-q{ padding-right:22px; }

/* (12) Subtitlul din banda CTA ignora setarea de culoare, fiindcă folosea
   o culoare fixă de bandă. Acum respectă „Culoare subtitlu", cu cea veche
   ca valoare implicită. */
.canvas .s-cta .box p{ color:var(--ls-subtitle, var(--ls-cta-text, #fff)); }
.canvas .s-cta .box h2{ color:var(--ls-title, var(--ls-cta-text, #fff)); }

/* (3) banda promo: în editor stă pe loc, ca textul să poată fi editat */
.s-promo.moving.editing{ padding:9px 16px; text-align:center; }
.s-promo.moving.editing .pr-txt{ display:inline-block; white-space:normal; }
.canvas.editor .s-promo .pr-txt[contenteditable]:focus{
  outline:2px dashed rgba(255,255,255,.8); outline-offset:3px; border-radius:4px;
}

/* (8) „Cifre / Rezultate" ignora setările de culoare: cifrele, etichetele și
   antetul foloseau culori fixe. Acum respectă setările secțiunii, cu vechile
   valori ca implicite. */
.s-stats .st-n{ color:var(--ls-num, var(--ls-accent)); }
.s-stats .st-l{ color:var(--ls-body, var(--ls-text-soft, #6B7C93)); }
.s-stats.band .st-n{ color:var(--ls-num, #fff); }
.s-stats.band .st-l{ color:var(--ls-body, #fff); }
.s-stats.band .s-head h2{ color:var(--ls-title, #fff); }
.s-stats.band .s-head p{ color:var(--ls-subtitle, #fff); }
.s-stats.cols .st-n{ color:var(--ls-num, var(--ls-accent)); }
.s-stats.cols .st-l{ color:var(--ls-card-text-soft, var(--ls-body, #6B7C93)); }

/* ==========================================================================
   v3.7 (pct 6) — LOGO-URI: BANDĂ AUTOMATĂ, LĂȚIME, TONURI DE GRI
   ========================================================================== */
.s-logos.full > .lg-track{ width:100%; }
.s-logos .lg-run{ animation-duration:26s; }
.s-logos.sp-lent .lg-run{ animation-duration:44s; }
.s-logos.sp-rapid .lg-run{ animation-duration:15s; }
/* tonurile de gri devin opționale */
.s-logos .lg-img, .s-logos .lg-cell .s-img{ filter:none; opacity:1; }
.s-logos.gray .lg-img, .s-logos.gray .lg-cell .s-img{ filter:grayscale(1); opacity:.6; }
.s-logos.gray .lg-cell:hover .lg-img{ filter:none; opacity:1; }
/* banda discretă: mai îngustă, fundal subtil, sigle mai mici */
.s-logos.band.thin{ padding:16px 0; background:var(--ls-accent-soft, #F6F9FC); }
.s-logos.band.thin .lg-title{ font-size:11.5px; margin-bottom:12px; }
.s-logos.band.thin .lg-img, .s-logos.band.thin .lg-cell .s-img{ width:80px; height:30px; }
.s-logos.band.thin .lg-run{ gap:34px; }

/* ==========================================================================
   v3.7 (pct 9) — CASETE DE IMAGINE: BUTON ÎN MIJLOC, „×" ÎN COLȚ
   Butonul de încărcare stătea într-un colț și se tăia. Acum e centrat cât
   timp caseta e goală; după ce pui poza, rămâne doar un „×" discret în colț.
   ========================================================================== */
.canvas.editor .s-img{ position:relative; }
/* caseta GOALĂ: unelte centrate, pe fundal punctat */
.canvas.editor .s-img:not([style*="background-image"]) .s-imgtools{
  position:absolute; left:50%; top:50%; transform:translate(-50%, -50%);
  display:flex; flex-wrap:wrap; gap:5px; justify-content:center;
  opacity:1; pointer-events:auto; width:max-content; max-width:92%;
}
.canvas.editor .s-img:not([style*="background-image"]) .s-imghint{
  position:absolute; left:50%; bottom:10px; transform:translateX(-50%);
  white-space:nowrap; font-size:10.5px; opacity:.75;
}
/* caseta UMPLUTĂ: doar „×" în colț, restul apare la hover */
.canvas.editor .s-img[style*="background-image"] .s-imgtools{
  position:absolute; top:7px; right:7px; left:auto; bottom:auto; transform:none;
  opacity:0; transition:opacity .15s ease; display:flex; gap:4px;
}
.canvas.editor .s-img[style*="background-image"]:hover .s-imgtools{ opacity:1; }
.canvas.editor .s-img[style*="background-image"] .s-imghint{ display:none; }
.canvas.editor .s-img[style*="background-image"] .s-imgtools button[data-imgdel]{
  width:26px; height:26px; padding:0; border-radius:50%;
  background:#fff; color:#B42318; box-shadow:0 2px 8px rgba(10,37,64,.3);
  display:grid; place-items:center; font-size:0;
}
.canvas.editor .s-img[style*="background-image"] .s-imgtools button[data-imgdel]::after{
  content:"×"; font-size:17px; line-height:1; font-weight:700;
}
@media (hover: none){
  .canvas.editor .s-img[style*="background-image"] .s-imgtools{ opacity:1; }
}

/* ==========================================================================
   v3.7 (pct 14) — PRODUS DE VÂNZARE
   ========================================================================== */
.s-product{ padding:64px 0; background:var(--ls-bg); }
.s-product .pd-wrap{ display:grid; gap:20px; }
.s-product.single .pd-wrap{ grid-template-columns:1fr; }
.s-product.grid .pd-wrap{ grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }
.s-product .pd-card{
  position:relative; display:grid; gap:26px; align-items:center;
  background:var(--ls-card-bg, #fff); border:1px solid var(--ls-card-line, var(--ls-line, #E6EBF1));
  border-radius:var(--ls-radius-card, 16px); padding:24px;
  color:var(--ls-card-text, var(--ls-text, #0A2540));
}
.s-product.single .pd-card{ grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); }
.s-product.grid .pd-card{ grid-template-columns:1fr; gap:16px; align-items:start; }
.s-product .pd-pic .s-img, .s-product .pd-img{
  width:100%; aspect-ratio:4/3; border-radius:var(--ls-radius-img, 12px);
  background-size:cover; background-position:center; background-color:var(--ls-accent-soft, #EEF3F8);
}
.s-product .pd-name{ font-family:var(--ls-font); font-size:clamp(20px,2.4vw,27px); font-weight:800;
  margin:0 0 10px; color:var(--ls-title, var(--ls-card-text, #0A2540)); }
.s-product .pd-price{ display:flex; align-items:baseline; gap:6px; margin-bottom:14px; }
.s-product .pd-amount{ font-family:var(--ls-font); font-size:clamp(26px,3vw,34px); font-weight:800;
  letter-spacing:-.02em; color:var(--ls-accent); }
.s-product .pd-unit{ font-size:14px; font-weight:700; color:var(--ls-card-text-soft, #6B7C93); }
.s-product .pd-desc{ font-size:15px; line-height:1.6; margin:0 0 20px;
  color:var(--ls-body, var(--ls-card-text-soft, #425466)); }
.s-product .pd-cta .s-btn{ display:inline-block; }
.s-product.grid .pd-cta .s-btn{ display:block; text-align:center; }
.s-product .pd-note{ font-size:12.5px; margin:12px 0 0; color:var(--ls-card-text-soft, #6B7C93); }
.s-product .pd-del{
  position:absolute; top:10px; right:10px; z-index:3; width:26px; height:26px;
  border:0; border-radius:50%; cursor:pointer; background:#fff; color:#B42318;
  box-shadow:0 2px 8px rgba(10,37,64,.2); display:grid; place-items:center;
  opacity:0; transition:opacity .15s ease;
}
.s-product .pd-card:hover .pd-del{ opacity:1; }
.s-product .pd-add{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  min-height:180px; cursor:pointer; border:2px dashed var(--ls-accent, #0A6EF2);
  background:transparent; color:var(--ls-accent, #0A6EF2); font:700 14px/1.3 inherit;
}
.s-product .pd-add:hover{ background:var(--ls-accent-soft, #E7F0FF); }
.s-product .pd-add-ic{ width:40px; height:40px; border-radius:50%; background:var(--ls-accent, #0A6EF2); color:#fff; display:grid; place-items:center; }
/* fereastra de comandă */
.ord-price{ font-size:17px; font-weight:800; color:var(--ls-accent, #0A6EF2); margin:0 0 16px; }
.ord-done{ text-align:center; padding:14px 0 6px; }
.ord-tick{
  width:62px; height:62px; margin:0 auto 14px; border-radius:50%;
  background:#ECFDF3; color:#067647; font-size:30px; display:grid; place-items:center;
}
.ord-done h4{ font-family:var(--ls-font); font-size:19px; font-weight:800; margin:0 0 8px; }
.ord-done p{ margin:0 0 4px; font-size:15px; }
.ord-sub{ color:var(--ls-text-soft, #6B7C93); font-size:13.5px; }
@container site (max-width: 760px){
  .s-product.single .pd-card{ grid-template-columns:1fr; gap:18px; }
}
@media (hover: none){ .s-product .pd-del{ opacity:1; } }

/* ==========================================================================
   v3.7 (pct 15) — UNDE NE GĂSEȘTI
   ========================================================================== */
.s-map{ padding:64px 0; background:var(--ls-bg); }
.s-map .mp-split{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr); gap:42px; align-items:center; }
.s-map .s-head.left{ text-align:left; margin-bottom:20px; }
.s-map .s-head.left h2{ text-align:left; }
.s-map .s-head.left p{ text-align:left; margin-left:0; }
.s-map .mp-row{ display:flex; align-items:flex-start; gap:11px; margin-bottom:12px; font-size:15.5px;
  color:var(--ls-body, var(--ls-text-soft, #425466)); }
.s-map .mp-ic{ color:var(--ls-accent); flex:none; display:grid; margin-top:1px; }
.s-map .mp-hours{ list-style:none; margin:18px 0 22px; padding:0; display:flex; flex-direction:column; gap:6px; }
.s-map .mp-hours li{ font-size:14.5px; color:var(--ls-body, var(--ls-text-soft, #425466));
  display:flex; justify-content:space-between; gap:16px; max-width:330px;
  padding-bottom:6px; border-bottom:1px dashed var(--ls-line, #E6EBF1); }
.s-map .mp-frame{ position:relative; border-radius:var(--ls-radius-card, 16px); overflow:hidden;
  box-shadow:0 18px 40px -26px rgba(10,37,64,.5); background:#E8EFF7; }
.s-map .mp-frame iframe{ display:block; width:100%; height:100%; min-height:340px; border:0; }
/* în builder, harta nu trebuie să „fure" clicurile de la editare */
.canvas.editor .s-map .mp-shield{ position:absolute; inset:0; cursor:default; background:transparent; }
.s-map.wide .mp-frame{ border-radius:0; margin-top:28px; }
.s-map.wide .mp-frame iframe{ min-height:400px; }
.s-map.wide .s-head.left{ text-align:center; }
.s-map.wide .s-head.left h2, .s-map.wide .s-head.left p{ text-align:center; }
.s-map.wide .mp-row, .s-map.wide .mp-hours li{ justify-content:center; }
.s-map.wide .mp-info{ text-align:center; }
.s-map.wide .mp-hours{ align-items:center; }
.s-map.wide .mp-cta{ text-align:center; }
@container site (max-width: 860px){
  .s-map .mp-split{ grid-template-columns:1fr; gap:26px; }
  .s-map .mp-frame iframe{ min-height:280px; }
}

/* ==========================================================================
   v3.7 (pct 2) — FORMULAR „PE UN RÂND"
   Câmpurile esențiale pe orizontală, butonul la capăt. Pe ecrane mici trec
   automat unul sub altul, ca să rămână utilizabile.
   ========================================================================== */
.s-form.inline{ padding:48px 0; }
.s-form.inline .s-formbox.inline-box{
  max-width:none; width:100%; box-sizing:border-box; margin:22px 0 0; padding:20px;
}
.s-form.inline .fline-row{
  display:grid; gap:12px; align-items:end;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
}
.s-form.inline .fline-row .ff{ margin:0; min-width:0; }
.s-form.inline .fline-row .ff-go{ display:flex; align-items:flex-end; }
.s-form.inline .fline-row .ff-go .s-btn{ width:100%; text-align:center; }
.s-form.inline .fnote, .s-form.inline .fmsg{ margin-top:12px; text-align:center; }
@container site (max-width: 640px){
  .s-form.inline .fline-row{ grid-template-columns:1fr; }
}

/* ==========================================================================
   v3.7 (pct 10) — RECENZII ÎN BANDĂ: ADAUGĂ / ȘTERGE
   În editor banda stă pe loc și se derulează cu degetul, ca să poți lucra
   pe carduri. Pe site rulează automat.
   ========================================================================== */
.s-reviews.marquee.editing .rv-strip{
  display:flex; gap:16px; overflow-x:auto; padding:8px 2px 14px;
  scroll-snap-type:x proximity; overscroll-behavior-x:contain;
}
.s-reviews.marquee.editing .rv-strip .rv-cell{ flex:0 0 280px; scroll-snap-align:start; position:relative; }
.s-reviews .rv-del{
  position:absolute; top:-8px; right:-8px; z-index:3; width:24px; height:24px;
  border:0; border-radius:50%; cursor:pointer; background:#fff; color:#B42318;
  box-shadow:0 2px 8px rgba(10,37,64,.25); display:grid; place-items:center;
  opacity:0; transition:opacity .15s ease, transform .15s ease;
}
.s-reviews .rv-cell:hover .rv-del{ opacity:1; }
.s-reviews .rv-del:hover{ transform:scale(1.12); }
.s-reviews .rv-add{
  flex:0 0 200px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; min-height:150px; cursor:pointer; border:2px dashed var(--ls-accent, #0A6EF2);
  border-radius:var(--ls-radius-card, 14px); background:transparent;
  color:var(--ls-accent, #0A6EF2); font:700 13px/1.3 inherit;
}
.s-reviews .rv-add:hover{ background:var(--ls-accent-soft, #E7F0FF); }
.s-reviews .rv-add-ic{ width:34px; height:34px; border-radius:50%; background:var(--ls-accent, #0A6EF2); color:#fff; display:grid; place-items:center; }
@media (hover: none){ .s-reviews .rv-del{ opacity:1; } }

/* ==========================================================================
   v3.9.2 — LIZIBILITATE PE TELEFON
   Secțiunile noi foloseau `@media`, care măsoară fereastra browserului. Dar
   în builder lățimea care contează e cea a CADRULUI (butoanele telefon /
   tabletă), măsurată cu `@container`. De aceea nu se adaptau acolo.
   Mai jos, praguri gândite pentru citit pe un ecran îngust.
   ========================================================================== */

/* ---- PREȚURI ---- */
@container site (max-width: 900px){
  .s-prices .pr-wrap{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .s-prices .pr-card.featured{ transform:none; }   /* nu mai iese din rând */
}
@container site (max-width: 640px){
  /* pe telefon, trei coloane devin ilizibile: trecem pe una singură */
  .s-prices{ padding:44px 0; }
  .s-prices .pr-wrap{ grid-template-columns:1fr !important; gap:14px; }
  .s-prices .pr-card{ padding:22px 20px; }
  .s-prices .pr-amount{ font-size:32px; }
  .s-prices .pr-name{ font-size:16px; margin-bottom:10px; }
  .s-prices .pr-feat{ margin-bottom:18px; }
  .s-prices .pr-badge{ font-size:10.5px; padding:4px 10px; }
  /* varianta „listă" nu mai încearcă trei coloane pe un rând */
  .s-prices.list .pr-card{ grid-template-columns:1fr; gap:10px; text-align:left; }
  .s-prices.list .pr-cta .s-btn{ width:100%; text-align:center; }
  .s-prices .pr-add{ min-height:150px; }
}

/* ---- INFO + FORMULAR ---- */
@container site (max-width: 720px){
  /* coloanele se așază una sub alta; textul nu mai e strivit */
  .s-formsplit{ gap:24px; }
  .s-forminfo h2{ font-size:24px; }
  .s-forminfo p{ font-size:15px; }
  .s-forminfo .fline{ font-size:14.5px; }
  .s-form .s-formsplit .s-formbox{ margin-top:0; }
}
@container site (max-width: 560px){
  .s-form{ padding:48px 0; }
  .s-formsplit{ gap:20px; }
  .s-forminfo h2{ font-size:21px; margin-bottom:10px; }
  .s-forminfo p{ font-size:14.5px; margin-bottom:16px; }
  /* datele de contact: iconiță și text pe același rând, fără să se rupă urât */
  .s-forminfo .fline{ align-items:flex-start; gap:9px; margin-bottom:9px; line-height:1.45; }
  .s-forminfo .fline .fi{ margin-top:2px; flex:none; }
  .s-formbox{ padding:20px 16px; }
  .s-form .ff{ margin-bottom:11px; }
  .s-form .fin{ font-size:16px; }   /* sub 16px, iOS mărește singur pagina */
  .s-form .frow2{ grid-template-columns:1fr; gap:0; }
}

/* ---- PRODUS ȘI HARTĂ, aceleași praguri ---- */
@container site (max-width: 720px){
  .s-product.single .pd-card{ grid-template-columns:1fr; gap:18px; }
  .s-product.grid .pd-wrap{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .s-map .mp-split{ grid-template-columns:1fr; gap:24px; }
}
@container site (max-width: 560px){
  .s-product{ padding:44px 0; }
  .s-product.grid .pd-wrap{ grid-template-columns:1fr; }
  .s-product .pd-name{ font-size:20px; }
  .s-product .pd-amount{ font-size:26px; }
  .s-map .mp-frame iframe{ min-height:240px; }
  .s-map .mp-hours li{ max-width:none; }
}

/* ---- CIFRE ȘI PAȘI ---- */
@container site (max-width: 640px){
  .s-stats .st-wrap{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
  .s-stats.big .st-cell + .st-cell{ border-left:0; }
  .s-steps.orizontal .sp-wrap{ grid-template-columns:1fr; }
  .s-steps.orizontal .sp-cell:not(:last-child)::after{ display:none; }
  .s-steps.carduri .sp-wrap{ grid-template-columns:1fr; }
}
