/* ===== RESET ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --lv-gold:    #c8a96e;
  --lv-black:   #000000;
  --lv-white:   #ffffff;
  --lv-grey:    #f5f5f5;
  --lv-font:    'bebas neue', serif;
  --lv-perso:    'bebas neue', serif;
  --header-h:   80px;
}

body {
  font-family: var(--lv-font);
  background: var(--lv-white);
  overflow-x: hidden;
}


/* ===== 1. Titre de section "NOUVEAUTÉS" & Lien "VOIR TOUT" ===== */
.lv-home-products__title {
  font-size: 2rem !important; /* Ajuste la taille du titre principal de section */
}

.lv-home-products__link {
  font-size: 1rem !important; /* Ajuste la taille du lien "VOIR TOUT" */
  letter-spacing: 1px;
}

/* ===== 2. Textes à l'intérieur des cartes produits (.lv-product-card) ===== */
/* Catégorie (ex: Femmes, Accessoires) */
.lv-product-card__category {
  font-size: 0.85rem !important; 
  letter-spacing: 1px;
}

/* Titre du produit (ex: Femme Cantenay 8) */
.lv-product-card__title,
.lv-product-card__title a {
  font-size: 1.5rem !important; 
}

/* Prix du produit */
.lv-product-card__price,
.lv-product-card__price .amount {
  font-size: 1rem !important;
}

body h1.lv-product-info__title {
  font-family: 'bebas neue', serif !important;
}


/* ===== 3. Bouton du bas "VOIR TOUTE LA COLLECTION" ===== */
.lv-home-products__btn {
  font-size: 0.85rem !important;
  letter-spacing: 2px !important;
  padding: 14px 28px !important; /* Augmente l'espace interne du bouton pour l'étoffer */
}

/* Description courte - conteneur principal */
.lv-product-info__short-desc,
.lv-product-info__short-desc div,
.lv-product-info__short-desc strong {
  font-size: 0.9rem !important;
  line-height: 1.8 !important;
  font-family: 'Cormorant', serif !important;
}

.lv-related-header .lv-related-title {
  font-family: 'bebas Neue', serif !important;
}

/* Police des cards "À découvrir également" */
.lv-related-card__category,
.lv-related-card__title,
.lv-related-card__title a,
.lv-related-card__price,
.lv-related-card__price * {
  font-family: 'bebas Neue', serif !important;
}


/* Force la police sur le contenu des accordéons */
.lv-accordion__content p,
.lv-accordion__content ul,
.lv-accordion__content li,
.lv-accordion__content strong,
.lv-accordion__content span {
  font-family: 'Cormorant', serif !important;
  font-size: 15px !important;
}

/* Police du bouton Ajouter au panier - haute spécificité */
.woocommerce-variation-add-to-cart button.single_add_to_cart_button,
.variations_button button.single_add_to_cart_button,
button.single_add_to_cart_button.button {
  font-family: 'bebas neue', serif !important;
  font-size: 15px !important;
}

/* Police du select de variation WooCommerce */
select[name="attribute_taille"],
.variations select,
.variations select option {
  font-family: 'bebas neue', serif !important;
  font-size: 16px !important;
}

/* Police du label de variation WooCommerce */
.variations th.label,
.variations th.label label {
  font-family: 'bebas neue', serif !important;
  font-size: 15px !important;
}



/* ===== AGRANDISSEMENT DES TEXTES DES BANNIERES (HOMMES / FEMMES) ===== */

/* 1. Le petit titre / libellé au-dessus du bouton (ex: "HOMMES") */
.lv-home-banner__label {
  font-size: 2.2rem !important; /* Ajuste selon ton souhait (ex: 2rem, 2.5rem) */
  letter-spacing: 2px !important;
}

/* 2. Le bouton "DÉCOUVRIR LA COLLECTION" */
.lv-home-banner__btn {
  font-size: 0.85rem !important;  /* Taille du texte du bouton (ex: 1.1rem, 18px) */
  letter-spacing: 1.5px !important; /* Espacement style luxe */
  padding: 14px 30px !important;    /* Ajuste la taille globale du bouton */
}

/* Intitulés des accordéons - ciblage du span interne */
.lv-accordion__trigger,
.lv-accordion__trigger span {
  font-size: 1.1rem !important;
  letter-spacing: 1.5px !important;
font-family: 'bebas neue', serif !important;
}

/* Titre "À DÉCOUVRIR ÉGALEMENT" */
.lv-related-title {
  font-size: 2rem !important;
  letter-spacing: 2px !important;
}



/* ===== FORCER LA POLICE SUR L'ACCUEIL, LES ARCHIVES ET LES PRODUITS ===== */

/* 1. Page d'accueil (front-page) */
body.home,
body.home *,
.home-page-container,
.home-page-container * {
  font-family: 'bebas neue', serif !important;
}

/* 2. Page Archive / Catégorie (archive-product) */
body.archive.woocommerce,
body.archive.woocommerce *,
.post-type-archive-product,
.post-type-archive-product *,
.woocommerce.archive,
.woocommerce.archive * {
  font-family: 'bebas neue', serif !important;
}





/* ===== HEADER ===== */
.lv-header {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: var(--header-h);
  z-index: 900;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 32px;
  /* Transparent sur le hero */
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background 0.6s ease, border-color 0.6s ease;
  /* Couleur blanche par défaut (sur hero sombre) */
  color: var(--lv-white);
}

/* Header au scroll : fond noir */
.lv-header.is-scrolled {
  background: var(--lv-black);
  border-bottom: 1px solid #222;
  color: var(--lv-white);
}

/* Header sur fond blanc (sections claires) */
.lv-header.is-light {
  background: var(--lv-white);
  border-bottom: 1px solid #e8e8e8;
  color: var(--lv-black);
}

/* ===== BOUTON MENU ===== */
.lv-menu-trigger {
  display: flex !important;
  align-items: center;
  gap: 10px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 0;
  visibility: visible !important;
  opacity: 1 !important;
  /* Blanc par défaut (hero sombre) */
  color: #ffffff !important;
}

.lv-menu-trigger__icon {
  display: flex !important;
  flex-direction: column;
  gap: 5px;
  width: 22px;
}

.lv-menu-trigger__icon span {
  display: block !important;
  width: 100%;
  height: 2px !important;
  background: #ffffff !important; /* Force blanc */
  transition: transform 0.4s ease, opacity 0.3s ease;
}

.lv-menu-trigger__label {
  font-size: 10px;
  letter-spacing: 3px;
  font-family: var(--lv-font);
  font-weight: 400;
  text-transform: uppercase;
  color: #ffffff !important; /* Force blanc */
}

/* Quand le header passe sur fond blanc (.is-light) */
.lv-header.is-light .lv-menu-trigger {
  color: #000000 !important;
}

.lv-header.is-light .lv-menu-trigger__icon span {
  background: #000000 !important;
}

.lv-header.is-light .lv-menu-trigger__label {
  color: #000000 !important;
}

/* Quand le header est scrollé sur fond noir (.is-scrolled) */
.lv-header.is-scrolled .lv-menu-trigger {
  color: #ffffff !important;
}

.lv-header.is-scrolled .lv-menu-trigger__icon span {
  background: #ffffff !important;
}

.lv-header.is-scrolled .lv-menu-trigger__label {
  color: #ffffff !important;
}
/* ===== LOGO ===== */
.lv-header__center {
  display: flex;
  justify-content: center;
}

.lv-logo {
  color: inherit;
  text-decoration: none;
  display: block;
}

.lv-logo__svg {
  height: 18px;
  width: auto;
  display: block;
  fill: currentColor;
}

/* Fallback texte si SVG non supporté */
.lv-logo__text {
  font-size: 13px;
  letter-spacing: 6px;
  text-transform: uppercase;
  font-weight: 300;
  white-space: nowrap;
}

/* ===== ICÔNES DROITE ===== */
.lv-header__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
}

.lv-icon-btn {
  background: none;
  border: none;
  cursor: pointer;
  display: flex !important;
  align-items: center;
  gap: 6px;
  padding: 4px;
  text-decoration: none;
  position: relative;
  visibility: visible !important;
  opacity: 1 !important;
  /* Force blanc par défaut (hero sombre) */
  color: #ffffff !important;
}

