/* ==========================================================================
   Configuratorul de comandă — completează /assets/css/style.css
   ========================================================================== */

.cfg-body{background:var(--bg-soft)}
.cfg-body .hdr{background:rgba(246,248,252,.9)}

.cfg{display:block;padding-bottom:clamp(40px,5vw,64px)}
.cfg__layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(22px,3vw,40px);align-items:start;padding-top:clamp(22px,3vw,34px)}
@media(max-width:1000px){.cfg__layout{grid-template-columns:1fr}}

/* ---------- pașii ---------- */
.pasi{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 22px;padding:0}
.pas{display:flex;align-items:center;gap:8px;flex:none;padding:8px 14px 8px 8px;border-radius:100px;
  background:#fff;border:1px solid var(--line);cursor:pointer;transition:.16s;white-space:nowrap}
.pas:hover{border-color:#C6CEDC}
.pas i{width:24px;height:24px;border-radius:50%;background:var(--bg-soft);color:var(--muted);display:grid;place-items:center;
  font-family:var(--ff-d);font-weight:800;font-size:.78rem;font-style:normal;flex:none;transition:.16s}
.pas span{font-size:.85rem;font-weight:600;color:var(--muted)}
.pas.is-on{background:var(--ink);border-color:var(--ink)}
.pas.is-on i{background:var(--accent);color:#fff}
.pas.is-on span{color:#fff}
.pas.is-gata i{background:var(--teal);color:#fff}
.pas.is-gata span{color:var(--ink)}
@media(max-width:700px){.pas span{display:none}.pas{padding:8px}.pasi{gap:5px}}

/* ---------- panouri ---------- */
.panou{display:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(22px,3vw,36px);box-shadow:var(--shadow-sm)}
.panou.is-on{display:block;animation:cfgIn .3s cubic-bezier(.2,.7,.3,1)}
@keyframes cfgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.panou.is-on{animation:none}}
.panou h2{font-size:clamp(1.3rem,2.6vw,1.75rem);margin-bottom:8px}
.panou h3{font-size:1.1rem;margin-bottom:8px}
.panou .sub{font-size:.94rem;color:var(--muted);margin:0 0 22px;max-width:64ch}
.grup{margin-bottom:30px}
.grup:last-of-type{margin-bottom:0}
.grup__t{display:block;font-family:var(--ff-d);font-weight:800;color:var(--ink);font-size:1.02rem;margin-bottom:6px}
.grup .sub{margin-bottom:14px}
.mic{font-size:.86rem;color:var(--muted);margin:10px 0 0}
.mic-l{display:block;font-size:.84rem;font-weight:600;color:var(--ink);margin:0 0 6px}
.grup__ascuns{display:none;margin-top:14px;padding:16px 18px;background:var(--bg-soft);border-radius:12px;border:1px solid var(--line)}
.grup__ascuns.is-on{display:block}
.grup__ascuns input{width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;background:#fff;
  font-family:var(--ff);font-size:.95rem;color:var(--ink)}
.grup__ascuns input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,90,31,.12)}
/* selectorul de ani si bifa de propuneri, in caseta ascunsa a domeniului */
.grup__ascuns select{width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;
  background:#fff;font:inherit;color:var(--ink);cursor:pointer}
.grup__ascuns select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,90,31,.12)}
.grup__ascuns .mic-n{margin:8px 0 0;font-size:.82rem;color:var(--muted)}
.bifa{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px 14px;background:#fff;
  border:1.5px solid var(--line);border-radius:10px;cursor:pointer}
.bifa:hover{border-color:#C6CEDC}
.bifa input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--accent)}
.bifa b{display:block;font-size:.9rem;color:var(--ink)}
.bifa em{display:block;font-style:normal;font-size:.82rem;color:var(--muted);margin-top:3px;line-height:1.5}
.bifa i{display:block;font-style:normal;font-size:.82rem;font-weight:700;color:var(--accent);margin-top:5px}
.bifa:has(input:checked){border-color:var(--accent);background:rgba(255,90,31,.05)}

