/*
Theme Name: Astra Child
Template: astra
*/

/* ========================================
   VARIABLES GLOBALES
   ======================================== */
:root {
    --primary-orange: #e8a658;
    --dark-orange: #d9944a;
    --light-orange: #f4b76a;
    --text-dark: #333333;
    --text-light: #666666;
    --bg-light: #f8f8f8;
    --footer-bg: #3d3d3d;
    --white: #ffffff;
    --border-radius: 4px;
}

/* ========================================
   STYLES GÉNÉRAUX
   ======================================== */
body {
    font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif !important;
    color: var(--text-dark) !important;
    background: var(--white) !important;
    line-height: 1.6 !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 300 !important;
    color: var(--text-dark) !important;
}

/* ========================================
   EN-TÊTE / HEADER - Style Maquette
   ======================================== */

/* Reset et base du header */
.site-header,
#masthead {
    background: #fff !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ast-above-header,
.ast-above-header-bar {
    background: #f2f7fb !important;
    border-bottom: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Supprimer toute marge/padding avant le header */
.ast-above-header-wrap {
    margin: 0 !important;
    padding: 0 !important;
    background: #f2f7fb !important;
}

/* Remplir tout le bandeau menu avec la couleur #f2f7fb */
.site-above-header-wrap,
.ast-above-header-wrap,
.ast-above-header-bar,
.ast-above-header,
.ast-builder-grid-row,
.site-header-above-section-left,
.site-header-above-section-right,
.ast-builder-menu-1,
.ast-main-header-bar-alignment,
.main-header-bar-navigation,
.site-navigation,
.main-navigation {
    background: #f2f7fb !important;
}

/* Masquer le primary header si vide */
.ast-primary-header-bar:empty,
.ast-primary-header:empty,
.ast-primary-header-bar,
.ast-primary-header {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Container Above Header - aligné avec les marges des pages */
.ast-above-header-wrap .ast-builder-grid-row,
.site-above-header-wrap.ast-builder-grid-row-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* Fond couleur sur toute la largeur */
.ast-above-header-wrap {
    background: #f2f7fb !important;
    width: 100% !important;
}

/* ---- LAYOUT DU HEADER ---- */
/* Menu aligné avec les marges des pages */
.ast-above-header .ast-builder-grid-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

.site-header-above-section-left {
    display: none !important;
}

.site-header-above-section-right {
    width: 100% !important;
    flex: 1 !important;
}

/* Tous les conteneurs doivent prendre 100% de largeur */
.site-header-above-section-right .ast-builder-menu-1,
.site-header-above-section-right .ast-builder-menu,
.site-header-above-section-right .ast-main-header-bar-alignment,
.site-header-above-section-right .main-header-bar-navigation,
.site-header-above-section-right .site-navigation,
.site-header-above-section-right .main-navigation,
.site-header-above-section-right .ast-inline-flex {
    width: 100% !important;
    display: flex !important;
    flex: 1 !important;
}

/* ---- MENU PRINCIPAL ---- */
#ast-hf-menu-1,
.main-header-menu,
.ast-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Items du menu */
.main-header-menu > .menu-item,
.ast-nav-menu > .menu-item {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Pousser "Mon compte" à droite */
.main-header-menu > .menu-item:last-child,
.ast-nav-menu > .menu-item:last-child,
#menu-item-90 {
    margin-left: auto !important;
    margin-right: 0 !important;
    position: relative !important;
    right: 0 !important;
}

/* Supprimer tous les séparateurs */
.main-header-menu > .menu-item::after,
.ast-nav-menu > .menu-item::after,
.main-header-menu > .menu-item::before,
.ast-nav-menu > .menu-item::before {
    content: none !important;
    display: none !important;
}

/* Liens du menu */
.main-header-menu > .menu-item > a,
.ast-nav-menu > .menu-item > a,
a.menu-link {
    color: #666 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    letter-spacing: 0.3px !important;
    padding: 12px 8px !important;
    display: inline-block !important;
    transition: color 0.2s ease !important;
    line-height: 1.2 !important;
    background: none !important;
}

/* Hover et actif - orange */
.main-header-menu > .menu-item > a:hover,
.ast-nav-menu > .menu-item > a:hover,
.main-header-menu > .current-menu-item > a,
.ast-nav-menu > .current-menu-item > a,
a.menu-link:hover {
    color: var(--primary-orange) !important;
}

/* Indicateur dropdown ▾ */
.menu-item-has-children > a::after {
    content: ' ▾' !important;
    font-size: 10px !important;
    margin-left: 3px !important;
}

/* Masquer icône SVG Astra dropdown */
.ast-menu-toggle,
.dropdown-menu-toggle,
.menu-item .ast-icon,
.ast-header-navigation-arrow {
    display: none !important;
}

/* ---- PANIER ET MON COMPTE ALIGNÉS À DROITE ---- */
/* Pousser le panier à droite avec margin-left auto */
#menu-item-panier,
li.menu-item-panier {
    margin-left: auto !important;
    min-width: auto !important;
    width: auto !important;
}

.menu-item-panier .panier-link {
    display: flex !important;
    align-items: center !important;
    color: #666 !important;
    font-size: 15px !important;
    padding: 12px 15px !important;
    min-width: 80px !important;
    width: auto !important;
}

.menu-item-panier .panier-link:hover {
    color: var(--primary-orange) !important;
}

.menu-item-panier .panier-icon {
    font-size: 18px;
    line-height: 1;
}

.menu-item-panier .panier-icon img.emoji {
    width: 18px !important;
    height: 18px !important;
    vertical-align: middle;
}

.menu-item-panier .panier-count {
    background: var(--primary-orange);
    color: white;
    font-size: 11px;
    font-weight: 600;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
}

/* Mon compte après le panier */
#menu-item-90 {
    margin-left: 15px !important;
}

/* ---- SOUS-MENUS ---- */
.ast-above-header .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1) !important;
    min-width: 180px !important;
    padding: 5px 0 !important;
    z-index: 9999 !important;
    list-style: none !important;
}

