/* ==========================================================================
   ONEPAGECHECKOUTPS - REDESIGN OVERRIDE  (v3 - portocaliu brand)
   --------------------------------------------------------------------------
   Acest fisier suprascrie stilurile native ale modulului OPC fara a modifica
   fisierele originale. La un upgrade de modul, doar acest fisier trebuie
   pastrat / re-uploadat.

   Paleta brandului (portocaliu galben):
     --opc-orange       #f2ad03  (brand - buton final, accente, focus)
     --opc-orange-hover #cc9203  (hover butoane principale)
     --opc-orange-active #a67503 (apasat / activ profund)
     --opc-orange-soft  #fff8e6  (fundal subtil carduri selectate)
     --opc-orange-light #fde9b8  (fundal pentru badge-uri si pille)
     --opc-orange-dark  #7a5602  (text pe fundal portocaliu palid)
     --opc-text         #3f3a34  (text principal)
     --opc-muted        #6f6a64  (text secundar)
     --opc-bg           #fafaf7  (fundal subtil)
     --opc-border       #e3e0d6  (borduri inputuri)
     --opc-line         #f0eee8  (linii separatoare)

   IMPORTANT: variabilele --opc-green / --opc-yellow sunt pastrate si redirected
   catre paleta portocalie. Asta inseamna ca nu trebuie sa caut + inlocuiesc
   toate referintele din restul fisierului - schimbarea radacinii propaga
   automat in tot CSS-ul.

   Calea recomandata: /modules/onepagecheckoutps/views/css/front/override.css
   ========================================================================== */

#onepagecheckoutps {
    /* paleta portocalie (sursa de adevar) */
    --opc-orange: #f2ad03;
    --opc-orange-hover: #cc9203;
    --opc-orange-active: #a67503;
    --opc-orange-soft: #fff8e6;
    --opc-orange-light: #fde9b8;
    --opc-orange-dark: #7a5602;

    /* aliasuri retro-compatibile - tot ce era 'green' in vechiul fisier
       acum primeste portocaliu fara sa schimbam celelalte selectoare */
    --opc-green: var(--opc-orange);
    --opc-green-hover: var(--opc-orange-hover);
    --opc-green-active: var(--opc-orange-active);
    --opc-green-soft: var(--opc-orange-soft);
    --opc-green-light: var(--opc-orange-light);

    /* yellow folosit pentru focus si "Anulare" - acum tot portocaliu */
    --opc-yellow: var(--opc-orange);
    --opc-yellow-soft: rgba(242, 173, 3, 0.15);

    --opc-text: #3f3a34;
    --opc-title: #232323;
    --opc-muted: #6f6a64;
    --opc-bg: #fafaf7;
    --opc-border: #e3e0d6;
    --opc-line: #f0eee8;
    --opc-card-shadow: 0 2px 12px rgba(63, 58, 52, 0.06);
    --opc-radius: 14px;
    --opc-radius-sm: 10px;
    --opc-radius-xs: 8px;

    font-family: "Roboto", system-ui, -apple-system, sans-serif;
    color: var(--opc-text);
}

/* ==========================================================================
   LAYOUT - 3 coloane egale + buton final pe toata latimea
   ========================================================================== */

/* fortam containerul cu cele 3 coloane sa NU iasa din pagina si sa stea cate 33% */
#onepagecheckoutps #opc_steps_content > .row {
    margin-left: -10px !important;
    margin-right: -10px !important;
    align-items: stretch !important;
}

#onepagecheckoutps #opc_steps_content > .row > [class*="col-lg-4"] {
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin-bottom: 0 !important;
}

/* fiecare coloana sa aiba acelasi inaltime vizuala (cardurile flex) */
#onepagecheckoutps #opc_steps_content > .row > [class*="col-lg-4"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

/* ----- Pagina (titlu + subtitlu) -------------------------------------- */

#onepagecheckoutps h1,
.checkout-step h1,
.page-checkout h1 {
    font-size: 26px !important;
    font-weight: 500 !important;
    color: var(--opc-title) !important;
    margin-bottom: 4px !important;
}

/* ----- Containerul principal: cardurile celor 3 sectiuni ----------------------- */

div#onepagecheckoutps #onepagecheckoutps_step_one_container,
div#onepagecheckoutps #onepagecheckoutps_step_two_container,
div#onepagecheckoutps #onepagecheckoutps_step_three_container,
div#onepagecheckoutps #onepagecheckoutps_step_review_container {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: var(--opc-radius);
    box-shadow: var(--opc-card-shadow);
    padding: 22px !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ----- Header sectiune (Datele tale / Livrare / Plata / Rezumat) ------
   Structura:
     <h5 class="onepagecheckoutps_p_step">
       <i class="fa-pts">icon</i>
       "Datele tale"   <!-- text node direct -->
       <button id="opc_show_login">Deja inregistrat?</button>  (optional)
     </h5>
   Pe coloana strimta (col-lg-4 ~ 280px), iconita + titlul + butonul nu
   incap pe un rand. Solutie: titlul pe primul rand alaturi de iconita,
   butonul "Deja inregistrat?" pe al doilea rand (full width).
*/

div#onepagecheckoutps .onepagecheckoutps_p_step {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    row-gap: 10px !important;
    column-gap: 10px !important;
    padding: 0 0 14px 0 !important;
    margin: 0 0 18px 0 !important;
    border-bottom: 1px solid var(--opc-line) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--opc-title) !important;
    text-transform: none !important;
    background: none !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
}

div#onepagecheckoutps .onepagecheckoutps_p_step i,
div#onepagecheckoutps .onepagecheckoutps_p_step .fa-pts {
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    background: var(--opc-green-light) !important;
    color: var(--opc-green) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    flex: 0 0 32px !important;
    margin: 0 !important;
    float: none !important;
}

div#onepagecheckoutps div#onepagecheckoutps_step_review_container > h5 {
    border-bottom: 1px solid var(--opc-line) !important;
    text-transform: none !important;
}

/* ----- Buton "Deja inregistrat?" ------------------------------------- */

div#onepagecheckoutps div#onepagecheckoutps_step_one #opc_show_login {
    display: block !important;
    width: 100% !important;
    flex: 1 0 100% !important;          /* forteaza pe rand nou in flex */
    flex-basis: 100% !important;
    padding: 11px !important;
    border-radius: var(--opc-radius-sm) !important;
    background: #fff !important;
    border: 1px dashed #d9d4c8 !important;
    color: var(--opc-green) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-align: center !important;
    text-decoration: none !important;
    margin: 0 !important;               /* zero - parintele h5 are padding */
    float: none !important;
    line-height: normal !important;
    white-space: normal !important;     /* anuleaza nowrap mostenit din h5 */
    cursor: pointer;
    transition: all 0.15s ease;
}

div#onepagecheckoutps div#onepagecheckoutps_step_one #opc_show_login:hover {
    background: var(--opc-green-soft) !important;
    border-color: var(--opc-green) !important;
}

/* ----- Inputuri / select / textarea ---------------------------------- */

div#onepagecheckoutps input[type="text"],
div#onepagecheckoutps input[type="email"],
div#onepagecheckoutps input[type="password"],
div#onepagecheckoutps input[type="tel"],
div#onepagecheckoutps input[type="number"],
div#onepagecheckoutps textarea,
div#onepagecheckoutps select {
    background-color: var(--opc-bg) !important;
    border: 1px solid var(--opc-border) !important;
    border-radius: var(--opc-radius-xs) !important;
    color: var(--opc-text) !important;
    font-size: 13px !important;
    padding: 11px 13px !important;
    height: auto !important;
    min-height: 42px !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

