/* ==========================================================================
   FICHIER SQUELETTE COMMUN — custom.css
   Base de reference : boutique Airsoft (id_shop=1)
   Cible : Prestashop 9.1.4 / theme enfant Hummingbird 2.0
   ==========================================================================

   USAGE :
   Ce fichier sert de tronc commun pour les 3 boutiques (Airsoft, Univairsoft,
   Paintball). Pour generer la version d'une boutique :
     1. Dupliquer ce fichier (ex: custom-univairsoft.css)
     2. Remplacer toutes les valeurs de couleur par celles de la boutique cible
     3. Verifier les sections marquees [VARIATION STRUCTURELLE] qui ne se
        limitent pas a une simple couleur (ex: presence/absence d'image de
        fond, ajustements ponctuels propres a une boutique)
     4. Conserver les sections marquees [A VALIDER] en tete de recette

   Palette Airsoft :
     Accent / promo / prix      : #fc4444
     Bouton principal (bg)      : #CEC9C0
     Bouton principal (texte)   : #000000
     Succes (hover desactive)   : #1ef026
     Header nav (bg)            : #000000
     Header nav (mobile bg)     : #f6f6f6
     Header nav (texte)         : #ffffff
     Header top (bg)            : #666666
     Header top mobile (bg)     : #CEC9C0
     Footer (bg)                : #262626
     Footer (texte)             : #F2F2F2
     Footer (titres)            : #afbac3
     Footer (bordure bloc)      : #CEC9C0
     Wrapper / fond page        : #E2E2E2
     Texte corps                : #4f4f4f
     Texte discret              : #7a7a7a
     Texte gras / fort          : #fc4444
     Fond custom-text mobile    : #F2F2F2

   Modules retires du perimetre commun (non migres) :
     - .ets-psl-images-siticks / .ets-psl-modal-images-siticks (galerie zoom)
     - .mm_* (Mega Menu)
     - #search_widget (positionnement custom barre de recherche)

   Module conserve, a valider visuellement apres migration :
     - .ph_pcms_* (liste produits / bloc categorie)
   ========================================================================== */

/* ==========================================================================
   1. FOND GENERAL / HEADER
   ========================================================================== */
#wrapper {
    background: #E2E2E2;
}
#header, #header .header-top {
    background-color: #666666;
}
#header .header-nav {
    background: #000000;
    margin-bottom: 10px;
    background-color: #000000 !important;
    color: #ffffff;
}
#header .header-nav #_desktop_contact_link #contact-link {
    color: #ffffff;
}
.header-nav a, .header-nav .expand-more {
    color: #ffffff !important;
}
#header .header-nav .blockcart .header {
    margin-top: 0.125rem;
    color: #fc4444;
}
.header {
    position: static;
}
/* ==========================================================================
   1bis. HEADER-TOP — fond noir, texte blanc, sauf le bouton Panier
   ========================================================================== */
#header .header-top {
    background-color: #000000 !important;
}

/* Téléphone */
.header-top .ps-contactinfo__phone {
    color: #ffffff !important;
}

/* Sélecteur de langue (texte blanc + petit drapeau) */
.header-top .ps-languageselector {
    display: flex;
    align-items: center;
    gap: 6px;
}
.header-top .ps-languageselector__flag {
    flex-shrink: 0;
    border-radius: 2px;
}
.header-top .js-language-selector {
    background-color: transparent;
    color: #ffffff;
    border: none;
}
.header-top .js-language-selector option {
    color: #000000;
}


/* Connexion */
.header-top .ps-customersignin .header-block__action-btn,
.header-top .ps-customersignin .header-block__title,
.header-top .ps-customersignin .header-block__icon {
    color: #ffffff !important;
}

/* Panier — pastille blanche, texte et icône noirs */
.header-top .ps-shoppingcart .header-block {
    background-color: #ffffff;
    border-radius: 4px;
    padding: 0.25rem 0.75rem;
}
.header-top .ps-shoppingcart .header-block__action-btn,
.header-top .ps-shoppingcart .header-block__title,
.header-top .ps-shoppingcart .header-block__icon,
.header-top .ps-shoppingcart .header-block__badge {
    color: #000000 !important;
}
#header .header-bottom{
    background:#666;
    padding:12px 0;
}

/* ==========================================================================
   2. PIED DE PAGE
   ========================================================================== */
