/* =========================================================
   fidelity.css — charte maquette Le Puits du Trésor, SCOPÉE sous .lpdt
   Généré depuis assets/site.css. NE PAS charger sans le wrapper .lpdt :
   toutes les règles sont préfixées pour ne jamais fuiter sur Elementor.
   ========================================================= */
/* =========================================================
   Le Puits du Trésor — styles communs (toutes les pages)
   ========================================================= */
:root{
  --or:#9c7c4a; --sombre:#1c1a17; --clair:#f4f1ea; --gris:#d8d3c8; --texte:#2a2723;
}
.lpdt, .lpdt *{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
.lpdt{font-family:Georgia,'Times New Roman',serif;color:var(--texte);background:#fff;line-height:1.65}
.lpdt img{display:block;max-width:100%}
.lpdt a{color:inherit}
.lpdt h1,.lpdt h2,.lpdt h3{font-weight:normal;letter-spacing:.02em}
.lpdt p{margin-bottom:1rem}
.lpdt .wrap{max-width:1200px;margin:0 auto;padding:0 2rem}
/* Police "logo" façon Trajan */
.lpdt .brand,.lpdt .hero-title{font-family:'Cinzel',Georgia,serif}

.lpdt .placeholder{background:repeating-linear-gradient(45deg,#e7e2d7,#e7e2d7 14px,#ded8cb 14px,#ded8cb 28px);
  display:flex;align-items:center;justify-content:center;color:#8a8270;font-family:'Lato',Arial,sans-serif;
  font-size:13px;letter-spacing:.05em;text-transform:uppercase;text-align:center;padding:1rem}
.lpdt .btn{display:inline-block;border:1px solid currentColor;padding:.85rem 1.7rem;margin-top:1.2rem;
  font-family:'Lato',Arial,sans-serif;font-size:12px;letter-spacing:.15em;text-transform:uppercase;
  text-decoration:none;background:transparent;transition:.3s}
.lpdt .btn:hover{background:var(--or);border-color:var(--or);color:#fff}
.lpdt .eyebrow{font-family:'Lato',Arial,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--or);margin-bottom:1rem}
.lpdt h2{font-size:2.1rem;margin-bottom:1rem}

/* 1. BARRE HAUTE — grille 3 colonnes : logo centré sur la page */
.lpdt header.topbar{position:fixed;top:0;left:0;right:0;z-index:50;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:1.3rem 2.2rem;color:#fff;transition:.4s;
  font-family:'Lato',Arial,sans-serif;font-size:12px;letter-spacing:.15em;text-transform:uppercase}
.lpdt header.topbar .left{justify-self:start;display:flex;gap:1.6rem}
.lpdt header.topbar .left a{text-decoration:none;font-family:"bicyclette",'Lato',Arial,sans-serif}
.lpdt header.topbar .left .lpdt-mobile-only{display:none}
.lpdt header.topbar .brand{justify-self:center;font-size:20px;letter-spacing:.2em;text-transform:none;white-space:nowrap}
.lpdt header.topbar .right{justify-self:end;display:flex;gap:.7rem}
.lpdt header.topbar .hbtn{display:inline-flex;align-items:center;gap:.5em;border:1px solid currentColor;
  padding:.5rem .95rem;text-decoration:none;transition:.3s}
.lpdt header.topbar .hbtn:hover{background:var(--or);border-color:var(--or);color:#fff}
.lpdt header.topbar .hbtn svg{width:15px;height:15px;display:block}
.lpdt header.topbar.scrolled{background:rgba(255,255,255,.97);color:var(--sombre);
  box-shadow:0 1px 10px rgba(0,0,0,.08);padding:.8rem 2.2rem;border-bottom:1px solid var(--gris)}
.lpdt .lpdt-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;
  background:none;border:none;padding:0;cursor:pointer;color:inherit;justify-self:start}
.lpdt .lpdt-burger span{display:block;width:22px;height:2px;background:currentColor;transition:transform .3s ease,opacity .3s ease}
.lpdt header.topbar.nav-open .lpdt-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.lpdt header.topbar.nav-open .lpdt-burger span:nth-child(2){opacity:0}
.lpdt header.topbar.nav-open .lpdt-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* 2. HERO PLEIN ÉCRAN (accueil) */
.lpdt .hero{position:relative;height:100vh;min-height:560px;overflow:hidden;color:#fff;
  display:flex;align-items:center;justify-content:center;text-align:center}
.lpdt .hero .ph{position:absolute;inset:0;animation:kb 20s ease-in-out infinite alternate}
.lpdt .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.1)}}
.lpdt .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.3),rgba(0,0,0,.55))}
.lpdt .hero .inner{position:relative;z-index:2;max-width:840px;padding:2rem}
.lpdt .hero .accroche{font-style:italic;font-size:1.2rem;letter-spacing:.22em;margin-bottom:1rem}
.lpdt .hero-title{font-size:clamp(1.9rem,8.5vw,4.6rem);line-height:1.08;margin-bottom:1rem;
  letter-spacing:.04em;white-space:nowrap}