div#onepagecheckoutps textarea {
    min-height: 80px !important;
    line-height: 1.4 !important;
}

div#onepagecheckoutps input[type="text"]:focus,
div#onepagecheckoutps input[type="email"]:focus,
div#onepagecheckoutps input[type="password"]:focus,
div#onepagecheckoutps input[type="tel"]:focus,
div#onepagecheckoutps input[type="number"]:focus,
div#onepagecheckoutps textarea:focus,
div#onepagecheckoutps select:focus {
    background-color: #fff !important;
    border-color: var(--opc-yellow) !important;
    box-shadow: 0 0 0 3px var(--opc-yellow-soft) !important;
    outline: none !important;
}

/* labels deasupra campurilor */
div#onepagecheckoutps #onepagecheckoutps_step_one .form-group label,
div#onepagecheckoutps label {
    font-size: 12px !important;
    color: var(--opc-muted) !important;
    margin-bottom: 6px !important;
    font-weight: 400 !important;
}

/* asterisc rosu pe required */
div#onepagecheckoutps sup,
div#onepagecheckoutps .required,
div#onepagecheckoutps em.required {
    color: #e24b4a !important;
    font-style: normal;
}

/* spatiu mai aerisit intre randurile de campuri */
div#onepagecheckoutps #onepagecheckoutps_step_one div.form-group {
    margin-bottom: 14px !important;
}

/* ----- Nume + Prenume pe aceeasi linie -------------------------------- */

div#onepagecheckoutps #field_customer_firstname,
div#onepagecheckoutps #field_customer_lastname,
div#onepagecheckoutps #field_customer_email,
div#onepagecheckoutps #field_customer_email_confirmation,
div#onepagecheckoutps #field_address_firstname,
div#onepagecheckoutps #field_address_lastname,
div#onepagecheckoutps #field_address_postcode,
div#onepagecheckoutps #field_address_phone,
div#onepagecheckoutps #field_address_phone_mobile {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
}

div#onepagecheckoutps #onepagecheckoutps_step_one .row {
    margin-left: -6px !important;
    margin-right: -6px !important;
}

div#onepagecheckoutps #field_address_address1,
div#onepagecheckoutps #field_address_address2,
div#onepagecheckoutps #field_address_city,
div#onepagecheckoutps #field_address_country,
div#onepagecheckoutps #field_address_state,
div#onepagecheckoutps #field_address_company,
div#onepagecheckoutps #field_address_vat_number,
div#onepagecheckoutps #field_address_dni {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
}

@media (max-width: 767px) {
    div#onepagecheckoutps #field_customer_firstname,
    div#onepagecheckoutps #field_customer_lastname,
    div#onepagecheckoutps #field_customer_email,
    div#onepagecheckoutps #field_customer_email_confirmation,
    div#onepagecheckoutps #field_address_firstname,
    div#onepagecheckoutps #field_address_lastname,
    div#onepagecheckoutps #field_address_postcode,
    div#onepagecheckoutps #field_address_phone,
    div#onepagecheckoutps #field_address_phone_mobile {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* ----- Tab-uri Persoana fizica / juridica ---------------------------- */
/* Modulul foloseste structura: .class_pfpj > ul.nav-tabs > li#pf > a#pf_a
   Click-ul JS este atasat pe LI (#pf, #pj), NU pe link!
   De aceea LI-ul trebuie sa fie cursor:pointer si pointer-events:auto. */

/* FORTAM tab-urile sa fie MEREU vizibile, chiar daca override.js le ascunde
   cand utilizatorul e logat cu adresa salvata. Folosim animation trick
   ca sa contracaram inline display:none pus de jQuery .hide(). */
div#onepagecheckoutps #pfpj_field,
div#onepagecheckoutps .company-pfpj,
div#onepagecheckoutps .class_pfpj {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

/* override.js apeleaza $('#pfpj_field').hide() care pune style="display: none"
   inline. CSS cu !important bate inline style attribute. */
div#onepagecheckoutps #pfpj_field[style*="display: none"],
div#onepagecheckoutps #pfpj_field[style*="display:none"] {
    display: block !important;
}

/* ----- TAB-URI Persoana fizica / juridica - SEGMENTED CONTROL ----------
   Stil "pill switcher" - container gri cu un buton verde plin pentru tab-ul
   activ. Diferenta intre activ si inactiv e dramatica - nu se mai poate
   confunda nici la o privire rapida.
   ----------------------------------------------------------------------- */

div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav-tabs,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav {
    display: flex !important;
    flex-direction: row !important;
    gap: 4px !important;
    background: #ececea !important;
    border: 1px solid #e0ddd4 !important;
    border-bottom: 1px solid #e0ddd4 !important;
    border-radius: 10px !important;
    margin: 18px 0 16px !important;
    padding: 4px !important;
    list-style: none !important;
}

div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav-tabs li,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li#pf,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li#pj {
    flex: 1 1 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    position: relative !important;
    float: none !important;
    border: none !important;
    background: transparent !important;
    border-radius: 7px !important;
    transition: background 0.18s ease, box-shadow 0.18s ease;
}

/* hover pe tab inactiv - usor mai inchis */
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li:not(.active):hover,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav-tabs li:not(.active):hover {
    background: rgba(255, 255, 255, 0.5) !important;
}

/* link-ul din interior - text centrat */
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li a,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav-tabs li a,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li a,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li a#pf_a,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li a#pj_a {
    display: block !important;
    width: 100% !important;
    padding: 10px 8px !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    text-align: center !important;
    color: #6f6a64 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: color 0.18s ease;
}

div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li:not(.active):hover a,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li:not(.active):hover a {
    color: var(--opc-text) !important;
}

/* TAB ACTIV - "pill" portocaliu plin cu umbra usoara, ALB text bold
   Selectoare cu specificitate maxima: prind atat .active pe LI generic
   cat si direct pe #pf.active / #pj.active (in caz ca alte reguli din
   tema/custom.css au specificitate mai mare). */
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li.active,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav-tabs li.active,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li.active,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li#pf.active,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li#pj.active,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li#pf.active,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li#pj.active {
    background: var(--opc-orange) !important;
    background-color: var(--opc-orange) !important;
    box-shadow: 0 1px 3px rgba(242, 173, 3, 0.30), 0 1px 1px rgba(0, 0, 0, 0.04) !important;
}

div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li.active a,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav-tabs li.active a,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li.active a,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs a.active,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li#pf.active a,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li#pj.active a,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li#pf.active a#pf_a,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li#pj.active a#pj_a,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li#pf.active a,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li#pj.active a {
    color: #fff !important;
    font-weight: 600 !important;
    background: none !important;
}

/* eliminam separatorul "|" injectat de custom.css din clientul existent */
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul li:first-child:after {
    display: none !important;
    content: none !important;
}

/* anuleaza paddingurile aplicate pe pf_a / pj_a din custom.css existent */
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li a#pf_a,
div#onepagecheckoutps div#onepagecheckoutps_step_one ul.nav-tabs li a#pj_a,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li #pj_a,
div#onepagecheckoutps div#onepagecheckoutps_step_one .class_pfpj ul.nav li #pf_a {
    padding: 10px 8px !important;
}