.ast-above-header .sub-menu .menu-item::after {
    display: none !important;
}

.ast-above-header .sub-menu a {
    padding: 8px 15px !important;
    font-size: 11px !important;
    text-transform: none !important;
    display: block !important;
    color: #666 !important;
}

.ast-above-header .sub-menu a:hover {
    background: #f5f5f5 !important;
    color: #333 !important;
}

/* ---- ZONE DROITE: Register / Login ---- */
.ast-above-header .ast-header-account-wrap,
.ast-above-header .ast-builder-menu-2 {
    display: flex !important;
    align-items: center !important;
}

.ast-above-header .ast-header-account-wrap a,
.ast-above-header .ast-header-account-text {
    color: #666 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    padding: 12px 8px !important;
    text-transform: capitalize !important;
}

.ast-above-header .ast-header-account-wrap a:hover {
    color: #333 !important;
}

/* Supprimer séparateurs Register/Login */
.ast-above-header .ast-builder-layout-element::before,
.ast-above-header .ast-builder-layout-element::after {
    content: none !important;
    display: none !important;
}

/* ---- BARRE DE RECHERCHE (si présente) ---- */
.ast-above-header .ast-search-menu-icon .search-field {
    border: 1px solid #ddd !important;
    border-right: none !important;
    border-radius: 2px 0 0 2px !important;
    padding: 5px 10px !important;
    font-size: 11px !important;
    background: #fafafa !important;
    height: 28px !important;
    box-sizing: border-box !important;
}

.ast-above-header .ast-search-menu-icon .search-submit {
    background: var(--primary-orange) !important;
    border: none !important;
    color: #fff !important;
    padding: 5px 10px !important;
    border-radius: 0 2px 2px 0 !important;
    height: 28px !important;
    cursor: pointer !important;
}

/* ---- HTML personnalisé (langue/devise) ---- */
.ast-above-header .ast-builder-html-element {
    font-size: 11px !important;
    color: #666 !important;
}

.ast-above-header .ast-builder-html-element a {
    color: var(--primary-orange) !important;
    text-decoration: none !important;
}

.ast-above-header .ast-builder-html-element a:hover {
    text-decoration: underline !important;
}

/* ========================================
   MASQUER LE TITRE DE LA PAGE
   ======================================== */
.home .entry-title,
.home .page-title,
.home .ast-archive-title,
.page-id-78 .entry-title,
.ast-page-builder-template .entry-title,
.entry-header {
    display: none !important;
}

/* ========================================
   ZONE LOGO / SIGNATURE CENTRÉE
   ======================================== */
.logo-artiste {
    text-align: center;
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
    background: #fff;
}

/* Réduire la marge entre le logo et les produits */
.logo-artiste + .site-content,
.logo-artiste + #content,
.logo-artiste + main,
.site-content,
#primary,
.ast-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.woocommerce .products,
.woocommerce ul.products,
ul.products.columns-4 {
    margin-top: 0 !important;
    padding-top: 10px !important;
}

.logo-artiste img {
    max-width: 300px !important;
    height: auto !important;
    margin: 0 auto;
    display: block;
}

.logo-artiste .signature {
    font-family: 'Brush Script MT', 'Segoe Script', cursive;
    font-size: 5em;
    font-weight: 400;
    color: #333;
    line-height: 1;
    margin-bottom: 5px;
}

.logo-artiste .sous-titre {
    font-family: 'Open Sans', sans-serif;
    font-size: 1.2em;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 6px;
    color: #666;
    margin-top: 0;
}

/* Style alternatif si logo en image */
.wp-block-image.logo-signature {
    text-align: center !important;
    margin: 40px auto 30px !important;
}

.wp-block-image.logo-signature img {
    max-width: 250px !important;
    height: auto !important;
}

/* ========================================
   CARTE "PROCHAINS RENDEZ-VOUS"
   ======================================== */
.widget-prochains-rdv,
.widget_text.prochains-rdv,
.sidebar .widget:first-child,
.elementor-widget-sidebar .widget:first-child {
    background: var(--primary-orange) !important;
    color: white !important;
    padding: 20px 25px !important;
    border-radius: var(--border-radius) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    margin-bottom: 30px !important;
    position: relative;
}

.widget-prochains-rdv .widget-title,
.sidebar .widget:first-child .widget-title {
    color: white !important;
    font-size: 1em !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
    text-transform: none !important;
}

