/*
Theme Name:   Kadence Child - La Chapelle du CBD
Theme URI:    https://lachapelleducbd.com
Description:  Child theme for Kadence - Premium CBD E-commerce
Author:       La Chapelle du CBD
Author URI:   https://lachapelleducbd.com
Template:     kadence
Version:      1.0.0
Text Domain:  kadence-child
*/

/* ===================================
   VARIABLES GLOBALES
   =================================== */
:root {
    --color-black: #000000;
    --color-anthracite: #1A1A1A;
    --color-dark-grey: #2A2A2A;
    --color-gold: #D4AF37;
    --color-gold-light: #F5C842;
    --color-olive: #6B7E4F;
    --color-white: #FFFFFF;
    --color-grey-light: #E5E5E5;
    --color-grey-medium: #B8B8B8;
    --color-grey-subtle: #6B6B6B;

    --spacing-xs: 8px;
    --spacing-sm: 16px;
    --spacing-md: 24px;
    --spacing-lg: 32px;
    --spacing-xl: 48px;
    --spacing-xxl: 80px;

    --border-radius: 8px;

    /* Transitions ciblées (évite transition: all) */
    --t-base: 220ms ease;
    --t-slow: 320ms ease;

    /* Ombres réutilisables */
    --shadow-gold-sm: 0 8px 24px rgba(212, 175, 55, 0.15);
    --shadow-gold-md: 0 12px 32px rgba(212, 175, 55, 0.25);
}

/* ===================================
   TYPOGRAPHIE PREMIUM
   =================================== */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Focus clavier (accessibilité) */
:where(a, button, input, select, textarea, .button, .wp-block-button__link):focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 3px;
}

/* ===================================
   BOUTONS PREMIUM
   =================================== */
.button,
.wp-block-button__link,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
    position: relative;
    overflow: hidden;

    transition:
        transform var(--t-base),
        box-shadow var(--t-base),
        background-color var(--t-base),
        color var(--t-base),
        border-color var(--t-base);
    will-change: transform;
}

.button:hover,
.wp-block-button__link:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover {
    transform: translateY(-2px);
}

/* Bouton primaire - doré */
.button.primary,
.single_add_to_cart_button {
    background: var(--color-gold) !important;
    color: var(--color-black) !important;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
    border-color: transparent;
}

.button.primary:hover,
.single_add_to_cart_button:hover {
    background: var(--color-gold-light) !important;
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5);
}

/* ===================================
   CARTES PRODUITS (LISTING)
   =================================== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: var(--color-anthracite);
    border-radius: var(--border-radius);
    padding: var(--spacing-md);
    box-shadow: var(--shadow-gold-sm);

    transition:
        transform var(--t-slow),
        box-shadow var(--t-slow);
    position: relative;
    overflow: hidden;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-gold-md);
}

/* Assure une couleur cohérente des liens dans la carte */
.woocommerce ul.products li.product a,
.woocommerce-page ul.products li.product a {
    color: var(--color-grey-light);
    text-decoration: none;
}

/* Image produit */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
    border-radius: var(--border-radius);
    transition: transform var(--t-slow);
    will-change: transform;
}

.woocommerce ul.products li.product:hover img,
.woocommerce-page ul.products li.product:hover img {
    transform: scale(1.05);
}

/* Titre produit */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    color: var(--color-white);
    font-size: 18px;
    font-weight: 600;
    margin-bottom: var(--spacing-sm);
}

/* Prix produit */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    color: var(--color-gold) !important;
    font-size: 20px;
    font-weight: 700;
    margin: var(--spacing-sm) 0;
}

/* Prix barré / promo (petit confort visuel) */
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
    opacity: 0.65;
}

/* ===================================
   BADGE PROMO NATIF WOOCOMMERCE
   =================================== */
.woocommerce span.onsale {
    background: var(--color-gold);
    color: var(--color-black);
    font-weight: 700;
    border-radius: 4px;
    padding: 6px 12px;
    min-height: auto;
    line-height: 1;
}

/* ===================================
   FICHE PRODUIT
   =================================== */
.single-product .product {
    background: transparent;
}