/* ----- Wrapper "Adresa" interior ----- */

div#onepagecheckoutps #panel_addresses_customer,
div#onepagecheckoutps #address_card_new_content,
div#onepagecheckoutps .container_card {
    background: var(--opc-bg) !important;
    border: 1px solid var(--opc-line) !important;
    border-radius: var(--opc-radius-sm) !important;
    padding: 14px !important;
    margin-top: 8px !important;
}

/* ----- Carduri "panel_address_delivery" / "panel_address_invoice" ----- */
/* Aceste carduri contin h5 cu titlu colapsabil ("Selectati adresa dvs.") */

div#onepagecheckoutps #panel_address_delivery,
div#onepagecheckoutps #panel_address_invoice {
    background: #fff !important;
    border: 1px solid var(--opc-line) !important;
    border-radius: var(--opc-radius-sm) !important;
    padding: 0 !important;
    margin: 12px 0 !important;
    overflow: hidden !important;
}

div#onepagecheckoutps #panel_address_delivery .card-header,
div#onepagecheckoutps #panel_address_invoice .card-header {
    background: var(--opc-bg) !important;
    border: none !important;
    border-bottom: 1px solid var(--opc-line) !important;
    padding: 10px 14px !important;
    margin: 0 !important;
}

div#onepagecheckoutps #panel_address_delivery .card-header h5,
div#onepagecheckoutps #panel_address_invoice .card-header h5,
div#onepagecheckoutps #panel_address_delivery .card-title,
div#onepagecheckoutps #panel_address_invoice .card-title {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    color: var(--opc-text) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    text-decoration: none !important;
}

div#onepagecheckoutps #panel_address_delivery .card-title a,
div#onepagecheckoutps #panel_address_invoice .card-title a {
    color: var(--opc-green) !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
}

div#onepagecheckoutps #panel_address_delivery .card-title a:hover,
div#onepagecheckoutps #panel_address_invoice .card-title a:hover {
    color: var(--opc-green-hover) !important;
}

div#onepagecheckoutps #panel_address_delivery .card-title i,
div#onepagecheckoutps #panel_address_invoice .card-title i {
    color: var(--opc-muted) !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    margin: 0 !important;
}

div#onepagecheckoutps #panel_address_delivery .card-body,
div#onepagecheckoutps #panel_address_invoice .card-body {
    padding: 14px !important;
    background: #fff !important;
}

/* ----- Butonul "+ Adauga o noua adresa" ----- */
/* Modulul randeaza un container cu un buton de tip "card vid" */
div#onepagecheckoutps .addresses_customer_container .btn_new_address,
div#onepagecheckoutps .addresses_customer_container [class*="new_address"],
div#onepagecheckoutps .container_card_new,
div#onepagecheckoutps #address_card_new {
    background: #fff !important;
    border: 1px dashed var(--opc-border) !important;
    border-radius: var(--opc-radius-sm) !important;
    padding: 16px !important;
    text-align: center !important;
    color: var(--opc-green) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.15s ease;
    margin-bottom: 10px !important;
}

div#onepagecheckoutps .addresses_customer_container .btn_new_address:hover,
div#onepagecheckoutps .addresses_customer_container [class*="new_address"]:hover,
div#onepagecheckoutps .container_card_new:hover,
div#onepagecheckoutps #address_card_new:hover {
    border-color: var(--opc-green) !important;
    background: var(--opc-green-soft) !important;
}

/* ----- Cardurile cu adresele salvate ale clientului ----- */

div#onepagecheckoutps .addresses_customer_container .container_card,
div#onepagecheckoutps .addresses_customer_container .card_address {
    background: #fff !important;
    border: 1px solid var(--opc-line) !important;
    border-radius: var(--opc-radius-sm) !important;
    padding: 14px !important;
    margin-bottom: 10px !important;
    transition: all 0.15s ease;
    position: relative !important;
}

div#onepagecheckoutps .addresses_customer_container .container_card:hover,
div#onepagecheckoutps .addresses_customer_container .card_address:hover {
    border-color: #d9d4c8 !important;
}

/* card adresa SELECTATA (cu bifa verde) */
div#onepagecheckoutps .addresses_customer_container .container_card.selected,
div#onepagecheckoutps .addresses_customer_container .card_address.selected,
div#onepagecheckoutps .addresses_customer_container .container_card.active,
div#onepagecheckoutps .addresses_customer_container .card_address.active {
    border-color: var(--opc-green) !important;
    background: var(--opc-green-soft) !important;
}

div#onepagecheckoutps .addresses_customer_container .container_card .header_card,
div#onepagecheckoutps .addresses_customer_container .card_address .header_address_card {
    background: none !important;
    border: none !important;
    padding: 0 0 8px 0 !important;
    margin: 0 0 8px 0 !important;
    color: var(--opc-green) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    border-bottom: 1px solid var(--opc-line) !important;
}

/* corpul adresei - text adresa */
div#onepagecheckoutps .addresses_customer_container .container_card .body_card,
div#onepagecheckoutps .addresses_customer_container .card_address .body_address_card {
    font-size: 12.5px !important;
    color: var(--opc-text) !important;
    line-height: 1.6 !important;
    padding: 4px 0 !important;
}

/* butoanele "Editati" / "Selectat" la adresa salvata */
div#onepagecheckoutps .addresses_customer_container .footer_card button,
div#onepagecheckoutps .addresses_customer_container .footer_address_card button,
div#onepagecheckoutps .addresses_customer_container .container_card button.btn,
div#onepagecheckoutps .addresses_customer_container .card_address button.btn,
div#onepagecheckoutps .container_card .btn_edit,
div#onepagecheckoutps .container_card .btn_select_address,
div#onepagecheckoutps button[id*="btn_edit_address"],
div#onepagecheckoutps button[id*="btn_select_address"],
div#onepagecheckoutps button[id*="btn_use_address"] {
    width: 100% !important;
    background: var(--opc-bg) !important;
    background-color: var(--opc-bg) !important;
    color: var(--opc-text) !important;
    border: 1px solid var(--opc-border) !important;
    border-radius: var(--opc-radius-xs) !important;
    padding: 8px 12px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    box-shadow: none !important;
    margin: 4px 0 !important;
    cursor: pointer !important;
    transition: all 0.15s ease;
}

div#onepagecheckoutps .container_card.selected button,
div#onepagecheckoutps .card_address.selected button {
    background: var(--opc-green) !important;
    background-color: var(--opc-green) !important;
    color: #fff !important;
    border-color: var(--opc-green) !important;
}

div#onepagecheckoutps .addresses_customer_container .footer_card button:hover,
div#onepagecheckoutps .addresses_customer_container button.btn:not([disabled]):hover {
    background: var(--opc-green-light) !important;
    background-color: var(--opc-green-light) !important;
    border-color: var(--opc-green) !important;
    color: var(--opc-green) !important;
}

/* iconita de bifa verde pe cardul adresei active */
div#onepagecheckoutps .addresses_customer_container .container_card.selected::after,
div#onepagecheckoutps .addresses_customer_container .card_address.selected::after,
div#onepagecheckoutps .addresses_customer_container .container_card.active::after,
div#onepagecheckoutps .addresses_customer_container .card_address.active::after {
    content: "✓";
    position: absolute !important;
    top: 12px !important;
    right: 14px !important;
    width: 22px !important;
    height: 22px !important;
    background: var(--opc-green) !important;
    color: #fff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

