@import url('https://fonts.googleapis.com/css2?family=Prata&family=Montserrat:ital,wght@0,200;0,300;0,400;0,500;1,300&family=Cormorant+Garamond:ital,wght@1,400;1,500&display=swap');

/* ============================================================
   L'ANTIQUAIRE — V2 (refonte 2026) · v3.1
   DA : olive profond · filets bronze · terracotta · crème
   Écrite pour le DOM NATIF Elementor : sections = containers
   .lav2-*, contenus = widgets natifs (heading/text/image/button/
   nav-menu/divider) ciblés via leurs classes CSS.
   ============================================================ */

:root{
  --v2-olive-950:#2c2f27;
  --v2-olive-900:#333629;
  --v2-olive-800:#3a3d31;
  --v2-cream:#f1ebdd;
  --v2-champagne:#cbb18b;
  --v2-bronze:#ad8d64;
  --v2-bronze-line:rgba(173,141,100,.45);
  --v2-bronze-line-soft:rgba(173,141,100,.28);
  --v2-terra:#b5522a;
  --v2-terra-deep:#9c4423;
  --v2-ink:#37392e;
  --v2-ivory:#f4efe4;
  --v2-ivory-dim:rgba(244,239,228,.82);
  --v2-serif:'Prata',serif;
  --v2-sans:'Montserrat',sans-serif;
  --v2-ease:cubic-bezier(.16,1,.3,1);
}

body{
  background:var(--v2-olive-800);
  color:var(--v2-ivory);
  font-family:var(--v2-sans);
  font-weight:300;
}
::selection{background:var(--v2-champagne);color:var(--v2-olive-950);}

/* ------------------------------------------------------------
   Base containers & widgets
   ------------------------------------------------------------ */
.e-con[class*="lav2-"]{max-width:100%;}
[class*="lav2-"] .elementor-widget{margin-block-end:0;}
[class*="lav2-"] p{margin:0;}

/* Labels : la classe posée sur le wrapper du Heading pilote le texte */
.v2-eyebrow .elementor-heading-title,
.lbl .elementor-heading-title,
.val .elementor-heading-title,
.num .elementor-heading-title,
.hours .elementor-heading-title,
.big .elementor-heading-title,
.sub .elementor-heading-title,
.tag .elementor-heading-title,
.badge .elementor-heading-title{
  font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;
  line-height:inherit;letter-spacing:inherit;text-transform:inherit;margin:0;
}

.v2-eyebrow{
  font-family:var(--v2-sans);font-weight:400;
  font-size:12px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--v2-champagne);width:auto;
}

/* Divider natif → filet champagne 64px centré */
.v2-div{width:64px;}
.v2-div .elementor-divider{padding:14px 0;}
.v2-div .elementor-divider-separator{
  border-top:1px solid var(--v2-champagne) !important;opacity:.8;width:64px;margin:0 auto;
}

/* ------------------------------------------------------------
   Boutons natifs — styler l'ancre interne, JAMAIS le wrapper
   ------------------------------------------------------------ */
.elementor-widget-button.v2-btn,
.elementor-widget-button.nav2__cta{width:auto;}
.v2-btn .elementor-button{
  background:transparent;
  border:1px solid var(--v2-bronze-line);border-radius:0;
  color:var(--v2-ivory);
  font-family:var(--v2-sans);font-weight:400;font-size:12.5px;
  letter-spacing:.28em;text-transform:uppercase;
  padding:18px 34px;box-shadow:none;
  transition:all .35s var(--v2-ease);
}
.v2-btn .elementor-button:hover{
  background:var(--v2-champagne);border-color:var(--v2-champagne);color:var(--v2-olive-900);
}
.v2-btn--solid .elementor-button{
  background:var(--v2-terra);border-color:var(--v2-terra);color:#f8f1e8;
}
.v2-btn--solid .elementor-button:hover{
  background:var(--v2-terra-deep);border-color:var(--v2-terra-deep);color:#f8f1e8;
}
.v2-btn--ink .elementor-button{color:var(--v2-ink);border-color:rgba(55,57,46,.4);background:transparent;}
.v2-btn--ink .elementor-button:hover{background:var(--v2-ink);border-color:var(--v2-ink);color:var(--v2-cream);}

/* ------------------------------------------------------------
   Placeholders photos (Coline à venir)
   ------------------------------------------------------------ */
.v2-ph{
  position:relative;overflow:hidden;
  background:repeating-linear-gradient(-45deg,
    rgba(173,141,100,.10) 0 14px, rgba(173,141,100,.04) 14px 28px);
  border:1px solid var(--v2-bronze-line-soft);
  justify-content:center;align-items:center;
}
.v2-ph p{
  font-family:'Courier New',monospace;font-size:12px;letter-spacing:.08em;
  color:var(--v2-champagne);opacity:.85;text-align:center;line-height:1.6;padding:0 20px;
}
.v2-ph--light{background:repeating-linear-gradient(-45deg,
    rgba(55,57,46,.08) 0 14px, rgba(55,57,46,.03) 14px 28px);
  border-color:rgba(55,57,46,.2);}
.v2-ph--light p{color:#8a6f4e;}

/* ============================================================
   HEADER — template post 12
   ============================================================ */
/* Le <header> v1 avait will-change/transform (→ bloc de confinement qui empêchait
   .lav2-nav:fixed de coller au viewport) et un smart-hide agissant sur un header
   hors-flux. On neutralise tout ça et on pilote header + smart-hide EN V2 sur
   .lav2-nav, source unique et fiable. */
header[data-elementor-type="header"]{will-change:auto !important;transform:none !important;}
header[data-elementor-type="header"].la-h-hidden{transform:none !important;}
.lav2-nav.e-con{
  position:fixed;top:0;left:0;right:0;z-index:9990;
  padding:0;
  transition:transform .5s var(--v2-ease), box-shadow .45s ease;
}
/* smart-hide v2 : masqué quand on descend, montré quand on remonte */
.lav2-nav.is-hidden{transform:translateY(-100%);}
/* décalage sous la barre d'admin WordPress (uniquement connecté) */
body.admin-bar .lav2-nav.e-con{top:32px;}
@media screen and (max-width:782px){ body.admin-bar .lav2-nav.e-con{top:46px;} }
/* Fond peint via pseudo-éléments (Elementor écrase toute règle « background »
   posée sur le container lui-même). Deux couches en OPACITÉ (transition propre) :
   ::before = dégradé scrim (visible au repos, s'efface) ;
   ::after  = olive plein (apparaît quand le header est fixe). */
.lav2-nav.e-con::before,
.lav2-nav.e-con::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  transition:opacity .45s ease;
}
.lav2-nav.e-con::before{
  background:linear-gradient(to bottom, rgba(30,32,25,.72), rgba(30,32,25,0));
  opacity:1;
}
.lav2-nav.e-con::after{display:none;}
/* calque de fond olive (créé en JS, cf. lantiquaire-v2.js) */
.lav2-nav .lav2-nav__bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:rgba(41,44,34,.96);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  backdrop-filter:blur(14px) saturate(1.2);
  opacity:0;transition:opacity .45s ease;
}
.lav2-nav.is-solid .lav2-nav__bg{opacity:1;}
.lav2-nav.is-solid .lav2-nav__bg + *,
.lav2-nav.e-con > *:not(.lav2-nav__bg){position:relative;z-index:1;}
.lav2-nav.is-solid{box-shadow:0 1px 0 rgba(173,141,100,.18), 0 12px 34px rgba(15,17,12,.28);}
/* quand le header est fixe, le dégradé scrim s'efface (le fond olive prend le relais) */
.lav2-nav.is-solid.e-con::before{opacity:0;}
.lav2-nav .nav2.e-con{
  display:grid !important;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:22px 54px 16px;width:100%;
}

/* Menu natif (Nav Menu Pro) */
.nav2__links.e-con{padding:0;align-items:flex-start;}
.nav2__links .elementor-widget-nav-menu{width:auto;}
.nav2__links .elementor-nav-menu{display:flex;gap:38px;}
.nav2__links .elementor-nav-menu li{margin:0;}
.nav2__links .elementor-item{
  color:#fdfaf3 !important;font-family:var(--v2-sans);font-size:12px;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;padding:0 !important;
  text-shadow:0 1px 12px rgba(0,0,0,.45);transition:color .25s ease;
  background:transparent !important;
}
.nav2__links .elementor-item:hover,
.nav2__links .elementor-item.elementor-item-active{color:var(--v2-champagne) !important;}
.nav2__links .elementor-item::after,
.nav2__links .elementor-item::before{display:none;}
.nav2__links .elementor-menu-toggle,
.nav2__links .elementor-nav-menu--dropdown{display:none !important;}
/* Correctif : le reveal .lav2-rv laissait les liens de gauche fanés (opacity 0)
   quand le header se solidifiait → on force le contenu du header toujours visible.
   Et on agrandit un peu les 3 liens. */
.lav2-nav .lav2-rv{opacity:1 !important;transform:none !important;filter:none !important;}
.lav2-nav .nav2__links .elementor-item{font-size:13.5px !important;}
/* Couleur des liens : le CSS v1 les repassait en vert FONCÉ (--la-vert) dès que le
   header était « scrolled » → liens illisibles. On surcharge avec une spécificité
   supérieure (header[...] .lav2-nav …) pour les deux états, en champagne assorti. */
header[data-elementor-type="header"] .lav2-nav .nav2__links .elementor-item,
header[data-elementor-type="header"].la-h-scrolled .lav2-nav .nav2__links .elementor-item{
  color:var(--v2-champagne) !important;
}
header[data-elementor-type="header"] .lav2-nav .nav2__links .elementor-item:hover,
header[data-elementor-type="header"] .lav2-nav .nav2__links .elementor-item.elementor-item-active,
header[data-elementor-type="header"].la-h-scrolled .lav2-nav .nav2__links .elementor-item:hover,
header[data-elementor-type="header"].la-h-scrolled .lav2-nav .nav2__links .elementor-item.elementor-item-active{
  color:var(--v2-ivory) !important;
}

/* Logo : largeur AUTO, hauteurs fixes — jamais étiré */
.nav2__logo.e-con{padding:0;align-items:center;row-gap:10px;width:auto;}
.nav2__logo .elementor-widget-image{width:auto;}
.nav2__logo .elementor-widget-image img{width:auto !important;max-width:none;display:block;}
.nav2__logo .mono img{height:92px;}
.nav2__logo .sig img{height:24px;opacity:.9;}

/* CTA Réserver — une seule bordure, sur l'ancre */
.nav2__right.e-con{padding:0;align-items:flex-end;}
.nav2__cta .elementor-button{
  background:rgba(30,32,25,.35);
  border:1px solid rgba(253,250,243,.75);border-radius:0;
  color:#fdfaf3;box-shadow:none;
  font-family:var(--v2-sans);font-size:12px;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;
  padding:14px 28px;text-shadow:0 1px 10px rgba(0,0,0,.4);
  transition:all .35s var(--v2-ease);
}
.nav2__cta .elementor-button:hover{
  background:var(--v2-champagne);border-color:var(--v2-champagne);
  color:var(--v2-olive-900);text-shadow:none;
}

/* ============================================================
   HOME — HERO
   ============================================================ */
.lav2-hero.e-con{
  position:relative;min-height:920px;padding:0;
  justify-content:flex-end;
}
.lav2-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom, rgba(44,47,39,.35) 0%, rgba(44,47,39,.05) 35%, var(--v2-olive-800) 97%);
}
.lav2-hero > .e-con{position:relative;z-index:2;}

.hero2__content.e-con{align-items:center;text-align:center;padding:200px 8vw 90px;}
.hero2__content .v2-eyebrow,
.hero2__content .v2-eyebrow .elementor-heading-title{
  font-size:15px !important;letter-spacing:.32em;color:var(--v2-cream);
}
.hero2__content .v2-eyebrow{margin-bottom:46px !important;}
.lav2-hero.e-con h1{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(54px,6.4vw,92px);color:var(--v2-ivory);line-height:1.15;
  max-width:1100px;margin:0;
}
.lav2-hero.e-con h1 em{font-style:italic;color:var(--v2-champagne);}
.hero2__sub{max-width:600px;margin-top:44px;}
.hero2__sub p{font-size:18px;line-height:1.85;color:var(--v2-ivory);}
.hero2__ctas.e-con{flex-direction:row !important;column-gap:18px;row-gap:14px;justify-content:center;flex-wrap:wrap;margin-top:44px;padding:0;}
.hero2__meta.e-con{flex-direction:row !important;justify-content:center;flex-wrap:wrap;padding:0 8vw 56px;}
.hero2__meta > .e-con{
  width:auto;flex:0 0 auto;
  padding:4px 44px;align-items:center;text-align:center;
  border-left:1px solid var(--v2-bronze-line-soft);
}
.hero2__meta > .e-con:first-child{border-left:0;}
.hero2__meta .lbl{
  font-size:11px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;
  color:var(--v2-champagne);margin-bottom:6px;
}
.hero2__meta .val p{
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--v2-ivory-dim);
}

/* ============================================================
   HOME — LA MAISON
   ============================================================ */
.lav2-maison.e-con{
  position:relative;padding:150px 8vw 130px;
  background:linear-gradient(to bottom, var(--v2-olive-800), var(--v2-olive-900));
}
.lav2-maison::after{
  content:"";position:absolute;inset:44px 54px;
  border:1px solid var(--v2-bronze-line);pointer-events:none;
}
.maison2.e-con{align-items:center;text-align:center;width:100%;padding:0;}
.maison2__logos{margin-bottom:34px;width:auto;}
.maison2__logos img{height:96px;width:auto !important;opacity:.9;}
.lav2-maison.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  /* Prata réduite (elle paraissait plus grosse que l'italique) + interligne resserré */
  font-size:clamp(34px,3.2vw,48px);line-height:1.18;
  color:var(--v2-ivory);max-width:820px;margin:0 auto;
}
.maison2__body{max-width:640px;}
.maison2__body p{font-size:16.5px;color:var(--v2-ivory-dim);line-height:1.85;}

/* ============================================================
   HOME — LA JOURNÉE
   ============================================================ */
/* fond plus sombre que les sections voisines : apporte du rythme,
   et les cellules olive-900 se détachent (retour client 15/07) */
.lav2-jour.e-con{padding:130px 8vw;background:var(--v2-olive-950);}
.jour2.e-con{width:100%;padding:0;align-items:center;}
.jour2 > .v2-eyebrow{text-align:center;margin-bottom:60px;}
.jour2__grid.e-con{
  display:grid !important;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--v2-bronze-line-soft);border:1px solid var(--v2-bronze-line-soft);
  padding:0;width:100%;max-width:1240px;
}
.jour2__cell.e-con{background:var(--v2-olive-900);padding:60px 44px;align-items:center;text-align:center;}
.jour2__cell .num{
  font-family:var(--v2-serif);font-size:15px;color:#e0703f;letter-spacing:.1em;
}
.jour2__cell h3{
  font-family:var(--v2-serif);font-weight:400;font-size:30px;
  color:var(--v2-ivory);margin:18px 0 6px;line-height:1.2;
}
.jour2__cell .hours{
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--v2-champagne);margin-bottom:22px;
}
.jour2__cell p{font-size:14.5px;color:var(--v2-ivory-dim);line-height:1.75;}

/* ============================================================
   HOME — GALERIE
   ============================================================ */
.lav2-galerie.e-con{padding:40px 8vw 150px;background:var(--v2-olive-900);align-items:center;}
.galerie2__head.e-con{align-items:center;text-align:center;margin-bottom:70px;padding:0;}
.galerie2__head .v2-eyebrow{margin-bottom:22px;}
.lav2-galerie.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(34px,3.2vw,48px);line-height:1.25;
  color:var(--v2-ivory);max-width:760px;margin:0 auto;
}
.lav2-galerie.e-con h2 em{font-style:italic;color:var(--v2-champagne);}
.galerie2__grid.e-con{
  display:grid !important;grid-template-columns:repeat(12,1fr);grid-auto-rows:56px;
  gap:26px;max-width:1240px;width:100%;margin:0 auto;padding:0;
}
/* cadres façon « photo encadrée » : marge uniforme beige doux (passe-partout),
   fin filet de cadre, liseré intérieur, ombre douce, léger soulèvement au survol */
/* retour client 16/07 : plus de passe-partout clair autour des photos —
   la photo remplit son cadre, seule l'ombre douce reste */
.galerie2__grid > .e-con{
  position:relative;padding:0;height:100%;overflow:hidden;cursor:zoom-in;
  box-shadow:0 8px 20px rgba(15,17,12,.26);
  transition:transform .4s var(--v2-ease), box-shadow .4s var(--v2-ease), opacity 1s var(--v2-ease);
}
.galerie2__grid > .e-con:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(15,17,12,.36);}
.galerie2__grid .lav2-imgrv{clip-path:none !important;}
/* la photo remplit le cadre à 10px EXACTS de chaque côté → marges égales garanties
   (l'ancien flex ne centrait pas verticalement : marge haute ≠ basse) */
.galerie2__grid > .e-con .elementor-widget-image{
  position:absolute;inset:0;width:auto;height:auto;overflow:hidden;
  transform:none !important;   /* neutralise la montée .lav2-rv qui décalait la photo */
}
/* voile terracotta (révélation « développement »), masqué par défaut */
.galerie2__grid > .e-con .elementor-widget-image::after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(140deg,var(--v2-terra) 0%,var(--v2-terra-deep) 100%);
  opacity:0;transition:opacity 1.25s var(--v2-ease);
}
/* mur de cadres harmonieux : 3 colonnes de même largeur, hauteurs variées
   (portrait / carré / paysage) et léger décalage diagonal entre colonnes. */
.galerie2__grid > .g1{grid-column:1/5;grid-row:1/7;}
.galerie2__grid > .g6{grid-column:1/5;grid-row:8/14;}
.galerie2__grid > .g2{grid-column:5/9;grid-row:1/6;}
.galerie2__grid > .g4{grid-column:5/9;grid-row:6/10;}
.galerie2__grid > .g7{grid-column:5/9;grid-row:10/15;}
.galerie2__grid > .g3{grid-column:9/13;grid-row:2/7;}
.galerie2__grid > .g5{grid-column:9/13;grid-row:7/12;}
.galerie2__grid > .g8{grid-column:9/13;grid-row:12/16;}
.galerie2__grid .elementor-widget-image,
.galerie2__grid .elementor-widget-image .elementor-widget-container{height:100%;width:100%;}
.galerie2__grid img{width:100%;height:100%;object-fit:cover;display:block;}
.galerie2__cap.e-con{
  flex-direction:row !important;justify-content:space-between;
  max-width:1240px;width:100%;margin:26px auto 0;padding:0;
}
.galerie2__cap .elementor-widget{width:auto;}
.galerie2__cap p{
  font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--v2-ivory-dim);
}
/* lien Instagram @lantiquaire.vannes (icône + texte) */
.lav2-insta{display:inline-flex;align-items:center;gap:8px;color:var(--v2-champagne);
  text-decoration:none;transition:color .25s var(--v2-ease);}
.lav2-insta::before{content:"";width:15px;height:15px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='2' y='2' width='20' height='20' rx='5.4'/%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Ccircle cx='17.6' cy='6.4' r='1.2' fill='black' stroke='none'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='2' y='2' width='20' height='20' rx='5.4'/%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Ccircle cx='17.6' cy='6.4' r='1.2' fill='black' stroke='none'/%3E%3C/svg%3E") center/contain no-repeat;}
.lav2-insta:hover{color:var(--v2-ivory);}

/* ============================================================
   HOME — LA CARTE (spécialités · fond crème)
   ============================================================ */
.lav2-carte.e-con{background:var(--v2-cream);color:var(--v2-ink);padding:150px 8vw;}
.carte2.e-con{align-items:center;text-align:center;width:100%;padding:0;}
.carte2 .v2-eyebrow{color:var(--v2-terra);}
.carte2 .v2-div .elementor-divider-separator{border-top-color:var(--v2-terra) !important;}
.lav2-carte.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(38px,3.6vw,54px);line-height:1.25;color:var(--v2-ink);margin:0;
}
.lav2-carte.e-con h2 em{font-style:italic;color:var(--v2-terra);}
.carte2__intro{max-width:620px;margin-top:26px;}
.carte2__intro p{color:rgba(55,57,46,.78);font-size:16.5px;line-height:1.8;}

.spec2__row.e-con{
  display:grid !important;grid-template-columns:repeat(4,1fr);gap:26px;
  max-width:1180px;width:100%;margin:90px auto 0;align-items:end;text-align:left;padding:0;
}
.spec2__item.e-con{position:relative;padding:0;align-items:flex-start;}
.spec2__item:nth-child(2){margin-bottom:56px;}
.spec2__item:nth-child(4){margin-bottom:40px;}
.spec2__item .tag{
  position:absolute;top:-14px;left:18px;z-index:3;width:auto;
  background:var(--v2-terra);color:#f8f1e8;
  font-size:10px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;
  padding:8px 16px;
}
.spec2__img.e-con{aspect-ratio:3/4;width:100%;position:relative;padding:0;overflow:hidden;}
.spec2__img::after{content:"";position:absolute;inset:10px;border:1px solid rgba(55,57,46,.25);pointer-events:none;z-index:2;}
.spec2__img .elementor-widget-image,
.spec2__img .elementor-widget-image .elementor-widget-container{height:100%;width:100%;}
.spec2__img img{width:100%;height:100%;object-fit:cover;display:block;}
.spec2__item h3{
  font-family:var(--v2-serif);font-weight:400;font-size:21px;
  color:var(--v2-ink);margin:20px 0 0;
}
.spec2__item p{font-size:13.5px;color:rgba(55,57,46,.74);margin-top:6px;}

/* ex-encart « La carte change tous les 10 jours. » : le titre/texte ont été
   retirés (post 10) — il ne reste que la rangée des deux boutons CTA */
.carte2__ig.e-con{
  margin:64px auto 0;max-width:760px;width:100%;
  border:none;padding:0;
  position:relative;align-items:center;text-align:center;
}
.carte2__ig::after{display:none;}
.carte2__ig .elementor-widget-button{position:relative;z-index:2;}
/* les deux CTA en couleur : « Feuilleter la carte » plein terracotta,
   « @lantiquaire.vannes » contour terracotta */
.carte2__ig .elementor-widget-button:nth-child(1) .elementor-button{
  background:var(--v2-terra) !important;border:1px solid var(--v2-terra) !important;
  color:#f8f1e8 !important;
}
.carte2__ig .elementor-widget-button:nth-child(1) .elementor-button:hover{
  background:var(--v2-terra-deep) !important;border-color:var(--v2-terra-deep) !important;
}
.carte2__ig .elementor-widget-button:nth-child(2) .elementor-button{
  background:transparent !important;border:1px solid var(--v2-terra) !important;
  color:var(--v2-terra) !important;
}
.carte2__ig .elementor-widget-button:nth-child(2) .elementor-button:hover{
  background:var(--v2-terra) !important;color:#f8f1e8 !important;
}

/* ============================================================
   HOME — LA TERRASSE
   ============================================================ */
