/* ============================================
   PLAN & VASQUE - Page Checkout
   ============================================ */

/* === LAYOUT GLOBAL === */

#checkout #content-wrapper {
    color: #FFFFFF;
}

.page-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 32px !important;
    color: #FFFFFF !important;
}

/* === ÉTAPES === */

.checkout-step {
    background: transparent !important;
    border: none !important;
    /* margin-bottom: 24px; */
}

.checkout-step .step-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 20px !important;
    color: #FFFFFF !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid #242424;
}

.checkout-step .step-number {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #FFE1B8;
    color: #0d0d0d;
    font-weight: 600;
    font-size: 14px;
    margin-right: 12px;
}

.checkout-step .done {
    color: #FFE1B8 !important;
}

.checkout-step .step-edit {
    color: var(--pv-gold) !important;
    font-size: 14px;
}

.checkout-step .step-edit:hover {
    color: #FFE1B8 !important;
}

/* Étape non atteinte */
.checkout-step.-unreachable .step-title {
    opacity: 1 !important;
}

.checkout-step.-unreachable .step-number {
    background: #242424;
    color: rgba(255, 255, 255, 0.3);
}

/* Contenu de l'étape */
.checkout-step .content {
    padding: 24px 0 !important;
    color: #FFFFFF;
}

.checkout-step .content p {
    color: rgba(255, 255, 255, 0.7);
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
}

.checkout-step .content a {
    color: #FFE1B8 !important;
}

.checkout-step .content small {
    color: rgba(255, 255, 255, 0.5);
}

/* === FORMULAIRES === */

.checkout-step .form-control {
    background: #141413 !important;
    border: 1px solid #242424 !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    padding: 12px 16px !important;
    height: auto !important;
}

.checkout-step .form-control:focus {
    border-color: #FFE1B8 !important;
    box-shadow: none !important;
}

.checkout-step select.form-control,
.checkout-step .form-control-select {
    background: #141413 url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23FFE1B8' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 16px center !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding-right: 40px !important;
    cursor: pointer;
}

.checkout-step select.form-control option {
    background: #141413;
    color: #FFFFFF;
}

.checkout-step label,
.checkout-step .col-form-label {
    color: rgba(255, 255, 255, 0.7) !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
}

.checkout-step .form-control-comment {
    color: rgba(255, 255, 255, 0.4) !important;
    font-size: 12px;
}

/* === BOUTONS === */

.checkout-step .btn-primary,
.checkout-step .continue {
    background: #FFE1B8 !important;
    border: 1px solid #FFE1B8 !important;
    color: #0d0d0d !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
}

.checkout-step .btn-primary:hover,
.checkout-step .continue:hover {
    opacity: 0.9;
}

/* === ADRESSES === */

.address-item {
    background: #141413 !important;
    border: 1px solid #242424 !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    padding: 16px !important;
    margin-bottom: 16px;
}

.address-item.selected {
    border-color: #FFE1B8 !important;
}

.address-item .address-alias {
    color: #FFFFFF !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
}

.address-item .address {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 14px;
    line-height: 1.6;
}

.address-item hr {
    border-color: #242424 !important;
}

.address-item .address-footer a {
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 13px;
}

.address-item .address-footer a:hover {
    color: #FFE1B8 !important;
}

/* Radio adresse */
.address-item .custom-radio {
    border-color: #565658 !important;
    background: #141413 !important;
}

.address-item .custom-radio input[type=radio]:checked + span {
    background-color: #FFE1B8 !important;
}

/* Ajouter adresse */
.add-address a {
    color: #FFE1B8 !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
}

/* === RÉSUMÉ PANIER (droite) === */

#js-checkout-summary {
    background: #141413 !important;
    border: 1px solid #242424 !important;
    border-radius: 12px !important;
    color: #FFFFFF !important;
}

#js-checkout-summary .card-body {
    background: transparent !important;
}

#js-checkout-summary hr {
    border-color: #242424 !important;
}

/* Produits résumé */
.cart-summary-products {
    color: #FFFFFF !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    padding: 0 20px;
}

.cart-summary-products a {
    color: rgba(255, 255, 255, 0.5) !important;
}

.cart-summary-product .product-name {
    color: #FFFFFF !important;
    font-weight: 500;
    font-size: 14px;
}

.cart-summary-product .text-muted {
    color: rgba(255, 255, 255, 0.5) !important;
}

.cart-summary-product .ws-dimensions .label,
.cart-summary-product .ws-hauteur .label,
.cart-summary-product .ws-surface .label {
    color: #FFE1B8 !important;
    font-size: 12px;
}

.cart-summary-product .ws-dimensions .value,
.cart-summary-product .ws-hauteur .value,
.cart-summary-product .ws-surface .value {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 12px;
}

.cart-summary-product img {
    border-radius: 4px;
}

/* Sous-totaux */
.cart-summary-subtotals-container {
    padding: 0 20px;
}

.cart-summary-subtotals {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
}

.cart-summary-subtotals .label {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 14px;
}

.cart-summary-subtotals .value {
    color: #FFFFFF !important;
    font-size: 14px;
    flex-grow: 1;
    text-align: right;
}

/* Total */
.cart-summary-totals {
    padding: 0 20px;
}

.cart-summary-totals .cart-total {
    display: flex;
    justify-content: space-between;
}

.cart-summary-totals .cart-total .label {
    color: #FFFFFF !important;
    font-weight: 600 !important;
    font-size: 18px !important;
}

.cart-summary-totals .cart-total .value {
    color: #FFE1B8 !important;
    font-weight: 600 !important;
    font-size: 22px !important;
}

/* GDPR dans checkout */
.cart-grid-right .gdpr_notice {
    background: #141413 !important;
    border: 1px solid #242424 !important;
    border-radius: 12px !important;
    margin-top: 24px;
    padding: 20px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
}

.cart-grid-right .gdpr_title {
    color: #FFFFFF !important;
}

.cart-grid-right .gdpr_number {
    background: #FFE1B8 !important;
    color: #0d0d0d !important;
}

.cart-grid-right .gdpr_btn_accept {
    background: #FFE1B8 !important;
    color: #0d0d0d !important;
    border-radius: 8px !important;
}

.cart-grid-right .gdpr_btn_decline {
    background: transparent !important;
    border: 1px solid #FFE1B8 !important;
    color: #FFE1B8 !important;
    border-radius: 8px !important;
}

body#checkout section.checkout-step.-current .step-title {
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
}