.widget-prochains-rdv .event-date,
.rdv-date {
    background: white !important;
    color: var(--primary-orange) !important;
    padding: 8px 15px !important;
    display: inline-block !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
    border-radius: 2px !important;
}

.widget-prochains-rdv .event-description {
    font-size: 0.9em !important;
    line-height: 1.5 !important;
    color: white !important;
}

.widget-prochains-rdv .btn-plus,
.widget .btn-circle {
    background: transparent !important;
    border: 2px solid white !important;
    color: white !important;
    border-radius: 50% !important;
    width: 35px !important;
    height: 35px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.5em !important;
    position: absolute !important;
    bottom: 20px !important;
    right: 20px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.widget-prochains-rdv .btn-plus:hover {
    background: white !important;
    color: var(--primary-orange) !important;
}

/* ========================================
   GRILLE DE PRODUITS (PAGE D'ACCUEIL)
   ======================================== */
.woocommerce ul.products,
.products.columns-3,
.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    list-style: none !important;
    padding: 30px 0 !important;
    margin: 0 !important;
}

/* Carte produit - État normal */
.woocommerce ul.products li.product,
.products li.product {
    background: white !important;
    border: 3px solid var(--primary-orange) !important;
    border-radius: var(--border-radius) !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5) !important;
    transition: all 0.3s ease !important;
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product:hover,
.products li.product:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6) !important;
}

/* Image produit */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
    position: relative;
    overflow: hidden;
}

.woocommerce ul.products li.product a img,
.astra-shop-thumbnail-wrap img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    transition: transform 0.3s ease !important;
    display: block;
    padding: 16.5% 0 !important;
}

/* ========================================
   OVERLAY AU SURVOL - Titre + Prix
   ======================================== */
/* Container pour l'overlay */
.woocommerce ul.products li.product .astra-shop-summary-wrap,
.astra-shop-summary-wrap {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(232, 166, 88, 0.95) !important;
    padding: 15px !important;
    margin: 0 !important;
    opacity: 0 !important;
    transform: translateY(100%) !important;
    transition: all 0.3s ease !important;
}