.lav2-terrasse.e-con{position:relative;min-height:860px;padding:0;justify-content:flex-end;}
.lav2-terrasse::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom, rgba(44,47,39,.15), rgba(44,47,39,0) 35%, var(--v2-terra-deep) 97%);
}
.lav2-terrasse > .e-con{position:relative;z-index:2;}
.terrasse2__content.e-con{
  display:grid !important;grid-template-columns:1fr 1px 1fr;gap:38px;align-items:center;
  max-width:1280px;width:100%;margin:0 auto;padding:200px 6vw 80px;
}
.lav2-terrasse.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(34px,3.6vw,52px);line-height:1.18;color:var(--v2-ivory);margin:0;
}
.lav2-terrasse.e-con h2 em{font-style:italic;color:var(--v2-champagne);}
.terrasse2__content > .divider.e-con{
  background:linear-gradient(to bottom, transparent, var(--v2-champagne), transparent);
  width:1px;height:260px;min-height:260px;padding:0;
}
.terrasse2__facts.e-con{padding:0;align-items:flex-start;text-align:left;}
.terrasse2__facts .big{
  font-family:var(--v2-serif);font-size:clamp(30px,2.6vw,40px);
  color:var(--v2-ivory);margin:18px 0 4px;
}
.terrasse2__facts .sub{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--v2-ivory-dim);}
.terrasse2__facts p{color:var(--v2-ivory-dim);font-size:15px;margin-top:22px;max-width:380px;line-height:1.8;}

/* ============================================================
   HOME — INFOS & RÉSERVATION
   ============================================================ */
.lav2-infos.e-con{
  padding:130px 6vw 150px;
  background:linear-gradient(to bottom, var(--v2-terra-deep) 0%, rgba(156,68,35,.5) 36%, var(--v2-olive-800) 86%);
}
.infos2__wrap.e-con{
  display:grid !important;grid-template-columns:1fr 1fr;gap:80px;
  max-width:1280px;width:100%;margin:0 auto;padding:0;
}
.infos2__wrap > .e-con{padding:0;align-items:flex-start;text-align:left;justify-content:center;}
.infos2__block.e-con{padding:0;align-items:flex-start;text-align:left;}
.lav2-infos.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(34px,3.2vw,48px);line-height:1.2;color:var(--v2-ivory);
  margin:20px 0 24px;
}
.infos2__block p{color:rgba(244,239,228,.85);font-size:15.5px;max-width:460px;line-height:1.8;}
.practical2{margin-top:56px;}
.practical2 p{font-size:14.5px;color:rgba(244,239,228,.85);line-height:2;margin:0;}
.practical2 strong{
  color:#f2d8c6;font-weight:400;font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;display:block;margin:26px 0 6px;
}
.practical2 p:first-child strong{margin-top:0;}
.practical2 a{color:inherit;border-bottom:1px solid var(--v2-bronze-line);text-decoration:none;}

.resa2.e-con{
  background:var(--v2-olive-950);padding:70px 60px;
  position:relative;align-items:flex-start;text-align:left;justify-content:center;
}
.resa2::after{content:"";position:absolute;inset:12px;border:1px solid var(--v2-bronze-line);pointer-events:none;}
.resa2 > .elementor-widget, .resa2 > .e-con{position:relative;z-index:2;}
.resa2__services.e-con{flex-direction:row !important;column-gap:48px;margin:10px 0 36px;padding:0;}
.resa2__services > .e-con{width:auto;flex:0 0 auto;padding:0;align-items:flex-start;}
.resa2__svc .lbl{
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--v2-champagne);margin-bottom:8px;
}
.resa2__svc .val{font-family:var(--v2-serif);font-size:24px;color:var(--v2-ivory);}
.resa2__small{margin-top:26px;}
.resa2__small p{font-size:12.5px;color:var(--v2-ivory-dim);letter-spacing:.04em;}

/* ============================================================
   FOOTER — template post 17
   ============================================================ */
.lav2-footer.e-con{background:var(--v2-olive-950);padding:110px 8vw 48px;}
.footer2.e-con{align-items:center;text-align:center;width:100%;padding:0;}
.footer2__logo{margin-bottom:26px;width:auto;}
.footer2__logo img{height:150px;width:auto !important;opacity:.95;}
.footer2__sig{margin-bottom:60px;width:auto;}
.footer2__sig img{height:44px;width:auto !important;opacity:.85;}
.footer2__cols.e-con{
  flex-direction:row !important;justify-content:center;column-gap:70px;row-gap:34px;
  flex-wrap:wrap;margin-bottom:70px;padding:0;width:100%;
}
.footer2__cols .elementor-widget{width:auto;}
.footer2__col p{font-size:13px;color:var(--v2-ivory-dim);line-height:1.8;}
.footer2__col strong{
  display:block;font-weight:400;font-size:11px;letter-spacing:.34em;
  text-transform:uppercase;color:var(--v2-champagne);margin-bottom:14px;
}
.footer2__col a{color:inherit;text-decoration:none;transition:color .25s ease;}
.footer2__col a:hover{color:var(--v2-champagne);}
.footer2__legal.e-con{
  flex-direction:row !important;justify-content:space-between;flex-wrap:wrap;row-gap:10px;
  border-top:1px solid var(--v2-bronze-line-soft);padding:34px 0 0;width:100%;
}
.footer2__legal .elementor-widget{width:auto;}
.footer2__legal p{font-size:11px;letter-spacing:.06em;color:rgba(244,239,228,.42);}
.footer2__legal a{color:inherit;text-decoration:none;}

/* ============================================================
   PAGE LA CARTE
   ============================================================ */
.lav2-pagehero.e-con{padding:230px 8vw 90px;}
.pagehero2.e-con{align-items:center;text-align:center;width:100%;padding:0;}
.lav2-pagehero.e-con h1{
  font-family:var(--v2-serif);font-weight:400;
  /* Prata réduite : elle dominait l'italique Cormorant voisine */
  font-size:clamp(40px,4vw,60px);line-height:1.15;color:var(--v2-ivory);margin:0;
}
.lav2-pagehero.e-con h1 .caps{
  display:block;font-family:var(--v2-sans);font-weight:200;letter-spacing:.4em;
  text-transform:uppercase;font-size:.34em;color:var(--v2-ivory-dim);margin-bottom:.5em;
}
.lav2-pagehero.e-con h1 em{font-style:italic;color:var(--v2-champagne);}
.pagehero2 .elementor-widget-text-editor{max-width:560px;margin-top:16px;}
.pagehero2 p{color:var(--v2-ivory-dim);font-size:16px;line-height:1.8;}

.lav2-ignote.e-con{padding:0 8vw 110px;align-items:center;}
.ignote2.e-con{
  max-width:860px;width:100%;margin:0 auto;
  border:1px solid var(--v2-bronze-line);padding:36px 48px;
  flex-direction:row !important;align-items:center;justify-content:space-between;
  column-gap:30px;row-gap:22px;flex-wrap:wrap;position:relative;
}
.ignote2::after{content:"";position:absolute;inset:7px;border:1px solid var(--v2-bronze-line-soft);pointer-events:none;}
.ignote2 .elementor-widget-text-editor{width:auto;max-width:480px;}
.ignote2 p{font-size:14.5px;color:var(--v2-ivory-dim);line-height:1.8;text-align:left;}
.ignote2 p strong{color:var(--v2-champagne);font-weight:400;}
.ignote2 .elementor-widget-button{position:relative;z-index:2;}

.lav2-menu.e-con{padding:0 8vw 40px;align-items:center;}
.menu2.e-con{max-width:820px;width:100%;margin:0 auto;padding:0;}
.menu2__section.e-con{margin-bottom:110px;align-items:center;text-align:center;padding:0;}
.lav2-menu.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(32px,3vw,44px);color:var(--v2-ivory);margin:14px 0 0;line-height:1.25;
}
.lav2-menu.e-con h2 em{font-style:italic;color:var(--v2-champagne);}
.menu2__items.e-con{margin-top:56px;width:100%;padding:0;}
.menu2__items > .item.e-con{
  display:grid !important;grid-template-columns:1fr auto;gap:24px;align-items:center;
  padding:26px 0;border-bottom:1px solid var(--v2-bronze-line-soft);width:100%;
}
.menu2__items > .item:first-child{border-top:1px solid var(--v2-bronze-line-soft);}
.menu2__items .item > .e-con{padding:0;align-items:flex-start;text-align:left;}
.menu2__items .item h3{
  font-family:var(--v2-serif);font-weight:400;font-size:21px;
  color:var(--v2-ivory);margin:0;
}
.menu2__items .item p{font-size:13.5px;color:var(--v2-ivory-dim);margin-top:6px;max-width:520px;text-align:left;}
.menu2__items .badge{
  width:auto;justify-self:end;
  font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;
  color:#d97040;border:1px solid rgba(216,112,64,.5);padding:7px 14px;white-space:nowrap;
}
.menu2__items .badge--gold{color:var(--v2-champagne);border-color:var(--v2-bronze-line);}

.lav2-tea.e-con{background:var(--v2-cream);color:var(--v2-ink);padding:130px 8vw;margin-top:70px;}
.tea2.e-con{align-items:center;text-align:center;width:100%;padding:0;}
.tea2 .v2-eyebrow{color:var(--v2-terra);}
.lav2-tea.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(34px,3.2vw,48px);color:var(--v2-ink);margin:14px 0 0;line-height:1.25;
}
.lav2-tea.e-con h2 em{font-style:italic;color:var(--v2-terra);}
.tea2__lede{max-width:560px;margin-top:26px;}
.tea2__lede p{color:rgba(55,57,46,.78);font-size:16px;line-height:1.8;}
.tea2__grid.e-con{
  display:grid !important;grid-template-columns:repeat(3,1fr);gap:1px;
  max-width:960px;width:100%;margin:70px auto 0;
  background:rgba(55,57,46,.2);border:1px solid rgba(55,57,46,.2);padding:0;
}
.tea2__cell.e-con{background:var(--v2-cream);padding:44px 30px;align-items:center;text-align:center;}
.tea2__cell h3{font-family:var(--v2-serif);font-weight:400;font-size:20px;color:var(--v2-terra);margin:0;}
.tea2__cell p{font-size:13.5px;margin-top:10px;color:rgba(55,57,46,.78);}
.tea2__img.e-con{max-width:960px;width:100%;margin:70px auto 0;position:relative;padding:0;overflow:hidden;}
.tea2__img::after{display:none;}
.tea2__img img{width:100%;height:420px;object-fit:cover;object-position:center 30%;display:block;}

.lav2-resa.e-con{padding:130px 8vw;}
.resapage2.e-con{align-items:center;text-align:center;width:100%;padding:0;}
.lav2-resa.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(34px,3.2vw,48px);color:var(--v2-ivory);margin:14px 0 16px;line-height:1.25;
}
.lav2-resa.e-con h2 em{font-style:italic;color:var(--v2-champagne);}
.resapage2__services.e-con{flex-direction:row !important;justify-content:center;column-gap:56px;margin:36px 0 44px;padding:0;}
.resapage2__services > .e-con{width:auto;flex:0 0 auto;padding:0;align-items:center;}
.resapage2__svc .lbl{
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--v2-champagne);margin-bottom:10px;
}
.resapage2__svc .val{font-family:var(--v2-serif);font-size:22px;color:var(--v2-ivory);}

/* ============================================================
   BOOKBAR — re-skin v2 (barre de résa de functions.php)
   ============================================================ */
.lantiquaire-bookbar{
  background:var(--v2-olive-950) !important;
  border:1px solid var(--v2-bronze-line) !important;
}
.lantiquaire-bookbar__field{color:var(--v2-ivory) !important;}
.lantiquaire-bookbar__label{color:var(--v2-champagne) !important;}
.lantiquaire-bookbar__submit{background:var(--v2-terra) !important;color:#f8f1e8 !important;}
.lantiquaire-bookbar__submit:hover{background:var(--v2-terra-deep) !important;}
.lantiquaire-bookbar__popup{
  background:var(--v2-olive-950) !important;
  border:1px solid var(--v2-bronze-line) !important;
  color:var(--v2-ivory) !important;
}

/* ============================================================
   ANIMATIONS — reveals doux (pilotés par lantiquaire-v2.js)
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  .lav2-rv{
    opacity:0;transform:translateY(22px);filter:blur(5px);
    /* !important : une règle globale v1 (.elementor-widget{transition:...transform})
       écrasait la nôtre et n'animait QUE le transform, pas l'opacité → montée sans fondu */
    transition:opacity .9s var(--v2-ease), transform 1s var(--v2-ease), filter .9s var(--v2-ease) !important;
    will-change:opacity,transform,filter;
  }
  .lav2-rv.is-in{opacity:1 !important;transform:none !important;filter:blur(0) !important;}

  /* Galerie : révélation douce du CADRE ENTIER (fondu) + voile terracotta qui se
     dissipe, façon photo qui « se développe ». (Le clip-path est neutralisé plus
     haut car il créait des marges inégales H/V.) */
  .galerie2__grid > .e-con{opacity:0;}
  .galerie2__grid > .e-con.is-in{opacity:1;}
  .galerie2__grid > .e-con .elementor-widget-image::after{opacity:.55;}
  .galerie2__grid > .e-con.is-in .elementor-widget-image::after{opacity:0;}

  .lav2-imgrv{clip-path:inset(6% 6% 6% 6%);transition:clip-path 1.35s var(--v2-ease);}
  .lav2-imgrv.is-in{clip-path:inset(0 0 0 0);}
  .lav2-imgrv img{transform:scale(1.06);transition:transform 1.8s var(--v2-ease);}
  .lav2-imgrv.is-in img{transform:scale(1);}

  .galerie2__grid img, .spec2__img img, .tea2__img img{
    transition:transform 1.7s var(--v2-ease);
  }
  .galerie2__grid > .e-con:hover img,
  .spec2__img:hover img,
  .tea2__img:hover img{transform:scale(1.045);}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .lav2-nav .nav2.e-con{grid-template-columns:1fr auto;padding:16px 22px 12px;}
  .nav2__links.e-con{display:none;}
  .nav2__logo .mono img{height:64px;}
  .nav2__logo .sig img{display:none;}

  .lav2-hero.e-con{min-height:760px;}
  .hero2__content.e-con{padding:150px 6vw 60px;}
  .hero2__meta > .e-con{padding:4px 20px;}

  .lav2-maison::after{inset:20px 18px;}
  .lav2-maison.e-con{padding:110px 9vw 100px;}

  .jour2__grid.e-con{grid-template-columns:1fr;}
  /* galerie : la grille faisait se chevaucher les cadres sur petit écran →
     carrousel horizontal (marquee auto via JS .la-mq, repli balayage tactile) */
  .lav2-galerie.e-con{overflow:hidden;}
  .galerie2__grid.e-con{
    display:flex !important;flex-wrap:nowrap;
    grid-template-columns:none;grid-auto-rows:auto;gap:0;
    overflow-x:auto;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    padding:8px 6vw 26px;max-width:none;
  }
  .galerie2__grid.e-con::-webkit-scrollbar{display:none;}
  .galerie2__grid > .e-con,
  .galerie2__grid > .g1,.galerie2__grid > .g2,.galerie2__grid > .g3,
  .galerie2__grid > .g4,.galerie2__grid > .g5,.galerie2__grid > .g6,
  .galerie2__grid > .g7,.galerie2__grid > .g8{
    grid-column:auto;grid-row:auto;
    flex:0 0 58vw;width:58vw;height:64vw;margin-right:14px;
    opacity:1 !important;transform:none !important;
  }
  /* marquee actif (classe posée par lantiquaire-v2.js) : le rail s'étire
     et défile en continu, le conteneur de section masque le débordement */
  .galerie2__grid.la-mq{overflow:visible;width:max-content !important;padding-left:0;padding-right:0;will-change:transform;}

  .spec2__row.e-con{grid-template-columns:1fr 1fr;}
  .spec2__item:nth-child(2),.spec2__item:nth-child(4){margin-bottom:0;}
  .carte2__ig.e-con{padding:40px 26px;}

  .terrasse2__content.e-con{grid-template-columns:1fr;padding:150px 6vw 70px;}
  .terrasse2__content > .divider.e-con{display:none;}

  .infos2__wrap.e-con{grid-template-columns:1fr;gap:60px;}
  .resa2.e-con{padding:50px 30px;}

  .lav2-pagehero.e-con{padding:170px 6vw 70px;}
  .menu2__items > .item.e-con{grid-template-columns:1fr;gap:12px;}
  .menu2__items .badge{justify-self:start;}
  .tea2__grid.e-con{grid-template-columns:1fr;}
}

/* ============================================================
   MOBILE (≤680) — hero plus contenu + galerie en carrousel
   ============================================================ */
@media (max-width:680px){
  /* titre du hero : plus compact sur téléphone */
  .lav2-hero.e-con h1{font-size:clamp(33px,9.4vw,44px);line-height:1.2;}
  .hero2__sub{margin-top:30px;}
  .hero2__content .v2-eyebrow{margin-bottom:30px !important;}

  /* galerie : gérée par le carrousel/marquee du bloc ≤980 ; cartes un peu
     plus grandes sur téléphone */
  .galerie2__grid > .e-con,
  .galerie2__grid > .g1,.galerie2__grid > .g2,.galerie2__grid > .g3,
  .galerie2__grid > .g4,.galerie2__grid > .g5,.galerie2__grid > .g6,
  .galerie2__grid > .g7,.galerie2__grid > .g8{
    flex:0 0 72vw;width:72vw;height:82vw;
  }
  .galerie2__grid > .e-con .elementor-widget-image::after{opacity:0 !important;} /* pas de voile terra */
}

/* ============================================================
   PAGES INTÉRIEURES V2 (06/07/2026) — split éditorial, CTA band,
   plats de la semaine, formulaires, mentions, flipbook
   ============================================================ */

/* --- Split éditorial 2 colonnes --- */
.lav2-split.e-con{padding:70px 8vw;}
.split2.e-con{
  display:grid !important;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
  max-width:1240px;width:100%;margin:0 auto;padding:0;
}
.split2__media.e-con{padding:0;position:relative;overflow:hidden;aspect-ratio:4/5;max-height:640px;}
/* liseré ivoire retiré (retour client 16/07) */
.split2__media::after{display:none;}
.split2__media .elementor-widget-image,
.split2__media .elementor-widget-image .elementor-widget-container{height:100%;width:100%;}
.split2__media img{width:100%;height:100%;object-fit:cover;display:block;}
.split2__ph.e-con{aspect-ratio:4/5;max-height:640px;}
.split2__text.e-con{padding:0;align-items:flex-start;text-align:left;}
.lav2-split.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(32px,3.2vw,46px);line-height:1.25;color:var(--v2-ivory);
  margin:18px 0 24px;
}
.lav2-split.e-con h2 em{font-style:italic;color:var(--v2-champagne);}
.split2__text p{color:var(--v2-ivory-dim);font-size:15.5px;line-height:1.85;max-width:480px;margin-bottom:14px;}
.split2__text p:last-child{margin-bottom:0;}
.split2__text .elementor-widget-button{margin-top:28px;}
.speclist2 p strong{color:var(--v2-ivory);font-weight:400;font-family:var(--v2-serif);font-size:17px;}

/* --- Bande CTA réservation --- */
.lav2-cta.e-con{
  padding:120px 8vw;margin-top:60px;
  background:linear-gradient(to bottom, transparent, rgba(44,47,39,.5));
  border-top:1px solid var(--v2-bronze-line-soft);
}
.cta2.e-con{align-items:center;text-align:center;width:100%;padding:0;}
.lav2-cta.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(34px,3.4vw,52px);color:var(--v2-ivory);margin:14px 0 0;line-height:1.25;
}
.lav2-cta.e-con h2 em{font-style:italic;color:var(--v2-champagne);}
.cta2__btns.e-con{flex-direction:row !important;column-gap:18px;row-gap:14px;justify-content:center;flex-wrap:wrap;margin-top:40px;padding:0;}

/* --- Plats de la semaine (page La Cuisine) --- */
.lav2-semaine.e-con{padding:90px 8vw;background:var(--v2-olive-900);}
.semaine2.e-con{align-items:center;text-align:center;width:100%;max-width:820px;margin:0 auto;padding:0;}
.lav2-semaine.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(32px,3vw,44px);color:var(--v2-ivory);margin:14px 0 0;line-height:1.25;
}
.lav2-semaine.e-con h2 em{font-style:italic;color:var(--v2-champagne);}
.semaine2__note{margin-top:18px;}
.semaine2__note p{font-size:13px;color:var(--v2-ivory-dim);font-style:italic;}
.lav2-semaine .menu2__items{margin-top:48px;}
.lav2-semaine .item h3{font-family:var(--v2-serif);font-weight:400;font-size:21px;color:var(--v2-ivory);margin:0;}
.lav2-semaine .item p{font-size:13.5px;color:var(--v2-ivory-dim);margin-top:6px;text-align:left;}

/* --- Accès (page Le Lieu) --- */
.lav2-acces.e-con{padding:90px 8vw 40px;}
.acces2.e-con{align-items:center;text-align:center;width:100%;max-width:720px;margin:0 auto;padding:0;}
.lav2-acces.e-con h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(30px,2.8vw,40px);color:var(--v2-ivory);margin:14px 0 24px;
}
.lav2-acces .practical2{margin-top:0;}
.lav2-acces .practical2 p{text-align:center;}
.lav2-acces .practical2 strong{margin-top:20px;}

