/* Constructorul de cerere de pe paginile de servicii (site/constructor.mjs, 23.10.2026).
   Tokenurile (--primary, --line, --slate900, --hero1) vin din antetul paginii. */
.cf-sec .sec-head{margin-bottom:28px}
.cf{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start;max-width:1080px;margin:0 auto}
.cf-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 28px;box-shadow:0 18px 40px -30px rgba(15,60,62,.45)}
.cf-form[hidden],.cf-rez[hidden],.cf-gata[hidden],.cf-pas[hidden],.cf-err[hidden],.cf-alerta[hidden],.cf-rez-gol[hidden]{display:none}

/* Pasii */
.cf-pasi{list-style:none;margin:0 0 22px;padding:0;display:flex;gap:6px;counter-reset:none}
.cf-pasi li{flex:1;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;background:#f3f7f7;color:#5b7372;font:600 13.5px/1.25 'Inter',sans-serif}
.cf-pasi li > span:first-child{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#fff;border:1.5px solid #c9d8d7;font-size:12px;font-variant-numeric:tabular-nums}
.cf-pasi li[aria-current="step"]{background:rgba(22,131,135,.1);color:var(--slate900)}
.cf-pasi li[aria-current="step"] > span:first-child{border-color:var(--primary);background:var(--primary);color:#fff}
.cf-pasi li.is-gata > span:first-child{border-color:var(--primary);color:var(--primary)}

/* Intrebarile */
.cf-q{border:0;margin:0 0 20px;padding:0;min-width:0}
.cf-q legend,.cf-camp > label{display:block;font-weight:700;color:var(--slate900);font-size:15.5px;margin:0 0 9px;padding:0}
.cf-opt{display:flex;flex-wrap:wrap;gap:8px}
.cf-opt label{position:relative;display:flex;align-items:flex-start;gap:9px;cursor:pointer;border:1px solid var(--line);background:#fbfdfd;color:#26403f;font-size:14.5px;line-height:1.4;transition:border-color .15s,background .15s}
.cf-opt label:hover{border-color:var(--primary)}
.cf-opt input{accent-color:var(--primary)}
.cf-opt label:has(input:checked){border-color:var(--primary);background:rgba(22,131,135,.08);color:var(--slate900)}
.cf-opt label:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}
.cf-opt--chips label{padding:9px 14px;border-radius:999px;align-items:center}
.cf-opt--chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.cf-opt--chips label:has(input:checked){background:var(--primary);color:#fff}
.cf-opt--lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.cf-opt--lista label{padding:11px 13px;border-radius:12px}
.cf-opt--lista input{margin-top:2px;flex:none}

/* Campurile */
.cf-camp{margin:0 0 16px}
.cf-camp > label b{color:#b91c1c}
.cf-camp > label small,.cf-camp > small{font-weight:500;color:#6b8180;font-size:13px}
.cf-camp > small{display:block;margin-top:6px}
.cf-camp input,.cf-camp textarea,.cf-camp select{width:100%;box-sizing:border-box;font:inherit;font-size:15px;color:var(--slate900);background:#fff;border:1px solid #cfdcdb;border-radius:11px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}
.cf-camp textarea{resize:vertical;min-height:84px;line-height:1.5}
.cf-camp input:focus,.cf-camp textarea:focus,.cf-camp select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,131,135,.15)}
.cf-camp [aria-invalid="true"]{border-color:#dc2626}
.cf-doua{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.cf-err{margin:6px 0 0;color:#b91c1c;font-size:13.5px;font-weight:600}
.cf-pas > .cf-err{margin:-8px 0 12px}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-alerta{margin:4px 0 14px;padding:12px 14px;border-radius:12px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:14.5px;line-height:1.5}
.cf-legal{margin:14px 0 0;font-size:13px;color:#6b8180}
.cf-legal a{color:var(--primary)}

/* Navigarea intre pasi */
.cf-nav{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:8px;padding-top:18px;border-top:1px solid var(--line)}
.cf-nav .btn{border:0;cursor:pointer;font:inherit;font-weight:700}
.cf-nav .btn[disabled]{opacity:.65;cursor:progress}
.cf-inapoi{margin-right:auto;background:none;border:0;padding:8px 4px;color:#46605e;font:600 14.5px/1 'Inter',sans-serif;cursor:pointer}
.cf-inapoi:hover{color:var(--primary)}

/* Rezumatul */
.cf-rez{position:sticky;top:96px;background:var(--hero1,#0b2528);color:#d7e7e6;border-radius:20px;padding:22px 22px 20px}
.cf-rez h3{margin:0 0 12px;color:#fff;font-size:17px}
.cf-rez-gol{margin:0 0 14px;font-size:14px;color:#9bb7b6;line-height:1.5}
.cf-rez dl{margin:0 0 16px;display:grid;gap:9px}
.cf-rez dt{font:700 11px/1.3 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#5eead4}
.cf-rez dd{margin:2px 0 0;font-size:14px;line-height:1.45;color:#fff;overflow-wrap:anywhere}
.cf-rez h4{margin:0 0 8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);color:#fff;font-size:14px}
.cf-urm{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:7px}
.cf-urm li{position:relative;padding-left:20px;font-size:13.5px;line-height:1.5;color:#c7dcdb}
.cf-urm li::before{content:"";position:absolute;left:2px;top:6px;width:9px;height:5px;border-left:2px solid #5eead4;border-bottom:2px solid #5eead4;transform:rotate(-45deg)}
.cf-complet{color:#5eead4;font-size:13.5px;font-weight:600}

/* Dupa trimitere */
.cf-gata{grid-column:1 / -1;max-width:620px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 28px}
.cf-gata:focus{outline:none}
.cf-gata-i{display:inline-block;width:52px;height:52px;border-radius:50%;background:rgba(22,131,135,.12);position:relative;margin-bottom:12px}
.cf-gata-i::after{content:"";position:absolute;left:17px;top:15px;width:18px;height:10px;border-left:3px solid var(--primary);border-bottom:3px solid var(--primary);transform:rotate(-45deg)}
.cf-gata h3{margin:0 0 8px;color:var(--slate900);font-size:22px}
.cf-gata p{margin:0 0 10px;color:#3c5453}
.cf-gata-ref b{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--slate900)}
.cf-gata a{color:var(--primary);font-weight:600}

@media (max-width:900px){
  .cf{grid-template-columns:1fr}
  .cf-rez{position:static}
}
@media (max-width:560px){
  .cf-form{padding:18px 16px;border-radius:16px}
  .cf-pasi li{padding:8px;justify-content:center}
  .cf-pasi li > span:last-child{display:none}
  .cf-pasi li[aria-current="step"] > span:last-child{display:inline}
  .cf-doua{grid-template-columns:1fr}
  .cf-opt--lista{grid-template-columns:1fr}
}
