/* ============================================================
   cos-finalizare.css — zona coș + finalizare (încărcat condiționat de inc/enqueue.php)
   Adăugiri peste secțiunea 21 „Pagina de coș” a machetei: formularul WooCommerce al coșului, finalizarea
   în două coloane (.finalizare), rezumatul (.rezumat), opțiunile de plată, butonul de comandă, confirmarea.
   Fără hex: culorile vin din :root.
   ============================================================ */

/* coșul: formularul WooCommerce poartă clasele listei; cuponul și „Actualizează” în .cos-actiuni */
.cos-lista-wrap { min-width: 0; }
.cos-lista { list-style: none; margin: 0; padding: 0; }
.cos-actiuni { flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); }
.cos-actiuni .cos-actualizeaza { margin-left: auto; }
.cos-actiuni .cos-actualizeaza:disabled { opacity: .45; cursor: default; }
.cos-cupon { display: flex; gap: 8px; align-items: center; }
.cos-cupon label { position: relative; display: block; }
.cos-cupon input { height: 44px; min-width: 220px; border-radius: 999px; border: 1px solid var(--vena); background: var(--alb); padding: 0 16px 0 40px; font: inherit; font-size: 14px; }
.cos-cupon input:focus { outline: 0; border-color: var(--auriu); box-shadow: var(--halo-focus); }
.cos-rand__sterge.remove { text-decoration: none; }
.cos-rand .cantitate input { -moz-appearance: textfield; }
.cos-totaluri .cart_totals > h2 { margin: 0 0 var(--s-3); }
.cos-totaluri .wc-proceed-to-checkout { margin-top: var(--s-3); }
.cos-totaluri .optiuni { margin-top: var(--s-2); }
.cos-totaluri__rand--livrare > span .pret { font-size: 15px; }
.cos-totaluri__rand .pret { font-size: 17px; }
.cos-totaluri__rand--total .pret { font-size: 24px; }
.cos-rand__media img { mix-blend-mode: multiply; }
.cos-rand__media--plansa img { mix-blend-mode: normal; }
.woocommerce-cart-form .blockUI.blockOverlay { border-radius: var(--raza-m); }