.lv-icon-btn svg {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  stroke: #ffffff !important;
  fill: none !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* Quand header sur fond blanc */
.lv-header.is-light .lv-icon-btn svg {
  stroke: #000000 !important;
}

.lv-header.is-scrolled .lv-icon-btn svg {
  stroke: #ffffff !important;
}

.lv-icon-btn:hover { opacity: 0.6; }

.lv-mylv__label {
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.lv-cart-count {
  position: absolute;
  top: -4px; right: -6px;
  background: var(--lv-gold);
  color: var(--lv-white);
  font-size: 8px;
  width: 14px; height: 14px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ===== OVERLAY FULLSCREEN ===== */
/* ===== OVERLAY PLEIN ÉCRAN ===== */
.lv-overlay {
  position: fixed;
  inset: 0;
  z-index: 950;
  background: var(--lv-black);
  color: var(--lv-white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 10vw;
  
  /* --- ÉTAT MASQUÉ PAR DÉFAUT (C'est ce qui règle le bug) --- */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

/* --- ÉTAT QUAND IL EST OUVERT --- */
.lv-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.lv-overlay.is-open {
  pointer-events: auto;
  visibility: visible;
}

/* ===== BOUTON FERMETURE OVERLAY PLEIN ÉCRAN (FORCÉ BLANC) ===== */
.lv-overlay__close {
  position: absolute !important;
  top: 32px !important;
  right: 48px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  z-index: 9999 !important; /* Très haut pour passer au-dessus de tout */
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.lv-overlay__close span {
  display: block !important;
  width: 30px !important;
  height: 2px !important;
  background-color: #ffffff !important; /* Blanc pur */
  background: #ffffff !important;
  position: absolute !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.lv-overlay__close span:nth-child(1) {
  transform: rotate(45deg) !important;
}

.lv-overlay__close span:nth-child(2) {
  transform: rotate(-45deg) !important;
}


/* Effet au survol */
.lv-overlay__close:hover span {
  background: var(--lv-gold, #c8a96e) !important;
}


.lv-overlay__close span {
  display: block;
  width: 100%;
  height: 1px;
  background: var(--lv-white);
  position: absolute;
}
.lv-overlay__close span:nth-child(1) { transform: rotate(45deg); }
.lv-overlay__close span:nth-child(2) { transform: rotate(-45deg); }

/* Inner layout */
.lv-overlay__inner {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 80px;
  align-items: start;
}

/* Liste principale */
.lv-overlay__list {
  list-style: none;
  padding: 0; margin: 0;
}

.lv-overlay__list li {
  overflow: hidden;
  margin-bottom: 4px;
}

.lv-overlay__list li a {
  display: block;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 300;
  letter-spacing: 2px;
  color: var(--lv-white);
  text-decoration: none;
  text-transform: uppercase;
  line-height: 1.2;
  padding: 8px 0;
  transition: color 0.3s ease, padding-left 0.3s ease;
  transform: translateY(100%); /* position initiale pour animation */
}

.lv-overlay__list li a:hover {
  color: var(--lv-gold);
  padding-left: 16px;
}

/* Liste secondaire */
.lv-overlay__sublist {
  list-style: none;
  padding: 0; margin: 0;
  padding-top: 16px;
}

.lv-overlay__sublist li { margin-bottom: 8px; }

.lv-overlay__sublist li a {
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #888;
  text-decoration: none;
  transition: color 0.3s;
  transform: translateY(30px);
  opacity: 0;
  display: block;
}

.lv-overlay__sublist li a:hover { color: var(--lv-white); }

/* Footer overlay */
.lv-overlay__footer {
  position: absolute;
  bottom: 40px; left: 10vw;
  display: flex;
  gap: 24px;
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #555;
}

.lv-overlay__footer a {
  color: var(--lv-gold);
  text-decoration: none;
}

/* ===== HERO ===== */
.lv-hero {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  background: var(--lv-black);
}

.lv-hero__img,
.lv-hero__fallback {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lv-hero__fallback {
  background: linear-gradient(160deg, #111 0%, #2a2a2a 100%);
}

.lv-hero__caption {
  position: absolute;
  bottom: 48px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  color: var(--lv-white);
}

.lv-hero__season {
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  opacity: 0.8;
}

/* ===== PAGE CONTENT ===== */
.lv-page-content {
  padding: 80px 10vw;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .lv-header { padding: 0 20px; }

  .lv-mylv__label { display: none; }

  .lv-overlay__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .lv-overlay { padding: 100px 6vw 60px; }

  .lv-overlay__list li a { font-size: clamp(24px, 8vw, 36px); }
}

/* Couleur par défaut du texte (hero sombre) */
.lv-mylv__label {
  color: #ffffff !important;
}

/* Quand le header est scrollé sur fond noir (.is-scrolled) */
.lv-header.is-scrolled .lv-mylv__label {
  color: #ffffff !important;
}

/* Quand le header passe sur fond blanc (.is-light) */
.lv-header.is-light .lv-mylv__label {
  color: #000000 !important;
}

/* Espace automatique en haut de toutes les pages (sauf la page d'accueil si elle a un hero plein écran) */
body:not(.home) {
  padding-top: 80px; /* Hauteur du header pour ne pas masquer le contenu */
}

/* Sur les pages autres que l'accueil, on force le header en fond noir ou blanc (pas transparent) */
body:not(.home) .lv-header {
  background: var(--lv-black) !important;
  border-bottom: 1px solid #222 !important;
}

body:not(.home) .lv-header .lv-icon-btn svg,
body:not(.home) .lv-header .lv-menu-trigger,
body:not(.home) .lv-header .lv-mylv__label,
body:not(.home) .lv-header .lv-logo {
  color: #ffffff !important;
  stroke: #ffffff !important;
}
body:not(.home) .lv-header .lv-menu-trigger__icon span {
  background: #ffffff !important;
}

/* ===== FORCER LA PAGE DE CATÉGORIE EN PLEINE LARGEUR ===== */

/* Cible les pages d'archives / catégories de WooCommerce et WordPress */
body.archive .site-main,
body.category .site-main,
body.tax-product_cat .site-main,
.woocommerce-archive .site-main {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Supprime les contraintes de largeur des thèmes parents (ex: Twenty Twenty-Four, etc.) */
body.archive .entry-content,
body.category .entry-content,
body.tax-product_cat .archive-content,
.woocommerce-archive .content-area {
  max-width: 100% !important;
  padding-left: 5vw !important;
  padding-right: 5vw !important;
}

/* Espace sous le header fixe pour éviter que le contenu soit masqué */
body.archive, body.category, body.tax-product_cat, .woocommerce-archive {
  padding-top: 80px; /* Hauteur du header */
}

/* ===== MARGES LATÉRALES POUR LES ARTICLES DE CATÉGORIE ===== */

/* Cible la zone qui contient la grille des articles */
body.archive .site-main,
body.category .site-main,
body.tax-product_cat .site-main,
.woocommerce-archive .site-main {
  padding-left: 0vw !important;  /* Marge à gauche (5% de la largeur de l'écran) */
  padding-right: 0vw !important; /* Marge à droite */
  box-sizing: border-box !important;
}

/* ===== RESET WOOCOMMERCE ===== */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: block !important;
  width: 100% !important;
}

/* ===== PAGE ARCHIVE WOOCOMMERCE ===== */
.lv-archive-main {
  width: 100%;
  max-width: 100%;
  padding: 40px 5vw 80px;
  box-sizing: border-box;
  margin-top: 64px;
}

/* Titre catégorie */
.lv-archive-header {
  text-align: center;
  padding: 60px 10vw 40px;
  border-bottom: 1px solid #e8e8e8;
  margin-bottom: 40px;
}

.lv-archive-title {
  font-family: var(--lv-font);
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 300;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #000;
}

/* Grille 4 colonnes */
.lv-archive-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0px 0px;
  width: 100%;
}

/* Carte produit */
.lv-product-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Image ratio 3:4 */
.lv-product-card__img-wrapper {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: #f5f5f5;
  text-decoration: none;
}

.lv-product-card__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.lv-product-card__img-wrapper:hover .lv-product-card__img {
  transform: scale(1.04);
}

.lv-product-card__img-placeholder {
  width: 100%;
  height: 100%;
  background: #eeeeee;
}

/* Overlay hover */
.lv-product-card__overlay {
  position: absolute;
  bottom: 0; left: 0;
  width: 100%;
  padding: 16px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  font-size: 9px;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-align: center;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.lv-product-card__img-wrapper:hover .lv-product-card__overlay {
  opacity: 1;
  transform: translateY(0);
}

/* Infos texte */
.lv-product-card__info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0 4px;
}

.lv-product-card__category {
  font-size: 9px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #888;
}

.lv-product-card__title {
  font-family: var(--lv-font);
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 1px;
  color: #000;
  margin: 0;
}

.lv-product-card__title a {
  text-decoration: none;
  color: inherit;
}

.lv-product-card__title a:hover { color: #555; }

.lv-product-card__price {
  font-size: 13px;
  letter-spacing: 1px;
  color: #000;
}

/* Pagination */
.lv-pagination {
  display: flex;
  justify-content: center;
  margin-top: 80px;
  gap: 8px;
}

.lv-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 11px;
  letter-spacing: 1px;
  text-decoration: none;
  color: #000;
  border: 1px solid transparent;
  transition: border-color 0.2s;
}

.lv-pagination .page-numbers:hover,
.lv-pagination .page-numbers.current {
  border-color: #000;
}

/* Responsive */
@media (max-width: 1024px) {
  .lv-archive-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .lv-archive-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== SUPERPOSITION DES INFOS SUR LE BAS DE L'IMAGE ===== */

.lv-product-card {
  position: relative; /* Nécessaire pour positionner les infos en absolu */
  display: flex;
  flex-direction: column;
}

/* L'image garde son ratio 3:4 */
.lv-product-card__img-wrapper {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: #f5f5f5;
  text-decoration: none;
}

/* Les informations remontent et se positionnent en bas de l'image */
.lv-product-card__info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 24px 20px 20px; /* Espace interne */
  
  /* Fond dégradé subtil pour que le texte reste lisible sur l'image */
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 60%, transparent 100%);
  
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 2;
  transition: transform 0.3s ease;
}

/* Changement de couleur des textes en BLANC pour contraster avec le dégradé sombre */
.lv-product-card__category {
  font-size: 9px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7); /* Blanc cassé */
}

.lv-product-card__title {
  font-family: var(--lv-font);
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 1px;
  color: #ffffff !important; /* Blanc pur */
  margin: 0;
}

.lv-product-card__title a {
  text-decoration: none;
  color: #ffffff !important;
  transition: color 0.2s;
}

.lv-product-card__title a:hover { 
  color: var(--lv-gold, #c8a96e) !important; /* Or LV au survol */
}

.lv-product-card__price {
  font-size: 13px;
  letter-spacing: 1px;
  color: #ffffff !important; /* Blanc pur */
  font-weight: 400;
}

/* Optionnel : Ajuste l'overlay "VOIR LE PRODUIT" pour qu'il n'entre pas en conflit avec les infos */
.lv-product-card__overlay {
  display: none; /* On le retire pour laisser place aux infos fixes en bas */
}

/* ===== FORCER LA PLEINE LARGEUR TOTALE ===== */

/* 1. Élargit le conteneur global du site ou du thème sur les pages archives/produits */
body.archive .site,
body.category .site,
body.tax-product_cat .site,
.woocommerce-archive .site,
.site-content,
.content-area {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Élargit le main spécifique WooCommerce et WordPress */
body.archive .site-main,
body.category .site-main,
body.tax-product_cat .site-main,
.woocommerce-archive .site-main,
.woocommerce .woocommerce-products-header,
.woocommerce ul.products {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 3. S'assure que la grille des produits utilise 100% de l'écran sans marges parasites */
.lv-archive-main {
  width: 100% !important;
  max-width: 100% !important;
  padding: 40px 0 80px 0 !important; /* Pas de padding horizontal ici si tu veux du bord à bord */
  margin: 0 !important;
  box-sizing: border-box !important;
}


/* Masquer le compteur de résultats WooCommerce */
.woocommerce .woocommerce-result-count {
  display: none !important;
}

/* ===== RÉDUCTION DE L'ESPACE SOUS LE HEADER ===== */

/* Supprime les marges hautes par défaut sur le conteneur et le titre */
.lv-archive-main {
  margin-top: 64px !important; /* Hauteur de ton header */
  padding-top: 0px !important;  /* Force seulement 10px de marge en haut */
}

.lv-archive-header {
  margin-top: 0 !important;
  padding-top: 0px !important;  /* Espace de 10px entre le header et le titre */
  padding-bottom: 30px !important;
}

/* Si tu utilises le template WooCommerce (archive-product.php) */
.woocommerce-products-header {
  margin-top: 10px !important;
  padding-top: 0 !important;
}

/* ===== LIGNE TITRE + TRI ===== */

.lv-archive-header-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  padding: 10px 40px 30px 40px !important; /* 10px en haut sous le header, 30px en bas avant le trait */
  box-sizing: border-box !important;
  border-bottom: none !important; /* Le trait de séparation en bas */
  margin-bottom: 40px !important; /* Espace avant la grille de produits */
}

/* Style du titre de la catégorie */
.lv-archive-header-row .lv-archive-title {
  font-family: var(--lv-font);
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 300;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #000000;
  margin: 0 !important;
}

/* Style du conteneur de tri à droite */
.lv-archive-sort-wrapper .woocommerce-ordering {
  margin: 0 !important;
  float: none !important;
}

.lv-archive-sort-wrapper .woocommerce-ordering select {
  width: auto !important;
  min-width: 200px !important;
  padding: 8px 14px !important;
  background-color: #ffffff !important;
  border: 1px solid #cccccc !important;
  border-radius: 0 !important;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #000000 !important;
  cursor: pointer;
}

/* Cache l'ancien emplacement ou double tri si WooCommerce l'injecte ailleurs */
.woocommerce-products-header, 
.woocommerce-result-count {
  display: none !important;
}

/* Masque tout autre sélecteur de tri WooCommerce qui s'afficherait ailleurs */
.woocommerce-archive .woocommerce-ordering:not(.lv-archive-sort-wrapper .woocommerce-ordering),
.site-main > .woocommerce-ordering {
  display: none !important;
}

/* ===== BANNIÈRE PLEINE LARGEUR AU-DESSUS DU TITRE ===== */

.lv-archive-main {
  padding-top: 0 !important; /* Colle la bannière directement sous le header */
}

.lv-archive-banner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 30px 0 !important; /* Espace de 30px entre la bannière et le titre */
  padding: 0 !important;
  overflow: hidden;
}

.lv-archive-banner__img {
  width: 100% !important;
  height: auto !important;
  max-height: 400px; /* Ajuste la hauteur max si besoin (ex: 400px) */
  object-fit: cover !important;
  display: block !important;
}

/* ===== SUPPRESSION TOTALE DE L'ESPACE ENTRE LE HEADER ET L'IMAGE ===== */

/* 1. Supprime l'espace créé par le body pour le header fixe */
body.archive, 
body.category, 
body.tax-product_cat, 
.woocommerce-archive {
  padding-top: 0 !important; 
}

/* 2. Supprime toute marge ou padding en haut du conteneur principal */
.lv-archive-main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 3. Colle la bannière tout en haut, juste sous le header */
.lv-archive-banner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.lv-archive-banner__img {
  margin-top: 0 !important;
  display: block !important;
}

/* ════════════════════════════════════════
   PAGE PRODUIT UNIQUE — STYLE LV
════════════════════════════════════════ */

.lv-product-main {
  width: 100%;
  max-width: 100%;
  margin-top: 64px; /* hauteur du header */
  padding: 0;
  box-sizing: border-box;
}

/* ── LAYOUT 2 COLONNES ── */
.lv-product-layout {
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: start;
  width: 100%;
  min-height: 100vh;
}

/* ════ GALERIE GAUCHE ════ */
.lv-product-gallery {
  display: flex;
  flex-direction: column;
  gap: 4px; /* Espace minime entre les images */
  width: 100%;
}

.lv-product-gallery__item {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 5; /* Ratio portrait LV */
  background: #f5f5f5;
}

.lv-product-gallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.lv-product-gallery__item:hover .lv-product-gallery__img {
  transform: scale(1.02);
}

/* ════ COLONNE DROITE STICKY ════ */
.lv-product-info {
  position: sticky;
  top: 80px; /* Se colle juste sous le header */
  padding: 60px 48px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  box-sizing: border-box;
}

/* Badge */
.lv-product-info__badge {
  font-size: 9px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--lv-gold, #c8a96e);
}

/* Catégorie */
.lv-product-info__category {
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #888;
}

/* Titre */
.lv-product-info__title {
  font-family: var(--lv-font);
  font-size: clamp(22px, 2vw, 32px);
  font-weight: 300;
  letter-spacing: 2px;
  color: #000;
  margin: 0;
  line-height: 1.3;
}

/* Prix */
.lv-product-info__price {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1px;
  color: #000;
}

.lv-product-info__price .woocommerce-Price-amount {
  font-size: 18px;
  color: #000;
}

/* Divider */
.lv-product-info__divider {
  border: none;
  border-top: 1px solid #e8e8e8;
  margin: 0;
}

/* Description courte */
.lv-product-info__short-desc {
  font-size: 13px;
  line-height: 1.8;
  color: #444;
  letter-spacing: 0.3px;
}

/* ── BOUTON AJOUTER AU PANIER ── */
.lv-product-info__add-to-cart {
  width: 100%;
  padding: 18px 0;
  background: #000;
  color: #fff;
  border: none;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  transition: background 0.3s ease;
}

.lv-product-info__add-to-cart:hover {
  background: #333;
}

/* ── BOUTON WISHLIST ── */
.lv-product-info__wishlist {
  display: none; /* flex */
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 16px 0;
  background: transparent;
  color: #000;
  border: 1px solid #000;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  transition: background 0.3s ease, color 0.3s ease;
}

.lv-product-info__wishlist:hover {
  background: #000;
  color: #fff;
}

/* ════ ACCORDÉONS ════ */
.lv-accordions {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #e8e8e8;
}

.lv-accordion {
  border-bottom: 1px solid #e8e8e8;
}

.lv-accordion__trigger span:first-child,
.lv-accordion__trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 18px 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #000;
  text-align: left;
}

.lv-accordion__icon {
  font-size: 20px;
  font-weight: 300;
  transition: transform 0.3s ease;
  line-height: 1;
}

.lv-accordion.is-open .lv-accordion__icon {
  transform: rotate(45deg); /* + devient × */
}

.lv-accordion__content {
  display: none;
  padding: 0 0 20px;
  font-size: 13px;
  line-height: 1.8;
  color: #444;
  letter-spacing: 0.3px;
}

.lv-accordion.is-open .lv-accordion__content {
  display: block;
}

/* Attributs produit */
.lv-product-attributes {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lv-product-attributes li {
  font-size: 12px;
  letter-spacing: 0.5px;
  color: #444;
}

/* ════ RESPONSIVE ════ */
@media (max-width: 1024px) {
  .lv-product-layout {
    grid-template-columns: 1fr;
  }

  .lv-product-info {
    position: relative;
    top: 0;
    max-height: none;
    padding: 40px 24px;
  }
}


/* ===== RÉDUCTION DE LA TAILLE DES BOUTONS ET CHAMPS (COLONNE 2) ===== */

/* 1. Sélecteur de variations (Taille, Couleur, etc.) */
.lv-product-info .variations_form .variations {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 300px; /* Limite la largeur maximale */
}

.lv-product-info .variations_form select {
  width: 100% !important;
  max-width: 300px !important;
  padding: 12px 16px !important;
  background-color: #ffffff !important;
  border: 1px solid #cccccc !important;
  border-radius: 0 !important;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
}

/* 2. Quantité et Bouton Ajouter au panier sur la même ligne (Style luxe compact) */
.lv-product-info .single_add_to_cart_button,
.lv-product-info .lv-product-info__add-to-cart {
  width: auto !important;
  min-width: 250px !important;
  max-width: 350px !important;
  padding: 16px 32px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  transition: background 0.3s ease;
}

.lv-product-info .single_add_to_cart_button:hover,
.lv-product-info .lv-product-info__add-to-cart:hover {
  background: #333333 !important;
}

/* 3. Champ Quantité WooCommerce */
.lv-product-info .quantity input.qty {
  width: 70px !important;
  height: 50px !important;
  padding: 0 10px !important;
  text-align: center;
  border: 1px solid #cccccc !important;
  border-radius: 0 !important;
  font-family: var(--lv-font);
  font-size: 14px;
}

/* Conteneur global du bloc d'achat (Quantité + Bouton alignés) */
.lv-product-info form.cart {
  display: flex;
  align-items: center;
  gap: 16px; /* Espace entre la quantité et le bouton */
  flex-wrap: wrap;
  margin: 10px 0;
}

/* 4. Bouton Wishlist réduit à la même largeur */
.lv-product-info__wishlist {
  max-width: 350px !important;
  padding: 14px 24px !important;
}

/* ===== FORCER LE BLOC AJOUTER AU PANIER EN DESSOUS DES TAILLES ===== */

/* 1. Transforme le formulaire en colonne unique (tout s'empile verticalement) */
.lv-product-info .variations_form {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  gap: 24px !important; /* Espace vertical entre la taille et le bouton */
}

/* 2. Force le sélecteur de taille à occuper toute la largeur dispo (max 350px) et à passer en premier */
.lv-product-info .variations_form .variations {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 350px !important;
  order: 1 !important;
}

.lv-product-info .variations_form .variations select {
  width: 100% !important;
  max-width: 350px !important;
  padding: 12px 16px !important;
  background-color: #ffffff !important;
  border: 1px solid #cccccc !important;
  border-radius: 0 !important;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
}

/* 3. Force le conteneur du bouton d'achat (et la zone de variation WooCommerce) à passer en dessous (order: 2) */
.lv-product-info .single_variation_wrap,
.lv-product-info form.cart {
  display: flex !important;
  flex-direction: row !important; /* Quantité et bouton côte à côte */
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 350px !important;
  order: 2 !important; /* Passe obligatoirement en dessous de la taille */
  margin: 0 !important;
}

/* 4. Style du bouton Ajouter au panier */
.lv-product-info .single_add_to_cart_button {
  flex: 1 !important;
  padding: 16px 20px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  transition: background 0.3s ease;
}

.lv-product-info .single_add_to_cart_button:hover {
  background: #333333 !important;
}

/* 5. Champ Quantité */
.lv-product-info .quantity input.qty {
  width: 60px !important;
  height: 50px !important;
  text-align: center;
  border: 1px solid #cccccc !important;
  border-radius: 0 !important;
  font-family: var(--lv-font);
  font-size: 14px;
}

/* ===== DISPOSITION FINALE : TAILLE AU DESSUS / QUANTITÉ + PANIER EN DESSOUS ===== */

/* 1. Formulaire global en colonne */
.lv-product-info .variations_form {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 350px !important;
}

/* 2. Sélecteur de taille en premier (ligne du haut) */
.lv-product-info .variations_form .variations {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  order: 1 !important;
}

.lv-product-info .variations_form .variations select {
  width: 100% !important;
  padding: 12px 16px !important;
  background-color: #ffffff !important;
  border: 1px solid #cccccc !important;
  border-radius: 0 !important;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
}

/* 3. Bloc quantité + bouton en dessous (ligne du bas) */
.lv-product-info .single_variation_wrap,
.lv-product-info .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-direction: row !important; /* Quantité et bouton côte à côte */
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
  order: 2 !important; /* Passe en dessous du sélecteur de taille */
  margin: 0 !important;
}

/* 4. Quantité à gauche */
.lv-product-info .single_variation_wrap .quantity,
.lv-product-info .woocommerce-variation-add-to-cart .quantity {
  order: 1 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.lv-product-info .single_variation_wrap .quantity input.qty,
.lv-product-info .woocommerce-variation-add-to-cart .quantity input.qty {
  width: 65px !important;
  height: 50px !important;
  padding: 0 !important;
  text-align: center !important;
  border: 1px solid #cccccc !important;
  border-radius: 0 !important;
  font-family: var(--lv-font);
  font-size: 14px;
  background: #ffffff !important;
}

/* 5. Bouton Ajouter au panier à droite */
.lv-product-info .single_variation_wrap .single_add_to_cart_button,
.lv-product-info .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  order: 2 !important;
  flex: 1 !important;
  height: 50px !important;
  padding: 0 16px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  white-space: nowrap !important;
  transition: background 0.3s ease;
}

.lv-product-info .single_variation_wrap .single_add_to_cart_button:hover,
.lv-product-info .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
  background: #333333 !important;
}

/* ===== TITRE ET SÉLECTEUR DE TAILLE SUR LA MÊME LIGNE ===== */

/* 1. Le conteneur global des variations */
.lv-product-info .variations_form .variations {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 500px !important; /* Ajuste la largeur totale si besoin */
  order: 1 !important;
}

.lv-product-info .variations_form .variations table.variations {
  width: 100% !important;
}

/* 2. Aligne le label et le select en mode LIGNE (Flexbox) */
.lv-product-info .variations_form .variations tr {
  display: flex !important;
  flex-direction: row !important;  /* Côte à côte sur la même ligne */
  align-items: center !important;  /* Centré verticalement */
  justify-content: space-between !important; /* Titre à gauche, select à droite */
  gap: 20px !important;            /* Espace entre le titre et le sélecteur */
  width: 100% !important;
}

.lv-product-info .variations_form .variations th,
.lv-product-info .variations_form .variations td {
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 3. Style du texte "Taille" (Label) */
.lv-product-info .variations_form .variations label {
  font-family: var(--lv-font);
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  white-space: nowrap !important; /* Empêche le mot de se couper */
}

/* 4. Le menu déroulant garde sa belle hauteur (moitié plus grand) */
.lv-product-info .variations_form .variations select {
  flex: 1 !important;              /* Prend l'espace restant à droite */
  max-width: 320px !important;     /* Largeur max du select */
  padding: 18px 16px !important;   /* Hauteur généreuse */
  background-color: #ffffff !important;
  border: 1px solid #cccccc !important;
  border-radius: 0 !important;
  font-family: var(--lv-font);
  font-size: 12px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase;
  cursor: pointer;
}

/* ===== SUPPRESSION DES FONDS GRIS SUR LES VARIATIONS ===== */

/* 1. Force un fond blanc et supprime les bordures parasites du tableau WooCommerce */
.lv-product-info .variations_form .variations table.variations,
.lv-product-info .variations_form .variations tbody,
.lv-product-info .variations_form .variations tr,
.lv-product-info .variations_form .variations th,
.lv-product-info .variations_form .variations td {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
}

/* 2. S'assure que le conteneur du select n'a pas de fond gris appliqué par le thème */
.lv-product-info .variations_form .variations td.value {
  background: transparent !important;
  background-color: transparent !important;
}

/* 3. Force le fond blanc pur sur le menu déroulant lui-même */
.lv-product-info .variations_form .variations select {
  background-color: #ffffff !important;
  background: #ffffff !important;
}

/* ===== FORCER LE TEXTE "TAILLE" EN CAS NORMAL ===== */
.lv-product-info .variations_form .variations label {
  text-transform: none !important; /* Désactive les majuscules forcées */
}

/* ===== VERROUILLAGE TOTAL DE LA LIGNE QUANTITÉ + BOUTON ===== */

/* 1. Conteneur parent qui englobe tout le formulaire d'achat */
.lv-product-info .variations_form {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 500px !important;
  position: relative !important; /* Nécessaire pour positionner les enfants */
}

/* 2. Masque tous les éléments dynamiques que WooCommerce injecte 
      (messages de stock, description de variation, etc.) 
      qui peuvent perturber le layout */
.lv-product-info .woocommerce-variation.single_variation,
.lv-product-info .woocommerce-variation-description,
.lv-product-info .woocommerce-variation-availability {
  display: none !important; /* Cache ces éléments parasites */
}

/* 3. Verrouille la ligne Quantité + Bouton dans une position fixe et stable */
.lv-product-info .single_variation_wrap,
.lv-product-info .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 500px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  left: 0 !important;      /* Bloque le décalage horizontal */
  right: auto !important;
  transform: none !important; /* Annule toute transformation éventuelle */
  order: 2 !important;
}

/* 4. Verrouille la quantité */
.lv-product-info .single_variation_wrap .quantity,
.lv-product-info .woocommerce-variation-add-to-cart .quantity {
  order: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  position: relative !important;
  left: 0 !important;
}

/* 5. Verrouille le bouton Ajouter au panier */
.lv-product-info .single_variation_wrap .single_add_to_cart_button,
.lv-product-info .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  order: 2 !important;
  flex: 1 !important;
  height: 50px !important;
  padding: 0 16px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  white-space: nowrap !important;
  transition: background 0.3s ease;
  position: relative !important;
  left: 0 !important; /* Bloque tout décalage */
  margin: 0 !important;
}

.lv-product-info .single_variation_wrap .single_add_to_cart_button:hover,
.lv-product-info .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
  background: #333333 !important;
}

/* ===== SUPPRESSION TOTALE DE L'ESPACE SOUS LE HEADER (PAGE PRODUIT) ===== */

/* 1. Supprime l'espace global du corps ou du thème pour les pages produits */
body.single-product,
.woocommerce-product-gallery {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* 2. Colle le conteneur principal de la page produit tout en haut */
.lv-product-main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 3. Colle la grille (galerie + infos) directement sous le header */
.lv-product-layout {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 4. Supprime la marge de la première image de la galerie */
.lv-product-gallery__item:first-child {
  margin-top: 0 !important;
}

.lv-product-gallery__item:first-child img {
  margin-top: 0 !important;
  display: block !important;
}

/* 5. Supprime l'espace en haut de la colonne des informations textuelles */
.lv-product-info {
  margin-top: 0 !important;
  /* Garde ton padding intérieur (ex: padding: 60px 48px), mais enlève l'espace au-dessus */
}


/* ===== HEADER TRANSPARENT AVEC STYLE CLAIR SUR PAGE PRODUIT ===== */

body.single-product .lv-header.is-light {
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
}

/* Optionnel : Si tu veux qu'il redevienne noir et opaque quand on scrolle vers le bas */
body.single-product .lv-header.is-scrolled {
  background: var(--lv-black) !important;
  border-bottom: 1px solid #222 !important;
}

/* ===== FORCER LA COULEUR NOIRE SUR TOUS LES ÉLÉMENTS DU HEADER (PAGE PRODUIT) ===== */

/* 1. Logo (nom de la société au centre) */
body.single-product .lv-header .lv-logo,
body.single-product .lv-header .lv-logo text,
body.single-product .lv-header .lv-logo svg,
body.single-product .lv-header .lv-logo__svg text {
  color: #000000 !important;
  fill: #000000 !important;
  stroke: none !important;
}

/* 2. Icônes SVG à droite (Panier, Mon Compte, Wishlist, Search) */
body.single-product .lv-header .lv-header__right .lv-icon-btn {
  color: #000000 !important;
}

body.single-product .lv-header .lv-header__right .lv-icon-btn svg {
  stroke: #000000 !important;
  fill: none !important;
}

/* 3. Texte "MON COMPTE" ou "MY LV" à côté de l'icône compte */
body.single-product .lv-header .lv-mylv__label {
  color: #000000 !important;
}

/* 4. Bouton MENU (texte + barres hamburger) */
body.single-product .lv-header .lv-menu-trigger {
  color: #000000 !important;
}

body.single-product .lv-header .lv-menu-trigger__label {
  color: #000000 !important;
}

body.single-product .lv-header .lv-menu-trigger__icon span {
  background-color: #000000 !important;
  background: #000000 !important;
}

/* ===== QUAND ON SCROLLE VERS LE BAS : RETOUR EN BLANC ===== */

body.single-product .lv-header.is-scrolled .lv-logo,
body.single-product .lv-header.is-scrolled .lv-logo text,
body.single-product .lv-header.is-scrolled .lv-logo svg,
body.single-product .lv-header.is-scrolled .lv-logo__svg text {
  color: #ffffff !important;
  fill: #ffffff !important;
}

body.single-product .lv-header.is-scrolled .lv-header__right .lv-icon-btn svg {
  stroke: #ffffff !important;
}

body.single-product .lv-header.is-scrolled .lv-mylv__label,
body.single-product .lv-header.is-scrolled .lv-menu-trigger,
body.single-product .lv-header.is-scrolled .lv-menu-trigger__label {
  color: #ffffff !important;
}

body.single-product .lv-header.is-scrolled .lv-menu-trigger__icon span {
  background-color: #ffffff !important;
  background: #ffffff !important;
}

/* ════════════════════════════════════════
   SECTIONS PRODUITS SIMILAIRES & RÉCENTS
════════════════════════════════════════ */

/* ── SECTION COMMUNE ── */
.lv-related-section,
.lv-recent-section {
  width: 100%;
  padding: 80px 5vw;
  border-top: 1px solid #e8e8e8;
  box-sizing: border-box;
  overflow: hidden;
}

/* ── EN-TÊTE DE SECTION (Titre + Flèches) ── */
.lv-related-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}

.lv-related-title {
  font-family: var(--lv-font);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #000;
  margin: 0;
}

/* ── FLÈCHES DE NAVIGATION ── */
.lv-related-controls {
  display: flex;
  gap: 16px;
}

.lv-related-arrow {
  background: none;
  border: 1px solid #000;
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  transition: background 0.3s ease, color 0.3s ease;
}

.lv-related-arrow:hover {
  background: #000;
  color: #fff;
}

.lv-related-arrow:hover svg {
  stroke: #fff;
}

/* ── SLIDER (Track) ── */
.lv-related-track-wrapper {
  overflow: hidden;
  width: 100%;
}

.lv-related-track {
  display: flex;
  gap: 16px;
  transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  will-change: transform;
}

/* ── CARTE PRODUIT ── */
.lv-related-card {
  flex: 0 0 calc(25% - 12px); /* 4 cartes visibles */
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.lv-related-card__img-wrapper {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: #f5f5f5;
  text-decoration: none;
}

.lv-related-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.lv-related-card__img-wrapper:hover .lv-related-card__img {
  transform: scale(1.04);
}

.lv-related-card__placeholder {
  width: 100%;
  height: 100%;
  background: #eeeeee;
}

.lv-related-card__overlay {
  position: absolute;
  bottom: 0; left: 0;
  width: 100%;
  padding: 14px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  font-size: 9px;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-align: center;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.lv-related-card__img-wrapper:hover .lv-related-card__overlay {
  opacity: 1;
  transform: translateY(0);
}

.lv-related-card__info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.lv-related-card__category {
  font-size: 9px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #888;
}

.lv-related-card__title {
  font-family: var(--lv-font);
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.5px;
  color: #000;
  margin: 0;
}

.lv-related-card__title a {
  text-decoration: none;
  color: inherit;
  transition: color 0.2s;
}

.lv-related-card__title a:hover { color: #555; }

.lv-related-card__price {
  font-size: 13px;
  color: #000;
  letter-spacing: 0.5px;
}

/* ── SECTION VIDE (Consulté récemment) ── */
.lv-recent-empty {
  font-size: 12px;
  letter-spacing: 1px;
  color: #888;
  padding: 20px 0;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .lv-related-card {
    flex: 0 0 calc(50% - 8px); /* 2 cartes visibles */
  }
}

@media (max-width: 600px) {
  .lv-related-card {
    flex: 0 0 calc(80% - 8px); /* 1.2 cartes visibles */
  }
}


/* ===== INCRUSTATION D'IMAGE AU SURVOL DE LA PHOTO ===== */

/* 1. Assure-toi que le conteneur de l'image est bien en position relative */
.lv-product-card__img-wrapper,
.lv-related-card__img-wrapper {
  position: relative !important;
  overflow: hidden !important;
}

/* 2. Crée l'élément image en surimpression (masqué par défaut) */
.lv-product-card__img-wrapper::after,
.lv-related-card__img-wrapper::after {
  content: '' !important;
  position: absolute !important;
  top: 2px !important;    /* Distance par rapport au haut de la photo */
  right: 20px !important;  /* Distance par rapport à la droite de la photo */
  width: 120px !important;  /* Largeur de ton logo incrusté (ajustable) */
  height: 100px !important; /* Hauteur de ton logo */
  background-image: url('https://cantenay-store.fr/wp-content/uploads/2026/08/CSW.png') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  
  /* État initial : invisible et légèrement décalé/fondu */
  opacity: 0 !important;
  transform: scale(0.9) !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
  z-index: 5 !important;
  pointer-events: none !important;
}

/* 3. Au survol de la carte, l'image apparaît à 70% d'opacité (opacity: 0.7) */
.lv-product-card__img-wrapper:hover::after,
.lv-related-card__img-wrapper:hover::after {
  opacity: 0.8 !important; /* 85% d'opacité demandée */
  transform: scale(1) !important;
}

/* ════════════════════════════════════════
   MENU SOUS-CATÉGORIES STYLE GUCCI
════════════════════════════════════════ */

/* ── Conteneur principal ── */
.lv-subcat-nav {
  width: 100%;
  border-bottom: 1px solid #e8e8e8;
  border-top: 1px solid #e8e8e8;
  position: relative;
  background: #ffffff;
  margin-bottom: 0;
}

/* ── Liste des liens (scrollable horizontalement sur mobile) ── */
.lv-subcat-nav__inner {
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none; /* Cache la scrollbar sur Firefox */
  -ms-overflow-style: none; /* Cache la scrollbar sur IE */
  padding: 0 5vw;
}

/* Cache la scrollbar sur Chrome/Safari */
.lv-subcat-nav__inner::-webkit-scrollbar {
  display: none;
}

/* ── Liens du menu ── */
.lv-subcat-nav__link {
  display: block;
  white-space: nowrap; /* Empêche le texte de se couper */
  padding: 18px 24px;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  text-decoration: none;
  color: #888888;
  position: relative;
  transition: color 0.3s ease;
  flex-shrink: 0;
}

/* ── Underline animé sous chaque lien ── */
.lv-subcat-nav__link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  height: 2px;
  background: #000000;
  transform: scaleX(0);
  transition: transform 0.35s ease;
}

/* ── Lien actif (catégorie sélectionnée) ── */
.lv-subcat-nav__link.is-active {
  color: #000000;
}

.lv-subcat-nav__link.is-active::after {
  transform: scaleX(1);
}

/* ── Hover ── */
.lv-subcat-nav__link:hover {
  color: #000000;
}

.lv-subcat-nav__link:hover::after {
  transform: scaleX(1);
}

/* ── Dégradé à droite (indique qu'il y a plus de liens à droite) ── */
.lv-subcat-nav__fade-right {
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 100%;
  background: linear-gradient(to right, transparent, #ffffff);
  pointer-events: none;
}

/* ── Sticky : le menu reste visible lors du scroll ── */
.lv-subcat-nav.is-sticky {
  position: fixed;
  top: 64px; /* Hauteur de ton header */
  left: 0;
  width: 100%;
  z-index: 800;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

/* ── Responsive (mobile) ── */
@media (max-width: 768px) {
  .lv-subcat-nav__link {
    padding: 14px 16px;
    font-size: 10px;
    letter-spacing: 2px;
  }
}

/* ===== SUPPRESSION DE L'ESPACE ENTRE LE TRI ET LE MENU SOUS-CATÉGORIES ===== */

/* 1. Réduit l'espace en bas de la ligne du titre et du bouton de tri */
.lv-archive-header-row {
  margin-bottom: 0px !important;  /* Supprime l'espace sous la ligne */
  padding-bottom: 10px !important; /* Ajuste le padding bas si nécessaire */
}

/* 2. S'assure que le menu de sous-catégories n'a pas de marge parasite en haut */
.lv-subcat-nav {
  margin-top: 0 !important;
  border-top: none !important; /* Retire la bordure du haut du menu si elle fait doublon */
}

/* ════════════════════════════════════════
   FOOTER STYLE LOUIS VUITTON
════════════════════════════════════════ */

.lv-footer {
  width: 100%;
  background: #000000; /* Fond noir LV */
  color: #ffffff;
  font-family: var(--lv-font);
  padding: 0;
  margin-top: 80px;
}

/* ── NEWSLETTER ── */
.lv-footer__newsletter {
  padding: 64px 10vw;
  text-align: center;
  border-bottom: 1px solid #222;
}

.lv-footer__newsletter-inner {
  max-width: 500px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.lv-footer__newsletter-title {
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0;
}

.lv-footer__newsletter-subtitle {
  font-size: 13px;
  color: #888;
  line-height: 1.6;
  margin: 0;
}

.lv-footer__newsletter-form {
  display: flex;
  width: 100%;
  gap: 0;
  margin-top: 8px;
}

.lv-footer__newsletter-input {
  flex: 1;
  padding: 14px 20px;
  background: transparent;
  border: 1px solid #444;
  border-right: none;
  color: #ffffff;
  font-family: var(--lv-font);
  font-size: 12px;
  letter-spacing: 1px;
  outline: none;
}

.lv-footer__newsletter-input::placeholder {
  color: #555;
  font-size: 12px;
  letter-spacing: 1px;
}

.lv-footer__newsletter-input:focus {
  border-color: #888;
}

.lv-footer__newsletter-btn {
  padding: 14px 28px;
  background: #ffffff;
  color: #000000;
  border: 1px solid #ffffff;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  transition: background 0.3s ease, color 0.3s ease;
  white-space: nowrap;
}

.lv-footer__newsletter-btn:hover {
  background: #000000;
  color: #ffffff;
  border-color: #ffffff;
}

/* ── SÉPARATEUR ── */
.lv-footer__divider {
  height: 1px;
  background: #222;
  width: 100%;
}

/* ── 4 COLONNES ── */
.lv-footer__columns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  padding: 60px 10vw;
}

.lv-footer__col-title {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0 0 24px 0;
  font-weight: 400;
}

.lv-footer__col-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.lv-footer__col-list li a {
  font-size: 12px;
  color: #888;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: color 0.2s ease;
}

.lv-footer__col-list li a:hover {
  color: #ffffff;
}

/* Réseaux sociaux */
.lv-footer__social-link {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: #888 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.lv-footer__social-link:hover {
  color: #ffffff !important;
}

.lv-footer__social-link svg {
  flex-shrink: 0;
}

/* ── BARRE INFÉRIEURE ── */
.lv-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 10vw;
  border-top: 1px solid #222;
}

.lv-footer__copyright {
  font-size: 10px;
  letter-spacing: 1.5px;
  color: #555;
  margin: 0;
}

.lv-footer__locale-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  color: #555;
  font-family: var(--lv-font);
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  transition: color 0.2s;
}

.lv-footer__locale-btn:hover {
  color: #ffffff;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .lv-footer__columns {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 24px;
  }
}

@media (max-width: 600px) {
  .lv-footer__columns {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .lv-footer__newsletter {
    padding: 40px 6vw;
  }

  .lv-footer__newsletter-form {
    flex-direction: column;
  }

  .lv-footer__newsletter-input {
    border-right: 1px solid #444;
    border-bottom: none;
  }

  .lv-footer__newsletter-btn {
    width: 100%;
  }

  .lv-footer__bottom {
    flex-direction: column;
    gap: 16px;
    text-align: center;
    padding: 24px 6vw;
  }
}

/* ===== COPYRIGHT EN BLANC (COULEUR DES TITRES) ===== */

.lv-footer__copyright {
  font-size: 12px;
  letter-spacing: 1.5px;
  color: #ffffff !important; /* Passe du gris au blanc pur */
  margin: 0;
}

/* ════════════════════════════════════════
   SECTION PRODUITS PAGE D'ACCUEIL
════════════════════════════════════════ */

.lv-home-products {
  width: 100%;
  padding: 80px 5vw;
  box-sizing: border-box;
}

/* ── En-tête de section (Titre + Lien "Voir tout") ── */
.lv-home-products__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e8e8e8;
}

.lv-home-products__title {
  font-family: var(--lv-font);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #000;
  margin: 0;
}

.lv-home-products__link {
  font-family: var(--lv-font);
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #000;
  text-decoration: none;
  position: relative;
  padding-bottom: 2px;
}

/* Underline animé sur le lien "Voir tout" */
.lv-home-products__link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.lv-home-products__link:hover::after {
  transform: scaleX(1);
}

/* ── Bouton "Voir toute la collection" en bas ── */
.lv-home-products__footer {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}

.lv-home-products__btn {
  display: inline-block;
  padding: 18px 48px;
  background: transparent;
  border: 1px solid #000;
  color: #000;
  font-family: var(--lv-font);
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
}

.lv-home-products__btn:hover {
  background: #000;
  color: #fff;
}

/* ═══════════════════════════════════════
   BANNIÈRE PLEINE LARGEUR (entre sections)
═══════════════════════════════════════ */

.lv-home-banner {
  width: 100%;
  position: relative;
  overflow: hidden;
  max-height: 600px; /* Ajuste cette hauteur selon tes préférences */
}

.lv-home-banner__img {
  width: 100%;
  height: 600px; /* Même valeur que max-height */
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.8s ease;
}

/* Zoom subtil au survol */
.lv-home-banner:hover .lv-home-banner__img {
  transform: scale(1.02);
}

/* Léger dégradé en bas pour lisibilité du texte */
.lv-home-banner::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 100%);
  pointer-events: none;
}

/* Caption : texte et bouton par-dessus l'image */
.lv-home-banner__caption {
  position: absolute;
  bottom: 48px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.lv-home-banner__label {
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #ffffff;
}

/* Bouton "Découvrir la collection" */
.lv-home-banner__btn {
  display: inline-block;
  padding: 14px 40px;
  background: transparent;
  border: 1px solid #ffffff;
  color: #ffffff;
  font-family: var(--lv-font);
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
  white-space: nowrap;
}

.lv-home-banner__btn:hover {
  background: #ffffff;
  color: #000000;
}

/* Responsive */
@media (max-width: 768px) {
  .lv-home-banner,
  .lv-home-banner__img {
    height: 400px;
    max-height: 400px;
  }

  .lv-home-banner__caption {
    bottom: 30px;
    width: 90%;
  }
}

/* ===== GESTION DES LOGOS BLANC / NOIR ===== */

.lv-logo {
  display: block;
  text-decoration: none;
}

.lv-logo__img {
  height: 42px; /* Ajuste la hauteur de ton logo selon tes besoins */
  width: auto;
  display: block;
  transition: opacity 0.3s ease;
}

/* Par défaut : Affiche le logo BLANC, masque le NOIR */
.lv-logo__img--white {
  display: block !important;
  opacity: 1;
}

.lv-logo__img--black {
  display: none !important;
  opacity: 0;
}

/* Quand le header passe en mode CLAIR (.is-light) : Affiche le logo NOIR, masque le BLANC */
.lv-header.is-light .lv-logo__img--white {
  display: none !important;
  opacity: 0;
}

.lv-header.is-light .lv-logo__img--black {
  display: block !important;
  opacity: 1;
}

/* Quand le header est scrollé sur fond noir (.is-scrolled) : Revient au logo BLANC */
.lv-header.is-scrolled .lv-logo__img--white {
  display: block !important;
  opacity: 1;
}

.lv-header.is-scrolled .lv-logo__img--black {
  display: none !important;
  opacity: 0;
}

/* ════════════════════════════════════════
   GALERIE AU SURVOL DES CARTES PRODUITS
════════════════════════════════════════ */

/* Conteneur de la carte */
.lv-product-card__img-wrapper {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 3 / 4;
  background: #f5f5f5;
  display: block;
}

/* Lien qui wrappe la galerie */
.lv-card-gallery__link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

/* Conteneur des slides */
.lv-card-gallery {
  position: relative;
  width: 100%;
  height: 100%;
}

/* Chaque slide (image) */
.lv-card-gallery__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.lv-card-gallery__slide.is-active {
  opacity: 1;
  position: relative; /* L'image active prend la place */
}

/* Image dans chaque slide */
.lv-card-gallery__slide .lv-product-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===== FLÉCHES DE LA GALERIE (TRANSPARENTES ET AGRANDIES) ===== */

.lv-card-gallery__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  
  /* Fond totalement transparent (supprime le rectangle blanc) */
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  
  /* Taille augmentée pour accueillir les flèches agrandies */
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  
  /* Couleur des flèches en blanc (contraste fort sur les photos) avec une légère ombre portée */
  color: #ffffff;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
  
  /* Cachées par défaut */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.2s ease;
}

.lv-card-gallery__arrow--prev { left: 8px; }
.lv-card-gallery__arrow--next { right: 8px; }

/* Affichage au survol de la carte */
.lv-product-card__img-wrapper:hover .lv-card-gallery__arrow {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Effet zoom subtil au survol de la flèche */
.lv-card-gallery__arrow:hover {
  transform: translateY(-50%) scale(1.15);
}

/* Agrandissement direct du SVG de la flèche de 200% */
.lv-card-gallery__arrow svg {
  width: 32px !important;  /* Équivalent à une augmentation de 200% */
  height: 32px !important;
  stroke: #ffffff !important;
  stroke-width: 2px !important; /* Trait un peu plus épais pour le style */
}

/* ── POINTS DE NAVIGATION ── */
.lv-card-gallery__dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 10;
  /* Cachés par défaut */
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* Affichage des points au survol */
.lv-product-card__img-wrapper:hover .lv-card-gallery__dots {
  opacity: 1;
}

.lv-card-gallery__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transition: background 0.3s ease;
  cursor: pointer;
}

.lv-card-gallery__dot.is-active {
  background: #ffffff;
}

/* ════════════════════════════════════════
   BOUTON TRIER & PANNEAU DE FILTRES
════════════════════════════════════════ */

/* ── Conteneur global ── */
.lv-filter-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* ── Bouton "TRIER & FILTRER" ── */
.lv-filter-trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: 1px solid #000;
  padding: 10px 20px;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #000;
  transition: background 0.3s ease, color 0.3s ease;
}

.lv-filter-trigger:hover {
  background: #000;
  color: #fff;
}

.lv-filter-trigger:hover svg {
  stroke: #fff;
}

/* ── Fond sombre derrière le panneau ── */
.lv-filter-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.lv-filter-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

/* ── Panneau de filtres (glisse depuis la droite) ── */
.lv-filter-panel {
  position: fixed;
  top: 0;
  right: -500px; /* Caché hors écran */
  width: 420px;
  max-width: 90vw;
  height: 100vh;
  background: #ffffff;
  z-index: 1200;
  box-shadow: -4px 0 20px rgba(0,0,0,0.15);
  transition: right 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  overflow-y: auto;
  box-sizing: border-box;
}

.lv-filter-panel.is-open {
  right: 0;
}

/* ── Bouton fermeture ── */
.lv-filter-panel__close {
  position: absolute;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  cursor: pointer;
  color: #000;
  padding: 4px;
}

/* ── Contenu interne ── */
.lv-filter-panel__inner {
  padding: 60px 40px 40px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* ── Titre du panneau ── */
.lv-filter-panel__title {
  font-family: var(--lv-font);
  font-size: 13px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #000;
  font-weight: 400;
  margin: 0;
  padding-bottom: 20px;
  border-bottom: 1px solid #e8e8e8;
}

/* ── Sections (Tri, Couleur, Taille) ── */
.lv-filter-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lv-filter-section__title {
  font-family: var(--lv-font);
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #000;
  font-weight: 400;
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid #e8e8e8;
}

/* ── Boutons de tri ── */
.lv-filter-sort-options {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.lv-filter-sort-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 13px;
  letter-spacing: 0.5px;
  color: #888;
  text-align: left;
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
  transition: color 0.2s ease;
  position: relative;
}

.lv-filter-sort-btn:last-child {
  border-bottom: none;
}

.lv-filter-sort-btn.is-active,
.lv-filter-sort-btn:hover {
  color: #000;
}

.lv-filter-sort-btn.is-active::before {
  content: '✓';
  position: absolute;
  right: 0;
  font-size: 12px;
  color: #000;
}

/* ── PASTILLES DE COULEURS ── */
.lv-filter-colors {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.lv-filter-color-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.lv-filter-color-btn__pastille {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: block;
  border: 2px solid transparent;
  transition: border-color 0.2s ease, transform 0.2s ease;
  box-sizing: border-box;
}

/* Bordure pour les pastilles blanches */
.lv-filter-color-btn__pastille.is-white {
  border: 2px solid #ddd !important;
}

/* Pastille active/sélectionnée */
.lv-filter-color-btn.is-active .lv-filter-color-btn__pastille {
  border-color: #000 !important;
  transform: scale(1.2);
}

.lv-filter-color-btn__name {
  font-family: var(--lv-font);
  font-size: 9px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #888;
  transition: color 0.2s;
}

.lv-filter-color-btn.is-active .lv-filter-color-btn__name,
.lv-filter-color-btn:hover .lv-filter-color-btn__name {
  color: #000;
}

/* ── BOUTONS DE TAILLE ── */
.lv-filter-sizes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lv-filter-size-btn {
  min-width: 50px;
  height: 42px;
  padding: 0 12px;
  background: transparent;
  border: 1px solid #ddd;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #888;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.lv-filter-size-btn:hover {
  border-color: #000;
  color: #000;
}

.lv-filter-size-btn.is-active {
  background: #000;
  border-color: #000;
  color: #fff;
}

/* ── BOUTONS D'ACTION (Reset + Appliquer) ── */
.lv-filter-actions {
  display: flex;
  gap: 12px;
  padding-top: 20px;
  border-top: 1px solid #e8e8e8;
  margin-top: auto;
}

.lv-filter-reset {
  flex: 1;
  padding: 16px;
  background: transparent;
  border: 1px solid #000;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #000;
  transition: background 0.3s ease, color 0.3s ease;
}

.lv-filter-reset:hover {
  background: #f5f5f5;
}

.lv-filter-apply {
  flex: 2;
  padding: 16px;
  background: #000;
  border: 1px solid #000;
  cursor: pointer;
  font-family: var(--lv-font);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  transition: background 0.3s ease;
}

.lv-filter-apply:hover {
  background: #333;
}

/* ── Message vide ── */
.lv-filter-empty {
  font-size: 12px;
  color: #888;
  letter-spacing: 0.5px;
}

/* ── Responsive ── */
@media (max-width: 600px) {
  .lv-filter-panel {
    width: 100vw;
  }
}

/* ===== AUGMENTATION DE LA TAILLE DES POLICES (PANNEAU FILTRES) ===== */

/* 1. Boutons de tri (Nouveautés, Prix croissant, etc.) */
.lv-filter-sort-btn {
  font-size: 13px !important;     /* Augmenté (taille précédente plus petite) */
  letter-spacing: 1px !important;
  padding: 12px 0 !important;
}

/* 2. Noms sous les pastilles de couleurs */
.lv-filter-color-btn__name {
  font-size: 10px !important;     /* Légèrement agrandi pour plus de lisibilité */
  letter-spacing: 1.5px !important;
}

/* 3. Boutons de tailles (S, M, L, etc.) */
.lv-filter-size-btn {
  font-size: 12px !important;     /* Légèrement agrandi */
  letter-spacing: 1.5px !important;
}

/* 4. Boutons du bas (Réinitialiser et Voir les résultats) */
.lv-filter-reset,
.lv-filter-apply {
  font-size: 11px !important;     /* Augmenté (plus lisible) */
  letter-spacing: 2.5px !important;
  padding: 18px 16px !important;  /* Boutons un peu plus généreux en hauteur */
}

/* ===== AGRANDISSEMENT DU BOUTON PRINCIPAL "TRIER & FILTRER" ===== */

.lv-filter-trigger {
  font-size: 13px !important;      /* Taille du texte augmentée */
  letter-spacing: 2.5px !important; /* Espacement des lettres */
  padding: 12px 24px !important;   /* Bouton un peu plus généreux */
}

/* Si tu veux aussi adapter la taille de l'icône à côté */
.lv-filter-trigger svg {
  width: 16px !important;
  height: 16px !important;
}

/* ===== PAGE PANIER ===== */
/* ===== POLICE DE CARACTÈRE PAGE PANIER (identique à la page catégorie) ===== */

/* Force la police sur TOUS les éléments de la page panier */
.woocommerce-cart *,
.woocommerce-page *,
.woocommerce *,
.cart_totals *,
.woocommerce-cart-form *,
.shop_table *,
.shop_table th,
.shop_table td,
.shop_table a,
.shop_table input,
.shop_table button,
.cart_totals h2,
.cart_totals th,
.cart_totals td,
.wc-proceed-to-checkout *,
.coupon *,
.return-to-shop *,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  font-family: 'EB Garamond', Georgia, serif !important;
}

/* ===== BOUTON VALIDER LA COMMANDE (BLOCK) ===== */

.page-id-12 .wc-block-cart__submit-button,
.page-id-12 .wc-block-cart__submit-button:visited,
.page-id-12 .wc-block-cart__submit-button:hover,
.page-id-12 .wc-block-cart__submit-button:focus,
.page-id-12 .wc-block-cart__submit-button:active {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  width: 100% !important;
  padding: 18px 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}

.page-id-12 .wc-block-cart__submit-button:hover {
  background-color: #333333 !important;
  color: #ffffff !important;
}

/* Supprimer le surlignage du texte interne */
.page-id-12 .wc-block-cart__submit-button .wc-block-components-button__text {
  color: #ffffff !important;
  text-decoration: none !important;
  pointer-events: none !important;
}

/* ===== TITRE PANIER ===== */

.page-id-12 .entry-title {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 24px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  color: #000000 !important;
}

/* ===== PAGE MON COMPTE ===== */
/* ===== PAGE MON COMPTE ===== */

/* Titre */
.woocommerce-account .entry-title {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  color: #000000 !important;
}

/* Navigation onglets */
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 40px 0 !important;
  border-bottom: 1px solid #e0e0e0 !important;
}

.woocommerce-MyAccount-navigation-link a {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  color: #000000 !important;
  text-decoration: none !important;
  display: block !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #e0e0e0 !important;
  transition: letter-spacing 0.3s ease !important;
}

.woocommerce-MyAccount-navigation-link a:hover,
.woocommerce-MyAccount-navigation-link.is-active a {
  letter-spacing: 5px !important;
  color: #000000 !important;
}

/* Champs de formulaire */
.woocommerce-account .woocommerce-Input,
.woocommerce-account input.input-text {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  border: none !important;
  border-bottom: 1px solid #000000 !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  width: 100% !important;
  background: transparent !important;
  color: #000000 !important;
  outline: none !important;
  box-shadow: none !important;
}

.woocommerce-account .woocommerce-Input:focus,
.woocommerce-account input.input-text:focus {
  border-bottom: 1px solid #000000 !important;
  box-shadow: none !important;
}

/* Labels */
.woocommerce-account label {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  color: #000000 !important;
}

/* Boutons */
.woocommerce-account .woocommerce-Button,
.woocommerce-account .woocommerce-button,
.woocommerce-account button[type="submit"] {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 18px 40px !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
  box-shadow: none !important;
  width: 100% !important;
}

.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account button[type="submit"]:hover {
  background-color: #333333 !important;
  color: #ffffff !important;
}

/* Liens (mot de passe oublié, etc.) */
.woocommerce-account a {
  font-family: 'EB Garamond', Georgia, serif !important;
  color: #000000 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #000000 !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
}

.woocommerce-account a:hover {
  border-bottom-color: transparent !important;
}

/* Titres de sections (Se connecter / S'inscrire) */
.woocommerce-account .woocommerce-form h2,
.woocommerce-account h2 {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  color: #000000 !important;
  margin-bottom: 30px !important;
  border-bottom: 1px solid #e0e0e0 !important;
  padding-bottom: 15px !important;
}

/* Messages d'erreur / notices */
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  border-top: none !important;
  border-radius: 0 !important;
  background: #f5f5f5 !important;
  color: #000000 !important;
}

/* ===== LAYOUT 2 COLONNES MON COMPTE ===== */

#customer_login {
  display: flex !important;
  flex-direction: row !important;
  gap: 80px !important;
  align-items: flex-start !important;
}

#customer_login .u-column1,
#customer_login .u-column2 {
  flex: 1 !important;
  width: 50% !important;
  max-width: 50% !important;
}