/* --- Formulaires (Elementor Pro Form, classe v2-form) --- */
.v2-form{width:100%;}
.v2-form .elementor-field-group{margin-bottom:18px;}
.v2-form label.elementor-field-label{
  font-family:var(--v2-sans);font-size:11px;font-weight:400;
  letter-spacing:.3em;text-transform:uppercase;color:var(--v2-champagne);
  margin-bottom:8px;
}
.v2-form .elementor-field-textual,
.v2-form select.elementor-field-textual{
  background:rgba(44,47,39,.55);
  border:1px solid var(--v2-bronze-line);border-radius:0;
  color:var(--v2-ivory);font-family:var(--v2-sans);font-weight:300;font-size:14.5px;
  padding:14px 16px;box-shadow:none;
}
.v2-form .elementor-field-textual::placeholder{color:rgba(244,239,228,.35);}
.v2-form .elementor-field-textual:focus{
  border-color:var(--v2-champagne);outline:none;
  background:rgba(44,47,39,.75);
}
.v2-form select.elementor-field-textual option{background:var(--v2-olive-950);color:var(--v2-ivory);}
.v2-form .elementor-field-type-submit{margin-top:10px;}
.v2-form .elementor-button{
  background:var(--v2-terra);border:1px solid var(--v2-terra);border-radius:0;
  color:#f8f1e8;font-family:var(--v2-sans);font-weight:400;font-size:12.5px;
  letter-spacing:.28em;text-transform:uppercase;padding:18px 34px;box-shadow:none;
  transition:all .35s var(--v2-ease);
}
.v2-form .elementor-button:hover{background:var(--v2-terra-deep);border-color:var(--v2-terra-deep);}
.v2-form .elementor-message-success{color:var(--v2-champagne);font-size:14px;}
.v2-form .elementor-message-danger{color:#e0703f;font-size:13px;}

/* Page Réserver */
.lav2-form.e-con{padding:20px 8vw 130px;}
.formresa2.e-con{align-items:center;width:100%;max-width:720px;margin:0 auto;padding:0;}
.notice2{margin:34px 0 44px;max-width:640px;}
.notice2 p{
  border:1px solid var(--v2-bronze-line);padding:20px 26px;
  font-size:13.5px;color:var(--v2-ivory-dim);line-height:1.8;text-align:center;
}
.notice2 strong{color:var(--v2-champagne);font-weight:400;}
.formresa2 .resa2__small{margin-top:30px;}
.formresa2 .resa2__small p{text-align:center;}
.formresa2 .resa2__small a{color:var(--v2-champagne);text-decoration:none;border-bottom:1px solid var(--v2-bronze-line);}

/* Carte résa/formulaire sombre (Nous trouver) */
.form2.e-con{align-items:stretch;}
.form2 .elementor-widget-text-editor p{color:rgba(244,239,228,.85);font-size:14.5px;line-height:1.8;margin-bottom:26px;}

/* --- Mentions légales --- */
.lav2-mentions.e-con{padding:20px 8vw 130px;}
.mentions2.e-con{max-width:720px;width:100%;margin:0 auto;align-items:flex-start;text-align:left;padding:0;}
.mention2__h{margin-top:44px;}
.lav2-mentions.e-con h2{
  font-family:var(--v2-serif);font-weight:400;font-size:24px;
  color:var(--v2-champagne);margin:0 0 12px;
}
.mentions2 p{color:var(--v2-ivory-dim);font-size:14.5px;line-height:2;}
.mentions2 a{color:var(--v2-champagne);text-decoration:none;border-bottom:1px solid var(--v2-bronze-line);}

/* --- Flipbook (page La Carte) --- */
.lav2-flip.e-con{padding:0 5vw 70px;align-items:center;}
.lav2-flip .elementor-widget{width:100%;}

/* --- Responsive pages intérieures --- */
@media (max-width:980px){
  .split2.e-con{grid-template-columns:1fr;gap:40px;}
  .split2__media.e-con,.split2__ph.e-con{aspect-ratio:4/3;max-height:420px;}
  .lav2-split.e-con{padding:50px 6vw;}
  .lav2-cta.e-con{padding:90px 6vw;}
  .lav2-form.e-con,.lav2-mentions.e-con{padding-bottom:100px;}
  .v2-form .elementor-field-group{width:100% !important;}
}

/* ============================================================
   HEADER round 3 — liens beige sans ombrage, monogramme seul,
   « Nous trouver » à droite avec le bouton Réserver
   ============================================================ */
.nav2__links .elementor-item{
  color:var(--v2-champagne) !important;
  text-shadow:none !important;
}
.nav2__links .elementor-item:hover,
.nav2__links .elementor-item.elementor-item-active{color:var(--v2-ivory) !important;}

.nav2__cta .elementor-button{text-shadow:none;}

/* lien texte « Nous trouver » dans la zone droite */
.elementor-widget-button.nav2__navlink{width:auto;}
.nav2__navlink .elementor-button{
  background:transparent;border:none;border-radius:0;box-shadow:none;padding:0;
  color:var(--v2-champagne);font-family:var(--v2-sans);font-size:12px;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;text-shadow:none;
  transition:color .25s ease;
}
.nav2__navlink .elementor-button:hover{background:transparent;color:var(--v2-ivory);}

/* monogramme seul, un peu plus contenu */
.nav2__logo .mono img{height:86px;}

@media (max-width:980px){
  .nav2__navlink{display:none;}
  .nav2__logo .mono img{height:60px;}
}

/* ============================================================
   ROUND 4 — hero diaporama + parallax doux
   ============================================================ */
.lav2-hero.e-con{overflow:hidden;}
.lav2-hero .elementor-background-slideshow{
  will-change:transform;
  transform:scale(1.12); /* marge pour le parallax, avant le premier scroll */
}
/* le fondu Ken Burns d'Elementor s'anime sur les slides internes :
   compatible avec la translation du calque parent */
.lav2-terrasse.e-con{will-change:background-position;}

/* ============================================================
   ROUND 6 — fourchette de prix (page La Carte) + contrastes
   ============================================================ */
.carteprix2{margin-top:26px;}
.carteprix2 p{
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--v2-champagne);
  border:1px solid var(--v2-bronze-line-soft);
  display:inline-block;padding:12px 22px;
}
/* légende footer horaires sur 2 lignes */
.footer2__col p br + strong{margin-top:10px;}

/* ============================================================
   ROUND 7 — header : icône téléphone + burger/Réserver mobile
   ============================================================ */
/* Zone gauche : menu à gauche, téléphone collé au logo */
.nav2__links.e-con{
  flex-direction:row !important;align-items:center;
}
/* Téléphone : MOBILE UNIQUEMENT — carré, même gabarit que le burger */
.elementor-widget-button.nav2__tel{display:none;width:auto;}
.nav2__tel .elementor-button{
  width:48px;height:48px;padding:0;box-shadow:none;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;
  border:1px solid rgba(191,182,169,.35);border-radius:0;
  color:#f9f6f1;text-shadow:none;
  transition:all .35s var(--v2-ease);
}
.nav2__tel .elementor-button:hover{
  background:rgba(249,246,241,.06);border-color:rgba(191,182,169,.6);color:#f9f6f1;
}
.nav2__tel .elementor-button-icon{display:flex;}
.nav2__tel .elementor-button-icon i{font-size:15px;}
.nav2__tel .elementor-button-icon svg{width:15px;height:15px;fill:currentColor;}
.nav2__tel .elementor-button-text:empty{display:none;}

@media (max-width:980px){
  /* le container gauche reste visible : seul le menu disparaît (burger en relais) */
  .nav2__links.e-con{display:flex !important;padding-right:0;justify-content:flex-start;}
  .nav2__links .elementor-widget-nav-menu{display:none;}
  .elementor-widget-button.nav2__tel{display:block;}
  /* le burger v1 n'apparaissait qu'à 900px → aligné sur notre breakpoint.
     z-index : la barre .lav2-nav est fixée à 9990 → le burger (v1: z 120)
     passait DESSOUS et les clics n'arrivaient jamais au bouton. L'overlay
     mobile (v1: z 115) doit lui aussi passer au-dessus de la barre.
     top/right : alignés sur l'icône téléphone (padding nav 16px, rangée 60px
     → centre à 46px ; 46 - 24 = top 22px, bord droit = padding nav 22px). */
  .lantiquaire-burger{display:flex !important;top:22px !important;right:22px !important;z-index:9996 !important;
    background:rgba(30,32,25,.35) !important;border:1px solid rgba(191,182,169,.35) !important;}
  .lantiquaire-burger span{background:#f9f6f1 !important;}
  .lantiquaire-mobile-nav{z-index:9995 !important;}
  /* téléphone : FIXE en miroir du burger (même top/gabarit) au lieu de suivre
     la rangée du header → alignement pixel-perfect, et il reste visible comme
     le burger quand le header se masque au scroll */
  .elementor-widget-button.nav2__tel{position:fixed;top:22px;left:22px;z-index:9996;margin:0;}
  .nav2__tel .elementor-button{
    width:48px !important;height:48px !important;padding:0 !important;
    background:rgba(30,32,25,.35) !important;
    border:1px solid rgba(191,182,169,.35) !important;border-radius:0 !important;
    color:#f9f6f1 !important;
  }
  .nav2__tel .elementor-button::before{background-color:#f9f6f1 !important;}
  /* grille mobile : [téléphone | logo centré | Réserver] */
  .lav2-nav .nav2.e-con{grid-template-columns:1fr auto 1fr;}
  .nav2__logo{justify-self:center;}
  /* laisser la place au burger fixe (48px + marge) à droite */
  .nav2__right.e-con{justify-self:end;width:auto;margin-right:72px;}
  .nav2__cta .elementor-button{padding:12px 18px;font-size:11px;letter-spacing:.2em;}

}
@media (max-width:400px){
  .nav2__cta .elementor-button{padding:11px 12px;letter-spacing:.12em;}
  .nav2__right.e-con{margin-right:66px;}
}

/* ============================================================
   Bandeau Instagram au-dessus du footer — 6 photos carrées en
   marquee continu (défilement JS dans lantiquaire-v2.js),
   chaque photo lie vers @lantiquaire.vannes
   ============================================================ */
.lav2-igstrip.e-con{
  padding:0;max-width:100%;width:100%;
  overflow:hidden;background:var(--v2-olive-950);
}
.igstrip__track.e-con{
  display:flex !important;flex-direction:row !important;flex-wrap:nowrap;
  gap:0;padding:0;width:max-content;max-width:none;
  will-change:transform;
}
.igstrip__track .igstrip__item{flex:0 0 auto;width:16.6667vw;height:16.6667vw;overflow:hidden;}
.igstrip__track .igstrip__item .elementor-widget-container,
.igstrip__track .igstrip__item a{display:block;width:100%;height:100%;}
.igstrip__track .igstrip__item img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s var(--v2-ease), filter .6s ease;
}
.igstrip__track .igstrip__item:hover img{transform:scale(1.06);filter:brightness(.85);}
/* CTA « Suivez-nous sur Instagram » : en ABSOLU par-dessus le carrousel,
   centré horizontalement et verticalement. L'overlay laisse passer les
   clics vers les photos partout sauf sur le bouton lui-même. */
.lav2-igstrip.e-con{position:relative;}
.igstrip__cta.e-con{
  position:absolute;inset:0;z-index:5;
  width:100%;align-items:center;justify-content:center;padding:0;
  pointer-events:none;
}
.igstrip__cta .elementor-widget-button{pointer-events:auto;}
.lav2-igstrip .igstrip__btn .elementor-button{
  background:rgba(30,32,25,.6);border:1px solid rgba(241,235,221,.75);border-radius:0;
  color:var(--v2-cream);box-shadow:0 10px 30px rgba(15,17,12,.35);text-shadow:none;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  font-family:var(--v2-sans);font-weight:400;font-size:11.5px;
  letter-spacing:.26em;text-transform:uppercase;padding:16px 28px;
  display:inline-flex;align-items:center;gap:10px;
  transition:all .3s var(--v2-ease);
}
.lav2-igstrip .igstrip__btn .elementor-button:hover{
  background:var(--v2-champagne);border-color:var(--v2-champagne);color:var(--v2-olive-900);
}
.lav2-igstrip .igstrip__btn .elementor-button-icon i{font-size:15px;}
.lav2-igstrip .igstrip__btn .elementor-button-icon svg{width:15px;height:15px;fill:currentColor;}
/* le reveal générique ne doit pas décaler/masquer les tuiles.
   filter:none est indispensable : le reveal pose un blur(5px) et les tuiles
   clonées par le marquee ne sont jamais « révélées » → elles restaient floues. */
.lav2-igstrip .lav2-rv,.lav2-igstrip .elementor-widget{opacity:1 !important;transform:none !important;filter:none !important;margin:0;}
@media (max-width:980px){ .igstrip__track .igstrip__item{width:25vw;height:25vw;} }
@media (max-width:680px){ .igstrip__track .igstrip__item{width:33.34vw;height:33.34vw;} }

/* ============================================================
   Bandeau cookies (consentement préalable) + panneau vidéo bloquée
   ============================================================ */
/* bandeau compact en bas de page (plus de modale centrée : moins intrusif),
   apparition en fondu une fois la page chargée */
.la-cookies{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:99990;display:flex;align-items:flex-end;justify-content:center;padding:0 16px 16px;pointer-events:none;}
/* l'attribut hidden doit TOUJOURS gagner dans le bandeau (le reset du thème
   et nos display:flex le contredisent sinon) */
.la-cookies [hidden]{display:none !important;}
.la-cookies[hidden]{display:none;}
.la-cookies__box{
  pointer-events:auto;max-width:460px;width:100%;
  background:var(--v2-cream);color:var(--v2-ink);
  border:1px solid var(--v2-bronze-line);box-shadow:0 22px 60px rgba(15,17,12,.5);
  padding:20px 22px 14px;text-align:center;
  opacity:0;transform:translateY(14px);
  transition:opacity .55s ease, transform .6s cubic-bezier(.22,.61,.36,1);
}
/* liens discrets sous le bouton principal (refus / personnalisation) */
.la-cookies__more{margin:10px 0 0;display:flex;justify-content:center;align-items:center;gap:10px;color:rgba(55,57,46,.45);}
button.la-cookies__link{
  background:transparent !important;border:0 !important;padding:2px 0 !important;
  font-family:var(--v2-sans);font-size:11px !important;letter-spacing:.04em !important;
  color:rgba(55,57,46,.6) !important;text-decoration:underline;text-underline-offset:3px;
  cursor:pointer;box-shadow:none !important;border-radius:0 !important;text-transform:none !important;
}
button.la-cookies__link:hover{color:var(--v2-terra) !important;background:transparent !important;}
.la-cookies.is-in .la-cookies__box{opacity:1;transform:none;}
.la-cookies__txt{font-family:var(--v2-sans);font-size:12.5px;font-weight:300;line-height:1.7;color:rgba(55,57,46,.85);margin:0 0 16px;}
.la-cookies__txt a{color:var(--v2-terra);text-decoration:underline;}
.la-cookies__prefs{display:flex;flex-direction:column;gap:9px;margin:0 0 16px;text-align:left;}
.la-cookies__prefs label{
  display:flex;align-items:center;gap:9px;
  font-family:var(--v2-sans);font-size:12.5px;color:var(--v2-ink);cursor:pointer;
}
.la-cookies__prefs label.is-locked{opacity:.65;cursor:default;}
.la-cookies__prefs label span{font-size:11px;color:rgba(55,57,46,.6);}
.la-cookies__prefs input{width:15px;height:15px;accent-color:var(--v2-terra);flex:none;margin:0;}
.la-cookies__btns{display:flex;flex-wrap:wrap;gap:9px;}
button.la-cookies__btn{
  flex:1 1 auto;
  font-family:var(--v2-sans);font-size:10.5px !important;font-weight:500;
  letter-spacing:.18em !important;text-transform:uppercase !important;
  padding:12px 14px !important;border-radius:0 !important;box-shadow:none !important;
  background:transparent !important;border:1px solid rgba(55,57,46,.35) !important;
  color:var(--v2-ink) !important;cursor:pointer;transition:all .25s var(--v2-ease);
}
button.la-cookies__btn--solid{background:var(--v2-terra) !important;border-color:var(--v2-terra) !important;color:#f8f1e8 !important;}
button.la-cookies__btn--solid:hover{background:var(--v2-terra-deep) !important;border-color:var(--v2-terra-deep) !important;}
button.la-cookies__btn:not(.la-cookies__btn--solid):hover{border-color:var(--v2-olive-900) !important;background:rgba(55,57,46,.06) !important;}
@media (max-width:600px){
  .la-cookies{left:10px;right:10px;bottom:10px;}
  .la-cookies__box{padding:20px 18px 16px;max-width:none;}
}
/* pages légales : textes SANS animation de reveal (lisibilité) */
.lav2-mentions .lav2-rv,
.lav2-mentions .elementor-widget{opacity:1 !important;transform:none !important;filter:none !important;transition:none !important;}

/* vidéo bloquée tant que « contenus tiers » non accepté */
.la-embed-blocked{
  background:var(--v2-olive-950);border:1px solid var(--v2-bronze-line-soft);
  padding:38px 26px;text-align:center;
}
.la-embed-blocked p{font-family:var(--v2-sans);font-size:13px;color:var(--v2-ivory-dim);margin:0 0 16px;line-height:1.7;}
.la-embed-blocked button{
  font-family:var(--v2-sans);font-size:10.5px !important;letter-spacing:.2em !important;text-transform:uppercase !important;
  background:transparent !important;border:1px solid var(--v2-bronze-line) !important;color:var(--v2-champagne) !important;
  padding:12px 20px !important;border-radius:0 !important;cursor:pointer;
}
.la-embed-blocked button:hover{background:var(--v2-champagne) !important;color:var(--v2-olive-900) !important;}

/* ============================================================
   ROUND 10 — FOOTER v3 (4 colonnes) + POPUP réservation
   ============================================================ */
.lav2-footer3.e-con{
  background:var(--v2-olive-950);
  border-top:1px solid var(--v2-bronze-line-soft);
  padding:100px 8vw 44px;
}
.footer3__grid.e-con{
  display:grid !important;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:60px;
  max-width:1280px;width:100%;margin:0 auto;padding:0;align-items:start;
}
.footer3__brand.e-con{padding:0;align-items:flex-start;text-align:left;}
/* !important : Elementor pose un margin-block-end plus spécifique qui écrasait
   ces marges (logo/signature/description collés, retour client 15/07) */
.footer3__logo{width:auto;margin-bottom:18px !important;}
.footer3__logo img{height:104px;width:auto !important;opacity:.95;}
.footer3__sig{width:auto;margin-bottom:30px !important;}
.footer3__sig img{height:30px;width:auto !important;opacity:.85;}
.footer3__tagline{max-width:300px;margin-bottom:28px !important;}
.footer3__tagline p{font-size:13.5px;color:var(--v2-ivory-dim);line-height:1.9;}
.footer3__cta .elementor-button{padding:14px 26px;font-size:11.5px;}
.footer3__col.e-con{padding:0;align-items:flex-start;text-align:left;}
/* la rangée légale est en bas de page : son reveal ne se déclenche jamais
   (observer) → on la force visible ET nette (le reveal pose aussi un blur) */
.footer3__legal .lav2-rv,.footer3__legal .elementor-widget{opacity:1 !important;transform:none !important;filter:none !important;}
.footer3__legal a{color:var(--v2-champagne);}
.footer3__legal a:hover{color:var(--v2-ivory);}
/* Icônes sociales (col. La maison) et bouton Réserver (col. Horaires) :
   ALIGNÉS sur la même ligne — les colonnes de la grille sont étirées à la
   même hauteur et les deux blocs sont poussés en bas (margin-top:auto),
   avec une hauteur identique de 44px. */
.footer3__grid.e-con{align-items:stretch;}
.footer3__resa{margin-top:auto !important;padding-top:26px;}
.footer3__resa .elementor-button{
  background:var(--v2-terra) !important;border:1px solid var(--v2-terra) !important;border-radius:0;
  color:#f8f1e8 !important;box-shadow:none;text-shadow:none;
  font-family:var(--v2-sans);font-weight:400;font-size:11.5px;
  letter-spacing:.26em;text-transform:uppercase;
  height:44px;display:inline-flex;align-items:center;padding:0 24px;
  transition:all .3s var(--v2-ease);
}
.footer3__resa .elementor-button:hover{background:var(--v2-terra-deep) !important;border-color:var(--v2-terra-deep) !important;}
/* icônes sociales (Facebook / Instagram / Google) */
.footer3__socials{margin-top:auto !important;padding-top:26px;}
.footer3__socials .elementor-social-icon{
  background:transparent !important;border:1px solid var(--v2-bronze-line);border-radius:0;
  width:44px;height:44px;transition:all .3s var(--v2-ease);
}
.footer3__socials .elementor-social-icon i{color:var(--v2-champagne);font-size:15px;}
.footer3__socials .elementor-social-icon svg{fill:var(--v2-champagne);width:15px;height:15px;}
.footer3__socials .elementor-social-icon:hover{background:var(--v2-champagne) !important;border-color:var(--v2-champagne);}
.footer3__socials .elementor-social-icon:hover i{color:var(--v2-olive-900);}
.footer3__socials .elementor-social-icon:hover svg{fill:var(--v2-olive-900);}
.footer3__label{
  margin-bottom:24px !important;
  font-family:var(--v2-sans);font-weight:400;font-size:11px;
  letter-spacing:.34em;text-transform:uppercase;color:var(--v2-champagne);
  margin-bottom:20px;width:auto;
}
.footer3__label .elementor-heading-title{
  font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;
  letter-spacing:inherit;text-transform:inherit;margin:0;
}
.footer3__links p{margin:0 0 10px;font-size:13.5px;line-height:1.7;}
.footer3__links a{color:var(--v2-ivory-dim);text-decoration:none;transition:color .25s ease;}
.footer3__links a:hover{color:var(--v2-champagne);}
.footer3__hours p{font-size:13.5px;color:var(--v2-ivory-dim);line-height:2.1;}
.footer3__services{margin-top:16px;}
.footer3__services p{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--v2-champagne);line-height:2;
}
.footer3__legal.e-con{
  flex-direction:row !important;justify-content:space-between;flex-wrap:wrap;row-gap:10px;
  border-top:1px solid var(--v2-bronze-line-soft);
  max-width:1280px;width:100%;margin:70px auto 0;padding:30px 0 0;
}
.footer3__legal .elementor-widget{width:auto;}
.footer3__legal p{font-size:11px;letter-spacing:.06em;color:rgba(244,239,228,.45);}
.footer3__legal a{color:rgba(244,239,228,.65);text-decoration:none;transition:color .25s ease;}
.footer3__legal a:hover{color:var(--v2-champagne);}

/* ---------- POPUP réservation ---------- */
.lav2-popup .dialog-widget-content{
  background:var(--v2-olive-950) !important;
  border:1px solid var(--v2-bronze-line);border-radius:0 !important;
  box-shadow:0 40px 90px rgba(15,17,12,.6);
}
.lav2-popup .dialog-close-button{
  color:var(--v2-champagne) !important;
}
.lav2-popup .dialog-close-button:hover{color:var(--v2-ivory) !important;}
.lav2-popupcard.e-con{padding:52px 54px 44px;position:relative;}
.lav2-popupcard::after{content:"";position:absolute;inset:10px;border:1px solid var(--v2-bronze-line-soft);pointer-events:none;}
.popup2.e-con{padding:0;width:100%;align-items:center;text-align:center;position:relative;z-index:2;}
.lav2-popupcard h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(26px,3vw,34px);color:var(--v2-ivory);margin:12px 0 6px;line-height:1.25;
}
.lav2-popupcard h2 em{font-style:italic;color:var(--v2-champagne);}
.lav2-popupcard .resapage2__services{margin:18px 0 26px;}
.lav2-popupcard .resapage2__svc .val{font-size:19px;}
.lav2-popupcard .v2-form{text-align:left;}
.popup2__note{margin-top:20px;}
.popup2__note p{font-size:12px;color:var(--v2-ivory-dim);line-height:1.8;}
.popup2__note a{color:var(--v2-champagne);text-decoration:none;border-bottom:1px solid var(--v2-bronze-line);}

@media (max-width:980px){
  .footer3__grid.e-con{grid-template-columns:1fr 1fr;gap:44px;}
  .lav2-footer3.e-con{padding:70px 7vw 36px;}
  .footer3__legal.e-con{flex-direction:column !important;align-items:flex-start;}
  .lav2-popupcard.e-con{padding:38px 24px 32px;}
}
@media (max-width:620px){
  .footer3__grid.e-con{grid-template-columns:1fr;gap:38px;}
}

/* ============================================================
   ROUND 11 — corrections structurelles header/burger + overlay
   ============================================================ */

/* 1) Le wrapper v1 du header (fixed z9999 !important) plaçait tout le
   header AU-DESSUS du burger (z120) et cassait son clic. Neutralisé :
   c'est .lav2-nav qui gère la position (absolute → fixed .is-solid). */
header[data-elementor-type="header"],
div[data-elementor-type="header"],
[data-elementor-type="header"].elementor{
  position:static !important;
  top:auto !important;left:auto !important;right:auto !important;
  width:auto !important;
  z-index:auto !important;
  transform:none !important;
  will-change:auto !important;
}

/* 2) Les styles "Boutons" du kit Elementor fuient sur TOUS les <button>
   (burger, barre de résa, calendrier, flipbook) → reset ciblé. */
button.lantiquaire-burger,
button.lantiquaire-fab,
.lantiquaire-bookbar button,
.lantiquaire-bookbar__popup button,
button.lafb__btn{
  padding:0 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:inherit !important;
}
button.lantiquaire-burger{
  width:48px !important;height:48px !important;
  background:rgba(30,32,25,.35) !important;
  border:1px solid rgba(191,182,169,.35) !important;
  display:none;
}
button.lantiquaire-burger:hover{background:rgba(249,246,241,.08) !important;}
.lantiquaire-bookbar__field{padding:10px 16px !important;}
button.lafb__btn{width:46px !important;height:46px !important;border:1px solid rgba(173,141,100,.45) !important;}
.la-cal-day{border:none !important;background:transparent !important;}
.la-cal-nav,.la-counter-btn,.la-time-btn{border:1px solid var(--v2-bronze-line) !important;background:transparent !important;width:34px;height:34px;}

