/*
 Theme Name:   Le Caféier (Astra enfant)
 Template:     astra
 Description:  Thème enfant du site Le Caféier — personnalisations protégées des mises à jour Astra.
 Author:       Prismora Solutions
 Version:      1.8.2
 Text Domain:  lecafeier
*/

/* ===== Charte ===== */
:root {
  --lc-or: #B09446;
  --lc-noir: #1D1D1B;
  --lc-creme: #FAF7F2;
  --lc-brun: #7A5C2E;
  /* Échelle typographique commune (uniformisée sur tout le site) */
  --lc-texte: 19px;          /* textes de contenu ≈ 19px */
  --lc-sous-titre: 32px;     /* sous-titres Bebas ≈ 32px */
}
@media (max-width: 767px) {
  :root { --lc-texte: 17px; --lc-sous-titre: 24px; }
}

/* ===== Header transparent ===== */
/* Dégradé sombre derrière le header pour la lisibilité */
.ast-header-break-point .site-header,
#masthead.site-header {
  background: linear-gradient(to bottom, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 100%) !important;
  padding-top: 14px !important;
}

/* Liens du menu : blancs, lisibles */
.ast-primary-header-bar .main-header-menu .menu-link,
.ast-primary-header-bar .menu-item a {
  color: #FFFFFF !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
  letter-spacing: 0.5px;
}
/* Taille validée — desktop uniquement (au-delà du point de rupture Astra 921px) */
@media (min-width: 922px) {
  .ast-primary-header-bar .main-header-menu .menu-link,
  .ast-primary-header-bar .menu-item a { font-size: 1.55em !important; }
}

/* Survol en doré */
.ast-primary-header-bar .main-header-menu .menu-item a:hover {
  color: var(--lc-or) !important;
}

/* ===== Bouton retour en haut (HTML/JS dans WPCode) ===== */
#lc-back-to-top {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  line-height: 1 !important;
  background: var(--lc-or) !important;
  border: none !important;
  border-radius: 50%;
  cursor: pointer;
  display: flex !important;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s, background .2s;
  z-index: 9999;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
#lc-back-to-top:hover { background: var(--lc-brun) !important; }
#lc-back-to-top.lc-visible { opacity: 1 !important; visibility: visible !important; }
#lc-back-to-top svg {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  stroke: var(--lc-creme) !important;
  fill: none !important;
  stroke-width: 2.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  display: block !important;
}
@media (max-width: 600px) {
  #lc-back-to-top { bottom: 20px !important; right: 16px !important; width: 38px !important; height: 38px !important; }
}

/* =========================================================
   CARTE DES THÉS
   ========================================================= */

/* --- Pictogramme « Se boit glacé » (remplace l'emoji 🧊) --- */
:root {
  --lc-ico-glace: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%23B09446' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.5 1.8l-2.2 7.4'/%3E%3Cpath d='M5 5h14l-1.5 14.3A2 2 0 0 1 15.5 21h-7a2 2 0 0 1-2-1.7L5 5z'/%3E%3Cpath d='M5.6 10h12.8'/%3E%3Crect x='7.9' y='11.6' width='3.4' height='3.4' rx='.6' transform='rotate(-12 9.6 13.3)'/%3E%3Crect x='12.5' y='13.4' width='3.2' height='3.2' rx='.6' transform='rotate(10 14.1 15)'/%3E%3C/svg%3E");
}
.lc-carte-thes .lc-the .lc-froid {
  display: inline-block;
  position: relative;
  width: 26px;
  height: 26px;
  margin-left: 8px;
  vertical-align: -5px;
  font-size: 0 !important;            /* masque l'emoji d'origine */
  line-height: 0;
  cursor: help;
}
/* Picto via content: (Elementor neutralise les background-image en lazy-load) */
.lc-carte-thes .lc-the .lc-froid::before { content: var(--lc-ico-glace); display: block; }
/* Infobulle au survol */
.lc-carte-thes .lc-the .lc-froid:hover::after {
  content: "Se boit glacé";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 6px);
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 4px 8px;
  border-radius: 3px;
  background: var(--lc-noir);
  color: var(--lc-creme);
  font: 600 11px/1.2 'Montserrat', sans-serif;
  letter-spacing: .5px;
  text-transform: none;
  z-index: 5;
}
/* Légende automatique en tête des familles qui contiennent des thés glacés */
.lc-carte-thes:has(.lc-froid)::before {
  content: var(--lc-ico-glace) "  Se boit glacé";
  display: flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin: 0 0 10px auto;
  font: 300 12.8px/18px 'Montserrat', sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--lc-brun);
  white-space: pre;
}

/* --- Débordement horizontal desktop (widgets listes en marges négatives) --- */
.elementor-widget-text-editor:has(.lc-carte-thes),
.elementor-widget-text-editor:has(.lc-carte-thes) > .elementor-widget-container {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100%;
}
.elementor-widget-text-editor:has(.lc-carte-thes) p:empty { display: none; }