/* Galerie produit */
.woocommerce div.product div.images {
    margin-bottom: var(--spacing-xl);
}

.woocommerce div.product div.images img {
    border-radius: var(--border-radius);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* Bloc achat */
.woocommerce div.product form.cart {
    background: var(--color-anthracite);
    padding: var(--spacing-lg);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-gold-sm);
}

/* Prix */
.woocommerce div.product p.price {
    color: var(--color-gold);
    font-size: 28px;
    font-weight: 700;
}

/* Quantité (input) */
.woocommerce .quantity {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.woocommerce .quantity input.qty {
    background: var(--color-dark-grey);
    color: var(--color-white);
    border: 1px solid var(--color-grey-subtle);
    border-radius: 4px;
    text-align: center;
    padding: 8px;
    transition: border-color var(--t-base), box-shadow var(--t-base);
}

.woocommerce .quantity input.qty:focus-visible {
    border-color: var(--color-gold);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.25);
    outline: none;
}

/* ===================================
   BREADCRUMB
   =================================== */
.woocommerce .woocommerce-breadcrumb,
.kadence-breadcrumbs {
    color: var(--color-grey-medium);
    font-size: 14px;
    margin-bottom: var(--spacing-md);
}

.woocommerce .woocommerce-breadcrumb a,
.kadence-breadcrumbs a {
    color: var(--color-grey-medium);
    transition: color var(--t-base);
}

.woocommerce .woocommerce-breadcrumb a:hover,
.kadence-breadcrumbs a:hover {
    color: var(--color-gold);
}

/* ===================================
   SIDEBAR FILTRES (scopé WooCommerce)
   =================================== */
.woocommerce .widget,
.woocommerce-page .widget {
    background: var(--color-anthracite);
    padding: var(--spacing-md);
    border-radius: var(--border-radius);
    margin-bottom: var(--spacing-lg);
}

.woocommerce .widget-title,
.woocommerce-page .widget-title {
    color: var(--color-gold);
    font-size: 18px;
    font-weight: 700;
    margin-bottom: var(--spacing-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce .widget ul,
.woocommerce-page .widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce .widget ul li,
.woocommerce-page .widget ul li {
    padding: 8px 0;
    border-bottom: 1px solid var(--color-dark-grey);
}

.woocommerce .widget ul li:last-child,
.woocommerce-page .widget ul li:last-child {
    border-bottom: none;
}

.woocommerce .widget a,
.woocommerce-page .widget a {
    color: var(--color-grey-light);
    transition: transform var(--t-base), color var(--t-base);
    display: inline-block;
}

.woocommerce .widget a:hover,
.woocommerce-page .widget a:hover {
    color: var(--color-gold);
    transform: translateX(8px);
}

/* ===================================
   RESPONSIVE
   =================================== */
@media (max-width: 768px) {
    :root {
        --spacing-xxl: 40px;
        --spacing-xl: 32px;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        padding: var(--spacing-sm);
    }

    .woocommerce div.product form.cart {
        padding: var(--spacing-md);
    }
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    animation: fadeIn 0.6s ease-out both;
}

/* ===================================
   UTILITAIRES
   =================================== */
.text-gold { color: var(--color-gold) !important; }
.bg-anthracite { background-color: var(--color-anthracite) !important; }
.shadow-gold { box-shadow: var(--shadow-gold-sm); }

/* ===================================
   BADGES PRODUITS (custom)
   =================================== */
.product-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.product-badge {
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.2;
    pointer-events: auto;
}

.product-badge.new {
    background: var(--color-olive);
    color: var(--color-white);
}

.product-badge.promo {
    background: var(--color-gold);
    color: var(--color-black);
}

.product-badge.rupture {
    background: #8B0000;
    color: var(--color-white);
}

.product-badge.bestseller {
    background: var(--color-gold-light);
    color: var(--color-black);
}

/* ===================================
   RÉASSURANCE PRODUIT (fiche produit)
   =================================== */
.single-product .product-reassurance {
    display: flex;
    gap: var(--spacing-md);
    margin: var(--spacing-lg) 0;
    padding: var(--spacing-md);
    background: var(--color-dark-grey);
    border-radius: var(--border-radius);
}

.single-product .reassurance-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-grey-light);
    font-size: 14px;
}