div#onepagecheckoutps #panel_addresses_customer > .header_panel,
div#onepagecheckoutps .header_address_card,
div#onepagecheckoutps .container_card .header_card {
    background: none !important;
    border: none !important;
    padding: 0 0 12px 0 !important;
    margin: 0 0 10px 0 !important;
    color: var(--opc-green) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: none !important;
}

div#onepagecheckoutps #panel_addresses_customer input[type="text"],
div#onepagecheckoutps #panel_addresses_customer input[type="email"],
div#onepagecheckoutps #panel_addresses_customer input[type="tel"],
div#onepagecheckoutps #panel_addresses_customer select,
div#onepagecheckoutps .container_card input[type="text"],
div#onepagecheckoutps .container_card select {
    background-color: #fff !important;
}

/* ----- Card "Adauga o noua adresa" - stil dashed verde ----- */
#onepagecheckoutps #address_card_new .container_card,
#onepagecheckoutps #address_card_new_content {
    background: #fff !important;
    border: 1px dashed #d9d4c8 !important;
    border-radius: var(--opc-radius-sm) !important;
    text-align: center !important;
    padding: 14px !important;
    cursor: pointer !important;
    transition: all 0.15s ease;
}

#onepagecheckoutps #address_card_new .container_card:hover {
    background: var(--opc-green-soft) !important;
    border-color: var(--opc-green) !important;
}

#onepagecheckoutps #address_card_new_content span {
    color: var(--opc-green) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* ----- Card adresa salvata (cea logata) ----- */
#onepagecheckoutps .address_card .container_card {
    background: #fff !important;
    border: 1px solid var(--opc-line) !important;
    border-radius: var(--opc-radius-sm) !important;
    padding: 14px !important;
    transition: all 0.15s ease;
}

#onepagecheckoutps .address_card .container_card.selected,
#onepagecheckoutps .address_card .container_card.alert-info {
    background: var(--opc-green-soft) !important;
    border-color: var(--opc-green) !important;
    color: var(--opc-text) !important;
}

#onepagecheckoutps .address_card .header_card {
    color: var(--opc-green) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

#onepagecheckoutps .address_card .body_card {
    font-size: 13px !important;
    color: var(--opc-text) !important;
    line-height: 1.5 !important;
    margin-bottom: 10px !important;
}

#onepagecheckoutps .address_card .footer_card {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 10px !important;
}

/* butoane Editati / Stergere - secundare, outline */
#onepagecheckoutps .edit_address.btn,
#onepagecheckoutps .delete_address.btn,
#onepagecheckoutps button.edit_address,
#onepagecheckoutps button.delete_address {
    flex: 1 1 auto !important;
    background: #fff !important;
    background-color: #fff !important;
    color: var(--opc-text) !important;
    border: 1px solid var(--opc-border) !important;
    border-radius: var(--opc-radius-xs) !important;
    padding: 8px 14px !important;
    font-size: 12.5px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease;
    margin: 0 !important;
    width: auto !important;
}

#onepagecheckoutps .edit_address.btn:hover,
#onepagecheckoutps button.edit_address:hover {
    background: var(--opc-green-soft) !important;
    border-color: var(--opc-green) !important;
    color: var(--opc-green) !important;
}

#onepagecheckoutps .delete_address.btn:hover,
#onepagecheckoutps button.delete_address:hover {
    background: #fceaea !important;
    border-color: #e88b8b !important;
    color: #c34141 !important;
}

/* butonul "Alegeti" (choose) - verde primar pe latimea totala */
#onepagecheckoutps .choose_address.btn,
#onepagecheckoutps button.choose_address,
#onepagecheckoutps .choose_address.btn-primary.btn-block {
    background: var(--opc-green) !important;
    background-color: var(--opc-green) !important;
    background-image: none !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--opc-radius-xs) !important;
    padding: 9px 14px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    box-shadow: none !important;
    cursor: pointer !important;
    margin-top: 6px !important;
    transition: background 0.15s ease;
}

#onepagecheckoutps .choose_address.btn:hover,
#onepagecheckoutps button.choose_address:hover {
    background: var(--opc-green-hover) !important;
    background-color: var(--opc-green-hover) !important;
}

/* butonul "Selectat" (disabled) - verde light, evident ca e activ dar nu actionabil */
#onepagecheckoutps .selected_address.btn,
#onepagecheckoutps .selected_address.btn-primary.btn-block.disabled,
#onepagecheckoutps button.selected_address {
    background: var(--opc-green-light) !important;
    background-color: var(--opc-green-light) !important;
    background-image: none !important;
    color: var(--opc-green) !important;
    border: 1px solid var(--opc-green) !important;
    border-radius: var(--opc-radius-xs) !important;
    padding: 9px 14px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    box-shadow: none !important;
    margin-top: 6px !important;
    opacity: 1 !important;
    cursor: default !important;
}

/* iconita "bifa verde" la adresa selectata */
#onepagecheckoutps .address_card .container_card.selected .header_card::after,
#onepagecheckoutps .address_card .container_card.alert-info .header_card::after {
    content: "✓";
    color: var(--opc-green);
    font-size: 16px;
    font-weight: bold;
    margin-left: auto;
}

/* ----- Checkbox "creaza cont" / "alta adresa factura" ----------------- */

div#onepagecheckoutps #onepagecheckoutps_step_one [type="checkbox"],
div#onepagecheckoutps #onepagecheckoutps_step_one [type="radio"] {
    width: 16px !important;
    height: 16px !important;
    margin-right: 8px !important;
    accent-color: var(--opc-green) !important;
    cursor: pointer;
}

div#onepagecheckoutps .form-check label,
div#onepagecheckoutps label.checkbox-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-size: 12.5px !important;
    color: var(--opc-text) !important;
    cursor: pointer;
    line-height: 1.5 !important;
}

/* ----- Sectiunea "campurile cu *" ------------------------------------ */

div#onepagecheckoutps #onepagecheckoutps_step_one #div_field_required,
div#onepagecheckoutps .fields_required {
    font-size: 11px !important;
    color: #e24b4a !important;
    font-style: italic;
    margin: 8px 0 !important;
}

/* ==========================================================================
   STEP TWO - METODA DE LIVRARE (radio cards)
   ========================================================================== */

div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery-options {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery-option {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #ececec !important;
    border-radius: var(--opc-radius-sm) !important;
    cursor: pointer !important;
    transition: all 0.15s ease;
}

div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery-option:hover {
    border-color: #d9d4c8 !important;
    background: var(--opc-bg) !important;
}

div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery-option.selected,
div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery-option:has(input[type="radio"]:checked) {
    border-color: var(--opc-green) !important;
    background: var(--opc-green-soft) !important;
}

div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery-option input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    accent-color: var(--opc-green) !important;
}

/* logo livrator - mai mic, mai aerisit */
div#onepagecheckoutps div#onepagecheckoutps_step_two #shipping_container .delivery_option_logo img {
    max-width: 56px !important;
    min-width: 56px !important;
    height: auto !important;
    background: var(--opc-bg) !important;
    border-radius: 6px !important;
    padding: 4px !important;
    box-sizing: border-box !important;
}

