/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://rack-market.fr
 Description:  Child theme de Hello Elementor pour Rack Market
 Author:       Rack Market
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  hello-elementor-child
*/

/* =============================================================================
   Rack Market - Custom CSS
   @Author: Julie Lombardo
   @Date:   2026-05-01
   ============================================================================= */

/* Prix produit en orange sur les fiches produit */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: #D14904 !important;
}

/* Label des variations en bleu foncé */
.woocommerce div.product form.cart .variations label {
    color: #184A56 !important;
}

/* Liens dans les champs de groupe Elementor */
.elementor-field-subgroup a,
.elementor-field-subgroup .elementor-widget-container a,
.elementor-field-subgroup .elementor-widget-wrap a {
    color: #ffffff !important;
}

/* Formulaire WooCommerce - dernière ligne pleine largeur */
body > div.elementor.elementor-20 > section > div > div.elementor-column.elementor-col-50.elementor-top-column.elementor-element.elementor-element-7921e18a > div > div.elementor-element.elementor-element-ce1e77a.e-my-account-tabs-vertical.elementor-widget.elementor-widget-woocommerce-my-account > div > div > div > form > p.woocommerce-form-row.woocommerce-form-row--last.form-row.form-row-last {
    width: 100%;
}

/* Panier - soulignement de "Modifier l'adresse" */
.woocommerce a.shipping-calculator-button {
    text-decoration: underline !important;
}

/* Panier - prix méthode livraison aligné à droite */
.woocommerce-shipping-totals td ul#shipping_method li label {
    display: inline-flex;
    justify-content: space-between;
    width: calc(100% - 25px);
}

/* Panier - couleur labels td:before */
.elementor-18 .elementor-element.elementor-element-dcb9cb6 .cart_totals .shop_table td:before {
    color: #D14904;
}

/* Panier - suffixes HT et TTC */
tr.cart-subtotal td:after {
    content: " HT";
}
tr.order-total td:after {
    content: "TTC";
}

/* Panier - bouton finaliser commande hover */
.elementor-18 .elementor-element.elementor-element-dcb9cb6 .woocommerce .wc-proceed-to-checkout .checkout-button:hover {
    background-color: #D14904 !important;
}

/* Checkout - récapitulatif commande alignement à droite */
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .tax-rate td,
.woocommerce-checkout-review-order-table .order-total td {
    text-align: right;
}

/* Checkout - total commande */
tr.order-total {
    color: #184A55;
}
tr.order-total th {
    font-weight: 800 !important;
}

/* Checkout - page commander (page-id-19) */
.page-id-19 a {
    color: #E85D04;
}
.page-id-19 tr.cart-subtotal td:after,
tr.order-total td:after {
    display: inline !important;
}
.page-id-19 a.fc-step__substep-edit,
a.fc-checkout-order-review__header-link.fc-checkout-order-review__edit-cart {
    font-size: 12px !important;
}
.page-id-19 tr.cart-subtotal th,
.page-id-19 tr.cart-subtotal td,
.page-id-19 .coupon-z8s6nggd th,
.page-id-19 .coupon-z8s6nggd td,
.page-id-19 .tax-rate th,
.page-id-19 .tax-rate td,
.page-id-19 .woocommerce-shipping-totals th,
.page-id-19 .woocommerce-shipping-totals td {
    font-weight: initial !important;
}
.page-id-19 tr.cart-discount.coupon-z8s6nggd,
.page-id-19 tr.woocommerce-shipping-totals.shipping,
.page-id-19 tr.tax-rate.tax-rate-tva-1 {
    border-top: 0 !important;
}
.page-id-19 .coupon-z8s6nggd td {
    color: #E85D04;
}

/* Checkout - Fluid Checkout progression */
.fc-progress-bar--bars .fc-progress-bar__steps .fc-progress-bar__step.is-complete,
.fc-progress-bar--bars .fc-progress-bar__steps .fc-progress-bar__step.is-current {
    background-color: #184A55 !important;
}

/* Checkout - étapes complètes */
.has-checkout-layout--multi-step.woocommerce-checkout form .fc-wrapper .fc-checkout-step[data-step-complete] .fc-step__substep .fc-step__substep-title:before {
    background-color: #184A55 !important;
}