/* --- Menu des familles : bandeau défilant sur tablette & mobile --- */
@media (max-width: 921px) {
  .lc-menu-carte {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 0 22px !important;
    padding: 14px 18px !important;
    /* fondu à droite = « ça défile » */
    -webkit-mask-image: linear-gradient(to right, #000 85%, transparent);
            mask-image: linear-gradient(to right, #000 85%, transparent);
  }
  .lc-menu-carte::-webkit-scrollbar { display: none; }
  .lc-menu-carte .lc-menu-item {
    flex: 0 0 auto;
    white-space: nowrap;
    scroll-snap-align: start;
    padding: 4px 0;
  }
}

/* --- Visuels de famille : lisibles sur mobile --- */
@media (max-width: 767px) {
  :is(#thes-verts, #the-blanc, #oolong, #thes-noirs, #rooibos, #infusions, #eaux-de-fruits) .elementor-widget-image img {
    width: 70% !important;
    max-width: 280px !important;
    height: auto !important;
  }
}

/* =========================================================
   ACCUEIL
   ========================================================= */
/* Tablette : image « Notre Histoire » débordait (marges négatives du modèle) */
@media (max-width: 1024px) {
  .home .elementor-widget-image > .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
  }
  .home .elementor-widget-image img { max-width: 100% !important; height: auto !important; }
}

/* Pied de page : coordonnées */
.lc-footer-contact, .lc-footer-horaires { margin: 0 0 12px; line-height: 1.5; }
.lc-footer-contact a { color: inherit; text-decoration: none; }
.lc-footer-contact a:hover { color: var(--lc-or); }
.lc-footer-horaires { font-style: italic; opacity: .85; }

/* ===== Bandeau commun — format de référence : la carte des thés ===== */
.lc-hero-page, .lc-hero-cafes {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 0 20px;
  background: linear-gradient(rgba(0,0,0,.13) 0%, rgba(58,58,58,.85) 100%), var(--lc-hero) center / cover no-repeat;
  text-align: center;
}
.lc-hero-page .lc-hero-contenu, .lc-hero-cafes .lc-hero-contenu { padding: 165px 0 40px; }
.lc-hero-logo { display: block; width: clamp(190px, 19vw, 360px); height: auto; margin: 0 auto 28px; }
.lc-hero-page h1, .lc-hero-cafes h1 {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-weight: 400;
  font-size: 60px;
  line-height: 1.1;
  color: #fff;
  margin: 0;
}
.lc-hero-page.lc-hero-court { min-height: 38vh; }
.lc-hero-page.lc-hero-court h1 { font-size: clamp(35px, 4.6vw, 52px); }
@media (max-width: 1024px) { .lc-hero-page, .lc-hero-cafes { min-height: 70vh; } }
@media (max-width: 767px) {
  .lc-hero-page, .lc-hero-cafes { min-height: 50vh; }
  .lc-hero-logo { width: 57%; max-width: 240px; margin-bottom: 16px; }
  .lc-hero-page h1, .lc-hero-cafes h1 { font-size: 36px; }
  .lc-hero-page.lc-hero-court { min-height: 30vh; }
}

/* =========================================================
   TYPOGRAPHIE UNIFORME + BOUTONS
   ========================================================= */
/* Accueil : textes de contenu et sous-titres */
.home .elementor-widget-text-editor,
.home .elementor-widget-text-editor p { font-size: var(--lc-texte) !important; line-height: 1.75 !important; color: var(--lc-noir); }
.home [data-id="40ea2f5"] .elementor-heading-title { font-size: var(--lc-sous-titre) !important; line-height: 1.2 !important; }
/* Mêmes valeurs sur les autres pages */
.lc-page-texte { font-size: var(--lc-texte) !important; }
.lc-cafes-intro p:last-child, .lc-page-texte .lc-chapo { font-size: calc(var(--lc-texte) * 1.05) !important; }

/* Bouton « lien » commun : discret mais visible (bordure dorée, survol plein) */
.home .elementor-widget-button .elementor-button,
.home .hfe-infocard-cta-link,
.lc-page-texte .lc-boutons a {
  display: inline-block;
  font: 500 16px/1 'Montserrat', sans-serif !important;
  letter-spacing: .5px !important;
  text-transform: none !important;
  text-decoration: none !important;
  color: var(--lc-brun) !important;
  background: transparent !important;
  border: 1px solid var(--lc-or) !important;
  border-radius: 0 !important;
  padding: 14px 28px !important;
  transition: background .25s, color .25s;
}
.home .elementor-widget-button .elementor-button:hover,
.home .hfe-infocard-cta-link:hover,
.lc-page-texte .lc-boutons a:hover { background: var(--lc-or) !important; color: #fff !important; }
.home .elementor-widget-button .elementor-button .elementor-button-text { text-decoration: none !important; }
/* Bouton sur fond sombre (avis) : version claire */
.home [data-id="d95af51"] .elementor-button { color: #fff !important; border-color: rgba(255,255,255,.8) !important; }
.home [data-id="d95af51"] .elementor-button:hover { background: #fff !important; color: var(--lc-brun) !important; }

/* Cartes Cafés / Thés de l'accueil : plus présentes */
.home [data-id="f1d9dc7"], .home [data-id="c85ed4e"] { width: 100% !important; max-width: 100% !important; }
.home [data-id="f1d9dc7"] img, .home [data-id="c85ed4e"] img { width: 360px !important; max-width: 100% !important; height: auto !important; }
.home .hfe-infocard-title { font-size: 44px !important; }
.home .hfe-infocard-text, .home .hfe-infocard-text p { font-size: var(--lc-texte) !important; line-height: 1.5 !important; }
.home .hfe-infocard-cta { margin-top: 26px !important; }

/* Témoignages : source et date discrètes */
.home .elementor-testimonial-job { font: 300 12.8px/1.4 'Montserrat', sans-serif; letter-spacing: 1px; text-transform: uppercase; opacity: .8; }

/* =========================================================
   CARTE DES THÉS — respiration
   ========================================================= */
.lc-carte-thes .lc-grille { gap: 30px 72px !important; margin-bottom: 0 !important; }
.lc-carte-thes .lc-the { margin-bottom: 4px !important; }
.lc-carte-thes .lc-the h4 { margin-bottom: 6px !important; }
.lc-carte-thes .lc-the p { line-height: 1.5 !important; }
.lc-carte-thes h3.lc-sous-cat { position: relative; margin: 70px 0 32px !important; padding-top: 48px; }
.lc-carte-thes h3.lc-sous-cat:first-of-type { margin-top: 24px !important; padding-top: 0; }
/* Séparateur discret entre sous-familles : filet doré qui s'estompe */
.lc-carte-thes h3.lc-sous-cat:not(:first-of-type)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(420px, 60%);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(to right, transparent, rgba(176,148,70,.55), transparent);
}
.lc-intro-famille { margin-bottom: 60px !important; }

/* =========================================================
   PIED DE PAGE — fond blanc (contraste avec le crème des pages), colonnes aérées
   ========================================================= */
.site-primary-footer-wrap, .site-below-footer-wrap {
  background: #FFFFFF !important;
  color: var(--lc-noir) !important;
}
.site-primary-footer-wrap { padding: 70px 0 50px !important; border-top: 1px solid rgba(176,148,70,.35) !important; }
.site-below-footer-wrap { border-top: 1px solid rgba(176,148,70,.25) !important; }
.site-primary-footer-inner-wrap {
  grid-template-columns: 1fr 1fr 1.3fr 1fr !important;
  row-gap: 40px !important;
  align-items: start;
}
/* Colonnes vides masquées, ordre : logo · menu · coordonnées · réseaux */
.site-primary-footer-inner-wrap > .site-footer-section:not(:has(.widget, .ast-builder-layout-element)) { display: none !important; }
.site-footer-primary-section-1 { order: 1; }
.site-footer-primary-section-5 { order: 2; }
.site-footer-primary-section-6 { order: 3; }
.site-footer-primary-section-4 { order: 4; }
.site-primary-footer-wrap .widget-title, .site-primary-footer-wrap h2 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-weight: 400 !important;
  font-size: 24px !important;
  letter-spacing: 1.5px;
  color: var(--lc-or) !important;
  margin-bottom: 16px !important;
}
.site-primary-footer-wrap, .site-primary-footer-wrap p, .site-primary-footer-wrap li { font-family: 'EB Garamond', Georgia, serif; font-size: 18px; line-height: 1.7; }
.site-primary-footer-wrap a, .site-below-footer-wrap a { color: var(--lc-noir) !important; text-decoration: none; }
.site-primary-footer-wrap a:hover, .site-below-footer-wrap a:hover { color: var(--lc-or) !important; }
/* Logo blanc rendu en noir charte sur fond clair */
.site-primary-footer-wrap .widget_media_image img { width: 190px !important; height: auto !important; filter: brightness(0); opacity: .88; }
/* Facebook : vrai logo (rond bleu) à la place du simple « f » */
.site-primary-footer-wrap .ast-facebook svg { display: none !important; }
.site-primary-footer-wrap .ast-facebook::before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 34px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230866FF' d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .2s;
}
.site-primary-footer-wrap .ast-facebook:hover::before { transform: scale(1.08); }
.site-primary-footer-wrap .ast-facebook { background: none !important; padding: 0 !important; }
.site-below-footer-wrap .ast-footer-copyright { font: 300 14px/1.6 'Montserrat', sans-serif; letter-spacing: .5px; color: #5c5c58; }
@media (max-width: 921px) {
  .site-primary-footer-inner-wrap { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
  .site-primary-footer-inner-wrap { grid-template-columns: 1fr !important; text-align: center; }
  .site-primary-footer-wrap .widget_media_image img { margin: 0 auto; }
  .site-primary-footer-wrap .ast-builder-social-element { justify-content: center; }
  .site-primary-footer-wrap .ast-builder-grid-row-container-inner { padding: 0 20px !important; }
}

/* Correctifs largeur : conteneurs des cartes Cafés/Thés + grille du pied de page */
.home [data-id="a0849b6"], .home [data-id="21aafb0"] { width: 400px !important; max-width: 46% !important; }
.home [data-id="a0849b6"] .elementor-widget-image, .home [data-id="21aafb0"] .elementor-widget-image { width: 100% !important; }
@media (max-width: 767px) {
  .home [data-id="a0849b6"], .home [data-id="21aafb0"] { width: 100% !important; max-width: 100% !important; }
}
.site-primary-footer-wrap .ast-builder-grid-row-container-inner { max-width: 1320px !important; width: 100%; padding: 0 40px; box-sizing: border-box; }
.site-primary-footer-inner-wrap { max-width: none !important; width: 100% !important; column-gap: 56px !important; }

/* Avis clients : tout en blanc, lisible sur le fond doré */
.home [data-id="fd7a4f5"] .elementor-testimonial-content,
.home [data-id="fd7a4f5"] .elementor-testimonial-name { color: #fff !important; }
.home [data-id="fd7a4f5"] .elementor-testimonial-job { color: #fff !important; opacity: .9; font-size: 13px; }
.home [data-id="fd7a4f5"] .elementor-star-rating i:before,
.home [data-id="fd7a4f5"] .elementor-star-rating .e-font-icon-svg { color: #fff !important; fill: #fff !important; }
.home [data-id="fd7a4f5"] .elementor-star-rating i { color: rgba(255,255,255,.35) !important; }

/* Carte des thés : marge basse avant le pied de page
   (le widget liste avait une marge négative de -85px qui faisait chevaucher le footer) */
.elementor-widget-text-editor:has(.lc-carte-thes) > .elementor-widget-container { margin-bottom: 0 !important; }
.lc-carte-thes { padding-bottom: 90px !important; }

/* =========================================================
   v1.6.0 — Respiration entre blocs + réduction globale (~8 %) pour un rendu plus précieux
   ========================================================= */
/* Accueil : espace sous « Notre Histoire », et entre les boutons « Découvrir » et les avis */
.home [data-id="88b7db9"] { padding-top: 80px !important; padding-bottom: 120px !important; }
/* Accueil : bloc logo + texte un peu plus bas sous le menu */
.home [data-id="4e9f254"] { padding-top: 28px !important; }

/* Accueil (tablette/desktop) : titres Elementor réduits d'environ 8 % */
@media (min-width: 768px) {
  .home [data-id="6d43816"] .elementor-heading-title { font-size: 30px !important; }
  .home [data-id="231b155"] .elementor-heading-title,
  .home [data-id="7ecedd5"] .elementor-heading-title { font-size: 47px !important; }
  .home [data-id="a8459ab"] .elementor-heading-title { font-size: 90px !important; }
  .home [data-id="4180b13"] .elementor-heading-title { font-size: 22px !important; }
  .home [data-id="fd7a4f5"] .elementor-testimonial-content { font-size: 25px !important; }
  .home [data-id="fd7a4f5"] .elementor-testimonial-name { font-size: 19px !important; }
}

/* Pages intérieures : un peu d'air entre les blocs */
.lc-page-texte .lc-boutons { margin-top: 64px; }

/* =========================================================
   v1.6.1 — Uniformisation : logos de hero, titres de hero, titres Bebas, typo carte des thés
   (page-id-1682 = carte des thés ; tailles en px uniquement)
   ========================================================= */
/* Logo identique sur tous les heros */
.home [data-id="73eb593"] img,
.page-id-1682 [data-id="24d60f5b"] img { width: clamp(220px, 23vw, 340px) !important; max-width: 100% !important; height: auto !important; }
.lc-hero-logo { width: clamp(220px, 23vw, 340px); }
@media (max-width: 767px) {
  .home [data-id="73eb593"] img,
  .page-id-1682 [data-id="24d60f5b"] img { width: 57vw !important; max-width: 240px !important; }
}

/* Titre de hero : même taille partout (60px, mobile 36px) */
.page-id-1682 [data-id="7e9b03f4"] .elementor-heading-title { font-size: 60px !important; line-height: 1.1 !important; }
@media (max-width: 767px) { .page-id-1682 [data-id="7e9b03f4"] .elementor-heading-title { font-size: 36px !important; } }

/* Titres de section Bebas : 47px partout */
.page-id-1682 [data-id="5fd6389e"] .elementor-heading-title,
.page-id-1682 .lc-carte-thes h2,
.page-id-1682 .elementor-widget-heading h2.elementor-heading-title { font-size: 47px !important; }
.lc-cafes-titre { font-size: 47px !important; }
@media (max-width: 767px) {
  .page-id-1682 [data-id="5fd6389e"] .elementor-heading-title,
  .page-id-1682 .elementor-widget-heading h2.elementor-heading-title,
  .lc-cafes-titre { font-size: 34px !important; }
}

/* Carte des thés : sous-titre + textes alignés sur l'échelle du site */
.page-id-1682 [data-id="48e0519e"] .elementor-heading-title { font-size: var(--lc-sous-titre) !important; line-height: 1.2 !important; }
.lc-intro-famille, .lc-intro-texte { font-size: calc(var(--lc-texte) * 1.05) !important; }
.lc-info-item { font-size: 16px !important; }
.lc-info-label { font-size: 13px !important; }
.lc-info-valeur { font-size: var(--lc-texte) !important; }
.lc-carte-thes h3.lc-sous-cat { font-size: 21px !important; }
.lc-carte-thes .lc-the h4 { font-size: 21px !important; }
.lc-carte-thes .lc-the p { font-size: var(--lc-texte) !important; }
.lc-menu-item { font-size: 16px !important; }
.lc-hero-page.lc-hero-court h1 { font-size: 60px; }
@media (max-width: 767px) { .lc-hero-page.lc-hero-court h1 { font-size: 36px; } }

/* =========================================================
   v1.6.2 — Bandeau identique à l'accueil : logo 328 px, écart 27 px, texte EB Garamond 30px/39px (2 lignes réservées)
   ========================================================= */
.lc-hero-page .lc-hero-logo, .lc-hero-cafes .lc-hero-logo { margin: 0 auto 27px !important; }
.lc-hero-page h1, .lc-hero-cafes h1, .lc-hero-page.lc-hero-court h1,
.page-id-1682 [data-id="7e9b03f4"] .elementor-heading-title {
  font-size: 30px !important; line-height: 39px !important; font-weight: 400 !important; min-height: 78px; margin: 0 !important;
}
.page-id-1682 [data-id="24d60f5b"] { margin-bottom: 27px !important; }
@media (max-width: 767px) {
  .lc-hero-page h1, .lc-hero-cafes h1, .lc-hero-page.lc-hero-court h1,
  .page-id-1682 [data-id="7e9b03f4"] .elementor-heading-title { font-size: 24px !important; line-height: 31px !important; min-height: 62px; }
}
/* v1.6.3 — calage vertical identique à l'accueil (logo à 227 px du haut pour une fenêtre de 900 px) */
@media (min-width: 1025px) {
  .lc-hero-page:not(.lc-hero-court) .lc-hero-contenu, .lc-hero-cafes .lc-hero-contenu { padding: 0 0 106px !important; }
  .page-id-1682 [data-id="24d60f5b"] { margin-top: 65px !important; }
}
/* v1.6.4 — calage carte des thés */
@media (min-width: 1025px) {
  .page-id-1682 [data-id="24d60f5b"] { margin-top: 76px !important; margin-bottom: -28px !important; }
}

/* v1.6.6 — titres de page à 60px ; carte : bandeau inchangé ; autres pages : bandeau raccourci (accueil intact) */
.lc-hero-page h1, .lc-hero-cafes h1, .lc-hero-page.lc-hero-court h1 { font-size: 60px !important; line-height: 66px !important; min-height: 0 !important; }
.page-id-1682 [data-id="7e9b03f4"] .elementor-heading-title { font-size: 60px !important; line-height: 78px !important; }
@media (max-width: 767px) {
  .lc-hero-page h1, .lc-hero-cafes h1, .lc-hero-page.lc-hero-court h1 { font-size: 36px !important; line-height: 40px !important; }
  .page-id-1682 [data-id="7e9b03f4"] .elementor-heading-title { font-size: 36px !important; line-height: 62px !important; }
}
@media (min-width: 1025px) {
  .lc-hero-page:not(.lc-hero-court), .lc-hero-cafes { min-height: 0 !important; }
  .lc-hero-page:not(.lc-hero-court) .lc-hero-contenu, .lc-hero-cafes .lc-hero-contenu { padding: 227px 0 90px !important; }
}

/* v1.6.7 — pages intérieures (hors accueil/carte) : espace menu→logo = espace titre→bas du bandeau (≈110 px) */
@media (min-width: 1025px) {
  .lc-hero-page:not(.lc-hero-court) .lc-hero-contenu, .lc-hero-cafes .lc-hero-contenu { padding: 159px 0 110px !important; }
}

/* v1.6.8 — Carte des thés : bloc texte « Notre Sélection » centré dans la colonne gauche (bloc ≈ 504 px, colonne = moitié de l'écran) */
@media (min-width: 1200px) {
  .page-id-1682 [data-id="560b75c6"] { margin-left: calc(25vw - 246px - (100vw - 1140px) / 2) !important; }
}

/* v1.7.0 — Nos Cafés + corps de la carte des thés : même largeur de colonne que Notre Histoire (820 px) */
@media (min-width: 1025px) {
  .lc-carte-thes { max-width: 852px !important; }
  .lc-cafes { max-width: 860px !important; }
  .lc-cafes { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
  .lc-cafes-grille { max-width: 100% !important; gap: 30px 44px; }
  .lc-carte-thes .lc-grille { max-width: 100% !important; gap: 26px 44px !important; }
  .lc-menu-carte { max-width: 820px; margin-left: auto !important; margin-right: auto !important; }
  .lc-menu-item { font-size: 12.5px !important; letter-spacing: .6px !important; padding-left: 8px !important; padding-right: 8px !important; }
  .lc-info-item { font-size: 14.5px !important; }
}
/* v1.7.2 — menu des familles sur une seule ligne dans 820 px ; Nos Cafés : marges 20 px comme Notre Histoire */
@media (min-width: 1025px) {
  .lc-cafes { padding-left: 20px !important; padding-right: 20px !important; }
  .lc-menu-carte { gap: 2px !important; flex-wrap: nowrap !important; justify-content: center; padding-left: 0 !important; padding-right: 0 !important; }
  .lc-menu-item { font-size: 11.5px !important; letter-spacing: .3px !important; padding-left: 4px !important; padding-right: 4px !important; white-space: nowrap; }
}

/* v1.7.3 — menu des familles pleine largeur (820 px), police plus lisible ; filet sous le titre de famille à la largeur du corps de page */
@media (min-width: 1025px) {
  .lc-menu-carte { justify-content: space-between !important; padding-left: 14px !important; padding-right: 14px !important; box-sizing: border-box; }
  .lc-menu-item { font-size: 14px !important; letter-spacing: .5px !important; padding-left: 0 !important; padding-right: 0 !important; }
  .page-id-1682 :is([data-id="4cba1a5"],[data-id="96a4bed"],[data-id="02d7e2c"],[data-id="e4733ca"],[data-id="bc70223"],[data-id="22b1405"],[data-id="c6b3136"]) > .elementor-widget-container { max-width: 820px; margin-left: auto !important; margin-right: auto !important; }
}
/* v1.7.4 — menu des familles : police un poil plus grosse */
@media (min-width: 1025px) { .lc-menu-item { font-size: 15px !important; letter-spacing: .3px !important; } }

/* ===== v1.8.0 — Catalogue : fiches articles, cartes, suggestions ===== */
.lc-soustitre { font-family: 'EB Garamond', Georgia, serif; font-style: italic; font-size: 1.15rem; color: var(--lc-brun); margin: -6px 0 14px; letter-spacing: .02em; }
.lc-carte-soustitre { font-family: 'EB Garamond', Georgia, serif; font-style: italic; font-size: .95rem; color: var(--lc-brun); margin: 2px 0 8px; line-height: 1.3; }
.single-product .product_title, .woocommerce-loop-product__title { font-family: 'Bebas Neue', sans-serif !important; letter-spacing: .06em; color: var(--lc-noir); }
.lc-pastilles { margin: 0 0 14px; }
.single-product .lc-badge { display: inline-block; font: 600 .7rem/1 'Montserrat', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--lc-brun); border: 1px solid var(--lc-or); padding: 5px 10px; border-radius: 999px; margin-right: 6px; }

.lc-infos { margin: 18px 0; padding: 14px 0; border-top: 1px solid rgba(176,148,70,.45); border-bottom: 1px solid rgba(176,148,70,.45); }
.lc-infos-liste { display: grid; grid-template-columns: auto 1fr; gap: 6px 22px; margin: 0; }
.lc-infos-liste dt { font: 600 .72rem/1.9 'Montserrat', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--lc-or); }
.lc-infos-liste dd { margin: 0; font-size: 1.05rem; }
.lc-infos .lc-origine { font-style: italic; color: var(--lc-brun); margin: 0 0 8px; }

.lc-demande { margin: 22px 0; padding: 18px 20px; background: #fff; border-left: 3px solid var(--lc-or); }
.lc-demande-titre { font: 400 1.5rem 'Bebas Neue', sans-serif; letter-spacing: .08em; margin: 0 0 10px; color: var(--lc-noir); }
.lc-demande-adresse { margin: 12px 0 0; font-size: .95rem; color: var(--lc-brun); }
.lc-bouton { display: inline-block; margin: 0 8px 8px 0; padding: 12px 20px; background: var(--lc-or); color: #fff !important; font: 600 .78rem/1 'Montserrat', sans-serif; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; border: 1px solid var(--lc-or); transition: background .2s, color .2s; }
.lc-bouton:hover { background: var(--lc-brun); border-color: var(--lc-brun); }
.lc-bouton-clair { background: transparent; color: var(--lc-brun) !important; }
.lc-bouton-clair:hover { color: #fff !important; }

/* Étiquettes (arômes & ingrédients) en pastilles cliquables */
.product_meta { font-size: .95rem; }
.product_meta .tagged_as a, .product_meta .posted_in a { display: inline-block; border: 1px solid rgba(176,148,70,.6); border-radius: 999px; padding: 2px 12px; margin: 2px 4px 2px 0; color: var(--lc-brun); text-decoration: none; transition: background .2s, color .2s; }
.product_meta .tagged_as a:hover, .product_meta .posted_in a:hover { background: var(--lc-or); color: #fff; }

/* Visuels par défaut : sur fond crème, sans cadre */
.woocommerce ul.products li.product img, .woocommerce div.product div.images img { object-fit: contain; background: transparent; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.35rem; margin-bottom: 0; }
.related.products > h2, .upsells > h2 { font-family: 'Bebas Neue', sans-serif; letter-spacing: .08em; font-size: var(--lc-sous-titre); text-align: center; margin: 30px 0 18px; }

/* Pages catalogue (fiche, catégories) : barre de menu pleine, contenu sous le menu */
body.woocommerce #masthead, body.woocommerce-page #masthead { background: var(--lc-noir) !important; position: relative; padding-top: 0 !important; }
body.woocommerce .ast-container, body.woocommerce-page .ast-container { padding-top: 24px; }

/* Fiche produit : ordre d'affichage garanti (indépendant des priorités Astra/WooCommerce) */
.single-product div.product .entry-summary { display: flex; flex-direction: column; }
.single-product .entry-summary > * { order: 20; }
.single-product .entry-summary > .woocommerce-breadcrumb { order: 1; }
.single-product .entry-summary > .single-product-category { order: 2; }
.single-product .entry-summary > .product_title { order: 3; }
.single-product .entry-summary > .lc-soustitre { order: 4; }
.single-product .entry-summary > .lc-pastilles { order: 5; }
.single-product .entry-summary > .price { order: 6; }
.single-product .entry-summary > .woocommerce-product-details__short-description { order: 7; }
.single-product .entry-summary > .lc-infos { order: 8; }
.single-product .entry-summary > .lc-demande { order: 9; }
.single-product .entry-summary > .product_meta { order: 10; }

/* v1.8.3 — en-tête sombre aussi sur la barre principale (pages catalogue) */
body.woocommerce .ast-primary-header-bar, body.woocommerce-page .ast-primary-header-bar { background: var(--lc-noir) !important; }

/* v1.8.4 — menu principal : capitales Montserrat, sous-menus sombres */
.ast-primary-header-bar .main-header-menu .menu-link { font-family: 'Montserrat', sans-serif; text-transform: uppercase; letter-spacing: .14em; font-size: .8rem; font-weight: 500; }
.main-header-menu .sub-menu { background: var(--lc-noir) !important; border: 0 !important; box-shadow: 0 10px 25px rgba(0,0,0,.3); min-width: 260px; }
.main-header-menu .sub-menu .menu-link { font-size: .75rem; padding: .7rem 1.2rem; border: 0 !important; color: #f3e9dc !important; }
.main-header-menu .sub-menu .menu-link:hover { color: #c98b55 !important; }
.main-header-menu .sub-menu li > a[href*="filtres=1"] { border-top: 1px solid rgba(255,255,255,.15) !important; font-style: italic; }
@media (min-width: 922px) {
  .ast-primary-header-bar .main-header-menu > .menu-item > .menu-link { font-size: .82rem !important; letter-spacing: .14em !important; white-space: nowrap; padding: 0 1rem !important; }
  .ast-primary-header-bar .main-header-menu .sub-menu .menu-link { font-size: .75rem !important; letter-spacing: .12em !important; white-space: nowrap; }
}
@media (min-width: 922px) {
  .ast-primary-header-bar .site-primary-header-wrap, .ast-primary-header-bar .site-header-primary-section-center, .ast-primary-header-bar .ast-builder-menu-1, .ast-primary-header-bar .main-header-menu { flex: 1 1 100% !important; max-width: 100% !important; justify-content: center; flex-wrap: nowrap !important; }
  .ast-primary-header-bar .main-header-menu > .menu-item > .menu-link { padding: 0 .75rem !important; font-size: .78rem !important; }
}

/* ===== v1.9.0 ===== */
:root { --lc-garamond: 'EB Garamond', Georgia, serif; }

/* Titres de page : EB Garamond (comme « Notre Histoire »), sous-titres Bebas */
body:not(.home) h1.entry-title, body:not(.home) h1.page-title, body:not(.home) .woocommerce-products-header h1 {
  font-family: var(--lc-garamond) !important; font-weight: 500 !important; text-transform: none !important;
  font-size: clamp(2.3rem, 5vw, 3.8rem) !important; line-height: 1.1 !important; letter-spacing: 0 !important; color: #b88a56;
}
body.page:not(.elementor-page) .entry-content h2 { font-family: var(--lc-garamond); font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.1rem); }
.lc-details h2 { font-family: var(--lc-garamond); font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.1rem); text-align: left; }

/* En-tête : barre sombre sur toutes les pages sans visuel plein écran ; dégradé renforcé ailleurs (lisibilité) */
body:not(.home):not(.elementor-page) #masthead.site-header,
body:not(.home):not(.elementor-page) .ast-primary-header-bar { background: var(--lc-noir) !important; }
body.home #masthead.site-header, body.elementor-page #masthead.site-header {
  background: linear-gradient(to bottom, rgba(0,0,0,.78) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,0) 100%) !important;
}
body.home .ast-primary-header-bar .main-header-menu .menu-link, body.elementor-page .ast-primary-header-bar .main-header-menu .menu-link { text-shadow: 0 1px 4px rgba(0,0,0,.85); }
/* Accueil : image du bandeau atténuée */
body.home .elementor-element-4e9f254 { position: relative; }
body.home .elementor-element-4e9f254::before { content: ''; position: absolute; inset: 0; background: rgba(25,15,8,.38); z-index: 0; pointer-events: none; }
body.home .elementor-element-4e9f254 > * { position: relative; z-index: 1; }

/* Mini logo dans la barre */
#masthead { position: relative; }
.lc-logo-mini { position: absolute; left: 22px; top: 50%; transform: translateY(-50%); z-index: 6; line-height: 0; }
.lc-logo-mini img { height: 46px; width: auto; }
@media (max-width: 921px) { .lc-logo-mini { left: 16px; } .lc-logo-mini img { height: 36px; } }

/* ===== Grille du catalogue : tout est aligné ===== */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.75rem 1.75rem; margin: 0 0 2rem !important; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; text-align: left; padding: 0 !important; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { margin-bottom: 1rem; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; display: block; }
.woocommerce ul.products li.product .astra-shop-summary-wrap { display: flex; flex-direction: column; flex: 1; align-items: flex-start; }
.woocommerce ul.products li.product .ast-woo-product-category { display: none; }
.woocommerce ul.products li.product .ast-loop-product__link { display: block; width: 100%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.5em; margin: 0 0 .35rem; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.woocommerce ul.products li.product .lc-carte-soustitre { min-height: 2.9em; margin: 0 0 1rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.woocommerce ul.products li.product .button { margin-top: auto !important; background: transparent !important; color: #3b2a20 !important; border: 1px solid #3b2a20 !important; border-radius: 0 !important; padding: .4rem 1.05rem !important; font-family: 'Montserrat', sans-serif !important; font-size: .66rem !important; letter-spacing: .18em; text-transform: uppercase; line-height: 1.3 !important; transition: .2s; }
.woocommerce ul.products li.product .button:hover { background: #3b2a20 !important; color: #fff !important; }
@media (max-width: 1100px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; } .woocommerce ul.products li.product .lc-carte-soustitre { font-size: .9rem; } }

/* ===== Fiche article : titre en haut pleine largeur, photo dessous (plus petite), résumé à droite ===== */
.single-product div.product { display: grid !important; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); column-gap: 3.5rem; row-gap: 0; padding-top: 1.5rem; }
.single-product div.product > .entry-summary { display: contents !important; }
.single-product div.product .woocommerce-breadcrumb { grid-column: 1 / -1; grid-row: 1; order: 0; margin-bottom: .8rem; }
.single-product div.product .single-product-category { grid-column: 1 / -1; grid-row: 2; order: 0; }
.single-product div.product .product_title { grid-column: 1 / -1; grid-row: 3; order: 0; margin: .2rem 0 .3rem; }
.single-product div.product .lc-soustitre { grid-column: 1 / -1; grid-row: 4; order: 0; margin: 0 0 1.75rem; }
.single-product div.product .woocommerce-product-gallery { grid-column: 1; grid-row: 5 / 11; width: 100% !important; max-width: 340px; margin: 0 !important; float: none !important; align-self: start; }
.single-product div.product .lc-pastilles { grid-column: 2; grid-row: 5; order: 0; }
.single-product div.product p.price { grid-column: 2; grid-row: 6; order: 0; }
.single-product div.product p.price:empty { display: none; }
.single-product div.product .woocommerce-product-details__short-description { grid-column: 2; grid-row: 7; order: 0; margin-bottom: 1rem; }
.single-product div.product .lc-infos { grid-column: 2; grid-row: 8; order: 0; }
.single-product div.product .lc-demande { grid-column: 2; grid-row: 9; order: 0; }
.single-product div.product .product_meta { grid-column: 2; grid-row: 10; order: 0; margin-top: 1rem; }
.single-product div.product > .related { grid-column: 1 / -1; grid-row: 12; margin-top: 3rem; }
.single-product div.product > .lc-details { grid-column: 1 / -1; grid-row: 13; margin-top: 2rem; }
.single-product div.product > .lc-details[hidden] { display: none; }
.single-product .woocommerce-product-gallery img { max-height: 340px; width: 100%; object-fit: contain; }

/* Bloc « Disponible à la boutique » : discret */
.lc-demande { margin: 1.25rem 0 0; padding: .9rem 0 0; border: 0; border-top: 1px solid #e2d3c0; background: none; box-shadow: none; font-size: .98rem; }
.lc-demande-titre { display: block; font-family: 'Montserrat', sans-serif; font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; color: #8a6f4a; margin-bottom: .45rem; }
.lc-demande a { margin-right: 1.4rem; color: #3b2a20; text-decoration: underline; text-underline-offset: 3px; }
.lc-demande a:hover { color: #b88a56; }
.lc-demande-adresse { display: block; margin-top: .3rem; opacity: .7; font-size: .9rem; }

/* Bouton « Voir les détails » + détail */
.lc-voir-details { background: transparent; border: 1px solid #3b2a20; border-radius: 0; color: #3b2a20; padding: .5rem 1.3rem; font-family: 'Montserrat', sans-serif; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; cursor: pointer; margin: .5rem 0 0; transition: .2s; }
.lc-voir-details:hover { background: #3b2a20; color: #fff; }
.lc-detail-bloc { margin: 0 0 1.5rem; max-width: 760px; }
.lc-detail-bloc h3 { font-size: 1.15rem; margin: 0 0 .3rem; }

/* Mobile */
@media (max-width: 768px) {
  .single-product div.product { grid-template-columns: minmax(0, 1fr); }
  .single-product div.product .woocommerce-product-gallery { grid-column: 1; grid-row: 5; max-width: 240px; margin: 0 auto 1.5rem !important; }
  .single-product div.product .lc-pastilles { grid-column: 1; grid-row: 6; }
  .single-product div.product p.price { grid-column: 1; grid-row: 7; }
  .single-product div.product .woocommerce-product-details__short-description { grid-column: 1; grid-row: 8; }
  .single-product div.product .lc-infos { grid-column: 1; grid-row: 9; }
  .single-product div.product .lc-demande { grid-column: 1; grid-row: 10; }
  .single-product div.product .product_meta { grid-column: 1; grid-row: 11; }
  .single-product .woocommerce-product-gallery img { max-height: 240px; }
  .lc-pastilles-couleur { gap: .4rem; }
  .lc-pastille-couleur { font-size: .85rem; padding: .3rem .7rem; }
}
@media (min-width: 922px) { .ast-primary-header-bar .site-primary-header-wrap { padding-left: 110px !important; padding-right: 20px !important; } }
/* Carte : image → titre → sous-titre → bouton (tous les éléments deviennent des blocs de la carte) */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap, .woocommerce ul.products li.product .astra-shop-summary-wrap { display: contents; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a, .woocommerce ul.products li.product .astra-shop-thumbnail-wrap > img { order: 1; margin-bottom: 1rem; display: block; }
.woocommerce ul.products li.product .ast-loop-product__link { order: 2; }
.woocommerce ul.products li.product .lc-carte-soustitre { order: 3; }
.woocommerce ul.products li.product .button { order: 4; align-self: flex-start; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.5em; }
.woocommerce ul.products li.product .lc-carte-soustitre { margin: 0 0 1.1rem; min-height: 2.9em; }
.woocommerce ul.products li.product .onsale, .woocommerce ul.products li.product .ast-on-card-button { display: none !important; }
/* Finitions v1.9.1 */
.lc-infos { border-bottom: 0 !important; padding-bottom: 0; }
.single-product .related.products { padding: 0; }
.single-product .related.products > h2 { text-align: left; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a { margin-bottom: .4rem; }
/* Pied de page : niveau 1 du menu seulement */
.site-footer .sub-menu, .ast-footer-copyright .sub-menu, footer .menu .sub-menu { display: none !important; }

/* ===== v1.10 — échelle typographique réduite, resserrement, rectangles discrets ===== */
body { font-size: 16px !important; line-height: 1.6 !important; }
body:not(.home) h1.entry-title, body:not(.home) h1.page-title, body:not(.home) .woocommerce-products-header h1 { font-size: clamp(1.8rem, 3vw, 2.4rem) !important; margin: 0 0 .5rem !important; }
body.page:not(.elementor-page) .entry-content h2, .lc-details h2 { font-size: 1.5rem; }
.woocommerce-breadcrumb { font-size: .82rem !important; margin: 0 0 .6rem !important; }
#primary { margin-top: 1.25rem !important; margin-bottom: 2rem !important; }
.woocommerce-products-header { margin: 0 0 .5rem !important; }
.woocommerce-result-count, .woocommerce-ordering { font-size: .85rem; margin: 0 0 1rem !important; }
.woocommerce-ordering select { font-size: .85rem; padding: .3rem 1.5rem .3rem .5rem; }
.lc-filtres { margin-bottom: .75rem; }
.lc-pastilles-couleur { margin-bottom: .75rem; gap: .4rem; }
.lc-pastille-couleur { font-size: .85rem; padding: .28rem .8rem; }
.lc-ouvrir-tiroir { font-size: .64rem; padding: .45rem 1.1rem; margin: 0 0 .5rem; }

/* Menu : plus fin, centré verticalement avec le logo, sans « Accueil » ni « Contact » */
#masthead.site-header { padding-top: 0 !important; }
@media (min-width: 922px) {
  .ast-primary-header-bar .site-primary-header-wrap { min-height: 68px; align-items: center; padding-top: 0 !important; padding-bottom: 0 !important; }
  .ast-primary-header-bar .main-header-menu > .menu-item > .menu-link { font-size: .7rem !important; letter-spacing: .15em !important; height: 68px; line-height: 1 !important; display: flex; align-items: center; padding: 0 1rem !important; }
  .ast-primary-header-bar .main-header-menu .sub-menu .menu-link { font-size: .66rem !important; height: auto; display: block; }
}

/* Cartes du catalogue : rectangle discret, plus resserrées */
.woocommerce ul.products { gap: 1.25rem !important; }
.woocommerce ul.products li.product { border: 1px solid #e9dcc9; border-radius: 3px; padding: .9rem !important; background: rgba(255,255,255,.35); transition: border-color .2s; }
.woocommerce ul.products li.product:hover { border-color: #b88a56; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a { margin-bottom: .6rem; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { aspect-ratio: 5 / 4; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem !important; min-height: 2.5em; margin: 0 0 .25rem; }
.woocommerce ul.products li.product .lc-carte-soustitre { font-size: .86rem !important; min-height: 2.6em; margin: 0 0 .8rem; line-height: 1.35; }
.woocommerce ul.products li.product .button { font-size: .6rem !important; padding: .35rem .9rem !important; }

/* Fiche article : trois rectangles (titre · fiche · suggestions) + détails sous la fiche */
.single-product div.product { display: grid !important; grid-template-columns: 1.5rem 260px 2rem minmax(0, 1fr) 1.5rem !important; grid-template-rows: repeat(4, auto) 1rem 1.25rem repeat(6, auto) 1.25rem; column-gap: 0 !important; padding-top: 0 !important; }
.single-product div.product::before, .single-product div.product::after { content: '' !important; display: block !important; clear: none !important; pointer-events: none; border: 1px solid #e6d9c8; border-radius: 3px; grid-column: 1 / -1; }
.single-product div.product::before { grid-row: 1 / 5; background: rgba(255,255,255,.35); }
.single-product div.product::after { grid-row: 6 / 14; }
.single-product div.product .woocommerce-breadcrumb { grid-column: 2 / 5; grid-row: 1; margin: 1rem 0 .3rem !important; }
.single-product div.product .single-product-category { grid-column: 2 / 5; grid-row: 2; font-size: .85rem; margin: 0 !important; }
.single-product div.product .product_title { grid-column: 2 / 5; grid-row: 3; margin: 0 !important; }
.single-product div.product .lc-soustitre { grid-column: 2 / 5; grid-row: 4; margin: 0 0 1rem !important; font-size: 1.05rem; }
.single-product div.product .woocommerce-product-gallery { grid-column: 2 !important; grid-row: 7 / 13 !important; max-width: 260px !important; margin: 0 !important; align-self: start; }
.single-product div.product .lc-pastilles { grid-column: 4; grid-row: 7; margin: 0 0 .4rem; }
.single-product div.product p.price { grid-column: 4; grid-row: 8; }
.single-product div.product .woocommerce-product-details__short-description { grid-column: 4 !important; grid-row: 9 !important; margin: 0 0 .75rem !important; }
.single-product div.product .lc-infos { grid-column: 4 !important; grid-row: 10 !important; }
.single-product div.product .lc-demande { grid-column: 4 !important; grid-row: 11 !important; }
.single-product div.product .product_meta { grid-column: 4 !important; grid-row: 12 !important; margin: .6rem 0 0 !important; font-size: .85rem; }
.single-product div.product > .lc-details { grid-column: 1 / -1; grid-row: 14; margin-top: 1rem; }
.single-product div.product > .related { grid-column: 1 / -1 !important; grid-row: 15 !important; margin-top: 1rem !important; }
.single-product .woocommerce-product-gallery img { max-height: 230px !important; }
.lc-infos-liste { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .2rem 1.5rem; }
.lc-infos-liste dt { font-size: .62rem !important; align-self: center; margin: 0; }
.lc-infos-liste dd { font-size: 1rem !important; margin: 0; }
.lc-infos .lc-pictos li { padding: .1rem 0 !important; }
.lc-origine { font-size: .75rem !important; margin: .2rem 0 .4rem !important; }
.lc-voir-details { margin: .6rem 0 0; padding: .4rem 1.1rem; font-size: .62rem; }

/* « Disponible à la boutique » : une ligne + fenêtre */
.lc-demande { border: 0 !important; padding: 0 !important; margin: .6rem 0 0 !important; }
.lc-demande-ouvrir { background: none; border: 0; border-top: 1px solid #e6d9c8; width: 100%; text-align: left; padding: .6rem 0 0; font-family: 'Montserrat', sans-serif; font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: #8a6f4a; cursor: pointer; }
.lc-demande-ouvrir:hover { color: #3b2a20; }
.lc-modale { border: 1px solid #e6d9c8; border-radius: 4px; padding: 1.5rem 1.75rem; max-width: 380px; width: 90vw; background: #fbf6f0; color: #3b2a20; }
.lc-modale::backdrop { background: rgba(30,20,15,.5); }
.lc-modale form { position: absolute; top: .5rem; right: .75rem; margin: 0; }
.lc-modale-fermer { background: none !important; border: 0; color: #3b2a20 !important; font-size: 1.1rem; cursor: pointer; padding: .2rem .4rem; }
.lc-modale p { margin: 0 0 .6rem; }
.lc-modale-titre { font-family: 'Bebas Neue', sans-serif; font-size: 1.3rem; letter-spacing: .05em; }
.lc-modale-sous, .lc-modale-adresse { font-size: .9rem; opacity: .75; }
.lc-modale-tel { font-size: 1.4rem; text-decoration: none; }
.lc-modale a { color: #3b2a20; }

/* Détails et suggestions */
.lc-details { border: 1px solid #e6d9c8; border-radius: 3px; padding: 1.1rem 1.5rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .75rem 2rem; }
.lc-details[hidden] { display: none; }
.lc-details h2 { grid-column: 1 / -1; margin: 0 !important; }
.lc-detail-bloc { margin: 0; max-width: none; }
.lc-detail-bloc h3 { font-size: 1rem; margin: 0 0 .15rem; }
.lc-detail-bloc p { margin: 0; font-size: .95rem; }
.single-product .related.products { border: 1px solid #e6d9c8; border-radius: 3px; padding: 1rem 1.5rem 1.25rem !important; }
.single-product .related.products > h2 { font-size: 1.1rem !important; margin: 0 0 .75rem !important; }
.single-product .related ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem !important; margin: 0 !important; }
.single-product .related ul.products li.product { padding: .6rem !important; align-items: center; text-align: center; }
.single-product .related ul.products li.product .astra-shop-thumbnail-wrap img { max-height: 80px; width: auto; aspect-ratio: auto; margin: 0 auto; }
.single-product .related ul.products li.product .ast-loop-product__link { width: 100%; }
.single-product .related ul.products li.product .woocommerce-loop-product__title { font-size: .85rem !important; min-height: 2.4em; text-align: center; }
.single-product .related ul.products li.product .lc-carte-soustitre, .single-product .related ul.products li.product .button { display: none !important; }

@media (max-width: 768px) {
  .single-product div.product { grid-template-columns: 1rem minmax(0, 1fr) 1rem !important; grid-template-rows: repeat(4, auto) 1rem 1.25rem repeat(7, auto) 1.25rem; }
  .single-product div.product::after { grid-row: 6 / 15; }
  .single-product div.product .woocommerce-breadcrumb, .single-product div.product .single-product-category, .single-product div.product .product_title, .single-product div.product .lc-soustitre { grid-column: 2; }
  .single-product div.product .woocommerce-product-gallery { grid-column: 2 !important; grid-row: 7 !important; margin: 0 auto 1rem !important; max-width: 200px !important; }
  .single-product div.product .lc-pastilles { grid-column: 2; grid-row: 8; }
  .single-product div.product p.price { grid-column: 2; grid-row: 9; }
  .single-product div.product .woocommerce-product-details__short-description { grid-column: 2 !important; grid-row: 10 !important; }
  .single-product div.product .lc-infos { grid-column: 2 !important; grid-row: 11 !important; }
  .single-product div.product .lc-demande { grid-column: 2 !important; grid-row: 12 !important; }
  .single-product div.product .product_meta { grid-column: 2 !important; grid-row: 13 !important; }
  .single-product div.product > .lc-details { grid-row: 15; }
  .single-product div.product > .related { grid-row: 16 !important; }
  .single-product .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce ul.products { gap: .75rem !important; }
  .woocommerce ul.products li.product { padding: .6rem !important; }
}
/* Finitions v1.10.1 */
.single-product div.product .lc-infos { margin: 0 !important; padding: .6rem 0 0 !important; }
.single-product div.product .woocommerce-product-details__short-description p { margin: 0; }
.single-product .product_meta { border-top: 0 !important; padding-top: 0 !important; }
.single-product .product_meta > span { display: block; margin: 0 0 .3rem; }
.single-product .product_meta a { font-size: .78rem; padding: .08rem .6rem !important; }
/* v1.10.2 : catalogue plus compact */
.woocommerce-ordering { display: none !important; }
.woocommerce-result-count { margin: 0 0 .75rem !important; float: none !important; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { aspect-ratio: 3 / 2 !important; }
.lc-ouvrir-tiroir { margin-bottom: .25rem !important; }
.lc-detail-bloc h3 { font-family: 'Montserrat', sans-serif !important; font-size: .62rem !important; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: #8a6f4a !important; margin: 0 0 .2rem !important; }
/* v1.10.3 : finitions */
/* tiroir affiner : plus fin */
.lc-tiroir-tete { font-family: 'Montserrat', sans-serif !important; font-size: .7rem !important; letter-spacing: .2em; text-transform: uppercase; padding: .8rem 1.25rem !important; }
.lc-tiroir-corps { padding: 1rem 1.25rem !important; gap: 1.1rem 1.75rem !important; }
.lc-groupe legend { font-family: 'Montserrat', sans-serif !important; font-size: .6rem !important; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: #8a6f4a !important; margin-bottom: .5rem !important; }
.lc-option span { font-size: .76rem !important; padding: .18rem .65rem !important; border-color: #e3d3c0 !important; background: transparent !important; }
.lc-option input:checked + span { background: #3b2a20 !important; border-color: #3b2a20 !important; color: #fff !important; }
.lc-options { gap: .3rem !important; }
.lc-tiroir-pied { padding: .75rem 1.25rem !important; }
.lc-tiroir-pied .lc-bouton { padding: .5rem 1.2rem !important; font-size: .64rem !important; }
/* photo centrée verticalement */
.single-product div.product .woocommerce-product-gallery { align-self: center !important; }
/* bouton boutique : texte seul en survol */
.lc-demande-ouvrir:hover, .lc-demande-ouvrir:focus, .lc-demande-ouvrir:active { background: none !important; box-shadow: none !important; border-color: #e6d9c8 !important; color: #8a6f4a !important; }
/* carrousel : sous-titre discret */
.single-product .related ul.products li.product .lc-carte-soustitre { display: -webkit-box !important; font-size: .74rem !important; min-height: 0 !important; margin: .1rem 0 0 !important; line-height: 1.3 !important; -webkit-line-clamp: 2; }
/* échelle de texte unifiée dans le rectangle article */
.single-product div.product .woocommerce-product-details__short-description, .single-product div.product .woocommerce-product-details__short-description p { font-size: 1rem !important; line-height: 1.5 !important; }
.single-product .lc-infos-liste dd { font-size: 1rem !important; line-height: 1.5 !important; }
/* accueil : photo atténuée */
body.home .elementor-element.elementor-element-4e9f254::before { background-image: none !important; background-color: rgba(25,15,8,.55) !important; opacity: 1 !important; }
/* v1.10.4 : accueil, voile intégré au fond */
body.home .elementor-element.elementor-element-4e9f254 { background-image: linear-gradient(rgba(25,15,8,.64), rgba(25,15,8,.64)), url("/wp-content/uploads/2026/06/Silos-Cafes.webp") !important; }
body.home .elementor-element.elementor-element-4e9f254::before { display: none !important; }
/* v1.10.5 : carrousel centré, famille puis parfum */
.single-product .related ul.products li.product { text-align: center; }
.single-product .related ul.products li.product .woocommerce-loop-product__title, .single-product .related ul.products li.product .astra-shop-summary-wrap { text-align: center !important; }
.single-product .related ul.products li.product .lc-carte-soustitre { display: block !important; text-align: center !important; -webkit-line-clamp: unset; overflow: visible; }
.single-product .related .lc-carte-soustitre span { display: block; }
.single-product .related .lc-carte-soustitre .lc-s1 { font-family: 'Montserrat', sans-serif; font-style: normal; font-size: .58rem; letter-spacing: .16em; text-transform: uppercase; color: #8a6f4a; margin-bottom: .15rem; }
.single-product .related .lc-carte-soustitre .lc-s2 { font-size: .8rem; }
/* catalogue : rendu inchangé sur une ligne */
ul.products:not(.x) .lc-carte-soustitre .lc-s1::after { content: " | "; }
.single-product .related .lc-carte-soustitre .lc-s1::after { content: none; }
.single-product .related ul.products li.product .lc-carte-soustitre .lc-s1::after { content: none !important; }
/* v1.10.6 : carrousel — type en clair, sans séparateur */
.single-product .related .lc-carte-soustitre .lc-s1 { font-family: 'EB Garamond', Georgia, serif !important; font-size: .9rem !important; letter-spacing: 0 !important; text-transform: none !important; color: #3b2a20 !important; margin-bottom: .1rem; }
.single-product .related .lc-carte-soustitre .lc-s1::after, .single-product .related .lc-carte-soustitre .lc-s1:after { content: "" !important; display: none !important; }
/* v1.10.7 : carrousel plus serré */
.single-product .related ul.products li.product .astra-shop-summary-wrap { display: flex; flex-direction: column; gap: 0 !important; }
.single-product .related ul.products li.product .woocommerce-loop-product__title { margin: 0 0 .15rem !important; padding: 0 !important; line-height: 1.15 !important; }
.single-product .related ul.products li.product .lc-carte-soustitre { margin: 0 !important; padding: 0 !important; min-height: 0 !important; line-height: 1.25 !important; }
.single-product .related ul.products li.product .lc-carte-soustitre .lc-s1 { margin: 0 !important; }
.single-product .related ul.products li.product { padding-bottom: .7rem !important; }
/* v1.10.8 : vignettes catalogue — type puis parfum, à gauche, sans « | » */
.woocommerce ul.products li.product .lc-carte-soustitre { text-align: left !important; min-height: 4.1em !important; margin: 0 0 .9rem !important; line-height: 1.3 !important; display: block !important; -webkit-line-clamp: unset; overflow: visible; }
.woocommerce ul.products li.product .lc-carte-soustitre span { display: block; }
.woocommerce ul.products li.product .lc-carte-soustitre .lc-s1 { font-style: normal; font-size: .95rem; color: #3b2a20; }
.woocommerce ul.products li.product .lc-carte-soustitre .lc-s1::after { content: none !important; display: none !important; }
.woocommerce ul.products li.product .lc-carte-soustitre .lc-s2 { font-size: .86rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin-bottom: .25rem !important; }
/* le carrousel garde son propre rendu centré */
.single-product .related ul.products li.product .lc-carte-soustitre { text-align: center !important; min-height: 0 !important; margin: 0 !important; }
/* v1.10.9 : bouton Découvrir centré */
.woocommerce ul.products li.product .astra-shop-summary-wrap { display: flex; flex-direction: column; }
.woocommerce ul.products li.product .astra-shop-summary-wrap .button { align-self: center !important; margin-left: auto !important; margin-right: auto !important; }
/* v1.10.10 : correctif ordre — bouton sous le texte, centré */
.woocommerce ul.products li.product .astra-shop-summary-wrap, .single-product .related ul.products li.product .astra-shop-summary-wrap { display: contents !important; }
.woocommerce ul.products li.product .button { order: 4 !important; align-self: center !important; margin-left: auto !important; margin-right: auto !important; }
/* v1.11.0 : accueil harmonisé (option A) — retour possible : versions/style_v1.10.10_avant-accueil.css */
body.home #masthead.site-header, body.home .ast-primary-header-bar { background: var(--lc-noir) !important; }
body.home .ast-primary-header-bar .main-header-menu .menu-link { text-shadow: none !important; }
/* héros plus bas */
body.home .elementor-element-4e9f254 { min-height: 62vh !important; height: auto !important; padding-top: 3rem !important; padding-bottom: 3rem !important; }
body.home .elementor-element-4e9f254 h3.elementor-heading-title { font-size: clamp(1.1rem, 1.8vw, 1.35rem) !important; line-height: 1.4 !important; font-weight: 400 !important; }
/* échelle typo des sections */
body.home .elementor-heading-title.elementor-size-default, body.home h2.elementor-heading-title { font-family: 'EB Garamond', Georgia, serif !important; font-weight: 500 !important; font-size: clamp(1.5rem, 2.4vw, 1.9rem) !important; line-height: 1.2 !important; letter-spacing: 0 !important; }
body.home h3.elementor-heading-title { font-size: clamp(1.15rem, 1.8vw, 1.4rem) !important; line-height: 1.25 !important; }
body.home .elementor-widget-text-editor, body.home .elementor-widget-text-editor p, body.home .elementor-widget-container p { font-size: 1rem !important; line-height: 1.6 !important; }
body.home a.elementor-button { background: transparent !important; border: 1px solid currentColor !important; border-radius: 0 !important; font-family: 'Montserrat', sans-serif !important; font-size: .68rem !important; letter-spacing: .18em; text-transform: uppercase; padding: .7rem 1.6rem !important; box-shadow: none !important; }
/* sections plus compactes */
body.home .elementor-element-43f8116, body.home .elementor-element-88b7db9, body.home .elementor-element-fd7a4f5 { min-height: 0 !important; padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
body.home .elementor-element-88b7db9 { background-color: var(--lc-creme, #fbf6f0) !important; }
/* v1.11.1 : neutralise les marges négatives Elementor du héros */
body.home .elementor-element-566fc8b, body.home .elementor-element-73eb593, body.home .elementor-element-6d43816, body.home .elementor-element-73eb593 > *, body.home .elementor-element-6d43816 > *, body.home .elementor-element-43f8116 { margin-top: 0 !important; margin-bottom: 0 !important; }
body.home .elementor-element-4e9f254 { justify-content: center !important; }
body.home .elementor-element-6d43816 { margin-top: 1rem !important; }
/* v1.11.2 : Notre Sélection plus fine */
body.home .elementor-element-88b7db9 h3.elementor-heading-title { font-size: 1.15rem !important; letter-spacing: .08em !important; }
body.home .elementor-element-88b7db9 .elementor-widget-image img { max-width: 200px !important; height: auto; }
/* v1.11.3 : accueil resserré, image de droite réduite */
body.home .elementor-element-cf99afc { padding: 2.5rem 3rem 0 0 !important; justify-content: center; }
body.home .elementor-element-43f8116 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
body.home .elementor-element-43f8116 > .e-con-inner, body.home .elementor-element-cf99afc, body.home .elementor-element-22dba94 { min-height: 0 !important; height: auto !important; }
body.home .elementor-element-25696c1 { height: 380px !important; max-height: 380px; overflow: hidden; }
body.home .elementor-element-25696c1 img { width: 100% !important; height: 380px !important; max-width: 100% !important; object-fit: cover; object-position: center; }
body.home .elementor-element-80a4a6c { padding-top: 0 !important; }
body.home .elementor-element-61d984d { height: auto !important; min-height: 0 !important; }
body.home .elementor-element-88b7db9 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
body.home .elementor-element-fd7a4f5 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
body.home .elementor-element-cf99afc { padding-right: 3.5rem !important; }
body.home .elementor-element-cf99afc .elementor-widget, body.home .elementor-element-cf99afc .elementor-widget-container { width: 100% !important; max-width: 100% !important; }
/* v1.11.4 : accueil — image qui déborde sur le héros, sous-titre, sélection resserrée */
body.home .elementor-element-43f8116 { position: relative; z-index: 3; }
body.home .elementor-element-22dba94 { margin-top: -110px !important; position: relative; z-index: 3; }
body.home .elementor-element-25696c1 { height: 470px !important; max-height: 470px; overflow: hidden; }
body.home .elementor-element-25696c1 img { height: 470px !important; }
body.home .elementor-element-cf99afc h1, body.home .elementor-element-cf99afc h2, body.home .elementor-element-cf99afc h3, body.home .elementor-element-cf99afc h4 { font-size: clamp(1.1rem, 1.7vw, 1.3rem) !important; line-height: 1.35 !important; }
body.home .elementor-element-cf99afc h2:first-child, body.home .elementor-element-cf99afc .elementor-widget:first-child .elementor-heading-title { font-size: clamp(1.5rem, 2.4vw, 1.9rem) !important; }
/* Notre Sélection : compact et élégant */
body.home .elementor-element-88b7db9 { padding-top: 2rem !important; padding-bottom: 2.25rem !important; }
body.home .elementor-element-88b7db9 .elementor-heading-title:not(h2) { font-size: 1.15rem !important; letter-spacing: .1em !important; margin: 0 !important; }
body.home .elementor-element-6ff2fd6 { max-width: 760px !important; margin: 0 auto !important; gap: 2rem !important; justify-content: center !important; }
body.home .elementor-element-6ff2fd6 > * { flex: 1 1 0 !important; width: auto !important; max-width: 360px !important; min-height: 0 !important; height: auto !important; gap: .5rem !important; }
body.home .elementor-element-6ff2fd6 .elementor-widget-image img { max-width: 130px !important; }
body.home .elementor-element-6ff2fd6 .elementor-widget-container p, body.home .elementor-element-6ff2fd6 .elementor-widget-text-editor { font-size: .95rem !important; line-height: 1.5 !important; margin: 0 !important; }
body.home .elementor-element-88b7db9 .elementor-button { font-family: 'Montserrat', sans-serif !important; font-size: .64rem !important; letter-spacing: .18em !important; text-transform: uppercase !important; padding: .55rem 1.3rem !important; background: transparent !important; border: 1px solid currentColor !important; }
body.home .elementor-element-88b7db9 .e-con, body.home .elementor-element-88b7db9 .elementor-widget { margin-top: 0 !important; margin-bottom: 0 !important; }
body.home .elementor-element-61d984d, body.home .elementor-element-80a4a6c { padding: 0 0 .75rem !important; }
body.home .elementor-element-cf99afc h5 { font-size: clamp(1.05rem, 1.5vw, 1.2rem) !important; line-height: 1.4 !important; font-weight: 500 !important; }
body.home .elementor-element-22dba94 { justify-content: flex-start !important; align-self: flex-start !important; }
body.home .elementor-element-22dba94 > .elementor-element-25696c1 { margin-top: 0 !important; }
body.home .elementor-element.elementor-element-cf99afc h5.elementor-heading-title.elementor-size-default { font-size: 1.2rem !important; line-height: 1.4 !important; }
body.home .elementor-element.elementor-element-cf99afc h2.elementor-heading-title { font-size: 1.9rem !important; }
body.home .elementor-element.elementor-element-6ff2fd6 .elementor-heading-title { font-size: 1.2rem !important; letter-spacing: .12em !important; }
/* v1.11.5 */
body.home .elementor-element-25696c1 img { transform: scale(.9); transform-origin: top right; }
body.home .elementor-element-25696c1 { height: 430px !important; max-height: 430px; overflow: visible; }
body.home .elementor-element-cf99afc .elementor-widget-text-editor, body.home .elementor-element-cf99afc .elementor-widget-text-editor p, body.home .elementor-element.elementor-element-cf99afc .elementor-widget-container p { font-size: .92rem !important; line-height: 1.55 !important; }
/* Avis Google compact */
body.home .elementor-element-fd7a4f5 { padding-top: 1.75rem !important; padding-bottom: 1.75rem !important; }
body.home .elementor-element-fd7a4f5 > .e-con-inner { min-height: 0 !important; height: auto !important; }
body.home .elementor-element-0e6d68b { padding: 0 !important; height: auto !important; gap: 0 !important; }
body.home .elementor-element-0e6d68b .elementor-widget-container { padding-top: 0 !important; padding-bottom: .6rem !important; }
body.home .elementor-element-0e6d68b .elementor-widget-container p, body.home .elementor-element-0e6d68b .elementor-widget-text-editor { font-size: .95rem !important; line-height: 1.5 !important; margin: 0 !important; }
body.home .elementor-element.elementor-element-fd7a4f5 h2.elementor-heading-title { font-size: 1.6rem !important; }
body.home .elementor-element-0e6d68b .elementor-widget { margin: 0 !important; }
/* v1.12.0 : accueil — cartes photo + sélection du moment */
body.home .elementor-element-88b7db9 { display: none !important; }
.lc-accueil { background: var(--lc-creme, #FAF7F2); padding: 2.5rem 1.5rem 2rem; }
.lc-cartes-photo { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.lc-carte-photo { position: relative; display: block; aspect-ratio: 4 / 3; max-height: 380px; width: 100%; background-size: cover; background-position: center; overflow: hidden; text-decoration: none; }
.lc-carte-photo::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(25,15,8,.82) 0%, rgba(25,15,8,.35) 38%, rgba(25,15,8,0) 62%); transition: background .3s; }
.lc-carte-photo:hover::before { background: linear-gradient(to top, rgba(25,15,8,.9) 0%, rgba(25,15,8,.45) 42%, rgba(25,15,8,.05) 68%); }
.lc-carte-photo-texte { position: absolute; left: 1.5rem; right: 1.5rem; bottom: 1.25rem; color: #fff; display: flex; flex-direction: column; gap: .25rem; }
.lc-carte-photo-titre { font-family: 'Montserrat', sans-serif; font-size: .8rem; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; }
.lc-carte-photo-ligne { font-family: 'EB Garamond', Georgia, serif; font-size: 1rem; opacity: .9; }
.lc-carte-photo-lien { font-family: 'Montserrat', sans-serif; font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: #e2c9a0; margin-top: .35rem; }
.lc-selection { max-width: 1140px; margin: 2.5rem auto 0; }
.lc-selection h2 { font-family: 'EB Garamond', Georgia, serif; font-weight: 500; font-size: 1.6rem; color: #b88a56; margin: 0; }
.lc-selection-sous { font-family: 'EB Garamond', Georgia, serif; font-style: italic; color: #6b5a4c; margin: .15rem 0 1.1rem; font-size: 1rem; }
.lc-selection .woocommerce { margin: 0; }
@media (max-width: 720px) { .lc-cartes-photo { grid-template-columns: 1fr; } .lc-carte-photo { max-height: 300px; } }
/* v1.12.1 : bloc Avis Google très compact */
body.home .elementor-element-fd7a4f5 { padding-top: 1.25rem !important; padding-bottom: 1.25rem !important; }
body.home .elementor-element-0e6d68b { justify-content: center !important; }
body.home .elementor-element-0e6d68b .elementor-widget-container { padding: 0 !important; }
body.home .elementor-element.elementor-element-fd7a4f5 h2.elementor-heading-title { font-size: 1.3rem !important; line-height: 1.2 !important; }
body.home .elementor-element-0e6d68b .elementor-widget-heading { height: auto !important; }
body.home .elementor-element-0e6d68b .elementor-widget-star-rating { margin-top: .5rem !important; }
body.home .elementor-element-0e6d68b .elementor-widget-testimonial, body.home .elementor-element-0e6d68b .elementor-testimonial, body.home .elementor-element-0e6d68b .elementor-testimonial-wrapper { height: auto !important; min-height: 0 !important; }
body.home .elementor-element-0e6d68b .elementor-testimonial-content { font-size: .88rem !important; line-height: 1.4 !important; margin: 0 0 .3rem !important; }
body.home .elementor-element-0e6d68b .elementor-widget-divider { display: none !important; }
body.home .elementor-element-0e6d68b .elementor-widget-button { margin-top: .6rem !important; }
body.home .elementor-element-0e6d68b .elementor-widget-button .elementor-button { padding: .45rem 1.1rem !important; }
/* v1.12.2 : Notre Histoire / Contact alignés sur l'accueil — retour : versions/style_v1.12.1_avant-pages.css */
.lc-hero-page, .lc-hero-page.lc-hero-court, .lc-hero-cafes { min-height: 0 !important; background-image: linear-gradient(rgba(25,15,8,.64), rgba(25,15,8,.64)), var(--lc-hero) !important; background-size: cover !important; background-position: center !important; }
.lc-hero-page .lc-hero-contenu, .lc-hero-page:not(.lc-hero-court) .lc-hero-contenu, .lc-hero-cafes .lc-hero-contenu { padding: 3rem 0 2.25rem !important; }
.lc-hero-page .lc-hero-logo, .lc-hero-cafes .lc-hero-logo { width: 150px !important; margin: 0 auto .9rem !important; }
.lc-hero-page h1, .lc-hero-cafes h1, .lc-hero-page.lc-hero-court h1 { font-family: 'EB Garamond', Georgia, serif !important; font-weight: 400 !important; font-size: clamp(1.7rem, 3vw, 2.2rem) !important; line-height: 1.2 !important; letter-spacing: 0 !important; }
/* corps de page */
.lc-page-texte { max-width: 780px; margin-left: auto; margin-right: auto; padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; font-size: .98rem !important; line-height: 1.65 !important; }
.lc-page-texte p { font-size: .98rem !important; line-height: 1.65 !important; margin: 0 0 .9rem !important; }
.lc-page-texte .lc-chapo, .lc-page-texte p:first-of-type { font-size: .98rem !important; }
.lc-page-texte h2 { font-family: 'EB Garamond', Georgia, serif !important; font-weight: 500 !important; font-size: 1.6rem !important; line-height: 1.25 !important; color: #b88a56 !important; margin: 0 0 1rem !important; letter-spacing: 0 !important; }
.lc-page-texte h3 { font-family: 'Montserrat', sans-serif !important; font-size: .7rem !important; font-weight: 500 !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: #8a6f4a !important; margin: 1.6rem 0 .35rem !important; }
.lc-page-texte p:first-child { font-family: 'Montserrat', sans-serif !important; font-size: .62rem !important; letter-spacing: .22em; text-transform: uppercase; color: #8a6f4a; margin-bottom: .5rem !important; }
.lc-page-texte .lc-boutons { margin-top: 1.75rem !important; }
.lc-page-texte .lc-boutons a { font-family: 'Montserrat', sans-serif !important; font-size: .64rem !important; letter-spacing: .18em !important; text-transform: uppercase !important; padding: .55rem 1.3rem !important; border-radius: 0 !important; background: transparent !important; border: 1px solid #b88a56 !important; color: #3b2a20 !important; }
.lc-page-texte .lc-boutons a:hover { background: transparent !important; color: #8a6f4a !important; }
/* v1.12.3 : Notre Histoire / Contact = gabarit du Guide (carte blanche, titre à gauche) — retour : versions/style_v1.12.2_avant-guide.css */
body:has(.lc-hero-page) #primary { max-width: 1140px; margin: 26px auto 0 !important; width: 100%; }
body:has(.lc-hero-page) article.page { background: #fff; padding: 85px 107px; }
body:has(.lc-hero-page) .lc-hero-page, body:has(.lc-hero-page) .lc-hero-page.lc-hero-court { background: none !important; min-height: 0 !important; padding: 0 !important; text-align: left !important; }
body:has(.lc-hero-page) .lc-hero-page .lc-hero-contenu { padding: 0 !important; max-width: none !important; }
body:has(.lc-hero-page) .lc-hero-logo { display: none !important; }
body:has(.lc-hero-page) .lc-hero-page h1 { font-family: 'EB Garamond', Georgia, serif !important; font-weight: 400 !important; font-size: 2.7rem !important; line-height: 1.2 !important; color: #b88a56 !important; text-align: left !important; margin: 0 0 1.25rem !important; text-shadow: none !important; }
body:has(.lc-hero-page) .lc-page-texte { max-width: none !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
body:has(.lc-hero-page) .lc-page-texte *, body:has(.lc-hero-page) .lc-page-texte h2, body:has(.lc-hero-page) .lc-page-texte p { text-align: left !important; }
body:has(.lc-hero-page) .lc-page-texte .lc-boutons { justify-content: flex-start !important; }
@media (max-width: 768px) { body:has(.lc-hero-page) article.page { padding: 32px 22px; } body:has(.lc-hero-page) .lc-hero-page h1 { font-size: 2rem !important; } }
body:has(.lc-hero-page) .lc-hero-page { display: block !important; }
body:has(.lc-hero-page) .lc-hero-page .lc-hero-contenu { width: 100% !important; }
/* v1.12.4 : en-tête mobile déterministe — logo à gauche, hamburger à droite, une seule ligne de 56 px */
@media (max-width: 921px) {
  #masthead.site-header, #masthead .ast-mobile-header-wrap, #masthead .ast-primary-header-bar { background: var(--lc-noir) !important; }
  #masthead #ast-mobile-header { position: relative; height: 56px; }
  #masthead #ast-mobile-header .ast-main-header-wrap, #masthead #ast-mobile-header .ast-primary-header-bar { min-height: 56px !important; height: 56px; }
  #masthead #ast-mobile-header .ast-below-header-wrap { position: absolute; top: 0; right: 0; width: 100%; height: 56px; z-index: 5; pointer-events: none; }
  #masthead #ast-mobile-header .ast-below-header-bar { height: 56px; min-height: 56px !important; padding: 0 12px; background: transparent !important; border: 0; }
  #masthead #ast-mobile-header .ast-below-header-bar .ast-builder-grid-row { display: flex !important; justify-content: flex-end; align-items: center; height: 56px; }
  #masthead #ast-mobile-header .site-header-below-section-center { justify-content: flex-end; margin: 0; }
  #masthead #ast-mobile-header .ast-button-wrap, #masthead #ast-mobile-header .menu-toggle { pointer-events: auto; }
  #masthead .menu-toggle { color: #fff !important; background: transparent !important; }
  #masthead .menu-toggle .ast-mobile-svg { fill: #fff; }
  .lc-logo-mini { top: 10px !important; left: 16px !important; height: 36px; width: auto; z-index: 6; }
}
@media (max-width: 921px) { #masthead.site-header { position: relative !important; top: 0 !important; margin: 0 !important; } .ast-theme-transparent-header #masthead { position: relative !important; } }
@media (max-width: 921px) { .lc-logo-mini { transform: none !important; top: 10px !important; } }
/* v1.12.5 : accueil mobile */
@media (max-width: 767px) {
  body.home .elementor-element-4e9f254 { margin-top: 0 !important; padding: 0 20px !important; min-height: 0 !important; }
  body.home .elementor-element-4e9f254 > .e-con-inner { padding: 2rem 0 1.75rem !important; }
  body.home .elementor-element-4e9f254 .elementor-widget-image img { max-width: 210px !important; height: auto; }
  body.home .elementor-element-43f8116 { padding: 1.5rem 20px 0 !important; }
  body.home .elementor-element-43f8116 > .e-con-inner { padding: 0 !important; gap: 1.25rem; }
  body.home .elementor-element.elementor-element-cf99afc { padding: 0 !important; margin: 0 !important; }
  body.home .elementor-element-cf99afc, body.home .elementor-element-cf99afc * { text-align: left !important; }
  body.home .elementor-element-22dba94 { margin: 0 -20px !important; width: calc(100% + 40px) !important; }
  body.home .elementor-element-25696c1 { height: 260px !important; max-height: 260px; overflow: hidden; }
  body.home .elementor-element-25696c1 img { transform: none; height: 260px !important; width: 100% !important; object-fit: cover; }
  .lc-accueil { padding: 1.5rem 20px 1.5rem; }
  .lc-carte-photo { aspect-ratio: 16 / 10; }
  body.home .elementor-element-fd7a4f5 { padding: 0 !important; }
  body.home .elementor-element-fd7a4f5 > .e-con-inner { padding: 1.5rem 20px !important; }
}
@media (max-width: 921px) { body.home #primary, body.home .site-content { margin-top: 0 !important; padding-top: 0 !important; } body.home .entry-content, body.home article.page { margin-top: 0 !important; } }
/* menu mobile déployé : même typo que le menu desktop */
@media (max-width: 921px) {
  .ast-header-break-point .main-header-menu .menu-link, .ast-header-break-point .main-navigation .menu-link { font-family: 'Montserrat', sans-serif !important; font-size: .72rem !important; font-weight: 500 !important; letter-spacing: .16em !important; text-transform: uppercase !important; padding: .9rem 1.2rem !important; line-height: 1.4 !important; }
  .ast-header-break-point .main-header-menu .sub-menu .menu-link { font-size: .68rem !important; padding-left: 2rem !important; }
}
/* mobile : pas de photo de tasse sur l'accueil */
@media (max-width: 767px) { body.home .elementor-element-22dba94 { display: none !important; } }
/* footer mobile : bloc centré, texte aligné à gauche */
@media (max-width: 767px) {
  .site-primary-footer-wrap .site-footer-sec { text-align: left !important; }
  .site-primary-footer-wrap .site-footer-sec > * { width: 100%; max-width: 270px; margin-left: auto !important; margin-right: auto !important; text-align: left !important; justify-content: flex-start; }
  .site-primary-footer-wrap .site-footer-sec p, .site-primary-footer-wrap .site-footer-sec li, .site-primary-footer-wrap .site-footer-sec h2, .site-primary-footer-wrap .site-footer-sec h3, .site-primary-footer-wrap .site-footer-sec ul { text-align: left !important; }
  .site-primary-footer-wrap .site-footer-sec ul { padding-left: 0; list-style: none; }
}

/* v1.12.6 — footer mobile : bloc centré, texte aligné à gauche */
@media (max-width: 767px) {
  .site-primary-footer-wrap .site-footer-section,
  .site-primary-footer-wrap [class*="site-footer-primary-section"] { justify-content: center !important; align-items: center !important; }
  .site-primary-footer-wrap aside.footer-widget-area,
  .site-primary-footer-wrap .ast-builder-layout-element { width: 100% !important; max-width: 270px !important; margin-left: auto !important; margin-right: auto !important; justify-content: flex-start !important; align-items: flex-start !important; }
  .site-primary-footer-wrap aside.footer-widget-area *,
  .site-primary-footer-wrap .ast-builder-layout-element * { text-align: left !important; justify-content: flex-start !important; }
  .site-primary-footer-wrap .ast-builder-layout-element .menu-item,
  .site-primary-footer-wrap .ast-builder-layout-element ul { display: block !important; width: 100%; }
}

/* v1.12.7 — avis Google mobile : texte sombre + voile crème pour la lisibilité */
@media (max-width: 767px) {
  body.home .elementor-element-fd7a4f5 { box-shadow: inset 0 0 0 100vmax rgba(250,247,242,.55) !important; }
  body.home .elementor-element-fd7a4f5 h2.elementor-heading-title,
  body.home .elementor-element-fd7a4f5 .elementor-heading-title,
  body.home [data-id="fd7a4f5"] .elementor-testimonial-content,
  body.home [data-id="fd7a4f5"] .elementor-testimonial-name,
  body.home [data-id="fd7a4f5"] .elementor-testimonial-job { color: #1D1D1B !important; opacity: 1 !important; }
  body.home [data-id="fd7a4f5"] .elementor-star-rating i:before,
  body.home [data-id="fd7a4f5"] .elementor-star-rating .e-font-icon-svg { color: #7A5C2E !important; fill: #7A5C2E !important; }
  body.home [data-id="fd7a4f5"] .elementor-star-rating i { color: rgba(122,92,46,.3) !important; }
  body.home [data-id="fd7a4f5"] .elementor-button { color: #1D1D1B !important; border-color: #1D1D1B !important; background: transparent !important; }
}

/* v1.12.8 — footer mobile : horaires sur une seule ligne */
@media (max-width: 767px) {
  .site-primary-footer-wrap aside.footer-widget-area,
  .site-primary-footer-wrap .ast-builder-layout-element { max-width: 340px !important; }
  .site-primary-footer-wrap p, .site-primary-footer-wrap em, .site-primary-footer-wrap i { white-space: nowrap !important; font-size: clamp(.8rem, 4.1vw, 1rem) !important; }
}

/* v1.13.0 — pages éditoriales : bandeau photo (A), fil d'Ariane + cartouche (D), filet doré (B) — retour : versions/style_v1.12.8_avant-bandeaux.css */
body:has(.lc-bandeau) #primary { max-width: 1140px; margin: 26px auto 0 !important; width: 100%; }
body:has(.lc-bandeau) article.page { background: #fff; padding: 85px 107px; margin-top: 0 !important; }
.lc-bandeau { position: relative; height: 260px; background-size: cover; background-repeat: no-repeat; }
.lc-ariane { position: absolute; left: 107px; bottom: 18px; display: flex; gap: .6rem; align-items: center; font: 500 .62rem/1 'Montserrat', sans-serif; letter-spacing: .22em; text-transform: uppercase; color: #FAF7F2; }
.lc-ariane a { color: #FAF7F2; text-decoration: none; border-bottom: 1px solid rgba(250,247,242,.45); padding-bottom: 2px; }
.lc-ariane a:hover { border-color: #B09446; color: #fff; }
.lc-ariane span[aria-hidden] { color: #B09446; }
.lc-cartouche { position: absolute; right: 107px; top: 22px; padding: .55rem 1.1rem; border: 1px solid rgba(250,247,242,.75); background: rgba(25,15,8,.28); font: 500 .62rem/1 'Montserrat', sans-serif; letter-spacing: .26em; text-transform: uppercase; color: #FAF7F2; }
/* B : filet doré au-dessus du titre + un peu plus d'air */
body:has(.lc-bandeau) .entry-title, body:has(.lc-bandeau) .lc-hero-page h1 { position: relative; padding-top: 1.35rem !important; }
body:has(.lc-bandeau) .entry-title::before, body:has(.lc-bandeau) .lc-hero-page h1::before { content: ""; position: absolute; top: 0; left: 0; width: 40px; height: 1px; background: #B09446; }
@media (max-width: 1024px) { .lc-bandeau { height: 210px; } .lc-ariane { left: 56px; } .lc-cartouche { right: 56px; } body:has(.lc-bandeau) article.page { padding: 56px 56px; } }
@media (max-width: 767px) {
  body:has(.lc-bandeau) #primary { margin-top: 0 !important; }
  .lc-bandeau { height: 150px; }
  .lc-ariane { left: 22px; bottom: 14px; font-size: .56rem; letter-spacing: .18em; }
  .lc-cartouche { right: 22px; top: 14px; font-size: .56rem; padding: .45rem .8rem; }
  body:has(.lc-bandeau) article.page { padding: 32px 22px; }
}

/* v1.13.1 — Contact : menu mobile + pied ; masqué dans la barre desktop. Menu desktop réellement centré. « Pures origines » = ligne normale (seul « Explorer par notes » est en italique) */
@media (min-width: 922px) { #ast-desktop-header .lc-item-contact { display: none !important; } }
@media (min-width: 1200px) {
  #ast-desktop-header .ast-primary-header-bar .ast-builder-grid-row { display: grid !important; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important; align-items: center; }
  #ast-desktop-header .ast-primary-header-bar .site-header-primary-section-left { grid-column: 1; justify-self: start; }
  #ast-desktop-header .ast-primary-header-bar .site-header-primary-section-center { grid-column: 2; flex: 0 0 auto !important; width: auto !important; max-width: none !important; justify-self: center; }
  #ast-desktop-header .ast-primary-header-bar .site-header-primary-section-right { grid-column: 3; justify-self: end; }
}
.lc-pied-contact { margin: 2.75rem 0 0 !important; padding-top: 1.1rem; border-top: 1px solid #e6d6c4; font: 500 .64rem/1 'Montserrat', sans-serif !important; letter-spacing: .22em; text-transform: uppercase; }
.lc-pied-contact a { color: #8a6f4a !important; text-decoration: none; }
.lc-pied-contact a:hover { color: #b09446 !important; }

/* v1.13.2 — menu desktop centré : marges symétriques (110/110) dès 1240 px — cause : 110 px à gauche / 20 px à droite (ligne v1.x « logo ») */
@media (min-width: 1240px) { .ast-primary-header-bar .site-primary-header-wrap { padding-left: 110px !important; padding-right: 110px !important; } }

/* v1.13.3 — bandeaux plus hauts (moins rognés) : 400 / 300 / 200 px */
.lc-bandeau { height: 400px; }
@media (max-width: 1024px) { .lc-bandeau { height: 300px; } }
@media (max-width: 767px) { .lc-bandeau { height: 200px; } }

/* v1.13.4 — cadre élégant autour du texte des pages éditoriales : fine bordure dorée, double filet intérieur, ombre douce — retour : versions/style_v1.13.3_avant-cadre.css */
body:has(.lc-bandeau) article.page {
  position: relative;
  background: #fff !important;
  border: 1px solid rgba(176,148,70,.55) !important;
  box-shadow: 0 10px 32px rgba(60,40,20,.10) !important;
}
body:has(.lc-bandeau) article.page::before {
  content: ""; position: absolute; inset: 9px; pointer-events: none;
  border: 1px solid rgba(176,148,70,.22);
}
@media (max-width: 767px) {
  body:has(.lc-bandeau) #primary { margin-left: 12px !important; margin-right: 12px !important; width: auto; }
  body:has(.lc-bandeau) article.page::before { inset: 6px; }
}

/* v1.13.5 — cadre plus resserré autour du texte — retour : versions/style_v1.13.4_avant-resserre.css */
body:has(.lc-bandeau) article.page { padding: 52px 64px !important; }
@media (max-width: 1024px) { body:has(.lc-bandeau) article.page { padding: 40px 40px !important; } }
@media (max-width: 767px) { body:has(.lc-bandeau) article.page { padding: 28px 20px !important; } }

/* v1.13.6 — texte inchangé (marges d'origine) ; seul le rectangle se resserre autour : cadre dessiné en retrait de l'article — retour : versions/style_v1.13.5_avant-cadre-interne.css */
body:has(.lc-bandeau) article.page {
  padding: 85px 107px !important; background: transparent !important;
  border: 0 !important; box-shadow: none !important; z-index: 0;
}
body:has(.lc-bandeau) article.page::before {
  inset: 40px 56px; z-index: -1; background: #fff;
  border: 1px solid rgba(176,148,70,.55);
  box-shadow: 0 10px 32px rgba(60,40,20,.10);
}
@media (max-width: 1024px) {
  body:has(.lc-bandeau) article.page { padding: 56px 56px !important; }
  body:has(.lc-bandeau) article.page::before { inset: 24px 28px; }
}
@media (max-width: 767px) {
  body:has(.lc-bandeau) #primary { margin-left: auto !important; margin-right: auto !important; width: 100%; }
  body:has(.lc-bandeau) article.page { padding: 32px 22px !important; }
  body:has(.lc-bandeau) article.page::before { inset: 10px 8px; }
}

/* v1.13.7 — fond blanc d'origine rétabli derrière le cadre (ombre conservée) */
body:has(.lc-bandeau) article.page { background: #fff !important; }

/* v1.13.8 — SEO : balises Hn corrigées (inc/seo-titres.php), rendu strictement identique */
body.home .elementor-element-6d43816 h1.elementor-heading-title { font-size: 1.1rem !important; font-weight: 400 !important; line-height: 1.4 !important; }
body.home .elementor-element-40ea2f5 h3.elementor-heading-title { font-size: 1.2rem !important; line-height: 1.4 !important; }

/* v1.13.9 — SEO : titres du footer en <p> (mêmes dimensions qu'avant) */
.site-footer p.widget-title { line-height: 1.5; }

/* v1.13.10 — SEO : titres de cartes en H3 sur l'accueil (même rendu que l'ancien H2) */
.lc-selection li.product h3.woocommerce-loop-product__title { font-weight: 500; color: #b88a56; }

/* v1.13.14 — lien vers les évènements sous les cartes d'accueil */
.lc-accueil-lien { max-width: 1140px; margin: 1.5rem auto 0; text-align: center; font-family: 'EB Garamond', Georgia, serif; font-size: 1.1rem; color: #6b5a4c; }
.lc-accueil-lien a { color: #b88a56; text-decoration: underline; text-underline-offset: 3px; }