div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery-option .delivery_option_title {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--opc-title) !important;
    line-height: 1.3 !important;
}

div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery-option .delivery_option_delay,
div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery-option .delivery_option_price {
    font-size: 11px !important;
    color: var(--opc-muted) !important;
}

/* ==========================================================================
   STEP THREE - METODA DE PLATA (radio cards)
   ========================================================================== */

#onepagecheckoutps div#payment_method_container .module_payment_container {
    margin-bottom: 8px !important;
    padding: 0 !important;
    background: none !important;
}

#onepagecheckoutps div#payment_method_container .payment-option,
#payment_method_container .payment-option {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #ececec !important;
    border-radius: var(--opc-radius-sm) !important;
    cursor: pointer !important;
    justify-content: flex-start !important;
    transition: all 0.15s ease;
}

#onepagecheckoutps div#payment_method_container .payment-option:hover {
    border-color: #d9d4c8 !important;
    background: var(--opc-bg) !important;
}

#onepagecheckoutps div#payment_method_container .module_payment_container.selected .payment-option,
#onepagecheckoutps div#payment_method_container .payment-option:has(input[type="radio"]:checked) {
    border-color: var(--opc-green) !important;
    background: var(--opc-green-soft) !important;
}

#onepagecheckoutps div#payment_method_container .payment-option input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    accent-color: var(--opc-green) !important;
}

#onepagecheckoutps div#payment_method_container .payment_image,
#onepagecheckoutps div#payment_method_container .payment-option > div:first-of-type {
    margin-right: 0 !important;
}

#onepagecheckoutps div#payment_method_container .payment_image img,
#onepagecheckoutps #payment_method_container .payment-option img {
    max-width: 48px !important;
    min-width: 48px !important;
    height: auto !important;
    background: var(--opc-bg) !important;
    border-radius: 6px !important;
    padding: 4px !important;
    box-sizing: border-box !important;
}

#onepagecheckoutps div#payment_method_container .payment-option label,
#onepagecheckoutps div#payment_method_container .payment_name {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--opc-title) !important;
    cursor: pointer !important;
    margin: 0 !important;
}

#onepagecheckoutps div#payment_method_container .module_payment_container .payment_content_html,
#onepagecheckoutps div#payment_method_container .module_payment_container .additional-information {
    background: var(--opc-bg) !important;
    border: 1px solid var(--opc-line) !important;
    border-radius: var(--opc-radius-sm) !important;
    padding: 10px 14px !important;
    margin: 6px 0 0 !important;
    font-size: 12px !important;
    color: var(--opc-muted) !important;
}

/* ==========================================================================
   STEP REVIEW - REZUMAT COMANDA
   ========================================================================== */

div#onepagecheckoutps #onepagecheckoutps_step_review {
    font-size: 13px !important;
}

div#onepagecheckoutps #onepagecheckoutps_step_review table,
div#onepagecheckoutps #order-detail-content table {
    width: 100% !important;
    border-collapse: collapse !important;
}

div#onepagecheckoutps #onepagecheckoutps_step_review thead th {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: var(--opc-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    padding: 8px 6px !important;
    border-bottom: 1px solid var(--opc-line) !important;
    background: none !important;
}

div#onepagecheckoutps #onepagecheckoutps_step_review tbody td {
    padding: 12px 6px !important;
    border-bottom: 1px solid var(--opc-line) !important;
    vertical-align: middle !important;
}

div#onepagecheckoutps #onepagecheckoutps_step_review .image_product img {
    border-radius: 8px !important;
    background: var(--opc-bg) !important;
    max-width: 56px !important;
}

/* totaluri intermediare (subtotal, livrare, taxe) */
div#onepagecheckoutps #onepagecheckoutps_step_review .cart-summary-line,
div#onepagecheckoutps #order-detail-content .cart-summary-line {
    display: flex !important;
    justify-content: space-between !important;
    padding: 5px 0 !important;
    font-size: 13px !important;
    color: var(--opc-muted) !important;
}

div#onepagecheckoutps #onepagecheckoutps_step_review .cart-summary-line .value,
div#onepagecheckoutps #onepagecheckoutps_step_review .cart-summary-line span:last-child {
    color: var(--opc-text) !important;
    font-weight: 500 !important;
}

/* TOTAL final - mult mai vizibil */
div#onepagecheckoutps #onepagecheckoutps_step_review .cart-summary-totals,
div#onepagecheckoutps #onepagecheckoutps_step_review .cart-total,
div#onepagecheckoutps #onepagecheckoutps_step_review tr.cart-total,
div#onepagecheckoutps #onepagecheckoutps_step_review tfoot tr:last-child {
    border-top: 2px solid var(--opc-line) !important;
    margin-top: 12px !important;
    padding-top: 14px !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    color: var(--opc-title) !important;
}

div#onepagecheckoutps #onepagecheckoutps_step_review .cart-total .value,
div#onepagecheckoutps #onepagecheckoutps_step_review tr.cart-total td:last-child {
    color: var(--opc-green) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

/* quantity stepper */
div#onepagecheckoutps #onepagecheckoutps_step_review .bootstrap-touchspin {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid var(--opc-border) !important;
    border-radius: var(--opc-radius-xs) !important;
    overflow: hidden !important;
}

div#onepagecheckoutps #onepagecheckoutps_step_review .bootstrap-touchspin .cart-line-product-quantity {
    height: 32px !important;
    width: 36px !important;
    border: none !important;
    border-radius: 0 !important;
    text-align: center !important;
    background: #fff !important;
    font-size: 13px !important;
    padding: 0 !important;
}

div#onepagecheckoutps #onepagecheckoutps_step_review .bootstrap-touchspin .btn-touchspin {
    width: 28px !important;
    height: 32px !important;
    background: var(--opc-bg) !important;
    border: none !important;
    color: var(--opc-text) !important;
    cursor: pointer;
    transition: background 0.15s ease;
}

div#onepagecheckoutps #onepagecheckoutps_step_review .bootstrap-touchspin .btn-touchspin:hover {
    background: var(--opc-green-light) !important;
    color: var(--opc-green) !important;
}

/* pret produs - galben pentru reduceri/discount evidentiat */
div#onepagecheckoutps #onepagecheckoutps_step_review .product-price {
    color: var(--opc-yellow) !important;
    font-weight: 600 !important;
}

/* ----- Cod promotional - mai compact --------------------------------- */
/* IMPORTANT - structura reala in review.tpl:
   <div id="list-voucher-allowed" class="cart_total_price">
     <div class="row">
       <div class="col-xs-12 col-12 col-md-6">
         <span class="promo-code-button">Aveti un cod promotional?</span>
         <div class="promo-code">
           <input class="promo-input" id="discount_name" name="discount_name" />
           <button id="submitAddDiscount" class="btn btn-primary btn-sm">
             <span>Adauga</span>
           </button>
         </div>
       </div>
     </div>
   </div>

   ATENTIE: butonul are id="submitAddDiscount" (NU name!), iar theme.tpl
   injecteaza din admin OPC_THEME_VOUCHER_BUTTON cu !important pe acest ID,
   asa ca avem nevoie de specificitate mare.
   ========================================================================== */