/* ===== TITRE MON COMPTE ===== */

.woocommerce-account .entry-title {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 24px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  color: #000000 !important;
  margin-bottom: 40px !important;
  margin-top: 15px !important;
}

/* ===== METTRE EN GRAS TITRE SE CONNECTER SINSCRIE ===== */
#customer_login h2 {
  font-size: 18px !important;
}

/* ===== IMAGE MON COMPTE ===== */

.woocommerce-account .woocommerce {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.woocommerce-account .woocommerce::before {
  content: '' !important;
  display: block !important;
  min-width: 600px !important;
  height: 600px !important;
  background-image: url('https://cicci.fr/wp-content/uploads/2026/08/Woman-Tshirt1-1.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  flex-shrink: 0 !important;
  position: sticky !important;
  top: 120px !important;
  margin-left: -350px !important;

}

/* ===== LAYOUT MON COMPTE ===== */

.woocommerce-account .woocommerce {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 40px !important;
}

/* Colonne droite : nav en haut + contenu en dessous */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  flex: unset !important;
  width: auto !important;
  min-width: unset !important;
}

/* Wrapper nav + contenu en colonne */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  display: block !important;
}

/* Nav en ligne horizontale */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 5px 10px !important;
  list-style: none !important;
  padding: 0 0 50px 0 !important;
  margin: 0 !important;
  border-bottom: 0px solid #e0e0e0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  font-family: 'EB Garamond', serif !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #000 !important;
  text-decoration: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  border-bottom: 1px solid #000 !important;
}

}


