/* OnLaptop Checkout v1.7.1 (baza functionala v1.2.0 + delta afisare) — skin peste checkout-ul nativ WooCommerce
   Lățimea containerului o controlează Elementor (full width / boxed) — pluginul NU impune max-width.
   Afișarea produselor din sumar rămâne cea nativă a temei (Woodmart) — poze + text + cantitate. */

/* ══════════ 1. Elemente globale (active și în coș, fără shortcode) ══════════ */

.olc-strike{color:#94a3b8;font-weight:700;margin:0 4px}
.olc-free-badge{display:inline-flex;align-items:center;background:linear-gradient(135deg,#0f723d,#7ab843);color:#fff;font-weight:900;font-size:11.5px;letter-spacing:.02em;border-radius:999px;padding:3px 9px;vertical-align:middle;white-space:nowrap;box-shadow:0 6px 16px rgba(15,114,61,.22)}

.olc-go-banner-row td{padding:14px 0 14px!important;border:0!important}
.olc-go-banner{background:linear-gradient(135deg,rgba(233,242,224,.9),rgba(255,255,255,.96));border:1px solid rgba(15,114,61,.22);border-left:4px solid #0f723d;border-radius:14px;padding:12px 14px;color:#102018;font-size:13.5px;line-height:1.5;font-weight:700}
.olc-go-banner strong{color:#0f723d}

.olc-trust{list-style:none;margin:16px 0 0;padding:14px 16px;background:rgba(233,242,224,.55);border:1px solid rgba(15,114,61,.14);border-radius:16px;display:grid;gap:8px}
.olc-trust li{color:#102018;font-size:13.5px;font-weight:700;line-height:1.45;margin:0;padding:0;list-style:none}

/* ══════════ 2. Skin — doar în [onlaptop_checkout] ══════════ */

.olc-checkout{--green:#0f723d;--green2:#7ab843;--pale:#e9f2e0;--text:#102018;--muted:#64748b;--border:rgba(15,114,61,.16);--olc-sticky-top:110px;color:var(--text);width:100%}
.olc-checkout *{box-sizing:border-box}

/* Layout desktop: formular stânga, sumar sticky dreapta, payment jos pe toată lățimea */
.olc-checkout form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,480px);gap:24px;align-items:start;width:100%}
.olc-checkout #customer_details{grid-column:1;grid-row:1;display:block;width:100%;min-width:0}
.olc-checkout #customer_details .col-1,
.olc-checkout #customer_details .col-2{width:100%;float:none;margin:0 0 18px;padding:0}
.olc-checkout #order_review_heading{display:none}
.olc-checkout #order_review{grid-column:2;grid-row:1;position:sticky;position:-webkit-sticky;top:var(--olc-sticky-top);align-self:start;max-height:calc(100vh - var(--olc-sticky-top) - 20px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(15,114,61,.35) transparent;min-width:0}
.olc-checkout .olc-payment-slot{grid-column:1/-1;grid-row:2;width:100%;margin:6px 0 0}
.olc-checkout .woocommerce-NoticeGroup,
.olc-checkout .woocommerce-notices-wrapper{grid-column:1/-1;grid-row:auto}

/* Carduri secțiuni */
.olc-checkout .woocommerce-billing-fields,
.olc-checkout .woocommerce-shipping-fields,
.olc-checkout .woocommerce-additional-fields,
.olc-checkout #order_review,
.olc-checkout .olc-payment-slot #payment{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(233,242,224,.55));border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 16px 48px rgba(15,114,61,.08)}
.olc-checkout .woocommerce-shipping-fields,
.olc-checkout .woocommerce-additional-fields{margin-top:16px}
.olc-checkout .woocommerce-billing-fields>h3,
.olc-checkout .woocommerce-shipping-fields>h3,
.olc-checkout .woocommerce-additional-fields>h3{font-size:19px;font-weight:900;color:var(--text);margin:0 0 12px}

/* Secțiuni goale — nu apar deloc */
.olc-checkout .woocommerce-shipping-fields:not(:has(.form-row,h3,#ship-to-different-address)),
.olc-checkout .woocommerce-additional-fields:not(:has(.form-row,h3)),
.olc-checkout .olc-empty-section{display:none!important;border:0;padding:0;margin:0;box-shadow:none}

/* ── Câmpuri: grid 2 coloane care respectă clasele FCF (form-row-first/last/wide) ── */
.olc-checkout .woocommerce-billing-fields__field-wrapper,
.olc-checkout .woocommerce-shipping-fields__field-wrapper,
.olc-checkout .woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;align-items:start}
.olc-checkout .form-row{grid-column:1/-1;float:none;width:100%;margin:0 0 13px;padding:0}
.olc-checkout .form-row.form-row-first{grid-column:1}
.olc-checkout .form-row.form-row-last{grid-column:2}
.olc-checkout .form-row.form-row-wide{grid-column:1/-1}
.olc-checkout .form-row[style*="display: none"],
.olc-checkout .form-row[style*="display:none"],
.olc-checkout .form-row.olc-hidden{display:none!important}

.olc-checkout .form-row label{font-weight:800;color:var(--text);font-size:13.5px;display:block;margin-bottom:6px}
.olc-checkout .form-row label .optional{color:var(--muted);font-weight:600}
.olc-checkout .form-row .required{color:#be123c;text-decoration:none}
.olc-checkout .form-row input.input-text,
.olc-checkout .form-row textarea,
.olc-checkout .form-row select,
.olc-checkout .select2-container--default .select2-selection--single{width:100%;border:1px solid rgba(15,114,61,.18);border-radius:13px;background:#fff;padding:12px 13px;min-height:46px;color:var(--text);font:inherit;font-size:15px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:none}
.olc-checkout .select2-container--default .select2-selection--single{display:flex;align-items:center}
.olc-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.3;padding-left:0;color:var(--text)}
.olc-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px;right:8px}
.olc-checkout .form-row input.input-text:focus,
.olc-checkout .form-row textarea:focus,
.olc-checkout .form-row select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(15,114,61,.10)}
.olc-checkout .form-row.woocommerce-invalid input.input-text,
.olc-checkout .form-row.woocommerce-invalid select{border-color:#be123c;box-shadow:0 0 0 4px rgba(190,18,60,.08)}
.olc-checkout .form-row.woocommerce-validated input.input-text,
.olc-checkout .form-row.woocommerce-validated select{border-color:var(--green)}
.olc-checkout .form-row input[type=checkbox],
.olc-checkout .form-row input[type=radio]{accent-color:var(--green);width:17px;height:17px}

/* ── Sumar comandă ── */
.olc-checkout .woocommerce-checkout-review-order-table{width:100%;max-width:100%;border:0;border-collapse:collapse;margin:0;table-layout:auto}
.olc-checkout .woocommerce-checkout-review-order-table th,
.olc-checkout .woocommerce-checkout-review-order-table td{border:0;border-bottom:1px solid rgba(15,114,61,.09);padding:11px 4px;font-size:14px;color:var(--text);vertical-align:top;background:transparent;text-align:left;overflow-wrap:anywhere}
.olc-checkout .woocommerce-checkout-review-order-table thead th{font-weight:900;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.olc-checkout .woocommerce-checkout-review-order-table td.product-total,
.olc-checkout .woocommerce-checkout-review-order-table thead th.product-total{text-align:right;white-space:nowrap;font-weight:800}
.olc-checkout .woocommerce-checkout-review-order-table td:last-child,
.olc-checkout .woocommerce-checkout-review-order-table th:last-child{text-align:right}
.olc-checkout .woocommerce-checkout-review-order-table img{max-width:52px;height:auto;border-radius:10px}
.olc-checkout .woocommerce-checkout-review-order-table .product-quantity{color:var(--muted);font-weight:800;white-space:nowrap}

/* Sub-total ASCUNS — se vede doar Total */
.olc-checkout .woocommerce-checkout-review-order-table .cart-subtotal{display:none!important}

/* Meta produs — compact */
.olc-checkout .woocommerce-checkout-review-order-table dl.variation,
.olc-checkout .woocommerce-checkout-review-order-table .wc-item-meta{display:block;margin:6px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}
.olc-checkout .woocommerce-checkout-review-order-table dl.variation dt,
.olc-checkout .woocommerce-checkout-review-order-table .wc-item-meta dt{float:none;display:inline;font-weight:800;margin:0 3px 0 0;color:#334155}
.olc-checkout .woocommerce-checkout-review-order-table dl.variation dd,
.olc-checkout .woocommerce-checkout-review-order-table .wc-item-meta dd{display:inline;margin:0}
.olc-checkout .woocommerce-checkout-review-order-table dl.variation dd::after,
.olc-checkout .woocommerce-checkout-review-order-table .wc-item-meta dd::after{content:"";display:block;height:2px}
.olc-checkout .woocommerce-checkout-review-order-table dl.variation p,
.olc-checkout .woocommerce-checkout-review-order-table .wc-item-meta p{display:inline;margin:0}

.olc-checkout .woocommerce-checkout-review-order-table .order-total th,
.olc-checkout .woocommerce-checkout-review-order-table .order-total td{font-size:18px;font-weight:900;color:var(--green);border-bottom:0;padding-top:14px}

/* Metode de livrare — pe verticală, cu wrap, fără overflow orizontal */
.olc-checkout .woocommerce-shipping-totals th{font-weight:800;width:auto;white-space:nowrap;vertical-align:top;padding-top:15px}
.olc-checkout ul#shipping_method{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:100%}
.olc-checkout ul#shipping_method li{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 11px;background:#fff;border:1px solid rgba(15,114,61,.13);border-radius:13px;min-width:0}
.olc-checkout ul#shipping_method li:has(input:checked){border-color:var(--green);background:linear-gradient(135deg,rgba(233,242,224,.85),#fff)}
.olc-checkout ul#shipping_method input{margin-top:3px;accent-color:var(--green);flex:0 0 auto}
.olc-checkout ul#shipping_method label{font-weight:700;font-size:13px;line-height:1.5;cursor:pointer;margin:0;flex:1;min-width:0;overflow-wrap:anywhere}

/* ── Metode de plată — full width, cât ambele coloane ── */
.olc-checkout #payment{background:transparent;border-radius:0}
.olc-checkout .olc-payment-slot #payment{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(233,242,224,.55))}
.olc-checkout .olc-payment-slot::before{content:"Metodă de plată";display:block;font-size:19px;font-weight:900;color:var(--text);margin:0 0 12px}
.olc-checkout #payment ul.payment_methods{list-style:none;margin:0 0 14px;padding:0;border:0}
.olc-checkout #payment ul.payment_methods li{position:relative;margin:0 0 10px;padding:0;background:#fff;border:1px solid rgba(15,114,61,.14);border-radius:16px;overflow:hidden;transition:.16s ease;list-style:none}
.olc-checkout #payment ul.payment_methods li:hover{border-color:rgba(15,114,61,.3);box-shadow:0 10px 24px rgba(15,114,61,.09)}
.olc-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--green);background:linear-gradient(135deg,rgba(233,242,224,.8),#fff);box-shadow:0 12px 28px rgba(15,114,61,.12)}
.olc-checkout #payment ul.payment_methods li>input{position:absolute;left:14px;top:17px;accent-color:var(--green)}
.olc-checkout #payment ul.payment_methods li>label{display:block;padding:14px 14px 14px 40px;font-weight:800;font-size:15px;color:var(--text);cursor:pointer;margin:0}
.olc-checkout #payment ul.payment_methods li>label img{max-height:26px;vertical-align:middle;margin-left:8px;display:inline-block}
.olc-checkout #payment div.payment_box{position:relative;background:rgba(233,242,224,.5);border-top:1px solid rgba(15,114,61,.1);margin:0;padding:13px 14px 13px 40px;font-size:13.5px;color:#334155;border-radius:0}
.olc-checkout #payment div.payment_box::before{display:none}

/* Buton finalizare */
.olc-checkout #place_order{display:inline-flex;width:100%;align-items:center;justify-content:center;border:0;border-radius:16px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;font-size:17px;font-weight:900;padding:17px 20px;cursor:pointer;box-shadow:0 14px 32px rgba(15,114,61,.22);transition:.16s ease;text-transform:none}
.olc-checkout #place_order:hover{transform:translateY(-1px);box-shadow:0 18px 42px rgba(15,114,61,.3);background:linear-gradient(135deg,var(--green),var(--green2))}
.olc-checkout #place_order:disabled{opacity:.65;cursor:wait}
.olc-checkout .woocommerce-terms-and-conditions-wrapper{margin:12px 0}
.olc-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p{font-size:12.5px;color:var(--muted);line-height:1.5}

/* Erori */
.olc-checkout .woocommerce-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:14px;color:#be123c;font-weight:700;padding:14px 16px 14px 20px}
.olc-checkout .woocommerce-error li{margin:4px 0}

/* ══════════ 3. Responsive ══════════
   Ordine mobil: 1) Facturare/livrare (toate câmpurile) → 2) Sumar + metodă livrare → 3) Plată + Plasează comanda */

@media (max-width:1024px){
    .olc-checkout form.woocommerce-checkout{display:flex;flex-direction:column;gap:16px}
    .olc-checkout #customer_details{order:1;width:100%}
    .olc-checkout #order_review{order:2;width:100%;position:static;max-height:none;overflow:visible}
    .olc-checkout .olc-payment-slot{order:3;margin:0}
    .olc-checkout .olc-payment-slot::before{font-size:18px}

    .olc-checkout #payment .form-row.place-order{position:sticky;bottom:0;background:linear-gradient(to top,rgba(255,255,255,.98) 70%,rgba(255,255,255,0));padding:10px 0 12px;margin:0;z-index:5}
}

@media (max-width:560px){
    .olc-checkout .woocommerce-billing-fields,
    .olc-checkout .woocommerce-shipping-fields,
    .olc-checkout .woocommerce-additional-fields,
    .olc-checkout #order_review,
    .olc-checkout .olc-payment-slot #payment{padding:15px;border-radius:16px}
    .olc-checkout .woocommerce-billing-fields__field-wrapper,
    .olc-checkout .woocommerce-shipping-fields__field-wrapper,
    .olc-checkout .woocommerce-additional-fields__field-wrapper{grid-template-columns:1fr}
    .olc-checkout .form-row.form-row-first,
    .olc-checkout .form-row.form-row-last{grid-column:1/-1}
}

/* ===== v1.5.0 — DELTA de afisare peste baza functionala v1.2.0 (doar adaugiri) ===== */

/* Pretul taiat + badge pe rand separat, sub numele metodei; nu mai pot iesi din card */
.olc-price-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;min-width:0;max-width:100%}
.olc-free-badge{max-width:100%}
.olc-checkout ul#shipping_method li{min-width:0}
.olc-checkout ul#shipping_method label{flex:1;min-width:0;overflow-wrap:anywhere;display:block}

/* Titlu sectiune livrare (inlocuieste "Shipment") + linie despartitoare gradient */
.olc-ship-title-row td{padding:6px 0 12px!important;border:0!important;text-align:left!important}
.olc-ship-title{font-size:16px;font-weight:900;color:#0f723d;text-align:left;line-height:1.35}
.olc-ship-title::after{content:"";display:block;height:3px;border-radius:999px;background:linear-gradient(90deg,#0f723d,#7ab843 55%,rgba(122,184,67,0));margin-top:8px}

/* Eticheta nativa "Shipment" dispare; metodele ocupa toata latimea sumarului */
.olc-checkout tr.woocommerce-shipping-totals.shipping{display:block;width:100%}
.olc-checkout tr.woocommerce-shipping-totals.shipping>th{display:none!important}
.olc-checkout tr.woocommerce-shipping-totals.shipping>td{display:block;width:100%;padding:0 0 12px;border-bottom:1px solid rgba(15,114,61,.09);text-align:left}

/* Bannerul aliniat stanga indiferent de alinierea temei */
.olc-go-banner-row td{text-align:left!important}
.olc-go-banner{text-align:left}

/* ===== v1.6.0 — LAYOUT ADAPTIV (JS pune clasele pe structura reala, CSS-ul o aranjeaza) =====
   Functioneaza si cu template-ul nativ WooCommerce, si cu override-ul Woodmart
   (unde #order_review sta in div.checkout-order-review, nu direct in form). */

.olc-checkout .olc-grid-host{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,460px)!important;gap:24px!important;align-items:start!important;width:100%!important;max-width:100%!important;float:none!important}
.olc-checkout .olc-grid-host::before,
.olc-checkout .olc-grid-host::after{content:none!important;display:none!important}
.olc-checkout .olc-grid-host>#customer_details{grid-column:1!important;grid-row:1!important;width:100%!important;max-width:100%!important;float:none!important;flex:none!important;margin:0!important;padding:0!important}
.olc-checkout .olc-grid-host>.olc-col-summary{grid-column:2!important;grid-row:1!important;width:100%!important;max-width:100%!important;float:none!important;flex:none!important;margin:0!important;position:sticky!important;top:var(--olc-sticky-top)!important;align-self:start!important;max-height:calc(100vh - var(--olc-sticky-top) - 24px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;z-index:1!important}
.olc-checkout .olc-grid-host>.olc-payment-slot{grid-column:1/-1!important;grid-row:2!important;width:100%!important;max-width:100%!important;margin:18px 0 0!important;position:relative!important;z-index:3!important}
.olc-checkout .olc-grid-host>*:not(#customer_details):not(.olc-col-summary):not(.olc-payment-slot){grid-column:1/-1}

/* Scroll-ul intern sta pe #order_review, care umple wrapper-ul sticky clampat.
   Astfel sumarul nu poate depasi inaltimea ecranului si se "desprinde" inainte de blocul de plata. */
.olc-checkout .olc-col-summary #order_review{position:static!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(15,114,61,.35) transparent}
/* Cazul nativ, cand #order_review e chiar elementul de coloana */
.olc-checkout .olc-grid-host>#order_review.olc-col-summary{display:block!important;overflow-y:auto!important;overflow-x:hidden!important}
.olc-checkout .olc-col-summary>h3,
.olc-checkout #order_review_heading{display:none!important}

/* Elementele Woodmart din sumar (poza + titlu + cantitate + pret) - incadrare curata */
.olc-checkout .wd-checkout-prod{display:flex;gap:10px;align-items:flex-start;min-width:0}
.olc-checkout .wd-checkout-prod-img{flex:0 0 56px}
.olc-checkout .wd-checkout-prod-img img{width:56px;height:56px;object-fit:cover;border-radius:10px;border:1px solid rgba(15,114,61,.12)}
.olc-checkout .wd-checkout-prod-cont{flex:1;min-width:0;display:flex;gap:8px;align-items:flex-start;justify-content:space-between}
.olc-checkout .wd-checkout-prod-title{min-width:0;flex:1}
.olc-checkout .wd-checkout-prod-total{white-space:nowrap;font-weight:800}

@media (max-width:1024px){
    .olc-checkout .olc-grid-host{display:flex!important;flex-direction:column!important;gap:16px!important}
    .olc-checkout .olc-grid-host>#customer_details{order:1!important}
    .olc-checkout .olc-grid-host>.olc-col-summary{order:2!important;position:static!important;max-height:none!important;overflow:visible!important;display:block!important}
    .olc-checkout .olc-col-summary #order_review{max-height:none!important;overflow:visible!important}
    .olc-checkout .olc-grid-host>.olc-payment-slot{order:3!important;margin:0!important}
}

/* ===== v1.6.2 — Campul "Oras" al pluginului Fan Courier =====
   Cand exista selectul Fan (#billing_city_fan_select), campul nativ #billing_city_field
   se ascunde (ramane in DOM pentru sincronizare si validare). Dublura: CSS :has() + JS. */
.olc-checkout:has(#billing_city_fan_select) #billing_city_field{display:none!important}

/* Wrapper-ul Fan primeste acelasi stil de camp ca restul formularului */
.olc-checkout #billing_city_fan_wrapper{grid-column:1/-1;margin:0 0 13px}
.olc-checkout #billing_city_fan_wrapper label{font-weight:800;color:var(--text);font-size:13.5px;display:block;margin-bottom:6px}
.olc-checkout #billing_city_fan_wrapper select.fan-city-select{width:100%;border:1px solid rgba(15,114,61,.18);border-radius:13px;background:#fff;padding:12px 30px 12px 13px;min-height:46px;color:var(--text);font:inherit;font-size:15px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.olc-checkout #billing_city_fan_wrapper select.fan-city-select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(15,114,61,.10)}
.olc-checkout #billing_city_fan_wrapper.woocommerce-invalid select.fan-city-select{border-color:#be123c;box-shadow:0 0 0 4px rgba(190,18,60,.08)}

/* ===== v1.6.4 — Sticky SCOS complet de pe coloana din dreapta =====
   Sumarul curge normal in pagina; fara clamp de inaltime, fara scroll intern,
   fara overflow care taia continutul pe dreapta. */
.olc-checkout .olc-grid-host>.olc-col-summary{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;display:block!important;z-index:auto!important}
.olc-checkout .olc-col-summary #order_review{position:static!important;max-height:none!important;overflow:visible!important;flex:none!important}
.olc-checkout .olc-grid-host>#order_review.olc-col-summary{max-height:none!important;overflow:visible!important}
.olc-checkout #order_review{position:static!important;max-height:none!important;overflow:visible!important}
.olc-checkout .olc-grid-host{overflow:visible!important}

/* ===== v1.7.1 — Login-ul nativ din checkout e eliminat din PHP; CSS doar ca plasa de
   siguranta pentru cache-uri vechi. Widgetul de login din Elementor (din afara
   .olc-checkout) ramane neatins si functional. ===== */
.olc-checkout .woocommerce-form-login-toggle,
.olc-checkout form.woocommerce-form-login,
.olc-checkout .woocommerce > .form-row-username,
.olc-checkout .woocommerce > .form-row-password,
.olc-checkout .woocommerce > .form-row-btn,
.olc-checkout .woocommerce > .login-form-footer{display:none!important}