/* containerul cu totul - doar margin top, fara fundal extern */
div#onepagecheckoutps #list-voucher-allowed,
div#onepagecheckoutps .cart_total_price#list-voucher-allowed {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 14px !important;
}

div#onepagecheckoutps #list-voucher-allowed > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

div#onepagecheckoutps #list-voucher-allowed > .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* eticheta "Aveti un cod promotional?" */
div#onepagecheckoutps #list-voucher-allowed .promo-code-button {
    display: block !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: var(--opc-green) !important;
    margin: 0 0 8px 0 !important;
    background: none !important;
    padding: 0 !important;
    border: none !important;
    text-decoration: none !important;
    cursor: default !important;
}

/* containerul interior cu input + buton (ZONA DASATA) */
div#onepagecheckoutps #list-voucher-allowed .promo-code {
    background: var(--opc-bg) !important;
    border: 1px dashed var(--opc-border) !important;
    border-radius: var(--opc-radius-sm) !important;
    padding: 10px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    align-items: stretch !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* INPUT cod promo */
div#onepagecheckoutps #list-voucher-allowed .promo-code input.promo-input,
div#onepagecheckoutps #list-voucher-allowed .promo-code input#discount_name,
div#onepagecheckoutps #list-voucher-allowed input[name="discount_name"] {
    background: #fff !important;
    border: 1px solid var(--opc-border) !important;
    border-radius: var(--opc-radius-xs) !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 13px !important;
    font-size: 13px !important;
    box-shadow: none !important;
}

div#onepagecheckoutps #list-voucher-allowed .promo-code input.promo-input:focus,
div#onepagecheckoutps #list-voucher-allowed .promo-code input#discount_name:focus {
    border-color: var(--opc-yellow) !important;
    box-shadow: 0 0 0 3px var(--opc-yellow-soft) !important;
    outline: none !important;
}

/* BUTONUL "Adauga" - selector cu specificitate maxima ca sa bata theme.tpl */
div#onepagecheckoutps #list-voucher-allowed #submitAddDiscount,
div#onepagecheckoutps #list-voucher-allowed button#submitAddDiscount,
div#onepagecheckoutps #list-voucher-allowed button#submitAddDiscount.btn,
div#onepagecheckoutps #list-voucher-allowed button#submitAddDiscount.btn-primary,
div#onepagecheckoutps #list-voucher-allowed button#submitAddDiscount.btn.btn-primary,
div#onepagecheckoutps #list-voucher-allowed button#submitAddDiscount.btn.btn-primary.btn-sm,
div#onepagecheckoutps #list-voucher-allowed .promo-code button#submitAddDiscount {
    background: var(--opc-green) !important;
    background-color: var(--opc-green) !important;
    background-image: none !important;
    color: #fff !important;
    border: 1px solid var(--opc-green) !important;
    border-color: var(--opc-green) !important;
    border-radius: var(--opc-radius-xs) !important;
    padding: 0 22px !important;
    height: 42px !important;
    min-height: 42px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: background 0.15s ease, border-color 0.15s ease;
}

/* span-ul interior - tot alb */
div#onepagecheckoutps #list-voucher-allowed #submitAddDiscount > span,
div#onepagecheckoutps #list-voucher-allowed button#submitAddDiscount > span {
    color: #fff !important;
    background: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

div#onepagecheckoutps #list-voucher-allowed #submitAddDiscount:hover,
div#onepagecheckoutps #list-voucher-allowed button#submitAddDiscount:hover,
div#onepagecheckoutps #list-voucher-allowed button#submitAddDiscount.btn-primary:hover {
    background: var(--opc-green-hover) !important;
    background-color: var(--opc-green-hover) !important;
    border-color: var(--opc-green-hover) !important;
}

div#onepagecheckoutps #list-voucher-allowed #submitAddDiscount:active,
div#onepagecheckoutps #list-voucher-allowed button#submitAddDiscount:active {
    background: var(--opc-green-active) !important;
    background-color: var(--opc-green-active) !important;
    border-color: var(--opc-green-active) !important;
}

/* lista vouchere disponibile (a doua coloana din .row) */
div#onepagecheckoutps #list-voucher-allowed #display_cart_vouchers {
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--opc-line) !important;
}

div#onepagecheckoutps #list-voucher-allowed #display_cart_vouchers p {
    font-size: 12px !important;
    color: var(--opc-muted) !important;
    margin-bottom: 6px !important;
}

div#onepagecheckoutps #list-voucher-allowed #display_cart_vouchers .js-discount {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

div#onepagecheckoutps #list-voucher-allowed #display_cart_vouchers .js-discount li {
    padding: 4px 0 !important;
    font-size: 12.5px !important;
}

div#onepagecheckoutps #list-voucher-allowed #display_cart_vouchers .code {
    background: var(--opc-green-light) !important;
    color: var(--opc-green) !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
}

/* fallback - alte template-uri (opc-promo-code component) */
#onepagecheckoutps .opc-promo-code {
    background: var(--opc-bg) !important;
    border: 1px dashed var(--opc-border) !important;
    border-radius: var(--opc-radius-sm) !important;
    padding: 10px !important;
    margin-top: 14px !important;
}

#onepagecheckoutps .opc-promo-code__form {
    display: flex !important;
    gap: 6px !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
}

#onepagecheckoutps .opc-promo-code__input {
    flex: 1 1 auto !important;
    background: #fff !important;
    border-radius: var(--opc-radius-xs) !important;
    min-width: 0 !important;
    height: 42px !important;
}

#onepagecheckoutps .opc-promo-code__button,
#onepagecheckoutps button.opc-promo-code__button.btn-primary {
    background: var(--opc-green) !important;
    color: #fff !important;
    border: 1px solid var(--opc-green) !important;
    border-radius: var(--opc-radius-xs) !important;
    padding: 0 22px !important;
    height: 42px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}

#onepagecheckoutps .opc-promo-code__button:hover {
    background: var(--opc-green-hover) !important;
    border-color: var(--opc-green-hover) !important;
}

/* ----- Comentariu comanda -------------------------------------------- */

#onepagecheckoutps textarea[name="message"],
#onepagecheckoutps #order_message {
    background: #fff !important;
    border: 1px solid var(--opc-border) !important;
}

#onepagecheckoutps #div_leave_message p {
    font-size: 12px !important;
    color: var(--opc-muted) !important;
    margin-bottom: 6px !important;
}

/* ==========================================================================
   BUTOANE EDITARE ADRESA - "Actualizati" + "Anulare"
   --------------------------------------------------------------------------
   #btn_update_address_delivery / #btn_update_address_invoice = "Actualizati"
   #btn_cancel_address_delivery / #btn_cancel_address_invoice = "Anulare"
   theme.tpl pune background-ul lor pe toate .btn-primary (maro inchis), deci
   avem nevoie de specificitate mare ca sa-l pastram portocaliu brand.
   ========================================================================== */

/* containerul cu cele 2 butoane (action_address_*) - layout flex aliniat */
div#onepagecheckoutps #action_address_delivery,
div#onepagecheckoutps #action_address_invoice,
div#onepagecheckoutps #panel_addresses_customer .row#action_address_delivery,
div#onepagecheckoutps #panel_addresses_customer .row#action_address_invoice {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin: 14px 0 0 0 !important;
}

div#onepagecheckoutps #action_address_delivery > [class*="col-"],
div#onepagecheckoutps #action_address_invoice > [class*="col-"] {
    padding: 0 !important;
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
}

