/* ============================================================
   Checkout FD.STIL — strat modern peste abj.css / stiluri inline
   Cos (list_ecom) + Date client (add_ecomclient) + Confirmare.
   Limbaj: Playfair Display + Inter, alama #b08d57, hairline calde.
   ============================================================ */

:root {
  --co-ink:     #1d1812;
  --co-text:    #3c3733;
  --co-muted:   #8d8577;
  --co-brass:   #b08d57;
  --co-brass-d: #96754a;
  --co-line:    #E7E1D6;
  --co-soft:    #FAF7F2;
  --co-field:   #E1DACD;
}

/* ---- baza ---- */
body.gridlock.custom-order, body.gridlock.custom-order p,
.custom-order li, .custom-order label, .custom-order span,
.custom-order input, .custom-order select, .custom-order textarea {
  font-family: 'Inter','Helvetica Neue',Helvetica,Arial,sans-serif !important;
}
.custom-order ul li { color: var(--co-text); font-size: 13px; }

/* ---- antet: titlul si sina de pasi pe acelasi rand, pe o linie fina comuna ---- */
.fds-co-head {
  max-width: 960px; margin: 0 auto 22px; padding: 24px 16px 0; text-align: left;
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 6px 30px; flex-wrap: wrap; border-bottom: 1px solid var(--co-line);
}
.fds-co-head h1 {
  font-family: 'Playfair Display',Georgia,serif !important;
  font-weight: 400 !important; font-size: clamp(26px,4vw,36px) !important;
  color: var(--co-ink) !important; margin: 0 !important; padding: 0 0 10px !important;
  letter-spacing: 0 !important; line-height: 1.1 !important;
}
.fds-steps { display: flex; gap: 26px; border-bottom: none; padding: 0; margin: 0; }
.fds-steps span {
  font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--co-muted); padding: 8px 2px 12px; border-bottom: 2px solid transparent;
  margin-bottom: -1px; white-space: nowrap;
}
.fds-steps span.on { color: #000; border-bottom-color: #000; font-weight: 600; }
@media (max-width:610px){
  .fds-co-head{gap:2px 16px;}
  .fds-steps{gap:16px;}
  .fds-steps span{font-size:10px;letter-spacing:.12em;padding-bottom:10px;}
}

/* ---- carduri ---- */
.custom-order .round-box {
  background: #fff !important; border: 1px solid var(--co-line) !important;
  border-radius: 14px !important; box-shadow: 0 8px 26px rgba(29,24,18,.045) !important;
  padding: 22px 24px 18px !important; margin: 0 auto 18px !important;
  max-width: 960px;
}
.custom-order fieldset { border: none !important; margin: 0 !important; padding: 0 !important; }
.custom-order legend {
  font-family: 'Playfair Display',Georgia,serif !important;
  font-size: 19px !important; color: var(--co-ink) !important;
  font-weight: 400 !important; margin: 0 0 10px !important; padding: 0 !important;
}

/* produsele din cos */
.custom-order .round-box img[src*="images/"] { border-radius: 10px; }
.custom-order .round-box ul { list-style: none !important; padding-left: 0 !important; margin: 6px 0; }
.custom-order .round-box ul li { color: var(--co-muted) !important; font-size: 12.5px !important; line-height: 1.6; }
.custom-order .round-box ul li b { color: var(--co-text); font-weight: 500; }

/* ---- spinner cantitate: caseta unitara in limbajul butoanelor (rama neagra, 10px) ---- */
.custom-order .wan-spinner {
  border: 1px solid #000 !important; background: #fff !important; border-radius: 10px !important;
}
.custom-order .wan-spinner .minus, .custom-order .wan-spinner .plus {
  background: #fff !important; color: #1d1812 !important;
  border: none !important; font-weight: 300 !important;
}
.custom-order .wan-spinner .minus { border-radius: 9px 0 0 9px !important; }
.custom-order .wan-spinner .plus { border-radius: 0 9px 9px 0 !important; }
.custom-order .wan-spinner .minus:hover, .custom-order .wan-spinner .plus:hover {
  background: #C0C4CC !important; color: #1d1812 !important;
}
.custom-order .wan-spinner input {
  border: none !important; border-left: 1px solid #e3e5ea !important; border-right: 1px solid #e3e5ea !important;
  border-radius: 0 !important; color: var(--co-ink) !important;
}

/* ---- butoane: acelasi limbaj ca pe pagina de produs (.bcos / .lp-wa) ---- */
/* secundar (Continua cumparaturile, Sterge produsul) = alb cu rama neagra, ca .lp-wa */
.custom-order a.button, .custom-order .button {
  font-family: 'Inter',Helvetica,Arial,sans-serif !important;
  background: #fff !important; background-image: none !important;
  border: 1px solid #000 !important; border-radius: 10px !important;
  color: #1d1812 !important; font-size: 12px !important; font-weight: 500 !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  padding: 14px 22px !important; line-height: 1 !important; text-shadow: none !important;
  transition: background .25s ease !important;
  cursor: pointer;
}
.custom-order a.button:hover, .custom-order .button:hover {
  background: #C0C4CC !important; border-color: #000 !important; color: #1d1812 !important;
}
/* principal (Finalizeaza comanda) = negru, ca .bcos: hover alb cu rama neagra,
   tranzitie 300ms doar la intrare (definita pe :hover, revenirea e instantanee) */
.custom-order a.fds-co-primary {
  background: #000 !important; border: 1px solid #000 !important; color: #fff !important;
  font-weight: 600 !important; letter-spacing: .5px !important;
  padding: 14px 28px !important; transition: none !important;
}
.custom-order a.fds-co-primary:hover {
  background: #fff !important; border-color: #000 !important; color: #000 !important;
  transition: border .3s ease, background-color .3s ease, color .3s ease !important;
}
@media (prefers-reduced-motion: reduce) { .custom-order a.fds-co-primary:hover { transition: none !important; } }

/* ---- totaluri ---- */
.custom-order .fds-co-total { border-top: 1px solid var(--co-line) !important; }
.custom-order .fds-co-total ul li { font-size: 14px !important; color: var(--co-muted) !important; }
.custom-order .fds-co-total ul li span:first-child { color: var(--co-muted); }
.custom-order .fds-co-total ul li[style*="border-top"] {
  border-top: 1px solid var(--co-line) !important; color: var(--co-ink) !important;
}
.custom-order .fds-co-total #tot, .custom-order .fds-co-total #totb {
  font-family: 'Playfair Display',Georgia,serif !important;
  font-size: 26px; font-weight: 400; color: var(--co-ink);
}
.fds-co-colet { max-width: 960px; margin: 0 auto 26px; padding: 0 16px; text-align: right;
  font-size: 11.5px; color: var(--co-muted); letter-spacing: .04em; }