#footer {
    background-color: #262626;
    color: #F2F2F2;
    padding-top: 0rem;
}
.footer-container .h3, .footer-container .h4 {
    color: #afbac3;
}
.footer-container {
    padding-top: 1rem;
}
#block_myaccount_infos .myaccount-title a {
    color: #afbac3;
}
#ultimatum_footer img {
    max-width: 100%;
    border: 5px solid #CEC9C0;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}
#ultimatum_footer {
    padding-bottom: 15px;
    margin-bottom: 20px;
    border-bottom: 1px solid #CEC9C0;
}
.footer__copyright {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* dans custom_airsoft_hummingbird.css */
.bandeau-info-horaires {
    background-color: #ff9800;
    padding: 15px;
    border-radius: 7px;
    font-size: 16px;
    font-family: Arial, sans-serif;
    color: #333333;
    text-align: center;
    margin: 0 auto;
    width: 90%;
    max-width: 1140px;
    box-sizing: border-box; /* essentiel : padding inclus dans les 90% */
}

@media (max-width: 767px) {
    .bandeau-info-horaires {
        width: 92%;
        padding: 12px;
        font-size: 14px;
    }
}


/* ==========================================================================
   3. CARTOUCHE PROMOTION / PRIX
   ========================================================================== */
.product-flags li.product-flag.discount-percentage,
.product-flags li.product-flag.discount-amount,
.product-flags li.product-flag.discount {
    background-color: #fc4444;
}
.has-discount .discount {
    display: inline-block;
    padding: 0.3125rem .625rem;
    margin-left: .625rem;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    background: #fc4444;
}
.has-discount.product-price,
.has-discount p,
.has-discount .page-content.page-cms ul,
.page-content.page-cms .has-discount ul {
    color: #fc4444;
}
.product-price {
    color: #fc4444;
}
.product-miniature .product-flags li.product-flag {
    min-width: 5rem;
    text-align: center;
}
.product-flags li.product-flag {
    background: #fc4444;
}
/* Surcharge stickers "On sale" et remise — Hummingbird 2.0 (theme.css layer bs-base) */
.product-flags .badge:not(.discount),
.product-flags .badge.on-sale {
    --bs-primary-rgb: 252, 68, 68;
    background-color: #fc4444 !important;
    border-color: #fc4444 !important;
}
.product-flags .badge.discount,
.product-flags .badge:not(.discount) {
    border-color: #fc4444 !important;
	color: #fc4444 !important;
}
.product-flags .badge.discount {
    white-space: nowrap;
    overflow: visible;
    padding: 0.25rem 0.5rem;
}
/* Fix badge discount coupé dans le module ph_pcms (page accueil) */
.ph_pcms_product_list_wrapper .product-flags {
    overflow: visible !important;
    width: auto !important;
}
.ph_pcms_product_list_wrapper .product-flags .badge.discount {
    max-width: none !important;
    width: max-content !important;
}
.product-flags .badge.on-sale {
    white-space: nowrap !important;
    overflow: visible !important;
    width: max-content !important;
}

/* ==========================================================================
   4. CARTOUCHE RUPTURE DE STOCK
   ========================================================================== */
.out_of_stock {
    background-color: #000000 !important;
    width: fit-content !important;
    font-size: 0.7rem !important;
}


/* ==========================================================================
   5. FICHE PRODUIT — TEXTE / DESCRIPTION
   ========================================================================== */
.ul {
    padding-left: 2rem !important;
    list-style: inside !important;
    color: #7a7a7a;
}
.product__description p {
    color: #4f4f4f !important;
}
.product__description h2 {
    text-decoration: underline #fc4444 !important;
    text-decoration-thickness: 3px !important;
}
.product__description h3 {
    margin-left: 1rem;
}


/* ==========================================================================
   6. CARTOUCHE PACK (masque)
   ========================================================================== */
.pack {
    display: none;
}


/* ==========================================================================
   7. BOUTON AJOUTER AU PANIER
   ========================================================================== */
.btn-primary {
    color: #000000;
    background-color: #CEC9C0;
    border-color: rgba(0, 0, 0, 0);
}
/* etat desactive -> survol : retour visuel succes */
.btn-primary.disabled:hover, .btn-primary:disabled:hover {
    background-color: #1ef026;
    border-color: rgba(0, 0, 0, 0);
}
.btn-primary.disabled:focus, .btn-primary.disabled.focus,
.btn-primary:disabled:focus, .btn-primary:disabled.focus {
    background-color: #1ef026;
    border-color: rgba(0, 0, 0, 0);
}


/* ==========================================================================
   8. ONGLETS FICHE PRODUIT (description / specs / avis)
   ========================================================================== */
.tabs .nav-tabs .nav-link.active {
    color: #CEC9C0;
    border: none;
    border-bottom: #CEC9C0 3px solid;
}
.tabs .nav-tabs .nav-link:hover {
    border-bottom: #CEC9C0 3px solid;
}
/* TABS — fix affichage uniquement hors tunnel de commande */
.tab-pane:not(#checkout-guest-form):not(#checkout-login-form) {
    display: block !important;
    opacity: 1 !important;
}

/* Tunnel de commande : laisser Bootstrap gérer la visibilité des onglets */
#checkout-guest-form,
#checkout-login-form {
    display: none;
}
#checkout-guest-form.show,
#checkout-login-form.show {
    display: block;
}
/* 1. Le conteneur global devient la grille */
.details__list {
    display: grid;
    /* La colonne de gauche s'adapte au libellé le plus long, la droite prend le reste */
    grid-template-columns: max-content 1fr; 
    /* Supprime les puces par défaut des listes HTML */
    list-style: none; 
    padding: 0;
    margin: 0;
    /* Espacement entre vos lignes (à ajuster selon vos goûts) */
    row-gap: 12px; 
}
/* Arrondir les blocs Description / Détails du produit / Fiche technique
   (l'accordéon Hummingbird utilise "accordion-flush" qui carre les coins par défaut) */