@media (max-width:980px){
  button.lantiquaire-burger{display:flex !important;}
}

/* 3) Icône téléphone : trait fin façon burger (masque SVG recolorable) */
.nav2__tel .elementor-button-icon{display:none !important;}
.nav2__tel .elementor-button::before{
  content:"";width:17px;height:17px;display:block;
  background-color:#f9f6f1;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/></svg>") center/contain no-repeat;
}
.nav2__tel .elementor-button{background:rgba(30,32,25,.35);}
.nav2__tel .elementor-button:hover::before{background-color:var(--v2-olive-900);}

/* 4) Lisibilité des textes sur photos : scrims renforcés + ombres douces */
.lav2-hero::before{
  background:
    linear-gradient(to bottom, rgba(30,32,25,.58) 0%, rgba(30,32,25,.28) 38%, var(--v2-olive-800) 97%);
}
.lav2-hero.e-con h1{text-shadow:0 2px 34px rgba(15,17,12,.65), 0 1px 6px rgba(15,17,12,.35);}
.lav2-hero .v2-eyebrow,
.hero2__sub p,
.hero2__meta .lbl,
.hero2__meta .val p{text-shadow:0 2px 22px rgba(15,17,12,.95), 0 1px 4px rgba(15,17,12,.8);}
.lav2-terrasse::before{
  background:linear-gradient(to bottom, rgba(44,47,39,.5) 0%, rgba(44,47,39,.32) 40%, var(--v2-terra-deep) 97%);
}
.lav2-terrasse.e-con h2,
.terrasse2__facts .big,
.terrasse2__facts .sub,
.terrasse2__facts .v2-eyebrow,
.terrasse2__facts p{text-shadow:0 1px 18px rgba(20,22,16,.6);}

