/* ============================================
   Checkout — Menthe et Bergamote
   ============================================ */

/* --- Masquer titre "Commander" et reduire margin top --- */
.woocommerce-checkout .page-title,
.woocommerce-checkout .entry-title,
.woocommerce-checkout .elementor-heading-title,
.woocommerce-checkout h1.wp-block-post-title,
body.woocommerce-checkout .wp-block-post-title {
    display: none !important;
}
.woocommerce-checkout .entry-content,
.woocommerce-checkout .page-content,
.woocommerce-checkout .e-con,
.woocommerce-checkout main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .elementor-section-wrap,
body.woocommerce-checkout .elementor-element {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* --- Layout 2 colonnes --- */
.wc-block-checkout {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 16px 20px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    gap: 32px !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-fields-block {
    max-width: 100% !important;
    flex: 1.3 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-totals-block {
    flex: 0.7 !important;
    min-width: 340px !important;
}

/* --- Titres de sections --- */
.wc-block-checkout .wc-block-components-title,
.wc-block-checkout .wc-block-components-checkout-step__title {
    font-family: "Bodoni Moda", serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #0B4A43 !important;
    margin-bottom: 4px !important;
}
.wc-block-checkout .wc-block-components-checkout-step__description {
    font-size: 14px !important;
    color: #7A7A7A !important;
    margin-bottom: 12px !important;
}

/* --- Steps compactes --- */
.wc-block-checkout .wc-block-components-checkout-step {
    border: none !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    margin-bottom: 0 !important;
}
.wc-block-checkout .wc-block-components-checkout-step:last-child {
    border-bottom: none !important;
}

/* --- Champs de formulaire --- */
.wc-block-checkout .wc-block-components-text-input,
.wc-block-checkout .wc-block-components-combobox {
    overflow: visible !important;
}
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-textarea textarea,
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input,
.wc-block-checkout select,
.wc-block-checkout .wc-block-components-combobox .components-form-token-field__input {
    border: 1.5px solid #ddd !important;
    border-radius: 10px !important;
    padding: 18px 16px 8px !important;
    font-size: 16px !important;
    color: #222 !important;
    background: #fff !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    height: auto !important;
    min-height: 52px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    text-overflow: ellipsis !important;
}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-textarea textarea:focus,
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input:focus {
    border-color: #24BBA5 !important;
    box-shadow: 0 0 0 3px rgba(36, 187, 165, 0.12) !important;
    outline: none !important;
}

/* Labels */
.wc-block-checkout .wc-block-components-text-input label {
    font-size: 12px !important;
    color: #888 !important;
    font-weight: 500 !important;
    top: 6px !important;
    transform: none !important;
    position: absolute !important;
}
.wc-block-checkout .wc-block-components-text-input.is-active label {
    color: #24BBA5 !important;
}

/* Combobox (pays, region) - texte visible en entier */
.wc-block-checkout .wc-block-components-combobox .components-form-token-field__input {
    padding-right: 40px !important;
    overflow: visible !important;
}
.wc-block-checkout .wc-block-components-combobox .components-combobox-control {
    overflow: visible !important;
}

/* Reduire gaps entre champs */
.wc-block-checkout .wc-block-components-address-form {
    gap: 10px !important;
}
.wc-block-checkout .wc-block-components-text-input {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

/* --- Radio buttons (livraison, paiement) --- */
.wc-block-checkout .wc-block-components-radio-control__option {
    border: 1.5px solid #eee !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    margin-bottom: 6px !important;
    transition: border-color 0.2s, background 0.2s !important;
}
.wc-block-checkout .wc-block-components-radio-control__option--checked,
.wc-block-checkout .wc-block-components-radio-control__option:has(input:checked) {
    border-color: #24BBA5 !important;
    background: rgba(36, 187, 165, 0.04) !important;
}
.wc-block-checkout .wc-block-components-radio-control__input {
    accent-color: #24BBA5 !important;
}
.wc-block-checkout .wc-block-components-radio-control__label {
    font-weight: 600 !important;
    color: #222 !important;
    font-size: 15px !important;
}
.wc-block-checkout .wc-block-components-radio-control__secondary-label {
    font-weight: 700 !important;
    color: #0B4A43 !important;
    font-size: 15px !important;
}

/* --- Recap commande (colonne droite) --- */
.wc-block-checkout .wc-block-components-order-summary {
    background: #FAF4EE !important;
    border-radius: 16px !important;
    padding: 24px !important;
    border: none !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-totals-block {
    position: sticky !important;
    top: 24px !important;
    padding: 0 !important;
}
/* Bloc englobant le recap - forcer le padding */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
    background: #FAF4EE !important;
    border-radius: 16px !important;
    padding: 24px !important;
}

/* Titre recap */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
    font-family: "Bodoni Moda", serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0B4A43 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(11, 74, 67, 0.1) !important;
}

/* Produits recap */
.wc-block-checkout .wc-block-components-order-summary-item {
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(11, 74, 67, 0.06) !important;
}
.wc-block-checkout .wc-block-components-order-summary-item:last-child {
    border-bottom: none !important;
}
.wc-block-checkout .wc-block-components-order-summary-item__image {
    border-radius: 10px !important;
    overflow: hidden !important;
    width: 64px !important;
    height: 64px !important;
    flex-shrink: 0 !important;
}
.wc-block-checkout .wc-block-components-order-summary-item__image img {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
}
.wc-block-checkout .wc-block-components-order-summary-item__description {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #222 !important;
    line-height: 1.4 !important;
}
.wc-block-checkout .wc-block-components-order-summary-item__total-price {
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #0B4A43 !important;
}
.wc-block-checkout .wc-block-components-order-summary-item__quantity {
    background: #24BBA5 !important;
    color: #fff !important;
    border: none !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 50% !important;
    min-width: 22px !important;
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Lignes totaux */
.wc-block-checkout .wc-block-components-totals-item {
    padding: 10px 0 !important;
    border-color: rgba(11, 74, 67, 0.08) !important;
}
.wc-block-checkout .wc-block-components-totals-item__label {
    font-size: 15px !important;
    color: #555 !important;
}
.wc-block-checkout .wc-block-components-totals-item__value {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #222 !important;
}

/* Total general */
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0B4A43 !important;
}
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #0B4A43 !important;
}

/* --- Coupon --- */
.wc-block-checkout .wc-block-components-totals-coupon__form {
    display: flex !important;
    gap: 8px !important;
}
.wc-block-checkout .wc-block-components-totals-coupon__input input {
    border-radius: 10px !important;
    border: 1.5px solid #ddd !important;
    font-size: 15px !important;
}
.wc-block-checkout .wc-block-components-totals-coupon__button {
    background: #0B4A43 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 12px 20px !important;
    transition: background 0.15s !important;
}
.wc-block-checkout .wc-block-components-totals-coupon__button:hover {
    background: #093b35 !important;
}

/* --- Bouton Commander --- */
.wc-block-checkout .wc-block-components-checkout-place-order-button,
.wc-block-checkout .wc-block-checkout__actions_row .wc-block-components-button {
    background: #24BBA5 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 14px !important;
    padding: 18px 32px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    text-transform: none !important;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s !important;
    box-shadow: 0 4px 16px rgba(36, 187, 165, 0.25) !important;
    width: 100% !important;
    cursor: pointer !important;
}
.wc-block-checkout .wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout .wc-block-checkout__actions_row .wc-block-components-button:hover {
    background: #1ea08c !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 24px rgba(36, 187, 165, 0.35) !important;
}

/* Lien retour */
.wc-block-checkout .wc-block-components-checkout-return-to-cart-button {
    font-size: 14px !important;
    color: #0B4A43 !important;
    font-weight: 600 !important;
}

/* --- Notices --- */
.wc-block-checkout .wc-block-components-notice-banner {
    border-radius: 12px !important;
    padding: 14px 18px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
.wc-block-checkout .wc-block-components-notice-banner.is-error {
    background: #fef0eb !important;
    border-color: #E9602A !important;
    color: #c0391b !important;
}
.wc-block-checkout .wc-block-components-notice-banner.is-success {
    background: #e8f8f5 !important;
    border-color: #24BBA5 !important;
    color: #0B4A43 !important;
}

/* --- Checkbox & Terms --- */
.wc-block-checkout .wc-block-components-checkbox__input {
    accent-color: #24BBA5 !important;
}
.wc-block-checkout .wc-block-components-checkbox__label {
    font-size: 14px !important;
    color: #555 !important;
}
.wc-block-checkout .wc-block-components-checkbox__label a {
    color: #24BBA5 !important;
}
.wc-block-checkout .wc-block-checkout__terms {
    font-size: 13px !important;
    color: #777 !important;
}
.wc-block-checkout .wc-block-checkout__terms a {
    color: #24BBA5 !important;
}

/* --- Express payment --- */
.wc-block-checkout .wc-block-components-express-payment {
    border: 1.5px solid #eee !important;
    border-radius: 14px !important;
    padding: 20px !important;
    margin-bottom: 16px !important;
    background: #fafafa !important;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .wc-block-checkout {
        padding: 12px 16px !important;
    }
    .wc-block-checkout .wc-block-components-order-summary,
    .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
        margin-top: 20px !important;
        padding: 20px 16px !important;
    }
    .wc-block-checkout .wc-block-components-checkout-place-order-button {
        padding: 16px 24px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
    }
    .wc-block-checkout .wc-block-components-checkout-step__title {
        font-size: 20px !important;
    }
}

/* --- Notice informative custom --- */
.gc-checkout-info {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #e8f8f5;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 16px;
    font-size: 14px;
    color: #0B4A43;
    line-height: 1.5;
}
.gc-checkout-info__icon { font-size: 18px; flex-shrink: 0; }
.gc-checkout-info p { margin: 0; }

/* --- Payment error --- */
.gc-payment-error {
    text-align: center;
    padding: 40px 20px;
    max-width: 500px;
    margin: 0 auto;
}
.gc-payment-error__icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fef0eb;
    color: #E9602A;
    font-size: 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}
.gc-payment-error__title {
    font-size: 20px;
    font-weight: 700;
    color: #222;
    margin: 0 0 8px;
}
.gc-payment-error__message {
    font-size: 14px;
    color: #7A7A7A;
    margin: 0 0 24px;
    line-height: 1.5;
}
.gc-payment-error__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}
.gc-payment-error__btn {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s;
}
.gc-payment-error__btn--primary {
    background: #E9602A;
    color: #fff;
}
.gc-payment-error__btn--primary:hover {
    background: #C44B1B;
    color: #fff;
}
.gc-payment-error__btn--secondary {
    background: #FAF4EE;
    color: #0B4A43;
}
.gc-payment-error__btn--secondary:hover {
    background: #e8f8f5;
}

/* --- Fix radio button chevauchant le texte (lieux retrait) --- */
.wc-block-checkout .wc-block-components-radio-control__option {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    position: relative !important;
    padding-left: 44px !important;
}
.wc-block-checkout .wc-block-components-radio-control__input {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    width: 18px !important;
    height: 18px !important;
}
.wc-block-checkout .wc-block-components-radio-control__label,
.wc-block-checkout .wc-block-components-radio-control__description {
    padding-left: 0 !important;
    margin-left: 0 !important;
}