/* =============================
   VARIABLES / BASE
   ============================= */
:root{
  --container-width: 1260px;
  --menu-accent: #53565a;
  --menu-text:   #665344;
  --submenu-bg:  #f6f7f7;
  --submenu-bdr: #eeeeee;

  /* Boutique */
  --vh-accent: #936c33;
  --vh-accent-contrast: #fff;
  --vh-muted: #6b5a3a;
  --vh-border: #e5e5e5;
  --vh-bg-soft: #faf7f2;
  --vh-gap: 40px;
  --vh-sidebar-w: 300px;
  --vh-radius: 8px;
  --vh-container: 1240px;
}

html,body{margin:0}
body{font-family:"Roboto", Arial, sans-serif; color: #676767;}
.container{padding:0 10px}

.single-container,
.single-shop{
  max-width: var(--container-width);
  margin: 0 auto;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  position:relative;
  padding:0 10px;
}

.vh-autre__wrapper{
max-width: var(--container-width);
  margin: 0 auto;
}


.single-shop{ padding-top:120px }

/* Admin bar hidden */
#wpadminbar{display:none}

/* =============================
   HEADER & NAV
   ============================= */
#header-outer{
  position:fixed;
  top:0; left:0; right:0;
  z-index:9999;
  background:#fff;
  border-bottom:1px solid #eee;
}
#top{ overflow:visible; }

#header-outer .container{
  max-width:var(--container-width);
  margin:0 auto;
  display:flex;
  align-items:center;
  position:relative;
}

#logo{
  text-decoration:none;
  font-weight:600;
  color:var(--menu-text);
  line-height:1;
  display:flex; align-items:center;
}
#header-outer nav{ margin-left:auto; }

/* espace sous header fixe */
.site-offset{ height:64px; }

/* Menu top niveau */
#header-outer nav > ul.sf-menu{
  display:flex; align-items:center; gap:24px;
  list-style:none; margin:0; padding:0;
}
#header-outer nav > ul.sf-menu > li{ position:relative; }
#header-outer nav > ul.sf-menu > li > a{
  display:inline-block; padding:34px 10px; color:var(--menu-text); text-decoration:none;
  font:400 14px/14px "Roboto", Arial, sans-serif;
  text-transform:uppercase; letter-spacing:.5px;
}

/* DROPDOWN (non-mega) */
#header-outer nav .sf-menu li .sub-menu{
  position:absolute; left:0; top:100%;
  min-width:220px; display:none; z-index:100;
  list-style:none; margin:0; padding:8px 0;
  background:var(--submenu-bg);
  border-top:1px solid var(--submenu-bdr);
}
#header-outer nav .sf-menu li:hover > .sub-menu,
#header-outer nav .sf-menu li:focus-within > .sub-menu{ display:block; }

/* Base typo sous-menus (mega + dropdowns) */
#header-outer nav .sf-menu .sub-menu a{
  display:block; padding:8px 16px; color:var(--menu-accent); text-decoration:none;
  font:400 12px/1.4 "Roboto", Arial, sans-serif;
  letter-spacing:0; text-transform:none;
}
#header-outer nav .sf-menu a:hover,
#header-outer nav .sf-menu a:focus{ text-decoration:none!important; }

/* =============================
   MEGAMENU
   ============================= */
#header-outer nav > ul.sf-menu > li.megamenu{ position:static; }

#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu{
  position:absolute; left:50%; transform:translateX(-50%);
  width:100vw; top:100%; display:none; z-index:1000;
  background:var(--submenu-bg); border-top:1px solid var(--submenu-bdr);
  box-sizing:border-box;
  padding:24px calc((100vw - var(--container-width))/2);
}
#header-outer nav > ul.sf-menu > li.megamenu:hover > .sub-menu,
#header-outer nav > ul.sf-menu > li.megamenu:focus-within > .sub-menu,
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu:hover{
  display:flex; gap:48px;
}

#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li{
  flex:1 1 0; min-width:220px; position:static; list-style:none;
}

/* Masquer lien entête de colonne (—) */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > a{ display:none; }

/* Afficher directement les enfants comme contenu */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu{
  display:block; position:static;
  background:transparent!important; border:0!important; padding:0!important; min-width:0!important; box-shadow:none!important;
}

/* Titres de colonne */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li.menu-item-has-children > a{
  display:block; margin:0 0 2px; color:var(--menu-text); text-decoration:none;
  font:700 12px/1 "Roboto", Arial, sans-serif; text-transform:uppercase; letter-spacing:.5px;
}
/* Liste sous titre */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li.menu-item-has-children > .sub-menu{
  display:block; position:static; padding:0; border:0;
}

/* Liens feuilles */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu li > a{ padding:6px 0; }
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu li > a:hover{ text-decoration:underline; }

/* Espacements */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li{ margin-bottom:16px; }
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li:last-child{ margin-bottom:0; }
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li:not(.menu-item-has-children){ margin-bottom:2px; }

/* Empêcher les flyouts profonds */
#header-outer nav > ul.sf-menu > li.megamenu .sub-menu .sub-menu{ left:auto; top:auto; }

/* Responsive mega */
@media (max-width:1024px){
  #header-outer nav > ul.sf-menu{ flex-wrap:wrap; gap:12px; }
  #header-outer nav > ul.sf-menu > li.megamenu > .sub-menu{
    position:static; transform:none; width:auto; display:none; padding:8px 0; border-top:0;
  }
  #header-outer nav > ul.sf-menu > li.megamenu:hover > .sub-menu,
  #header-outer nav > ul.sf-menu > li.megamenu:focus-within > .sub-menu{ display:block; }
  #header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li{ min-width:0; }
}

/* =============================
   HEADER ICONS
   ============================= */
.vh-header-icons{
  display:flex; align-items:center; gap:14px; list-style:none; margin:0; padding:0;
}
.vh-header-icons .vh-icon-link{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; color:#000; text-decoration:none; position:relative;
}
.vh-header-icons .vh-icon-link svg{ width:24px; height:24px; display:block; pointer-events:none; }
.vh-header-icons .vh-icon-link:hover{ opacity:.8; }
.vh-header-icons .vh-cart-link{ position:relative; }
.vh-header-icons .vh-cart-badge{
  font-family:"Roboto";
  position:absolute; top:-6px; right:-6px; min-width:20px; height:20px;
  border-radius:999px; background:#000; color:#fff;
  font-size:12px; line-height:20px; font-weight:600; text-align:center;
}
.vh-header-icons .screen-reader-text{
  position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0;
}

/* Combo nav + icons */
.header-nav-and-icons{ display:flex; align-items:center; justify-content:space-between; }
.header-nav-and-icons .header-right{ display:flex; align-items:center; gap:40px; min-width:0; }
.header-nav-and-icons .header-right nav{ flex:1 1 auto; min-width:0; }
.header-nav-and-icons .header-right .vh-header-icons{ margin-left:auto; }
.header-nav-and-icons .sf-menu{ display:flex; flex-wrap:wrap; gap:14px; }
.header-nav-and-icons .sf-menu > li { position:relative; }
@media (max-width:900px){
  .header-nav-and-icons .header-right{ gap:12px; }
  .vh-header-icons{ gap:10px; }
}





/* =============================
   HEADER & NAV (DESKTOP)
   ============================= */

#header-outer{
  position:fixed;
  top:0; left:0; right:0;
  z-index:9999;
  background:#fff;
  border-bottom:1px solid #eee;
}
#top{ overflow:visible; }

#header-outer .container{
  max-width:var(--container-width);
  margin:0 auto;
  display:flex;
  align-items:center;
  position:relative;
}

#logo{
  text-decoration:none;
  font-weight:600;
  color:var(--menu-text);
  line-height:1;
  display:flex;
  align-items:center;
}
#header-outer nav{ margin-left:auto; }

/* espace sous header fixe */
.site-offset{ height:64px; }

/* Menu top niveau */
#header-outer nav > ul.sf-menu{
  display:flex;
  align-items:center;
  gap:24px;
  list-style:none;
  margin:0;
  padding:0;
}
#header-outer nav > ul.sf-menu > li{ position:relative; }
#header-outer nav > ul.sf-menu > li > a{
  display:inline-block;
  padding:34px 10px;
  color:var(--menu-text);
  text-decoration:none;
  font:400 12px/12px "Roboto", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.5px;
}

/* DROPDOWN (non-mega) */
#header-outer nav .sf-menu li .sub-menu{
  position:absolute;
  left:0;
  top:100%;
  min-width:220px;
  display:none;
  z-index:100;
  list-style:none;
  margin:0;
  padding:8px 0;
  background:var(--submenu-bg);
  border-top:1px solid var(--submenu-bdr);
}
#header-outer nav .sf-menu li:hover > .sub-menu,
#header-outer nav .sf-menu li:focus-within > .sub-menu{
  display:block;
}

/* Base typo sous-menus (mega + dropdowns) */
#header-outer nav .sf-menu .sub-menu a{
  display:block;
  padding:8px 16px;
  color:var(--menu-accent);
  text-decoration:none;
  font:400 12px/1.4 "Roboto", Arial, sans-serif;
  letter-spacing:0;
  text-transform:none;
}
#header-outer nav .sf-menu a:hover,
#header-outer nav .sf-menu a:focus{
  text-decoration:none!important;
}

/* =============================
   MEGAMENU (DESKTOP)
   ============================= */

#header-outer nav > ul.sf-menu > li.megamenu{ position:static; }

#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:100vw;
  top:100%;
  display:none;
  z-index:1000;
  background:var(--submenu-bg);
  border-top:1px solid var(--submenu-bdr);
  box-sizing:border-box;
  padding:24px calc((100vw - var(--container-width))/2);
}
#header-outer nav > ul.sf-menu > li.megamenu:hover > .sub-menu,
#header-outer nav > ul.sf-menu > li.megamenu:focus-within > .sub-menu,
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu:hover{
  display:flex;
  gap:48px;
}

#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li{
  flex:1 1 0;
  min-width:220px;
  position:static;
  list-style:none;
}

/* Masquer lien entête de colonne (—) */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > a{
  display:none;
}

/* Afficher directement les enfants comme contenu */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu{
  display:block;
  position:static!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  min-width:0!important;
  box-shadow:none!important;
}

/* Titres de colonne */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li.menu-item-has-children > a{
  display:block;
  margin:0 0 2px;
  color:var(--menu-text);
  text-decoration:none;
  font:700 12px/1 "Roboto", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.5px;
}

/* Liste sous titre */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li.menu-item-has-children > .sub-menu{
  display:block;
  position:static!important;
  padding:0!important;
  border:0!important;
}

/* Liens feuilles */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu li > a{
  padding:6px 0;
}
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu li > a:hover{
  text-decoration:underline;
}

/* Espacements */
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li{
  margin-bottom:16px;
}
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li:last-child{
  margin-bottom:0;
}
#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li:not(.menu-item-has-children){
  margin-bottom:2px;
}

/* Empêcher les flyouts profonds */
#header-outer nav > ul.sf-menu > li.megamenu .sub-menu .sub-menu{
  left:auto;
  top:auto;
}

/* Responsive mega (tablettes paysages, mais AVANT le vrai mobile burger) */
@media (max-width:1024px){
  #header-outer nav > ul.sf-menu{
    flex-wrap:wrap;
    gap:12px;
  }
  #header-outer nav > ul.sf-menu > li.megamenu > .sub-menu{
    position:static;
    transform:none;
    width:auto;
    display:none;
    padding:8px 0;
    border-top:0;
  }
  #header-outer nav > ul.sf-menu > li.megamenu:hover > .sub-menu,
  #header-outer nav > ul.sf-menu > li.megamenu:focus-within > .sub-menu{
    display:block;
  }
  #header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li{
    min-width:0;
  }
}