/* 5) Menu mobile plein écran — v2 : logo, liens Prata, CTA en bas */
.lantiquaire-mobile-nav{
  background:linear-gradient(180deg, #2c2f27 0%, #333629 100%) !important;
}
.lantiquaire-mobile-nav__inner{
  min-height:100%;height:100%;
  display:flex !important;flex-direction:column;align-items:center;
  padding:60px 7vw 26px !important;
  text-align:center;box-sizing:border-box;
}
.lantiquaire-mobile-nav__brand{
  font-family:var(--v2-serif) !important;color:var(--v2-ivory) !important;
  margin-bottom:22px !important;
}
.lantiquaire-mobile-nav__brand img{height:68px;width:auto;display:block;margin:0 auto;}
.lantiquaire-mobile-nav__links{
  display:flex;flex-direction:column;align-items:center;gap:0 !important;
}
.lantiquaire-mobile-nav__links a{
  font-family:var(--v2-serif) !important;font-weight:400 !important;
  font-size:clamp(25px,6.6vw,32px) !important;
  color:var(--v2-ivory) !important;text-transform:none !important;
  letter-spacing:.01em !important;
  padding:8px 0 !important;border:none !important;
  transition:color .25s ease;
}
.lantiquaire-mobile-nav__links a:hover{color:var(--v2-champagne) !important;}
.lantiquaire-mobile-nav__contact{
  margin-top:auto !important;margin-bottom:16px !important;
  display:flex;flex-direction:column;gap:5px;
  font-size:11.5px !important;letter-spacing:.14em;text-transform:uppercase;
  color:var(--v2-ivory-dim) !important;
}
.lantiquaire-mobile-nav__contact a{color:var(--v2-champagne) !important;}
.lantiquaire-mobile-nav__ctas{
  display:flex;gap:12px;flex-wrap:wrap;justify-content:center;width:100%;
}
.la-mnav-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--v2-sans);font-weight:400;font-size:12px;
  letter-spacing:.24em;text-transform:uppercase;
  padding:15px 22px;border:1px solid var(--v2-bronze-line);
  color:var(--v2-ivory);text-decoration:none;flex:1 1 auto;
  transition:all .3s var(--v2-ease);
}
.la-mnav-btn--solid{background:var(--v2-terra);border-color:var(--v2-terra);color:#f8f1e8;}
.la-mnav-btn:hover{background:var(--v2-champagne);border-color:var(--v2-champagne);color:var(--v2-olive-900);}
.la-mnav-btn--solid:hover{background:var(--v2-terra-deep);border-color:var(--v2-terra-deep);color:#f8f1e8;}
/* l'ancien lien CTA v1 s'il reste en cache */
.lantiquaire-mobile-nav__cta{display:none !important;}

/* ============================================================
   Menu mobile — cascade d'apparition (fade-in depuis le haut,
   lien par lien) puis éléments du bas ; à la fermeture tout se
   REMBOBINE : boutons → contact → liens 5→1, et l'overlay ne
   s'efface qu'une fois la cascade inverse terminée.
   ============================================================ */
.lantiquaire-mobile-nav__links a{
  opacity:0 !important;transform:translateY(-16px) !important;
  transition:opacity .38s ease, transform .45s cubic-bezier(.22,.61,.36,1), color .25s ease !important;
}
.lantiquaire-mobile-nav.is-open .lantiquaire-mobile-nav__links a{
  opacity:1 !important;transform:translateY(0) !important;
}
/* ouverture : 1 → 5 */
.lantiquaire-mobile-nav.is-open .lantiquaire-mobile-nav__links a{transition-delay:calc(.10s + var(--i,0) * .09s) !important;}
/* fermeture (rembobiné) : 5 → 1, après le bas de panneau */
.lantiquaire-mobile-nav:not(.is-open) .lantiquaire-mobile-nav__links a{transition-delay:calc((var(--n,7) - 1 - var(--i,0)) * .08s) !important;}
/* éléments du bas : contact puis boutons, montée douce depuis le bas */
.lantiquaire-mobile-nav__contact,
.lantiquaire-mobile-nav__ctas{
  opacity:0 !important;transform:translateY(14px);
  transition:opacity .38s ease, transform .45s cubic-bezier(.22,.61,.36,1) !important;
}
.lantiquaire-mobile-nav.is-open .lantiquaire-mobile-nav__contact{opacity:1 !important;transform:translateY(0);transition-delay:.74s !important;}
.lantiquaire-mobile-nav.is-open .lantiquaire-mobile-nav__ctas{opacity:1 !important;transform:translateY(0);transition-delay:.86s !important;}
/* fermeture : le bas part en premier */
.lantiquaire-mobile-nav:not(.is-open) .lantiquaire-mobile-nav__ctas{transition-delay:0s !important;}
.lantiquaire-mobile-nav:not(.is-open) .lantiquaire-mobile-nav__contact{transition-delay:.07s !important;}
/* le monogramme suit la même respiration */
.lantiquaire-mobile-nav__brand{
  opacity:0;transform:translateY(-10px);
  transition:opacity .4s ease, transform .45s cubic-bezier(.22,.61,.36,1);
}
.lantiquaire-mobile-nav.is-open .lantiquaire-mobile-nav__brand{opacity:1;transform:translateY(0);transition-delay:.04s;}
.lantiquaire-mobile-nav:not(.is-open) .lantiquaire-mobile-nav__brand{transition-delay:.54s;}
/* l'overlay reste en place le temps du rembobinage, puis s'efface */
.lantiquaire-mobile-nav{transition:opacity .3s ease .78s, visibility 0s linear 1.08s !important;}
.lantiquaire-mobile-nav.is-open{transition:opacity .45s cubic-bezier(.22,.61,.36,1) !important;}

/* icône téléphone en haut à gauche du plein écran (miroir du burger),
   reprise de celle du header ; apparaît/disparaît avec le menu */
.lantiquaire-mobile-nav__phone{
  position:absolute;top:22px;left:22px;z-index:9997;
  /* repris à l'identique du bouton téléphone du header (#nav-tel) :
     carré 48px, fond sombre translucide, fine bordure bronze, icône ivoire */
  width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(30,32,25,.35);border:0.8px solid rgba(191,182,169,.35);
  color:#f9f6f1 !important;text-decoration:none;
  opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity .4s ease, transform .45s cubic-bezier(.22,.61,.36,1), background-color .25s ease, border-color .25s ease;
}
/* même icône que le header : téléphone en trait fin via masque SVG recolorable */
.lantiquaire-mobile-nav__phone::before{
  content:"";width:20px;height:20px;display:block;
  background-color:#f9f6f1;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/></svg>") center/contain no-repeat;
}
.lantiquaire-mobile-nav__phone:hover{color:#f9f6f1 !important;}
.lantiquaire-mobile-nav__phone:hover{background:rgba(203,177,139,.16);border-color:rgba(203,177,139,.55);}
.lantiquaire-mobile-nav.is-open .lantiquaire-mobile-nav__phone{opacity:1;transform:translateY(0);transition-delay:.12s;pointer-events:auto;}
.lantiquaire-mobile-nav:not(.is-open) .lantiquaire-mobile-nav__phone{transition-delay:.5s;}

/* ============================================================
   ROUND 12 — Formulaires : champs BEIGE lisibles + parcours
   pas-à-pas (steps) + puces radio service/couverts
   ============================================================ */

/* --- Champs sur fond beige, généreusement espacés --- */
.v2-form .elementor-field-group{margin-bottom:24px;}
.v2-form label.elementor-field-label{
  font-family:var(--v2-sans);font-size:11.5px;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;color:var(--v2-champagne);
  margin-bottom:12px;
}
.v2-form .elementor-field-textual,
.v2-form select.elementor-field-textual{
  background:var(--v2-cream) !important;
  border:1px solid rgba(55,57,46,.22) !important;border-radius:0;
  color:var(--v2-ink) !important;
  font-family:var(--v2-sans);font-weight:400;font-size:15.5px;
  padding:18px 20px !important;box-shadow:none;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.v2-form .elementor-field-textual::placeholder{color:rgba(55,57,46,.42);}
.v2-form .elementor-field-textual:focus{
  border-color:var(--v2-terra) !important;outline:none;
  box-shadow:0 0 0 3px rgba(181,82,42,.18);
  background:#f7f2e7 !important;
}
.v2-form select.elementor-field-textual option{background:var(--v2-cream);color:var(--v2-ink);}

/* --- Puces radio (service, couverts) : gros boutons cliquables --- */
.v2-form .elementor-field-type-radio .elementor-field-subgroup{
  display:flex;flex-wrap:wrap;gap:10px;
}
.v2-form .elementor-field-type-radio .elementor-field-option{
  position:relative;margin:0;padding:0;
}
.v2-form .elementor-field-type-radio input[type="radio"]{
  position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;width:100%;height:100%;
}
.v2-form .elementor-field-type-radio label{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:58px;padding:15px 20px;margin:0;cursor:pointer;
  background:var(--v2-cream);color:var(--v2-ink);
  border:1px solid rgba(55,57,46,.22);
  font-family:var(--v2-sans);font-size:14px;font-weight:400;letter-spacing:.04em;
  transition:all .25s var(--v2-ease);
}
.v2-form .elementor-field-type-radio input[type="radio"]:hover + label{
  border-color:var(--v2-terra);
}
.v2-form .elementor-field-type-radio input[type="radio"]:checked + label{
  background:var(--v2-terra);border-color:var(--v2-terra);color:#f8f1e8;
  box-shadow:0 6px 18px rgba(156,68,35,.35);
}
.v2-form .elementor-field-type-radio input[type="radio"]:focus-visible + label{
  box-shadow:0 0 0 3px rgba(181,82,42,.25);
}

/* --- Étapes : barre de progression + boutons --- */
.v2-form--steps .e-form__indicators{margin-bottom:26px;}
.v2-form--steps .e-form__indicators__indicator,
.v2-form--steps .e-form__indicators__indicator__label{
  font-family:var(--v2-sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--v2-ivory-dim);
}
.v2-form--steps .e-form__indicators__indicator--state-active,
.v2-form--steps .e-form__indicators__indicator--state-active .e-form__indicators__indicator__label{
  color:var(--v2-champagne);
}
.v2-form--steps .e-form__indicators__indicator__progress{
  background:rgba(244,239,228,.14);border-radius:0;
}
.v2-form--steps .e-form__indicators__indicator__progress__meter{
  background:var(--v2-champagne);border-radius:0;
  font-size:10px;color:var(--v2-olive-950);
}
.v2-form--steps .e-form__buttons{gap:12px;margin-top:6px;}
.v2-form--steps .e-form__buttons__wrapper__button{
  border-radius:0;box-shadow:none;
  font-family:var(--v2-sans);font-weight:400;font-size:12.5px;
  letter-spacing:.26em;text-transform:uppercase;
  padding:17px 30px;transition:all .3s var(--v2-ease);
}
.v2-form--steps .e-form__buttons__wrapper__button-next,
.v2-form--steps .e-form__buttons__wrapper__button[type="submit"]{
  background:var(--v2-terra);border:1px solid var(--v2-terra);color:#f8f1e8;
}
.v2-form--steps .e-form__buttons__wrapper__button-next:hover,
.v2-form--steps .e-form__buttons__wrapper__button[type="submit"]:hover{
  background:var(--v2-terra-deep);border-color:var(--v2-terra-deep);
}
.v2-form--steps .e-form__buttons__wrapper__button-previous{
  background:transparent;border:1px solid var(--v2-bronze-line);color:var(--v2-ivory);
}
.v2-form--steps .e-form__buttons__wrapper__button-previous:hover{
  background:var(--v2-champagne);border-color:var(--v2-champagne);color:var(--v2-olive-900);
}

/* --- Respiration : page Réserver + popup --- */
.formresa2 .v2-form{margin-top:10px;}
.lav2-popupcard.e-con{padding:56px 58px 48px;}
@media (max-width:980px){
  .lav2-popupcard.e-con{padding:40px 22px 34px;}
  .v2-form .elementor-field-type-radio label{padding:14px 16px;min-width:52px;}
}

/* ============================================================
   ROUND 13 — barre de réservation fixe : panneau BEIGE lisible
   (remplace le re-skin sombre : valeurs v1 vert foncé + fond olive
   = illisible ; padding réduit par le reset round 11 = tout serré)
   ============================================================ */
.lantiquaire-bookbar{
  background:var(--v2-cream) !important;
  border:1px solid rgba(55,57,46,.16) !important;
  box-shadow:0 26px 60px rgba(15,17,12,.38) !important;
}
.lantiquaire-bookbar .lantiquaire-bookbar__field,
.lantiquaire-bookbar button.lantiquaire-bookbar__field{
  padding:19px 28px !important;
  gap:14px !important;
  color:var(--v2-ink) !important;
  border-right:1px solid rgba(55,57,46,.12) !important;
}
.lantiquaire-bookbar__field:hover,
.lantiquaire-bookbar__field.is-active{background:rgba(181,82,42,.08) !important;}
.lantiquaire-bookbar__field svg{
  stroke:var(--v2-terra) !important;width:17px;height:17px;flex:0 0 auto;
}
.lantiquaire-bookbar__field-text{gap:5px !important;}
.lantiquaire-bookbar__label{
  color:var(--v2-terra) !important;
  font-size:9.5px !important;letter-spacing:.26em !important;
}
.lantiquaire-bookbar__value{
  color:var(--v2-ink) !important;
  font-family:var(--v2-sans) !important;
  font-size:14.5px !important;font-weight:400 !important;
}
.lantiquaire-bookbar__submit{
  background:var(--v2-terra) !important;color:#f8f1e8 !important;
  display:flex;align-items:center;
  padding:0 38px !important;
  font-family:var(--v2-sans) !important;font-size:12px !important;
  letter-spacing:.24em !important;text-transform:uppercase !important;font-weight:500 !important;
}
.lantiquaire-bookbar__submit:hover,
.lantiquaire-bookbar__submit:focus-visible{
  background:var(--v2-terra-deep) !important;color:#fdf6ee !important;
}

/* Popups (calendrier · couverts · heure) : beige assorti */
.lantiquaire-bookbar__popup{
  background:var(--v2-cream) !important;
  border:1px solid rgba(55,57,46,.18) !important;
  color:var(--v2-ink) !important;
  box-shadow:0 26px 60px rgba(15,17,12,.32) !important;
}
.la-cal-title{color:var(--v2-ink) !important;}
.la-cal-dow{color:var(--v2-terra) !important;}
.la-cal-day{color:var(--v2-ink) !important;}
.la-cal-day:hover:not(:disabled){background:rgba(181,82,42,.14) !important;color:var(--v2-ink) !important;}
.la-cal-day.is-selected{background:var(--v2-terra) !important;color:#f8f1e8 !important;}
.la-cal-day.is-today{box-shadow:inset 0 0 0 1px var(--v2-terra) !important;}
.la-cal-day:disabled{color:rgba(55,57,46,.25) !important;}
.la-cal-nav{border:1px solid rgba(55,57,46,.25) !important;color:var(--v2-ink) !important;background:transparent !important;}
.la-counter-btn,.la-time-btn{border:1px solid rgba(55,57,46,.25) !important;color:var(--v2-ink) !important;background:transparent !important;}
.la-counter-btn:hover,.la-time-btn:hover,.la-cal-nav:hover{background:rgba(181,82,42,.12) !important;}
.la-counter-value,.la-time-value{color:var(--v2-ink) !important;}
.la-counter-label,.la-time-label{color:var(--v2-terra) !important;}
.la-counter-hint,.la-time-hint{color:rgba(55,57,46,.55) !important;}

/* ============================================================
   ROUND 14 — page /reserver : le formulaire dans une carte
   olive à cadre bronze, gouttières propres, boutons alignés
   ============================================================ */
.lav2-form.e-con{padding:10px 8vw 130px;align-items:center;}
.resacard2.e-con{
  background:var(--v2-olive-950);
  border:1px solid var(--v2-bronze-line);
  padding:52px 56px 46px;position:relative;
  max-width:760px;width:100%;margin:0 auto;
}
.resacard2::after{content:"";position:absolute;inset:10px;border:1px solid var(--v2-bronze-line-soft);pointer-events:none;}
.resacard2 > .elementor-widget, .resacard2 > .e-con{position:relative;z-index:2;}
.resacard2 .resapage2__services{margin:0 0 22px;}
.resacard2 .notice2{margin:0 auto 34px;max-width:560px;}
.resacard2 .notice2 p{padding:16px 22px;font-size:12.5px;}
.resacard2 .resa2__small{margin-top:26px;}
.resacard2 .resa2__small p{text-align:center;font-size:12.5px;color:var(--v2-ivory-dim);}
.resacard2 .resa2__small a{color:var(--v2-champagne);text-decoration:none;border-bottom:1px solid var(--v2-bronze-line);}

/* Gouttières des champs 50 % : régulières et symétriques */
.v2-form .elementor-form-fields-wrapper{margin:0 -8px;}
.v2-form .elementor-field-group{padding:0 8px;margin-bottom:22px;}
.v2-form .elementor-field-type-submit,
.v2-form .e-form__buttons{margin-bottom:0;}

/* Boutons d'étapes : Retour à gauche, Continuer/Réserver à droite */
.v2-form--steps .e-form__buttons{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;
  padding:0 8px;margin-top:8px;
}
.v2-form--steps .e-form__buttons__wrapper{flex:0 0 auto;}
.v2-form--steps .e-form__buttons__wrapper__button{min-width:150px;justify-content:center;}

/* Barre de progression : fine et discrète */
.v2-form--steps .e-form__indicators{margin:0 8px 30px;}
.v2-form--steps .e-form__indicators__indicator__progress{height:5px;}
.v2-form--steps .e-form__indicators__indicator__progress__meter{line-height:5px;font-size:0;}

@media (max-width:980px){
  .resacard2.e-con{padding:36px 20px 32px;}
  .v2-form--steps .e-form__buttons__wrapper__button{min-width:120px;padding:15px 20px;}
}

/* --- Mobile : header sans bouton Réserver (le burger et la barre fixe s'en
   chargent) + bouton RÉSERVER de la barre fixe avec plus d'air haut/bas --- */
@media (max-width:768px){
  .lav2-nav .nav2__cta{display:none !important;}
  .lantiquaire-bookbar__submit{padding-top:22px !important;padding-bottom:22px !important;}
}

/* --- Menu mobile : de l'air entre les liens SANS dépasser 100vh
   (logo + 5 liens + contact + boutons doivent tenir, même sur 667px) --- */
.lantiquaire-mobile-nav__links a{padding-top:13px !important;padding-bottom:13px !important;}
.lantiquaire-mobile-nav__inner{padding-top:48px !important;padding-bottom:22px !important;}
.lantiquaire-mobile-nav__brand{margin-bottom:14px !important;}

/* --- Barre fixe : libellé long + icône fourchette/couteau sur MOBILE
   (desktop garde le « Réserver » court à côté des champs) --- */
.lantiquaire-bookbar__submit .bb-sub__ico,
.lantiquaire-bookbar__submit .bb-sub__long{display:none;}
@media (max-width:768px){
  .lantiquaire-bookbar__submit{display:flex !important;align-items:center;justify-content:center;gap:10px;}
  .lantiquaire-bookbar__submit .bb-sub__short{display:none;}
  .lantiquaire-bookbar__submit .bb-sub__long{display:inline;}
  .lantiquaire-bookbar__submit .bb-sub__ico{
    display:inline-block;width:17px;height:17px;flex:none;background:#f8f1e8;
    -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2'/><path d='M7 2v20'/><path d='M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/></svg>") center/contain no-repeat;
    mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2'/><path d='M7 2v20'/><path d='M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/></svg>") center/contain no-repeat;
  }
}

/* --- Mobile : boutons du formulaire de résa en pile pleine largeur.
   En rangée nowrap, Retour (min 120px) + « Réserver ma table » débordaient
   de la fenêtre à droite. column-reverse = action principale au-dessus. --- */
@media (max-width:600px){
  .v2-form--steps .e-form__buttons{
    flex-direction:column-reverse !important;flex-wrap:nowrap !important;
    align-items:stretch !important;gap:12px;
  }
  .v2-form--steps .e-form__buttons > *{width:100% !important;max-width:100% !important;margin:0 !important;min-width:0 !important;}
  .v2-form--steps .e-form__buttons button{width:100% !important;min-width:0 !important;}
}

/* ============================================================
   ROUND 16 — corrections formulaire pas-à-pas
   ============================================================ */
/* Le label du GROUPE radio (« À quel service ? ») n'est PAS une puce :
   la règle générique attrapait aussi label.elementor-field-label */
.v2-form .elementor-field-type-radio label.elementor-field-label{
  display:block;background:transparent !important;border:none !important;
  padding:0 !important;margin:0 0 12px !important;min-width:0;cursor:default;
  box-shadow:none !important;
  font-family:var(--v2-sans);font-size:11.5px;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;color:var(--v2-champagne) !important;
}
/* Boutons d'étape : Continuer/Réserver à droite, Retour poussé à gauche */
.v2-form--steps .e-form__buttons{justify-content:flex-end;}
.v2-form--steps .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button-previous){margin-right:auto;}
.v2-form--steps .e-form__buttons__wrapper__button-previous{min-width:120px;}
/* Barre de progression : de l'air au-dessus et en dessous */
.v2-form--steps .e-form__indicators{margin:10px 8px 34px !important;}
/* Champ date : hauteur contenue + curseur */
.v2-form input[type="date"].elementor-field-textual,
.v2-form .elementor-date-field{
  line-height:1.4;height:auto;max-height:60px;cursor:pointer;
}
/* Champ date à l'allure de la barre fixe : typo maison + icône calendrier
   terracotta (comme .lantiquaire-bookbar__field). Le champ Elementor est un
   flatpickr (input.elementor-date-field, type text) → icône en background.
   La règle ::-webkit reste en repli si un rendu natif type=date survient. */
.v2-form input[type="date"].elementor-field-textual,
.v2-form input.elementor-date-field{
  font-family:var(--v2-sans);color:var(--v2-ink);
}
.v2-form input.elementor-date-field{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b5522a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M8 3v4M16 3v4'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 18px center !important;
  background-size:18px 18px !important;padding-right:48px !important;
}
.v2-form input[type="date"].elementor-field-textual::-webkit-calendar-picker-indicator{
  width:18px;height:18px;margin-left:8px;cursor:pointer;opacity:1;
  background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b5522a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat center/contain;
}
/* Correctif étapes : l'étape (colonne flex) étirait verticalement ses
   groupes de champs → le label du groupe radio « gonflait » (centré sur
   toute la hauteur) et un vide énorme apparaissait avant les puces, qui
   débordaient sous le bouton Continuer. On aligne tout en haut. */
.v2-form--steps .elementor-field-type-step{align-items:flex-start;align-content:flex-start;}
.v2-form .elementor-field-group{align-self:flex-start;}

/* ============================================================
   ROUND 19 — header : liens rapprochés, signature sous le
   monogramme au repos, icône map + alignement sur une ligne
   ============================================================ */
/* 1) contenu du header borné et centré → liens plus près du logo
   sur les très grands écrans (le fond dégradé reste pleine largeur) */
.lav2-nav .nav2.e-con{
  max-width:1180px;margin-left:auto;margin-right:auto;
  align-items:center;
}

/* 2) tous les liens sur la MÊME ligne : le logo ne doit pas gonfler
   la hauteur de la rangée → la signature est posée en absolu sous le
   monogramme (elle ne pousse rien). */
.nav2__logo.e-con{position:relative;row-gap:0;justify-content:center;height:80px;overflow:visible;padding:0;transition:height .35s var(--v2-ease);}
.nav2__logo .elementor-widget-image{margin:0 !important;}
.nav2__logo .mono img{height:80px;}
.nav2__logo .sig{
  position:absolute;top:100%;left:50%;width:max-content;
  transform:translateX(-50%);   /* centrage sous le monogramme */
  margin-top:9px;text-align:center;pointer-events:auto;
  transition:opacity .35s var(--v2-ease);
}
.nav2__logo .sig img{height:22px;width:auto !important;opacity:.92;display:block;}
/* masquée quand le header devient solide (fixé au scroll) */
.lav2-nav.is-solid .nav2__logo .sig{opacity:0 !important;visibility:hidden;pointer-events:none;}
.lav2-nav.is-solid .nav2__logo .mono img{height:62px;transition:height .35s var(--v2-ease);}
.lav2-nav.is-solid .nav2__logo.e-con{height:62px;}

/* 3) « Nous trouver » : icône map-marker + même ligne de base que
   les liens de gauche */
.nav2__links.e-con,
.nav2__right.e-con{align-items:center;}
.nav2__right.e-con{flex-direction:row;column-gap:26px;}
.nav2__navlink .elementor-button{
  display:inline-flex;align-items:center;gap:8px;line-height:1;
}
.nav2__navlink .elementor-button .elementor-button-icon{
  display:inline-flex;color:var(--v2-champagne);
}
.nav2__navlink .elementor-button .elementor-button-icon svg{width:13px;height:13px;fill:currentColor;}
.nav2__navlink .elementor-button .elementor-button-icon i{font-size:12px;}
.nav2__navlink .elementor-button:hover .elementor-button-icon{color:var(--v2-ivory);}
/* aligner verticalement le menu natif et les liens/boutons de droite */
.nav2__links .elementor-nav-menu,
.nav2__links .elementor-item{display:flex;align-items:center;line-height:1;}

/* ============================================================
   ROUND 20 — popup réservation : contenu toujours visible +
   en-tête façon page d'attente (pastille, serif douce)
   ============================================================ */
/* garde-fou : le contenu de la popup ne doit JAMAIS rester masqué
   par le reveal (popup préchargée en display:none) */
.elementor-popup-modal .lav2-rv,
.lav2-popupcard .lav2-rv,
.lav2-popupcard .elementor-widget{opacity:1 !important;transform:none !important;}

/* pastille « Ouvert » */
.popup2 .v2-pill{
  display:inline-flex;align-items:center;gap:9px;width:auto;
  border:1px solid var(--v2-bronze-line);border-radius:100px;
  padding:9px 20px;margin-bottom:34px !important;
}
.popup2 .v2-pill .elementor-heading-title{
  font-family:var(--v2-sans);font-size:10.5px;font-weight:500;
  letter-spacing:.28em;text-transform:uppercase;color:var(--v2-champagne);
  display:inline-flex;align-items:center;gap:9px;margin:0;line-height:1;
}
.popup2 .v2-pill .dot{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#7fae5e;box-shadow:0 0 0 3px rgba(127,174,94,.22);
}
/* titre serif doux */
.popup2 .popup2__title .elementor-heading-title,
.lav2-popupcard .popup2__title{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(30px,4vw,42px);line-height:1.15;color:var(--v2-ivory);margin:0;
}
.popup2 .popup2__title em{font-style:italic;color:var(--v2-champagne);}
/* instructions */
.popup2 .popup2__intro{max-width:440px;margin:16px auto 6px;}
.popup2 .popup2__intro p{
  font-size:14px;line-height:1.75;color:var(--v2-ivory-dim);text-align:center;
}
.popup2 .resapage2__services{margin:24px 0 30px;}

/* ============================================================
   ROUND 21 — puces radio : plus d'espace, pas de chevauchement
   ============================================================ */
/* le libellé du groupe (« À quel service ? ») bien détaché des puces */
.v2-form .elementor-field-type-radio > label.elementor-field-label{
  margin-bottom:14px !important;
}
/* la rangée de puces respire et retombe à la ligne proprement */
.v2-form .elementor-field-type-radio .elementor-field-subgroup{
  display:flex !important;flex-wrap:wrap;gap:12px;align-items:stretch;
}
.v2-form .elementor-field-type-radio .elementor-field-option{
  flex:0 1 auto;min-width:0;
}
/* puces service (texte plus long) : 2 par ligne, jamais superposées */
.v2-form .elementor-field-type-radio label{
  white-space:nowrap;line-height:1.2;text-align:center;
}

/* ============================================================
   ROUND 21b — puces radio : le wrapper épouse la hauteur du
   label (sinon le label 48px déborde du wrapper 24px et
   chevauche la rangée suivante)
   ============================================================ */
.v2-form .elementor-field-type-radio .elementor-field-subgroup{
  display:flex !important;flex-wrap:wrap;gap:12px;align-items:flex-start !important;
}
.v2-form .elementor-field-type-radio .elementor-field-option{
  position:relative;display:flex !important;margin:0;padding:0;flex:0 0 auto;height:auto !important;
}
.v2-form .elementor-field-type-radio input[type="radio"]{
  position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer;z-index:2;
}
.v2-form .elementor-field-type-radio label{
  display:flex !important;align-items:center;justify-content:center;
  margin:0 !important;padding:14px 18px;height:100%;white-space:nowrap;line-height:1.2;
}

/* ============================================================
   ROUND 22 — Nous trouver (boutons géo + carte OSM), hero plus
   lisible, survol « Nous trouver », flèche retour terracotta
   ============================================================ */

/* --- 6. Survol « Nous trouver » dans le header : propre --- */
.nav2__navlink .elementor-button:hover,
.nav2__navlink .elementor-button:focus{
  background:transparent !important;color:var(--v2-ivory) !important;box-shadow:none !important;
}
.nav2__navlink .elementor-button{position:relative;}
.nav2__navlink .elementor-button::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;
  background:var(--v2-champagne);transform:scaleX(0);transform-origin:center;
  transition:transform .3s var(--v2-ease);
}
.nav2__navlink .elementor-button:hover::after{transform:scaleX(1);}

/* --- 5. Hero home : textes plus grands / lisibles --- */
.hero2__sub{max-width:600px;}
.hero2__sub p{font-size:17px !important;line-height:1.9;color:var(--v2-ivory) !important;}
.hero2__meta .lbl{font-size:12px !important;}
.hero2__meta .val p{font-size:13.5px !important;color:var(--v2-ivory) !important;}
.lav2-hero .v2-eyebrow{font-size:13px !important;letter-spacing:.4em;}

/* --- Nous trouver (page-id-26) : hero compact + carte plus haute qui
   remonte sous le titre (on gagne de la hauteur en réduisant le hero) --- */
body.page-id-26 .lav2-pagehero.e-con{
  position:relative;z-index:3;
  pointer-events:none;                         /* laisse passer le drag vers la carte */
  padding-top:210px !important;padding-bottom:30px !important;
  background:transparent !important;
}
/* seuls les éléments cliquables interceptent le pointeur : la carte reste
   manipulable (drag / marqueur / zoom) sous les zones vides du hero */
body.page-id-26 .lav2-pagehero.e-con a,
body.page-id-26 .lav2-pagehero.e-con button,
body.page-id-26 .lav2-pagehero.e-con .elementor-button,
body.page-id-26 .hero2__geobtns.e-con{pointer-events:auto;}
body.page-id-26 .lav2-osm{
  height:100vh;margin-top:-452px;position:relative;z-index:1;
}
/* fondu haut : opaque sous le titre, terminé avant le marqueur (~67% de la carte) */
body.page-id-26 .lav2-osm::before{
  height:58%;
  background:linear-gradient(to bottom,#3a3d31 0%,rgba(58,61,49,.96) 34%,rgba(58,61,49,.72) 58%,rgba(58,61,49,.4) 78%,rgba(58,61,49,.14) 92%,rgba(58,61,49,0) 100%);
}
@media (max-width:768px){
  body.page-id-26 .lav2-osm{margin-top:-56vh;height:96vh;}
}

/* --- Illustrations crayonné en filigrane, section « Une cuisine généreuse ».
   Posées NATIVEMENT dans le conteneur Elementor (éditables client) :
   illustration-b = fond (image blanchie + multiply → suit la couleur de section),
   illustration-c = superposition (overlay). ATTENTION : mix-blend-mode sur la
   couche overlay (::before) ne se peint pas — l'image c garde donc son fond
   beige d'origine (#f1ebdd, identique à la section) et se fond sans blend.
   Si la couleur de la section change, régénérer l'image c assortie. --- */
.lav2-carte.e-con{background-blend-mode:multiply;}

/* --- 2. Boutons géo (Google Maps / Waze) sur Nous trouver --- */
.hero2__geobtns.e-con{flex-direction:row !important;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px;padding:0;}
.geobtn .elementor-button{display:inline-flex;align-items:center;gap:9px;}
.geobtn .elementor-button::before{
  content:"";width:15px;height:15px;flex:0 0 auto;
  background-color:currentColor;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
}
.geobtn--maps .elementor-button::before{
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/></svg>") center/contain no-repeat;
}
.geobtn--waze .elementor-button::before{
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M20.7 12.5c.2-.7.3-1.4.3-2.2C21 6 17.1 2.6 12.4 2.6 8 2.6 4.3 5.7 3.9 9.8c-.4.2-.7.6-.7 1.1 0 .4.2.7.5.9-.1 1.6.4 3.2 1.5 4.5-.2.3-.3.7-.3 1.1 0 1 .8 1.8 1.8 1.8.8 0 1.5-.5 1.7-1.2h3.5c.3.7.9 1.2 1.7 1.2 1 0 1.8-.8 1.8-1.8 0-.2 0-.4-.1-.6 1.7-1 2.9-2.7 3.4-4.6.5-.1.9-.5.9-1 0-.4-.3-.8-.9-.5zM9.3 9.3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm5.4 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm-2.7 5.6c-1.7 0-3.2-1-3.8-2.5h7.6c-.6 1.5-2.1 2.5-3.8 2.5z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M20.7 12.5c.2-.7.3-1.4.3-2.2C21 6 17.1 2.6 12.4 2.6 8 2.6 4.3 5.7 3.9 9.8c-.4.2-.7.6-.7 1.1 0 .4.2.7.5.9-.1 1.6.4 3.2 1.5 4.5-.2.3-.3.7-.3 1.1 0 1 .8 1.8 1.8 1.8.8 0 1.5-.5 1.7-1.2h3.5c.3.7.9 1.2 1.7 1.2 1 0 1.8-.8 1.8-1.8 0-.2 0-.4-.1-.6 1.7-1 2.9-2.7 3.4-4.6.5-.1.9-.5.9-1 0-.4-.3-.8-.9-.5zM9.3 9.3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm5.4 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm-2.7 5.6c-1.7 0-3.2-1-3.8-2.5h7.6c-.6 1.5-2.1 2.5-3.8 2.5z'/></svg>") center/contain no-repeat;
}

/* --- 1. Carte stylisée (Leaflet + Carto Dark teinté olive) --- */
.lav2-map.e-con{padding:0;}
.lav2-osm{position:relative;width:100%;height:var(--osm-h,78vh);overflow:hidden;
  background:var(--v2-olive-950);
  border-bottom:1px solid var(--v2-bronze-line-soft);}
.lav2-osm__map{position:absolute;inset:0;width:100%;height:100%;}
/* teinte olive/or par-dessus le fond sombre de Carto */
/* carte vectorielle MapLibre : couleurs natives (style maison), léger vignettage */
.lav2-osm .maplibregl-map{width:100%;height:100%;}
.lav2-osm .maplibregl-canvas{outline:none;}
.lav2-osm::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:400;
  box-shadow:inset 0 0 90px rgba(20,22,16,.16);}
/* dégradé de fondu en haut : couleur exacte de la section au-dessus (olive-800)
   pleine opacité au ras du raccord -> transparent, donc aucune ligne visible */
.lav2-osm::before{content:"";position:absolute;top:0;left:0;right:0;height:180px;z-index:401;pointer-events:none;
  background:linear-gradient(to bottom,#3a3d31 0%,rgba(58,61,49,.92) 16%,rgba(58,61,49,.55) 46%,rgba(58,61,49,.2) 74%,rgba(58,61,49,0) 100%);}
/* commandes MapLibre : icônes vertes sur fond beige */
.lav2-osm .maplibregl-ctrl-top-right,.lav2-osm .maplibregl-ctrl-bottom-right{z-index:410;}
/* zoom en bas à droite */
.lav2-osm .maplibregl-ctrl-bottom-right .maplibregl-ctrl-group{margin:0 18px 18px 0;}
/* gestes coopératifs : bandeau « deux doigts pour déplacer la carte » à la DA maison */
.lav2-osm .maplibregl-cooperative-gesture-screen{
  background:rgba(30,32,25,.55);
  font-family:var(--v2-sans);font-size:13.5px;font-weight:300;
  letter-spacing:.08em;color:var(--v2-cream);
}
.lav2-osm .maplibregl-ctrl-attrib,.lav2-osm .maplibregl-ctrl-attrib-button{display:none !important;}
/* la modale du marqueur doit passer au-dessus du hero qui flotte sur la carte.
   Le wrapper reveal (transform) de la section carte piège son z-index dans un
   stacking context : impossible de monter la modale AU-DESSUS du hero — on
   passe donc le hero SOUS la carte pendant l'ouverture (classe posée sur body). */
.lav2-osm.has-modal{z-index:6 !important;}
body.la-osm-modal-open .lav2-pagehero.e-con{z-index:0 !important;}
.lav2-osm .maplibregl-ctrl-group{background:#e9dfc9;border:1px solid var(--v2-bronze-line);box-shadow:0 4px 14px rgba(20,22,16,.3);border-radius:2px;overflow:hidden;}
.lav2-osm .maplibregl-ctrl-group button{background:#e9dfc9;width:32px;height:32px;}
.lav2-osm .maplibregl-ctrl-group button+button{border-top:1px solid rgba(51,54,41,.22);}
.lav2-osm .maplibregl-ctrl-group button:hover{background:#f2ead9;}
.lav2-osm .maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29'%3E%3Cpath d='M14.5 8.7v11.6M8.7 14.5h11.6' stroke='%23333629' stroke-width='2.3' stroke-linecap='round'/%3E%3C/svg%3E");}
.lav2-osm .maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29'%3E%3Cpath d='M8.7 14.5h11.6' stroke='%23333629' stroke-width='2.3' stroke-linecap='round'/%3E%3C/svg%3E");}
.lav2-osm .maplibregl-ctrl-attrib{background:rgba(30,32,25,.72);color:rgba(244,239,228,.6);}
.lav2-osm .maplibregl-ctrl-attrib a{color:var(--v2-champagne);}
.lav2-osm .maplibregl-ctrl-attrib-button{filter:invert(90%);}
/* marqueur doré + étiquette */
/* la boîte ancrée = uniquement la goutte 40x52 ; anchor:'bottom' vise donc
   exactement la pointe. L'étiquette est en absolu, hors flux, pour ne pas
   décaler le point d'ancrage (sinon le marqueur « glisse » selon le zoom). */
.lav2-pin{position:relative;width:40px;height:52px;}
.lav2-pin__drop{position:absolute;inset:0;filter:drop-shadow(0 6px 10px rgba(15,17,12,.55));}
.lav2-pin__drop svg{width:40px;height:52px;display:block;}
.lav2-pin__drop svg path{fill:var(--v2-terra);}
.lav2-pin__drop svg circle{fill:var(--v2-cream);}

/* modale itinéraire au clic sur le marqueur */
.lav2-osm__modal{position:absolute;inset:0;z-index:600;display:none;align-items:center;justify-content:center;}
.lav2-osm__modal.is-open{display:flex;}
.lav2-osm__backdrop{position:absolute;inset:0;background:rgba(20,22,16,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;}
.lav2-osm__card{position:relative;z-index:2;background:var(--v2-cream);border:1px solid var(--v2-bronze-line);
  padding:40px 42px 34px;max-width:370px;width:calc(100% - 40px);text-align:center;
  box-shadow:0 30px 70px rgba(10,12,8,.55);animation:lav2osmpop .4s var(--v2-ease);}
@keyframes lav2osmpop{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
/* button.___ + !important : les styles Boutons du kit Elementor (.elementor-kit-6 button)
   gagnent sinon en spécificité et étalent la croix en rectangle */
button.lav2-osm__x{position:absolute;top:12px;right:12px;
  width:30px !important;height:30px !important;min-width:0 !important;padding:0 !important;
  display:flex;align-items:center;justify-content:center;border-radius:0 !important;
  background:transparent !important;border:1px solid rgba(51,54,41,.45) !important;
  color:var(--v2-olive-900) !important;opacity:1;
  font-size:20px !important;font-weight:300;line-height:1 !important;cursor:pointer;
  transition:background .25s var(--v2-ease),color .25s var(--v2-ease);}
button.lav2-osm__x:hover{background:var(--v2-olive-900) !important;color:var(--v2-cream) !important;border-color:var(--v2-olive-900) !important;}
.lav2-osm__card-name{display:block;font-family:var(--v2-serif);font-weight:400;font-size:32px;color:var(--v2-olive-900);line-height:1.1;letter-spacing:.03em;}
.lav2-osm__card-addr{display:block;font-family:var(--v2-sans);font-size:15px;font-weight:300;letter-spacing:.03em;
  color:var(--v2-olive-900);opacity:.88;margin-top:14px;line-height:1.75;}
.lav2-osm__nav{display:flex;flex-direction:column;gap:12px;margin-top:28px;}
.lav2-osm__navbtn{display:flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 18px;font-family:var(--v2-sans);font-size:11px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-radius:0;
  border:1px solid var(--v2-olive-900);transition:all .3s var(--v2-ease);}
.lav2-osm__navbtn svg{width:17px;height:17px;flex:none;}
/* Google Maps : plein vert olive (bouton principal maquette) */
.lav2-osm__navbtn.is-gmaps{background:var(--v2-olive-900);color:var(--v2-cream);}
.lav2-osm__navbtn.is-gmaps:hover{background:var(--v2-champagne);border-color:var(--v2-champagne);color:var(--v2-olive-900);}
/* Waze : contour vert (bouton secondaire maquette) */
.lav2-osm__navbtn.is-waze{background:transparent;color:var(--v2-olive-900);border-color:var(--v2-bronze-line);}
.lav2-osm__navbtn.is-waze:hover{background:var(--v2-olive-900);border-color:var(--v2-olive-900);color:var(--v2-cream);}
.lav2-osm__link{
  position:absolute;right:18px;bottom:18px;z-index:500;
  background:var(--v2-terra);color:#f8f1e8;
  font-family:var(--v2-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  padding:12px 18px;border:1px solid var(--v2-terra);text-decoration:none;
  transition:all .3s var(--v2-ease);
}
.lav2-osm__link:hover{background:var(--v2-terra-deep);border-color:var(--v2-terra-deep);}
@media (max-width:600px){ .lav2-osm__card{padding:34px 24px 28px;} .lav2-osm__card-name{font-size:26px;} }

/* --- 4. Flèche « retour en haut » sur fond terracotta --- */
.lantiquaire-fab--top{
  background:var(--v2-terra) !important;color:#f8f1e8 !important;
  border-radius:0 !important;
  width:52px !important;height:52px !important;
  box-shadow:0 14px 30px -10px rgba(156,68,35,.6), 0 0 0 1px rgba(244,239,228,.18) !important;
}
.lantiquaire-fab--top:hover{background:var(--v2-terra-deep) !important;}
.lantiquaire-fab--top svg path{stroke:#f8f1e8 !important;}

/* ============================================================
   Réservation — carte de confirmation (après envoi du formulaire)
   ============================================================ */
.lav2-resa-confirm{text-align:center;padding:14px 4px 6px;animation:lav2osmpop .45s var(--v2-ease);}
.lav2-resa-confirm__mark{display:inline-flex;align-items:center;justify-content:center;
  width:58px;height:58px;border-radius:50%;border:1px solid var(--v2-champagne);
  color:var(--v2-champagne);margin-bottom:24px;}
.lav2-resa-confirm__mark svg{width:27px;height:27px;}
.lav2-resa-confirm__title{font-family:var(--v2-serif);font-weight:400;font-size:clamp(26px,3vw,34px);
  color:var(--v2-ivory);margin:0 0 14px;line-height:1.1;}
.lav2-resa-confirm__lead{font-family:var(--v2-sans);font-size:14px;line-height:1.75;
  color:var(--v2-ivory-dim);max-width:430px;margin:0 auto 26px;}
.lav2-resa-confirm__lead strong{color:var(--v2-champagne);font-weight:500;}
.lav2-resa-confirm__addr{font-family:var(--v2-sans);font-size:12.5px;letter-spacing:.03em;
  color:var(--v2-ivory-dim);line-height:1.7;margin-bottom:26px;}
.lav2-resa-confirm__addr span{display:block;font-family:var(--v2-serif);font-size:19px;
  letter-spacing:0;color:var(--v2-ivory);margin-bottom:5px;}
.lav2-resa-confirm__nav{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.lav2-resa-confirm__btn{display:inline-flex;align-items:center;justify-content:center;
  padding:14px 22px;font-family:var(--v2-sans);font-size:11px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;text-decoration:none;
  border:1px solid var(--v2-bronze-line);transition:all .3s var(--v2-ease);}
.lav2-resa-confirm__btn.is-gmaps{background:var(--v2-champagne);border-color:var(--v2-champagne);color:var(--v2-olive-900);}
.lav2-resa-confirm__btn.is-gmaps:hover{background:var(--v2-ivory);border-color:var(--v2-ivory);}
.lav2-resa-confirm__btn.is-waze{background:transparent;color:var(--v2-ivory);}
.lav2-resa-confirm__btn.is-waze:hover{background:rgba(244,239,228,.1);border-color:var(--v2-champagne);}

/* ============================================================
   Galerie — lightbox « mode galerie » (clic photo → plein écran)
   ============================================================ */
.lav2-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;
  background:rgba(20,22,16,.94);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);}
.lav2-lightbox.is-open{display:flex;animation:lav2osmpop .35s var(--v2-ease);}
.lav2-lightbox__fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:90vw;}
.lav2-lightbox__img{max-width:86vw;max-height:78vh;object-fit:contain;display:block;
  background:#e7ddc7;padding:12px;border:1px solid rgba(120,100,70,.3);box-shadow:0 32px 80px rgba(0,0,0,.6);}
.lav2-lightbox__cap{font-family:var(--v2-sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--v2-champagne);text-align:center;min-height:1em;}
.lav2-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(30,32,25,.4);border:1px solid var(--v2-bronze-line);color:var(--v2-ivory);
  width:54px;height:54px;font-size:26px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .25s var(--v2-ease);}
.lav2-lightbox__nav:hover{background:var(--v2-champagne);border-color:var(--v2-champagne);color:var(--v2-olive-900);}
.lav2-lightbox__prev{left:3vw;}
.lav2-lightbox__next{right:3vw;}
.lav2-lightbox__close{position:absolute;top:22px;right:30px;background:none;border:0;
  color:var(--v2-ivory);font-size:42px;line-height:1;cursor:pointer;opacity:.85;transition:opacity .25s;}
.lav2-lightbox__close:hover{opacity:1;}
.lav2-lightbox__count{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);
  font-family:var(--v2-sans);font-size:12px;letter-spacing:.22em;color:var(--v2-ivory-dim);}
@media (max-width:600px){
  .lav2-lightbox__nav{width:42px;height:42px;font-size:22px;}
  .lav2-lightbox__prev{left:4px;} .lav2-lightbox__next{right:4px;}
  .lav2-lightbox__img{max-width:92vw;padding:8px 8px 18px;}
  .lav2-lightbox__close{top:14px;right:16px;}
}

/* ============================================================
   Réservation — date en toutes lettres, service midi/soir,
   couverts en pas-à-pas, alignement des boutons d'étape
   ============================================================ */
/* champ date : un peu plus compact ; l'altInput flatpickr hérite du style beige */
.v2-form input.elementor-date-field{padding-top:15px !important;padding-bottom:15px !important;}
.v2-form input.lav2-datealt{cursor:pointer;}

/* Service : « Le midi / Le soir » puis « 1er / 2e service » (+ heures) */
.lav2-svc{margin-top:2px;}
.lav2-svc__period{display:flex;gap:10px;}
.lav2-svc__per{flex:1;padding:15px 10px;background:var(--v2-cream);border:1px solid rgba(55,57,46,.22);
  font-family:var(--v2-sans);font-size:13px;font-weight:500;letter-spacing:.08em;color:var(--v2-ink);
  cursor:pointer;transition:all .25s var(--v2-ease);}
.lav2-svc__per:hover{border-color:var(--v2-terra);}
.lav2-svc__per.is-on{background:var(--v2-terra);border-color:var(--v2-terra);color:#f8f1e8;box-shadow:0 6px 18px rgba(156,68,35,.35);}
.lav2-svc__slots{display:flex;gap:10px;margin-top:10px;}
.lav2-svc__slots[hidden]{display:none;}
.lav2-svc__slot{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:13px 8px;
  background:var(--v2-cream);border:1px solid rgba(55,57,46,.22);cursor:pointer;transition:all .25s var(--v2-ease);
  font-family:var(--v2-sans);color:var(--v2-ink);text-align:center;}
.lav2-svc__slot strong{font-weight:500;font-size:12.5px;letter-spacing:.03em;}
.lav2-svc__slot sup{font-size:.62em;}
.lav2-svc__slot span{font-size:15px;font-weight:400;color:var(--v2-terra);}
.lav2-svc__slot:hover{border-color:var(--v2-terra);}
.lav2-svc__slot.is-on{background:var(--v2-terra);border-color:var(--v2-terra);color:#f8f1e8;box-shadow:0 6px 18px rgba(156,68,35,.35);}
.lav2-svc__slot.is-on span{color:#fdeee4;}

/* Couverts : pas-à-pas  −  n  + */
/* stepper centré dans son étape (le bloc est plafonné à 300px : sans les
   marges auto il restait collé à gauche, libellé compris) */
.lav2-step{display:flex;align-items:stretch;gap:10px;max-width:300px;margin-left:auto !important;margin-right:auto !important;}
.v2-form .elementor-field-group:has(.lav2-step) label.elementor-field-label{text-align:center;}
.lav2-step__btn{width:56px;flex:none;background:var(--v2-cream);border:1px solid rgba(55,57,46,.22);
  color:var(--v2-ink);font-size:24px;line-height:1;cursor:pointer;transition:all .2s var(--v2-ease);
  display:flex;align-items:center;justify-content:center;}
.lav2-step__btn:hover{background:var(--v2-terra);border-color:var(--v2-terra);color:#f8f1e8;}
.lav2-step__box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--v2-cream);border:1px solid rgba(55,57,46,.22);padding:8px 6px;}
.lav2-step__val{font-family:var(--v2-serif);font-size:28px;color:var(--v2-ink);line-height:1;}
.lav2-step__unit{font-family:var(--v2-sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--v2-terra);margin-top:3px;}

/* Boutons dernière étape : Retour ⟷ Réserver, même hauteur, bien alignés */
.v2-form--steps .e-form__buttons{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:14px;flex-wrap:nowrap;}
.v2-form--steps .e-form__buttons__wrapper{display:flex;margin:0 !important;}
.v2-form--steps .e-form__buttons__wrapper__button{min-height:58px;display:inline-flex;align-items:center;justify-content:center;margin:0;}

/* --- RGPD : case d'acceptation (champ acceptance natif) --- */
.v2-form .elementor-field-type-acceptance{
  display:flex;flex-direction:row !important;flex-wrap:nowrap;
  align-items:flex-start !important;gap:11px;
}
.v2-form input.elementor-acceptance-field{
  appearance:auto;-webkit-appearance:auto;
  width:16px;height:16px;margin:3px 0 0;flex:none;
  accent-color:var(--v2-terra);cursor:pointer;
}
.v2-form .elementor-field-type-acceptance label{
  font-family:var(--v2-sans);font-size:12px;font-weight:300;
  line-height:1.65;letter-spacing:.02em;
  color:var(--v2-ivory-dim);cursor:pointer;
  background:transparent !important;border:none !important;
  padding:0 !important;margin:0 !important;min-width:0;
  text-transform:none;
}
.v2-form .elementor-field-type-acceptance a{color:var(--v2-champagne);text-decoration:underline;}
.v2-form .elementor-field-type-acceptance a:hover{color:var(--v2-ivory);}

/* Réservation — fiabiliser le remplacement des puces natives par nos UI */
.v2-form .elementor-field-subgroup[data-la-svc],
.v2-form .elementor-field-subgroup[data-la-cv]{display:none !important;}
/* label + UI sur toute la largeur (le groupe radio est un flex → sinon collés à droite du label) */
.v2-form .elementor-field-type-radio label.elementor-field-label{flex:0 0 100% !important;width:100% !important;}
.v2-form .lav2-svc,.v2-form .lav2-step{flex:0 0 100% !important;width:100%;}

/* ============================================================
   ROUND 33 — puces service & créneaux lisibles PARTOUT (popup
   incluse) : les styles boutons du kit/thème écrasaient le fond
   crème → puces transparentes sur la carte sombre, heure terra
   illisible au survol comme sélectionnée. On verrouille tout.
   ============================================================ */
.lav2-svc__per,.lav2-svc__slot{
  background:var(--v2-cream) !important;
  border:1px solid rgba(55,57,46,.28) !important;
  color:var(--v2-ink) !important;
  border-radius:0 !important;box-shadow:none !important;
}
.lav2-svc__slot span{color:var(--v2-terra) !important;}
.lav2-svc__per:hover,.lav2-svc__slot:hover{
  background:var(--v2-cream) !important;color:var(--v2-ink) !important;
  border-color:var(--v2-terra) !important;
}
.lav2-svc__slot:hover span{color:var(--v2-terra) !important;}
.lav2-svc__per.is-on,.lav2-svc__per.is-on:hover,
.lav2-svc__slot.is-on,.lav2-svc__slot.is-on:hover{
  background:var(--v2-terra) !important;border-color:var(--v2-terra) !important;
  color:#f8f1e8 !important;box-shadow:0 6px 18px rgba(156,68,35,.35) !important;
}
.lav2-svc__slot.is-on span,.lav2-svc__slot.is-on:hover span{color:#ffe9db !important;}
.lav2-svc__per:focus-visible,.lav2-svc__slot:focus-visible{outline:2px solid rgba(181,82,42,.5);outline-offset:2px;}
/* stepper couverts : même blindage que les puces */
.lav2-step__btn,.lav2-step__box{background:var(--v2-cream) !important;border:1px solid rgba(55,57,46,.22) !important;}
.lav2-step__btn{color:var(--v2-ink) !important;border-radius:0 !important;box-shadow:none !important;}
.lav2-step__btn:hover{background:var(--v2-terra) !important;border-color:var(--v2-terra) !important;color:#f8f1e8 !important;}

/* ============================================================
   ROUND 34 — rythme éditorial :
   - note « terrasse » sous la grille matin/midi/soir
   - heros des pages internes avec photo sous le header
   - sections « respiration » plein écran en parallaxe
   ============================================================ */
.jour2__note{margin-top:46px;max-width:640px;}
.jour2__note .elementor-heading-title{
  font-family:var(--v2-serif);font-style:italic;font-weight:400;
  font-size:clamp(17px,1.6vw,21px);line-height:1.65;
  color:var(--v2-champagne);text-align:center;
}

/* hero de page interne avec photo (l'image passe sous le header fixe) */
/* un peu d'air en bas : le dégradé de l'overlay (photo → olive du body)
   a la place de fondre avant le contenu suivant */
.lav2-pagehero--photo.e-con{min-height:500px;padding-bottom:120px !important;}
.lav2-pagehero--photo .elementor-heading-title{text-shadow:0 2px 26px rgba(15,17,12,.65);}
.lav2-pagehero--photo .v2-eyebrow,
.lav2-pagehero--photo .elementor-widget-text-editor,
.lav2-pagehero--photo .elementor-widget-divider{text-shadow:0 1px 14px rgba(15,17,12,.6);}
@media (max-width:900px){ .lav2-pagehero--photo.e-con{min-height:380px;} }

/* respiration plein écran : photo en parallaxe (attachment fixed via
   Elementor) + une ligne italique. Sur tactile, le fixed est bugué → scroll. */
.lav2-break.e-con{min-height:58vh;align-items:center;justify-content:center;padding:100px 8vw;}
.lav2-break .elementor-heading-title{
  font-family:var(--v2-serif);font-style:italic;font-weight:400;
  font-size:clamp(24px,2.8vw,38px);line-height:1.45;color:var(--v2-ivory);
  text-align:center;text-shadow:0 2px 30px rgba(15,17,12,.65);
  max-width:840px;margin:0 auto;
}
@media (max-width:1024px){ .lav2-break.e-con{background-attachment:scroll !important;} }
@media (max-width:900px){ .lav2-break.e-con{min-height:42vh;padding:70px 7vw;} }

/* ============================================================
   ROUND 36 — italiques de titres : Prata n'a pas d'italique (le
   navigateur penchait la 400 → lourd). Les <em> des titres passent
   en Cormorant Garamond italique : vraie italique, fine, élégante.
   ============================================================ */
.lav2-hero.e-con h1 em,.lav2-pagehero.e-con h1 em,
.lav2-galerie.e-con h2 em,.lav2-carte.e-con h2 em,.lav2-terrasse.e-con h2 em,
.lav2-menu.e-con h2 em,.lav2-tea.e-con h2 em,.lav2-resa.e-con h2 em,
.lav2-split.e-con h2 em,.lav2-cta.e-con h2 em{
  font-family:'Cormorant Garamond',var(--v2-serif);
  font-style:italic;font-weight:500;
  font-size:1.06em;  /* Cormorant a une petite hauteur d'x : compensation optique */
}
/* hero home : la ligne italique remonte vers la première (elle suit un <br>) */
.lav2-hero.e-con h1 em{
  display:inline-block;line-height:1;margin-top:-0.28em;
}

/* ============================================================
   ROUND 37 — italique Maison + signature HLG + bandeau enrichi
   ============================================================ */
/* le titre Maison rejoint la famille des italiques Cormorant.
   1.15em : la petite hauteur d'x de Cormorant demande plus de corps
   pour paraître aussi grande que la Prata voisine. */
.lav2-maison.e-con h2 em{
  font-family:'Cormorant Garamond',var(--v2-serif);
  font-style:italic;font-weight:500;font-size:1.15em;
  line-height:1;color:var(--v2-champagne);
}
/* signature « Branding & Communication by » + logo HLG blanc */
.footer3__legal a.footer3__hlg{
  display:inline-flex;align-items:center;gap:8px;
  color:rgba(244,239,228,.65);text-decoration:none;transition:color .25s ease;
}
.footer3__legal a.footer3__hlg:hover{color:var(--v2-champagne);}
.footer3__legal a.footer3__hlg img{
  height:26px;width:auto !important;display:inline-block;vertical-align:middle;
  opacity:.85;transition:opacity .25s ease;
}
.footer3__legal a.footer3__hlg:hover img{opacity:1;}

/* ============================================================
   ROUND 41 — footer : le © s'aligne verticalement sur la ligne
   logo + HLG Studio (le logo 26px décalait les lignes de base)
   ============================================================ */
.footer3__legal p.footer3__copy{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;
}

/* ============================================================
   ROUND 42 — Nous trouver : bandeau extérieur dédié en fin de
   page ; le bandeau global du footer est masqué ici (le marquee
   JS n'initialise que le premier bandeau du DOM).
   ============================================================ */
body.page-id-26 [data-elementor-type="footer"] .lav2-igstrip{display:none !important;}

/* ============================================================
   ROUND 43 — heros de pages internes : équilibre Prata/Cormorant
   (la blanche paraissait plus grosse que l'italique qui suit).
   Règle maison : Cormorant italique = 1.15 × la Prata voisine.
   ============================================================ */
.lav2-pagehero.e-con h1 em{font-size:1.2em;line-height:1;}

/* ============================================================
   ROUND 44 — header : monogramme et signature centrés l'un
   sur l'autre (ils étaient calés à gauche du conteneur logo)
   ============================================================ */
.nav2__logo.e-con{align-items:center;}
/* la signature (90px) déborde du conteneur calé sur le monogramme (70px) :
   en flex centré, le débordement se répartit des deux côtés → les deux
   images partagent le même axe vertical */
.nav2__logo .elementor-widget-image{display:flex;justify-content:center;}
.nav2__logo .elementor-widget-image > a{
  display:flex;justify-content:center;width:100%;
}

/* ============================================================
   ROUND 50 — sélecteur d'heure en deux temps, burger opaque au
   scroll, titre galerie garanti sur mobile
   ============================================================ */
/* créneaux : 5 heures par période, la rangée passe à la ligne proprement */
.lav2-svc__slots{flex-wrap:wrap;}
.lav2-svc__slot--time{flex:1 1 calc(20% - 8px);min-width:62px;padding:13px 6px;font-size:14.5px;font-weight:500;}
/* burger : fond plein dès que le header devient solide au scroll
   (sinon le bouton translucide se mélange aux photos) */
body:has(.lav2-nav.is-solid) button.lantiquaire-burger{
  background:rgba(41,44,34,.97) !important;
  border-color:rgba(191,182,169,.5) !important;
}
/* galerie mobile : le titre de section reste visible au-dessus du carrousel
   (le reveal pouvait le laisser à opacité 0) et l'espacement se resserre */
@media (max-width:980px){
  .galerie2__head .lav2-rv,
  .galerie2__head .elementor-widget{opacity:1 !important;transform:none !important;filter:none !important;}
  .galerie2__head.e-con{margin-bottom:34px;}
}

/* ============================================================
   ROUND 51 — popup résa : la période non choisie s'estompe,
   plus de chevron orphelin du select masqué
   ============================================================ */
.lav2-svc__period:has(.lav2-svc__per.is-on) .lav2-svc__per:not(.is-on){
  opacity:.4;
  transition:opacity .3s var(--v2-ease), background-color .25s var(--v2-ease), border-color .25s var(--v2-ease);
}
.lav2-svc__period:has(.lav2-svc__per.is-on) .lav2-svc__per:not(.is-on):hover{opacity:.85;}
/* le wrapper du select est masqué par JS ; ceinture-bretelles sur son caret */
.v2-form .elementor-field-type-select .select-caret,
.v2-form .elementor-field-group-service .elementor-select-wrapper svg{display:none !important;}

/* ============================================================
   ROUND 52 — plus d'icône calendrier NATIVE en double sur le
   champ date (flatpickr fournit la nôtre)
   ============================================================ */
.v2-form input[type="date"]::-webkit-calendar-picker-indicator{opacity:0;display:none;}

/* ============================================================
   ROUND 54 — bookbar : les valeurs suggérées (non confirmées)
   s'affichent en léger retrait ; elles ne sont transmises au
   formulaire qu'une fois touchées
   ============================================================ */
.lantiquaire-bookbar .is-suggest{opacity:.62;font-style:italic;}

/* ============================================================
   ROUND 55 — le calendrier flatpickr doit passer AU-DESSUS de la
   popup de réservation (z-index 9999)
   ============================================================ */
.flatpickr-calendar{z-index:100001 !important;}

/* ============================================================
   ROUND 57 — pages Bons cadeaux & Événements
   ============================================================ */
.lav2-bons.e-con{padding:60px 8vw 90px;max-width:900px;margin:0 auto;}
/* Événements : cartes du widget Posts (blog natif) à la DA maison */
.lav2-evt.e-con{padding:30px 8vw 110px;max-width:1240px;margin:0 auto;width:100%;}
.lav2-evt .elementor-post{background:transparent;}
.lav2-evt .elementor-post__thumbnail__link{overflow:hidden;margin-bottom:18px;}
.lav2-evt .elementor-post__thumbnail img{transition:transform .8s var(--v2-ease);}
.lav2-evt .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.04);}
.lav2-evt .elementor-post__title,
.lav2-evt .elementor-post__title a{
  font-family:var(--v2-serif);font-weight:400;font-size:22px;line-height:1.35;
  color:var(--v2-ivory);text-decoration:none;transition:color .25s ease;
}
.lav2-evt .elementor-post__title a:hover{color:var(--v2-champagne);}
.lav2-evt .elementor-post__meta-data{
  font-family:var(--v2-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--v2-champagne);margin:10px 0 8px;
}
.lav2-evt .elementor-post__excerpt p{font-size:14.5px;line-height:1.8;color:var(--v2-ivory-dim);}
.lav2-evt .elementor-post__read-more{
  font-family:var(--v2-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--v2-champagne);border-bottom:1px solid var(--v2-bronze-line);padding-bottom:4px;
  text-decoration:none;transition:color .25s ease;
}
.lav2-evt .elementor-post__read-more:hover{color:var(--v2-ivory);}
.lav2-evt .elementor-pagination{margin-top:40px;font-family:var(--v2-sans);}
.lav2-evt .elementor-pagination .page-numbers{color:var(--v2-ivory-dim);padding:6px 10px;text-decoration:none;}
.lav2-evt .elementor-pagination .page-numbers.current{color:var(--v2-champagne);border-bottom:1px solid var(--v2-champagne);}
.lav2-evt .e-load-more-message{color:var(--v2-ivory-dim);}

/* ============================================================
   ROUND 58 — événements sur la home, habillage des articles
   ============================================================ */
.lav2-evt--home.e-con{padding:120px 8vw 130px;background:var(--v2-olive-900);align-items:center;text-align:center;}
.lav2-evt--home .v2-eyebrow{margin-bottom:18px;}
.lav2-evt--home h2{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(34px,3.2vw,48px);line-height:1.25;color:var(--v2-ivory);margin:0 0 54px;
}
.lav2-evt--home h2 em{font-family:'Cormorant Garamond',var(--v2-serif);font-style:italic;font-weight:500;font-size:1.15em;color:var(--v2-champagne);}
.lav2-evt--home .elementor-widget-posts{width:100%;max-width:1240px;text-align:left;}
.lav2-evt--home .evt2__more{margin-top:44px;}
.lav2-evt--home .evt2__more .elementor-button{
  background:transparent;border:1px solid var(--v2-bronze-line);color:var(--v2-ivory);
  padding:15px 30px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;border-radius:0;
  transition:all .3s var(--v2-ease);
}
.lav2-evt--home .evt2__more .elementor-button:hover{background:var(--v2-champagne);border-color:var(--v2-champagne);color:var(--v2-olive-900);}

/* --- Article seul (événement du blog natif) --- */
body.single-post .site-main{
  max-width:820px;margin:0 auto;padding:200px 6vw 110px;
}
body.single-post .page-header .entry-title{
  font-family:var(--v2-serif);font-weight:400;
  font-size:clamp(34px,3.6vw,52px);line-height:1.2;color:var(--v2-ivory);
  text-align:center;margin:0 0 14px;
}
body.single-post .la-post-date{
  font-family:var(--v2-sans);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--v2-champagne);text-align:center;margin:0 0 40px;
}
body.single-post .la-post-hero{margin:0 0 34px;}
body.single-post .la-post-hero img{width:100%;height:auto;display:block;box-shadow:0 14px 40px rgba(15,17,12,.4);}
body.single-post .page-content p{
  font-family:var(--v2-sans);font-weight:300;font-size:16.5px;line-height:1.95;
  color:var(--v2-ivory-dim);margin:0 0 1.4em;
}
body.single-post .la-post-back{margin-top:52px;text-align:center;}
body.single-post .la-post-back a{
  font-family:var(--v2-sans);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--v2-champagne);text-decoration:none;border-bottom:1px solid var(--v2-bronze-line);padding-bottom:5px;
  transition:color .25s ease;
}
body.single-post .la-post-back a:hover{color:var(--v2-ivory);}
body.single-post .post-navigation,body.single-post .comments-area{display:none;}

/* ============================================================
   ROUND 58b — header : trois liens à droite sans retour à la
   ligne ni chevauchement
   ============================================================ */
.nav2__right.e-con{gap:20px;flex-wrap:nowrap;}
.nav2__navlink .elementor-button{
  font-size:11.5px !important;letter-spacing:.18em !important;
  white-space:nowrap;padding-left:0 !important;padding-right:0 !important;
}
@media (max-width:1180px){
  .nav2__navlink .elementor-button{font-size:10.5px !important;letter-spacing:.12em !important;}
  .nav2__right.e-con{gap:14px;}
}

/* ============================================================
   ROUND 60 — top bar transparente (horaires du jour + liens),
   séparée du header par un filet ; elle s'efface au scroll
   quand le header devient solide
   ============================================================ */
.la-topbar{
  position:fixed;top:0;left:0;right:0;z-index:9991;
  height:38px;padding:0;
  /* tranche haute du dégradé du header (qui démarre à .72 juste dessous) :
     raccord exact → topbar et header ne font qu'un au-dessus du hero */
  background:linear-gradient(to bottom, rgba(30,32,25,.86), rgba(30,32,25,.72));
  border-bottom:1px solid rgba(191,182,169,.22);
  font-family:var(--v2-sans);font-size:10.5px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgba(244,239,228,.85);
  transition:opacity .4s var(--v2-ease), transform .4s var(--v2-ease);
}
/* même conteneur que le header : 1180px centré, gouttières 54px */
.la-topbar__in{
  max-width:1180px;width:100%;height:100%;margin:0 auto;padding:0 54px;
  display:flex;align-items:center;justify-content:space-between;
}
.la-topbar__hours{display:inline-flex;align-items:center;gap:9px;text-shadow:0 1px 10px rgba(0,0,0,.4);}
.la-topbar__dot{
  width:7px;height:7px;border-radius:50%;flex:none;
  background:#7fae72;box-shadow:0 0 8px rgba(127,174,114,.8);
}
.la-topbar--closed .la-topbar__dot{background:var(--v2-terra);box-shadow:0 0 8px rgba(181,82,42,.8);}
.la-topbar__links{display:inline-flex;gap:26px;}
.la-topbar__links a{
  color:rgba(244,239,228,.85);text-decoration:none;text-shadow:0 1px 10px rgba(0,0,0,.4);
  transition:color .25s ease;
}
.la-topbar__links a:hover{color:var(--v2-champagne);}
/* le header descend sous la topbar */
.lav2-nav.e-con{top:38px;transition:top .4s var(--v2-ease);}
body.admin-bar .la-topbar{top:32px;}
body.admin-bar .lav2-nav.e-con{top:70px;}
/* au scroll (header solide) : la topbar s'efface, le header remonte */
body:has(.lav2-nav.is-solid) .la-topbar{opacity:0;transform:translateY(-100%);pointer-events:none;}
body:has(.lav2-nav.is-solid) .lav2-nav.e-con{top:0;}
body.admin-bar:has(.lav2-nav.is-solid) .lav2-nav.e-con{top:32px;}
/* mobile : la topbar disparaît (les horaires du jour vivent dans le menu burger) */
@media (max-width:980px){
  .la-topbar{display:none;}
  .lav2-nav.e-con{top:0;}
  body.admin-bar .lav2-nav.e-con{top:46px;}
}

/* ============================================================
   ROUND 61 — logo header un peu plus grand + icônes topbar
   ============================================================ */
.nav2__logo .mono img{height:94px;}
.nav2__logo .sig img{height:26px;}
@media (max-width:980px){ .nav2__logo .mono img{height:70px;} }

/* petites icônes (trait courant) devant les liens de la topbar */
.la-topbar__links a{display:inline-flex;align-items:center;gap:7px;}
.la-topbar__links a::before{
  content:"";width:12px;height:12px;flex:none;background-color:currentColor;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
}
.la-tb-evt::before{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M7 2h2v2h6V2h2v2h4v18H3V4h4V2zm12 8H5v10h14V10z'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M7 2h2v2h6V2h2v2h4v18H3V4h4V2zm12 8H5v10h14V10z'/></svg>");
}
.la-tb-map::before{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/></svg>");
}

/* ============================================================
   ROUND 63 — sortie du plugin Horaires (semaine + statut du jour)
   ============================================================ */
.la-hr-week{display:flex;flex-direction:column;gap:6px;}
.la-hr-week__row{display:flex;justify-content:space-between;gap:18px;font-size:13.5px;line-height:1.5;}
.la-hr-week__days{color:var(--v2-ivory-dim);}
.la-hr-week__val{color:var(--v2-champagne);white-space:nowrap;}
.la-hr-week__row.is-closed .la-hr-week__val{color:rgba(244,239,228,.4);}
.la-hr-closure{margin:12px 0 0;font-size:12px;color:var(--v2-terra);letter-spacing:.02em;}
/* page Nous trouver / contact : mêmes tons sur fond clair géré par la section */
.lav2-infos .la-hr-week__days{color:var(--v2-ivory-dim);}

/* ============================================================
   ROUND 64 — Bon cadeau : bouton d'ouverture + modale pas-à-pas
   ============================================================ */
/* bouton « Commander » sur la page (posé sur les boutons Elementor liés à #bon-cadeau) */
.la-gc-open .elementor-button,.la-gc-cta .elementor-button{cursor:pointer;}

.la-gc{position:fixed;inset:0;z-index:100050;display:flex;align-items:center;justify-content:center;padding:20px;}
.la-gc[hidden]{display:none;}
.la-gc__overlay{position:absolute;inset:0;background:rgba(20,22,16,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s var(--v2-ease);}
.la-gc.is-in .la-gc__overlay{opacity:1;}
.la-gc__dialog{
  position:relative;z-index:2;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;
  background:var(--v2-cream);color:var(--v2-ink);
  border:1px solid var(--v2-bronze-line);box-shadow:0 30px 80px rgba(15,17,12,.5);
  padding:38px 40px 32px;opacity:0;transform:translateY(16px) scale(.98);
  transition:opacity .35s var(--v2-ease),transform .45s cubic-bezier(.22,.61,.36,1);
}
.la-gc.is-in .la-gc__dialog{opacity:1;transform:none;}
.la-gc__x{position:absolute;top:14px;right:16px;background:none;border:0;font-size:26px;line-height:1;color:rgba(55,57,46,.5);cursor:pointer;transition:color .2s;}
.la-gc__x:hover{color:var(--v2-terra);}
.la-gc__head{text-align:center;margin-bottom:26px;}
.la-gc__eyebrow{font-family:var(--v2-sans);font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--v2-terra);}
.la-gc__title{font-family:var(--v2-serif);font-weight:400;font-size:30px;line-height:1.2;color:var(--v2-ink);margin:8px 0 18px;}
.la-gc__title em{font-family:'Cormorant Garamond',var(--v2-serif);font-style:italic;font-weight:500;font-size:1.12em;color:var(--v2-terra);}
.la-gc__bar{height:3px;background:rgba(55,57,46,.14);overflow:hidden;}
.la-gc__bar-fill{display:block;height:100%;width:25%;background:var(--v2-terra);transition:width .4s var(--v2-ease);}
.la-gc__step{display:none;}
.la-gc__step.is-active{display:block;animation:laGcIn .4s var(--v2-ease);}
@keyframes laGcIn{from{opacity:0;transform:translateX(10px);}to{opacity:1;transform:none;}}
.la-gc__legend{font-family:var(--v2-serif);font-size:18px;color:var(--v2-ink);margin:0 0 16px;}
.la-gc__label{display:block;font-family:var(--v2-sans);font-size:12.5px;font-weight:500;letter-spacing:.04em;color:rgba(55,57,46,.75);margin:0 0 15px;}
.la-gc__label select,.la-gc__label input,.la-gc__label textarea{
  display:block;width:100%;margin-top:7px;padding:13px 15px;
  font-family:var(--v2-sans);font-size:15px;font-weight:300;color:var(--v2-ink);
  background:#faf7f0;border:1px solid rgba(55,57,46,.22);border-radius:0;
  transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none;
}
.la-gc__label textarea{resize:vertical;line-height:1.5;}
.la-gc__label select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='%23b5522a'%3E%3Cpath d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:38px;cursor:pointer;}
.la-gc__label select:focus,.la-gc__label input:focus,.la-gc__label textarea:focus{outline:none;border-color:var(--v2-terra);box-shadow:0 0 0 3px rgba(181,82,42,.14);}
.la-gc__nav{display:flex;gap:12px;align-items:center;margin-top:24px;}
.la-gc__btn{
  font-family:var(--v2-sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:14px 26px;border:0;border-radius:2px;cursor:pointer;transition:all .25s var(--v2-ease);
}
.la-gc__prev{background:transparent;border:1px solid rgba(55,57,46,.3);color:var(--v2-ink);}
.la-gc__prev:hover{border-color:var(--v2-ink);}
.la-gc__next,.la-gc__submit{margin-left:auto;background:var(--v2-terra);color:#fdf6ee;}
.la-gc__next:hover,.la-gc__submit:hover{background:var(--v2-terra-deep);}
.la-gc__submit[disabled]{opacity:.6;cursor:default;}
.la-gc__err{margin:14px 0 0;font-family:var(--v2-sans);font-size:13px;color:#c43b31;}
.la-gc__done{text-align:center;padding:24px 6px 8px;}
.la-gc__done-ic{width:56px;height:56px;line-height:56px;margin:0 auto 14px;border-radius:50%;background:#1fa45b;color:#fff;font-size:28px;}
.la-gc__done h3{font-family:var(--v2-serif);font-weight:400;font-size:26px;color:var(--v2-ink);margin:0 0 10px;}
.la-gc__done p{font-family:var(--v2-sans);font-size:14.5px;font-weight:300;line-height:1.7;color:rgba(55,57,46,.8);margin:0;max-width:360px;margin:0 auto;}
@media (max-width:560px){ .la-gc__dialog{padding:30px 22px 26px;} .la-gc__title{font-size:26px;} }
/* bouton bon cadeau dans le hero de la page */
.lav2-pagehero .la-gc-hero-btn{margin-top:26px;}
.lav2-pagehero .la-gc-hero-btn .elementor-button{
  background:var(--v2-terra);color:#fdf6ee;border:1px solid var(--v2-terra);border-radius:0;
  padding:16px 34px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  transition:all .3s var(--v2-ease);
}
.lav2-pagehero .la-gc-hero-btn .elementor-button:hover{background:var(--v2-terra-deep);border-color:var(--v2-terra-deep);}

/* ROUND 64b — neutralise le style « bouton » du kit Elementor dans la modale
   (bordures/padding parasites → croix encadrée + débordement horizontal) */
.la-gc__dialog{overflow-x:hidden;}
.la-gc button{font-family:var(--v2-sans);}
.elementor-kit-6 .la-gc__x,.la-gc__x{
  border:0 !important;background:transparent !important;box-shadow:none !important;
  padding:0 !important;width:auto !important;height:auto !important;min-height:0 !important;letter-spacing:normal !important;
}
.elementor-kit-6 .la-gc__btn,.la-gc__btn{
  box-shadow:none !important;min-height:0 !important;text-transform:uppercase !important;
}
.elementor-kit-6 .la-gc__prev,.la-gc__prev{background:transparent !important;border:1px solid rgba(55,57,46,.3) !important;color:var(--v2-ink) !important;}
.elementor-kit-6 .la-gc__next,.elementor-kit-6 .la-gc__submit,
.la-gc__next,.la-gc__submit{background:var(--v2-terra) !important;border:1px solid var(--v2-terra) !important;color:#fdf6ee !important;}
.elementor-kit-6 .la-gc__next:hover,.elementor-kit-6 .la-gc__submit:hover{background:var(--v2-terra-deep) !important;border-color:var(--v2-terra-deep) !important;}
.la-gc__nav{flex-wrap:wrap;}
/* l'attribut [hidden] doit toujours gagner dans la modale (kit + display:block le contredisaient) */
.la-gc [hidden]{display:none !important;}

/* ============================================================
   ROUND 65 — Bon cadeau : modale au look « réservation » (fond
   olive, champs crème), + barre fixe « Commander » en bas
   ============================================================ */
/* --- barre fixe bas de page, centrée (à la place de la barre de résa) --- */
.la-gc-fixed{
  position:fixed;left:0;right:0;bottom:0;z-index:9990;
  display:flex;justify-content:center;padding:0 16px 18px;pointer-events:none;
  transform:translateY(140%);transition:transform .45s cubic-bezier(.22,.61,.36,1);
}
.la-gc-fixed.is-in{transform:none;}
button.la-gc-fixed__btn{
  pointer-events:auto;cursor:pointer;
  font-family:var(--v2-sans);font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:#fdf6ee;background:var(--v2-terra);border:1px solid var(--v2-terra-deep) !important;
  padding:17px 40px;border-radius:40px;box-shadow:0 10px 30px rgba(15,17,12,.4) !important;
  transition:background-color .25s var(--v2-ease),transform .2s var(--v2-ease);
}
button.la-gc-fixed__btn:hover{background:var(--v2-terra-deep);transform:translateY(-2px);}
@media (max-width:560px){ button.la-gc-fixed__btn{width:100%;max-width:420px;padding:16px 22px;} }

/* --- modale : fond olive + cadre bronze (comme la popup résa) --- */
.la-gc__dialog{
  background:linear-gradient(to bottom,var(--v2-olive-900),var(--v2-olive-950)) !important;
  color:var(--v2-ivory);border:1px solid var(--v2-bronze-line) !important;
}
.la-gc__dialog::after{content:"";position:absolute;inset:10px;border:1px solid var(--v2-bronze-line-soft);pointer-events:none;}
.la-gc__x{color:rgba(244,239,228,.55);}
.la-gc__x:hover{color:var(--v2-champagne);}
.la-gc__eyebrow{color:var(--v2-champagne);}
.la-gc__title{color:var(--v2-ivory);}
.la-gc__title em{color:var(--v2-champagne);}
.la-gc__bar{background:rgba(203,177,139,.2);}
.la-gc__bar-fill{background:var(--v2-champagne);}
.la-gc__legend{color:var(--v2-ivory);}
.la-gc__label{color:var(--v2-champagne);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;}
/* champs crème, texte encre, focus terra — identique au formulaire de résa */
.la-gc__label select,.la-gc__label input,.la-gc__label textarea{
  background:var(--v2-cream) !important;color:var(--v2-ink) !important;
  border:1px solid rgba(55,57,46,.22) !important;font-weight:400;
}
.la-gc__label input::placeholder,.la-gc__label textarea::placeholder{color:rgba(55,57,46,.42);}
.la-gc__label select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='%23b5522a'%3E%3Cpath d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;}
.la-gc__label select option{background:var(--v2-cream);color:var(--v2-ink);}
.la-gc__label select:focus,.la-gc__label input:focus,.la-gc__label textarea:focus{
  border-color:var(--v2-terra) !important;box-shadow:0 0 0 3px rgba(181,82,42,.2) !important;background:#f7f2e7 !important;
}
/* boutons de navigation sur fond olive */
.elementor-kit-6 .la-gc__prev,.la-gc__prev{background:transparent !important;border:1px solid var(--v2-bronze-line) !important;color:var(--v2-ivory) !important;}
.elementor-kit-6 .la-gc__prev:hover,.la-gc__prev:hover{border-color:var(--v2-champagne) !important;color:var(--v2-champagne) !important;}
.la-gc__done h3{color:var(--v2-ivory);}
.la-gc__done p{color:var(--v2-ivory-dim);}
/* boutons CTA « Commander » posés dans les sections de la page */
.la-gc-cta .elementor-button,.lav2-split .la-gc-open .elementor-button,.lav2-bons .la-gc-open .elementor-button{
  background:var(--v2-terra);color:#fdf6ee;border:1px solid var(--v2-terra);border-radius:0;
  padding:15px 32px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;transition:all .3s var(--v2-ease);
}
.la-gc-cta .elementor-button:hover,.lav2-split .la-gc-open .elementor-button:hover,.lav2-bons .la-gc-open .elementor-button:hover{background:var(--v2-terra-deep);border-color:var(--v2-terra-deep);}
/* labels en champagne franc, comme le formulaire de réservation */
.la-gc__dialog .la-gc__label{color:var(--v2-champagne) !important;}

/* ============================================================
   ROUND 66 — réservation : période « complète » (plugin Horaires)
   ============================================================ */
.lav2-svc__per.is-full{opacity:.5;cursor:not-allowed;}
.lav2-svc__per.is-full:hover{border-color:rgba(55,57,46,.22) !important;background:var(--v2-cream) !important;color:var(--v2-ink) !important;}
.lav2-svc__per .lav2-svc__full{
  display:block;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--v2-terra);margin-top:3px;
}

/* ============================================================
   ROUND 67 — note « libérer la table » sous le formulaire de résa
   ============================================================ */
.lav2-note2{
  margin-top:10px;font-family:var(--v2-sans);font-size:13px;font-weight:300;line-height:1.65;
  color:var(--v2-ivory-dim);border-left:2px solid var(--v2-terra);padding-left:12px;text-align:left;
}
/* 6 créneaux le soir : grille de 3 par rangée. flex-grow 0 pour que la
   rangée orpheline du midi (2 puces) garde la même largeur que les autres */
.lav2-svc__slot--time{flex:0 0 calc(33.333% - 6.667px);min-width:76px;}

/* ============================================================
   ROUND 68 — note de rotation entre les périodes et les créneaux,
   jours fermés vraiment inertes dans le calendrier
   ============================================================ */
/* même blindage que les puces (round 33) : la note vit aussi sur la carte
   sombre de la popup, où un fond translucide la rendait illisible */
.lav2-svc__note{
  margin:10px 0 0 !important;padding:12px 15px !important;
  background:var(--v2-cream) !important;
  border:1px solid rgba(55,57,46,.28) !important;
  border-left:3px solid var(--v2-terra) !important;border-radius:0 !important;
  font-family:var(--v2-sans) !important;font-size:12.5px !important;
  font-weight:300 !important;font-style:normal !important;line-height:1.6 !important;
  color:rgba(55,57,46,.82) !important;text-align:left !important;
}
.lav2-svc__note[hidden]{display:none !important;}
.lav2-svc__note strong{font-weight:500 !important;color:var(--v2-terra) !important;}

/* flatpickr : un jour fermé ne doit ni s'allumer au survol ni appeler le clic */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover{
  color:rgba(55,57,46,.22) !important;background:transparent !important;
  border-color:transparent !important;cursor:not-allowed !important;
  text-decoration:line-through;text-decoration-thickness:1px;
}
.lav2-fplegend{
  padding:9px 12px 11px;border-top:1px solid rgba(55,57,46,.1);
  font-family:var(--v2-sans);font-size:11.5px;font-weight:300;letter-spacing:.02em;
  color:rgba(55,57,46,.6);text-align:center;
}

/* ============================================================
   ROUND 69 — Bons cadeaux : rythme, cartes, illustrations.
   La page était un long aplat olive ; on alterne olive profond /
   crème, et les blocs de fin passent en cartes.
   ============================================================ */

/* --- 1. Montants : quatre cartes cliquables (ouvrent la modale) --- */
.lav2-amounts.e-con{
  position:relative;overflow:hidden;
  background:var(--v2-olive-950);
  border-top:1px solid var(--v2-bronze-line-soft);
  border-bottom:1px solid var(--v2-bronze-line-soft);
  padding:96px 8vw 100px;align-items:center;text-align:center;
}
/* illustration crayonnée en filigrane, comme sur l'accueil */
/* illustration-b a un fond BLANC : sur une section sombre il faut l'inverser
   (fond -> noir) avant le screen, sinon on obtient un rectangle clair. */
.lav2-amounts.e-con::before{
  content:"";position:absolute;top:-50px;left:-70px;right:auto;bottom:auto;width:430px;height:430px;
  background:url("/wp-content/uploads/lantiquaire-photos/illustration-b.jpg") center/contain no-repeat;
  filter:invert(1);mix-blend-mode:screen;opacity:.16;pointer-events:none;
}
.lav2-amounts.e-con > .elementor-widget-heading h2{
  font-family:var(--v2-serif);font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.24;
  color:var(--v2-ivory);margin:10px 0 0;max-width:16ch;
}
.amt2.e-con{
  display:grid !important;grid-template-columns:repeat(4,1fr);gap:18px;
  width:100%;max-width:1080px;margin:42px auto 0;padding:0;
}
.amt2__c.e-con{
  position:relative;cursor:pointer;padding:38px 22px 28px;gap:0;
  background:rgba(241,235,221,.045);
  border:1px solid var(--v2-bronze-line-soft);
  transition:background-color .3s var(--v2-ease),border-color .3s var(--v2-ease),transform .3s var(--v2-ease);
}
.amt2__c.e-con:hover{
  background:rgba(181,82,42,.16);border-color:var(--v2-terra);transform:translateY(-5px);
}
/* ces quatre montants ne sont que des repères : on le dit sur chaque carte.
   L'étiquette est calée en bandeau centré au-dessus du chiffre (left/right/
   text-align explicites : le ::before de .e-con sert d'overlay à Elementor,
   qui lui impose son propre inset). */
.amt2__c.e-con::before{
  content:"exemple";
  position:absolute;top:14px;left:0 !important;right:0 !important;bottom:auto !important;
  text-align:center;
  font-family:var(--v2-sans);font-size:9px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(203,177,139,.5);pointer-events:none;
}
.amt2__c.e-con:hover::before{color:rgba(244,239,228,.7);}
.amt2__v{margin:0;}
.amt2__v .elementor-heading-title{
  font-family:var(--v2-serif);font-weight:400;font-size:clamp(30px,2.8vw,38px);line-height:1;
  color:var(--v2-champagne);transition:color .3s var(--v2-ease);
}
.amt2__c:hover .amt2__v .elementor-heading-title{color:#f0c79a;}
.amt2__d{margin-top:12px;}
.amt2__d p{
  font-family:var(--v2-sans);font-size:13px;font-weight:300;line-height:1.65;
  color:var(--v2-ivory-dim);margin:0;
}
.amt2__foot p{
  font-family:var(--v2-sans);font-size:13px;font-weight:300;font-style:italic;
  color:rgba(244,239,228,.6);margin:26px 0 0;
}

/* --- 2. Comment ça marche : trois cartes numérotées, section claire --- */
.lav2-how.e-con{
  position:relative;overflow:hidden;
  background:var(--v2-cream);
  padding:100px 8vw 104px;align-items:center;text-align:center;max-width:none;
}
/* illustration-c : son fond beige est exactement --v2-cream, donc elle se pose
   sans blend sur cette section claire. */
.lav2-how.e-con::before{
  content:"";position:absolute;left:-90px;bottom:-80px;right:auto;top:auto;width:400px;height:400px;
  background:url("/wp-content/uploads/lantiquaire-photos/illustration-c.jpg") center/contain no-repeat;
  opacity:.42;pointer-events:none;
}
.lav2-how .v2-eyebrow .elementor-heading-title{color:var(--v2-terra);}
.lav2-how.e-con > .elementor-widget-heading h2{
  font-family:var(--v2-serif);font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.24;
  color:var(--v2-ink);margin:10px 0 0;
}
.how2.e-con{
  display:grid !important;grid-template-columns:repeat(3,1fr);gap:22px;
  width:100%;max-width:1080px;margin:44px auto 0;padding:0;position:relative;z-index:1;
}
.how2__c.e-con{
  padding:34px 28px 32px;gap:0;text-align:left;
  background:#f7f2e7;border:1px solid rgba(55,57,46,.14);
  border-top:3px solid var(--v2-terra);
  transition:transform .3s var(--v2-ease),box-shadow .3s var(--v2-ease);
}
.how2__c.e-con:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(44,47,39,.13);}
.how2__n .elementor-heading-title{
  font-family:var(--v2-serif);font-weight:400;font-size:40px;line-height:1;
  color:rgba(181,82,42,.28);
}
.how2__t{margin-top:12px;}
.how2__t .elementor-heading-title{
  font-family:var(--v2-serif);font-weight:400;font-size:20px;line-height:1.3;color:var(--v2-ink);
}
.how2__d{margin-top:10px;}
.how2__d p{
  font-family:var(--v2-sans);font-size:13.5px;font-weight:300;line-height:1.75;
  color:rgba(55,57,46,.78);margin:0;
}
.how2__foot p{
  font-family:var(--v2-sans);font-size:13.5px;font-weight:300;color:rgba(55,57,46,.72);
  margin:32px 0 0;
}
.how2__foot a{color:var(--v2-terra);text-decoration:none;border-bottom:1px solid rgba(181,82,42,.4);}
.how2__foot a:hover{border-bottom-color:var(--v2-terra);}
.lav2-how .la-gc-cta{margin-top:26px;}

/* --- 3. Occasions : pastilles + texte SEO --- */
.lav2-occ.e-con{
  position:relative;overflow:hidden;
  background:var(--v2-olive-950);
  padding:96px 8vw 104px;align-items:center;text-align:center;
}
.lav2-occ.e-con::before{
  content:"";position:absolute;bottom:-70px;left:-100px;right:auto;top:auto;width:380px;height:380px;
  transform:scaleX(-1);
  background:url("/wp-content/uploads/lantiquaire-photos/illustration-b.jpg") center/contain no-repeat;
  filter:invert(1);mix-blend-mode:screen;opacity:.13;pointer-events:none;
}
.lav2-occ.e-con > .elementor-widget-heading h2{
  font-family:var(--v2-serif);font-weight:400;font-size:clamp(26px,3.2vw,36px);line-height:1.26;
  color:var(--v2-ivory);margin:10px 0 0;
}
.occ2.e-con{
  display:flex !important;flex-direction:row !important;flex-wrap:wrap;justify-content:center;
  gap:10px;width:100%;max-width:820px;margin:32px auto 0;padding:0;
}
.occ2__c{width:auto !important;}
.occ2__c .elementor-heading-title{
  display:inline-block;padding:10px 20px;
  border:1px solid var(--v2-bronze-line);border-radius:40px;
  font-family:var(--v2-sans);font-size:12px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;
  color:var(--v2-champagne);background:rgba(203,177,139,.07);
  transition:all .3s var(--v2-ease);
}
.occ2__c:hover .elementor-heading-title{
  background:var(--v2-terra);border-color:var(--v2-terra);color:#fdf6ee;
}
.lav2-occ .occ2__seo{max-width:760px !important;margin:34px auto 0;}
.occ2__seo p{
  font-family:var(--v2-sans);font-size:14px;font-weight:300;line-height:1.85;
  color:var(--v2-ivory-dim);margin:0 0 14px;
}
.occ2__seo a{color:var(--v2-champagne);text-decoration:none;border-bottom:1px solid var(--v2-bronze-line);}
.occ2__seo a:hover{color:#f0c79a;}
.lav2-occ .la-gc-cta{margin-top:20px;}

/* --- 4. CTA fixe : ancré à droite, mêmes arêtes que les CTA de contenu --- */
.la-gc-fixed{
  left:auto;right:0;bottom:auto;top:50%;
  display:block;padding:0;
  transform:translate(115%,-50%);
}
.la-gc-fixed.is-in{transform:translate(0,-50%);}
button.la-gc-fixed__btn{
  writing-mode:vertical-rl;
  padding:26px 15px;border-radius:0 !important;
  font-size:11.5px;letter-spacing:.2em;
  border:1px solid var(--v2-terra) !important;border-right:0 !important;
  box-shadow:-8px 0 26px rgba(15,17,12,.32) !important;
  transition:background-color .25s var(--v2-ease),transform .25s var(--v2-ease);
}
button.la-gc-fixed__btn:hover{transform:translateX(-3px);}
/* mobile : un onglet vertical est inutilisable → barre pleine largeur en bas */
@media (max-width:900px){
  .la-gc-fixed{
    left:0;right:0;top:auto;bottom:0;
    display:flex;justify-content:center;padding:0 16px 18px;
    transform:translateY(140%);
  }
  .la-gc-fixed.is-in{transform:none;}
  button.la-gc-fixed__btn{
    writing-mode:horizontal-tb;width:100%;max-width:420px;
    padding:16px 22px;border:1px solid var(--v2-terra-deep) !important;
    box-shadow:0 10px 30px rgba(15,17,12,.4) !important;
  }
  button.la-gc-fixed__btn:hover{transform:translateY(-2px);}
}

/* --- 5. Hero : le CTA prenait toute la largeur, aligné à gauche, alors que
       le titre et le chapô sont centrés --- */
.lav2-pagehero .la-gc-hero-btn{text-align:center;}

/* --- responsive --- */
@media (max-width:1024px){
  .amt2.e-con{grid-template-columns:repeat(2,1fr);}
  .how2.e-con{grid-template-columns:1fr;max-width:560px;}
}
@media (max-width:600px){
  .lav2-amounts.e-con,.lav2-occ.e-con{padding:70px 7vw 76px;}
  .lav2-how.e-con{padding:74px 7vw 78px;}
  .amt2.e-con{grid-template-columns:1fr;max-width:420px;gap:14px;}
  .amt2__c.e-con{padding:24px 20px 22px;}
  .lav2-amounts.e-con::before,.lav2-occ.e-con::before,.lav2-how.e-con::before{width:260px;height:260px;}
}

/* ============================================================
   ROUND 72 — Nous trouver : « Écrivez-nous » en deux parties,
   et survol des cartes Événements sans zoom
   ============================================================ */

/* --- 1. Le formulaire prend sa propre rangée, puis se scinde en deux :
       « Vos coordonnées » à gauche, « Votre message » à droite.
       Grille de 4 colonnes = 2 par partie, pour garder e-mail/téléphone
       et date/couverts côte à côte comme avant. --- */
/* le panneau encadré .resa2 porte aussi cette classe : il reste un cadre,
   on ne lui ajoute donc ni bordure ni largeur — juste la grille en dessous */
.infos2__form.e-con{width:100%;}
.infos2__form .elementor-widget-form{width:100%;max-width:none;margin-top:34px;}

/* Nous trouver : deux colonnes — infos pratiques à gauche, panneau
   « Écrivez-nous » à droite. Le panneau fait ~600 px : la grille du
   formulaire y tient à deux champs par rangée, pas davantage. */
body.page-id-26 .resa2.e-con{width:100%;}
/* Formulaire en deux temps (cf. lantiquaire-v2.js) : les champs sont
   répartis en volets, un seul visible à la fois — même parcours que la
   modale bon cadeau. La grille redevient donc simple : 2 colonnes. */
.infos2__form .elementor-form-fields-wrapper{
  display:block !important;margin:0 !important;
}
.fsteps__head{margin:34px 0 26px;}
.fsteps__bar{height:3px;background:rgba(244,239,228,.14);overflow:hidden;}
.fsteps__fill{display:block;height:100%;width:50%;background:var(--v2-terra);transition:width .45s var(--v2-ease);}
.fsteps__label{
  margin:14px 0 0;font-family:var(--v2-sans);font-size:11px;font-weight:500;
  letter-spacing:.28em;text-transform:uppercase;color:var(--v2-champagne);
}

.fstep{display:none;}
.fstep.is-active{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:26px;row-gap:0;align-items:start;
  animation:laStepIn .4s var(--v2-ease);
}
@keyframes laStepIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.infos2__form .elementor-field-group{
  padding:0 !important;margin-bottom:18px;
  /* Elementor garde ses largeurs de colonnes (elementor-col-50 = width:50%) :
     dans une grille, chaque champ n'occupait que la moitié de sa cellule. */
  width:auto !important;max-width:none !important;flex:0 1 auto !important;
  min-width:0;box-sizing:border-box;
}
.infos2__form .elementor-field-group .elementor-field,
.infos2__form .elementor-field-group input,
.infos2__form .elementor-field-group textarea{
  width:100% !important;max-width:none !important;box-sizing:border-box;
}
.infos2__form .elementor-field-group-rgpd input[type="checkbox"]{width:auto !important;}

/* volet 1 — coordonnées */
.infos2__form .elementor-field-group-nom{grid-column:1 / 3;}
.infos2__form .elementor-field-group-email{grid-column:1 / 2;}
.infos2__form .elementor-field-group-telephone{grid-column:2 / 3;}
.infos2__form .elementor-field-group-date{grid-column:1 / 2;}
.infos2__form .elementor-field-group-personnes{grid-column:2 / 3;}
/* volet 2 — message. Elementor met ses groupes en flex-wrap:wrap ; passé en
   colonne et borné en hauteur, le textarea partait se ranger dans une
   seconde colonne à droite du label et débordait du panneau. */
.infos2__form .elementor-field-group-message{
  grid-column:1 / 3;
  display:flex;flex-direction:column;flex-wrap:nowrap !important;align-items:stretch !important;
}
.infos2__form .elementor-field-group-message textarea{min-height:190px;min-width:0;resize:vertical;}
.infos2__form .elementor-field-group-rgpd{grid-column:1 / 3;margin-top:2px;}

/* barre de navigation des volets */
.fstep__nav{
  display:flex;align-items:center;gap:14px;margin-top:8px;
  padding-top:22px;border-top:1px solid var(--v2-bronze-line-soft);
}
.fstep__err{
  margin:16px 0 0;font-family:var(--v2-sans);font-size:13px;font-weight:300;color:#f0a08c;
}
.fstep__err[hidden]{display:none !important;}
button.fstep__btn{
  font-family:var(--v2-sans);font-size:11.5px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;padding:16px 34px;border-radius:0 !important;
  cursor:pointer;transition:all .3s var(--v2-ease);box-shadow:none !important;min-height:0 !important;
}
button.fstep__next{
  margin-left:auto;background:var(--v2-terra) !important;color:#fdf6ee !important;
  border:1px solid var(--v2-terra) !important;
}
button.fstep__next:hover{background:var(--v2-terra-deep) !important;border-color:var(--v2-terra-deep) !important;}
button.fstep__prev{
  background:transparent !important;color:var(--v2-ivory-dim) !important;
  border:1px solid var(--v2-bronze-line) !important;
}
button.fstep__prev:hover{color:var(--v2-champagne) !important;border-color:var(--v2-champagne) !important;}
button.fstep__btn[hidden]{display:none !important;}
.infos2__form .e-form__buttons{margin-left:auto;justify-content:flex-end;}
.infos2__form .e-form__buttons[hidden]{display:none !important;}
.infos2__form .e-form__buttons .elementor-button,
.infos2__form .e-form__buttons button{width:auto !important;flex:0 0 auto !important;min-width:250px;}

@media (max-width:900px){
  .infos2__form.e-con{margin-top:40px;}
  .fstep.is-active{column-gap:16px;}
}
@media (max-width:560px){
  .fstep.is-active{grid-template-columns:1fr;}
  .infos2__form .elementor-field-group-nom,
  .infos2__form .elementor-field-group-email,
  .infos2__form .elementor-field-group-telephone,
  .infos2__form .elementor-field-group-date,
  .infos2__form .elementor-field-group-personnes,
  .infos2__form .elementor-field-group-message,
  .infos2__form .elementor-field-group-rgpd{grid-column:1;}
  .fstep__nav{flex-wrap:wrap;}
  button.fstep__btn,
  .infos2__form .e-form__buttons .elementor-button{width:100% !important;}
  button.fstep__next,.infos2__form .e-form__buttons{margin-left:0;}
}

/* --- 2. Événements : plus de zoom lent sur la photo. La vignette est
       très légèrement assourdie au repos et retrouve sa pleine lumière au
       survol, pendant que la carte se soulève. --- */
.lav2-evt .elementor-post__thumbnail img,
.lav2-evt--home .elementor-post__thumbnail img{
  transform:none !important;
  filter:brightness(.9) saturate(.93);
  transition:filter .5s var(--v2-ease) !important;
}
.lav2-evt .elementor-post:hover .elementor-post__thumbnail img,
.lav2-evt--home .elementor-post:hover .elementor-post__thumbnail img{filter:none;}
.lav2-evt .elementor-post__thumbnail__link,
.lav2-evt--home .elementor-post__thumbnail__link{position:relative;overflow:hidden;}
/* filet champagne qui se déploie sous la vignette */
.lav2-evt .elementor-post__thumbnail__link::after,
.lav2-evt--home .elementor-post__thumbnail__link::after{
  content:"";position:absolute;left:0;right:auto;bottom:0;top:auto;height:2px;width:0;
  background:var(--v2-champagne);pointer-events:none;
  transition:width .5s var(--v2-ease);
}
.lav2-evt .elementor-post:hover .elementor-post__thumbnail__link::after,
.lav2-evt--home .elementor-post:hover .elementor-post__thumbnail__link::after{width:100%;}
.lav2-evt .elementor-post,
.lav2-evt--home .elementor-post{transition:transform .45s var(--v2-ease);}
.lav2-evt .elementor-post:hover,
.lav2-evt--home .elementor-post:hover{transform:translateY(-6px);}
@media (prefers-reduced-motion:reduce){
  .lav2-evt .elementor-post:hover,
  .lav2-evt--home .elementor-post:hover{transform:none;}
}

/* ============================================================
   ROUND 74 — vignettes des événements en plein cadre, et bande
   CTA de bas de page en photo + dégradé + carte verre dépoli
   ============================================================ */

/* --- 1. Événements : la vignette ne remplissait pas sa carte (Elementor
       laisse l'image à sa taille naturelle selon la largeur de colonne, et
       l'étirait en object-fit:fill). On impose un cadre 3:2 rempli en cover. --- */
.lav2-evt .elementor-post__thumbnail,
.lav2-evt--home .elementor-post__thumbnail{
  position:relative !important;
  width:100% !important;height:auto !important;
  padding-bottom:66.6% !important;   /* 3:2 */
  overflow:hidden;
}
.lav2-evt .elementor-post__thumbnail img,
.lav2-evt--home .elementor-post__thumbnail img{
  position:absolute !important;top:0 !important;left:0 !important;
  width:100% !important;height:100% !important;
  object-fit:cover !important;object-position:center !important;
}
.lav2-evt .elementor-post__thumbnail__link,
.lav2-evt--home .elementor-post__thumbnail__link{display:block;width:100%;}

/* --- 2. Bande CTA de bas de page (pages internes) --- */
.lav2-cta.e-con{
  position:relative;overflow:hidden;
  padding:130px 8vw 140px;margin-top:60px;
  background:url("/wp-content/uploads/lantiquaire-photos/p-galerie-salon.jpg") center 60% / cover no-repeat;
  border-top:1px solid var(--v2-bronze-line-soft);
}
/* dégradé terracotta → olive par-dessus la photo */
.lav2-cta.e-con::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(115deg,
    rgba(156,68,35,.94) 0%,
    rgba(174,79,40,.82) 26%,
    rgba(108,86,52,.84) 48%,
    rgba(62,66,51,.90) 72%,
    rgba(38,41,32,.95) 100%);
}
/* carte en verre dépoli : le texte reste lisible quelle que soit la photo */
.cta2.e-con{
  position:relative;z-index:1;
  align-items:center;text-align:center;
  width:100%;max-width:840px;margin:0 auto;
  padding:52px 56px 58px;
  background:rgba(24,27,20,.42);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  backdrop-filter:blur(16px) saturate(1.2);
  border:1px solid rgba(244,239,228,.18);
  box-shadow:0 30px 70px rgba(13,15,11,.45), inset 0 1px 0 rgba(244,239,228,.14);
}
/* navigateurs sans backdrop-filter : on compense par un fond plus dense */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .cta2.e-con{background:rgba(28,31,24,.78);}
}
.lav2-cta.e-con h2{text-shadow:0 2px 18px rgba(13,15,11,.45);}
.lav2-cta .v2-eyebrow .elementor-heading-title{color:var(--v2-champagne);}

@media (max-width:900px){
  .lav2-cta.e-con{padding:90px 5vw 96px;}
  .cta2.e-con{padding:40px 26px 44px;}
}
/* champ manquant signalé au moment de passer au volet suivant */
.infos2__form .elementor-field-group.is-invalid input,
.infos2__form .elementor-field-group.is-invalid textarea{
  box-shadow:0 0 0 2px rgba(224,74,63,.5) !important;
}
.infos2__form .elementor-field-group.is-invalid > label{color:#f0a08c !important;}

/* ============================================================
   ROUND 76 — partage des événements (fin d'article)
   ============================================================ */
.la-share{
  margin:56px 0 0;padding:30px 0 0;
  border-top:1px solid var(--v2-bronze-line-soft);text-align:center;
}
.la-share__label{
  font-family:var(--v2-sans);font-size:11px;font-weight:500;letter-spacing:.28em;
  text-transform:uppercase;color:var(--v2-champagne);margin:0 0 18px !important;
}
.la-share__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.la-share__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:0;width:46px;height:46px;border-radius:0 !important;
  background:transparent !important;border:1px solid var(--v2-bronze-line) !important;
  box-shadow:none !important;min-height:0 !important;cursor:pointer;
  font-family:var(--v2-sans);font-size:11px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--v2-ivory-dim) !important;
  text-decoration:none !important;   /* le thème souligne tous les liens de contenu */
  transition:background-color .25s var(--v2-ease),border-color .25s var(--v2-ease),color .25s var(--v2-ease);
}
/* réseaux : icône seule (le libellé reste lu par les lecteurs d'écran via
   aria-label). Seule la copie du lien garde son texte, l'icône ne suffit pas. */
.la-share__btn > span{display:none;}
.la-share__btn--link{width:auto;padding:0 20px;}
.la-share__btn--link > span{display:inline;}
.la-share__btn svg{width:17px;height:17px;flex:0 0 auto;fill:currentColor;}
.la-share__btn:hover,.la-share__btn:focus-visible{
  background:var(--v2-terra) !important;border-color:var(--v2-terra) !important;color:#fdf6ee !important;
}
.la-share__btn.is-copied{
  background:#1fa45b !important;border-color:#1fa45b !important;color:#fff !important;
}
/* le lien « Tous les événements » collait au bloc de partage */
body.single-post .la-post-back{margin-top:46px !important;}
@media (max-width:560px){
  .la-share__btns{gap:8px;}
  .la-share__btn{width:44px;height:44px;}
  .la-share__btn--link{width:auto;padding:0 16px;letter-spacing:.1em;}
}
/* champ de repli quand le presse-papier est refusé par le navigateur */
.la-share__manual{
  display:block;width:100%;max-width:420px;margin:16px auto 0;
  padding:11px 14px;background:var(--v2-cream);border:1px solid var(--v2-bronze-line);
  font-family:var(--v2-sans);font-size:13px;color:var(--v2-ink);text-align:center;
}
.la-share__manual[hidden]{display:none !important;}

/* ==========================================================================
   ROUND 78 — reCAPTCHA v3 : badge masqué, attribution assumée
   ==========================================================================
   Le badge flottant de Google se pose en bas à droite de chaque page et
   passe par-dessus la barre de réservation. On le retire de la vue, ce que
   Google autorise en échange de la mention textuelle sous le formulaire
   (posée côté PHP, filtre elementor/widget/render_content).

   visibility plutôt que display : l'élément garde sa place dans le rendu de
   Google, qui continue de fonctionner, mais ne capte plus ni l'œil ni le
   clic. */
.grecaptcha-badge {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.la-recaptcha {
	margin: 14px 0 0;
	font: 400 11px/1.5 var(--la-sans, sans-serif);
	letter-spacing: .02em;
	color: rgba(55, 57, 46, .5);
	text-align: center;
}
.la-recaptcha a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.la-recaptcha a:hover { color: var(--la-terracotta, #b5522a); }

/* dans la modale, le fond est sombre : la mention doit rester lisible */
.elementor-popup-modal .la-recaptcha,
.lav2-dark .la-recaptcha {
	color: rgba(244, 239, 228, .45);
}

/* ==========================================================================
   ROUND 79 — « Ajouter à mon agenda » sur le message de fin de réservation
   ==========================================================================
   Posé entre le mot d'accueil et l'adresse : c'est le moment où le client a
   encore son téléphone en main. Le bouton prime sur les itinéraires — on
   note d'abord la date, on cherche le chemin le jour venu. */
.lav2-resa-agenda {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0 0 26px;
}
.lav2-resa-confirm__btn.is-agenda {
	background: var(--v2-terracotta, #b5522a);
	border-color: var(--v2-terracotta, #b5522a);
	color: #fff;
	gap: 9px;
	cursor: pointer;
	font-family: var(--v2-sans);
}
.lav2-resa-confirm__btn.is-agenda svg { width: 16px; height: 16px; flex: none; }
.lav2-resa-confirm__btn.is-agenda:hover { background: #9c4523; border-color: #9c4523; }
.lav2-resa-confirm__btn.is-agenda.est-fait {
	background: transparent;
	border-color: rgba(31, 164, 91, .55);
	color: #7fd3a3;
	pointer-events: none;
}
.lav2-resa-agenda__alt {
	font-family: var(--v2-sans);
	font-size: 11.5px;
	letter-spacing: .04em;
	color: var(--v2-ivory-dim);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.lav2-resa-agenda__alt:hover { color: var(--v2-champagne); }

/* ==========================================================================
   ROUND 80 — popup réservation lisible sur les petits téléphones
   ==========================================================================
   La cliente, sur un écran court, ne voyait plus le bouton « Continuer » une
   fois l'heure choisie : le service « soir » ajoute une note et deux rangées
   de créneaux, et le contenu devient plus haut que l'écran.

   Le modal Elementor centre son contenu (align-items:center) et laisse le
   bloc visible en overflow:visible : quand le contenu dépasse la hauteur de
   l'écran, il est centré, donc le haut passe au-dessus du bord et le bas —
   avec le bouton — passe en dessous, hors d'atteinte. 100vh n'aide pas : sur
   mobile il compte la barre du navigateur et surestime la place disponible.

   On règle les deux : on ancre le modal en haut et on fait du bloc visible le
   vrai conteneur qui défile, mesuré en dvh (hauteur réellement affichée).
   Ciblé sur .lav2-popup : la modale des bons cadeaux n'est pas concernée. */
@media (max-height: 780px), (max-width: 600px) {
	.lav2-popup.elementor-popup-modal {
		align-items: flex-start !important;
	}
	.lav2-popup .dialog-widget-content {
		width: 100%;
		max-height: 100vh !important;   /* repli pour les navigateurs sans dvh */
		max-height: 100dvh !important;  /* hauteur réellement visible, barre comprise */
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
	}
	/* le conteneur de défilement d'origine cède la main à celui du dessus,
	   sinon deux ascenseurs imbriqués se disputent le geste */
	.lav2-popup .dialog-message {
		max-height: none !important;
		overflow: visible !important;
	}
	/* un peu d'air en bas pour que le bouton ne colle pas au bord bas */
	.lav2-popupcard.e-con {
		padding-bottom: 30px;
	}
}

/* Sur écran vraiment bas (paysage, petits Android), on resserre pour que le
   parcours tienne d'un coup d'œil sans défilement dans la plupart des cas. */
@media (max-height: 640px) {
	.lav2-popupcard.e-con { padding-top: 24px; padding-bottom: 24px; }
	.lav2-popup .popup2__title,
	.lav2-popupcard h2 { margin-top: 4px; margin-bottom: 4px; }
	.lav2-svc__note { margin-top: 8px; padding-top: 8px; padding-bottom: 8px; }
	.lav2-svc__slots { margin-top: 8px; }
	.lav2-svc__slot { padding-top: 10px; padding-bottom: 10px; }
}

/* ============================================================
   ROUND 78 — « Intérieur ou extérieur ? » : trois puces de
   largeur égale, dans la même famille que les créneaux horaires
   juste au-dessus (une rangée, pas trois blocs de tailles
   différentes selon la longueur du mot).
   ============================================================ */
.v2-form .elementor-field-group-place .elementor-field-subgroup{
  gap:10px;flex-wrap:nowrap;
}
.v2-form .elementor-field-group-place .elementor-field-option{
  flex:1 1 0;min-width:0;
}
.v2-form .elementor-field-group-place .elementor-field-option label{
  width:100%;padding-left:8px;padding-right:8px;font-size:13.5px;
}
@media (max-width:400px){
  .v2-form .elementor-field-group-place .elementor-field-option label{
    font-size:12px;letter-spacing:.02em;
  }
}
/* Champ masqué (ex. : la question terrasse décochée au back-office) : le
   groupe ne doit pas laisser un blanc au milieu de l'étape. */
.v2-form .elementor-field-type-hidden{display:none !important;}