/* ---------- opțiuni ---------- */
.grup-et{font-family:var(--ff-d);font-weight:800;font-size:.82rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin:0 0 12px;display:flex;align-items:center;gap:10px}
.grup-et::after{content:"";flex:1;height:1px;background:var(--line)}
.grup-et--2{margin-top:26px}
.alege{display:grid;gap:11px}
.alege--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.alege--bife{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:620px){.alege--2,.alege--bife{grid-template-columns:1fr}}
.op{position:relative;cursor:pointer;display:block}
.op input{position:absolute;opacity:0;width:0;height:0}
.op__b{display:block;border:1.5px solid var(--line);border-radius:14px;padding:15px 17px 15px 46px;
  background:#fff;transition:border-color .15s, background .15s, box-shadow .15s;position:relative;height:100%}
.op__b::before{content:"";position:absolute;left:16px;top:17px;width:19px;height:19px;border:1.5px solid #C6CEDC;
  border-radius:50%;background:#fff;transition:.15s}
.alege--bife .op__b::before{border-radius:6px}
.op input:checked + .op__b{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.op input:checked + .op__b::before{border-color:var(--accent);background:var(--accent)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat}
.op input:focus-visible + .op__b{outline:3px solid var(--accent);outline-offset:2px}
.op__t{display:block;font-family:var(--ff-d);font-weight:800;color:var(--ink);font-size:1rem;line-height:1.3;margin-bottom:3px}
.op__d{display:block;font-size:.88rem;color:var(--muted);line-height:1.5}
.op__p{display:inline-block;margin-top:9px;font-family:var(--ff-d);font-weight:800;font-size:.87rem;color:var(--accent-dark);
  background:#fff;border:1px solid rgba(255,90,31,.25);padding:3px 10px;border-radius:100px}
.op input:checked + .op__b .op__p{background:#fff}
.rec{font-style:normal;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  background:var(--teal);color:#fff;padding:3px 8px;border-radius:100px;margin-left:7px;vertical-align:1px}
.alege--mare .op__b{padding-top:18px;padding-bottom:18px}

/* ---------- stepper numeric ---------- */
.stepper{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.stepper input{width:96px;padding:12px;border:1.5px solid var(--line);border-radius:11px;background:#fff;text-align:center;
  font-family:var(--ff-d);font-weight:800;font-size:1.15rem;color:var(--ink);-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,90,31,.12)}
.stepper__b{width:44px;height:44px;border:1.5px solid var(--line);background:#fff;border-radius:11px;cursor:pointer;
  font-size:1.3rem;line-height:1;color:var(--ink);font-family:var(--ff);transition:.15s;flex:none}
.stepper__b:hover{border-color:var(--ink);background:var(--bg-soft)}
.stepper__n{font-size:.88rem;color:var(--muted);font-weight:600}

/* ---------- încărcare fișiere ---------- */
.upl{position:relative;margin-bottom:12px}
.upl input[type=file]{position:absolute;opacity:0;width:0;height:0}
.upl label{display:block;border:1.5px dashed var(--line);border-radius:14px;padding:16px 18px;cursor:pointer;
  background:var(--bg-soft);transition:.16s}
.upl label:hover{border-color:var(--accent);background:var(--accent-soft)}
.upl label b{display:block;font-family:var(--ff-d);color:var(--ink);font-size:.97rem}
.upl label span{display:block;font-size:.86rem;color:var(--muted);margin-top:2px}
.upl.are label{border-style:solid;border-color:var(--teal);background:var(--teal-soft)}
.upl input:focus-visible + label{outline:3px solid var(--accent);outline-offset:2px}
.upl__l{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:5px}
.upl__l li{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--body);
  background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 11px}
.upl__l li b{font-weight:600;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upl__l li span{color:var(--muted);font-size:.8rem;flex:none}
.upl__l li.rau{border-color:#FBD3CC;background:#FFF0EE;color:#B02A15}

/* ---------- câmpuri ---------- */
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.fr2{grid-template-columns:1fr}}
.cmp{margin-bottom:16px}
.cmp label{display:block;font-family:var(--ff-d);font-weight:800;font-size:.88rem;color:var(--ink);margin-bottom:6px}
.cmp label i{color:var(--accent);font-style:normal}
.cmp input,.cmp textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;background:#fff;
  font-family:var(--ff);font-size:.98rem;color:var(--ink)}
.cmp textarea{resize:vertical;min-height:130px;line-height:1.6}
.cmp input:focus,.cmp textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,90,31,.12)}
.cmp input.rau,.cmp textarea.rau{border-color:#E0503A;box-shadow:0 0 0 4px rgba(224,80,58,.1)}
.bifa{display:flex;gap:11px;align-items:flex-start;font-size:.88rem;color:var(--muted);margin:6px 0 22px;line-height:1.55}
.bifa input{width:19px;height:19px;margin-top:2px;flex:none;accent-color:var(--accent)}
.bifa a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}

.nav-b{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid var(--line-2)}
.nav-b .btn{flex:1;min-width:170px}
.nav-b .btn--ghost{flex:0 0 auto;min-width:120px}

/* ---------- rezumatul final din pasul 7 ---------- */
.final{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin:6px 0 4px}
.final h4{font-family:var(--ff-d);font-size:1rem;color:var(--ink);margin:0 0 12px}
.final__r{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:.92rem;border-bottom:1px solid var(--line-2)}
.final__r:last-child{border-bottom:0}
.final__r b{color:var(--ink);text-align:right}
.final__t{display:flex;justify-content:space-between;gap:14px;margin-top:12px;padding-top:14px;border-top:2px solid var(--ink)}
.final__t span{font-family:var(--ff-d);font-weight:800;color:var(--ink)}
.final__t b{font-family:var(--ff-d);font-size:1.35rem;color:var(--ink)}

/* ---------- panoul lateral cu prețul ---------- */
.cfg__sumar{position:sticky;top:88px}
.sumar__in{background:var(--ink);color:#AEB7CC;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-lg)}
.sumar__in .eyebrow{color:#FF8A5C}
.sumar__in .eyebrow::before{background:#FF8A5C}
.sumar__pret{margin-bottom:16px}
.sumar__pret b{display:block;font-family:var(--ff-d);font-size:2.4rem;font-weight:800;color:#fff;line-height:1;letter-spacing:-.035em}
.sumar__pret span{display:block;font-size:.78rem;color:#8E99B2;margin-top:5px}
.sumar__termen{display:flex;gap:11px;align-items:center;background:rgba(255,255,255,.07);border-radius:12px;padding:12px 14px;margin-bottom:16px}
.sumar__termen svg{width:22px;height:22px;color:#FF8A5C;flex:none}
.sumar__termen b{display:block;font-family:var(--ff-d);color:#fff;font-size:.98rem;line-height:1.25}
.sumar__termen span{display:block;font-size:.79rem;color:#8E99B2}
.sumar__linii{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:7px;max-height:33vh;overflow-y:auto}
.sumar__linii li{display:flex;justify-content:space-between;gap:12px;font-size:.83rem;line-height:1.45;
  padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.08)}
.sumar__linii li:last-child{border-bottom:0}
.sumar__linii li span{color:#AEB7CC;min-width:0}
.sumar__linii li em{display:block;font-style:normal;font-size:.75rem;color:#6E7994}
.sumar__linii li b{color:#fff;font-weight:700;white-space:nowrap;flex:none}
.sumar__linii li.red b{color:#7FE0D0}
.sumar__jos{border-top:1px solid rgba(255,255,255,.14);padding-top:14px;margin-bottom:16px}
.sumar__r{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:3px 0}
.sumar__r b{font-family:var(--ff-d);color:#fff;font-size:1.15rem}
.sumar__r span{font-size:.88rem}
.sumar__r--mic span{font-size:.82rem;color:#8E99B2}
.sumar__r--ab{margin-top:8px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.18)}
.sumar__r--ab b{color:#7FE0D0;font-size:1rem}

/* pe mobil rezumatul devine bară fixă jos */
@media(max-width:1000px){
  .cfg__sumar{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:70}
  .sumar__in{border-radius:16px 16px 0 0;padding:14px 18px;box-shadow:0 -10px 34px -14px rgba(0,0,0,.6);
    max-height:78vh;overflow-y:auto}
  .cfg__sumar .eyebrow{display:none}
  .sumar__pret{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
  .sumar__pret b{font-size:1.6rem}
  .sumar__pret span{margin:0}
  .sumar__linii{display:none}
  .sumar__termen{margin-bottom:10px;padding:9px 12px}
  .sumar__jos{padding-top:10px;margin-bottom:10px}
  .cfg{padding-bottom:210px}
  .cfg__sumar.deschis .sumar__linii{display:grid}
}

/* Titlu de subsecțiune în pasul cu datele clientului. Datele de facturare sunt
   un bloc aparte de datele de contact — se citesc mai ușor despărțite. */
.cmp-titlu{font-family:var(--ff-d);font-weight:800;font-size:1.02rem;color:var(--ink);
  margin:26px 0 4px;padding-top:22px;border-top:1px solid var(--line-2)}
.cmp select{width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:10px;
  background:#fff;font:inherit;color:var(--ink);cursor:pointer}
.cmp select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,90,31,.12)}