.lpdt .hero .etoile{font-family:'Lato',Arial,sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.6rem;
  display:inline-flex;align-items:center;gap:.55rem}
.lpdt .hero .etoile .macaron{height:20px;width:auto;flex:none}
.lpdt .hero .cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.lpdt .scrollcue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;
  font-family:'Lato',Arial,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#fff}
.lpdt .scrollcue span{display:block;width:1px;height:40px;background:#fff;margin:8px auto 0;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.2;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}

/* 3. SECTIONS IMAGE + TEXTE alternées */
.lpdt .feature{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;padding:6rem 0}
.lpdt .feature .placeholder,.lpdt .feature .img-rv{height:460px}
/* Image portrait : boîte verticale 2:3 (plus haute, plus étroite), affichée en entier */
.lpdt .feature .img-rv.portrait{height:auto;width:min(440px,100%);aspect-ratio:2/3;margin:0 auto}
.lpdt .feature.reverse .txt{order:2}
.lpdt .feature.reverse .media{order:1}

/* PRODUITS DE SAISON — écriture façon machine à écrire */
.lpdt .produits-type{font-family:Georgia,serif;font-style:italic;font-size:1.4rem;line-height:1.95;
  color:var(--texte);text-align:center;max-width:680px;margin:1.4rem auto 0;min-height:5.6em}
.lpdt .produits-type .caret{display:inline-block;margin-left:.04em;color:var(--or);font-style:normal;
  animation:caretBlink 1.05s steps(1) infinite}
@keyframes caretBlink{50%{opacity:0}}

/* 4. MENUS — 3 formats */
.lpdt .menus{background:var(--clair);padding:6rem 0;text-align:center}
.lpdt .menus .intro{max-width:660px;margin:.4rem auto 3.2rem;font-style:italic;font-size:1.2rem}
.lpdt .menus .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;text-align:left}
.lpdt .menu-card{position:relative;display:block;text-decoration:none;color:var(--texte);
  background:#fffdf7;border:1px solid var(--gris);border-top:2px solid var(--or);
  padding:2.2rem 2rem;box-shadow:0 6px 22px rgba(28,26,23,.06);
  transition:background .45s ease,color .45s ease,transform .45s cubic-bezier(.4,0,.2,1),box-shadow .45s ease,border-color .45s ease}