/* Checkout - boutons */
button#place_order {
    background-color: #184A55 !important;
}
button.fc-step__next-step.button,
button.fc-step__substep-save.button,
button.fc-coupon-code__apply.button,
button.fc-checkout-order-review__close-order-summary.button,
button.woocommerce-form-login__submit.woocommerce-button.button {
    color: #ffffff;
    background-color: #184A55;
    background-image: none;
    border: none;
    transform: translateY(0);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
button.fc-step__next-step.button:hover,
button.fc-step__substep-save.button:hover,
button.fc-coupon-code__apply.button:hover,
button.woocommerce-form-login__submit.woocommerce-button.button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(24, 74, 85, 0.35);
    background-color: #0f3037;
    color: #ffffff;
}

/* Checkout - espacement étapes */
section.fc-checkout-step.fc-checkout-step--next-step-incomplete {
    margin-bottom: 10px;
}

/* Checkout - fond section livraison sélectionnée */
body.has-highlighted-shipping-section div.woocommerce form .fc-step__substep[data-substep-id=shipping_address],
.woocommerce ul#shipping_method .shipping-method__option input[type=radio]:checked+.shipping-method__option-label {
    background-color: #f8f9fa !important;
}

/* Checkout - conditions de livraison */
.conditions-livraison {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    padding: 12px 15px;
    margin-top: 12px;
    font-size: 13px;
    color: #495057;
    line-height: 1.4;
}
.conditions-livraison strong {
    color: #343a40;
    font-weight: 600;
}

/* Checkout - checkbox accent */
input#billing_same_as_shipping,
#terms {
    accent-color: #0f3037;
}

/* Checkout - méthodes de paiement */
.fc-wrapper #payment .payment_methods>.wc_payment_method {
    border: 1px solid #184A55 !important;
    border-radius: 4px !important;
    padding: 0.6rem 0.75rem !important;
    margin-bottom: 2px !important;
}
body.woocommerce-checkout div.woocommerce #add_payment_method .fc-wrapper #payment ul.payment_methods,
body.woocommerce-checkout div.woocommerce .fc-wrapper #payment ul.payment_methods {
    border: 0 !important;
    background-color: white !important;
}
.fc-wrapper #payment ul.wc_payment_methods>li.wc_payment_method>input[name=payment_method]:checked+label,
.fc-wrapper #payment ul.payment_methods>li.wc_payment_method .payment_box,
.fc-wrapper #payment ul.wc_payment_methods>li.wc_payment_method>label {
    background-color: white !important;
    border-bottom: 0 !important;
}
.fc-wrapper #payment .payment_methods>.wc_payment_method>input[name=payment_method]:checked+label:before {
    --fluidcheckout--option-box--radio-color--checked: #184A55;
    --fluidcheckout--color--success: #184A55;
    border-color: #184A55 !important;
    background-color: #184A55 !important;
}
.fc-wrapper #payment ul.payment_methods>li.wc_payment_method .payment_box {
    padding: 0px calc(24px + var(--fluidcheckout--option-box--spacing--horizontal, 10px)) !important;
}
.woocommerce-checkout #payment div.payment_box p:last-child {
    color: #6c757d;
    font-size: 12px;
}

/* Checkout - divers */
div.woocommerce .form-row .fc-inline-error {
    background-color: white;
}
.woocommerce-privacy-policy-text {
    font-size: 12px;
}
a.fc-checkout-order-review__edit-cart {
    display: none;
}
.has-flyout.has-flyout--open-fc-checkout-order-review .fc-checkout-order-review__actions-mobile {
    justify-content: center !important;
}

/* Checkout - récapitulatif sidebar */
.fc-checkout-order-review__inner,
.reassurance-mini {
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15) !important;
}

