/*
Theme Name: MoveCare
Theme URI: https://movecare.ro
Author: MoveCare Team
Description: Temă WordPress pentru MoveCare - Mobilitate cu Inimă
Version: 1.0.0
License: Proprietar
Copyright: © 2026 MoveCare. Toate drepturile rezervate.
Text Domain: movecare
*/


:root{
  --orange:#F95301;
  --orange-deep:#E04400;
  --red:#AD390F;
  --ink:#1c1a18;
  --ink-soft:#5b5550;
  --cream:#FBF7F2;
  --cream-2:#F4ECE3;
  --line:#ece3d8;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;color:var(--ink);background:var(--white);line-height:1.65;font-weight:300;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;line-height:1.15;font-weight:700;letter-spacing:-0.01em}
a{text-decoration:none;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.eyebrow{font-family:'Montserrat',sans-serif;font-weight:600;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.92rem;padding:.85em 1.6em;border-radius:100px;transition:.25s;cursor:pointer;border:none;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--orange),var(--red));color:#fff;box-shadow:0 8px 22px rgba(249,83,1,.28)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(249,83,1,.38)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--orange);color:var(--orange)}
.btn-light{background:#fff;color:var(--red)}
.btn-light:hover{transform:translateY(-2px)}
.btn-sm{padding:.6em 1.2em;font-size:.84rem}

/* ===== HEADER ===== */
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.nav img{height:40px}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.92rem;color:var(--ink-soft);transition:.2s}
.nav-links a:hover{color:var(--orange)}
.nav-cta{display:flex;gap:12px;align-items:center}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer}
.burger span{width:24px;height:2px;background:var(--ink)}
.nav-mobile-acct{display:none}
.nav-mobile-cta{display:none}
.nav-mobile-secondary{display:none}

/* ===== HERO ===== */
.hero{position:relative;background:linear-gradient(165deg,var(--cream) 0%,var(--cream-2) 100%);overflow:hidden}
.hero::before{content:'';position:absolute;top:-15%;right:-8%;width:520px;height:520px;background:radial-gradient(circle,rgba(249,83,1,.12),transparent 68%);border-radius:50%}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding:90px 0 100px;position:relative}
.hero h1{font-size:3.5rem;font-weight:800;margin:18px 0 22px}
.hero h1 .accent{background:linear-gradient(120deg,var(--orange),var(--red));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero p.lead{font-size:1.18rem;color:var(--ink-soft);max-width:520px;margin-bottom:34px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center}
.hero-card{background:#fff;border-radius:26px;padding:34px;box-shadow:0 30px 70px rgba(120,60,20,.13);width:100%;max-width:380px}
.hero-card .heart-ic{width:64px;margin-bottom:18px}
.hero-card h3{font-size:1.25rem;margin-bottom:8px}
.hero-card p{font-size:.96rem;color:var(--ink-soft);margin-bottom:20px}
.loop{display:flex;flex-direction:column;gap:0}
.loop-step{display:flex;gap:14px;align-items:flex-start;padding:14px 0;position:relative}
.loop-step:not(:last-child)::after{content:'';position:absolute;left:17px;top:42px;bottom:-2px;width:2px;background:linear-gradient(var(--orange),var(--cream-2))}
.loop-num{flex:none;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--red));color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Montserrat';font-weight:700;font-size:.9rem;z-index:1}
.loop-txt strong{display:block;font-family:'Montserrat';font-weight:600;font-size:.95rem}
.loop-txt span{font-size:.86rem;color:var(--ink-soft)}

/* ===== VALUES ===== */
.section{padding:96px 0}
.section-head{text-align:center;max-width:640px;margin:0 auto 56px}
.section-head h2{font-size:2.4rem;margin:14px 0 16px}
.section-head p{color:var(--ink-soft);font-size:1.05rem}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.value{background:var(--cream);border-radius:22px;padding:38px 32px;transition:.3s;border:1px solid transparent}
.value:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:0 20px 40px rgba(120,60,20,.08)}
.value .ic{width:54px;height:54px;border-radius:15px;background:linear-gradient(135deg,var(--orange),var(--red));display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.value .ic svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2}
.value h3{font-size:1.25rem;margin-bottom:10px}
.value p{color:var(--ink-soft);font-size:.96rem}

