/*
 * Nexaflux Licensing - Checkout contrast fixes
 * Scope volontairement limite aux pages WooCommerce checkout / panier.
 * Corrige surtout WooCommerce Checkout Blocks sur fond sombre Nexaflux :
 * - libelles gris clair dans champs blancs,
 * - labels de checkbox/radio trop sombres sur fond bleu nuit,
 * - cadre moyens de paiement peu lisible.
 */

body.woocommerce-checkout,
body.woocommerce-cart {
    color: #f4fbff !important;
}

/* Titres des etapes : Coordonnees, Adresse, Paiement, Informations supplementaires */
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-checkout-step__heading-content,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3 {
    color: #16d89b !important;
}

/* Texte general sur les zones sombres du checkout */
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-checkout-step__content,
body.woocommerce-checkout .wc-block-components-checkout-step__container,
body.woocommerce-checkout .wc-block-checkout__payment-method,
body.woocommerce-checkout .woocommerce-checkout,
body.woocommerce-checkout .woocommerce-checkout p,
body.woocommerce-checkout .woocommerce-checkout span,
body.woocommerce-checkout .woocommerce-checkout strong,
body.woocommerce-checkout .woocommerce-checkout small,
body.woocommerce-cart .wc-block-components-checkout-step,
body.woocommerce-cart .wc-block-components-checkout-step__content,
body.woocommerce-cart .wc-block-components-checkout-step__container {
    color: #f4fbff !important;
}

/* Champs blancs : le texte, les libelles flottants et placeholders doivent etre fonces. */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-textarea textarea,
body.woocommerce-checkout .wc-block-components-combobox input,
body.woocommerce-checkout .wc-block-components-select select,
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
    background: #ffffff !important;
    color: #061426 !important;
    border: 1px solid rgba(0, 234, 255, 0.45) !important;
    border-radius: 4px !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-textarea textarea:focus,
body.woocommerce-checkout .wc-block-components-combobox input:focus,
body.woocommerce-checkout .wc-block-components-select select:focus,
body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout input[type="text"]:focus,
body.woocommerce-checkout input[type="email"]:focus,
body.woocommerce-checkout input[type="tel"]:focus,
body.woocommerce-checkout input[type="password"]:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus {
    border-color: #00eaff !important;
    outline: 2px solid rgba(0, 234, 255, 0.22) !important;
    outline-offset: 1px !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wc-block-components-text-input.has-error label,
body.woocommerce-checkout .wc-block-components-textarea label,
body.woocommerce-checkout .wc-block-components-combobox label,
body.woocommerce-checkout .wc-block-components-base-control__label,
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #06405c !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder,
body.woocommerce-checkout .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout .wc-block-components-textarea textarea::placeholder {
    color: #06405c !important;
    opacity: 1 !important;
}

/* Labels hors champs blancs : ils sont poses sur le fond sombre, donc texte clair. */
body.woocommerce-checkout .form-row label,
body.woocommerce-checkout .woocommerce-form__label,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout label.checkbox,
body.woocommerce-checkout .nexaflux-renewal-consent label {
    color: #f4fbff !important;
    opacity: 1 !important;
}

/* Checkboxes WooCommerce Blocks et checkout classique. */
body.woocommerce-checkout .wc-block-components-checkbox,
body.woocommerce-checkout .wc-block-components-checkbox label,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__label span,
body.woocommerce-checkout .wc-block-checkout__add-note,
body.woocommerce-checkout .wc-block-checkout__add-note label,
body.woocommerce-checkout .wc-block-checkout__marketing-opt-in,
body.woocommerce-checkout .wc-block-checkout__marketing-opt-in label,
body.woocommerce-checkout .nexaflux-renewal-consent,
body.woocommerce-checkout .nexaflux-renewal-consent label {
    color: #f4fbff !important;
    opacity: 1 !important;
}

body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
    accent-color: #16d89b !important;
    background-color: #ffffff !important;
    border: 2px solid rgba(0, 234, 255, 0.75) !important;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2) !important;
}

body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark {
    fill: #061426 !important;
    color: #061426 !important;
}

/* Adresse de facturation : cadre sombre lisible + lien Modifier visible. */
body.woocommerce-checkout .wc-block-components-address-card,
body.woocommerce-checkout .wc-block-components-address-card__address-section,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
    background: rgba(3, 10, 22, 0.72) !important;
    color: #f4fbff !important;
    border-color: rgba(0, 212, 255, 0.28) !important;
}