/* =============================
   HEADER ICONS
   ============================= */

.vh-header-icons{
  display:flex;
  align-items:center;
  gap:14px;
  list-style:none;
  margin:0;
  padding:0;
}
.vh-header-icons .vh-icon-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  color:#000;
  text-decoration:none;
  position:relative;
}
.vh-header-icons .vh-icon-link svg{
  width:24px;
  height:24px;
  display:block;
  pointer-events:none;
}
.vh-header-icons .vh-icon-link:hover{
  opacity:.8;
}
.vh-header-icons .vh-cart-link{ position:relative; }
.vh-header-icons .vh-cart-badge{
  font-family:"Roboto";
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:20px;
  height:20px;
  border-radius:999px;
  background:#000;
  color:#fff;
  font-size:12px;
  line-height:20px;
  font-weight:600;
  text-align:center;
}
.vh-header-icons .screen-reader-text{
  position:absolute!important;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

/* Combo nav + icons */
.header-nav-and-icons{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.header-nav-and-icons .header-right{
  display:flex;
  align-items:center;
  gap:40px;
  min-width:0;
}
.header-nav-and-icons .header-right nav{
  flex:1 1 auto;
  min-width:0;
}
.header-nav-and-icons .header-right .vh-header-icons{
  margin-left:auto;
}
.header-nav-and-icons .sf-menu{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.header-nav-and-icons .sf-menu > li{
  position:relative;
}

@media (max-width:900px){
  .header-nav-and-icons .header-right{
    gap:12px;
  }
  .vh-header-icons{
    gap:10px;
  }
}

/* =============================
   BURGER (base)
   ============================= */

/* Checkbox cachée */
.vh-menu-toggle{
  position:absolute;
  left:-9999px;
}

/* Icône burger (3 barres) */
.vh-burger{
  display:none;              /* visible seulement en mobile (<1160px) */
  position:relative;
  width:26px;
  height:18px;
  cursor:pointer;
}

.vh-burger span{
  position:absolute;
  left:0;
  height:2px;
  border-radius:999px;
  background:#000;
  width:100%;
  transition:
    transform .25s ease,
    opacity .25s ease,
    width .25s ease;
  transform-origin:center;
}

.vh-burger span:nth-child(1){ top:0; }
.vh-burger span:nth-child(2){ top:8px; }
.vh-burger span:nth-child(3){
  top:16px;
  width:70%;   /* barre du bas plus courte */
  left:auto;
  right:0;
}









/* =============================
   BREAKPOINT MOBILE (<1160px)
   ============================= */

@media (max-width:1160px){
	
	#header-outer nav ul#menu-menu-fr li.vh-has-toggle > ul.sub-menu > li > a {
  padding-left:15px !important;
}

	
	#header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li.menu-item-has-children > a{margin:0 !important; font-size:14px !important;}

  /* petits ajustements méga pour mobile */
  #header-outer nav > ul.sf-menu > li.megamenu > .sub-menu > li > .sub-menu > li {
    margin-bottom:0;
  }

  #header-outer nav > ul.sf-menu > li > a{
    padding:18px 0 !important;
    border-bottom: 1px solid #e8e6e5;
    width:100%;
    font-size:14px !important;
  }

  #header-outer nav > ul.sf-menu > li.megamenu > .sub-menu{
    background-color:#fff;
  }

  .header-nav-and-icons{
    padding-inline:16px;
  }

  .header-nav-and-icons .header-right{
    gap:16px;
  }

  /* NAV mobile : panneau déroulant */
  #header-outer .header-right nav{
    width:100%;
    margin-left:0;
    position:fixed;
    top:64px;
    left:0;
    right:0;
    box-sizing:border-box;
    background:#fff;
    padding:24px 16px 32px;
    box-shadow:0 8px 16px rgba(0,0,0,.04);
    max-height:calc(100vh - 64px);
    overflow:auto;
    z-index:9998;
  }

  /* Nav fermé / ouvert via le burger (le <nav> doit être APRÈS .vh-menu-toggle dans le HTML) */
  .header-right .vh-menu-toggle:not(:checked) ~ nav{
    display:none;
  }
  .header-right .vh-menu-toggle:checked ~ nav{
    display:block;
  }

  /* Menu vertical */
  #header-outer nav > ul.sf-menu{
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }

  #header-outer nav > ul.sf-menu > li{
    width:100%;
  }

  /* ============================
     GESTION DES SOUS-MENUS EN MOBILE
     ============================ */

  /* Base : plus de position absolue, mais ON NE FORCE PAS display ici */
  #header-outer nav .sf-menu li > .sub-menu{
    position:static;
    min-width:0;
    background:transparent;
    border:0;
    padding:0;
    box-shadow:none;
  }

  /* Par défaut : tous les sous-menus sont cachés */
  #header-outer nav .sf-menu li > .sub-menu{
    display:none;
  }

  /* Les sous-menus des éléments SANS chevron restent visibles
     (colonnes avec le "–" et leur liste interne par ex.) */
  #header-outer nav .sf-menu li:not(.vh-has-toggle) > .sub-menu{
    display:block;
  }

  /* ===== Accordéon UNIQUEMENT sur les éléments marqués .vh-has-toggle ===== */

  /* Le <li> qui porte un chevron */
  #header-outer nav .sf-menu li.vh-has-toggle{
    position:relative;
  }

  /* Lien avec chevron (Boutique, Nos marques, FR, Peintures, etc.) */
  #header-outer nav .sf-menu li.vh-has-toggle > a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 0;
    font-size:14px;
    position:relative;
  }

  /* Top niveau un peu plus "fort" */
  #header-outer nav > ul.sf-menu > li.vh-has-toggle > a{
    font-weight:400;
  }

  /* Niveau interne (Peintures, Tapis, etc.) un peu plus petit */
  #header-outer nav .sf-menu .sub-menu li.vh-has-toggle > a{
    padding:8px 0;
    font-size:13px;
  }

  /* Chevron sur les liens .vh-has-toggle */
  #header-outer nav .sf-menu li.vh-has-toggle > a::after{
    content:'';
    position:absolute;
    right:15px;
    transform: rotate(45deg); /* flèche vers le bas */
    width:8px;
    height:8px;
    border-right:2px solid #000;
    border-bottom:2px solid #000;
    margin-left:12px;
    flex-shrink:0;
    transition:transform .25s ease;
  }

  /* Chevron tourné quand ouvert */
  #header-outer nav .sf-menu li.vh-has-toggle.is-open > a::after{
    transform: rotate(-135deg);
  }

  /* Sous-menus des éléments à chevron : cachés par défaut (ACCORDÉON) */
  #header-outer nav .sf-menu li.vh-has-toggle > .sub-menu{
    display:none !important;
    padding-left:16px;  /* indentation intérieure */
  }

  /* Quand .is-open → ça se déroule */
  #header-outer nav .sf-menu li.vh-has-toggle.is-open > .sub-menu{
    display:block !important;
  }

  /* Liens à l’intérieur de ces sous-menus */
  #header-outer nav .sf-menu li.vh-has-toggle > .sub-menu a{
    display:block;
    padding:6px 0;
    font-size:14px;
	font-weight:400 !important;
	text-transform:uppercase;
	color: var(--menu-text) !important;
	line-height: 25px !important;
  }

  /* Mega menu simplifié (plus de colonnes complexes en mobile) */
  #header-outer nav > ul.sf-menu > li.megamenu > .sub-menu{
    padding-left:16px;
  }

  /* Icône burger visible en mobile */
  .vh-burger{
    display:block;
  }

  /* Animation burger → croix */
  .header-right .vh-menu-toggle:checked ~ .vh-burger span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }
  .header-right .vh-menu-toggle:checked ~ .vh-burger span:nth-child(2){
    opacity:0;
  }
  .header-right .vh-menu-toggle:checked ~ .vh-burger span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
    width:100%;
    left:0;
    right:auto;
  }
}

/* =============================
   DESKTOP ONLY
   ============================= */

/* Pas de chevrons visuels sur desktop */
@media (min-width:1161px){
  #header-outer nav .sf-menu li.vh-has-toggle > a::after{
    content:none;
  }

  /* Burger caché en desktop */
  .vh-burger{
    display:none;
  }
}













/* =============================
   HERO
   ============================= */