.product__accordion.accordion-flush .accordion-item {
    border-radius: 10px !important;
    overflow: hidden; /* empêche le contenu (tableaux, images) de déborder des coins arrondis */
    margin-bottom: 0.75rem; /* un peu d'espace entre les blocs, supprimé par défaut en mode "flush" */
    border: 1px solid rgba(0, 0, 0, 0.08); /* optionnel : une bordure fine pour bien détacher chaque bloc, comme vos autres cartouches */
}

/* Bootstrap force parfois un radius nul sur le premier/dernier item en mode flush : on sécurise */
.product__accordion.accordion-flush .accordion-item:first-of-type,
.product__accordion.accordion-flush .accordion-item:last-of-type {
    border-radius: 0.5rem !important;
}

/* Le bouton d'en-tête doit suivre l'arrondi du haut du bloc */
.product__accordion.accordion-flush .accordion-button {
    border-radius: 0.5rem 0.5rem 0 0 !important;
}
.product__accordion.accordion-flush .accordion-button.collapsed {
    border-radius: 0.5rem !important; /* accordéon fermé : arrondi sur les 4 coins */
}
.product__bottom-full {
    margin-block-start: 1rem;
}
/* 2. On neutralise la ligne pour que ses enfants s'alignent sur la grille globale */
.details__item {
    display: contents; 
}

/* 3. La colonne de gauche (vos libellés : Marque, Couleur...) */
.details__left {
    /* On ajoute juste l'espace fixe que l'on veut entre le texte et la valeur */
    padding-right: 30px;
    width: 100%;	
}

/* 4. La colonne de droite (les valeurs) */
.details__right {
    /* Optionnel : assure que le texte s'aligne bien au cas où */
    text-align: left; 
}
.layout-left-column .products {
    gap: 1.5rem 0rem;
}

@media (max-width: 767px) {

    .details__list {
        grid-template-columns: 110px 1fr; /* largeur plafonnée au lieu de max-content */
        column-gap: 10px;
        row-gap: 8px;
    }
    .details__left {
        padding-right: 10px; /* on réduit l'espace, inutile d'avoir 30px sur petit écran */
    }
    .details__title {
        font-size: 0.85rem;
        line-height: 1.2;
        display: inline-block;
    }
}

.accordion-item {
    padding: 0 1rem 0 1rem;
}

/* ==========================================================================
   9. LIENS GENERIQUES
   ========================================================================== */