.single-product .reassurance-item .icon {
    font-size: 20px;
    line-height: 1;
}

@media (max-width: 768px) {
    .single-product .product-reassurance {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
}

/* ===================================
   CHARTE QUALITÉ (fiche produit)
   =================================== */
.single-product .quality-charter {
    background: var(--color-anthracite);
    padding: var(--spacing-xl);
    border-radius: var(--border-radius);
    margin: var(--spacing-xxl) 0;
    text-align: center;
}

.single-product .quality-charter h3 {
    color: var(--color-gold);
    font-size: 28px;
    margin: 0 0 var(--spacing-lg);
}

.single-product .charter-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
}

.single-product .charter-item {
    text-align: center;
}

.single-product .charter-item .icon {
    display: inline-block;
    width: 48px;
    height: 48px;
    background: var(--color-gold);
    color: var(--color-black);
    border-radius: 50%;
    line-height: 48px;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: var(--spacing-sm);
}

.single-product .charter-item .title {
    display: block;
    color: var(--color-white);
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}

.single-product .charter-item p {
    color: var(--color-grey-medium);
    font-size: 14px;
    margin: 0;
}

@media (max-width: 768px) {
    .single-product .charter-items {
        grid-template-columns: 1fr;
    }
}

/* ===================================
   LIEN ANALYSE PDF (fiche produit)
   =================================== */
.single-product .product-analysis-link {
    margin: var(--spacing-md) 0;
}

.single-product .product-analysis-link .button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.single-product .product-analysis-link .icon {
    line-height: 1;
}

/* ===================================
   PRIX "À PARTIR DE X€/g" (archives)
   =================================== */
.price-per-gram {
    color: var(--color-grey-medium);
    font-size: 16px;
    font-weight: 400;
    display: inline-block;
    margin-top: 2px;
}

/* ===================================
   BOUTONS VARIATION CUSTOM (fiche produit)
   =================================== */
.single-product .custom-variation-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 var(--spacing-md);
}

.single-product .variation-button {
    appearance: none;
    -webkit-appearance: none;

    padding: 12px 18px;
    background: var(--color-dark-grey);
    color: var(--color-grey-light);

    border: 2px solid var(--color-grey-subtle);
    border-radius: 6px;

    font-size: 16px;
    font-weight: 600;
    cursor: pointer;

    transition:
        transform var(--t-base),
        background-color var(--t-base),
        color var(--t-base),
        border-color var(--t-base),
        box-shadow var(--t-base);

    will-change: transform;
}

.single-product .variation-button:hover {
    border-color: var(--color-gold);
    color: var(--color-gold);
    transform: translateY(-1px);
}

.single-product .variation-button.active {
    background: var(--color-gold);
    color: var(--color-black);
    border-color: var(--color-gold);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.30);
    transform: translateY(-1px);
}

.single-product .variation-button.is-disabled,
.single-product .variation-button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.single-product .variation-button:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 3px;
}

/* ===================================
   BOUTONS QUANTITÉ +/- (WooCommerce)
   =================================== */
.woocommerce .qty-button {
    width: 36px;
    height: 36px;

    background: var(--color-dark-grey);
    color: var(--color-gold);

    border: 1px solid var(--color-grey-subtle);
    border-radius: 4px;

    font-size: 20px;
    font-weight: 700;
    cursor: pointer;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    transition:
        transform 180ms ease,
        background-color var(--t-base),
        color var(--t-base),
        border-color var(--t-base),
        box-shadow var(--t-base);
}

.woocommerce .qty-button:hover {
    background: var(--color-gold);
    color: var(--color-black);
    border-color: var(--color-gold);
}

.woocommerce .qty-button:active {
    transform: scale(0.96);
}

.woocommerce .qty-button:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 3px;
}

/* ===================================
   NOTIFICATIONS
   =================================== */
.custom-notification {
    position: fixed;
    top: 100px;
    right: 20px;

    transform: translateX(120%);
    opacity: 0;

    background: var(--color-anthracite);
    color: var(--color-white);

    padding: var(--spacing-md);
    border-radius: var(--border-radius);

    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.30);
    z-index: 9999;

    min-width: 280px;
    max-width: calc(100vw - 40px);

    transition:
        transform 260ms ease,
        opacity 260ms ease;

    pointer-events: none;
}