/* prima coloana (Anulare) - mai mica, a doua (Actualizati) - mai mare */
div#onepagecheckoutps #action_address_delivery > [class*="col-"]:first-child,
div#onepagecheckoutps #action_address_invoice > [class*="col-"]:first-child {
    flex: 0 0 35% !important;
    max-width: 35% !important;
}

div#onepagecheckoutps #action_address_delivery > [class*="col-"]:last-child,
div#onepagecheckoutps #action_address_invoice > [class*="col-"]:last-child {
    flex: 1 1 auto !important;
}

/* BUTON "Actualizati" - portocaliu brand (la fel cu Salvati informatii) */
div#onepagecheckoutps #btn_update_address_delivery,
div#onepagecheckoutps #btn_update_address_invoice,
div#onepagecheckoutps button#btn_update_address_delivery.btn,
div#onepagecheckoutps button#btn_update_address_invoice.btn,
div#onepagecheckoutps button#btn_update_address_delivery.btn.btn-primary,
div#onepagecheckoutps button#btn_update_address_invoice.btn.btn-primary,
div#onepagecheckoutps button#btn_update_address_delivery.btn.btn-primary.btn-sm,
div#onepagecheckoutps button#btn_update_address_invoice.btn.btn-primary.btn-sm,
div#onepagecheckoutps button#btn_update_address_delivery.btn-block,
div#onepagecheckoutps button#btn_update_address_invoice.btn-block {
    width: 100% !important;
    padding: 12px 18px !important;
    background: var(--opc-green) !important;
    background-color: var(--opc-green) !important;
    background-image: none !important;
    color: #fff !important;
    border: 1px solid var(--opc-green) !important;
    border-color: var(--opc-green) !important;
    border-radius: var(--opc-radius-sm) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    line-height: 1.2 !important;
    float: none !important;
    transition: background 0.15s ease, border-color 0.15s ease;
}

div#onepagecheckoutps #btn_update_address_delivery i,
div#onepagecheckoutps #btn_update_address_invoice i,
div#onepagecheckoutps #btn_update_address_delivery .fa-pts,
div#onepagecheckoutps #btn_update_address_invoice .fa-pts {
    color: #fff !important;
    background: none !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
    font-size: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: inline !important;
}

div#onepagecheckoutps #btn_update_address_delivery:hover,
div#onepagecheckoutps #btn_update_address_invoice:hover {
    background: var(--opc-green-hover) !important;
    background-color: var(--opc-green-hover) !important;
    border-color: var(--opc-green-hover) !important;
}

/* BUTON "Anulare" - link discret, fara fundal */
div#onepagecheckoutps #btn_cancel_address_delivery,
div#onepagecheckoutps #btn_cancel_address_invoice,
div#onepagecheckoutps button#btn_cancel_address_delivery.btn,
div#onepagecheckoutps button#btn_cancel_address_invoice.btn,
div#onepagecheckoutps button#btn_cancel_address_delivery.btn-link,
div#onepagecheckoutps button#btn_cancel_address_invoice.btn-link {
    width: 100% !important;
    padding: 12px 18px !important;
    background: #fff !important;
    background-color: #fff !important;
    color: var(--opc-yellow) !important;
    border: 1px solid var(--opc-border) !important;
    border-radius: var(--opc-radius-sm) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    line-height: 1.2 !important;
    transition: all 0.15s ease;
}

div#onepagecheckoutps #btn_cancel_address_delivery i,
div#onepagecheckoutps #btn_cancel_address_invoice i {
    color: var(--opc-yellow) !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    font-size: 13px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: inline !important;
}

div#onepagecheckoutps #btn_cancel_address_delivery:hover,
div#onepagecheckoutps #btn_cancel_address_invoice:hover {
    background: var(--opc-bg) !important;
    background-color: var(--opc-bg) !important;
    border-color: var(--opc-yellow) !important;
}

/* ==========================================================================
   ZONA FOOTER REVIEW - butonul final pe toata latimea paginii
   --------------------------------------------------------------------------
   #container_float_review este containerul care contine butonul "Verifica"
   si "Continua cumparaturile". L-am scos din coloana 3 si l-am facut sa
   se intinda pe toata latimea, sub cele 3 coloane.
   ========================================================================== */

/* Fortam container_float_review sa iasa din coloana 3 si sa fie pe toata pagina.
   Folosim grid-column: 1 / -1 cand parintele e grid, sau full-width prin
   margine negativa. Cum parintele este #onepagecheckoutps_step_review_container
   (cardul rezumatului), il scoatem cu position absolute / sau il stilizam
   ca pe un block care se afla in cardul rezumatului dar centrat si plin. */

#onepagecheckoutps #container_float_review {
    margin: 18px 0 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    position: static !important;
    width: 100% !important;
}

#onepagecheckoutps #buttons_footer_review {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
}

#onepagecheckoutps #buttons_footer_review > .col-xs-12,
#onepagecheckoutps #buttons_footer_review > .col-12 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* ==========================================================================
   BUTON FINAL "FINALIZEAZA COMANDA"
   --------------------------------------------------------------------------
   - portocaliu brand (#f2ad03)
   - full width pe rezumat
   - text inlocuit prin pseudo-element (textul original vine din traducere)
   ========================================================================== */

#onepagecheckoutps button#btn_place_order,
#onepagecheckoutps #payment-confirmation .btn-primary,
#onepagecheckoutps button[type="submit"][name="confirm-payment"] {
    width: 100% !important;
    padding: 16px 20px !important;
    background: var(--opc-green) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    box-shadow: 0 2px 8px rgba(242, 173, 3, 0.30) !important;
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease;
    margin: 0 !important;
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    line-height: 1.2 !important;
    position: relative !important;
}

#onepagecheckoutps button#btn_place_order:hover,
#onepagecheckoutps #payment-confirmation .btn-primary:hover {
    background: var(--opc-green-hover) !important;
    box-shadow: 0 4px 12px rgba(242, 173, 3, 0.40) !important;
}

#onepagecheckoutps button#btn_place_order:active,
#onepagecheckoutps #payment-confirmation .btn-primary:active {
    background: var(--opc-green-active) !important;
    transform: scale(0.99);
    box-shadow: 0 1px 4px rgba(242, 173, 3, 0.35) !important;
}

/* iconita din interior cosulet */
#onepagecheckoutps button#btn_place_order i,
#onepagecheckoutps button#btn_place_order .fa-pts {
    font-size: 16px !important;
    margin: 0 !important;
}

/* TRUC: ascundem textul original "Verifica"/"Checkout" si afisam "Finalizeaza comanda" */
#onepagecheckoutps button#btn_place_order {
    /* ascunde textul cu text-indent si recreeaza vizibilitatea iconitei */
    font-size: 0 !important;
}

/* iconita ramane vizibila */
#onepagecheckoutps button#btn_place_order i,
#onepagecheckoutps button#btn_place_order .fa-pts {
    font-size: 16px !important;
}

/* textul nostru injectat prin pseudo-element */
#onepagecheckoutps button#btn_place_order::after {
    content: "Finalizează comanda";
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #fff !important;
    line-height: 1.2 !important;
}