a:hover {
    color: #CEC9C0 !important;
}
.product-images > li.thumb-container > .thumb.selected,
.product-images > li.thumb-container > .thumb:hover {
    border: #CEC9C0 3px solid;
}
/* Couleur des liens produit — surcharge var Bootstrap */
.product-miniature__title {
    --bs-link-color-rgb: 128, 128, 128;
    color: rgba(var(--bs-link-color-rgb), 1) !important;
}
.product-miniature__title:hover {
    color: #CEC9C0 !important;
}
body a {
    --bs-link-color-rgb: 128, 128, 128;
    color: rgba(var(--bs-link-color-rgb), 1) !important;
}
body a:hover {
    --bs-link-hover-color-rgb: 206, 201, 192;
    color: rgba(var(--bs-link-hover-color-rgb), 1) !important;
}
body .product__discount-amount.text-primary-emphasis {
    --bs-emphasis-color: #fc4444;
    --bs-primary-text-emphasis: #fc4444;
    color: #fc4444 !important;
	font-weight: 700;

    /* Transformation en badge */
    background-color: rgba(252, 68, 68, 0.1); /* Fond rouge très transparent */
    padding: 2px 8px;                         /* Espace interne */
    border-radius: 4px;                       /* Coins arrondis */
    display: inline-block;                    /* Permet d'appliquer correctement le padding */
}

/* ==========================================================================
   10. BLOC ACCESSOIRES PRODUIT
   ========================================================================== */
.product-accessories {
    margin-top: 3rem !important;
}


/* ==========================================================================
   11. CATEGORIE / SOUS-CATEGORIES
   ========================================================================== */
.block-category .block-category-inner .category-cover img {
    width: 100%;
    height: 180px;
}
#subcategories ul li {
    min-width: 100px;
}
#subcategories ul li .subcategory-image a {
    display: none;
    padding: 0px 5px 12px 5px;
}
#subcategories ul li {
    width: calc(100% / 4 - 20px);
    margin: 10px 5px 10px 5px;
    text-align: center;
}
#subcategories ul li:hover .subcategory-image a {
    padding: 5px;
    border: 5px solid #CEC9C0;
}

/* menu facette caracteristique */
#search_filters, #search_filters_brands, #search_filters_suppliers {
    padding: 1.563rem 0.5rem 1.6rem 1.25rem;
}
.subcategory__list {
        display: none;
}
.af_filter .count {
    color: var(--bs-body-color);
}
#subcategories {
  margin: 20px 0 30px;
}
#subcategories .subcategories-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 10px 0;
}

#subcategories .subcategory-item {
  width: calc(33.333% - 10px);
  margin: 5px;
  box-sizing: border-box;
  background-color: #ffffff;
  border-radius: 6px;
  margin-bottom: 2px;
}

#subcategories .subcategory-item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

#subcategories .subcategory-item img {
  width: 150px;
  height: 150px;
  object-fit: cover;
  margin-bottom: 8px;
}

#subcategories .subcategory-name {
  font-weight: bold;
  text-align: center;
}

/* ==========================================================================
   12. PAGE D'ACCUEIL / BLOC CMS
   ========================================================================== */
.js-product-miniature {
    padding: 0px 10px 0px 10px;
}
#custom-text {
    padding: 1.125rem 3.125rem 1.125rem 3.125rem;
    margin-bottom: 1.5rem;
}
.page-content--home {
    gap: 0rem;
}
/* ==========================================================================
   13. PANIER (modale ajout panier + page panier)
   ========================================================================== */
#blockcart-modal .product-name {
    color: #fc4444;
}

/* Bouton Commander — modale ajout panier */
#blockcart-modal .btn-primary {
    background-color: #000000;
    color: #ffffff !important;
    border-color: #000000;
}
#blockcart-modal .btn-primary:hover {
    background-color: #333333;
    border-color: #333333;
}

/* Bouton outline "Continuer mes achats" — modale ajout panier */
#blockcart-modal .btn-outline-primary {
    color: #CEC9C0;
    border-color: #CEC9C0;
}
#blockcart-modal .btn-outline-primary:hover {
    background-color: #CEC9C0;
    color: #000000;
    border-color: #CEC9C0;
}

/* Bouton Commander — page panier */
.cart-summary__actions .btn-primary {
    background-color: #000000;
    color: #ffffff !important;
    border-color: #000000;
}
.cart-summary__actions .btn-primary:hover {
    background-color: #333333;
    border-color: #333333;
}

/* ==========================================================================
   14. LISTES A PUCES (description produit / categorie)
   ========================================================================== */
.block-category-inner li {
    list-style-type: disc;
}
.block-category-inner ul {
    padding-left: 7%;
}
.product-description li {
    list-style-type: disc;
    line-height: normal;
}
.product-description ul {
    padding-left: 7%;
    color: #4f4f4f !important;
}


/* ==========================================================================
   15. FICHE TECHNIQUE / TYPOGRAPHIE
   ========================================================================== */