.custom-notification.show {
    transform: translateX(0);
    opacity: 1;
}

.custom-notification.success { border-left: 4px solid var(--color-olive); }
.custom-notification.error { border-left: 4px solid #8B0000; }

/* ===================================
   ANIMATIONS (classe .animated du JS)
   =================================== */
.animated {
    animation: fadeInUp 0.6s ease-out both;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ===================================
   PRIX PAR GRAMME EN DIRECT (fiche produit)
   =================================== */
.single-product .price-per-gram-live {
    color: var(--color-grey-medium);
    font-size: 14px;
    margin: var(--spacing-sm) 0;
}

.single-product .price-per-gram-live strong {
    color: var(--color-gold);
}

/* ===================================
   RESPONSIVE - VARIATIONS + NOTIFS
   =================================== */
@media (max-width: 768px) {
    .single-product .variation-button {
        padding: 10px 14px;
        font-size: 14px;
    }

    .custom-notification {
        top: 80px;
        right: 12px;
        max-width: calc(100vw - 24px);
    }
}

   /* =========================================================
   FIX KADENCE : lien plein-carte (overlay) qui vole les clics
   + garantir que les boutons restent cliquables
   ========================================================= */

/* Assure le contexte */
.woocommerce ul.products li.product{
  position: relative;
}

/* Si Kadence/Woo met un overlay via pseudo-élément sur le lien produit */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::before,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::after,
.woocommerce ul.products li.product a.woocommerce-loop-product__link::before,
.woocommerce ul.products li.product a.woocommerce-loop-product__link::after{
  pointer-events: none !important;
}

/* Mets nos zones au-dessus de TOUT */
.woocommerce ul.products li.product .chapelle-loop-weights-wrap,
.woocommerce ul.products li.product .chapelle-loop-actions-wrap{
  position: relative !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}

/* Et les éléments interactifs dedans */
.woocommerce ul.products li.product .chapelle-loop-weights-wrap button,
.woocommerce ul.products li.product .chapelle-loop-actions-wrap button,
.woocommerce ul.products li.product .chapelle-view-product{
  position: relative !important;
  z-index: 10000 !important;
  pointer-events: auto !important;
}
/* =========================================================
   CHAPELLE — CSS CUSTOM (déplacé depuis "CSS additionnel")
   Objectif: éviter la coupe wp-custom-css + garder toutes les features
   ========================================================= */


/* =========================================================
   1) SHOP / ARCHIVES — Price + poids + actions
   ========================================================= */

/* Prix + "à partir" alignés à gauche */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .price-per-gram,
.woocommerce-page ul.products li.product .price-per-gram{
  text-align:left !important;
  display:block !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  margin:10px 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  line-height:1.2 !important;
}
.woocommerce ul.products li.product .price *,
.woocommerce-page ul.products li.product .price *{
  background:transparent !important;
  border:0 !important;
}

/* Boutons poids (archives) */
.woocommerce ul.products li.product .chapelle-loop-weights,
.woocommerce-page ul.products li.product .chapelle-loop-weights{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  margin:12px 0 8px !important;
  align-items:stretch !important;
}
.woocommerce ul.products li.product .chapelle-loop-weights .chapelle-weight,
.woocommerce-page ul.products li.product .chapelle-loop-weights .chapelle-weight{
  flex:1 1 0 !important;
  min-width:0 !important;
  border-radius:12px !important;
  padding:10px 8px !important;
  background:linear-gradient(135deg,#1a1a1a 0%,#0d0d0d 100%) !important;
  border:2px solid #3a3a3a !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-align:center !important;
  line-height:1.15 !important;
  transition:transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, color 220ms ease !important;
  cursor:pointer !important;
}
.woocommerce ul.products li.product .chapelle-loop-weights .chapelle-weight .w,
.woocommerce-page ul.products li.product .chapelle-loop-weights .chapelle-weight .w{
  display:block !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.4px !important;
}
.woocommerce ul.products li.product .chapelle-loop-weights .chapelle-weight .ppg,
.woocommerce-page ul.products li.product .chapelle-loop-weights .chapelle-weight .ppg{
  display:block !important;
  margin-top:3px !important;
  font-size:11px !important;
  font-weight:500 !important;
  opacity:.85 !important;
}
.woocommerce ul.products li.product .chapelle-loop-weights .chapelle-weight:hover,
.woocommerce-page ul.products li.product .chapelle-loop-weights .chapelle-weight:hover{
  border-color:#D4AF37 !important;
  color:#D4AF37 !important;
  transform:translateY(-2px) !important;
  box-shadow:0 6px 18px rgba(212,175,55,.22) !important;
}
.woocommerce ul.products li.product .chapelle-loop-weights .chapelle-weight.active,
.woocommerce-page ul.products li.product .chapelle-loop-weights .chapelle-weight.active{
  background:linear-gradient(135deg,#D4AF37 0%,#B8941F 100%) !important;
  border-color:#F5C842 !important;
  color:#000 !important;
  box-shadow:0 8px 22px rgba(212,175,55,.28) !important;
}

/* Actions archives */
.woocommerce ul.products li.product .chapelle-loop-add-to-cart,
.woocommerce-page ul.products li.product .chapelle-loop-add-to-cart,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-page ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .chapelle-view-product,
.woocommerce-page ul.products li.product .chapelle-view-product{
  width:100% !important;
  border-radius:14px !important;
  padding:12px 14px !important;
  font-weight:800 !important;
  letter-spacing:.2px !important;
  text-transform:none !important;
}
.woocommerce ul.products li.product .chapelle-loop-add-to-cart,
.woocommerce-page ul.products li.product .chapelle-loop-add-to-cart,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-page ul.products li.product .add_to_cart_button{
  margin-top:10px !important;
}
.woocommerce ul.products li.product .chapelle-view-product,
.woocommerce-page ul.products li.product .chapelle-view-product{
  margin-top:10px !important;
  background:transparent !important;
  border:2px solid #3a3a3a !important;
  color:#fff !important;
}
.woocommerce ul.products li.product .chapelle-view-product:hover,
.woocommerce-page ul.products li.product .chapelle-view-product:hover{
  border-color:#D4AF37 !important;
  color:#D4AF37 !important;
}
.woocommerce ul.products li.product a.button::after,
.woocommerce-page ul.products li.product a.button::after{
  content:none !important;
}

/* États JS */
.woocommerce ul.products li.product .chapelle-loop-add-to-cart.is-disabled,
.woocommerce-page ul.products li.product .chapelle-loop-add-to-cart.is-disabled,
.woocommerce ul.products li.product .chapelle-loop-add-to-cart[aria-disabled="true"],
.woocommerce-page ul.products li.product .chapelle-loop-add-to-cart[aria-disabled="true"]{
  opacity:.55 !important;
  cursor:not-allowed !important;
}
.woocommerce ul.products li.product .chapelle-loop-add-to-cart.loading,
.woocommerce-page ul.products li.product .chapelle-loop-add-to-cart.loading{
  pointer-events:none !important;
  opacity:.75 !important;
}
.woocommerce ul.products li.product .chapelle-loop-add-to-cart.loading::after,
.woocommerce-page ul.products li.product .chapelle-loop-add-to-cart.loading::after{
  content:"…" !important;
  margin-left:8px !important;
}

/* Fix overlay Kadence */
.woocommerce ul.products li.product{ position:relative; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::before,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::after,
.woocommerce ul.products li.product a.woocommerce-loop-product__link::before,
.woocommerce ul.products li.product a.woocommerce-loop-product__link::after{
  pointer-events:none !important;
}
.woocommerce ul.products li.product .chapelle-loop-weights-wrap,
.woocommerce ul.products li.product .chapelle-loop-actions-wrap{
  position:relative !important;
  z-index:9999 !important;
  pointer-events:auto !important;
}
.woocommerce ul.products li.product .chapelle-loop-weights-wrap button,
.woocommerce ul.products li.product .chapelle-loop-actions-wrap button,
.woocommerce ul.products li.product .chapelle-view-product{
  position:relative !important;
  z-index:10000 !important;
  pointer-events:auto !important;
}

/* Mobile shop */
@media (max-width:420px){
  .woocommerce ul.products li.product .chapelle-loop-weights,
  .woocommerce-page ul.products li.product .chapelle-loop-weights{ gap:8px !important; }
  .woocommerce ul.products li.product .chapelle-loop-weights .chapelle-weight,
  .woocommerce-page ul.products li.product .chapelle-loop-weights .chapelle-weight{
    padding:9px 6px !important;
    font-size:12px !important;
  }
}


/* =========================================================
   2) HOME — Swiper (CSS uniquement)
   ========================================================= */

.chapelle-home-swiper .chapelle-swiper{ position:relative; }
.chapelle-home-swiper .chapelle-swiper .swiper-wrapper{
  list-style:none;
  margin:0;
  padding:0;
}
.chapelle-home-swiper .swiper-pagination{ position:relative; margin-top:12px; }
.chapelle-home-swiper .swiper-pagination-bullet{ width:8px; height:8px; margin:0 6px; opacity:.35; }
.chapelle-home-swiper .swiper-pagination-bullet-active{ opacity:1; }

/* Full width uniquement pour le carrousel (pas le titre) */
.home .chapelle-home-swiper ul.products.swiper-wrapper{
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:80px !important;
  justify-content:flex-start !important;
  box-sizing:border-box !important;
}
.home .chapelle-home-swiper ul.products.swiper-wrapper > li.swiper-slide:first-child{
  margin-left:24px !important;
}
.home .chapelle-home-swiper,
.home .chapelle-home-swiper .swiper{ overflow:visible !important; }
.home .chapelle-home-swiper .swiper-button-prev,
.home .chapelle-home-swiper .swiper-button-next{ display:none !important; }

/* Actions bas de carte (home) */
.home .chapelle-home-swiper li.product.swiper-slide .product-details{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.home .chapelle-home-swiper li.product.swiper-slide .product-action-wrap{ margin-top:auto !important; }
.home .chapelle-home-swiper .chapelle-loop-actions-wrap > .button{
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
}
.home .chapelle-home-swiper .product-details.content-bg{ background:#1a1a1a !important; }


/* =========================================================
   3) SINGLE PRODUCT — Select caché + poids sous "Poids" + alignements
   ========================================================= */

/* Garder le select mais invisible */
.chapelle-hidden-select{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

/* "Poids" au-dessus */
.single-product form.variations_form table.variations{ width:100% !important; }
.single-product form.variations_form table.variations tr{ display:block !important; }
.single-product form.variations_form table.variations th.label{
  display:block !important;
  width:100% !important;
  padding:0 0 6px 0 !important;
  text-align:left !important;
}
.single-product form.variations_form table.variations td.value{
  display:block !important;
  width:100% !important;
  padding:0 !important;
}

/* Boutons poids (single) compacts */
.single-product form.variations_form .product-weight-container{
  width:100% !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  margin:8px 0 12px !important;
  align-items:stretch !important;
}
.single-product form.variations_form .product-weight-container .chapelle-weight{
  flex:1 1 0 !important;
  min-width:0 !important;
  padding:8px 8px !important;
  border-radius:10px !important;
  font-size:12px !important;
  line-height:1.1 !important;
  background:linear-gradient(135deg,#1a1a1a 0%,#0d0d0d 100%) !important;
  border:2px solid #3a3a3a !important;
  color:#fff !important;
  font-weight:800 !important;
  text-align:center !important;
  transition:transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, color 220ms ease !important;
  cursor:pointer !important;
}
.single-product form.variations_form .product-weight-container .chapelle-weight .w{
  display:block !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.3px !important;
}
.single-product form.variations_form .product-weight-container .chapelle-weight .ppg{
  display:block !important;
  margin-top:2px !important;
  font-size:10px !important;
  opacity:.8 !important;
}
.single-product form.variations_form .product-weight-container .chapelle-weight:hover{
  border-color:#D4AF37 !important;
  color:#D4AF37 !important;
  transform:translateY(-2px) !important;
  box-shadow:0 6px 18px rgba(212,175,55,.22) !important;
}
.single-product form.variations_form .product-weight-container .chapelle-weight.active{
  background:linear-gradient(135deg,#D4AF37 0%,#B8941F 100%) !important;
  border-color:#F5C842 !important;
  color:#000 !important;
  box-shadow:0 8px 22px rgba(212,175,55,.28) !important;
}
.single-product form.variations_form .product-weight-container .chapelle-weight:disabled{
  opacity:.45 !important;
  cursor:not-allowed !important;
  transform:none !important;
  box-shadow:none !important;
}

/* Align qty + add-to-cart sous les boutons */
.single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  align-items:stretch !important;
}
.single-product form.variations_form .woocommerce-variation-add-to-cart .quantity{
  width:100% !important;
  justify-content:flex-start !important;
}
.single-product form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  width:100% !important;
  display:block !important;
}

/* Reset variations discret */
.single-product form.variations_form a.reset_variations{
  display:inline-block !important;
  margin-top:8px !important;
}

/* Prix au gramme single (si tu l’injectes) */
.single-product .price-per-gram-single{
  display:inline-block !important;
  margin:0 0 10px !important;
  font-size:18px !important;
  font-weight:700 !important;
  color:var(--color-gold) !important;
}


/* =========================================================
   4) PRICE PER GRAM — style uniforme (archive + home)
   ========================================================= */

.woocommerce ul.products li.product .price-per-gram,
.home .price .price-per-gram,
.woocommerce .price .price-per-gram,
.price-per-gram-archive,
.price-per-gram-home{
  display:inline-block !important;
  margin:0 0 10px 0 !important;
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1.6 !important;
  color:var(--color-gold) !important;
}
.price-per-gram .woocommerce-Price-amount{ font-weight:inherit !important; }


/* =========================================================
   5) SINGLE — Réassurance + Charte qualité (typo)
   ========================================================= */

.single-product .product-reassurance{
  padding:20px !important;
  gap:20px !important;
}
.single-product .product-reassurance .reassurance-item{ font-size:18px !important; }
.single-product .product-reassurance .reassurance-item .icon{ font-size:30px !important; }

.single-product .quality-charter .charter-item p{
  font-size:16px !important;
  line-height:1.6 !important;
  margin-top:8px !important;
}


/* =========================================================
   6) MON COMPTE — layout + marge sous header
   ========================================================= */

body.woocommerce-account .entry-content .woocommerce-MyAccount-content{
  margin-top:56px !important;
}
/* casse le margin-collapsing éventuel */
body.woocommerce-account .entry-content{
  overflow:hidden;
}

/* Mobile : si besoin, réduis la marge */
@media (max-width:899px){
  body.woocommerce-account .entry-content .woocommerce-MyAccount-content{
    margin-top:24px !important;
  }
}
/* ===================================
   AGE GATE — Overlay Premium Léger
   =================================== */

.lcbd-agegate {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 999999; /* au-dessus de tout (zoom images etc.) */
}

.lcbd-agegate.is-visible {
  display: flex;
}

/* Fond sombre */
.lcbd-agegate::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
}

/* Carte centrale */
.lcbd-agegate__card {
  position: relative;
  width: min(520px, 100%);
  background: #ffffff;
  border-radius: 18px;
  padding: 28px 24px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  text-align: center;
}

/* Titre */
.lcbd-agegate__title {
  margin: 0 0 12px 0;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 600;
}

/* Texte */
.lcbd-agegate__text {
  margin: 0 0 20px 0;
  font-size: 15px;
  line-height: 1.6;
  color: #444;
}

/* Boutons */
.lcbd-agegate__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.lcbd-agegate__btn {
  appearance: none;
  border: 1px solid rgba(0,0,0,0.15);
  background: #ffffff;
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.lcbd-agegate__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}

.lcbd-agegate__btn--yes {
  background: #000;
  color: #fff;
  border-color: #000;
}

.lcbd-agegate__btn--yes:hover {
  background: #111;
}

/* Empêche scroll derrière si visible */
html.lcbd-agegate-open,
html.lcbd-agegate-open body {
  overflow: hidden;
}