/* Afficher l'overlay au survol */
.woocommerce ul.products li.product:hover .astra-shop-summary-wrap,
.products li.product:hover .astra-shop-summary-wrap {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Titre dans l'overlay */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-loop-product__title {
    font-size: 1em !important;
    font-weight: 600 !important;
    color: white !important;
    text-align: center !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Prix dans l'overlay */
.woocommerce ul.products li.product .price {
    position: static !important;
    background: transparent !important;
    color: white !important;
    padding: 0 !important;
    font-size: 1.2em !important;
    font-weight: 700 !important;
    display: block !important;
    text-align: center !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .price del {
    display: none !important;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
}

/* Bouton panier masqué sur les cartes produits */
.woocommerce ul.products li.product .button,
.add_to_cart_button,
.woocommerce ul.products li.product .add_to_cart_button {
    display: none !important;
}

/* Masquer éléments non désirés */
.ast-woo-product-category,
.star-rating,
.woocommerce ul.products li.product .star-rating {
    display: none !important;
}

/* ========================================
   PAGE PANIER
   ======================================== */
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

.wc-block-components-sidebar-layout.wc-block-cart.is-large,
.wc-block-cart,
.wp-block-woocommerce-cart,
.wc-block-cart__main,
.woocommerce-cart .entry-content,
.woocommerce-cart .ast-container,
.woocommerce-cart #primary {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* Bloc Total Panier - aligné à droite */
.wc-block-cart__sidebar,
.wc-block-components-sidebar,
.wp-block-woocommerce-cart-order-summary-block {
    margin-left: auto !important;
    margin-right: 0 !important;
}

/* Textes du panier - plus gros (+50%) */
.wc-block-cart .wc-block-components-product-name,
.wc-block-cart .wc-block-components-product-price,
.wc-block-cart .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-quantity-selector {
    font-size: 1.5em !important;
}

/* Format produit - taille normale */
.wc-block-cart .wc-block-components-product-metadata,
.wc-block-cart .wc-block-components-product-details {
    font-size: 1em !important;
}

/* Image produit dans le panier - 160px de large */
.wc-block-cart .wc-block-cart-item__image,
.wc-block-cart .wc-block-components-product-image {
    width: 160px !important;
    min-width: 160px !important;
}

.wc-block-cart .wc-block-cart-item__image img,
.wc-block-cart .wc-block-components-product-image img {
    width: 160px !important;
    max-width: 160px !important;
    height: auto !important;
}

.wc-block-cart .wc-block-cart__totals-title,
.wc-block-cart .wc-block-components-totals-wrapper .wc-block-components-totals-item__label {
    font-size: 1.5em !important;
    font-weight: 600 !important;
}

/* Bouton Valider ma commande - texte blanc */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart .wc-block-components-button,
.wc-block-cart__submit-container .wc-block-components-button {
    background: var(--primary-orange) !important;
    color: white !important;
    font-size: 1.1em !important;
    font-weight: 600 !important;
    border: none !important;
    padding: 15px 30px !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-cart .wc-block-components-button:hover {
    background: var(--dark-orange) !important;
    color: white !important;
}

/* ========================================
   PAGE PRODUIT INDIVIDUELLE
   ======================================== */

/* Message "ajouté au panier" - sans cadre bleu */
.single-product .woocommerce-message,
.woocommerce-message {
    border: none !important;
    border-left: none !important;
    border-top: none !important;
    background: rgba(232, 166, 88, 0.15) !important;
    padding: 15px 20px !important;
    margin-top: 30px !important;
    margin-bottom: 10px !important;
    margin-right: 80px !important;
    color: var(--text-dark) !important;
    border-radius: var(--border-radius) !important;
}

.single-product .woocommerce-message::before,
.woocommerce-message::before {
    display: none !important;
}

.single-product .woocommerce-message a,
.woocommerce-message a {
    color: var(--primary-orange) !important;
}

.single-product .woocommerce-message a.button,
.woocommerce-message a.button {
    background: var(--primary-orange) !important;
    color: white !important;
    padding: 10px 20px !important;
    border-radius: var(--border-radius) !important;
    text-decoration: none !important;
}

.single-product .product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    padding: 40px 0;
}

.single-product .woocommerce-product-gallery {
    border: 3px solid var(--primary-orange);
    border-radius: var(--border-radius);
    padding: 20px;
    background: white;
}

.single-product .summary {
    padding: 20px;
}

.single-product .product_title {
    font-size: 2.5em !important;
    font-weight: 300 !important;
    margin-bottom: 20px !important;
}

.single-product .price {
    position: static !important;
    background: transparent !important;
    color: var(--text-dark) !important;
    font-size: 1.8em !important;
    font-weight: 600 !important;
    margin: 20px 0 !important;
    padding: 0 !important;
}

/* Bouton "Je commande" */
.single-product .cart button.single_add_to_cart_button {
    background: var(--primary-orange) !important;
    color: white !important;
    border: none !important;
    padding: 15px 40px !important;
    font-size: 1em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    border-radius: var(--border-radius) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    text-indent: 0 !important;
}

.single-product .cart button.single_add_to_cart_button::before {
    content: none !important;
}

.single-product .cart button:hover {
    background: var(--dark-orange) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(232, 166, 88, 0.4) !important;
}

/* ========================================
   LAYOUT PAGE D'ACCUEIL
   ======================================== */
.home .site-content,
.page-template-default .site-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.home-content-wrapper {
    display: grid;
    grid-template-columns: 250px 1fr 280px;
    gap: 30px;
    padding: 30px 0;
}

.home-logo-column {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.home-products-column {
    flex: 1;
}

.home-sidebar-column {
    display: flex;
    flex-direction: column;
}

/* ========================================
   SECTIONS DE CONTENU
   ======================================== */
.entry-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* ========================================
   FOOTER
   ======================================== */
.site-footer,
.ast-footer-overlay {
    background: var(--footer-bg) !important;
    color: #cccccc !important;
    padding: 25px 0 !important;
    text-align: center;
    border-top: none !important;
}

.site-footer a,
.ast-footer-copyright a {
    color: #cccccc !important;
    text-decoration: none !important;
    font-size: 0.85em !important;
    margin: 0 12px !important;
    transition: color 0.3s ease !important;
}

.site-footer a:hover,
.ast-footer-copyright a:hover {
    color: var(--primary-orange) !important;
}

.footer-widget-area,
.ast-footer-widget-area {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 15px 0;
}

/* Badge certification */
.certification-badge,
.footer-certification {
    margin: 15px auto;
    max-width: 100px;
}

.certification-badge img {
    max-width: 100%;
    height: auto;
}

/* ========================================
   PAGE SERGE BULLO - Style titre dans le bloc texte
   ======================================== */
.page-id-80 .wp-container-content-5e2576f9::first-line,
.page-template-default .wp-container-content-5e2576f9::first-line {
    font-size: 1.8em !important;
    font-weight: 300 !important;
    color: var(--text-dark) !important;
    letter-spacing: 0.05em !important;
    display: block !important;
}

/* Responsive - Page Serge Bullo : texte sous l'image sur mobile */
@media (max-width: 768px) {
    .wp-block-group-is-layout-grid {
        display: flex !important;
        flex-direction: column !important;
    }

    .wp-block-group-is-layout-grid > figure {
        order: 1 !important;
        width: 100% !important;
        margin-bottom: 20px !important;
    }

    .wp-block-group-is-layout-grid > p {
        order: 2 !important;
        width: 100% !important;
    }
}

/* ========================================
   PAGE CONTACT - Formulaire
   ======================================== */
/* Champs de formulaire avec fond gris menu */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
textarea,
select,
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-textarea {
    background: #f2f7fb !important;
    border: none !important;
    padding: 10px !important;
    border-radius: 4px !important;
    color: var(--text-dark) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
.wpcf7-form-control:focus {
    outline: none !important;
    border: 2px solid var(--primary-orange) !important;
    background: #f2f7fb !important;
}

/* Bouton submit formulaire */
input[type="submit"],
.wpcf7-form-control.wpcf7-submit {
    background: var(--primary-orange) !important;
    color: white !important;
    border: none !important;
    padding: 12px 30px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
}

input[type="submit"]:hover,
.wpcf7-form-control.wpcf7-submit:hover {
    background: var(--dark-orange) !important;
}

/* ========================================
   MASQUER ÉLÉMENTS NON DÉSIRÉS
   ======================================== */
.woocommerce-products-header,
.woocommerce-result-count,
.woocommerce-ordering,
.ast-woocommerce-container .woocommerce-result-count,
.ast-woocommerce-container .woocommerce-ordering {
    display: none !important;
}

/* Masquer la section Téléchargements dans Mon Compte */
.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads,
.woocommerce-account .woocommerce-MyAccount-content--downloads {
    display: none !important;
}

/* Style du breadcrumb "Retour galerie" sur pages produits */
/* Masquer tous les breadcrumbs sauf notre breadcrumb personnalisé */
.single-product .woocommerce-breadcrumb:not(.custom-breadcrumb-retour),
.single-product nav.woocommerce-breadcrumb:not(.custom-breadcrumb-retour),
.single-product .ast-breadcrumbs,
.single-product .breadcrumb-trail {
    display: none !important;
}

.woocommerce-breadcrumb.custom-breadcrumb-retour,
.woocommerce-breadcrumb.custom-breadcrumb-retour *,
nav.woocommerce-breadcrumb.custom-breadcrumb-retour,
nav.woocommerce-breadcrumb.custom-breadcrumb-retour * {
    pointer-events: auto !important;
}

.woocommerce-breadcrumb a,
.single-product .woocommerce-breadcrumb a,
nav.woocommerce-breadcrumb a {
    color: var(--text-dark) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    display: inline-block !important;
    position: relative !important;
    z-index: 10 !important;
}

.woocommerce-breadcrumb a:hover,
.single-product .woocommerce-breadcrumb a:hover,
nav.woocommerce-breadcrumb a:hover {
    color: var(--primary-orange) !important;
    text-decoration: underline !important;
}

/* Forcer tous les éléments parents à autoriser les clics */
.single-product .summary,
.single-product div.product {
    pointer-events: auto !important;
}

/* Masquer "Non classé" et "Catégorie : Non classé" sur pages produits */
.single-product .product_meta .posted_in {
    display: none !important;
}

/* Masquer tous les liens "Non classé" partout */
a[href*="/category/non-classe"],
a[href*="/category/uncategorized"],
a[href*="non-classe"],
a[href*="uncategorized"] {
    display: none !important;
}

/* Masquer les tags de catégorie contenant "Non classé" */
.tagged_as a[href*="non-classe"],
.posted_in a[href*="non-classe"] {
    display: none !important;
}

/* Désactiver le lien sur l'onglet Description */
.woocommerce-tabs .tabs li a,
.woocommerce-tabs ul.tabs li a {
    pointer-events: none !important;
    cursor: default !important;
    color: var(--text-dark) !important;
}

/* Réorganiser l'ordre des éléments sur la page produit */
.single-product div.product .summary {
    display: flex !important;
    flex-direction: column !important;
}

/* Ordre d'affichage : titre -> description -> prix -> bouton */
.single-product .product_title {
    order: 1 !important;
}

.single-product .woocommerce-product-details__short-description {
    order: 2 !important;
}

.single-product .price {
    order: 3 !important;
    font-size: 0.9em !important;
    margin-bottom: 15px !important;
}

.single-product .woocommerce-product-details__description-moved {
    order: 4 !important;
    max-width: 540px !important;
}

.single-product .woocommerce-product-details__description-moved p {
    line-height: 1.2 !important;
    margin-bottom: 0.5em !important;
}

.single-product .woocommerce-product-details__description-moved hr {
    margin: 0.3em 0 !important;
}

.single-product .cart {
    order: 5 !important;
}

.single-product .product_meta {
    order: 6 !important;
}

/* Layout page produit en grille 2x2 - Image 45% / Infos 55% */
.single-product div.product {
    display: grid !important;
    grid-template-columns: 45% 55% !important;
    grid-template-rows: auto auto !important;
    column-gap: 0 !important;
    row-gap: 30px !important;
}

/* Zone 1+3 (gauche) : Image du produit */
.single-product .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.single-product .woocommerce-product-gallery img {
    width: 100% !important;
    height: auto !important;
}

/* Zone 2 (haut droite) : Description/infos produit */
.single-product div.summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 30px !important;
}

/* Masquer les produits similaires sur toutes les pages */
.single-product .related.products {
    display: none !important;
}

/* ========================================
   VARIANTES PRODUITS - Style maquette
   ======================================== */
/* Titre "JE SÉLECTIONNE" */
.single-product .variations {
    margin: 30px 0 !important;
}

.single-product table.variations td.label,
.single-product table.variations td.label label,
.single-product table.variations th.label {
    display: none !important;
}

/* Masquer le select natif */
.single-product .variations select {
    display: none !important;
}

/* Container des boutons - utilise auto-fill pour adapter les tailles */
.single-product .custom-variation-buttons {
    display: flex !important;
    gap: 15px !important;
    margin-top: 0 !important;
    align-items: flex-end !important;
    max-width: 540px !important;
}

/* Masquer les radio natifs */
.single-product .custom-variation-buttons input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Style des boutons comme dans la maquette */
.single-product .custom-variation-buttons label {
    border: 2px solid #ccc !important;
    padding: 20px 15px 30px 15px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    background: white !important;
    position: relative !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    font-size: 0.9em !important;
    border-radius: 4px !important;
    flex: 1 !important;
}

/* Tailles proportionnelles selon le format */
/* Taille par défaut */
.single-product .custom-variation-buttons label {
    min-width: 70px !important;
    min-height: 100px !important;
}

/* 10x15 - le plus petit : 80px de haut, 60px de large */
.single-product .custom-variation-buttons .variation-10x15 {
    min-width: 60px !important;
    min-height: 80px !important;
}

/* 13x18 (si présent) */
.single-product .custom-variation-buttons .variation-13x18 {
    min-width: 65px !important;
    min-height: 90px !important;
}

/* 18x24 : 100px de haut, 70px de large */
.single-product .custom-variation-buttons .variation-18x24 {
    min-width: 70px !important;
    min-height: 100px !important;
}

/* 30x40 : 120px de haut, 90px de large */
.single-product .custom-variation-buttons .variation-30x40 {
    min-width: 90px !important;
    min-height: 120px !important;
}

/* 40x60 : 150px de haut */
.single-product .custom-variation-buttons .variation-40x60 {
    min-width: 100px !important;
    min-height: 150px !important;
}

/* Original - le plus grand : 180px de haut */
.single-product .custom-variation-buttons .variation-original {
    min-width: 105px !important;
    min-height: 180px !important;
}

/* Checkbox visuelle en bas */
.single-product .custom-variation-buttons label::after {
    content: '' !important;
    position: absolute !important;
    bottom: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid #ccc !important;
    background: white !important;
}

/* État sélectionné - croix dans la checkbox */
.single-product .custom-variation-buttons input[type="radio"]:checked + label::after {
    background: var(--primary-orange) !important;
    border-color: var(--primary-orange) !important;
}

.single-product .custom-variation-buttons input[type="radio"]:checked + label {
    border-color: var(--primary-orange) !important;
}

/* Hover */
.single-product .custom-variation-buttons label:hover {
    border-color: var(--primary-orange) !important;
}

/* Badge "ORIGINAL" style maquette */
.single-product .custom-variation-buttons .variation-original {
    position: relative !important;
    padding-top: 35px !important;
}

.single-product .custom-variation-buttons .variation-original::before {
    content: "ORIGINAL" !important;
    position: absolute !important;
    top: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: transparent !important;
    color: #333 !important;
    padding: 0 !important;
    font-size: 0.65em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Badge "VENDU" en dessous de "ORIGINAL" en rouge */
.single-product .custom-variation-buttons .variation-original.variation-sold-out::after {
    content: "VENDU" !important;
    position: absolute !important;
    top: 25px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: transparent !important;
    color: #d32f2f !important;
    padding: 0 !important;
    font-size: 0.65em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
}

.single-product .custom-variation-buttons .variation-original.variation-sold-out {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

/* Ajouter espacement entre VENDU et le prix */
.single-product .custom-variation-buttons .variation-original.variation-sold-out .variation-price {
    margin-top: 10px !important;
}

/* Style du nom et du prix dans les boutons */
.single-product .custom-variation-buttons .variation-name {
    display: block !important;
    font-size: 0.85em !important;
    margin-bottom: 0 !important;
}

/* Masquer le texte "Original" pour ne garder que le badge */
.single-product .custom-variation-buttons .variation-original .variation-name {
    display: none !important;
}

.single-product .custom-variation-buttons .variation-price {
    display: block !important;
    font-size: 1.3em !important;
    font-weight: 700 !important;
    color: #333 !important;
}

/* Style du prix "À partir de" - page produit */
.single-product .price .from-price {
    font-size: 0.65em !important;
    font-weight: 300 !important;
    color: #999 !important;
    margin-right: 5px !important;
    text-transform: lowercase !important;
}

/* Style du prix "À partir de" - page d'accueil (overlay orange) */
.woocommerce ul.products li.product .price .from-price,
.astra-shop-summary-wrap .from-price,
.from-price {
    font-size: 0.65em !important;
    font-weight: 300 !important;
    color: white !important;
    margin-right: 5px !important;
    text-transform: lowercase !important;
}

/* Masquer le champ quantité sur les pages produits */
.single-product .quantity,
.single-product input[type="number"].qty {
    display: none !important;
}

/* Masquer le bouton "Effacer" des variations */
.single-product .reset_variations {
    display: none !important;
}

/* Masquer "UGS : ND" et autres meta produits */
.single-product .product_meta .sku_wrapper,
.single-product .product_meta .sku {
    display: none !important;
}

/* Bouton "Je commande" style maquette */
.single-product button.single_add_to_cart_button,
.single-product .cart button.single_add_to_cart_button,
button.single_add_to_cart_button,
button.single_add_to_cart_button.disabled,
button.single_add_to_cart_button:disabled,
.single-product button.single_add_to_cart_button.disabled,
.single-product button.single_add_to_cart_button:disabled {
    background: #e8a658 !important;
    background-color: #e8a658 !important;
    color: white !important;
    border: none !important;
    padding: 15px 40px !important;
    font-size: 1em !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
    width: 100% !important;
    max-width: 540px !important;
    opacity: 1 !important;
}

.single-product button.single_add_to_cart_button:hover,
button.single_add_to_cart_button:hover {
    background: #d9944a !important;
    background-color: #d9944a !important;
}

/* Responsive page produit - Mobile */
@media (max-width: 768px) {
    /* Passer en une seule colonne */
    .single-product div.product {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto auto !important;
        padding: 15px !important;
        gap: 20px !important;
    }

    /* Image en haut - garde les proportions */
    .single-product .woocommerce-product-gallery {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px !important;
        border-width: 2px !important;
        box-sizing: border-box !important;
    }

    .single-product .woocommerce-product-gallery img,
    .single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
    .single-product .woocommerce-product-gallery .flex-viewport img,
    .single-product .woocommerce-product-gallery__wrapper img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* Description en dessous */
    .single-product div.summary {
        grid-column: 1 !important;
        grid-row: 2 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Boutons de variation plus petits sur mobile */
    .single-product .custom-variation-buttons {
        flex-wrap: wrap !important;
        max-width: 100% !important;
        gap: 10px !important;
    }

    .single-product .custom-variation-buttons label {
        min-width: 60px !important;
        min-height: 70px !important;
        padding: 15px 10px 25px 10px !important;
        font-size: 0.8em !important;
    }

    .single-product .custom-variation-buttons .variation-original {
        min-height: 100px !important;
    }

    /* Bouton commander pleine largeur */
    .single-product button.single_add_to_cart_button {
        max-width: 100% !important;
    }

    /* Titre produit plus petit */
    .single-product .product_title {
        font-size: 1.8em !important;
    }
}

/* Supprimer espaces et bandeau entre contenu et footer - TOUTES PAGES */
#content,
.site-content,
.ast-container,
#primary,
.content-area {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.site-footer {
    margin-top: 0 !important;
}

/* Masquer le bandeau gris foncé intermédiaire (Above Footer / Below Content) */
.ast-above-footer-wrap,
.ast-footer-widget-area,
.footer-widget-area,
.ast-below-header-wrap,
.site-below-footer-wrap,
.ast-builder-footer-grid-columns {
    display: none !important;
}

/* Supprimer marge après Instagram */
#sb_instagram {
    margin-bottom: 0 !important;
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 1200px) {
    .woocommerce ul.products,
    .products.columns-3,
    .products.columns-4 {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .home-content-wrapper {
        grid-template-columns: 200px 1fr 250px;
    }
}

@media (max-width: 992px) {
    .woocommerce ul.products,
    .products.columns-3,
    .products.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .home-content-wrapper {
        grid-template-columns: 1fr;
    }

    .home-logo-column {
        order: 1;
    }

    .home-sidebar-column {
        order: 2;
    }

    .home-products-column {
        order: 3;
    }

    .single-product .product {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 921px) {
    /* ========================================
       MENU BURGER MOBILE
       ======================================== */

    /* Masquer le menu desktop sur mobile */
    .main-header-menu,
    .ast-nav-menu,
    #ast-hf-menu-1,
    .ast-above-header-wrap,
    .site-header-above-section-right {
        display: none !important;
    }

    /* Bouton burger */
    .mobile-menu-burger {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 44px;
        height: 44px;
        cursor: pointer;
        position: fixed;
        top: 10px;
        right: 15px;
        z-index: 10000;
        background: #f2f7fb;
        border-radius: 4px;
        padding: 8px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    }

    .mobile-menu-burger .burger-line {
        width: 24px;
        height: 3px;
        background: #666;
        margin: 3px 0;
        transition: all 0.3s ease;
        border-radius: 2px;
    }

    /* Animation du burger en X */
    .mobile-menu-burger.is-active .burger-line:nth-child(1) {
        transform: rotate(45deg) translate(6px, 6px);
    }

    .mobile-menu-burger.is-active .burger-line:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-burger.is-active .burger-line:nth-child(3) {
        transform: rotate(-45deg) translate(6px, -6px);
    }

    /* Container du menu mobile - masqué par défaut */
    .mobile-menu-container {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: #f2f7fb;
        z-index: 9999;
        justify-content: center;
        align-items: center;
        padding: 20px;
        box-sizing: border-box;
    }

    /* Afficher le menu quand ouvert */
    .mobile-menu-container.mobile-menu-open {
        display: flex !important;
    }

    /* Liste du menu mobile */
    .mobile-menu-list {
        list-style: none;
        margin: 0;
        padding: 0;
        text-align: center;
    }

    /* Items du menu mobile */
    .mobile-menu-item {
        margin: 15px 0;
    }

    .mobile-menu-item a {
        font-size: 1.4em;
        font-weight: 400;
        color: #333;
        text-decoration: none;
        text-transform: uppercase;
        letter-spacing: 1px;
        padding: 10px 20px;
        display: block;
        transition: color 0.3s ease;
    }

    .mobile-menu-item a:hover {
        color: var(--primary-orange);
    }

    /* Empêcher le scroll quand menu ouvert */
    body.mobile-menu-active {
        overflow: hidden;
    }
}

/* Masquer le burger et menu mobile sur desktop */
@media (min-width: 922px) {
    .mobile-menu-burger,
    .mobile-menu-container {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .site-title {
        font-size: 2.5em !important;
    }

    .woocommerce ul.products,
    .products.columns-3,
    .products.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }

    /* Logo plus petit sur mobile */
    .logo-artiste img {
        max-width: 200px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products,
    .products.columns-3,
    .products.columns-4 {
        grid-template-columns: 1fr !important;
    }

    .site-title {
        font-size: 2em !important;
    }
}

/* ========================================
   ANIMATIONS
   ======================================== */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.woocommerce ul.products li.product,
.products li.product {
    animation: fadeIn 0.4s ease-out;
    animation-fill-mode: both;
}

.products li.product:nth-child(1) { animation-delay: 0.05s; }
.products li.product:nth-child(2) { animation-delay: 0.1s; }
.products li.product:nth-child(3) { animation-delay: 0.15s; }
.products li.product:nth-child(4) { animation-delay: 0.2s; }
.products li.product:nth-child(5) { animation-delay: 0.25s; }
.products li.product:nth-child(6) { animation-delay: 0.3s; }
.products li.product:nth-child(7) { animation-delay: 0.35s; }
.products li.product:nth-child(8) { animation-delay: 0.4s; }

/* ========================================
   ICÔNE INSTAGRAM FEED (Smash Balloon) - HOME
   ======================================== */
/* Conteneur principal du bandeau Instagram - fond gris-bleu pleine largeur */
#sb_instagram {
    margin-top: 60px !important;
    padding: 30px 0 !important;
    position: relative !important;
}

/* Fond pleine largeur via pseudo-élément */
#sb_instagram::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    height: 100% !important;
    background: #f2f7fb !important;
    z-index: -1 !important;
}

/* Image de profil Instagram avec cercle */
.home .sb_instagram_header .sbi_header_img {
    width: 50px !important;
    height: 50px !important;
    position: relative !important;
}

.home .sb_instagram_header .sbi_header_img img {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    border: none !important;
    box-sizing: border-box !important;
}

/* Cercle de hover avec icône Instagram - taille réduite */
.home .sb_instagram_header .sbi_header_img_hover {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    opacity: 0 !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

/* Au survol : fond orange (pas noir) */
.home .sb_instagram_header .sbi_header_link:hover .sbi_header_img_hover {
    opacity: 1 !important;
    background-color: var(--primary-orange) !important;
}

/* Icône SVG Instagram en blanc au survol */
.home .sb_instagram_header .sbi_header_img_hover svg {
    width: 24px !important;
    height: 24px !important;
    fill: white !important;
    color: white !important;
}

/* ========================================
   BLOC PROCHAINS RDV - HOME (Haut Droite)
   ======================================== */
/* Container de la sidebar en haut à droite */
.home-top-right-sidebar {
    position: absolute !important;
    top: 40px !important;
    right: 80px !important;
    z-index: 10 !important;
    width: 180px !important;
}

/* Positionner le conteneur parent en relatif */
.home .logo-artiste {
    position: relative !important;
    width: 100% !important;
}

/* Style du widget Prochains RDV - version compacte */
.home-top-right-sidebar .widget-prochains-rdv {
    background: var(--primary-orange) !important;
    color: #333 !important;
    padding: 12px 15px 15px 15px !important;
    border-radius: var(--border-radius) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15) !important;
    position: relative !important;
}

.home-top-right-sidebar .widget-prochains-rdv .widget-title {
    color: #333 !important;
    font-size: 0.85em !important;
    font-weight: 600 !important;
    margin: 0 0 10px 0 !important;
    text-transform: none !important;
    border: none !important;
    padding: 0 !important;
}

.home-top-right-sidebar .widget-prochains-rdv .rdv-date {
    background: transparent !important;
    color: white !important;
    padding: 0 !important;
    display: block !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    border-radius: 0 !important;
    font-size: 0.95em !important;
    text-align: left !important;
}

.home-top-right-sidebar .widget-prochains-rdv .rdv-lieu {
    color: #333 !important;
    font-size: 0.75em !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
    text-align: left !important;
}

.home-top-right-sidebar .widget-prochains-rdv .rdv-description {
    color: #333 !important;
    font-size: 0.7em !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
    text-align: left !important;
}

/* Masquer le bouton + */
.home-top-right-sidebar .widget-prochains-rdv .btn-plus {
    display: none !important;
}

/* Style du lien calendrier sur la date */
.home-top-right-sidebar .widget-prochains-rdv .rdv-date a {
    color: white !important;
    text-decoration: none !important;
}

.home-top-right-sidebar .widget-prochains-rdv .rdv-date a:hover {
    text-decoration: underline !important;
    opacity: 0.9 !important;
}

/* Responsive - bloc RDV */
@media (max-width: 1240px) {
    .home-top-right-sidebar {
        right: 20px !important;
    }
}

@media (max-width: 768px) {
    .home-top-right-sidebar {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        width: 180px !important;
        margin: 10px auto !important;
        padding: 0 !important;
    }

    /* Réduire l'espace du logo/banner sur mobile */
    .logo-artiste {
        padding: 10px !important;
        margin-bottom: 0 !important;
    }

    .logo-artiste img {
        max-width: 250px !important;
        margin-bottom: 10px !important;
    }

    /* Réduire l'espace avant les produits */
    .woocommerce .products,
    .woocommerce ul.products,
    ul.products.columns-4 {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* Réduire les marges du contenu */
    .home .site-content,
    .home .entry-content,
    .home .ast-container {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
}
