/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.1
*/

/*******************************************************************************
 * RÉPUBLIQUE DU THÉ - DESIGN SYSTEM PREMIUM AVEC COINS ARRONDIS (SOFTNESS)
 *******************************************************************************/

/* --- Fiche Produit Globale : Carte Flottante Adoucie (.rdt-psum) --- */
.single-product .rdt-psum > .col-inner,
.rdt-psum > .col-inner {
    background-color: #ffffff !important;
    border: 1px solid #eae3d2 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 40px -28px rgba(0, 73, 83, 0.12) !important;
    padding: 40px !important;
}

/* --- Galerie d'images principale et miniatures --- */
.single-product .product-gallery,
.single-product .product-gallery-slider,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img,
.single-product .product-gallery .flickity-viewport,
.single-product .product-gallery .flickity-slider,
.single-product .product-main img {
    border-radius: 24px !important;
    overflow: hidden !important;
}
.single-product .product-thumbnails,
.single-product .product-thumbnails .col,
.single-product .product-thumbnails .col-inner,
.single-product .product-thumbnails img,
.single-product .product-thumbnails a {
    border-radius: 14px !important;
    overflow: hidden !important;
}

/* --- Bouton d'ajout au panier --- */
.single-product .single_add_to_cart_button {
    border-radius: 30px !important;
    height: 52px !important;
    font-family: "Josefin Sans", sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    background-color: #D08025 !important;
    box-shadow: 0 8px 20px -8px rgba(208, 128, 37, 0.6) !important;
    transition: all 0.2s ease !important;
    border: none !important;
    color: #ffffff !important;
}
.single-product .single_add_to_cart_button:hover {
    background-color: #b86e1b !important;
    box-shadow: 0 12px 24px -8px rgba(208, 128, 37, 0.7) !important;
    transform: translateY(-1px) !important;
}

/* --- Sélecteur de Quantité en Pilule --- */
.single-product .quantity {
    border-radius: 30px !important;
    overflow: hidden !important;
    height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #eae3d2 !important;
    background: #ffffff !important;
}
.single-product .quantity input.qty {
    height: 100% !important;
    border: none !important;
    font-weight: 700 !important;
    color: #004953 !important;
    background: transparent !important;
    width: 45px !important;
}
.single-product .quantity .plus,
.single-product .quantity .minus {
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    font-size: 18px !important;
    color: #004953 !important;
    width: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.single-product .quantity .plus:hover,
.single-product .quantity .minus:hover {
    color: #D08025 !important;
}

/* --- Boutons Achat Express (Google Pay / Apple Pay / Stripe) --- */
#wc-stripe-express-checkout-element {
    border-radius: 30px !important;
    overflow: hidden !important;
}

/* --- Tuiles d'attributs / Swatches --- */
.single-product .swatches-grid .swatch,
.single-product .ux-swatches .ux-swatch {
    border-radius: 12px !important;
    border: 1px solid #eae3d2 !important;
    padding: 6px !important;
    transition: all 0.15s ease !important;
}
.single-product .swatches-grid .swatch.active,
.single-product .ux-swatches .ux-swatch.active {
    border-color: #004953 !important;
    background-color: #eef5f5 !important;
    box-shadow: 0 0 0 1px #004953 !important;
}

/* --- Bandeau de fidélité YITH --- */
.single-product .yith-wcpr-points-redeem-message,
.single-product .yith-wcpr-points-message,
.single-product .yith_wcpr_points_message,
.single-product .yith-points-message,
.single-product .reward-box {
    background-color: #fdf6ee !important;
    border: 1px solid rgba(208, 128, 37, 0.2) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    color: #6d5434 !important;
    margin-top: 15px !important;
}

/* --- Accordéons / Onglets de détails --- */
.single-product .accordion-item {
    background-color: #ffffff !important;
    border: 1px solid #eae3d2 !important;
    border-radius: 12px !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 8px 16px -12px rgba(0, 73, 83, 0.08) !important;
}
.single-product .accordion-title {
    padding: 20px 24px !important;
    font-family: "Josefin Sans", sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #004953 !important;
    text-transform: uppercase !important;
    border: none !important;
}
.single-product .accordion-inner {
    background-color: #fcfaf6 !important;
    border-top: 1px solid #f2ede0 !important;
    padding: 24px !important;
}

/* --- Produits apparentés (Harmonie de table) --- */
.single-product .products .product-card,
.single-product .products .box,
.single-product .products .col-inner {
    border-radius: 20px !important;
    overflow: hidden !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}
.single-product .products .box {
    box-shadow: 0 10px 30px -24px rgba(0, 73, 83, 0.15) !important;
    border: 1px solid #eae3d2 !important;
    background: #ffffff !important;
}
.single-product .products .box:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 20px 40px -24px rgba(0, 73, 83, 0.25) !important;
    border-color: rgba(208, 128, 37, 0.3) !important;
}
.single-product .products .box-image,
.single-product .products .box-image img,
.single-product .products .box-image * {
    border-radius: 20px 20px 0 0 !important;
    overflow: hidden !important;
}

/* --- Override Responsive Mobile --- */
@media only screen and (max-width: 48em) {
    .single-product .rdt-psum > .col-inner,
    .rdt-psum > .col-inner {
        padding: 24px !important;
        border-radius: 18px !important;
    }
}

/* --- Centrage et rapprochement des icônes de paiement --- */
.rdt-psum .stack-row {
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    display: flex !important;
}
.rdt-psum .stack-row > .img {
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}
.rdt-psum .stack-row img {
    max-height: 24px !important;
    width: auto !important;
    object-fit: contain !important;
}

/* --- Selecteur de Variations Premium --- */
.variations {
    margin-bottom: 20px !important;
    width: 100% !important;
}
.variations tr {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 0 !important;
    border: none !important;
}
.variations th.label {
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
    padding: 0 10px 0 0 !important;
    text-align: left !important;
    border: none !important;
}
.variations th.label label {
    font-family: "Josefin Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #00343b !important;
    margin: 0 !important;
    display: inline-block !important;
}
.variations td.value {
    flex-grow: 1 !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    border: none !important;
}
.variations select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    height: 46px !important;
    border-radius: 30px !important;
    border: 1px solid #d0c8b8 !important;
    background-color: #ffffff !important;
    color: #00343b !important;
    font-family: "Josefin Sans", sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 0 40px 0 22px !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.03) !important;
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300343b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
    background-position: right 18px center !important;
    background-size: 16px 16px !important;
    background-repeat: no-repeat !important;
    transition: all 0.25s ease !important;
    width: 100% !important;
    max-width: 100% !important;
    cursor: pointer !important;
}
.variations select:focus {
    border-color: #D08025 !important;
    box-shadow: 0 0 0 3px rgba(208, 128, 37, 0.12) !important;
    outline: none !important;
}
.reset_variations {
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #8c8573 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-bottom: 1.5px solid #eae3d2 !important;
    margin-left: 12px !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
    white-space: nowrap !important;
}
.reset_variations:hover {
    color: #D08025 !important;
    border-bottom-color: #D08025 !important;
}