/* butonul "Salveaza/Continua" din step one (datele tale) - tot verde */
#onepagecheckoutps #btn_save_customer,
.btn.btn-primary.center-block.btn-lg {
    width: 100% !important;
    padding: 13px 20px !important;
    background: var(--opc-green) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background 0.15s ease;
    margin-top: 12px !important;
}

#onepagecheckoutps #btn_save_customer:hover {
    background: var(--opc-green-hover) !important;
}

/* butonul "Deconectati-va" - secundar, outline rosu deschis pentru a fi diferit
   de butonul principal verde, dar tot vizibil. Apare doar pentru utilizator logat. */
#onepagecheckoutps #btn-logout,
#onepagecheckoutps button#btn-logout,
#onepagecheckoutps #btn-logout.btn-primary,
#onepagecheckoutps #btn-logout.btn-sm {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: auto !important;
    padding: 8px 16px !important;
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    color: var(--opc-muted) !important;
    border: 1px solid var(--opc-border) !important;
    border-radius: var(--opc-radius-xs) !important;
    font-size: 12.5px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease;
    margin: 0 !important;
    float: none !important;
}

#onepagecheckoutps #btn-logout:hover,
#onepagecheckoutps button#btn-logout:hover {
    background: #fceaea !important;
    border-color: #e88b8b !important;
    color: #c34141 !important;
}

#onepagecheckoutps #btn-logout i {
    font-size: 12px !important;
    margin: 0 !important;
}

/* "Bine ati venit, NUME" - text mic, langa butonul de logout */
#onepagecheckoutps #customer_logged_msg,
#onepagecheckoutps .customer-logged-msg {
    font-size: 13px !important;
    color: var(--opc-muted) !important;
}

#onepagecheckoutps #customer_logged_msg span,
#onepagecheckoutps #btn-edit_customer {
    color: var(--opc-green) !important;
    font-weight: 500 !important;
}

/* link "Continua cumparaturile" - sub butonul mare */
#onepagecheckoutps #btn_continue_shopping,
#onepagecheckoutps a[href*="cart"][rel],
.continue-shopping,
a.text-muted[href*="index"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    background: none !important;
    border: none !important;
    color: var(--opc-muted) !important;
    font-size: 13px !important;
    text-decoration: none !important;
    padding: 8px !important;
    margin: 0 !important;
    float: none !important;
    text-align: center !important;
    cursor: pointer;
    transition: color 0.15s ease;
}

#onepagecheckoutps #btn_continue_shopping:hover,
.continue-shopping:hover,
a.text-muted[href*="index"]:hover {
    color: var(--opc-green) !important;
    text-decoration: underline !important;
    background: none !important;
}

/* ==========================================================================
   HEADER PAGINA CHECKOUT
   ========================================================================== */

#checkout-header.header-top {
    background: #fff !important;
    border-bottom: 1px solid var(--opc-line) !important;
    box-shadow: none !important;
    padding: 12px 0 !important;
}

#checkout-header .logo {
    max-height: 50px !important;
    width: auto !important;
}

/* ==========================================================================
   LOADER & ALERTE
   ========================================================================== */

div#onepagecheckoutps .loading_big {
    background: rgba(255, 255, 255, 0.85) !important;
    border-radius: var(--opc-radius) !important;
}

div#onepagecheckoutps .loading_big .loader .dot {
    background: var(--opc-green) !important;
}

div#onepagecheckoutps .alert-danger,
div#onepagecheckoutps .alert.alert-danger {
    background: #fceaea !important;
    border: 1px solid #f5c4c4 !important;
    border-radius: var(--opc-radius-xs) !important;
    color: #a32d2d !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
}

div#onepagecheckoutps .alert-success {
    background: var(--opc-green-light) !important;
    border: 1px solid var(--opc-green) !important;
    border-radius: var(--opc-radius-xs) !important;
    color: var(--opc-orange-dark) !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
}

/* ==========================================================================
   RESPONSIVE - tablet & mobile
   ========================================================================== */

@media (max-width: 991px) {
    /* la sub 991px Bootstrap pune fiecare col-lg-4 pe full width.
       Cardurile noastre raman ok, doar reducem padding. */
    div#onepagecheckoutps #onepagecheckoutps_step_one_container,
    div#onepagecheckoutps #onepagecheckoutps_step_two_container,
    div#onepagecheckoutps #onepagecheckoutps_step_three_container,
    div#onepagecheckoutps #onepagecheckoutps_step_review_container {
        padding: 18px !important;
    }

    /* in mobile/tablet redam coloanele cu margin bottom intre carduri */
    #onepagecheckoutps #opc_steps_content > .row > [class*="col-lg-4"] {
        margin-bottom: 14px !important;
    }
}

@media (max-width: 767px) {
    div#onepagecheckoutps #onepagecheckoutps_step_one_container,
    div#onepagecheckoutps #onepagecheckoutps_step_two_container,
    div#onepagecheckoutps #onepagecheckoutps_step_three_container,
    div#onepagecheckoutps #onepagecheckoutps_step_review_container {
        padding: 16px !important;
        border-radius: 12px !important;
    }

    div#onepagecheckoutps .onepagecheckoutps_p_step {
        font-size: 14px !important;
    }

    div#onepagecheckoutps .onepagecheckoutps_p_step i,
    div#onepagecheckoutps .onepagecheckoutps_p_step .fa-pts {
        width: 28px !important;
        height: 28px !important;
        font-size: 14px !important;
    }

    div#onepagecheckoutps input[type="text"],
    div#onepagecheckoutps input[type="email"],
    div#onepagecheckoutps input[type="tel"],
    div#onepagecheckoutps select {
        font-size: 16px !important; /* evita zoom auto pe iOS */
        min-height: 44px !important;
    }

    #onepagecheckoutps button#btn_place_order,
    #onepagecheckoutps #payment-confirmation .btn-primary {
        padding: 16px !important;
        font-size: 0 !important;
    }

    #onepagecheckoutps button#btn_place_order::after {
        font-size: 15px !important;
    }

    /* totalul mai mare pe mobil dar nu enorm */
    div#onepagecheckoutps #onepagecheckoutps_step_review .cart-total .value,
    div#onepagecheckoutps #onepagecheckoutps_step_review tr.cart-total td:last-child {
        font-size: 20px !important;
    }
}

/* ==========================================================================
   COMPATIBILITATE - elimina stiluri reziduale din onepagecheckoutps_17.css
   ========================================================================== */

div#onepagecheckoutps #onepagecheckoutps_step_two,
div#onepagecheckoutps #onepagecheckoutps_step_three,
div#onepagecheckoutps #onepagecheckoutps_step_review {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

div#onepagecheckoutps div#onepagecheckoutps_header {
    background: none !important;
    border-radius: 0 !important;
    padding: 0 0 12px 0 !important;
    margin: 0 0 14px 0 !important;
}

div#onepagecheckoutps #div_onepagecheckoutps_login {
    background: none !important;
    padding: 0 !important;
}

/* anuleaza stilurile injectate din theme.tpl pentru btn_place_order */
#onepagecheckoutps #btn_place_order i.fa,
#onepagecheckoutps #btn_place_order {
    /* lasa CSS-ul nostru de mai sus sa controleze totul */
}

/* in caz ca tema randeaza pull-right pe butoane, fortam ordering verticala */
#onepagecheckoutps #buttons_footer_review .pull-left,
#onepagecheckoutps #buttons_footer_review .pull-right {
    float: none !important;
}