/* ===== HOW IT WORKS ===== */
.how{background:var(--cream)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.step{position:relative;padding-top:20px}
.step .n{font-family:'Montserrat';font-weight:800;font-size:2.6rem;color:var(--orange);opacity:.25;line-height:1}
.step h4{font-size:1.08rem;margin:8px 0 8px}
.step p{font-size:.9rem;color:var(--ink-soft)}

/* ===== IMPACT ===== */
.impact{background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;position:relative;overflow:hidden}
.impact::before{content:'';position:absolute;top:-30%;left:-5%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.1),transparent 70%);border-radius:50%}
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center;position:relative}
.impact .num{font-family:'Montserrat';font-weight:800;font-size:3.4rem;line-height:1}
.impact .lbl{font-size:1rem;opacity:.92;margin-top:8px}
.impact-intro{text-align:center;max-width:600px;margin:0 auto 56px;position:relative}
.impact-intro h2{font-size:2.3rem;margin-bottom:14px}
.impact-intro p{opacity:.92}

/* ===== DONATE ===== */
.donate-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.donate-text h2{font-size:2.4rem;margin:14px 0 18px}
.donate-text p{color:var(--ink-soft);font-size:1.05rem;margin-bottom:18px}
.donate-list{list-style:none;margin-bottom:30px}
.donate-list li{display:flex;gap:12px;align-items:flex-start;margin-bottom:13px;font-size:.98rem}
.donate-list .check{flex:none;width:24px;height:24px;border-radius:50%;background:rgba(249,83,1,.12);display:flex;align-items:center;justify-content:center}
.donate-list .check svg{width:13px;height:13px;stroke:var(--orange);stroke-width:3;fill:none}
.donate-card{background:linear-gradient(165deg,var(--cream),var(--cream-2));border-radius:28px;padding:42px;text-align:center;box-shadow:0 24px 60px rgba(120,60,20,.1)}
.donate-card h3{font-size:1.3rem;margin-bottom:6px}
.donate-card .sub{color:var(--ink-soft);font-size:.92rem;margin-bottom:26px}
.freq-toggle{display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:100px;padding:5px;margin-bottom:22px}
.freq{flex:1;border:none;background:transparent;font-family:'Montserrat';font-weight:600;font-size:.84rem;padding:.7em;border-radius:100px;cursor:pointer;color:var(--ink-soft);transition:.2s}
.freq.active{background:linear-gradient(135deg,var(--orange),var(--red));color:#fff}
.tiers{display:flex;gap:12px;justify-content:center;margin-bottom:24px}
.tier{flex:1;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:18px 10px;cursor:pointer;transition:.2s}
.tier:hover,.tier.active{border-color:var(--orange);background:#fff;box-shadow:0 8px 20px rgba(249,83,1,.14)}
.tier .amt{font-family:'Montserrat';font-weight:700;font-size:1.4rem;color:var(--orange)}
.tier .desc{font-size:.78rem;color:var(--ink-soft);margin-top:4px}
.donate-card .btn{width:100%;justify-content:center}
.donate-note{font-size:.8rem;color:var(--ink-soft);margin-top:16px}

/* ===== PARTNERS ===== */
.partners{background:var(--cream)}
.plogos{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center;margin-top:10px}
.plogo{background:#fff;border-radius:14px;padding:22px 34px;font-family:'Montserrat';font-weight:600;color:var(--ink-soft);font-size:.95rem;border:1px solid var(--line)}
.partner-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px}
.pcat{text-align:center;padding:30px 18px;background:#fff;border-radius:18px;border:1px solid var(--line)}
.pcat .pic{width:48px;height:48px;margin:0 auto 16px;border-radius:13px;background:rgba(249,83,1,.1);display:flex;align-items:center;justify-content:center}
.pcat .pic svg{width:24px;height:24px;stroke:var(--orange);fill:none;stroke-width:1.8}
.pcat h4{font-size:1rem;margin-bottom:6px}
.pcat p{font-size:.84rem;color:var(--ink-soft)}

/* ===== CTA STRIP ===== */
.cta-strip{padding:80px 0}
.cta-box{background:linear-gradient(135deg,var(--ink),#2e2a26);border-radius:30px;padding:64px 56px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;position:relative;overflow:hidden}
.cta-box::before{content:'';position:absolute;right:-60px;bottom:-60px;width:280px;height:280px;background:radial-gradient(circle,rgba(249,83,1,.22),transparent 70%);border-radius:50%}
.cta-box .eyebrow{position:relative}
.cta-box h2{color:#fff;font-size:2.1rem;margin-bottom:0;position:relative}
.cta-box p{color:rgba(255,255,255,.7);position:relative;max-width:480px;margin:0 auto}
.cta-box .actions{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:12px;position:relative}

/* ===== FOOTER ===== */
footer{background:var(--ink);color:#fff;padding:70px 0 0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px}
footer .flogo{height:44px;margin-bottom:18px}
.foot-about p{color:rgba(255,255,255,.6);font-size:.92rem;max-width:300px}
footer h5{font-family:'Montserrat';font-weight:600;font-size:.95rem;margin-bottom:18px}
.foot-links{list-style:none}
.foot-links li{margin-bottom:11px}
.foot-links a{color:rgba(255,255,255,.62);font-size:.9rem;transition:.2s}
.foot-links a:hover{color:var(--orange)}
.foot-contact{color:rgba(255,255,255,.62);font-size:.9rem}
.foot-contact div{margin-bottom:10px}
.foot-contact a{color:rgba(255,255,255,.62);transition:.2s}
.foot-contact a:hover{color:var(--orange)}
.socials{display:flex;gap:12px;margin-top:18px}
.socials a{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:.2s}
.socials a:hover{background:var(--orange)}
.socials svg{width:20px;height:20px;fill:#fff}

/* EU banner */
.eu-banner{border-top:1px solid rgba(255,255,255,.1);padding:26px 0;display:flex;gap:22px;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center}
.eu-flag{flex:none;width:64px;height:43px}
.eu-stars{font-size:1.5rem;color:#FFD617;letter-spacing:-2px}
.eu-text{color:rgba(255,255,255,.65);font-size:.82rem;max-width:680px;line-height:1.55}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;color:rgba(255,255,255,.45);font-size:.82rem}
.foot-bottom a{color:rgba(255,255,255,.45);text-decoration:none}
.foot-bottom a:hover{color:var(--orange);text-decoration:underline}

/* ===== RESPONSIVE ===== */
/* BUG FIX (12.07.2026): meniul complet (6 linkuri + 3 butoane + comutator RO/EN)
   nu mai încape pe orizontală mult mai devreme decât 900px — la lățimi între
   ~900-1250px apărea o zonă albă în dreapta și butoanele se înghesuiau, pentru
   că .nav-links rămânea vizibil deși nu avea loc. Soluție: pragul la care trece
   pe meniul burger (deja funcțional) e ridicat la 1250px. Restul regulilor
   pentru layout mobil (hero, values, grid-uri) rămân neschimbate la 900px mai
   jos, pentru că acelea chiar sunt gândite pentru ecrane mici. */
@media(max-width:1250px){
  .nav-links{display:none}
  .nav-cta .btn:not(.burger-btn){display:none}
  .burger{display:flex}
}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:40px;padding:60px 0 70px}
  .hero h1{font-size:2.5rem}
  .values,.steps,.partner-cats{grid-template-columns:1fr 1fr}
  .donate-grid,.cta-box{grid-template-columns:1fr}
  .impact-grid{grid-template-columns:1fr}
  .impact .num{font-size:2.8rem}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .values,.steps,.partner-cats,.foot-grid{grid-template-columns:1fr}
  .hero h1{font-size:2.1rem}
  .tiers{flex-direction:column}
}
.foot-contact .wa-line{margin-top:2px}
.foot-contact .wa-line a{display:inline-flex;align-items:center;gap:8px}
.foot-contact .wa-line svg{width:17px;height:17px;fill:#25D366;flex:none}
.sal-sol-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}
.sal-sol-row a{display:inline-block;border-radius:4px;overflow:hidden;opacity:.92;transition:.2s;flex:none}
.sal-sol-row a:hover{opacity:1;transform:translateY(-1px)}
.anpc-badge{display:block;width:135px;height:auto}


/* === WordPress-specific additions === */
.site-content { min-height: 60vh; }
img.attachment-post-thumbnail { max-width: 100%; height: auto; }

/* === Mobile burger menu === */
@media (max-width: 1250px) {
  .nav-links.open {
    display: flex !important;
    flex-direction: column;
    position: fixed;
    top: 78px;
    left: 0;
    right: 0;
    background: rgba(255,255,255,0.99);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 20px 28px;
    gap: 4px;
    border-bottom: 1px solid var(--line, #ece3d8);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    z-index: 9999;
  }
  .nav-links.open a {
    padding: 12px 0;
    font-size: 1rem;
    border-bottom: 1px solid var(--line, #ece3d8);
    color: var(--ink, #1c1a18);
    text-decoration: none;
  }
  .nav-links.open a:last-child {
    border-bottom: none;
  }
  .nav-links.open .nav-mobile-acct {
    display: block;
    font-weight: 600;
    color: var(--orange, #D9622B) !important;
  }
  .nav-links.open .nav-mobile-cta {
    display: block;
    background: var(--orange, #D9622B);
    color: #fff !important;
    text-align: center;
    border-radius: 8px;
    padding: 12px !important;
    margin: 6px 0;
    font-weight: 600;
    border-bottom: none !important;
  }
  /* BUG FIX (26.07.2026): "Devino partener" / "Devino șofer" existau doar ca butoane
     ghost în .nav-cta, care e complet ascuns pe mobil — pe telefon nu mai apăreau
     nicăieri în meniu. Sunt acum duplicate în .nav-links (vezi header.php) cu clasa
     .nav-mobile-secondary, stilizate ca buton secundar (contur, nu fundal plin), ca să
     nu concureze vizual cu CTA-ul principal "Oferă o cursă" de mai jos. */
  .nav-links.open .nav-mobile-secondary {
    display: block;
    box-sizing: border-box;
    text-align: center;
    border: 1.5px solid var(--orange, #D9622B);
    color: var(--orange, #D9622B) !important;
    border-radius: 8px;
    padding: 12px !important;
    margin: 6px 0 0;
    font-weight: 600;
  }
  .burger.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }
  .burger.open span:nth-child(2) {
    opacity: 0;
  }
  .burger.open span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }
  .burger span {
    transition: transform 0.25s, opacity 0.25s;
    display: block;
  }
  header {
    position: relative;
  }
}

/* === Fix socials SVG icons — exclude from global size fix === */
.socials a svg,
.socials svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  fill: #fff !important;
  display: block !important;
}
.foot-contact .wa-line svg {
  width: 17px !important;
  height: 17px !important;
  max-width: 17px !important;
  fill: #25D366 !important;
}


/* ===== COMPREHENSIVE RESPONSIVE FIXES ===== */

/* Intermediate breakpoint - nav crowding */
@media (max-width: 1100px) {
  .nav-links { gap: 18px; }
  .nav-links a { font-size: .85rem; }
  .nav-cta .btn { font-size: .8rem; padding: .7em 1.2em; }
}

/* Mobile - wrap padding */
@media (max-width: 900px) {
  .wrap { padding: 0 24px !important; }
}
@media (max-width: 600px) {
  .wrap { padding: 0 20px !important; }
  /* Fix: "padding: 50px 0 60px" zerorizează stânga/dreapta (sintaxa shorthand cu
     3 valori pune 0 pe left+right), lipind titlul de marginea ecranului pe
     paginile care folosesc .hero-inner (despre-noi, servicii etc.). Folosim
     doar sus/jos, ca să nu se atingă padding-ul orizontal moștenit de la .wrap. */
  .hero-inner { padding-top: 50px !important; padding-bottom: 60px !important; }
}

/* Hero text padding on all screens */
/* Fix: regulile vechi zerorizau padding-left pe .hero-grid și lăsau doar 6px pe
   .hero-text, ceea ce lipea titlul de marginea ecranului pe mobil/laptop îngust.
   Folosim padding-ul normal de la .wrap, cu puțin aer în plus pe dreapta. */
.hero-text { padding-right: 10px; }

/* CTA actions wrap nicely on mobile */
@media (max-width: 600px) {
  .cta-actions { flex-direction: column; align-items: center; }
  .cta-actions .btn { width: 100%; max-width: 320px; justify-content: center; }
}

/* Siluete decorative (.deco-ill): dimensiunea li se seta inline (width/height în px),
   gândită pentru desktop. Pe ecrane înguste rezultau prea mari și acopereau textul.
   Regulile de mai jos au !important ca să învingă stilul inline, iar height:auto
   păstrează proporția originală a fiecărei siluete (nu se deformează). */
@media (max-width: 900px) {
  .deco-ill { width: min(38%, 150px) !important; height: auto !important; }
}
@media (max-width: 600px) {
  .deco-ill { width: min(30%, 100px) !important; height: auto !important; opacity: .12 !important; }
}

/* Inimile din cutiile CTA (.cta-box / .wm-box) stau chiar în colțul de jos, exact
   sub butoane/text - dacă rămân la dimensiunea generală de mai sus, ajung să intre
   sub butoane pe ecrane înguste. Aici sunt mai mici decât siluetele obișnuite,
   verificat să nu se mai suprapună cu butoanele pe niciun mobil/tabletă.
   Poziția e mutată de la colțul exact (bottom:-4px;left:-4px) la un mic offset
   (bottom/left pozitiv) - altfel border-radius:30px al cutiei "mușca" din inimă
   o bucată foarte mare (proporțional cu o inimă mică de 36-64px), dând impresia
   că e tăiată/ruptă. Cu offsetul, inima e mică, dar completă și elegantă. */
@media (max-width: 900px) {
  .cta-box .deco-ill, .wm-box .deco-ill { width: 64px !important; height: auto !important; bottom: 14px !important; left: 14px !important; }
}
@media (max-width: 600px) {
  .cta-box .deco-ill, .wm-box .deco-ill { width: 40px !important; height: auto !important; opacity: .16 !important; bottom: 12px !important; left: 12px !important; }
}

/* ============================================================
   FORMINATOR FORMS — skin ca să se integreze cu designul site-ului
   Aplicat la formularele Contact, Devino șofer, Devino partener (RO + EN)
   ============================================================ */

.forminator-ui{ font-family:'Poppins',sans-serif; }

/* Etichete */
.forminator-ui .forminator-label{
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:.88rem;
  color:var(--ink);
}
.forminator-ui .forminator-required{ color:var(--orange); }

/* Inputuri text, textarea, select (trigger) */
.forminator-ui .forminator-input,
.forminator-ui .forminator-textarea,
.forminator-ui .select2-container.forminator-select .select2-selection--single{
  font-family:'Poppins',sans-serif !important;
  font-size:.96rem !important;
  min-height:48px;
  padding:.85em 1.1em !important;
  border:1.5px solid var(--line) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  transition:.2s;
}
.forminator-ui .forminator-textarea{ min-height:130px; resize:vertical; }

.forminator-ui .forminator-input:focus,
.forminator-ui .forminator-textarea:focus,
.forminator-ui .select2-container.forminator-select.select2-container--focus .select2-selection--single,
.forminator-ui .select2-container.forminator-select.select2-container--open .select2-selection--single{
  outline:none !important;
  border-color:var(--orange) !important;
  box-shadow:0 0 0 3px rgba(249,83,1,.1) !important;
}
.forminator-ui ::placeholder{ color:#b3a89d; opacity:1; }

/* Aliniere interioară select2 */
.forminator-ui .select2-container.forminator-select .select2-selection--single{
  display:flex; align-items:center; height:auto !important;
}
.forminator-ui .select2-container.forminator-select .select2-selection__rendered{
  padding:0 !important; line-height:1.4 !important; color:var(--ink) !important;
}
.forminator-ui .select2-container.forminator-select .select2-selection__arrow{
  height:100% !important; right:14px !important;
}
.forminator-ui .select2-container.forminator-select .select2-selection__arrow b{
  border-color:var(--ink-soft) transparent transparent transparent !important;
}

/* Panoul dropdown al select2 (Forminator îl atașează la <body>, nu în interiorul formularului) */
.forminator-select-dropdown{
  font-family:'Poppins',sans-serif;
  border:1.5px solid var(--line) !important;
  border-radius:12px !important;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(120,60,20,.16) !important;
  margin-top:6px;
}
.forminator-select-dropdown .select2-results__option{ padding:.7em 1.1em; font-size:.94rem; }
.forminator-select-dropdown .select2-results__option--highlighted[aria-selected]{
  background:var(--orange) !important; color:#fff !important;
}
.forminator-select-dropdown .select2-results__option[aria-selected="true"]{
  background:var(--cream);
}

/* Grupuri radio/checkbox → rând de "pastile" */
.forminator-ui .forminator-field-radio .forminator-field,
.forminator-ui .forminator-field-checkbox .forminator-field{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:8px;
}
.forminator-ui .forminator-field-radio .forminator-field > .forminator-label,
.forminator-ui .forminator-field-checkbox .forminator-field > .forminator-label{
  flex:1 0 100%; margin-bottom:2px;
}
.forminator-ui .forminator-radio,
.forminator-ui .forminator-checkbox{
  display:flex !important; align-items:center; gap:9px; position:relative;
  padding:.75em 1.15em; border:1.5px solid var(--line); border-radius:12px;
  cursor:pointer; font-size:.9rem; font-weight:500; color:var(--ink);
  background:#fff; transition:.2s;
}
.forminator-ui .forminator-radio:hover,
.forminator-ui .forminator-checkbox:hover{ border-color:var(--orange); }
.forminator-ui .forminator-radio:has(input:checked),
.forminator-ui .forminator-checkbox:has(input:checked){
  border-color:var(--orange); background:rgba(249,83,1,.06); color:var(--orange); font-weight:600;
}
.forminator-ui .forminator-radio:focus-within,
.forminator-ui .forminator-checkbox:focus-within{
  outline:2px solid rgba(249,83,1,.35); outline-offset:2px;
}
.forminator-ui .forminator-radio-bullet,
.forminator-ui .forminator-checkbox-box{
  width:18px; height:18px; flex:none; border:1.5px solid var(--line);
  position:relative; transition:.2s; background:#fff;
}
.forminator-ui .forminator-radio-bullet{ border-radius:50%; }
.forminator-ui .forminator-checkbox-box{ border-radius:5px; }
.forminator-ui input:checked ~ .forminator-radio-bullet,
.forminator-ui input:checked ~ .forminator-checkbox-box{
  border-color:var(--orange); background:var(--orange);
}
.forminator-ui input:checked ~ .forminator-radio-bullet::after{
  content:''; position:absolute; inset:4px; border-radius:50%; background:#fff;
}
.forminator-ui input:checked ~ .forminator-checkbox-box::after{
  content:''; position:absolute; left:5px; top:1px; width:5px; height:9px;
  border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);
}
.forminator-ui input[type="radio"],
.forminator-ui input[type="checkbox"]{
  position:absolute; opacity:0; width:18px; height:18px; margin:0; cursor:pointer;
}

/* Bloc de consimțământ — card discret, nu pastilă */
.forminator-ui .forminator-checkbox__wrapper{
  display:flex; gap:12px; align-items:flex-start;
  background:var(--cream); padding:16px 18px; border-radius:14px; margin-top:6px;
}
.forminator-ui .forminator-checkbox__wrapper .forminator-checkbox{
  border:none !important; padding:0 !important; background:transparent !important;
  align-items:flex-start; font-weight:400;
}
.forminator-ui .forminator-checkbox__wrapper .forminator-checkbox:hover{ border-color:transparent; }
.forminator-ui .forminator-checkbox__wrapper .forminator-checkbox-box{ margin-top:2px; }
.forminator-ui .forminator-checkbox-label{ font-size:.85rem; color:var(--ink-soft); line-height:1.55; font-weight:400 !important; }

/* Buton de trimitere */
.forminator-ui .forminator-button-submit{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  width:100%; font-family:'Montserrat',sans-serif !important; font-weight:600 !important;
  font-size:1rem !important; padding:1em !important; border-radius:100px !important;
  border:none !important; cursor:pointer;
  background:linear-gradient(135deg,var(--orange),var(--red)) !important;
  color:#fff !important; box-shadow:0 8px 22px rgba(249,83,1,.28); transition:.25s;
}
.forminator-ui .forminator-button-submit:hover{
  transform:translateY(-2px); box-shadow:0 12px 28px rgba(249,83,1,.38);
}

/* Mesaje de eroare / răspuns */
.forminator-ui .forminator-error-message{ color:var(--red); font-size:.82rem; margin-top:6px; }
.forminator-ui .forminator-input.forminator-has-error,
.forminator-ui .forminator-textarea.forminator-has-error,
.forminator-ui .select2-container.forminator-select.forminator-has-error .select2-selection--single{
  border-color:var(--red) !important;
}
.forminator-ui .forminator-response-message{
  border-radius:12px; padding:14px 18px; font-size:.92rem; margin-top:16px;
}
.forminator-ui .forminator-response-message.forminator-success{
  background:rgba(60,160,90,.1); border:1px solid rgba(60,160,90,.3); color:#2c7a44;
}
.forminator-ui .forminator-response-message.forminator-error{
  background:rgba(220,60,40,.08); border:1px solid rgba(220,60,40,.25); color:var(--red);
}

@media(max-width:600px){
  .forminator-ui .forminator-radio,
  .forminator-ui .forminator-checkbox{ flex:1 1 100%; justify-content:flex-start; }
}