.vh-hero,
.vh-autre .vh-hero{
  position:relative; height:400px; width:100%;
  display:flex; align-items:center; justify-content:center;
  background:#333; overflow:hidden; margin-top:45px;
}
.vh-single .vh-hero{ height:550px; }
.vh-hero__media{ position:absolute; inset:0; z-index:0; }
.vh-hero__img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center bottom; opacity:.7;
}
.vh-single .vh-hero .vh-hero__img{ object-position:center center; }
.vh-hero__inner{ position:relative; width:min(100%,var(--container-width)); margin:0 auto; padding:0 20px; text-align:center; z-index:2; }
.vh-hero__title{
  margin:0; color:#fff; font-family:"Cormorant Garamond", serif;
  font-weight:600; font-size:30px; line-height:12px; letter-spacing:.15px;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.vh-hero__date{ font:300 14px/1 "Roboto"; letter-spacing:.5px; color:#fff; display:block; margin-top:20px; }
@media (max-width:768px){ .vh-hero{ height:320px; } }

/* =============================
   PORTFOLIO / BLOG TEXT / GALLERY
   ============================= */
.vh-portfolio{ width:min(100%,var(--container-width)); margin:40px auto; --vh-gap:10px; padding:0 10px; }
.vh-grid{ position:relative; }
.vh-card{ position:absolute; border-radius:0; overflow:hidden; will-change:transform,height; }
.vh-card__link{ display:block; position:relative; text-decoration:none; color:inherit; overflow:hidden; }
.vh-card__media{ display:block; width:100%; height:auto; transition:transform .35s ease; }
.vh-card__link::before{ content:""; position:absolute; inset:0; background:rgba(0,0,0,0); transition:background .25s ease; z-index:2; }
.vh-card__link:hover .vh-card__media, .vh-card__link:focus .vh-card__media{ transform:scale(1.03); }
.vh-card__link:hover::before, .vh-card__link:focus::before{ background:rgba(0,0,0,.35); }
.vh-card__overlay{ position:absolute; left:0; right:0; bottom:0; z-index:3; padding:40px 30px; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.vh-card__title{
  margin:0; color:#fff; font-family:"Cormorant Garamond", serif;
  letter-spacing:.15px; font-size:30px; line-height:30px; font-weight:700;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.vh-card__arrow{ width:28px; height:28px; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; transition:transform .25s ease, opacity .25s ease; color:#fff; opacity:0; transform:translateX(-5px); }
.vh-card__arrow svg{ display:block; width:100%; height:100%; }
.vh-card__link:hover .vh-card__arrow, .vh-card__link:focus .vh-card__arrow{ transform:translateX(5px); opacity:1; }
.vh-card__link::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:42%;
  background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0)); pointer-events:none; z-index:1; transition:opacity .25s ease; opacity:1;
}

/* Texte / blog */
.vh-subtitle{ margin:80px auto 16px; color:#000; font:700 30px/30px "Cormorant Garamond", serif; letter-spacing:.15px; max-width:800px; text-align:center; }
.vh-bloc{ margin-bottom:10px; }
.vh-bloc__text{ font:400 16px/1.6 "Roboto", Arial, sans-serif; color:#333; max-width:800px; text-align:center; margin:60px auto; }
.vh-bloc__text p{ margin:0 0 1em; }
.vh-bloc__text ul, .vh-bloc__text ol{ margin:0 0 1em 1.25em; }
.vh-bloc__text strong{ font-weight:700; }

/* Gallerie (dédupliquée) */
.vh-bloc__gallery{ display:grid; gap:10px; grid-template-columns:repeat(3,1fr); }
.vh-bloc__gallery.has-4-cols{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1024px){ .vh-bloc__gallery, .vh-bloc__gallery.has-4-cols{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .vh-bloc__gallery, .vh-bloc__gallery.has-4-cols{ grid-template-columns:1fr; } }

.vh-bloc__item{ aspect-ratio:1/1; position:relative; overflow:hidden; display:block; }
.vh-bloc__thumb{ position:relative; display:block; width:100%; height:100%; overflow:hidden; }
.vh-bloc__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform .35s ease; }
.vh-bloc__thumb::before{ content:""; position:absolute; inset:0; background:rgba(0,0,0,0); transition:background .25s ease; z-index:1; }
.vh-bloc__thumb::after{
  content:""; position:absolute; inset:0; margin:auto; width:32px; height:32px; z-index:2;
  opacity:0; transform:scale(.95); transition:opacity .2s ease, transform .2s ease;
  background:no-repeat center/100% 100%;
  background-image:url("data:image/svg+xml;utf8,<svg width='32' height='32' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M12 5v14M5 12h14' stroke='white' stroke-width='2' stroke-linecap='round'/></svg>");
}
.vh-bloc__thumb:hover::before, .vh-bloc__thumb:focus::before{ background:rgba(0,0,0,.35); }
.vh-bloc__thumb:hover::after, .vh-bloc__thumb:focus::after{ opacity:1; transform:scale(1); }
.vh-bloc__thumb:hover .vh-bloc__img, .vh-bloc__thumb:focus .vh-bloc__img{ transform:scale(1.03); }

/* Blockquote / captions */
blockquote{ margin:0; }
blockquote p{
  font:300 22px/30px 'Open Sans', sans-serif !important;
  letter-spacing:.5px !important; margin:0 0 30px !important;
}
.alignleft{ float:left; margin-right:15px; }
.alignright{ float:right; margin-left:15px; }
.aligncenter{ text-align:center; margin:0 auto; display:block; }
.wp-caption-text{ padding:10px 15px; top:-40px; position:relative; border-left:4px solid #000; }
.wp-caption .wp-caption-text{
  max-width:90%; width:auto; margin:0 0 5px 5%;
  display:inline-block; background:#fff; box-shadow:0 10px 35px rgba(0,0,0,.1);
}

.wp-singular .vh-blog .vh-autre__wrapper{padding:80px 10px;}
.vh-blog p, .vh-blog ul{
  line-height:1.5; font-family:Roboto, Arial, sans-serif; letter-spacing:.2px; font-size:14px; color:#676767;
}
.vh-blog ul{ margin-left:0; margin-bottom:30px; }
.vh-blog h4{ font:400 18px/32px Roboto, Arial, sans-serif; margin-bottom:7px; }
.sharing-default-minimal{ display:none; }
.sr-only{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* =============================
   INSPIRATION LIST + SIDEBAR
   ============================= */
.vh-inspiration__wrapper{ display:flex; gap:40px; max-width:var(--container-width); margin:0 auto; padding:80px 20px; }
.vh-inspiration__content{ display:grid; grid-template-columns:repeat(2,1fr); gap:40px; flex:1; }
.vh-inspiration__article{ background:#fff; border:1px solid #f1f1f1; display:flex; flex-direction:column; }
.vh-inspiration__thumb{ overflow:hidden; }
.vh-inspiration__thumb img{ width:100%; height:auto; display:block; transition:transform .4s ease; }
.vh-inspiration__thumb:hover img{ transform:scale(1.05); }
.vh-inspiration__meta{ padding:30px; }
.vh-inspiration__date{
  font:500 13px/1 "Roboto"; text-transform:uppercase; letter-spacing:.5px; color:#9a7541; margin-top:10px; display:block; text-align:left;
}
.vh-inspiration__title{
  font:700 30px/30px "Cormorant Garamond", serif; letter-spacing:.15px; color:#9a7541; margin:10px 0 0; text-align:left;
}
.vh-inspiration__title a{ text-decoration:none; color:inherit; }
.vh-inspiration__excerpt{ color:#53565a; line-height:1.6; font:300 14px "Roboto"; text-align:left;}
.vh-inspiration__sidebar{ width:250px; flex-shrink:0; }
.vh-inspiration__sidebar h4{
  font:500 14px/1 'Roboto'; text-transform:uppercase; margin-bottom:12px; letter-spacing:1px; color:#9a7541;
}
.vh-inspiration__recent-posts{ list-style:none; padding:0; margin:0; }
.vh-inspiration__recent-posts li{ margin-bottom:10px; font:400 14px/1 'Roboto'; color:#53565a; }
.vh-inspiration__recent-posts li a{ color:#53565a; text-decoration:none; transition:color .3s ease; }
.vh-inspiration__recent-posts li a:hover{ color:#9a7541; }
@media (max-width:1140px){
  .vh-inspiration__wrapper{ flex-direction:column; }
  .vh-inspiration__sidebar{ width:100%; margin-top:40px; }
}
@media (max-width:768px){ .vh-inspiration__content{ grid-template-columns:1fr; } }

/* =============================
   LOGOS GRID
   ============================= */
.vh-logos{ margin:40px auto; padding:0; max-width:800px; }
.vh-logos__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.vh-logos__item{ aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.vh-logos__item img{ max-width:85%; max-height:85%; object-fit:contain; }
@media (max-width:1024px){ .vh-logos__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .vh-logos__grid{ grid-template-columns:repeat(2,1fr); } }

/* =============================
   FOOTER
   ============================= */
.vh-footer{
  background:#faf8f5; font-size:14px; border-top:1px solid #9a7541;
  font-family:'Roboto',sans-serif; color:#53565a;
}
.vh-footer__widgets{
  display:grid; grid-template-columns:repeat(4,1fr); gap:30px;
  max-width:var(--container-width); margin:0 auto; padding:40px 20px;
}
.vh-footer__col{ display:flex; flex-direction:column; }
.vh-footer h4{
  font:500 14px/1 'Roboto'; text-transform:uppercase; margin-bottom:7px!important; letter-spacing:1px; color:#9a7541;
}
.vh-footer p{
  font:400 14px/1.6 'Roboto'; letter-spacing:.2px; color:#53565a; margin:0 0 5px;
}
.vh-footer a{ color:#53565a; text-decoration:none; font:400 14px 'Roboto'; opacity:1; }
.vh-footer__col:last-child p a{ color:#9a7541; text-decoration:underline; }
.vh-footer a:hover{ text-decoration:none; opacity:.65; }
.vh-footer img{ max-width:100%; height:auto; display:block; }
.vh-footer ul{ list-style:none; padding:0; margin:0; display:flex; gap:10px; }
.vh-footer ul li img{ width:20px; height:auto; }
@media (max-width:1024px){ .vh-footer__widgets{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .vh-footer__widgets{ grid-template-columns:1fr; } }

/* Copyright (dédupliqué) */
.vh-footer__copyright{
  background:#9a7541; color:#fff;
  font:400 14px 'Roboto',sans-serif; text-align:center;
  padding:18px 15px; line-height:1.5; letter-spacing:.2px;
}
.vh-footer__copyright p{ margin:0; color:#fff; font:400 14px 'Roboto',sans-serif; text-align:center; }
.vh-footer__copyright__container{
  display:flex; justify-content:space-between; align-items:center;
  max-width:var(--container-width); margin:0 auto; padding:0 20px; flex-wrap:wrap; gap:20px;
}
.vh-footer__copyright__left p{ margin:0; font-size:14px; font-weight:400; }
.vh-footer__copyright__right{ display:flex; justify-content:flex-end; align-items:center; }
.vh-footer__social{ list-style:none; padding:0; margin:0; display:flex; gap:15px; }
.vh-footer__social li a img{ width:20px; height:auto; }
@media (max-width:768px){ .vh-footer__copyright{ font-size:13px; padding:20px 10px; } }


/* =============================
   A PROPOS / PRESTATIONS / FARROW
   ============================= */
.page-template-template-a-propos .vh-hero__img{ object-position:center center!important; }

#portrait-vanina{ max-width:var(--container-width); margin:0 auto; padding:80px 0; }

#portrait-vanina::after{
  content:"";
  display:block;
  clear:both; 
}
.main-content img{ max-width:100%; height:auto; display:block; }
#portrait-vanina .photo-portrait, #farrow-ball .photo{ width:100%; padding:0 30px; }
@media (min-width:1140px){
  #portrait-vanina .photo-portrait, #farrow-ball .photo{ width:42%; float:left; }
}
#portrait-vanina .texte-portrait{ width:100%; padding:0 30px; margin-top:30px;}
#portrait-vanina p{ font:400 14px/1.6 'Roboto'; }
#portrait-vanina h1{
  font:400 15px/15px Roboto; text-transform:uppercase; letter-spacing:1.5px; color:#9a7541;
}
#portrait-vanina h2{
  font:600 30px/30px 'Cormorant Garamond', serif; letter-spacing:.15px; margin-top:0;
}
@media (min-width:1140px){
  #portrait-vanina .texte-portrait{ width:48%; float:right; margin-top:0; }
}

#les-prestations{ background:#faf8f5; padding:80px 20px; clear: both;   }
#les-prestations .wrapper{ max-width:var(--container-width); margin:0 auto; }
#les-prestations header{ text-align:center; margin-bottom:60px; }
#les-prestations header h1{
  font:400 15px/1 'Roboto'; text-transform:uppercase; letter-spacing:.5px; color:#9a7541; margin-bottom:5px;
}
#les-prestations header h2{
  font:600 30px/1 'Cormorant Garamond', serif; color:#2e3a4b; margin:0;
}
/* Grille */
#les-prestations .liste-prestations{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(350px, 1fr)); gap:20px;
}
/* Carte */
#les-prestations article{ padding:20px; text-align:center; }
#les-prestations article img{ width:50px; height:60px; object-fit:contain; display:block; margin:0 auto; }
#les-prestations article h3{
  font:500 14px/1 'Roboto'; text-transform:uppercase; letter-spacing:1px; color:#2e3a4b; margin-bottom:10px;
}
#les-prestations article p{
  font:400 14px/1.6 'Roboto'; color:#9a7500; font-style:italic; margin-bottom:15px;
}
#les-prestations article a{
  font:500 14px/1 'Roboto'; color:#9a7541; text-decoration:none; transition:.2s;
}
#les-prestations article a:hover{ color:#2e3a4b; }
@media (max-width:768px){
  #les-prestations{ padding:60px 20px; }
  #les-prestations header h2{ font-size:28px; }
}

#farrow-ball{ max-width:var(--container-width); margin:0 auto; padding:80px 0; }
#farrow-ball::after{
  content:"";
  display:block;
  clear:both; 
}
#farrow-ball h1{
  font:400 15px/15px Roboto; text-transform:uppercase; letter-spacing:1.5px; color:#9a7541;
}

/* =============================
   BOUTONS UNIFIÉS
   ============================= */
.bouton, input[type="submit"], a.btn, .btn, a.vh-btn-reset-all, .vh-btn-reset-all{
  display:inline-block;
  font-family:'Roboto'!important; font-weight:300!important; font-size:14px!important;
  padding:12px 50px!important; border:1px solid #9a7541!important; border-radius:6px!important;
  background:#9a7541!important; color:#fff!important; text-decoration:none!important; transition:all .3s!important; line-height:1!important; cursor:pointer;
}
.bouton:hover, input[type="submit"]:hover,
a.btn:hover, a.btn:focus,
.btn:hover, .btn:focus,
a.vh-btn-reset-all:hover, a.vh-btn-reset-all:focus,
.vh-btn-reset-all:hover, .vh-btn-reset-all:focus{
  background:#fff!important; color:#9a7541!important; border-color:#9a7541!important;
}

.vh-btn-reset-all{margin-bottom:20px;}

/* =============================
   SOCIAL + NEWSLETTER + GALERIE SHOWROOM
   ============================= */
#social-network{ padding:80px 0; text-align:center; }
#social-network h2{
  font:600 30px/30px "Cormorant Garamond"; letter-spacing:.15px; margin:0 0 7px;
}
#social-network .wrapper{ max-width:1200px; margin:0 auto; }
#social-network ul{
  list-style:none; display:flex; margin:0 0 60px; padding:15px 0 0; justify-content:center;
}
#social-network ul li{ padding:0 10px; }
#social-network ul li a img{ width:30px; }
.newsletter p{ padding-bottom:10px; }
.newsletter{ width:70%; margin:0 auto; padding:10px 0px; }
.newsletter input[type=email]{
  width:80%; padding:10px!important; border:none!important; background:#f4f1ec!important; border-radius:5px!important;
  font:300 13px/24px 'Roboto'!important; color:#9a7541!important;
}

#galerie-showroom{ padding:80px 0 30px; text-align:center; }
#galerie-showroom h2{
  font:600 30px/30px "Cormorant Garamond"; letter-spacing:.15px; margin:0 0 50px;
}

/* Helper border */
.border{ width:300px; border:.5px solid #9a7541; margin:0 auto; }
@media (min-width:768px){ .border{ width:600px; } }
@media (min-width:1140px){ .border{ width:1000px; } }

/* =============================
   MARQUES — LISTING (cartes)
   ============================= */
#marques .wrapper{ max-width:var(--container-width); margin:0 auto; padding:80px 20px; }
#marques .liste-marques{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:30px; }
#marques .liste-marques > a{ display:block; text-decoration:none; color:inherit; outline:none; }
#marques .liste-marques article{
  height:100%; display:flex; flex-direction:column; overflow:hidden; background:#fff; transition:border-color .18s ease;
}
#marques .liste-marques > a:hover article, #marques .liste-marques > a:focus article{ border-color:#e0e0e0; }
#marques .liste-marques article header{ padding:14px 16px 0; }
#marques .liste-marques article h2{
  margin:0; font:700 30px/30px "Cormorant Garamond", serif; letter-spacing:.15px; color:#9a7541;
}
#marques .liste-marques a article figure{
  position:relative; width:100%; aspect-ratio:1/1; margin:12px 0 0;
  background-position:center; background-size:cover; background-repeat:no-repeat; overflow:hidden;
}
#marques .liste-marques article figure::before{
  content:""; position:absolute; inset:0; background:rgba(0,0,0,0);
  transition:background .25s ease; z-index:1; pointer-events:none;
}
#marques .liste-marques article figure::after{
  content:""; position:absolute; inset:0; margin:auto; width:32px; height:32px; z-index:2;
  opacity:0; transform:scale(.95); transition:opacity .2s ease, transform .2s ease;
  background:no-repeat center/100% 100%;
  pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg width='32' height='32' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M12 5v14M5 12h14' stroke='white' stroke-width='2' stroke-linecap='round'/></svg>");
}
#marques .liste-marques > a:hover article figure::before,
#marques .liste-marques > a:focus article figure::before{ background:rgba(0,0,0,.35); }
#marques .liste-marques > a:hover article figure::after,
#marques .liste-marques > a:focus article figure::after{ opacity:1; transform:scale(1); }
#marques .liste-marques article figcaption{ padding:12px 16px 0; }
#marques .liste-marques article figcaption p{
  line-height:1.5!important; font:400 14px 'Roboto'!important; letter-spacing:.2px!important; color:#676767!important; margin:0!important;
}
#marques .liste-marques article footer{ margin-top:auto; padding:12px 16px; }
#marques .liste-marques article footer span{
  font:400 15px 'Roboto'!important; color:#9a7541!important; transition:.3s!important; text-transform:uppercase; display:inline-block; line-height:1;
}
#marques .liste-marques > a:hover article footer span,
#marques .liste-marques > a:focus article footer span{ color:#000!important; }