.lpdt .menu-card h3{font-size:1.6rem;transition:color .45s ease}
.lpdt .menu-card .prix{font-family:'Lato',Arial,sans-serif;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--or);margin:.4rem 0 1.4rem;transition:color .45s ease}
.lpdt .menu-card ul{list-style:none}
.lpdt .menu-card li{padding:.4rem 0;border-bottom:1px dashed var(--gris);font-size:1rem;transition:color .45s ease,border-color .45s ease}
/* Rollover négatif : la carte survolée s'inverse en sombre */
.lpdt .menu-card:hover{background:var(--sombre);border-color:var(--sombre);border-top-color:var(--or);
  transform:translateY(-6px);box-shadow:0 20px 44px rgba(28,26,23,.30);color:#efeae0}
.lpdt .menu-card:hover h3{color:#fff}
.lpdt .menu-card:hover .prix{color:#cbab73}
.lpdt .menu-card:hover li{color:#e7e2d7;border-bottom-color:rgba(255,255,255,.15)}
.lpdt .menu-card:hover .btn{color:#fff;border-color:#fff}
/* Home : titres de menus en or, sans prix (la page Les menus garde les prix) */
.lpdt #menus .menu-card h3{color:var(--or);margin-bottom:1.2rem}
/* Page "Les menus" : titres des 3 formats en CC Matinee Idol (Adobe Fonts via Elementor) */
.lpdt .menucards .menu-card h3{font-family:"cc-matinee-idol",cursive;font-weight:400;font-size:30px;line-height:1.15}
.lpdt .giftcard h3{font-family:"cc-matinee-idol",cursive;font-weight:400;font-size:30px;line-height:1.15}

/* BONS CADEAUX — cartes avec choix de formule + ajout au panier */
.lpdt .giftcard:hover{background:#fffdf7;border-color:var(--gris);border-top-color:var(--or);
  transform:none;box-shadow:0 6px 22px rgba(28,26,23,.06);color:var(--texte)}
.lpdt .giftcard:hover h3,.lpdt .giftcard:hover .gc-opt-label{color:var(--texte)}
.lpdt .giftcard .gc-desc{margin:.5rem 0 1.1rem;font-size:1rem;color:#5c554b}
.lpdt .giftcard .gc-options{display:flex;flex-direction:column;gap:.5rem;margin:0 0 1.3rem}
.lpdt .giftcard .gc-opt{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;
  border:1px solid var(--gris);cursor:pointer;transition:border-color .2s ease}
.lpdt .giftcard .gc-opt:hover{border-color:var(--or)}
.lpdt .giftcard .gc-opt input{accent-color:var(--or);margin:0}
.lpdt .giftcard .gc-opt-label{flex:1;font-size:.95rem}
.lpdt .giftcard .gc-opt-price{font-family:'Lato',Arial,sans-serif;font-weight:700;letter-spacing:.03em;color:var(--or)}
.lpdt .giftcard .button,.lpdt .giftcard .added_to_cart{display:inline-block;
  border:1px solid var(--or);background:transparent;padding:.85rem 1.7rem;border-radius:0;
  font-family:'Lato',Arial,sans-serif;font-size:12px;letter-spacing:.15em;text-transform:uppercase;
  text-decoration:none;color:var(--or);cursor:pointer;transition:.3s}
.lpdt .giftcard .button:hover{background:var(--or);border-color:var(--or);color:#fff}
.lpdt .giftcard .added_to_cart{margin-left:.6rem;font-size:11px}

/* MINI-PANIER LATÉRAL (off-canvas) */
.lpdt .lpdt-sc-overlay{position:fixed;inset:0;background:rgba(17,16,14,.5);z-index:1000;opacity:0;transition:opacity .35s ease}
.lpdt .lpdt-sc-overlay.open{opacity:1}
.lpdt .lpdt-sidecart{position:fixed;top:0;right:0;height:100%;width:380px;max-width:88vw;background:#fffdf7;z-index:1001;
  box-shadow:-14px 0 40px rgba(28,26,23,.18);transform:translateX(100%);
  transition:transform .35s cubic-bezier(.76,0,.24,1);display:flex;flex-direction:column;padding:1.4rem}
.lpdt .lpdt-sidecart.open{transform:none}
.lpdt .lpdt-sidecart[hidden]{display:none}
.lpdt .lpdt-sc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;
  font-family:'Cinzel',Georgia,serif;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sombre)}
.lpdt .lpdt-sc-close{background:none;border:none;font-size:26px;line-height:1;color:var(--sombre);cursor:pointer;padding:0}
.lpdt .lpdt-sidecart .widget_shopping_cart_content{flex:1;overflow-y:auto;display:flex;flex-direction:column}
.lpdt .lpdt-sc-empty{color:#5c554b;font-style:italic}
.lpdt .lpdt-cart-items{list-style:none;margin:0;padding:0}
.lpdt .lpdt-ci{padding:.9rem 0;border-bottom:1px solid var(--gris)}
.lpdt .lpdt-ci-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}
.lpdt .lpdt-ci-name{font-family:"cc-matinee-idol",cursive;font-weight:400;font-size:24px;line-height:1.1;color:var(--texte)}
.lpdt .lpdt-ci-meta{display:block;font-size:.82rem;color:#8a8272;margin-top:.15rem}
.lpdt .lpdt-ci-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:.6rem}
.lpdt .lpdt-ci-qty{display:inline-flex;align-items:center;border:1px solid var(--gris)}
.lpdt .lpdt-ci-qty button{width:30px;height:30px;background:none;border:none;cursor:pointer;font-size:16px;color:var(--sombre);line-height:1}
.lpdt .lpdt-qval{min-width:36px;height:30px;display:inline-flex;align-items:center;justify-content:center;
  border-left:1px solid var(--gris);border-right:1px solid var(--gris);
  font-family:'Lato',Arial,sans-serif;font-size:14px;color:var(--texte)}
.lpdt .lpdt-ci-price{font-family:'Lato',Arial,sans-serif;font-weight:700;color:var(--or)}
.lpdt .lpdt-remove{background:none;border:none;font-size:18px;color:#b0a999;cursor:pointer;line-height:1;padding:0 0 0 .5rem}
.lpdt .lpdt-remove:hover{color:var(--or)}
.lpdt .lpdt-cart-total{display:flex;justify-content:space-between;margin:1rem 0;padding-top:1rem;border-top:1px solid var(--gris);
  font-family:'Lato',Arial,sans-serif;font-weight:700}
.lpdt .lpdt-cart-actions{display:flex;flex-direction:column;gap:.6rem}
.lpdt .lpdt-cart-actions .button{display:block;text-align:center;border:1px solid var(--or);color:var(--or);background:transparent;
  padding:.8rem;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-family:'Lato',Arial,sans-serif;text-decoration:none}
.lpdt .lpdt-cart-actions .button.checkout{background:var(--or);color:#fff}
@media(max-width:520px){.lpdt .lpdt-sidecart{width:100%;max-width:100%}}

/* Bouton panier dans l'en-tête */
.lpdt .lpdt-cart-toggle{position:relative}
.lpdt .lpdt-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;
  margin-left:5px;border-radius:9px;background:var(--or);color:#fff;font-family:'Lato',Arial,sans-serif;font-size:11px;line-height:1}
.lpdt .lpdt-cart-count:empty{display:none}

/* Lightbox Elementor : ne pas afficher le titre (nom de fichier) ni la description */
.elementor-lightbox .elementor-slideshow__title,
.elementor-lightbox .elementor-slideshow__description{display:none !important}

/* 5. CARROUSEL */
.lpdt .galerie{padding:5rem 0}
.lpdt .galerie h2{text-align:center;margin-bottom:2.4rem}
.lpdt .carousel{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1.5rem;scroll-snap-type:x mandatory}
.lpdt .carousel .img-rv{flex:0 0 58%;height:420px;scroll-snap-align:center}
.lpdt .carousel .placeholder{height:420px}

/* 6. ACTUALITÉS */
.lpdt .actus{padding:5rem 0;background:var(--clair)}
.lpdt .actus h2{text-align:center;margin-bottom:2.6rem}
.lpdt .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.lpdt .card .img-rv{height:280px;margin-bottom:1.1rem}
.lpdt .card .placeholder{height:280px}
.lpdt .card .tag{font-family:'Lato',Arial,sans-serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--or)}
.lpdt .card h3{font-size:1.4rem;margin:.3rem 0 .5rem}

/* 7. LIENS RAPIDES */
.lpdt .quick{background:var(--sombre);color:var(--clair);text-align:center;padding:5rem 0}
.lpdt .quick h2{margin-bottom:2rem}
.lpdt .quick .links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.4rem;
  font-family:'Lato',Arial,sans-serif;font-size:12px;letter-spacing:.13em;text-transform:uppercase}
.lpdt .quick a{color:var(--clair);text-decoration:none;opacity:.85}
.lpdt .quick a:hover{opacity:1;color:#fff}

/* Police de signature (commerciale) — CC Matinee Idol.
   En local, le navigateur utilise la police installée sur le Mac.
   Pour le web : licence webfont requise (Comicraft). Décommenter et fournir le fichier :
   @font-face{font-family:'CC Matinee Idol';src:url('fonts/cc-matinee-idol.woff2') format('woff2');font-weight:400;font-display:swap;} */
.lpdt .cc{font-family:'CC Matinee Idol','Brush Script MT',cursive;font-weight:400}

/* 8. FOOTER (unifié, identique sur toutes les pages) */
.lpdt footer.foot{background:var(--sombre);color:#cfc8ba;padding:4.5rem 0 2.5rem;border-top:1px solid #322e28;
  font-family:'Lato',Arial,sans-serif;font-size:13px}
.lpdt .foot-brand{font-family:'Cinzel',Georgia,serif;font-size:1.7rem;letter-spacing:.18em;color:#fff;
  text-align:center;text-transform:none;margin-bottom:1.6rem}
.lpdt .foot-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem 2rem;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  padding-bottom:2.4rem;margin-bottom:2.8rem;border-bottom:1px solid #322e28}
.lpdt .foot-menu a{color:#cfc8ba;text-decoration:none;opacity:.85}
.lpdt .lpdt-mobile-br{display:none}
.lpdt .foot-menu a:hover{opacity:1;color:#fff}
.lpdt .foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;align-items:start}
.lpdt .foot-cols a{color:#cfc8ba;text-decoration:none}
.lpdt .foot-cols a:hover{color:#fff}
.lpdt footer.foot h4{font-family:Georgia,serif;font-size:1.2rem;letter-spacing:.08em;color:#fff;margin-bottom:1rem}
/* Titres de pied de page en police "Bation" (à confirmer) + picto sobre */
/* Titres de pied de page : même police que les titres de menus (serif), picto APRÈS le titre */
.lpdt footer.foot h4.foot-h{font-family:'Lato',Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.16em;
  text-transform:uppercase;display:flex;align-items:center;gap:.5rem}
.lpdt .foot-h svg{width:18px;height:18px;color:var(--or);flex:none}
.lpdt .socials{display:flex;gap:.9rem;margin-bottom:1.3rem}
.lpdt .socials a{width:44px;height:44px;border-radius:50%;background:var(--or);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;transition:.3s}
.lpdt .socials a:hover{background:#fff;color:var(--or)}
.lpdt .socials svg{width:22px;height:22px}
.lpdt .newsletter input{padding:.7rem;border:none;width:100%;max-width:280px}
.lpdt .newsletter .cc{display:inline-block;margin-top:.8rem;background:none;border:1px solid var(--or);
  color:#fff;padding:.7rem 1.3rem;cursor:pointer;font-size:1.15rem;letter-spacing:.01em;transition:.3s}
.lpdt .newsletter .cc:hover{background:var(--or)}
.lpdt .foot-bottom{text-align:center;margin-top:2.8rem;padding-top:1.5rem;border-top:1px solid #322e28;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8a8378}

/* REVEAL — états cachés UNIQUEMENT si le JS est actif (html.js). Sinon tout reste visible. */
.lpdt .reveal{transition:opacity .9s ease var(--rv-delay,0s),transform .9s ease var(--rv-delay,0s)}
html.js .lpdt .reveal:not(.visible){opacity:0;transform:translateY(36px)}

/* ARRIVÉE DES IMAGES — révélation signature : volet gauche→droite + contre-zoom + filet doré.
   Usage : envelopper toute image dans <div class="img-rv"><img ...></div> (ou un .placeholder).
   Par défaut l'image est PLEINEMENT VISIBLE ; le masque ne s'applique qu'avec JS actif. */
/* On utilise des ANIMATIONS (pas des transitions) : une animation repart toujours de
   son image-clé de départ, quel que soit l'état peint avant. Plus de bug aléatoire
   où le volet glisse sur une image déjà affichée selon le timing du cache. */
.lpdt .img-rv{position:relative;overflow:hidden;clip-path:inset(0 0 0 0)}
.lpdt .img-rv > *{display:block;width:100%;height:100%;object-fit:cover}
html.js .lpdt .img-rv:not(.visible){clip-path:inset(0 100% 0 0)}
html.js .lpdt .img-rv:not(.visible) > *{transform:scale(1.18)}
html.js .lpdt .img-rv.visible{animation:rvClip 1.15s cubic-bezier(.76,0,.24,1) var(--rv-delay,0s) both}
html.js .lpdt .img-rv.visible > *{animation:rvZoom 1.5s cubic-bezier(.76,0,.24,1) var(--rv-delay,0s) both}
@keyframes rvClip{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes rvZoom{from{transform:scale(1.18)}to{transform:scale(1)}}
.lpdt .img-rv::after{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;
  background:var(--or);opacity:0;pointer-events:none}
html.js .lpdt .img-rv.visible::after{animation:goldline 1.15s cubic-bezier(.76,0,.24,1) var(--rv-delay,0s) both}
@keyframes goldline{0%{left:0;opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}

/* Cascade : décalage progressif des éléments d'une même rangée (galerie, cartes).
   La variable --rv-delay est héritée par les enfants (l'image dans une carte la reprend). */
.lpdt .carousel .img-rv:nth-child(2){--rv-delay:.13s}
.lpdt .carousel .img-rv:nth-child(3){--rv-delay:.26s}
.lpdt .carousel .img-rv:nth-child(4){--rv-delay:.39s}
.lpdt .cards .card:nth-child(2){--rv-delay:.13s}
.lpdt .cards .card:nth-child(3){--rv-delay:.26s}

/* =========================================================
   PAGES INTÉRIEURES
   ========================================================= */
/* Bandeau de tête (hero court) */
.lpdt .pagehead{position:relative;height:60vh;min-height:420px;overflow:hidden;color:#fff;
  display:flex;align-items:flex-end;justify-content:center;text-align:center}
.lpdt .pagehead .ph{position:absolute;top:-15%;left:0;width:100%;height:130%;object-fit:cover;will-change:transform}
.lpdt .pagehead::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.3))}
.lpdt .pagehead .inner{position:relative;z-index:2;padding:0 2rem 4rem;max-width:900px}
.lpdt .pagehead h1{font-family:'Cinzel',Georgia,serif;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.12;margin-top:.3rem;letter-spacing:.06em}
.lpdt .pagehead .ph-quote{font-family:Georgia,serif;font-style:italic;font-size:clamp(1.05rem,2vw,1.3rem);
  max-width:640px;margin:1.1rem auto 0;color:#f0ebe1;line-height:1.5}
.lpdt .pagehead .eyebrow{color:#e7dcc6}

/* Bande photo pleine largeur avec parallaxe */
.lpdt .parallax-band{position:relative;height:37vh;min-height:230px;overflow:hidden}
.lpdt .parallax-band .pb-img{position:absolute;top:-15%;left:0;width:100%;height:130%;object-fit:cover;will-change:transform}

/* Contenu */
.lpdt .section{padding:5.5rem 0}
.lpdt .section.alt{background:var(--clair)}

/* CITATION — pull-quote centré, guillemet doré */
.lpdt .citation{padding:5.5rem 0;text-align:center}
.lpdt .citation .wrap{max-width:840px;margin:0 auto;padding:0 2rem}
.lpdt .citation .mark{display:block;font-family:'Cinzel',Georgia,serif;color:var(--or);
  font-size:3.4rem;line-height:.4;margin-bottom:1.4rem}
.lpdt .citation p{font-family:Georgia,serif;font-style:italic;font-size:clamp(1.45rem,2.7vw,2.05rem);
  line-height:1.5;color:var(--texte);margin:0}

/* LIGHTBOX — agrandir les photos de contenu (hero/vidéo exclus) */
.lpdt .img-rv img{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  padding:4vh 5vw;background:rgba(17,16,14,.93);opacity:0;pointer-events:none;transition:opacity .35s ease}
.lb.open{opacity:1;pointer-events:auto}
.lb img{max-width:100%;max-height:92vh;object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.55);
  transform:scale(.96);transition:transform .35s ease}
.lb.open img{transform:scale(1)}
.lb-close,.lb-nav{position:absolute;background:none;border:none;color:#efeae0;cursor:pointer;
  font-family:'Lato',Arial,sans-serif;line-height:1;transition:color .2s ease}
.lb-close:hover,.lb-nav:hover{color:#fff}
.lb-close{top:14px;right:22px;font-size:38px}
.lb-nav{top:50%;transform:translateY(-50%);font-size:48px;padding:.6rem 1rem;opacity:.85}
.lb-prev{left:8px}.lb-next{right:8px}
@media (max-width:700px){.lb-nav{font-size:34px}}
.lpdt .prose{max-width:760px;margin:0 auto}
.lpdt .prose p{font-size:1.12rem;line-height:1.85}
.lpdt .lead{font-size:1.3rem;font-style:italic;color:#3a352f}
.lpdt .center{text-align:center}

/* Encart (ex. En ce moment au potager) */
.lpdt .encart{background:var(--clair);border-left:3px solid var(--or);padding:1.8rem 2.2rem;margin:0 auto;max-width:760px}
.lpdt .encart .tag{font-family:'Lato',Arial,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--or);margin-bottom:.7rem}

/* Liste de distinctions (chef) */
.lpdt .refs{max-width:760px;margin:0 auto}
.lpdt .refs h3{font-size:1.4rem;margin-bottom:1rem}
.lpdt .refs ul{list-style:none}
.lpdt .refs li{padding:.7rem 0;border-bottom:1px solid var(--gris);font-size:1.05rem}
.lpdt .subtle{color:#7d766c;font-size:.95rem}

/* Formulaire de contact + emplacements widget/plan */
.lpdt .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start;max-width:1000px;margin:0 auto}
.lpdt .cform label{display:block;font-family:'Lato',Arial,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--or);margin:1.1rem 0 .4rem}
.lpdt .cform input,.lpdt .cform textarea{width:100%;padding:.8rem;border:1px solid var(--gris);background:#fff;font-family:Georgia,serif;font-size:1rem;color:var(--texte)}
.lpdt .cform textarea{min-height:150px;resize:vertical}
.lpdt .cform .btn{cursor:pointer;background:transparent}
.lpdt .widget-ph{height:560px}
.lpdt .map-ph{height:420px}
.lpdt .info-line{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:1rem}
.lpdt .info-line svg{width:18px;height:18px;color:var(--or);flex:none;margin-top:.2rem}
.lpdt .lodging{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.lpdt .lodging .card .placeholder{height:220px}

/* Bande d'appel à l'action */
.lpdt .cta-band{background:var(--sombre);color:var(--clair);text-align:center;padding:4.5rem 0}
.lpdt .cta-band h2{margin-bottom:1rem}
.lpdt .cta-band .btn{color:#fff}

@media(max-width:1200px){
  .lpdt header.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem}
  .lpdt header.topbar.scrolled{padding:.7rem 1.2rem}
  .lpdt header.topbar .brand{order:1}
  .lpdt .lpdt-burger{display:flex;order:3}
  .lpdt header.topbar .left{display:none}
  .lpdt header.topbar .right{display:none}
  /* Menu plein écran à l'ouverture */
  .lpdt header.topbar.nav-open{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;
    background:#fff;color:var(--sombre);flex-direction:column;align-items:center;justify-content:center;
    gap:1.7rem;padding:2rem;overflow-y:auto}
  .lpdt header.topbar.nav-open .lpdt-burger{position:fixed;top:1.1rem;right:1.2rem}
  .lpdt header.topbar.nav-open .brand{order:1;font-size:22px;color:var(--sombre)}
  .lpdt header.topbar.nav-open .left{display:flex;order:2;flex-direction:column;align-items:center;gap:1.15rem;
    list-style:none;margin:0;padding:0}
  .lpdt header.topbar.nav-open .left .lpdt-mobile-only{display:block}
  .lpdt header.topbar.nav-open .left a{color:var(--sombre);font-size:15px}
  .lpdt header.topbar.nav-open .right{display:flex;order:3;flex-direction:column;align-items:stretch;
    gap:.8rem;width:100%;max-width:280px}
  .lpdt header.topbar.nav-open .right .hbtn{justify-content:center;color:var(--sombre);border-color:var(--sombre)}
  .lpdt header.topbar.nav-open .right .hbtn:hover{background:var(--or);border-color:var(--or);color:#fff}
  .lpdt .feature{grid-template-columns:1fr;padding:3.5rem 0}
  .lpdt .feature.reverse .txt,.lpdt .feature.reverse .media{order:initial}
  .lpdt .feature .placeholder,.lpdt .feature .img-rv{height:300px}
  .lpdt .cards{grid-template-columns:1fr}
  .lpdt .menus .cols,.lpdt .cols{display:grid;grid-template-columns:1fr;gap:10px;padding-left:10px;padding-right:10px}
  .lpdt .contact-grid,.lpdt .lodging{grid-template-columns:1fr}
  .lpdt .carousel .img-rv{flex:0 0 85%;height:300px}
  .lpdt .carousel .placeholder{height:300px}
  .lpdt .foot-cols{grid-template-columns:1fr;text-align:center}
  .lpdt footer.foot{padding:3.2rem 0 2rem}
  .lpdt footer.foot h4.foot-h{justify-content:center}
  .lpdt .socials{justify-content:center}
  .lpdt .foot-menu{flex-direction:column;align-items:center;gap:.9rem}
  .lpdt .lpdt-mobile-br{display:inline}
}