/* finalizarea: două coloane (formular 1fr | rezumat 400px), rezumatul lipicios pe desktop */
.finalizare { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: var(--s-5); align-items: start; padding: var(--s-5) 0 var(--s-8); }
.finalizare__formular { display: grid; gap: var(--s-4); min-width: 0; }
.bloc-formular { padding: var(--s-4) var(--s-5); border-radius: var(--raza-m); border: 1px solid var(--linie); background: var(--alb); }
.bloc-formular > h2 { display: flex; align-items: center; gap: 10px; font-size: 20px; margin: 0 0 6px; }
.bloc-formular > h2 .ic { color: var(--auriu-text); }
.bloc-formular > .text-ajutator { margin: 0 0 var(--s-3); }
.bloc-formular--livrare:empty, .bloc-formular--livrare:not(:has(*)) { display: none; }
.bloc-formular .woocommerce-additional-fields { margin-top: var(--s-3); }
.bloc-formular .woocommerce-additional-fields > h3 { display: flex; align-items: center; gap: 10px; font-size: 17px; margin: 0 0 var(--s-2); }
.woocommerce-shipping-fields #ship-to-different-address { margin: 0; font-size: 15px; }
.finalizare__rezumat { position: sticky; top: calc(var(--h-antet) + var(--s-3)); }
.rezumat__linii { list-style: none; margin: 0 0 var(--s-3); padding: 0; display: grid; gap: 12px; }
.rezumat__linie { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.rezumat__mini { position: relative; width: 56px; height: 56px; border-radius: var(--raza-xs); background: var(--marmura); display: grid; place-items: center; overflow: hidden; isolation: isolate; }
.rezumat__mini img { width: 84%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
.rezumat__mini--plansa img { width: 100%; height: 160%; object-fit: cover; margin-top: -30%; mix-blend-mode: normal; }
.rezumat__mini i { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--grafit); color: var(--pe-inchis); font: 600 11px/20px var(--f-titlu); text-align: center; font-style: normal; z-index: 1; }
.rezumat__nume { display: grid; min-width: 0; }
.rezumat__nume b { font-size: 14px; font-weight: 600; color: var(--grafit); }
.rezumat__nume small { font-size: 12.5px; }
.rezumat__linie .pret { font-size: 15px; }
.rezumat__subtitlu { display: flex; align-items: center; gap: 10px; font-size: 17px; margin: var(--s-4) 0 var(--s-2); }
.rezumat__subtitlu .ic { color: var(--auriu-text); }
#payment .optiuni { list-style: none; margin: 0; padding: 0; }
#payment .optiune { display: block; padding: 0; }
#payment .optiune__eticheta { display: flex; align-items: center; gap: 14px; padding: 14px 16px; cursor: pointer; }
#payment .optiune__detalii { padding: 0 16px 14px 70px; font-size: 14px; color: var(--grafit-2); }
#payment .optiune__detalii p { margin: 0; }
#payment .optiune img { display: none; }
#payment .bifa input[type="radio"] { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--vena); display: grid; place-items: center; background: var(--alb); margin: 0; }
#payment .bifa input[type="radio"]::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pe-auriu); transform: scale(0); transition: transform var(--t); }
#payment .bifa input[type="radio"]:checked { background: var(--grad-aur); border-color: transparent; }
#payment .bifa input[type="radio"]:checked::before { transform: scale(1); }
.plaseaza { display: grid; gap: var(--s-3); margin-top: var(--s-4); padding-top: var(--s-3); border-top: 1px solid var(--linie); }
.plaseaza noscript { font-size: 13px; color: var(--grafit-3); }
.bifa-termeni { align-items: flex-start; }
.bifa-termeni a { color: var(--auriu-text); text-decoration: underline; text-underline-offset: 3px; }
.bifa--eroare input { border-color: var(--rosu); box-shadow: 0 0 0 3px var(--rosu-fundal); }
#place_order { width: 100%; }
.woocommerce-checkout .blockUI.blockOverlay { border-radius: var(--raza-m); }
.woocommerce-form-coupon-toggle, .woocommerce-form-login-toggle { margin: 0 0 var(--s-3); }
.woocommerce-form-coupon-toggle .nota, .woocommerce-form-login-toggle .nota { margin: 0; }
.checkout_coupon.woocommerce-form-coupon, .woocommerce-form-login.login { padding: var(--s-3) var(--s-4); margin: 0 0 var(--s-3); border-radius: var(--raza-m); border: 1px solid var(--linie); background: var(--alb); display: grid; gap: 12px; }
.checkout_coupon .form-row { display: grid; }
.woocommerce-NoticeGroup { margin-bottom: var(--s-3); }
.woocommerce-NoticeGroup .nota ul { margin: 0; padding: 0 0 0 18px; }

/* confirmarea comenzii („Mulțumim”) */
.woocommerce-order { padding: var(--s-5) 0 var(--s-8); display: grid; gap: var(--s-4); }
.woocommerce-order .pasi { justify-content: flex-start; }
.woocommerce-thankyou-order-received { font-family: var(--f-titlu); font-size: 26px; font-weight: 600; color: var(--grafit); }
.woocommerce-order-overview { list-style: none; margin: 0; padding: var(--s-3) var(--s-4); display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; border-radius: var(--raza-m); border: 1px solid var(--linie); background: var(--alb); }
.woocommerce-order-overview li { font-size: 13px; color: var(--grafit-3); display: grid; gap: 4px; }
.woocommerce-order-overview strong { font-size: 15px; color: var(--grafit); }
.woocommerce-order-details, .woocommerce-customer-details { padding: var(--s-4); border-radius: var(--raza-m); border: 1px solid var(--linie); background: var(--alb); }
.woocommerce-order-details h2, .woocommerce-customer-details h2 { font-size: 20px; margin: 0 0 var(--s-3); }
.woocommerce-table--order-details { width: 100%; border-collapse: collapse; font-size: 15px; }
.woocommerce-table--order-details th, .woocommerce-table--order-details td { padding: 10px 0; border-bottom: 1px solid var(--linie); text-align: left; }
.woocommerce-table--order-details tfoot th { font-weight: 500; color: var(--grafit-3); }
.woocommerce-table--order-details tfoot tr:last-child td, .woocommerce-table--order-details tfoot tr:last-child th { font-family: var(--f-titlu); font-weight: 600; font-size: 18px; color: var(--grafit); border-bottom: 0; }
.woocommerce-customer-details address { font-style: normal; line-height: 1.6; }

@media (max-width: 1180px) { .finalizare { grid-template-columns: minmax(0, 1fr) 360px; } }
@media (max-width: 900px) {
	.finalizare { grid-template-columns: 1fr; gap: var(--s-4); padding-bottom: var(--s-6); }
	.finalizare__rezumat { position: static; }
	.bloc-formular { padding: var(--s-3); }
	.cos-actiuni { flex-direction: column; align-items: stretch; }
	.cos-actiuni .cos-actualizeaza { margin-left: 0; align-self: flex-start; }
	.cos-cupon { width: 100%; }
	.cos-cupon label { flex: 1; min-width: 0; }
	.cos-cupon input { min-width: 0; width: 100%; }
	.cos-rand--complet, .cos-lista-wrap, .cos-totaluri { max-width: 100%; min-width: 0; }
	.woocommerce-shipping-methods .optiune { min-width: 0; }
	.optiune__text { min-width: 0; overflow-wrap: anywhere; }
}

/* ---------- Reparații runda 2 (27.10.2026) ---------- */
/* cuponul: steaua centrată vertical în câmp; eroarea WooCommerce 11 (p.coupon-error-notice, în .coupon) pe rândul următor, ca .nota--eroare */
.cos-cupon { position: relative; flex-wrap: wrap; align-items: center; }
.cos-cupon label { display: flex; align-items: center; flex: 1 1 220px; min-width: 0; }
.cos-cupon label .ic { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--grafit-3); pointer-events: none; }
.cos-cupon input { padding-left: 44px; }
.cos-cupon #coupon_code.has-error { border-color: var(--rosu); box-shadow: 0 0 0 3px var(--rosu-fundal); }
.cos-cupon .coupon-error-notice { flex-basis: 100%; order: 3; margin: 4px 0 0; padding: 10px 14px; border-radius: var(--raza-s); background: var(--rosu-fundal); color: var(--rosu); font-size: 13.5px; line-height: 1.45; }
/* „Actualizează coșul”: cu JS, cantitatea se actualizează singură (cart.js „apasă” butonul ascuns); fără JS rămâne vizibil */
html.js .woocommerce-cart-form button[name="update_cart"] { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cos-actiuni { position: relative; }
/* opțiunile de livrare: fără sigla modulului FAN Courier (cerere externă spre selfawb.ro) și fără imagini în etichete */
.woocommerce-shipping-methods img, .optiune img, .optiune__text img { display: none !important; }
.cos-totaluri__nota-card { margin-top: 8px; }
/* finalizare: grupul de erori de validare (prepend de checkout.js direct în form.finalizare) ocupă ambele coloane ale grilei */
.finalizare > .woocommerce-NoticeGroup, .finalizare > .woocommerce-notices-wrapper, .finalizare > .nota { grid-column: 1 / -1; align-self: start; margin: 0; }
.finalizare .woocommerce-NoticeGroup .nota { margin: 0 0 var(--s-2); }
.finalizare .woocommerce-NoticeGroup .nota:last-child { margin-bottom: 0; }
.finalizare .woocommerce-NoticeGroup ul.woocommerce-error { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
/* blocul FANbox al modulului (punctul de ridicare) în sumar: lizibil, cu butonul hărții ca .btn--contur */
.cos-totaluri [class*="fanbox"], .cos-totaluri [id*="fanbox"], .cos-totaluri [class*="fan-courier"] { font-size: 14px; line-height: 1.5; }
.cos-totaluri [class*="fan"] button, .cos-totaluri [class*="fan"] a.button, .cos-totaluri [class*="fan"] .button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; margin-top: 8px; border-radius: 999px; border: 1px solid var(--vena); background: var(--alb); color: var(--grafit); font-family: var(--f-titlu); font-weight: 600; font-size: 14px; }
#place_order:disabled { opacity: .55; cursor: not-allowed; }
