@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//cantinaperbotti.com/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=8.2.7") format("woff2");
}

@font-face {
	font-family: "star";
	font-weight: 400;
	font-style: normal;
	src: url("//cantinaperbotti.com/wp-content/plugins/woocommerce/assets/fonts/star.eot?#iefix") format("embedded-opentype"), url("//cantinaperbotti.com/wp-content/plugins/woocommerce/assets/fonts/star.woff") format("woff"), url("//cantinaperbotti.com/wp-content/plugins/woocommerce/assets/fonts/star.ttf") format("truetype"), url("//cantinaperbotti.com/wp-content/plugins/woocommerce/assets/fonts/star.svg#star") format("svg");
}

@font-face {
	font-family: "WooCommerce";
	font-weight: 400;
	font-style: normal;
	src: url("//cantinaperbotti.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.eot?#iefix") format("embedded-opentype"), url("//cantinaperbotti.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.woff") format("woff"), url("//cantinaperbotti.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.ttf") format("truetype"), url("//cantinaperbotti.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.svg#WooCommerce") format("svg");
}

:root {
	--wd-text-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: rgb(118,118,118);
	--wd-text-font-size: 15px;
	--wd-title-font: "Glaciall", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 400;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Glaciall", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 400;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Glaciall", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Glaciall", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 400;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 700;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-primary-color: rgb(92,26,43);
	--wd-alternative-color: #fbbc34;
	--wd-link-color: rgb(51,51,51);
	--wd-link-color-hover: rgb(36,36,36);
	--btn-default-bgcolor: rgb(198,165,130);
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(92,26,43);
	--btn-accented-bgcolor-hover: rgb(62,17,32);
	--wd-form-brd-width: 1px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
}
.wd-popup.wd-age-verify {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: url(https://cantinaperbotti.com/wp-content/uploads/2021/08/promo-popup.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	--wd-popup-width: 800px;
	--wd-popup-padding: 15px;
}
.header-banner {
	background-color: rgb(158,191,181);
	background-image: none;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title {
	background-color: #0a0a0a;
	background-image: url(https://cantinaperbotti.com/wp-content/uploads/2025/07/tische_kategorie_1.webp);
	background-size: cover;
	background-position: center center;
}
.wd-footer {
	background-color: #ffffff;
	background-image: none;
}
.wd-popup.popup-quick-view {
	--wd-popup-width: 920px;
}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 0px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 0px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-default-box-shadow-active: none;
--btn-default-bottom: 0px;
--btn-accented-brd-radius: 0px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
--btn-accented-box-shadow-active: none;
--btn-accented-bottom: 0px;
--wd-brd-radius: 0px;
}

@media (min-width: 1222px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


@font-face {
	font-family: "Glaciall";
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "Glaciall";
	font-weight: 600;
	font-style: normal;
}

/* ==========================================================================
   Domaine du Clos — feuille de style de marque
   Charte graphique : bordeaux / ivoire / chêne / or vieilli / vert olive
   Typographies : Cormorant Garamond (titres) + Lato (texte courant)

   Ce fichier est pensé pour être étoffé au fil du temps. Les couleurs et
   les tailles passent par des variables CSS (:root) : on ne touche
   jamais aux valeurs brutes ailleurs dans le fichier.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Lato:wght@300;400;700&display=swap');

/* --------------------------------------------------------------------------
   1. Variables de marque
   -------------------------------------------------------------------------- */
:root {
  /* Couleurs principales */
  --color-bordeaux: #5C1A2B;
  --color-bordeaux-dark: #3E1120;
  --color-bordeaux-light: #7A2E42;

  --color-ivoire: #F3ECE1;
  --color-ivoire-dark: #E8DDCC;

  --color-chene: #2E2620;

  --color-or: #B08D3E;
  --color-or-light: #C9A85C;

  --color-olive: #6E7A5C;
  --color-olive-dark: #545E45;

  /* Couleurs fonctionnelles (dérivées de la palette, pas de couleurs génériques) */
  --color-fond: var(--color-ivoire);
  --color-texte: var(--color-chene);
  --color-texte-doux: #5A5048;
  --color-accent: var(--color-bordeaux);
  --color-accent-secondaire: var(--color-or);
  --color-bordure: #DCD2C0;

  /* Liens */
  --color-lien: var(--color-bordeaux);
  --color-lien-hover: var(--color-bordeaux-dark);

  /* Terracotta — clin d'œil aux cerceaux de fer rouillés du tonnelier,
     réservée aux états d'alerte (rupture de stock, erreurs de formulaire) */
  --color-terracotta: #A85C36;
  --color-terracotta-fond: #F5E6DC;

  /* Succès / disponibilité — dérivé du vert olive */
  --color-succes: var(--color-olive);
  --color-succes-fond: #E9ECE3;

  /* États des boutons */
  --color-desactive-fond: #D8D0C0;
  --color-desactive-texte: #9A9080;

  /* Typographies */
  --font-titres: 'Cormorant Garamond', Georgia, serif;
  --font-corps: 'Lato', -apple-system, sans-serif;

  /* Échelle typographique */
  --taille-h1: clamp(2.5rem, 5vw, 4rem);
  --taille-h2: clamp(1.75rem, 3vw, 2.5rem);
  --taille-h3: clamp(1.25rem, 2vw, 1.75rem);
  --taille-accroche: clamp(1.1rem, 2vw, 1.4rem);
  --taille-corps: 1rem;
  --taille-petite: 0.875rem;

  /* Espacements */
  --espace-xs: 0.5rem;
  --espace-sm: 1rem;
  --espace-md: 1.75rem;
  --espace-lg: 3rem;
  --espace-xl: 5rem;

  /* Rayons et bordures */
  --radius: 4px;
  --radius-arrondi: 999px;

  /* Ombres (à utiliser avec parcimonie — le domaine reste sobre) */
  --ombre-douce: 0 4px 16px rgba(46, 38, 32, 0.08);
}

/* --------------------------------------------------------------------------
   2. Reset minimal
   -------------------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--color-fond);
  color: var(--color-texte);
  font-family: var(--font-corps);
  font-size: var(--taille-corps);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: var(--color-lien);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--color-lien-hover);
  text-decoration: underline;
}

/* Lien discret, pour texte courant (ex. "Vedi tutto") */
.lien-discret {
  color: var(--color-texte);
  border-bottom: 1px solid var(--color-or);
  padding-bottom: 1px;
}

.lien-discret:hover {
  color: var(--color-bordeaux);
  border-color: var(--color-bordeaux);
}

/* --------------------------------------------------------------------------
   3. Typographie
   -------------------------------------------------------------------------- */
h1, h2, h3, h4 {
  font-family: var(--font-titres);
  font-weight: 500;
  color: var(--color-bordeaux);
  line-height: 1.15;
  margin: 0 0 var(--espace-sm);
}

h1 {
  font-size: var(--taille-h1);
  letter-spacing: 0.01em;
}

h2 {
  font-size: var(--taille-h2);
}

h3 {
  font-size: var(--taille-h3);
  font-weight: 600;
}

.accroche {
  font-family: var(--font-titres);
  font-style: italic;
  font-weight: 400;
  font-size: var(--taille-accroche);
  color: var(--color-olive);
  margin: 0 0 var(--espace-md);
}

p {
  margin: 0 0 var(--espace-sm);
  color: var(--color-texte);
}

.texte-doux {
  color: var(--color-texte-doux);
}

.petite-majuscule {
  font-size: var(--taille-petite);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-texte-doux);
}

/* --------------------------------------------------------------------------
   4. Mise en page
   -------------------------------------------------------------------------- */
.conteneur {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 var(--espace-md);
}

.section {
  padding: var(--espace-xl) 0;
}

.section-bordeaux {
  background: var(--color-bordeaux);
  color: var(--color-ivoire);
}

.section-bordeaux h1,
.section-bordeaux h2,
.section-bordeaux h3 {
  color: var(--color-ivoire);
}

.section-bordeaux .accroche {
  color: var(--color-or-light);
}

.diviseur {
  width: 48px;
  height: 2px;
  background: var(--color-or);
  border: none;
  margin: var(--espace-sm) 0;
}

/* --------------------------------------------------------------------------
   5. Boutons
   -------------------------------------------------------------------------- */
.bouton {
  display: inline-block;
  font-family: var(--font-corps);
  font-size: var(--taille-petite);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.85em 1.75em;
  border-radius: var(--radius);
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.bouton:hover {
  text-decoration: none;
}

.bouton-primaire {
  background: var(--color-bordeaux);
  color: var(--color-ivoire);
}

.bouton-primaire:hover {
  background: var(--color-bordeaux-dark);
}

.bouton-secondaire {
  background: transparent;
  color: var(--color-olive);
  border-color: var(--color-olive);
}

.bouton-secondaire:hover {
  background: var(--color-olive);
  color: var(--color-ivoire);
}

.bouton-panier {
  background: var(--color-chene);
  color: var(--color-ivoire);
}

.bouton-panier:hover {
  background: #1c1712;
}

.bouton:disabled,
.bouton-desactive {
  background: var(--color-desactive-fond);
  color: var(--color-desactive-texte);
  cursor: not-allowed;
}

.bouton:disabled:hover,
.bouton-desactive:hover {
  background: var(--color-desactive-fond);
}

/* --------------------------------------------------------------------------
   6. Cartes / fiches produit
   -------------------------------------------------------------------------- */
.carte {
  background: #fff;
  border: 1px solid var(--color-bordure);
  border-radius: var(--radius);
  padding: var(--espace-md);
}

.carte-etiquette {
  font-size: var(--taille-petite);
  color: var(--color-accent-secondaire);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: var(--espace-xs);
}

/* --------------------------------------------------------------------------
   7. Composants e-commerce
   -------------------------------------------------------------------------- */
.prix {
  font-family: var(--font-corps);
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--color-bordeaux);
}

.prix-barre {
  font-size: 0.9rem;
  color: var(--color-texte-doux);
  text-decoration: line-through;
  margin-right: var(--espace-xs);
}

.badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.3em 0.7em;
  border-radius: var(--radius-arrondi);
}

.badge-nouveau {
  background: var(--color-succes-fond);
  color: var(--color-olive-dark);
}

.badge-rupture {
  background: var(--color-terracotta-fond);
  color: var(--color-terracotta);
}

.champ {
  width: 100%;
  font-family: var(--font-corps);
  font-size: var(--taille-corps);
  color: var(--color-texte);
  background: #fff;
  border: 1px solid var(--color-bordure);
  border-radius: var(--radius);
  padding: 0.65em 0.9em;
}

.champ:focus {
  outline: none;
  border-color: var(--color-or);
  box-shadow: 0 0 0 3px rgba(176, 141, 62, 0.2);
}

.message-erreur {
  font-size: var(--taille-petite);
  color: var(--color-terracotta);
}

/* --------------------------------------------------------------------------
   8. Utilitaires
   -------------------------------------------------------------------------- */
.centre { text-align: center; }
.mb-0 { margin-bottom: 0; }
.mt-lg { margin-top: var(--espace-lg); }

/* --------------------------------------------------------------------------
   9. Accessibilité
   -------------------------------------------------------------------------- */
:focus-visible {
  outline: 2px solid var(--color-or);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  * {
    transition: none !important;
  }
}

/* --------------------------------------------------------------------------
   10. Animations au scroll (voir animations.js)
   Le JS gère l'opacité et le déplacement en ligne, directement en style
   inline — ces règles ne servent qu'à garantir un rendu correct si le
   script ne se charge pas (dégradation propre, rien ne doit rester invisible).
   -------------------------------------------------------------------------- */
[data-reveal] {
  /* État par défaut sans JS : tout est visible, pas de FOUC caché */
  opacity: 1;
}

.est-revele {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* --------------------------------------------------------------------------
   11. Page d'accueil — section Philosophie
   -------------------------------------------------------------------------- */
.section-philosophie .grille {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--espace-lg);
  align-items: center;
}

.section-philosophie img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius);
  display: block;
}

.section-philosophie .texte .accroche {
  margin-bottom: var(--espace-xs);
}

@media (max-width: 720px) {
  .section-philosophie .grille {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   À étoffer plus tard : navigation, formulaires, footer, grilles de
   cuvées, pages produit... Ajouter les nouveaux blocs sous une nouvelle
   section numérotée pour garder le fichier lisible.
   -------------------------------------------------------------------------- */