.product-features > dl.data-sheet dd.value,
.product-features > dl.data-sheet dt.name {
    text-transform: none;
}
b, strong {
    font-weight: bolder;
    color: #fc4444;
}
.product-description .block-category .block-category-inner #category-description b,
.product-description .block-category .block-category-inner #category-description strong {
    font-weight: bolder !important;
    color: #fc4444 !important;
}
#thumbnails strong {
    color: white !important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    margin-top: 2rem;
}
.header-bottom__h1 {
	margin-top: 0.9rem!important;
}


/* ==========================================================================
   16. AVIS / COMMENTAIRES PRODUIT
   ========================================================================== */
.product-list-reviews {
    top: -4px;
}
.product-miniature .product-title {
    margin-top: 0.9rem;
}
.btn.disabled, .btn:disabled {
    opacity: .2 !important;
}
/* Masque le squelette "étoiles + nb avis" tant que l'AJAX productcomments n'a pas rempli les données (évite l'affichage d'1 étoile par défaut sur les produits sans avis) */
.product-list-review:not(.d-flex) {
    visibility: hidden;
}
.product-comments-wrapper {
    background-color: #ffffff;
    border-radius: 10px;
    padding: 1.5rem;
    margin-top: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

/* ==========================================================================
   17. MINIATURE IMAGE PRODUIT
   ========================================================================== */
.product-miniature .thumbnail-container {
    width: 100%;
    height: 100%;
}


/* ==========================================================================
   18. MODULE ph_pcms — [A VALIDER VISUELLEMENT APRES MIGRATION]
   ========================================================================== */

/* Force l'article à occuper toute la cellule grid selon le breakpoint */
@media (min-width: 1200px) {
    [class*="ph_pcms_desktop_"] > .product-miniature {
        width: 100% !important;
		padding: 0 1px 0 1px !important;
    }
}
@media (min-width: 768px) and (max-width: 1199px) {
    [class*="ph_pcms_tablet_"] > .product-miniature {
        width: 100% !important;
    }
}
@media (max-width: 767px) {
    [class*="ph_pcms_mobile_"] > .product-miniature {
        width: 100% !important;
    }
}

/* Correction grille 5 colonnes desktop */
@media (min-width: 1200px) {
    .ph_pcms_desktop_5 {
        grid-template-columns: repeat(5, 1fr) !important;
    }
}

/* Correction overflow image tronquée (Hummingbird applique overflow: clip) */
.ph_pcms_block_product_list .product-miniature__image {
    overflow: visible;
}

/* Fond du wrapper — [A VALIDER] */
.ph_pcms_product_list_wrapper {
    background-color: #E2E2E2 !important;
}

@media (min-width: 360px) and (max-width: 767px) {
    .layout-full-width .products.ph_pcms_mobile_1 {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }
}

/* Sécurité : l'image ne doit pas déborder de sa cellule */
@media (max-width: 767px) {
    .ph_pcms_product_list_wrapper .product-miniature__image {
        width: 100% !important;
        height: auto !important;
        max-width: 100%;
    }
}
.product-miniature__infos {
    text-align: center;
}

.product-miniature__prices {
    justify-content: center;
}

.product-list-review {
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* ==========================================================================
   19. RESPONSIVE — DESKTOP (>= 1200px)
   ========================================================================== */
@media (min-width: 1200px) {
    #left-column {
        padding-left: 7px;
    }
    #header .header-bottom__logo .logo{
        transform:scale(2.1);
        transform-origin:left center;
    }
    #header .header-top {
        padding: 0.25rem 0;
    }
    .col-xl-4 {
        padding-right: 0px;
        padding-left: 0px;
    }
    .js-modal-product-cover {
        max-width: none;
    }
    #product-modal .modal-content .modal-body .arrows .arrow-down {
        bottom: -3.5rem;
    }
}


/* ==========================================================================
   20. RESPONSIVE — MOBILE (<= 767px)
   ========================================================================== */