/* Checkout - bloc reassurance */
.reassurance-mini {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.75rem;
    padding: 0.6rem 0.85rem;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    font-size: 11px;
    color: #495057;
    justify-content: center; /* ← centrage des items orphelins */
    margin-top: 10px;
}
.reassurance-mini-item {
    display: flex;
    gap: 0.3rem;
    align-items: center;    /* ← alignement vertical svg/texte */
    white-space: nowrap;    /* ← évite la coupure d'un label */
}
.reassurance-mini-item svg {
    width: 12px;
    height: 12px;
    color: #184A55;
}
.contact-mini {
    text-align: center;
    font-size: 11px;
    color: #6c757d;
    padding: 0.5rem;
}
.contact-mini strong {
    color: #184A55;
    font-size: 12px;
}

/* Correction marge H2 descriptif produit - Rayonnage palettes (post 304) */
@media (min-width: 1024px) {
    body.postid-304 .elementor-element-b55a954 h2 {
        margin-top: 80px !important;
    }
}

/* Responsive checkout */
@media (max-width: 600px) {
    .fc-checkout-order-review__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

/* =============================================================================
   CSS récupéré du wp-custom-css Elementor
   ============================================================================= */

/* Panier - calcul frais de port */
#ars_addon_estimation_frais_offert h3 {
    font-family: "Inter", Sans-serif;
    font-size: 20px;
    color: #184A56;
}
div#ars_addon_estimation_frais_offert span#ars_addon_estimation_frais_offert_amount {
    font-family: "Inter", Sans-serif;
    font-size: 15px;
    color: #184A56;
}

/* Panier - suffixes HT/TTC avec style complet */
tr.order-total td:after {
    content: "TTC";
    display: flex;
    flex-direction: row-reverse;
    font-size: 1em;
    color: #184A56;
    margin-left: 3px;
}
tr.order-total td {
    background-color: #FDF7F3;
}
tr.cart-subtotal td:after {
    content: "HT";
    display: inline;
    flex-direction: row-reverse;
    font-size: 1em;
    color: #184A56;
    margin-left: 3px;
}
tr.woocommerce-shipping-totals .woocommerce-Price-amount bdi::after {
    content: "HT";
    display: flex;
    flex-direction: row-reverse;
    font-size: 1em;
    color: #184A56;
    margin-left: 3px;
    padding-bottom: 9px;
}
tr.tax-rate .woocommerce-Price-amount {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}
.woocommerce-Price-amount {
    display: flex;
    flex-direction: row-reverse;
}
tr.woocommerce-shipping-totals td {
    padding-right: 12px !important;
}
.e-shop-table.e-cart-section .woocommerce-Price-amount.amount {
    display: flex;
    flex-direction: row;
}

/* Bundles */
.bundled_item_col.bundled_item_images_col {
    background: #FFFFFF;
}
.bundled_item_col.bundled_item_details_col {
    background: #FFFFFF;
    color: #184A56;
}
.bundled_item_col.bundled_item_qty_col {
    background: #FFFFFF;
    color: #184A56 !important;
    border-color: #184A56 !important;
}
.quantity {
    color: #184A56 !important;
    border-color: #184A56 !important;
}
.bundled_product_permalink {
    color: #D14904;
}
.required {
    color: #D14904 !important;
}
.required:hover {
    color: #184A56 !important;
}
.reset_variations {
    color: #D14904;
}
.price,
div.product p.price {
    color: #D14904 !important;
}
.price,
div.product p.price del {
    color: #131313 !important;
}
body .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td .woocommerce-Price-amount,
.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td:before {
    color: #D14904;
}
.woocommerce-price-suffix {
    color: #D14904;
}
.reset_bundled_variations_fixed {
    display: none !important;
}
td.bundled_item_col.bundled_item_images_col {
    display: none !important;
}
table.bundled_products:after {
    content: "TOTAL :";
    display: flex;
    color: #D14904;
    font-family: "Inter", Sans-serif;
    font-size: 1.2em;
    font-weight: 800;
    margin-top: 25px;
    margin-bottom: -25px;
}
.single_variation_wrap.bundled_item_wrap {
    display: none !important;
}
.bundled_product_excerpt.product_excerpt {
    font-family: "Inter", Sans-serif;
    font-size: 0.9em;
    font-weight: 700;
    margin-bottom: -25px !important;
}
.bundled_item_cart_content select {
    background-color: white;
    color: black;
}
input[type=number].qty {
    padding: .5rem 5px;
}
@media (max-width: 1024px) {
    table.bundled_products td.bundled_item_col.bundled_item_qty_col {
        vertical-align: bottom;
    }
}