.lv-search-page {
  min-height: 100vh;
  background: #fff;
  padding: 160px 80px 80px;
}

.lv-search-page-inner {
  max-width: 900px;
  margin: 0 auto;
}

.lv-search-label {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 13px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #999;
  margin-bottom: 24px;
}

.lv-search-bar {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #000;
  padding-bottom: 16px;
  margin-bottom: 60px;
}

.lv-search-input {
  flex: 1;
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 36px;
  border: none;
  outline: none;
  background: transparent;
  color: #000;
  letter-spacing: 0.03em;
}

.lv-search-input::placeholder {
  color: #ccc;
}

.lv-search-submit {
  background: none;
  border: none;
  cursor: pointer;
  color: #000;
  padding: 0 8px;
}

/* Grille résultats */
.lv-search-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px 24px;
}

.lv-search-product {
  text-decoration: none;
  color: #000;
}

.lv-search-product-img img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
}

.lv-search-product-info {
  padding: 12px 0 0;
}

.lv-search-product-name {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 15px;
  margin: 0 0 4px;
}

.lv-search-product-price {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 14px;
  color: #555;
}

.lv-search-no-result {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 18px;
  color: #666;
}

@media (max-width: 768px) {
  .lv-search-page {
    padding: 120px 24px 60px;
  }
  .lv-search-input {
    font-size: 24px;
  }
  .lv-search-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}