body.woocommerce-checkout .wc-block-components-address-card address,
body.woocommerce-checkout .wc-block-components-address-card strong,
body.woocommerce-checkout .wc-block-components-address-card span,
body.woocommerce-checkout .wc-block-components-address-card__address-section,
body.woocommerce-checkout .wc-block-components-address-card__address-section span {
    color: #f4fbff !important;
    opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-components-address-card__edit,
body.woocommerce-checkout .wc-block-components-address-card a,
body.woocommerce-checkout .wc-block-components-checkout-step__heading-content a {
    color: #00eaff !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.woocommerce-checkout .wc-block-components-address-card__edit:hover,
body.woocommerce-checkout .wc-block-components-address-card a:hover,
body.woocommerce-checkout .wc-block-components-checkout-step__heading-content a:hover {
    color: #16d89b !important;
}

/* Moyens de paiement : le texte noir par defaut de Woo Blocks devient illisible sur fond bleu nuit. */
body.woocommerce-checkout .wc-block-checkout__payment-method,
body.woocommerce-checkout .wc-block-components-radio-control,
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout #payment,
body.woocommerce-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout ul.payment_methods,
body.woocommerce-checkout .payment_box {
    background: rgba(3, 10, 22, 0.88) !important;
    color: #f4fbff !important;
    border-color: rgba(0, 212, 255, 0.36) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control label,
body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-radio-control__label span,
body.woocommerce-checkout .wc-block-components-payment-method-label,
body.woocommerce-checkout .wc-block-components-payment-method-label span,
body.woocommerce-checkout #payment label,
body.woocommerce-checkout ul.payment_methods li label,
body.woocommerce-checkout .payment_box,
body.woocommerce-checkout .payment_box p {
    color: #f4fbff !important;
    opacity: 1 !important;
}

body.woocommerce-checkout input[type="radio"],
body.woocommerce-checkout .wc-block-components-radio-control__input {
    accent-color: #16d89b !important;
    background-color: #061426 !important;
    border: 2px solid rgba(0, 234, 255, 0.75) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option--checked,
body.woocommerce-checkout .wc-block-components-radio-control__option:hover,
body.woocommerce-checkout .payment_methods li:hover {
    background: rgba(0, 234, 255, 0.08) !important;
}

/* Bloc informations supplementaires / parrainage / note de commande. */
body.woocommerce-checkout .wc-block-checkout__additional-fields,
body.woocommerce-checkout .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container,
body.woocommerce-checkout .woocommerce-additional-fields {
    color: #f4fbff !important;
}

body.woocommerce-checkout .wc-block-components-validation-error,
body.woocommerce-checkout .wc-block-components-validation-error p,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-error li {
    color: #ffb4c2 !important;
}

/* Conditions generales et liens */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button__text,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-components-checkbox__label a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce-privacy-policy-text {
    opacity: 1 !important;
}

body.woocommerce-checkout a,
body.woocommerce-checkout .wc-block-components-checkbox__label a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a,
body.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: #00eaff !important;
}

body.woocommerce-checkout a:hover,
body.woocommerce-checkout .wc-block-components-checkbox__label a:hover,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a:hover,
body.woocommerce-checkout .woocommerce-privacy-policy-text a:hover {
    color: #16d89b !important;
}

/* Fallbacks si le theme n'ajoute pas la classe body WooCommerce attendue. */
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-textarea textarea,
.wp-block-woocommerce-checkout .wc-block-components-combobox input,
.wp-block-woocommerce-checkout .wc-block-components-select select,
body.woocommerce-order-pay .wc-block-components-text-input input,
body.woocommerce-order-pay .wc-block-components-textarea textarea,
body.woocommerce-order-pay .wc-block-components-combobox input,
body.woocommerce-order-pay .wc-block-components-select select,
body.woocommerce-order-pay input.input-text,
body.woocommerce-order-pay input[type="text"],
body.woocommerce-order-pay input[type="email"],
body.woocommerce-order-pay input[type="tel"],
body.woocommerce-order-pay input[type="password"],
body.woocommerce-order-pay textarea,
body.woocommerce-order-pay select {
    background: #ffffff !important;
    color: #061426 !important;
    border: 1px solid rgba(0, 234, 255, 0.45) !important;
    opacity: 1 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label,
.wp-block-woocommerce-checkout .wc-block-components-textarea label,
.wp-block-woocommerce-checkout .wc-block-components-combobox label,
.wp-block-woocommerce-checkout .wc-block-components-base-control__label,
body.woocommerce-order-pay .wc-block-components-text-input label,
body.woocommerce-order-pay .wc-block-components-text-input.is-active label,
body.woocommerce-order-pay .wc-block-components-textarea label,
body.woocommerce-order-pay .wc-block-components-combobox label,
body.woocommerce-order-pay .wc-block-components-base-control__label {
    color: #06405c !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox,
.wp-block-woocommerce-checkout .wc-block-components-checkbox label,
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__label,
.wp-block-woocommerce-checkout .wc-block-components-radio-control label,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label,
.wp-block-woocommerce-checkout .wc-block-components-payment-method-label,
body.woocommerce-order-pay .wc-block-components-checkbox,
body.woocommerce-order-pay .wc-block-components-checkbox label,
body.woocommerce-order-pay .wc-block-components-checkbox .wc-block-components-checkbox__label,
body.woocommerce-order-pay .wc-block-components-radio-control label,
body.woocommerce-order-pay .wc-block-components-radio-control__label,
body.woocommerce-order-pay .wc-block-components-payment-method-label,
body.woocommerce-order-pay #payment label,
body.woocommerce-order-pay ul.payment_methods li label {
    color: #f4fbff !important;
    opacity: 1 !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__payment-method,
.wp-block-woocommerce-checkout .wc-block-components-radio-control,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-order-pay #payment,
body.woocommerce-order-pay .woocommerce-checkout-payment,
body.woocommerce-order-pay ul.payment_methods,
body.woocommerce-order-pay .payment_box {
    background: rgba(3, 10, 22, 0.88) !important;
    color: #f4fbff !important;
    border-color: rgba(0, 212, 255, 0.36) !important;
}