/* ---- formular date client ---- */
.custom-order form p { margin: 0 0 12px; text-align: left; }
.custom-order label {
  font-size: 11px !important; letter-spacing: .14em; text-transform: uppercase;
  color: var(--co-brass-d) !important; font-weight: 500 !important;
}
.custom-order input[type="text"], .custom-order input[type="email"],
.custom-order input[type="tel"], .custom-order textarea {
  border: 1px solid var(--co-field) !important; border-radius: 10px !important;
  background: #fff !important; padding: 11px 12px !important;
  font-size: 14px !important; color: var(--co-ink) !important;
  box-shadow: none !important; height: auto !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.custom-order input[type="text"]:focus, .custom-order input[type="email"]:focus,
.custom-order input[type="tel"]:focus, .custom-order textarea:focus {
  outline: none !important; border-color: #000 !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,.08) !important;
}
/* select2 (judet / localitate) */
.custom-order .select2-container--default .select2-selection--single {
  border: 1px solid var(--co-field) !important; border-radius: 10px !important;
  height: 44px !important; padding: 7px 6px;
}
.custom-order .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px !important; }

/* segmented Beneficiar persoana / firma: taburi pe linie fina, ca sina de pasi */
.custom-order .form_toggle {
  border-bottom: 1px solid var(--co-line) !important; height: auto !important;
  margin-bottom: 20px; display: flex !important; gap: 28px; width: 100%; overflow: visible !important;
}
.custom-order .form_toggle .form_toggle-item { float: none !important; }
.custom-order .form_toggle .form_toggle-item label {
  border: none !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important;
  background: transparent !important; padding: 4px 2px 12px !important; margin: 0 !important;
  line-height: 1 !important; display: inline-block !important; cursor: pointer;
  transition: border-color .2s ease;
}
.custom-order .form_toggle .form_toggle-item span {
  font-size: 12px !important; letter-spacing: .14em !important; text-transform: uppercase !important;
  font-weight: 500 !important; color: #9aa0a8 !important; transition: color .2s ease;
}
.custom-order .form_toggle .form_toggle-item label:hover span { color: #1d1812 !important; }
.custom-order .form_toggle .form_toggle-item input[type=radio]:checked + label {
  border-bottom-color: #000 !important; background: transparent !important;
}
.custom-order .form_toggle .form_toggle-item input[type=radio]:checked + label span {
  color: #000 !important; font-weight: 600 !important;
}

/* radiourile de livrare si plata: randuri-card */
.custom-order label.radio-button {
  display: flex; align-items: center; gap: 10px;
  border: 1px solid var(--co-line); border-radius: 10px;
  padding: 11px 14px; margin: 0 0 8px; cursor: pointer; background: #fff;
  text-transform: none !important; letter-spacing: 0 !important;
  transition: border-color .2s ease, background .2s ease;
}
.custom-order label.radio-button span {
  font-size: 13.5px !important; color: var(--co-text) !important;
  letter-spacing: 0; text-transform: none;
}
.custom-order label.radio-button input[type=radio] { accent-color: #000; margin: 0; }
.custom-order label.radio-button:hover { border-color: #000; }
.custom-order label.radio-button:has(input:checked) { border-color: #000; background: #f6f7f8; }

/* butonul de trimitere (spin): acelasi limbaj ca .bcos de pe pagina de produs */
.custom-order .spin {
  border: 1px solid #000 !important; color: #1d1812 !important; border-radius: 10px !important;
  font-family: 'Inter',Helvetica,Arial,sans-serif !important;
  font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: .5px !important; text-transform: uppercase !important;
}
.custom-order .spin.processing { border-right-color: var(--co-line) !important; border-bottom-color: var(--co-line) !important; }

/* ---- confirmarea comenzii ---- */
.fds-co-thanks {
  max-width: 640px; margin: 30px auto 40px; padding: 40px 34px;
  background: #fff; border: 1px solid var(--co-line); border-radius: 14px;
  box-shadow: 0 8px 26px rgba(29,24,18,.045); text-align: left;
}
.fds-co-thanks::before { content: ""; display: block; width: 44px; height: 1px; background: var(--co-brass); margin-bottom: 22px; }
.fds-co-thanks h1 {
  font-family: 'Playfair Display',Georgia,serif !important; font-weight: 400 !important;
  font-size: 30px !important; color: var(--co-ink) !important; margin: 0 0 14px !important;
}
.fds-co-thanks p { font-size: 14px; line-height: 1.65; color: var(--co-text); margin: 0 0 10px; }
.fds-co-thanks a { color: var(--co-brass-d); text-decoration: none; border-bottom: 1px solid rgba(176,141,87,.45); }
.fds-co-thanks .mic { font-size: 12.5px; color: var(--co-muted); margin-top: 16px; }

@media (prefers-reduced-motion: reduce) {
  .custom-order a.button, .custom-order .button, .custom-order label.radio-button { transition: none !important; }
}

/* ---- finisari spatii (19 iul) ---- */
/* logourile de plata: pe randul lor, la distanta de text */
.custom-order label.radio-button span { flex: 1; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.custom-order label.radio-button span img { float: none !important; margin: 0 0 0 auto !important; }

/* politicile: rand propriu, aerisit */
.fds-co-policy { clear: both; display: flex; gap: 22px; flex-wrap: wrap; margin: 12px 0 22px; }
.fds-co-policy a { font-size: 12.5px; color: var(--co-brass-d); text-decoration: none;
  border-bottom: 1px solid rgba(176,141,87,.45); padding-bottom: 1px; }
.fds-co-policy a:hover { color: #6e5636; }

/* starea butonului Trimite comanda: dezactivat = gri onest, activ = negru (.bcos);
   hover activ = alb cu rama neagra, tranzitie doar la intrare, ca pe pagina de produs */
.custom-order .spin[disabled] { background: #faf9f7 !important; border-color: #d9dbe0 !important;
  color: #9aa0a8 !important; opacity: 1 !important; }
.custom-order .spin:not([disabled]) { background: #000 !important; color: #fff !important;
  border-color: #000 !important; transition: none !important; }
.custom-order .spin:not([disabled]):hover { background: #fff !important; border-color: #000 !important; color: #000 !important;
  transition: border .3s ease, background-color .3s ease, color .3s ease !important; }
.custom-order .spin:not([disabled]) svg { fill: currentColor; }

/* cos: aer intre poza, cod si pret */
.custom-order .round-box img[style*="float:left"], .custom-order .round-box a > img {
  margin-right: 20px !important; margin-bottom: 16px !important; }
.custom-order .round-box legend { margin: 0 0 10px !important; padding-top: 2px !important; }
.custom-order .round-box fieldset p { margin: 6px 0 14px !important; font-size: 14px; color: var(--co-text); clear: none; }

/* ---- campuri: eticheta statica deasupra, aliniata cu textul din input ---- */
.custom-order form p label {
  position: static !important; opacity: 1 !important;
  display: inline-block; margin: 0 0 7px 2px !important;
}
.custom-order input[type="text"], .custom-order input[type="email"], .custom-order input[type="tel"] {
  padding: 13px 14px !important; width: 100%; box-sizing: border-box;
}

/* ---- cos: codul nu mai pluteste, pretul primeste aer ---- */
.custom-order .round-box legend {
  float: none !important; display: block !important;
  margin: 0 0 6px !important; text-align: left !important;
}
.custom-order .round-box fieldset p { margin: 0 0 18px !important; }

/* ---- spinnerul de cantitate: exceptie de la stilul generic de input ---- */
.custom-order .wan-spinner input[type="text"] {
  padding: 0 !important; width: 56px !important; height: 42px !important;
  line-height: 42px !important; text-align: center;
  border: none !important; border-left: 1px solid #F0EBE2 !important; border-right: 1px solid #F0EBE2 !important;
  border-radius: 0 !important; background: none !important;
}

/* mobil ingust: card mai aerisit, randul de actiuni are voie sa se impacheteze */
@media (max-width: 500px) {
  .custom-order .round-box { padding: 18px 14px 16px !important; }
}

/* nstyle1692.css impune #fdstot{min-width:750px} si nu-l reseteaza intre 610-1000px;
   pe paginile de checkout pagina ramane fluida la orice latime */
#fdstot { min-width: 0 !important; }