@media (max-width: 768px) {
  section.lv-home-products div.lv-archive-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2px !important;
  }
}

@media (max-width: 768px) {
  .lv-hero {
    height: auto;
    background: transparent; /* supprime le fond noir visible */
  }

  .lv-hero__media {
    width: 100%;
    line-height: 0; /* évite l'espace baseline sous l'image */
  }

  .lv-hero__img {
    width: 100%;
    height: auto;       /* l'image prend sa hauteur naturelle */
    object-fit: unset;  /* annule le cover qui forçait 100% hauteur */
  }
}v-product

@media (max-width: 768px) {
  .lv-menu-trigger__label {
    display: none;
  }
}

@media (max-width: 768px) {
  .lv-menu-trigger {
    margin-right: 12px; /* ajuste selon le rendu voulu */
  }
}
@media (max-width: 768px) {
  .lv-header__left,
  .lv-header__right {
    min-width: 60px; /* force une largeur égale des deux côtés */
  }
}
@media (max-width: 768px) {
  .lv-logo__img {
    width: 80%;    /* réduit de 50% */
    height: auto;
  }
}
@media (max-width: 768px) {
  .lv-header__right {
    gap: 4px;           /* réduit l'espace entre les boutons */
    justify-content: flex-end; /* colle tout à droite */
  }
}

@media (max-width: 768px) {
  .lv-archive-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
}

@media (max-width: 768px) {
  .lv-menu-trigger__label {
    display: none;
  }
}



.lv-hero__season {
  font-size: 22px; /* ajuste selon le rendu voulu */
}

.wpcf7-submit {
  font-size: 14px !important;
  padding: 16px 48px !important;
  letter-spacing: 2px !important;
  width: auto !important;
  display: inline-block !important;
}

@media (max-width: 768px) {
  .lv-hero__season {
    font-size: 11px !important; /* ajuste la taille selon ton souhait */
  }
}