@media (max-width: 767px) {
    .tabs {
        padding: 1.2rem;
        margin-top: 1rem;
    }
    .header-top {
        background-color: #CEC9C0 !important;
    }
    #custom-text {
        padding: 0rem 1.125rem 1.125rem 1.125rem !important;
        background: #F2F2F2 !important;
        margin-bottom: 1.5rem;
    }
    /* [A VALIDER] */
    .ph_pcms_product_list_wrapper {
        background-color: #E2E2E2 !important;
    }
    #ultimatum_footer .col-sm-3 {
        padding-bottom: 15px;
    }
    #header .header-nav {
        background: #f6f6f6;
    }
    .card-block {
        padding: 0rem 0rem 0rem 0rem;
    }
    #header .top-logo img {
        max-height: 48px;
        min-height: 40px;
    }
    /* [A VALIDER] */
    .ph_pcms_block_product_list .product-miniature img {
        width: initial;
    }
    .js-product-miniature {
        padding: 0px 5px 0px 5px;
    }
    .products {
        column-gap: 10px !important;
        row-gap: 15px !important;
    }

    /* panier simplifie mobile */
    #blockcart-modal .divide-right { display: none !important; }
    #blockcart-modal .cart-products-count { display: none !important; }
    #blockcart-modal .cart-content p { display: none !important; }
    #blockcart-modal .cart-content-btn button,
    #blockcart-modal .cart-content-btn a { font-size: 12px; }
    #blockcart-modal .cart-content-btn a:after { content: " ->"; line-height: 5px; }
    #blockcart-modal .cart-content-btn .material-icons { display: none !important; }
}

/* ==========================================================================
   21. BLOC NEWSLETTER — discret, home + catégorie uniquement (via back-office)
   ========================================================================== */
#emailsubscription_anchor_displayFooterBefore {
    background-color: #E2E2E2 !important; /* [VARIATION PAR BOUTIQUE] */
    border-top: 1px solid rgba(0,0,0,0.08);
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}
#emailsubscription_anchor_displayFooterBefore .h3 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    color: #4f4f4f; /* [VARIATION PAR BOUTIQUE - texte discret] */
}
#emailsubscription_anchor_displayFooterBefore .form-control {
    border-radius: 4px;
    border-color: #ccc;
}
#emailsubscription_anchor_displayFooterBefore .btn-primary {
    white-space: nowrap;
    font-weight: 500;
}
#emailsubscription_anchor_displayFooterBefore .text-body-secondary {
    font-size: 0.75rem !important;
    color: #999 !important;
}

/* Mobile : empile titre / formulaire proprement */
@media (max-width: 991px) {
    #emailsubscription_anchor_displayFooterBefore .row {
        text-align: center;
    }
    #emailsubscription_anchor_displayFooterBefore .h3 {
        margin-bottom: 0.75rem !important;
    }
}
#emailsubscription_anchor_displayFooterBefore .h3 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    color: #4f4f4f; /* [VARIATION PAR BOUTIQUE] */
    position: relative;
    padding-top: 1.4rem;
}
#emailsubscription_anchor_displayFooterBefore .h3::before {
    content: "NEWSLETTER";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fc4444; /* [VARIATION PAR BOUTIQUE - couleur accent] */
}

/* ==========================================================================
   22. BLOC MENU
   ========================================================================== */
/* Centrer le menu PM_AdvancedTopMenu (desktop) */
.header-nav-full-width {
    display: flex;
    justify-content: center;
}
#menu.adtm_menu_list {
    justify-content: center !important;
}
/* Fix largeur du produit affiché dans le méga-menu PM_AdvancedTopMenu */
.adtm_column .featured-products .products {
    display: block;
    grid-template-columns: none;
}

.adtm_column .featured-products .product-miniature {
    width: 100%;
}

/* ==========================================================================
   23. TUNNEL DEVENTE CHECKOUT
   ========================================================================== */
/* Livraison — réorganisation des éléments flex */
@media (min-width: 768px) {
    .delivery-option__left {
        flex-basis: auto;
        flex-grow: 1;
        order: 1;
    }

    .delivery-option__price {
        flex-basis: calc(20% - 1rem);
        order: 2;
        margin-left: auto;
    }

    .delivery-option__content {
        flex-basis: 100%;
        order: 3;
        color: rgba(33, 37, 41, 0.75);
        font-size: 0.875rem;
    }
}
/* Retrait magasin — left limité à son contenu réel */
.delivery-option__left:has(.bx-extra-content:empty) {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: auto;
    width: auto;
    max-width: fit-content;
}

/* bx-extra-content vide ne prend aucune place */
.delivery-option__left:has(.bx-extra-content:empty) .bx-extra-content {
    display: none;
}

/* Le texte info prend tout l'espace disponible entre le logo et le prix */
.delivery-option__left:has(.bx-extra-content:empty) ~ .delivery-option__content {
    flex-grow: 1;
    flex-basis: 0;
    flex-shrink: 1;
    order: 2;
    align-self: center;
    min-width: 0;
}