#marques .liste-marques > a:focus-visible article figure::before{ background:rgba(0,0,0,.35); }
#marques .liste-marques > a:focus-visible article figure::after{ opacity:1; transform:scale(1); }
@media (max-width:1024px){ #marques .liste-marques{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ #marques .liste-marques{ grid-template-columns:1fr; } }

/* =============================
   MARQUE — PAGE + SIDEBAR
   ============================= */
.vh-marque__wrapper{
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start;
  max-width:var(--container-width); margin:0 auto; padding:60px 20px 80px;
}
.vh-marque__produits-full{ max-width:var(--container-width); margin:0 auto; padding:0 20px 100px; }
.vh-marque__wrapper h1{
  font:400 30px/1 'Roboto'; text-transform:uppercase; letter-spacing:1.5px; color:#9a7541; margin-bottom:30px;
}
.vh-marque__wrapper h2{
  font:600 30px/30px 'Cormorant Garamond', serif; letter-spacing:.15px;
}
.vh-marque__wrapper p{
  line-height:1.5; font:400 14px 'Roboto'; letter-spacing:.2px; color:#676767;
}
.vh-marque__wrapper p a{ color:#9a7500!important; }

/* Accordéon */
.vh-accordion{ margin:2rem 0; }
.vh-acc__item + .vh-acc__item{ border-top:1px solid rgba(0,0,0,.08); }
.vh-acc__item:first-child{ border-top:1px solid rgba(0,0,0,.08); }
.vh-acc__trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  padding:1rem 0; background:none; border:0; cursor:pointer; text-align:left; font:inherit;
}
.vh-acc__chevron{ transition:transform .25s ease; flex:0 0 auto; }
.vh-acc__trigger[aria-expanded="true"] .vh-acc__chevron{ transform:rotate(180deg); }
.vh-acc__panel{ padding:0 0 1rem; }
.vh-acc__panel .desc2-row{ margin:0; }
.vh-acc__panel .desc2-media{ margin:.5rem 0 1rem; }
.vh-acc__panel p:last-child{ margin-bottom:0; }
.vh-acc__title{
  font:500 15px/1.3 'Roboto'; color:#9a7541; text-transform:uppercase; margin:0;
}

/* Galerie 3 colonnes carrées */
.vh-grid3-squares{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px;
}
@media (max-width:900px){ .vh-grid3-squares{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:520px){ .vh-grid3-squares{ grid-template-columns:1fr; } }
.vh-grid3-squares .acf-gallery-item{
  position:relative; aspect-ratio:1/1; overflow:hidden; border-radius:0!important; margin:0;
}
.vh-grid3-squares .vh-bloc__img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Sidebar "Nos autres marques" */
.vh-marque__sidebar{ width:250px; flex-shrink:0; }
.vh-marque__sidebar h4{
  font:500 14px/1 'Roboto'; text-transform:uppercase; margin-bottom:12px; letter-spacing:1px; color:#9a7541;
}
.vh-marque__list{ list-style:none; padding:0; margin:0; }
.vh-marque__list li{ margin-bottom:10px; font:400 14px/1 'Roboto'; color:#53565a; }
.vh-marque__list li a{ color:#53565a; text-decoration:none; transition:color .3s ease; }
.vh-marque__list li a:hover{ color:#9a7541; }

@media (max-width:1140px){
  .vh-marque__wrapper{ display:block; }
  .vh-marque__sidebar{ width:100%; margin-top:40px; }
}
/* =============================
   SHOP / WOO — LAYOUT + FILTRES
   ============================= */
.vh-shop{
  display:grid; grid-template-columns:var(--vh-sidebar-w) minmax(0,1fr);
  gap:var(--vh-gap); align-items:start;
  max-width:var(--vh-container); margin:20px auto; padding:10px;
}
.vh-shop__sidebar{ position:sticky; top:92px; }
.vh-shop__content{ min-width:0; }
@media (max-width:1100px){
  .vh-shop{ grid-template-columns:1fr; }
  .vh-shop__sidebar{ position:static; top:auto; }
}

.woocommerce-breadcrumb{
  font:400 14px/1 Roboto, Arial, sans-serif; letter-spacing:.5px; text-transform:uppercase;
  color:var(--vh-muted); margin:0!important; padding-top:120px;
}
.woocommerce-breadcrumb a{ color:#9a7541!important; text-decoration:none; font-size:14px!important; margin-top: 10px !important; display: inline-block;}

.woocommerce .woocommerce-result-count{ margin:8px 0 24px; color:var(--vh-muted); }
.woocommerce .woocommerce-ordering{ margin:0 0 24px; }
.woocommerce .woocommerce-ordering select{
  border:1px solid var(--vh-border); border-radius:var(--vh-radius); padding:8px 10px; background:#fff;
}

/* Filtres sidebar */
.vh-filter-group{ margin:0 0 25px; background:#fff; overflow:hidden; }
.vh-filter-group__head{
  padding:12px 0 5px; font:400 14px 'Roboto'; text-transform:uppercase; letter-spacing:.5px; color:#9a7541;
}
.vh-filter-group__body{ padding:12px 0; }

.vh-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 16px; border-radius:6px; border:1px solid var(--vh-accent);
  background:var(--vh-accent); color:var(--vh-accent-contrast); cursor:pointer; font-weight:500;
}
.vh-btn:hover{ filter:brightness(.95); }

/* Checklist */
.vh-checklist{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.vh-checklist li{ display:flex; align-items:center; gap:10px; line-height:1.2; }
.vh-checklist input[type="checkbox"]{
  appearance:none; width:18px; height:18px; border:1px solid var(--vh-border); border-radius:2px; background:#fff; cursor:pointer; position:relative; margin:0; margin-bottom:-3px;
}
.vh-checklist input[type="checkbox"]:checked{ background:var(--vh-accent); border-color:var(--vh-accent); }
.vh-checklist input[type="checkbox"]:checked::after{
  content:""; position:absolute; left:4px; top:1px; width:5px; height:9px;
  border:2px solid var(--vh-accent-contrast); border-top:0; border-left:0; transform:rotate(45deg);
}
.vh-checklist label span{ color:#53565a; font:400 14px 'Roboto'; padding-left:5px; }
.vh-checklist li.is-disabled{ opacity:.45; }
.vh-checklist li.is-disabled input[disabled]{ cursor:not-allowed; }

/* Price range visuel */
.vh-range{ padding:0 2px 5px 0; }
.vh-range__wrap{ position:relative; height:36px; }
.vh-range-track{ position:absolute; left:4px; right:4px; top:19px; height:4px; border-radius:4px; background:#e7e7e7; }
#vh-range-fill{ position:absolute; top:19px; height:4px; background:#53565a; left:0; right:0; border-radius:4px; }
.vh-range__wrap input[type="range"]{
  position:absolute; left:0; right:0; top:8px; width:100%; background:transparent; pointer-events:none; -webkit-appearance:none;
}
.vh-range__wrap input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none; pointer-events:all; width:22px; height:22px; border-radius:50%; background:#53565a;
}
.vh-range__wrap input[type="range"]::-moz-range-thumb{
  pointer-events:all; width:22px; height:22px; border-radius:50%; background:#53565a;
}
.vh-price-footer{ display:flex; align-items:center; justify-content:space-between; margin-top:8px; }
.vh-price-values{ font-size:14px; color:var(--vh-muted); }

/* =============================
   GRID PRODUITS
   ============================= */
.vh-shop__content .woocommerce ul.products,
.vh-shop__content ul.products{
  display:grid!important; grid-template-columns:repeat(3, minmax(0,1fr))!important;
  gap:14px!important; margin:0!important; padding:0!important;
}
@media (max-width:1100px){
  .vh-shop__content .woocommerce ul.products, .vh-shop__content ul.products{ grid-template-columns:repeat(2, minmax(0,1fr))!important; }
}
@media (max-width:640px){
  .vh-shop__content .woocommerce ul.products, .vh-shop__content ul.products{ grid-template-columns:1fr!important; }
}
.vh-shop__content .woocommerce ul.products li.product,
.vh-shop__content .woocommerce-page ul.products li.product,
.vh-shop__content ul.products li.product{ float:none!important; width:auto!important; margin:0!important; padding-bottom:45px;}

.woocommerce-loop-product__title{
  font:500 16px/1.35 Roboto!important; margin:10px 0 4px !important; text-align:left;
}
ul.products li.product .price{
  padding:0 15px; font:500 14px "Roboto"!important; color:#9a7541!important; text-align:left;
}

/* Carte produit — hover image + bouton */


.woocommerce ul.products::before{display:none !important;}
ul.products li.product{
  position:relative; overflow:hidden; padding-bottom:45px !important;
}
ul.products li.product a.woocommerce-LoopProduct-link{ position:relative; display:block; }
ul.products li.product a.woocommerce-LoopProduct-link > img{ position:relative; z-index:0; display:block; }
ul.products li.product a.woocommerce-LoopProduct-link img.vh-thumb-hover{
  position:absolute; inset:0; width:100%; height:auto; object-fit:cover; opacity:0; transition:opacity .25s ease; pointer-events:none; z-index:1;
}
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .price{
  position:relative; z-index:2; background:#fff;
}
ul.products li.product:hover a.woocommerce-LoopProduct-link img.vh-thumb-hover,
ul.products li.product:focus-within a.woocommerce-LoopProduct-link img.vh-thumb-hover{ opacity:1; }

.woocommerce ul.products li.product{margin-bottom:5px;}

/* Révélation du bouton add-to-cart */
ul.products li.product a.button{
	color:#676767 !important;
  position:absolute; left:0px; right:12px; bottom:12px; z-index:3;
  display:inline-flex; justify-content:center;
  opacity:0; transform:translateY(6px);
  border:none !important;
  transition:opacity .18s ease, transform .18s ease; pointer-events:none;
  background:#fff !important;
  font-family:"Roboto"; font-size:14px; font-weight:400; padding-top:12px; padding-left:37px;
  text-align:left;
}
ul.products li.product:hover a.button,
ul.products li.product:focus-within a.button{
  opacity:1; transform:translateY(0); pointer-events:auto;
}
@media (hover:none), (pointer:coarse){
  ul.products li.product a.button{ position:static; margin-top:8px; opacity:1; transform:none; pointer-events:auto; }
  ul.products li.product{ padding-bottom:0; }
}
/* Icône sac sur le bouton */
ul.products li.product a.button::before{
  content:""; position:absolute; left:14px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; background:no-repeat center/100% 100%; opacity:.95;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><rect x='5' y='8' width='14' height='12' rx='1.8' ry='1.8' stroke='%233f4348' stroke-width='2'/><path d='M9 8 V5.2 A3 3 0 0 1 15 5.2 V8' stroke='%233f4348' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
@media (hover:none), (pointer:coarse){
  ul.products li.product a.button{ padding-left:38px; }
  ul.products li.product a.button::before{ left:12px; }
}
.woocommerce a.added_to_cart{ display:none; }

/* Titre global (override) */
.woocommerce-loop-product__title{
  font:500 15px "Roboto"!important; text-transform:uppercase; letter-spacing:.3px!important; padding:0 15px!important; color:#53565a;
}

/* Header titre page produits */
.woocommerce-products-header__title{
  font:500 20px Roboto; color:#53565a; text-transform:uppercase; letter-spacing:1.5px;
}
.vh-shop-header{
  max-width:var(--vh-container); margin:10px auto; padding:120px 10px 10px;
}
.vh-shop-subhead{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  border-bottom:1px solid #9a7541; padding:30px 0 20px;
}
.vh-shop-subhead__left, .vh-shop-subhead__right{ display:flex; align-items:center; gap:8px; }
.vh-shop-subhead__right .woocommerce-result-count{ font-family:"Roboto"; color:#665344; margin:0; font-size:.95rem; }
.vh-shop-subhead__right .woocommerce-ordering{ margin:0; }
.vh-shop-subhead__right .woocommerce-ordering select.orderby{
  font-family:"Roboto"; color:#9a7541; border:1px solid #9a7541; background:#fff;
  border-radius:6px; padding:8px 12px; line-height:1.2; min-height:40px; cursor:pointer; font-size:14px;
}
.vh-shop-subhead__right .woocommerce-ordering select.orderby option{ color:#9a7541; }
.vh-shop-subhead__right .woocommerce-ordering select.orderby:focus{
  outline:none; box-shadow:0 0 0 2px rgba(154,117,65,.15); border-color:#9a7541;
}
.vh-shop-subhead__right .woocommerce-ordering select.orderby:hover{ border-color:#9a7541; }
@media (max-width:540px){
  .vh-shop-subhead__right{ gap:8px; }
  .vh-shop-subhead__right .woocommerce-ordering select.orderby{
    min-height:38px; padding:8px 10px; font-size:.95rem;
  }
}

/* =============================
   PAGINATION Woo (carrés)
   ============================= */
.woocommerce nav.woocommerce-pagination{ margin:20px 0 70px; font-family:"Roboto"; font-weight:600; }
.woocommerce nav.woocommerce-pagination ul{ border:none; }
.woocommerce nav.woocommerce-pagination ul li{ border:none; }
.woocommerce nav.woocommerce-pagination ul.page-numbers{
  display:flex; gap:8px; align-items:center; justify-content:center; list-style:none; margin:0; padding:0;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span{
  display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center;
  border:1px solid #d9d9d9; border-radius:4px; background:#fff; color:#3f4348; text-decoration:none;
  font-weight:500; line-height:1; transition:background .18s, color .18s, border-color .18s, transform .12s; outline:none;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current{
  background:#53565a; border-color:#53565a; color:#fff;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover{
  border-color:#9a7541; color:#9a7541;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:focus{
  box-shadow:0 0 0 3px rgba(154,117,65,.18); border-color:#9a7541;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.next{ font-size:18px; }
@media (max-width:480px){
  .woocommerce nav.woocommerce-pagination ul.page-numbers li a,
  .woocommerce nav.woocommerce-pagination ul.page-numbers li span{ width:36px; height:36px; }
}
.woo-container > h1 + .woocommerce {
  margin-top: 40px;
}
/* =============================
   MINI-PANIER (dropdown header)
   ============================= */
.vh-header-icons > li{ position:relative; }
.vh-header-icons .widget_shopping_cart{
  position:absolute; top:calc(100% + 10px); right:0; width:340px; max-height:70vh; overflow:auto;
  background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:10px; box-shadow:0 20px 40px rgba(0,0,0,.15);
  z-index:9999; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .15s ease, transform .15s ease, visibility .15s; display:block!important;
}
.vh-header-icons li:hover > .widget_shopping_cart,
.vh-header-icons li:focus-within > .widget_shopping_cart{ opacity:1; visibility:visible; transform:translateY(0); }

/* Contenu mini-panier */
.vh-header-icons .widget.woocommerce.widget_shopping_cart{ display:none; overflow-x:hidden; }
.vh-header-icons .widget_shopping_cart_content{
  width:340px; max-width:90vw; background:#fafafa; border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,.12);
  padding:0; overflow:hidden; overflow-x:hidden; font-family:inherit;
}
.vh-header-icons .woocommerce-mini-cart{ list-style:none; margin:0; padding:0; }
.vh-header-icons .woocommerce-mini-cart li.woocommerce-mini-cart-item{
  font-family:"Roboto"; position:relative; box-sizing:border-box;
  padding:10px 40px 10px 95px; min-height:92px; background:#fff; border-bottom:1px solid #eee; font-size:14px;
}
.vh-header-icons .woocommerce-mini-cart li img,
.vh-header-icons .woocommerce-mini-cart li .attachment-woocommerce_thumbnail{
  position:absolute; left:12px; top:12px; bottom:12px; height:calc(100% - 24px);
  width:auto; max-height:72px; aspect-ratio:1/1; object-fit:cover; margin:0; border-radius:8px; display:block;
}
.vh-header-icons .woocommerce ul.product_list_widget li dl::before{ display:none!important; }
.vh-header-icons .woocommerce ul.product_list_widget li dl{ border-left:0!important; }

.vh-header-icons .woocommerce-mini-cart li a:not(.remove){
  display:block; margin-top:6px; font-weight:600; color:#333; text-decoration:none; overflow-wrap:anywhere; word-break:break-word;
}

/* Variations (Surface, Finition…) */
.vh-header-icons .woocommerce-mini-cart li .variation{
  margin:6px 0 4px; padding:0; font-size:12px; line-height:1.4; color:#53565a;
  display:grid; grid-template-columns:auto 1fr; column-gap:8px; row-gap:2px;
  overflow-wrap:anywhere; word-break:break-word;
}
.vh-header-icons .woocommerce-mini-cart li .variation dt,
.vh-header-icons .woocommerce-mini-cart li .variation dd{ margin:0; padding:0; }
.vh-header-icons .woocommerce-mini-cart li .variation dt{ font-weight:600; color:#9a7541; }
.vh-header-icons .woocommerce-mini-cart li .variation dd{ color:#53565a; }
.vh-header-icons .woocommerce-mini-cart li .variation dd p{ margin:0; }

.vh-header-icons .woocommerce-mini-cart li .quantity,
.vh-header-icons .woocommerce-mini-cart li .woocommerce-Price-amount{
  display:inline-block; margin-top:2px; font-family:"Roboto"; font-weight:400; font-size:14px; color:#9a7541; overflow-wrap:anywhere; word-break:break-word;
}
.vh-header-icons .woocommerce-mini-cart li .remove.remove_from_cart_button{
  position:absolute; top:8px!important; right:25px; left:auto!important; font-size:20px; line-height:1; color:#999; text-decoration:none;
}
.vh-header-icons .woocommerce-mini-cart li .remove.remove_from_cart_button:hover{ color:#111; }

/* Total + boutons */
.vh-header-icons .woocommerce-mini-cart__total.total{
  font-family:"Roboto"; margin:0; padding:18px 20px 8px; text-align:center; background:#fafafa;
  font-size:16px; font-weight:600; color:#333; border-top:1px solid #eee;
}
.vh-header-icons .woocommerce-mini-cart__buttons.buttons{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center; background:#fafafa; padding:0 12px 16px; box-sizing:border-box;
}
.vh-header-icons .woocommerce-mini-cart__buttons .button{
  font-family:"Roboto"; font-size:14px; font-weight:400; background:#4a4a4a; color:#fff;
  padding:10px 18px; border-radius:4px; text-decoration:none; border:none; box-shadow:none;
  transition:transform .06s ease, opacity .2s ease;
  min-width:0; flex:1 1 auto; text-align:center;
}
.vh-header-icons .woocommerce-mini-cart__buttons .button:hover{ opacity:.92; }
.vh-header-icons .woocommerce-mini-cart__buttons .checkout{ background:#3b3b3b; }

/* =============================
   SINGLE PRODUCT — variations form
   ============================= */
.single-product form.variations_form.cart{
  margin-top:16px; background:#fff; border-radius:8px;
}
.single-product table.variations{
  width:100%; border-collapse:separate; border-spacing:0 12px; margin:0 0 12px;
}
.single-product table.variations th.label{
  padding-right:5px; text-align:left; white-space:nowrap;
  font:400 14px "Roboto"; letter-spacing:.5px; text-transform:uppercase; color:#9a7541;
  line-height:36px !important;
}
.single-product table.variations td.value{ padding:0; }

/* Selects */
.single-product table.variations select,
.single-product .woocommerce-variation-add-to-cart .variations select{
  display:block; width:100%; min-height:40px; padding:8px 36px 8px 12px;
  font:400 14px/1.2 "Roboto"; color:#9a7541; background:#fff;
  border:1px solid #9a7541; border-radius:6px; cursor:pointer; appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239a7541' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat; background-position:right 12px center; background-size:14px 14px;
}
.single-product table.variations select:hover{ border-color:#9a7541; }
.single-product table.variations select:focus{
  outline:none; border-color:#9a7541; box-shadow:0 0 0 2px rgba(154,117,65,.15);
}
.single-product table.variations select option[value=""]{ color:#8f8f8f; }
.single-product table.variations select option:disabled{ color:#bfbfbf; }

.single-product table.variations .reset_variations{
  display:inline-block; margin-left:12px; font:400 13px "Roboto"; color:#9a7541; text-decoration:underline;
}
.single-product .single_variation_wrap{ margin-top:8px; }
.single-product .woocommerce-variation{
  margin:10px 0 14px; padding:12px; background:#faf8f5; border:1px solid #eae6df; border-radius:6px; color:#4a4035; font-size:14px;
}
.single-product .woocommerce-variation .price,
.single-product .woocommerce-variation-price .price{ font-weight:600; color:#9a7541; }


/* Ligne quantité + bouton */
.single-product .woocommerce-variation-add-to-cart.variations_button{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.single-product .cart .quantity{
  display:inline-flex; align-items:center; border:1px solid #9a7541; border-radius:6px; padding:0 8px; height:50px; background:#fff;
}
.single-product .quantity .qty{
  width:70px; height:38px; border:0; padding:0 6px; text-align:left;
  font:14px/1 "Roboto"; color:#4a4035; background:transparent; outline:none;
}







/* === Single product : "Ajouter au panier" — style unifié + plus haut === */
.single-product .single_add_to_cart_button.button,
.single-product .single_add_to_cart_button.button.alt{
  /* look commun aux autres boutons */
  font-family: 'Roboto' !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  border: 1px solid #9a7541 !important;
  background-color: #9a7541 !important;
  color: #fff !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  transition: all .3s !important;

  /* gabarit plus grand */
  min-height: 52px !important;
  padding: 16px 56px !important;     /* top/bottom 16 — left/right 56 */
}

/* Hover / focus = inversion */
.single-product .single_add_to_cart_button.button:hover,
.single-product .single_add_to_cart_button.button:focus,
.single-product .single_add_to_cart_button.button.alt:hover,
.single-product .single_add_to_cart_button.button.alt:focus{
  background-color: #fff !important;
  color: #9a7541 !important;
  border-color: #9a7541 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* État désactivé (variations non choisies) */
.single-product .single_add_to_cart_button.button.disabled,
.single-product .single_add_to_cart_button.button[disabled],
.single-product .single_add_to_cart_button.wc-variation-selection-needed{
  background-color: #d9d1c6 !important;
  border-color: #d9d1c6 !important;
  color: #fff !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* (Optionnel) icône sac comme sur les cartes produits */
.single-product .single_add_to_cart_button.button,
.single-product .single_add_to_cart_button.button.alt{
  position: relative;
  padding-left: 56px !important;      /* place pour l’icône */
}


/* Mobile : un peu moins haut pour l’équilibre */
@media (max-width: 640px){
  .single-product .single_add_to_cart_button.button,
  .single-product .single_add_to_cart_button.button.alt{
    min-height: 48px !important;
    padding: 14px 52px !important;
    font-size: 15px !important;
  }
}



.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price{
	    font-family: "Roboto" !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    color: #53565a;
    letter-spacing: 0.2px;
	    margin-bottom: 40px;
	
}

.product-summary a{color:#9a7541;}
.woocommerce-product-details__short-description{font-size: 14px;}

.product-summary .sku_wrapper{display:none !important;}
.woocommerce-product-details__short-description a{color:#9a7541;}
.woocommerce div.product form.cart .variations td{line-height:0 !important;}
.woocommerce div.product form.cart .variations{margin-bottom:0px;}
 
.variations tr{margin-top:20px;}
/* Ajouter au panier (single) */
.single-product .single_add_to_cart_button.button{
  height:40px; padding:0 18px; border-radius:6px;
  background:#9a7541; color:#fff; border:1px solid #9a7541;
  font:600 14px/40px "Roboto"; letter-spacing:.2px;
}
.single-product .single_add_to_cart_button.button:hover,
.single-product .single_add_to_cart_button.button:focus{
  background:#856338; border-color:#856338; outline:none; box-shadow:0 0 0 2px rgba(154,117,65,.15);
}
/* États désactivés */
.single-product .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button,
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button[disabled]{
  background:#d9d1c6; border-color:#d9d1c6; color:#fff; cursor:not-allowed; opacity:1;
}

/* Notices Woo */
.single-product .woocommerce-notices-wrapper .woocommerce-message,
.single-product .woocommerce-notices-wrapper .woocommerce-error,
.single-product .woocommerce-notices-wrapper .woocommerce-info{ border-radius:6px; }

/* Responsive form variations */
@media (max-width:640px){
  .single-product form.variations_form.cart{ padding:12px; }
  .single-product table.variations{ border-spacing:0px; }
  .single-product table.variations tr{
    display:grid; grid-template-columns:1fr; row-gap:6px;
  }
  .single-product table.variations th.label{ width:100%; padding-right:0; }
  .single-product .woocommerce-variation-add-to-cart.variations_button{ gap:10px; }
  .single-product .quantity .qty{ width:56px; }
}

/* Divers single */
.woocommerce-notices-wrapper{ padding-top:40px; }
.woocommerce div.product .product_title{
  color:#9a7541; font-size:23px!important; font-family:Roboto; text-transform:uppercase; letter-spacing:1.5px; font-weight:400;
}

/* Inputs number — garder les flèches */
.quantity input[type="number"]{ appearance:auto; -moz-appearance:number-input; -webkit-appearance:none; padding-right:.5rem; }
.quantity input[type="number"]::-webkit-inner-spin-button,
.quantity input[type="number"]::-webkit-outer-spin-button{ -webkit-appearance:auto; margin:0; }

/* Term description (catégories) */
.term-description{ font-family:"Roboto"; margin-bottom:60px; }
.term-description p{ font-size:14px; color:#676767; }
.term-description h2{
  font-size:16px; letter-spacing:.2px; color:#9a7541; text-transform:uppercase; font-weight:600;
}

.acf-tab-content a{color:#9a7541;}

.product-tabs h2{display:none !important;}
.woocommerce-tabs{margin-bottom:80px;}
.woocommerce-Tabs-panel{font-size:14px !important; font-family:"Roboto";}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background-color:#9a7541 !important; color:#fff;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{font-weight:400 !important; padding:5px 25px !important; background-color:#fff !important; border:1px solid #f1f1f1 !important; border-bottom: 0px !important;}
.woocommerce-Tabs-panel{border:1px solid #f1f1f1; padding:20px !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs{margin:0 !important;     padding: 0px 0px 0px 5px !important; position:inherit !important;}


.woocommerce div.product .woocommerce-tabs ul.tabs li::after, .woocommerce div.product .woocommerce-tabs ul.tabs li::before {
    display:none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:400 !important; letter-spacing:.5px;}

.related  h2{
	 font-family: Cormorant Garamond;
    letter-spacing: .15px;
	    font-size: 30px;
    line-height: 40px;
}
   .woocommerce div.product div.summary{margin-bottom:80px !important;}
   
   .woocommerce-page div.product div.images { width: 54% !important;}
   div.product div.summary {  width: 42% !important;}
   
   @media (max-width: 900px) {
  .woocommerce-page div.product div.images,
  .woocommerce-page div.product div.summary {
    width: 100% !important;
  }
}

   
   
   /* === Single product : cartouche variation (léger) === */
.single-product .single_variation{
  margin: 12px 0 16px;
  padding: 14px 16px;
  background: #faf8f5;
  border: 1px solid #eae6df;
  border-radius: 6px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  font-family: "Roboto", Arial, sans-serif;
  color: #4a4035;
}
.single-product .single_variation .woocommerce-variation-description{ margin:0; font-size:14px; line-height:1.5; }
.single-product .single_variation .woocommerce-variation-description p{ margin:0; }

/* Prix mis en avant à droite */
.single-product .single_variation .woocommerce-variation-price{ margin:0; justify-self:end; white-space:nowrap; }
.single-product .single_variation .woocommerce-variation-price .price,
.single-product .single_variation .woocommerce-variation-price .amount{
  font-weight:600 !important;
  font-size:18px !important;
  letter-spacing:.2px;
  color:#9a7541 !important;
}

/* Disponibilité si Woo en affiche (ligne sous le cartouche) */
.single-product .single_variation .woocommerce-variation-availability{
  grid-column:1 / -1;
  font-size:13px; line-height:1.5; color:#53565a; opacity:.9;
}

/* Optionnel : préfixe "Réf." avant ton code */
.single-product .single_variation .woocommerce-variation-description p::before{
  content:"Réf. ";
  color:#9a7541; font-weight:600; letter-spacing:.2px; margin-right:2px;
}

/* Mobile : empile le prix dessous */
@media (max-width:560px){
  .single-product .single_variation{ grid-template-columns:1fr; gap:8px; }
  .single-product .single_variation .woocommerce-variation-price{ justify-self:start; }
}




/********************
 * GALLERIE (main)
 ********************/
.woocommerce-product-gallery.vg-init { --vg-gap: 12px; }
.woocommerce-product-gallery.vg-init .vg-main { margin-bottom: var(--vg-gap); position: relative; }
.woocommerce-product-gallery.vg-init .vg-main-link { border: 0; background: none; padding: 0; cursor: zoom-in; width: 100%; }
.woocommerce-product-gallery.vg-init .vg-main-img { display: block; width: 100%; height: auto; border-radius: 6px; }

.woocommerce-product-gallery.vg-init .vg-strip { overflow: hidden; }
.woocommerce-product-gallery.vg-init .vg-strip-inner {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: var(--vg-gap);
  overflow-x: auto;
  padding-bottom: 4px;
  scroll-snap-type: x mandatory;
}
.woocommerce-product-gallery.vg-init .vg-thumb {
  scroll-snap-align: start;
  border: 0;
  padding: 0;
  background: none;
  cursor: pointer;
  border-radius: 6px;
  outline-offset: 2px;
}
.woocommerce-product-gallery.vg-init .vg-thumb img {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 6px;
  opacity: .8;
  transition: opacity .2s ease;
}
.woocommerce-product-gallery.vg-init .vg-thumb:hover img { opacity: 1; }
.woocommerce-product-gallery.vg-init .vg-thumb.is-active img { opacity: 1; box-shadow: 0 0 0 2px rgba(0,0,0,.2) inset; }

/********************
 * LIGHTBOX
 ********************/
/* Couche / fond */
.woocommerce-product-gallery.vg-init .vg-lightbox { position: fixed !important; inset: 0 !important; display: none; z-index: 99999 !important; }
.woocommerce-product-gallery.vg-init .vg-lightbox.is-open { display: block !important; }
.woocommerce-product-gallery.vg-init .vg-lightbox-backdrop { position: absolute !important; inset: 0 !important; background: rgba(0,0,0,.75) !important; }

/* Conteneur interne : grille en 2 lignes (image compressible + caption) */
.woocommerce-product-gallery.vg-init .vg-lightbox-content{
  position: absolute !important;
  inset: 3svh 3svw !important;           /* marges "safe" sur mobile */
  display: grid !important;
  grid-template-rows: minmax(0,1fr) auto !important; /* <- évite que la caption pousse l'image hors écran */
  place-items: center !important;
  box-sizing: border-box !important;
  max-width: 94svw !important;
  max-height: 94svh !important;          /* limite stricte à l'écran */
  overflow: hidden !important;           /* rien ne dépasse visuellement */
  margin: 0 !important;
}

/* Image : toujours contenue, jamais tronquée */
.woocommerce-product-gallery.vg-init .vg-lightbox-img{
  display: block !important;
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;        /* clé : garder l'image entière */
  border-radius: 8px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.5) !important;
}

/* Caption : défile si trop long, sans pousser l'image */
.woocommerce-product-gallery.vg-init .vg-lightbox-caption{
  margin-top: 8px !important;
  color: #fff !important;
  text-align: center !important;
  max-width: 100% !important;
  max-height: 18svh !important;          /* garde de la place pour l'image */
  overflow: auto !important;             /* scroll interne si nécessaire */
}

/* Bouton fermer toujours visible */
.woocommerce-product-gallery.vg-init .vg-lightbox-close{
  position: absolute !important; top: 8px !important; right: 10px !important;
  width: 40px !important; height: 40px !important; border-radius: 50% !important;
  border: 0 !important; cursor: pointer !important; font-size: 35px !important; line-height: 0 !important;
  background: #fff !important; color: #000 !important; opacity: .95 !important;
}

/* Empêche le scroll derrière la lightbox */
.vg-no-scroll { overflow: hidden !important; }

/* Fallback pour navigateurs sans svh/svw */
@supports not (height: 1svh) {
  .woocommerce-product-gallery.vg-init .vg-lightbox-content{
    inset: 3vh 3vw !important;
    max-width: 94vw !important;
    max-height: 94vh !important;
  }
}

/* Si barre admin WP (desktop), évite qu'elle masque le haut */
@media (min-width: 783px){
  body.admin-bar .woocommerce-product-gallery.vg-init .vg-lightbox-content{ top: calc(3svh + 32px) !important; }
}

/********************
 * Divers Woo utiles
 ********************/
/* (au cas où un style global tenterait d'imposer une hauteur fixe) */
.woocommerce div.product div.images { margin-bottom: 80px !important; }
.woocommerce-product-gallery__wrapper { height: auto !important; }


/* NAV dans la lightbox */
.woocommerce-product-gallery.vg-init .vg-lightbox-prev,
.woocommerce-product-gallery.vg-init .vg-lightbox-next{
padding: 10px 0px 15px 0px !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  border: 0 !important;
  background: rgba(255,255,255,.95) !important;
  color: #000 !important;
  font-size: 28px !important;
  line-height: 0 !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  user-select: none !important;
  z-index: 2 !important;              /* au-dessus de l'image */
  box-shadow: 0 4px 20px rgba(0,0,0,.25) !important;
}
.woocommerce-product-gallery.vg-init .vg-lightbox-prev{ left: 8px !important; }
.woocommerce-product-gallery.vg-init .vg-lightbox-next{ right: 8px !important; }

@media (hover:hover){
  .woocommerce-product-gallery.vg-init .vg-lightbox-prev:hover,
  .woocommerce-product-gallery.vg-init .vg-lightbox-next:hover{
    background: #fff !important;
  }
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb{
  font-size:14px !important;
}

nav.woocommerce-breadcrumb a:not(:first-of-type)::before{
  content:"›";
  margin:0px 9px 0px 5px;
  color:#999;
}
nav.woocommerce-breadcrumb a:last-of-type::before{
  content:none !important;
  margin:0 !important;
}

.section-products-home{padding:60px 10px; background: #f6f7f7;}
.section-products-home .columns-4 {  max-width: var(--container-width);
  margin: 0 auto;}
.product{background-color:#fff;}

.section-intro-home{ max-width: var(--container-width);
  margin: 0 auto;
  padding: 60px 10px;
  }
  
 




 /* Bloc hero : image gauche / texte droite */


.section-intro-home .hero-inner {
    max-width: var(--container-width);
  margin: 0 auto;
    display: flex;
    align-items: center;
}

/* Colonnes */
.section-intro-home .hero-image {
    flex: 0 0 40%;
}

.section-intro-home .hero-text {
    flex: 1;
	text-align:center;
	padding:20px 80px 80px 60px;
}

.section-intro-home .gallery-caption{display:none;}
#gallery-1 img {border: none !important;}


/* Image responsive */
.section-intro-home .hero-image img {
    width: 100%;
    height: auto;
    display: block;
}
.home-btn .btn{display:inline-block; margin:10px;}
/* On neutralise le style de la galerie WP à l'intérieur du hero */
.section-intro-home #gallery-1 .gallery-item {
    float: none;
    margin-top: 0;
    width: auto;
    text-align: left;
}

/* Responsive : on repasse l'un sous l'autre */
@media (max-width: 768px) {
    .section-intro-home .hero-inner {
        flex-direction: column;
    }

    .section-intro-home .hero-image,
    .section-intro-home .hero-text {
        flex: 0 0 100%;
    }
	.section-intro-home .hero-text {
	padding:0px;
}
	
	
}

.section-intro-home h2, .section-highlight h2, .section-products-home h2, .section-favorites h2, .section-news h2, .section-partners h2
{
    font-family: Cormorant Garamond;
    letter-spacing: .15px;
    font-size: 30px;
    line-height: 30px;
    font-weight: 600;	
	    margin-top: 0px;
}

.section-products-home h2, .section-favorites h2, .section-news h2, .section-partners h2
{
   margin-bottom:50px;
}

.section-intro-home h2 span , .section-highlight h2 span{
    font-family: Roboto;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 15px;
    line-height: 15px;
    font-weight: 400;
	    color: #9a7541;
		padding-bottom:7px;
		display:inline-block;
}

.highlight-text p{font-size:14px; font-weight:400;}


/* Bloc highlight : image gauche / texte droite */
.section-highlight {
    padding: 60px 0; /* tu peux enlever le style inline du <section> du coup */
}

.section-highlight .highlight-inner {
    max-width: var(--container-width);
  margin: 0 auto;
    display: flex;
    align-items: center;
}

/* Colonnes */
.section-highlight .highlight-image {
    flex: 0 0 40%;
}

.section-highlight .highlight-text {
    flex: 1;
    text-align: center;                 /* comme le hero ; mets left si tu préfères */
    padding: 20px 80px 80px 60px;
}

/* On cache la légende éventuelle de la galerie */
.section-highlight .gallery-caption {
    display: none;
}

/* On neutralise le style de la galerie WP à l'intérieur du highlight */
.section-highlight #gallery-2 .gallery-item {
    float: none;
    margin-top: 0;
    width: auto;
    text-align: left;
}

/* On enlève la bordure de l'image de galerie */
.section-highlight #gallery-2 img {
    border: none !important;
}

/* Image responsive */
.section-highlight .highlight-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Responsive : on repasse l'un sous l'autre */
@media (max-width: 768px) {
    .section-highlight .highlight-inner {
        flex-direction: column;
    }

    .section-highlight .highlight-image,
    .section-highlight .highlight-text {
        flex: 0 0 100%;
    }

    .section-highlight .highlight-text {
        padding: 0;
    }
}


.section-favorites, .section-partners{
	 max-width: var(--container-width);
  margin: 0 auto;
}

.section-favorites .woocommerce ul.products li.product
 {
	margin-bottom: 5px;
}

#social-network hr{margin-bottom:80px;}

/* ===== SLIDER PARTENAIRES ===== */


.section-partners {
    padding: 60px 0px 0px 0px !important;
    text-align: center;
}


/* Fenêtre du slider */
.partners-slider {
    position: relative;
    width: 100%;
    overflow: hidden; /* masque ce qui dépasse à gauche/droite */
}

/* Bande qui glisse horizontalement */
.partners-track {
    display: flex;
    transition: transform 0.6s ease; /* effet slide gauche ↔ droite */
}

/* Un "slide" = jusqu'à 4 logos */
.partner-slide {
    min-width: 100%;         /* prend 100% de la largeur visible */
    flex-shrink: 0;          /* ne rétrécit pas */
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    align-items: center;
    justify-items: center;
}

/* Logo */
.partner-logo img {
    max-width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease, opacity 0.3s ease, filter 0.3s ease;
}


/* Dots de navigation */
.partners-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}

.partner-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1px solid #9a7541; /* adapte la couleur à ta charte */
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.partner-dot.is-active {
    background: #9a7541;
    transform: scale(1.1);
}

/* Responsive : on réduit le nombre de colonnes dans chaque slide */
@media (max-width: 1024px) {
    .partner-slide {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .partner-slide {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .partner-slide {
        grid-template-columns: 1fr;
    }
}


.section-partners #gallery-3 img {
    border: none !important;
}

.section-news .vh-inspiration__content{
    max-width: var(--container-width);
  margin: 0 auto;
}

.section-news .vh-inspiration__content {
  grid-template-columns: repeat(3, 1fr);
  margin-bottom:30px;
}

.section-news  .vh-inspiration__title
 {
    font: 700 30px / 30px "Cormorant Garamond", serif;
    letter-spacing: .15px;
    color: #9a7541;
    margin: 10px 0 0 !important;
}

#rev_slider_1_1_wrapper{margin-top:48px;}



.vh-blog-container{
 max-width: var(--container-width);
 margin: 0 auto;
 padding:100px 10px;
}

/* =============================
   WOO — PAGE PANIER
   ============================= */


.woo-container{
 max-width: var(--container-width);
 margin: 0 auto;
 padding:100px 10px;
}

 .woocommerce td.product-name dl.variation p {margin-top: 0;}
 
 .woocommerce-cart table.cart img { width: 50px;}
 .woocommerce table.shop_table{border:none !important;}

 
 

/* Titre "Cart" */
.woo-container > h1{
  font:400 20px/1 "Roboto", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:#9a7541;
  margin:0 0 24px;
}

/* ===== Tableau du panier ===== */

.woo-container .shop_table.cart{
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  background:#fff;
  font:400 14px/1.5 "Roboto", Arial, sans-serif;
  color:#53565a;
}

.woo-container .shop_table.cart thead th{
  padding:12px 14px;
  border-bottom:1px solid #e5e5e5;
  background:#faf8f5;
  text-align:left;
  font:500 12px/1 "Roboto";
  text-transform:uppercase;
  letter-spacing:.5px;
  color:var(--vh-muted);
}

.woo-container .shop_table.cart tbody td{
  padding:12px 14px;
  border-bottom:1px solid #f1f1f1;
  vertical-align:middle;
}

/* Vignette produit */
.woo-container .product-thumbnail img{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:6px;
  display:block;
}

/* Nom + variations */
.woo-container .product-name a{
  font-weight:500;
  color:#53565a;
  text-decoration:none;
}
.woo-container .product-name a:hover{
  color:#9a7541;
}

.woo-container .product-name .variation{
  margin:6px 0 0;
  font-size:12px;
  line-height:1.4;
  color:#777;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:6px;
  row-gap:2px;
}
.woo-container .product-name .variation dt{
  margin:0;
  font-weight:600;
  color:#9a7541;
}
.woo-container .product-name .variation dd{
  margin:0;
}

/* Prix & sous-total */
.woo-container .woocommerce-Price-amount{
  font-weight:500;
  color:#9a7541;
}

/* Quantité */
.woo-container .cart .quantity{
  display:inline-flex;
  align-items:center;
  border:1px solid #9a7541;
  border-radius:6px;
  padding:0 6px;
  height:38px;
  background:#fff;
}
.woo-container .cart .quantity .qty{
  width:60px;
  border:0;
  outline:none;
  font:400 14px/1 "Roboto";
  color:#53565a;
  background:transparent;
}

/* Bouton supprimer (croix) */
.woo-container .product-remove .remove{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid #e0e0e0;
  color:#999;
  text-decoration:none;
  font-size:18px;
  line-height:1;
}
.woo-container .product-remove .remove:hover{
  border-color:#9a7541;
  color:#9a7541;
}

/* Ligne "coupon" + "update cart" */
.woo-container td.actions{
  padding:16px 14px;
  border-bottom:0;
  text-align:right;
}
.woo-container .coupon{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  justify-content:flex-start;
  margin-bottom:10px;
}
.woo-container .coupon input[type="text"]{
  min-width:180px;
  padding:8px 10px;
  border-radius:6px;
  border:1px solid var(--vh-border);
  font:400 14px "Roboto";
  color:#53565a;
}

/* ===== Boutons Woo dans le panier (Apply / Update / Proceed) ===== */

.woo-container .woocommerce .button,
.woo-container .woocommerce a.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:"Roboto" !important;
  font-weight:300 !important;
  font-size:14px !important;
  padding:12px 32px !important;
  border-radius:6px !important;
  border:1px solid #9a7541 !important;
  background:#9a7541 !important;
  color:#fff !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:all .25s ease !important;
}
.woo-container .woocommerce .button:hover,
.woo-container .woocommerce .button:focus,
.woo-container .woocommerce a.button:hover,
.woo-container .woocommerce a.button:focus{
  background:#fff !important;
  color:#9a7541 !important;
}

/* ===== Bloc totaux (cart_totals) ===== */

.woo-container .cart_totals{
  background:#faf8f5;
  border:1px solid #eae6df;
  border-radius:8px;
  padding:24px 22px;
  font-family:"Roboto", Arial, sans-serif;
}

.woo-container .cart_totals h2{
  font:400 16px/1 "Roboto";
  text-transform:uppercase;
  letter-spacing:1px;
  color:#9a7541;
  margin:0 0 16px;
}

.woo-container .cart_totals table{
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  font-size:14px;
}
.woo-container .cart_totals table th,
.woo-container .cart_totals table td{
  padding:8px 0;
  border-bottom:1px solid #e6e0d7;
  text-align:left;
}
.woo-container .cart_totals table tr:last-child th,
.woo-container .cart_totals table tr:last-child td{
  border-bottom:0;
}

.woo-container .cart_totals .order-total strong .amount{
  font-size:18px;
  font-weight:600;
  color:#9a7541;
}
.woo-container .cart_totals .includes_tax{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:#777;
}

/* Méthodes de livraison */
.woo-container .woocommerce-shipping-methods{
  list-style:none;
  margin:0 0 8px;
  padding:0;
  font-size:14px;
}
.woo-container .woocommerce-shipping-methods li{
  margin-bottom:6px;
}
.woo-container .woocommerce-shipping-methods input[type="radio"]{
  margin-right:6px;
  accent-color:#9a7541;
}
.woo-container .woocommerce-shipping-destination{
  font-size:12px;
  color:#777;
  margin:4px 0 10px;
}

/* Calcul des frais de port */
.woo-container .woocommerce-shipping-calculator{
  margin-top:10px;
}
.woo-container .woocommerce-shipping-calculator .shipping-calculator-button{
  font:400 13px "Roboto";
  color:#9a7541;
  text-decoration:underline;
}
.woo-container .woocommerce-shipping-calculator .shipping-calculator-button:hover{
  color:#665344;
}

.woo-container .woocommerce-shipping-calculator .shipping-calculator-form{
  margin-top:10px;
  background:#fff;
  border-radius:6px;
  border:1px solid #e5e5e5;
  padding:12px;
}
.woo-container .woocommerce-shipping-calculator .form-row{
  margin:0 0 10px;
}
.woo-container .woocommerce-shipping-calculator .form-row label{
  font-size:13px;
  display:block;
  margin-bottom:3px;
}
.woo-container .woocommerce-shipping-calculator .input-text,
.woo-container .woocommerce-shipping-calculator select{
  width:100%;
  padding:8px 10px;
  border-radius:6px;
  border:1px solid #dadada;
  font-size:14px;
}


/* ===== Responsive : panier en "cartes" sur mobile ===== */
@media (max-width: 768px){

  .woo-container .shop_table.cart thead{
    display:none;
  }

  .woo-container .shop_table.cart tr{
    display:block;
    margin-bottom:14px;
    border:1px solid #f1f1f1;
    border-radius:8px;
    overflow:hidden;
  }

  .woo-container .shop_table.cart tbody td{
    display:block;
    width:100%;
    text-align:right;
    border-bottom:1px solid #f5f5f5;
  }
  .woo-container .shop_table.cart tbody td:last-child{
    border-bottom:0;
  }

  .woo-container .shop_table.cart tbody td::before{
    content:attr(data-title);
    float:left;
    font-weight:500;
    text-transform:uppercase;
    font-size:11px;
    letter-spacing:.4px;
    color:#9a7541;
  }

  /* On laisse la vignette et la croix sans label */
  .woo-container .shop_table.cart td.product-thumbnail::before,
  .woo-container .shop_table.cart td.product-remove::before{
    content:"";
  }

  .woo-container td.actions{
    text-align:left;
  }
}

.woo-container .wc-proceed-to-checkout .checkout-button{
  display: flex;           
  justify-content: center;
  width: 100%;      
  max-width: 100%;           
  box-sizing: border-box;
	margin:0;
	padding:0;
}

.wc-proceed-to-checkout{
	margin:0 !important;
	padding:0 !important;
	}
	
#coupon_code{height:40px !important;}


/* =============================
   WOO — PAGE COMMANDE / CHECKOUT
   ============================= */

/* --- Barre "Avez-vous un code promo ?" --- */
.woo-container .woocommerce-form-coupon-toggle .woocommerce-info{
  background:#faf8f5;
  border:1px solid #eae6df;
  border-radius:4px;
  padding:10px 16px 10px 46px;
  font:400 13px/1.4 "Roboto", Arial, sans-serif;
  color:#53565a;
  margin-bottom:10px;
}

.woo-container .woocommerce-form-coupon-toggle .woocommerce-info .showcoupon{
  font-weight:500;
  text-decoration:underline;
}

/* --- Formulaire code promo (checkout_coupon) --- */
.woo-container form.checkout_coupon{
  margin:10px 0 20px;
  padding:14px 16px;
  background:#faf8f5;
  border-radius:8px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.woo-container form.checkout_coupon .form-row-first,
.woo-container form.checkout_coupon .form-row-last{
  margin:0;
  width:100%;
}

.woo-container form.checkout_coupon input[type="text"]{
  width:100%;
}

/* =============================
   LAYOUT GÉNÉRAL DU CHECKOUT
   ============================= */



/* Colonne droite : récap commande + paiement */
.woo-container h3#order_review_heading{
  flex-basis:100%;
  margin:0 0 12px;
  font:400 16px/1 "Roboto", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#9a7541;
}


/* =============================
   CHAMPS DE FACTURATION / COMMENTAIRES
   ============================= */

.woo-container .woocommerce-billing-fields h3,
.woo-container .woocommerce-additional-fields h3{
  font:400 14px/1 "Roboto", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#9a7541;
  margin:0 0 14px;
}



/* Label des champs */
.woo-container .woocommerce form.checkout .form-row label{
  display:block;
  margin:0 0 3px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:#53565a;
}

/* Inputs / select / textarea */
.woo-container .woocommerce-input-wrapper input[type="text"],
.woo-container .woocommerce-input-wrapper input[type="email"],
.woo-container .woocommerce-input-wrapper input[type="tel"],
.woo-container .woocommerce-input-wrapper input[type="password"],
.woo-container .woocommerce-input-wrapper select,
.woo-container .woocommerce-input-wrapper textarea,
.woo-container .select2-container .select2-selection--single{
  width:100%;
  border-radius:4px; /* radius 4px pour tous les champs */
  border:1px solid #dddddd;
  padding:8px 12px;
  font:400 14px/1.4 "Roboto", Arial, sans-serif;
  color:#53565a;
  background:#fff;
  box-shadow:none;
}

/* Textarea : même radius que les autres */
.woo-container .woocommerce-input-wrapper textarea{
  min-height:110px;
}

/* Select2 */
.woo-container .select2-container .select2-selection--single{
  height:auto;
}
.woo-container .select2-container .select2-selection__rendered{
  padding:0;
  line-height:1.4;
}

/* Focus */
#customer_details{margin-bottom:40px;}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    background-color: #faf8f5 !important;
}
.woo-container a{color: #9a7541 !important;}

.woocommerce-checkout #payment {
    background-color: #faf8f5 !important;
}

.woocommerce-checkout #payment div.payment_box
 {
    background-color: #f1ece5 !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    border: 1em solid #f1ece5 !important;
}

@media (max-width:1160px){
  .vh-shop-header {  padding: 60px 10px 10px;}
  .vh-shop-subhead__right { margin-top: 10px;}
  .vh-shop-subhead__left{margin-top:10px;}
  .vh-shop-subhead {padding: 10px 0 20px;}
}


#contact .vh-hero__img {object-position: center !important;}

/* =============================
   CONTACT
   ============================= */


.vh-contact__inner{
  max-width:var(--container-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr);
  gap:20px;
  align-items:flex-start;
}

@media (max-width:900px){
  .vh-contact__inner{
    grid-template-columns:1fr;
    gap:20px;
  }
}

.vh-contact__infos{
  font:400 14px/1.6 "Roboto", Arial, sans-serif;
  color:#53565a;
}

.vh-contact__block + .vh-contact__block{
  margin-top:35px;
}

.vh-contact__infos h4{
  font:500 14px/1 "Roboto", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#9a7541;
  margin:0 0 10px;
}

.vh-contact__infos p{
  margin:0 0 5px;
}

.vh-contact__infos a{
  color:#9a7541;
  text-decoration:none;
}
.vh-contact__infos a:hover{
  text-decoration:underline;
}

/* Colonne formulaire */
.vh-contact__form{
}

.vh-contact__form h4{
  font:500 14px/1 "Roboto", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#9a7541;
  margin:0 0 20px;
  line-height: 17px;
}

/* Contact Form 7 : champs */
.vh-contact .wpcf7-form{
  display:grid;
}

.vh-contact .wpcf7-form p{
  margin:0;
}

/* Labels (si tu en as) */
.vh-contact .wpcf7-form label{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.8px;
  color: #9a7541;
  margin-bottom:4px;
}

/* Inputs / textarea / select */
.vh-contact .wpcf7-text,
.vh-contact .wpcf7-email,
.vh-contact .wpcf7-tel,
.vh-contact .wpcf7-textarea,
.vh-contact .wpcf7-select{
    width: 100%;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid #faf8f5;
    padding: 12px;
    font: 400 14px / 1.4 "Roboto", Arial, sans-serif;
    color: #9a7541;
    background: #faf8f5;
    margin-bottom: 10px;
}



/* Placeholders */
.vh-contact .wpcf7-form-control::placeholder{
  color: #9a7541 !important;
  opacity:.8;
}


.vh-contact .wpcf7-textarea{
  min-height:130px;
  resize:vertical;
}

/* Focus states */
.vh-contact .wpcf7-text:focus,
.vh-contact .wpcf7-email:focus,
.vh-contact .wpcf7-tel:focus,
.vh-contact .wpcf7-textarea:focus,
.vh-contact .wpcf7-select:focus{
  outline:none;
  border-color:#9a7541;
  box-shadow:0 0 0 2px rgba(154,117,65,.14);
}

/* Bouton d'envoi CF7 (hérite déjà de tes styles globaux sur input[type=submit]) */
.vh-contact .wpcf7-submit{
  margin-top:8px;
}

/* Messages de validation / erreur CF7 */
.vh-contact .wpcf7-response-output{
  margin:18px 0 0;
  padding:10px 12px;
  border-radius:6px;
  font-size:13px;
}

.vh-contact .wpcf7-not-valid-tip{
  font-size:12px;
  color:#c0392b;
  margin-top:4px;
}

.vh-contact-container{
 max-width: var(--container-width);
 margin: 0 auto;
 padding:100px 10px 0px 10px;
}