/* Aération descriptions configurateur */
.bundled_product_excerpt p {
    margin-bottom: 30px !important;
    line-height: 1.5 !important;
}

/* Menu navigation responsive */
@media screen and (min-width: 990px) and (max-width: 1600px) {
    .elementor-60 .elementor-element.elementor-element-6ae3903 .menu-item-link-top .jet-nav-link-text {
        font-size: 16px !important;
    }
    .jet-nav .menu-item-link.menu-item-link-top {
        padding: 8px 10px !important;
    }
    .elementor-60 .elementor-element.elementor-element-6ae3903 .jet-nav > .jet-nav__item {
        margin: 0;
    }
}

/* Panier - tableau */
body .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-price:before {
    content: "Prix unitaire : ";
}
body .elementor-widget-woocommerce-cart .woocommerce table.cart tr span.woocommerce-Price-amount.amount:after {
    content: " HT";
}
body .elementor-widget-woocommerce-cart .woocommerce .remove,
body .elementor-widget-woocommerce-cart .woocommerce table.cart tr span.woocommerce-Price-amount.amount {
    color: #131313 !important;
}
body .elementor-widget-woocommerce-cart .woocommerce .remove:hover {
    color: #D14904 !important;
}
body .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-price span *,
body .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-quantity input,
body .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-subtotal span * {
    color: #131313;
}

@media (max-width: 768px) {
    div.e-shop-table.e-cart-section {
        padding: 0 12px;
    }
    body .elementor-widget-woocommerce-cart .woocommerce table.cart tr {
        padding: 15px 0;
    }
    tr.woocommerce-cart-form__cart-item.cart_item {
        position: relative;
    }
    body .elementor-widget-woocommerce-cart .woocommerce table.cart td {
        padding-top: 0;
        padding-bottom: 5px;
    }
    .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove {
        float: right;
    }
    .woocommerce-page table.cart .product-thumbnail:before {
        display: none;
    }
    .woocommerce table.cart .product-thumbnail,
    .woocommerce-page table.cart .product-thumbnail {
        display: block;
    }
    .section-top-panier > .elementor-container.elementor-column-gap-default {
        display: flex !important;
        flex-direction: column-reverse !important;
    }
}

/* Boutons */
.elementor-button:hover,
.checkout-button {
    background-color: #D14904 !important;
}
.shipping-calculator-button:hover {
    font-weight: bold !important;
    color: #D14904 !important;
}
.single_add_to_cart_button:focus {
    background-color: #D14904 !important;
    border: 1px solid black !important;
}

/* Messages Elementor */
.elementor-message.elementor-message-success {
    color: #ffffff !important;
}
#contact_form .elementor-message.elementor-message-success {
    color: var(--e-global-color-secondary) !important;
}

/* Filtres Jet */
.jet-checkboxes-list__decorator {
    border-color: black !important;
}
.jet-checkboxes-list__input:checked+.jet-checkboxes-list__button .jet-checkboxes-list__decorator {
    background: black !important;
}

/* Mini-panier */
.widget_shopping_cart_content .elementor-menu-cart__footer-buttons {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* Style livraison custom */
.custom-shipping-style li {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.woocommerce-shipping-totals.custom-shipping-style ul#shipping_method li label {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex: auto;
}
.woocommerce-shipping-totals.custom-shipping-style .woocommerce-Price-amount bdi::after {
    display: inline-block;
    padding-bottom: 0;
}
.cart_totals .custom-shipping-style td,
.cart_totals table.shop_table_responsive .custom-shipping-style td {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.cart_totals .custom-shipping-style ul#shipping_method .woocommerce-Price-amount {
    font-weight: 600;
}

/* Variations produit - affichage colonne */
.single-product table.variations tr {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.single-product table.variations .label,
.single-product table.variations .value {
    padding: 0;
    background-color: white;
}
.single-product table.variations .label {
    color: #184A56;
    padding-top: 1em;
}
.single-product table.variations .value {
    width: 100%;
}