/* ════════════════════════════════════════════════════════════════
   Château du Creux — cdc-site.css  (fidèle à chateauducreux.com)
   Chargé site-wide via mu-plugin. Header/footer injectés + composants.
   ════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Inter:wght@400;500;600&display=swap');

:root{
  --c-encre:#1F2733; --c-pierre:#E6DCC9; --c-ardoise:#4A5560; --c-parc:#3A4A3D;
  --c-or:#A88D5C; --c-fond:#FAF6EC; --c-creme:#F2EAD7; --c-grege:#C7B89A;
  --font-display:'Cormorant Garamond',Georgia,serif; --font-sans:'Inter',system-ui,sans-serif;
  --w-site:88rem; --w-prose:52rem; --w-prose-narrow:38rem;
  --space-section:clamp(4rem,10vw,8rem); --space-block:clamp(2.5rem,5vw,4rem);
  --fs-hero:clamp(2.5rem,6vw,6rem); --fs-h2:clamp(1.75rem,3.5vw,3rem); --fs-h3:clamp(1.375rem,2.5vw,2rem);
}
.elementor-location-footer, #site-header{ display:none !important; } /* footer Elementor masqué (rend vide) → footer via mu-plugin */
@keyframes cdcScroll{0%{transform:translateY(-100%)}100%{transform:translateY(200%)}}

/* ── HEADER ─────────────────────────────────────────────────────── */
#cdc-header{ position:fixed; top:0; left:0; right:0; z-index:1000; display:flex; align-items:center; justify-content:space-between;
  padding:20px clamp(1.5rem,4vw,2.5rem); color:var(--c-fond); font-family:var(--font-sans); transition:all .3s ease; }
#cdc-header.is-scrolled{ padding-top:12px; padding-bottom:12px; color:var(--c-encre); background:rgba(250,246,236,.9); backdrop-filter:blur(10px); border-bottom:1px solid rgba(31,39,51,.1); }
#cdc-header a{ color:inherit; text-decoration:none; }
.cdc-logo img{ height:36px; width:auto; display:block; }
.cdc-nav{ display:flex; align-items:center; gap:36px; }
.cdc-nav a{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.18em; position:relative; padding-bottom:4px; opacity:.8; transition:opacity .2s; }
.cdc-nav a:hover{ opacity:1; }
.cdc-nav a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.cdc-nav a:hover::after,.cdc-nav a.active::after{ transform:scaleX(1); }
.cdc-actions{ display:flex; align-items:center; gap:16px; }
.cdc-lang{ display:flex; align-items:center; font-size:11px; text-transform:uppercase; letter-spacing:.18em; border:1px solid currentColor; border-radius:999px; overflow:hidden; opacity:.75; }
.cdc-lang a{ padding:6px 12px; transition:.2s; } .cdc-lang a.active{ background:currentColor; } .cdc-lang a.active span{ color:var(--c-fond); }
.cdc-devis{ border:1px solid currentColor; padding:10px 16px; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.22em; transition:.2s; }
.cdc-devis:hover{ background:currentColor; } .cdc-devis:hover span{ color:var(--c-fond); }
.cdc-burger{ display:none; flex-direction:column; gap:5px; width:40px; height:40px; align-items:flex-end; justify-content:center; background:none; border:0; cursor:pointer; }
.cdc-burger span{ display:block; height:1px; background:currentColor; } .cdc-burger span:nth-child(1),.cdc-burger span:nth-child(2){ width:24px; } .cdc-burger span:nth-child(3){ width:16px; }
#cdc-mobile{ position:fixed; inset:0; z-index:1100; background:var(--c-encre); color:var(--c-fond); display:flex; flex-direction:column; justify-content:center; padding:2rem clamp(1.5rem,5vw,2.5rem); opacity:0; pointer-events:none; transition:opacity .4s; }
#cdc-mobile.open{ opacity:1; pointer-events:auto; }
#cdc-mobile nav{ display:flex; flex-direction:column; gap:28px; }
#cdc-mobile nav a{ font-family:var(--font-display); font-weight:300; font-size:clamp(1.75rem,6vw,2.5rem); color:var(--c-pierre); text-decoration:none; }
#cdc-mobile .cdc-m-lang{ margin-top:48px; display:flex; gap:20px; font-size:11px; letter-spacing:.2em; color:var(--c-grege); text-transform:uppercase; } #cdc-mobile .cdc-m-lang a{ color:inherit; text-decoration:none; }
.cdc-close{ position:absolute; top:24px; right:24px; background:none; border:0; color:var(--c-pierre); font-size:32px; cursor:pointer; line-height:1; }

/* ── BASE ───────────────────────────────────────────────────────── */
.cdc-home{ font-family:var(--font-sans); color:var(--c-encre); }
.cdc-home h1,.cdc-home h2,.cdc-home h3{ font-family:var(--font-display); font-weight:300; margin:0; }
.cdc-wrap{ max-width:var(--w-site); margin:0 auto; padding:0 2rem; }
.cdc-section{ padding:var(--space-section) 0; }
.cdc-prose{ max-width:var(--w-prose); margin:0 auto; padding:0 2rem; }

/* ── HERO (vidéo) ───────────────────────────────────────────────── */
.cdc-hero{ position:relative; overflow:hidden; min-height:100vh; color:var(--c-fond); display:flex; }
.cdc-hero__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 35%; }
.cdc-hero__veil{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(31,39,51,.52) 0%,rgba(31,39,51,.18) 35%,rgba(31,39,51,0) 55%,rgba(31,39,51,.55) 100%); }
.cdc-hero__corners{ position:absolute; inset:2rem; pointer-events:none; z-index:10; }
.cdc-hero__corners span{ position:absolute; width:1.75rem; height:1.75rem; opacity:.45; }
.cdc-hero__corners span:nth-child(1){ top:0; left:0; border-top:1px solid currentColor; border-left:1px solid currentColor; }
.cdc-hero__corners span:nth-child(2){ top:0; right:0; border-top:1px solid currentColor; border-right:1px solid currentColor; }
.cdc-hero__corners span:nth-child(3){ bottom:0; left:0; border-bottom:1px solid currentColor; border-left:1px solid currentColor; }
.cdc-hero__corners span:nth-child(4){ bottom:0; right:0; border-bottom:1px solid currentColor; border-right:1px solid currentColor; }
.cdc-hero__in{ position:relative; z-index:20; width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:8rem 2rem; }
.cdc-hero__eyebrow{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.34em; margin:0 0 2.25rem; opacity:.92; }
.cdc-hero__title{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-hero); line-height:1.02; letter-spacing:-.02em; margin:0; }
.cdc-hero__sub{ font-family:var(--font-display); font-style:italic; font-weight:300; font-size:clamp(1.125rem,1.7vw,1.625rem); line-height:1.5; margin:1.75rem 0 0; max-width:var(--w-prose); opacity:.92; }
.cdc-hero__scroll{ position:absolute; bottom:3.5rem; left:50%; transform:translateX(-50%); z-index:20; opacity:.85; }
.cdc-hero__scroll span{ display:block; width:1px; height:3.5rem; background:currentColor; position:relative; overflow:hidden; }
.cdc-hero__scroll span::after{ content:""; position:absolute; inset:0; background:linear-gradient(to bottom,transparent,rgba(250,246,236,.9)); animation:cdcScroll 2.4s ease-in-out infinite; }

/* ── INTRO ──────────────────────────────────────────────────────── */
.cdc-intro{ background:var(--c-pierre); text-align:center; }
.cdc-intro p{ font-family:var(--font-display); font-style:italic; font-size:1.4rem; line-height:1.7; color:var(--c-ardoise); max-width:var(--w-prose); margin:0 auto; }

/* ── TROIS PORTES (texte SOUS l'image) ──────────────────────────── */
.cdc-portes{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.cdc-porte{ display:flex; flex-direction:column; gap:1.25rem; color:var(--c-encre); text-decoration:none; }
.cdc-porte__img{ aspect-ratio:4/5; overflow:hidden; border:1px solid rgba(31,39,51,.06); }
.cdc-porte__img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease; }
.cdc-porte:hover .cdc-porte__img img{ transform:scale(1.04); }
.cdc-porte__cat{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.18em; color:var(--c-ardoise); }
.cdc-porte__t{ font-family:var(--font-display); font-size:var(--fs-h3); line-height:1.25; margin:0; }
.cdc-porte__l{ display:inline-flex; align-items:center; gap:.75rem; align-self:flex-start; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.15em; border-bottom:1px solid var(--c-or); padding-bottom:1px; }
.cdc-porte:hover .cdc-porte__l{ color:var(--c-or); }

/* ── SÉPARATEURS ────────────────────────────────────────────────── */
.cdc-sep{ display:flex; align-items:center; justify-content:center; gap:1rem; padding:var(--space-block) 0; background:var(--c-fond); }
.cdc-sep__line{ display:block; width:5rem; height:1px; background:var(--c-or); opacity:.6; }
.cdc-sep__mono{ font-family:var(--font-display); font-size:1.125rem; color:var(--c-or); opacity:.75; letter-spacing:.2em; }

/* ── HÉRITAGE (chiffres clés — fond PIERRE) ─────────────────────── */
.cdc-heritage{ background:var(--c-pierre); }
.cdc-heritage__g{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; border-top:1px solid rgba(31,39,51,.12); padding-top:2.5rem; }
.cdc-heritage__i{ display:flex; flex-direction:column; gap:.5rem; }
.cdc-heritage__n{ font-family:var(--font-display); font-weight:300; font-size:clamp(2.25rem,4vw,3.5rem); line-height:1; letter-spacing:-.01em; color:var(--c-encre); }
.cdc-heritage__l{ font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:rgba(74,85,96,.7); }

/* ── GALERIE (titre à gauche + grille asymétrique) ──────────────── */
.cdc-gal__t{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h2); line-height:1.15; color:var(--c-encre); margin:0 0 4rem; max-width:var(--w-prose); }
.cdc-gal__g{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:180px; gap:1rem; }
.cdc-cell{ position:relative; overflow:hidden; border:1px solid rgba(31,39,51,.08); }
.cdc-cell img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease; }
.cdc-cell:hover img{ transform:scale(1.04); }
.cdc-cell__c{ position:absolute; inset:0; display:flex; align-items:flex-end; padding:1rem; background:linear-gradient(to bottom,transparent,transparent,rgba(31,39,51,.55)); opacity:0; transition:opacity .3s; font-family:var(--font-display); font-style:italic; font-size:.875rem; color:var(--c-fond); }
.cdc-cell:hover .cdc-cell__c{ opacity:1; }
.cdc-cell--a{ grid-column:span 4; grid-row:span 2; } .cdc-cell--b{ grid-column:span 2; grid-row:span 2; } .cdc-cell--c{ grid-column:span 2; grid-row:span 1; }

/* ── TÉMOIGNAGES ────────────────────────────────────────────────── */
.cdc-temo{ background:var(--c-creme); text-align:center; }
.cdc-temo__k{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:rgba(74,85,96,.6); margin:0 0 1.5rem; }
.cdc-temo__q{ font-family:var(--font-display); font-style:italic; font-size:1.5rem; line-height:1.5; color:var(--c-encre); margin:0; max-width:var(--w-prose); }
.cdc-temo__a{ margin:1.5rem auto 0; font-size:.875rem; color:var(--c-ardoise); }

/* ── CARNET (3 articles) ────────────────────────────────────────── */
.cdc-carnet__h{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:3rem; }
.cdc-carnet__t{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h2); line-height:1.1; margin:0; }
.cdc-carnet__all{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.15em; border-bottom:1px solid var(--c-or); padding-bottom:1px; color:var(--c-encre); }
.cdc-carnet__g{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem; }
.cdc-art{ display:flex; flex-direction:column; gap:1rem; }
.cdc-art__img{ aspect-ratio:4/3; overflow:hidden; border:1px solid rgba(31,39,51,.06); display:block; }
.cdc-art__img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease; }
.cdc-art:hover .cdc-art__img img{ transform:scale(1.02); }
.cdc-art__meta{ display:flex; align-items:center; gap:.75rem; font-size:11px; text-transform:uppercase; letter-spacing:.18em; color:var(--c-grege); }
.cdc-art__meta .cat{ color:var(--c-or); }
.cdc-art__t{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); line-height:1.25; margin:0; }
.cdc-art__t a{ color:var(--c-encre); text-decoration:none; } .cdc-art__t a:hover{ color:var(--c-or); }
.cdc-art__x{ font-size:1rem; line-height:1.6; color:var(--c-ardoise); margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.cdc-art__l{ align-self:flex-start; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.15em; border-bottom:1px solid var(--c-or); padding-bottom:1px; color:var(--c-encre); text-decoration:none; }
.cdc-art__l:hover{ color:var(--c-or); }

/* ── VENIR ──────────────────────────────────────────────────────── */
.cdc-venir{ background:var(--c-pierre); }
.cdc-venir__g{ display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.cdc-venir__k{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:var(--c-ardoise); margin:0 0 1.5rem; }
.cdc-venir__t{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h2); line-height:1.1; margin:0 0 2rem; }
.cdc-venir__f{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; border-top:1px solid rgba(31,39,51,.12); padding-top:2rem; }
.cdc-venir__fk{ font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:rgba(74,85,96,.7); display:block; margin-bottom:.5rem; }
.cdc-venir__fv{ font-family:var(--font-display); font-size:1.25rem; }
.cdc-venir__link{ margin-top:2rem; display:inline-flex; align-items:center; gap:.75rem; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.15em; border-bottom:1px solid var(--c-or); padding-bottom:1px; }
.cdc-venir__link:hover{ color:var(--c-or); }
.cdc-venir__map{ aspect-ratio:4/3; border:1px solid rgba(31,39,51,.08); overflow:hidden; } .cdc-venir__map iframe{ width:100%; height:100%; border:0; display:block; }

/* ── CTA ────────────────────────────────────────────────────────── */
.cdc-cta{ background:var(--c-encre); color:var(--c-pierre); text-align:center; }
.cdc-cta__t{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h2); line-height:1.1; color:var(--c-pierre); margin:0 0 1.5rem; }
.cdc-cta__d{ max-width:var(--w-prose-narrow); margin:0 auto 2rem; color:rgba(230,220,201,.8); line-height:1.6; }
.cdc-cta__b{ display:flex; gap:1.25rem; justify-content:center; flex-wrap:wrap; }
.cdc-btn{ display:inline-block; padding:16px 28px; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.22em; text-decoration:none; transition:.2s; }
.cdc-btn--gold{ border:1px solid var(--c-or); color:var(--c-pierre); } .cdc-btn--gold:hover{ background:var(--c-or); color:var(--c-encre); }
.cdc-btn--ghost{ border:1px solid rgba(230,220,201,.3); color:var(--c-pierre); } .cdc-btn--ghost:hover{ border-color:var(--c-pierre); }

/* ── FOOTER ─────────────────────────────────────────────────────── */
#cdc-footer{ background:var(--c-encre); color:var(--c-pierre); padding:5rem 0 2.25rem; font-family:var(--font-sans); }
#cdc-footer a{ color:inherit; text-decoration:none; }
.cdc-f-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:3rem; padding-bottom:4rem; border-bottom:1px solid rgba(230,220,201,.2); }
.cdc-f-logo img{ height:34px; width:auto; }
.cdc-f-tag{ font-family:var(--font-display); font-weight:300; font-size:1.85rem; line-height:1.15; margin:1.75rem 0 0; white-space:pre-line; letter-spacing:-.01em; }
.cdc-f-col h5{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:var(--c-or); margin:0 0 1.25rem; }
.cdc-f-col h5.mt{ margin-top:2rem; }
.cdc-f-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.75rem; }
.cdc-f-col a{ font-size:.875rem; color:rgba(230,220,201,.8); border-bottom:1px solid transparent; padding-bottom:1px; }
.cdc-f-col a:hover{ color:var(--c-fond); border-color:var(--c-or); }
.cdc-f-addr{ font-style:normal; font-size:.875rem; color:rgba(230,220,201,.6); line-height:1.6; margin-top:2rem; }

.cdc-f-newsletter{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1.5rem 3rem; padding:2.75rem 0; border-bottom:1px solid rgba(230,220,201,.2); }
.cdc-f-newsletter h5{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:var(--c-or); margin:0 0 .5rem; }
.cdc-f-newsletter p{ font-size:.875rem; color:rgba(230,220,201,.7); margin:0; max-width:26rem; }
.cdc-f-nl-form{ flex:0 0 auto; width:100%; max-width:360px; }
.cdc-f-nl-form .wpcf7{ max-width:none; margin:0; }
.cdc-f-nl-form .wpcf7-form{ display:flex; flex-wrap:wrap; gap:.75rem; align-items:flex-start; }
.cdc-f-nl-form .wpcf7-form > p{ margin:0; }
.cdc-f-nl-form .wpcf7-form > p:has(input[type="email"]){ flex:1 1 200px; }
.cdc-f-nl-form .wpcf7-form > p:has(input[type="submit"]){ flex:0 0 auto; }
.cdc-f-nl-form .wpcf7-form > p:has(.cdc-nl-consent){ flex:1 1 100%; }
.cdc-f-nl-form input[type="email"]{ width:100%; margin:0; background:transparent; border:0; border-bottom:1px solid rgba(230,220,201,.35); border-radius:0; padding:.6rem 0; color:var(--c-pierre); font-family:var(--font-sans); font-size:.875rem; }
.cdc-f-nl-form input[type="email"]::placeholder{ color:rgba(230,220,201,.45); }
.cdc-f-nl-form input[type="email"]:focus{ outline:none; border-bottom-color:var(--c-or); }
.cdc-f-nl-form input[type="submit"]{ flex:0 0 auto; width:auto; margin:0; background:transparent; border:1px solid var(--c-or); border-radius:0; color:var(--c-pierre); padding:.6rem 1.25rem; font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; transition:.2s; }
.cdc-f-nl-form input[type="submit"]:hover{ background:var(--c-or); color:var(--c-encre); }
.cdc-f-nl-form .cdc-nl-consent{ display:block; font-size:.75rem; color:rgba(230,220,201,.6); }
.cdc-f-nl-form .cdc-nl-consent label{ display:flex; align-items:flex-start; gap:.5rem; font-weight:400; text-transform:none; letter-spacing:normal; color:inherit; }
.cdc-f-nl-form .cdc-nl-consent input{ margin-top:.2rem; flex:0 0 auto; }
.cdc-f-nl-form .screen-reader-text{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cdc-f-nl-form .wpcf7-response-output{ flex:1 1 100%; margin:0; padding:.6rem .9rem; font-size:.75rem; border-color:rgba(168,141,92,.5); background:rgba(168,141,92,.08); color:var(--c-pierre); }

.cdc-f-bot{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; padding-top:2rem; font-size:11px; text-transform:uppercase; letter-spacing:.2em; color:rgba(230,220,201,.55); }
.cdc-f-badges{ display:flex; flex-wrap:wrap; gap:1.5rem; font-family:var(--font-display); text-transform:none; letter-spacing:.02em; font-size:13px; color:rgba(230,220,201,.7); }
.cdc-f-badges span+span::before{ content:'·'; color:var(--c-or); margin-right:.75rem; }
.cdc-f-legal{ display:flex; gap:1.5rem; } .cdc-f-legal a:hover{ color:var(--c-pierre); }

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width:980px){
  .cdc-nav,.cdc-devis,.cdc-lang{ display:none; } .cdc-burger{ display:flex; }
  .cdc-portes{ grid-template-columns:1fr; } .cdc-carnet__g{ grid-template-columns:1fr; }
  .cdc-gal__g{ grid-template-columns:repeat(2,1fr); grid-auto-rows:200px; }
  .cdc-cell--a,.cdc-cell--b,.cdc-cell--c{ grid-column:span 2; grid-row:span 1; }
  .cdc-venir__g{ grid-template-columns:1fr; gap:2.5rem; } .cdc-f-top{ grid-template-columns:1fr 1fr; gap:2.5rem; }
  .cdc-carnet__h{ flex-direction:column; align-items:flex-start; gap:1.5rem; }
  .cdc-f-nl-form{ max-width:none; }
}
@media (max-width:560px){
  .cdc-heritage__g{ grid-template-columns:repeat(2,1fr); } .cdc-gal__g{ grid-template-columns:1fr; }
  .cdc-cell--a,.cdc-cell--b,.cdc-cell--c{ grid-column:span 1; } .cdc-venir__f{ grid-template-columns:1fr; } .cdc-f-top{ grid-template-columns:1fr; }
  .cdc-f-newsletter{ flex-direction:column; align-items:flex-start; }
}

/* ════════════════════════════════════════════════════════════════
   PAGES INTÉRIEURES (gabarit PageLayout du live)
   ════════════════════════════════════════════════════════════════ */
.cdc-phero{ position:relative; overflow:hidden; min-height:58vh; display:flex; align-items:flex-end; color:var(--c-fond); }
.cdc-phero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cdc-phero__veil{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(31,39,51,.3) 0%,rgba(31,39,51,.6) 100%); }
.cdc-phero__in{ position:relative; z-index:10; max-width:var(--w-site); margin:0 auto; width:100%; padding:5rem 2rem; }
.cdc-phero__eyebrow{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.34em; margin:0 0 1.5rem; opacity:.85; }
.cdc-phero__title{ font-family:var(--font-display); font-weight:300; font-size:clamp(2.25rem,4.5vw,4rem); line-height:1.1; letter-spacing:-.01em; margin:0; }

.cdc-page{ background:var(--c-fond); }
.cdc-page__in{ max-width:var(--w-site); margin:0 auto; padding:var(--space-section) 2rem; }
.cdc-lede{ max-width:var(--w-prose); }
.cdc-lede p{ font-family:var(--font-display); font-style:italic; font-size:1.4rem; line-height:1.7; color:var(--c-ardoise); margin:0; }
.cdc-pline{ display:flex; align-items:center; justify-content:center; gap:1rem; padding:var(--space-block) 0; }
.cdc-pline span{ display:block; width:5rem; height:1px; background:var(--c-or); opacity:.6; }
.cdc-pline .m{ width:auto; height:auto; background:none; font-family:var(--font-display); font-size:1.125rem; color:var(--c-or); opacity:.75; }

/* Frise chronologique (année | contenu) */
.cdc-tl{ border-top:1px solid rgba(31,39,51,.12); margin-top:2rem; }
.cdc-tl__i{ display:grid; grid-template-columns:180px 1fr; gap:4rem; padding:2.5rem 0; border-bottom:1px solid rgba(31,39,51,.12); align-items:baseline; }
.cdc-tl__y{ font-family:var(--font-display); font-style:italic; font-weight:300; font-size:3rem; line-height:1; letter-spacing:-.01em; color:var(--c-or); }
.cdc-tl__h{ font-family:var(--font-display); font-weight:400; font-size:1.5rem; margin:0 0 .75rem; color:var(--c-encre); }
.cdc-tl__p{ font-size:1rem; line-height:1.65; color:var(--c-ardoise); margin:0; max-width:56ch; }

/* Bloc 2 colonnes texte + image */
.cdc-split{ display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.cdc-split--top{ align-items:start; }
.cdc-split__k{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:var(--c-or); margin:0 0 1rem; }
.cdc-split__h{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); line-height:1.15; margin:0 0 1.5rem; color:var(--c-encre); }
.cdc-split__b p{ font-size:1rem; line-height:1.7; color:var(--c-ardoise); margin:0 0 1rem; }
.cdc-split__img{ overflow:hidden; border:1px solid rgba(31,39,51,.06); }
.cdc-split__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.cdc-split__img--por{ aspect-ratio:4/5; } .cdc-split__img--land{ aspect-ratio:16/9; }
.cdc-split--rev .cdc-split__txt{ order:2; } .cdc-split--rev .cdc-split__img{ order:1; }

/* Encadré Monument Historique */
.cdc-mh{ background:var(--c-creme); border:1px solid rgba(31,39,51,.08); padding:2.5rem; }
.cdc-mh__k{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:var(--c-ardoise); margin:0 0 1rem; }
.cdc-mh__h{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); margin:0 0 1rem; }
.cdc-mh__p{ font-size:1rem; line-height:1.7; color:var(--c-ardoise); max-width:var(--w-prose-narrow); margin:0; }
.cdc-mh__l{ margin-top:1.5rem; display:inline-flex; gap:.75rem; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.15em; border-bottom:1px solid var(--c-or); padding-bottom:1px; color:var(--c-encre); text-decoration:none; }
.cdc-mh__l:hover{ color:var(--c-or); }

/* Cartes (index Le Château / sous-pages) */
.cdc-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
.cdc-card{ display:flex; flex-direction:column; gap:1.25rem; color:var(--c-encre); text-decoration:none; }
.cdc-card__img{ aspect-ratio:16/9; overflow:hidden; border:1px solid rgba(31,39,51,.06); }
.cdc-card__img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease; }
.cdc-card:hover .cdc-card__img img{ transform:scale(1.04); }
.cdc-card__t{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); line-height:1.2; margin:0; }
.cdc-card__d{ font-size:1rem; line-height:1.6; color:var(--c-ardoise); margin:0; }
.cdc-card__l{ align-self:flex-start; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.15em; border-bottom:1px solid var(--c-or); padding-bottom:1px; }
.cdc-card:hover .cdc-card__l{ color:var(--c-or); }

/* Prose simple (paragraphes centrés sur fond) */
.cdc-rich{ max-width:var(--w-prose); }
.cdc-rich .k{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:var(--c-or); margin:0 0 1rem; }
.cdc-rich h2{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); line-height:1.15; margin:0 0 1.5rem; color:var(--c-encre); }
.cdc-rich p{ font-size:1.0625rem; line-height:1.75; color:var(--c-ardoise); margin:0 0 1rem; }

/* CTA inline bas de page */
.cdc-cinline{ text-align:center; }
.cdc-cinline a{ display:inline-flex; align-items:center; gap:.75rem; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.15em; border-bottom:1px solid var(--c-or); padding-bottom:1px; color:var(--c-encre); text-decoration:none; }
.cdc-cinline a:hover{ color:var(--c-or); }

/* Listes, infos 2-col, tarifs */
.cdc-info{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.cdc-info h3,.cdc-list h3{ font-family:var(--font-display); font-weight:400; font-size:1.5rem; color:var(--c-encre); margin:0 0 1.25rem; }
.cdc-list ul,.cdc-info ul{ list-style:none; padding:0; margin:0; }
.cdc-list li,.cdc-info li{ font-size:1rem; line-height:1.6; color:var(--c-ardoise); padding:.6rem 0; border-bottom:1px solid rgba(31,39,51,.1); }
.cdc-list{ max-width:var(--w-prose); }
.cdc-rates{ max-width:var(--w-prose); }
.cdc-rates .r{ display:flex; justify-content:space-between; align-items:baseline; padding:1.1rem 0; border-bottom:1px solid rgba(31,39,51,.12); }
.cdc-rates .r span:first-child{ font-size:1rem; color:var(--c-ardoise); }
.cdc-rates .r span:last-child{ font-family:var(--font-display); font-size:1.4rem; color:var(--c-or); white-space:nowrap; }
.cdc-band{ background:var(--c-encre); color:var(--c-pierre); text-align:center; padding:3.5rem 2rem; }
.cdc-band h2{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); color:var(--c-pierre); margin:0 0 1rem; }
.cdc-band p{ color:rgba(230,220,201,.8); margin:0 auto 1.5rem; max-width:var(--w-prose-narrow); line-height:1.6; }
.cdc-band a{ display:inline-block; border:1px solid var(--c-or); color:var(--c-pierre); padding:14px 26px; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.22em; text-decoration:none; transition:.2s; }
.cdc-band a:hover{ background:var(--c-or); color:var(--c-encre); }

@media (max-width:900px){
  .cdc-tl__i{ grid-template-columns:1fr; gap:.75rem; } .cdc-split{ grid-template-columns:1fr; gap:2rem; }
  .cdc-split--rev .cdc-split__txt{ order:1; } .cdc-split--rev .cdc-split__img{ order:2; } .cdc-cards{ grid-template-columns:1fr; }
  .cdc-info{ grid-template-columns:1fr; gap:2rem; }
}

/* ════════════════════════════════════════════════════════════════
   Widgets Elementor NATIFS — classes appliquées via « CSS Classes »
   (permet la fidélité sans bloc HTML). Préfixe .nw-
   ════════════════════════════════════════════════════════════════ */
.nw-eyebrow .elementor-heading-title{ font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.34em; text-transform:uppercase; color:var(--c-fond); opacity:.92; }
.nw-h1 .elementor-heading-title{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-hero); line-height:1.02; letter-spacing:-.02em; color:var(--c-fond); }
.nw-sub .elementor-widget-container, .nw-sub .elementor-widget-container p{ font-family:var(--font-display) !important; font-style:italic; font-weight:300; font-size:clamp(1.125rem,1.7vw,1.625rem); line-height:1.5; color:var(--c-pierre) !important; opacity:.92; text-align:center !important; margin:0 auto; }
.nw-sub .elementor-widget-container{ max-width:var(--w-prose); }
.nw-hero{ min-height:100vh !important; }
.nw-hero > .elementor-container{ min-height:100vh; align-items:center; }
.nw-hero .elementor-widget-wrap{ justify-content:center; align-content:center; }
.nw-hero .elementor-background-overlay{ background:linear-gradient(180deg,rgba(31,39,51,.52) 0%,rgba(31,39,51,.18) 35%,rgba(31,39,51,0) 55%,rgba(31,39,51,.55) 100%) !important; }
/* image catégorie (ratio 4/5, zoom au survol) */
.nw-catimg img{ aspect-ratio:4/5; object-fit:cover; width:100%; display:block; border:1px solid rgba(31,39,51,.06); transition:transform 1.2s ease; }
.nw-catimg:hover img{ transform:scale(1.04); }
.nw-cat .elementor-heading-title{ font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--c-ardoise); }
.nw-cattitle .elementor-heading-title{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); line-height:1.25; color:var(--c-encre); }
.nw-catlink .elementor-button{ background:transparent; color:var(--c-encre); padding:0 0 1px; border:0; border-bottom:1px solid var(--c-or); border-radius:0; font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.15em; text-transform:uppercase; fill:var(--c-encre); }
.nw-catlink .elementor-button:hover{ color:var(--c-or); background:transparent; }
.nw-catcol > .elementor-widget-wrap{ align-content:flex-start; gap:0; }
/* description de carte (widget Text natif, calqué sur .cdc-card__d) */
.nw-catdesc .elementor-widget-container{ font-size:1rem; line-height:1.6; color:var(--c-ardoise); margin:.5rem 0 .75rem; }
.nw-catdesc p{ margin:0; }
/* ════════════════════════════════════════════════════════════════
   Briques natives généralisées (rich/split/mh/info/list/band/timeline)
   — rendu = anciens .cdc-* d'origine, appliqué aux widgets Elementor.
   ════════════════════════════════════════════════════════════════ */
.nw-narrow{ max-width:var(--w-prose); margin-inline:auto; }
.nw-kickor .elementor-heading-title{ font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:var(--c-or); }
.nw-kickor{ margin-bottom:1rem; }
.nw-h3d .elementor-heading-title{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); line-height:1.15; color:var(--c-encre); }
.nw-h3d{ margin-bottom:1.5rem; }
.nw-h4d .elementor-heading-title{ font-family:var(--font-display); font-weight:400; font-size:1.5rem; line-height:1.25; color:var(--c-encre); }
.nw-h4d{ margin-bottom:1.25rem; }
.nw-body .elementor-widget-container{ color:var(--c-ardoise); }
.nw-body p{ font-size:1.0625rem; line-height:1.75; color:var(--c-ardoise); margin:0 0 1rem; }
.nw-body p:last-child{ margin-bottom:0; }
/* encadré Monument Historique (colonne = boîte crème) */
.nw-mhbox{ background:var(--c-creme); border:1px solid rgba(31,39,51,.08); }
.nw-mhbox > .elementor-widget-wrap{ padding:2.5rem; }
.nw-mhk .elementor-heading-title{ font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:var(--c-ardoise); }
.nw-mhk{ margin-bottom:1rem; }
/* bande CTA (section fond encre) */
.nw-bandh .elementor-heading-title{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); color:var(--c-pierre); }
.nw-bandh{ margin-bottom:1rem; }
.nw-bandp .elementor-widget-container{ max-width:var(--w-prose-narrow); margin-inline:auto; }
.nw-bandp p{ color:rgba(230,220,201,.8); line-height:1.6; margin:0 0 1.5rem; }
/* frise chronologique (rangées = sections internes natives) */
.nw-tl{ border-top:1px solid rgba(31,39,51,.12); margin-top:2rem; }
.nw-tlrow > .elementor-container{ padding:2.5rem 0; border-bottom:1px solid rgba(31,39,51,.12); align-items:baseline; }
.nw-tly .elementor-heading-title{ font-family:var(--font-display); font-style:italic; font-weight:300; font-size:3rem; line-height:1; letter-spacing:-.01em; color:var(--c-or); }
/* image native de split (widget Image éditable, rendu identique à .cdc-split__img) */
.nw-splitimg .elementor-widget-container{ overflow:hidden; border:1px solid rgba(31,39,51,.06); }
.nw-splitimg img{ width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:4/5; }
.nw-splitimg--land img{ aspect-ratio:16/9; }
/* prose centrée (intro) */
.nw-prose .elementor-widget-container{ max-width:var(--w-prose); margin:0 auto; }
/* galerie : images en cover + légende au survol + zoom */
.nw-gtall figure, .nw-gshort figure{ position:relative; overflow:hidden; margin:0; }
.nw-gtall img, .nw-gshort img{ width:100%; object-fit:cover; display:block; transition:transform 1.1s ease; }
.nw-gtall img{ height:520px; } .nw-gshort img{ height:300px; }
.nw-gtall:hover img, .nw-gshort:hover img{ transform:scale(1.05); }
.nw-gtall figcaption, .nw-gshort figcaption{ position:absolute; left:1rem; bottom:1rem; margin:0; padding:0; background:none; color:var(--c-fond); font-family:var(--font-display); font-style:italic; font-size:.95rem; text-align:left; text-shadow:0 1px 4px rgba(0,0,0,.55); opacity:0; transform:translateY(8px); transition:opacity .3s, transform .3s; }
.nw-gtall:hover figcaption, .nw-gshort:hover figcaption{ opacity:1; transform:translateY(0); }
@media (max-width:768px){ .nw-gtall img,.nw-gshort img{ height:240px; } }
/* avis (widget Testimonial) */
.nw-quote{ text-align:center; }
.nw-quote .elementor-testimonial-content{ font-family:var(--font-display); font-style:italic; font-weight:300; font-size:1.6rem; line-height:1.55; color:var(--c-encre); max-width:var(--w-prose); margin:0 auto 1.25rem; }
.nw-quote .elementor-testimonial-name{ font-family:var(--font-sans); font-weight:400; font-size:.9rem; color:var(--c-ardoise); }
.nw-quote .elementor-testimonial-job{ display:none; }
/* boutons CTA */
.nw-btn-gold .elementor-button, .nw-btn-ghost .elementor-button{ border-radius:0; padding:16px 28px; font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; background:transparent; }
.nw-btn-gold .elementor-button{ border:1px solid var(--c-or); color:var(--c-pierre); }
.nw-btn-gold .elementor-button:hover{ background:var(--c-or); color:var(--c-encre); }
.nw-btn-ghost .elementor-button{ border:1px solid rgba(230,220,201,.3); color:var(--c-pierre); }
.nw-btn-ghost .elementor-button:hover{ border-color:var(--c-pierre); }
/* héritage : filet supérieur */
.nw-heritage > .elementor-container{ border-top:1px solid rgba(31,39,51,.12); padding-top:2.5rem; }
/* venir : liste d'accès */
.nw-facts .elementor-icon-list-text{ color:var(--c-ardoise); font-size:1.1rem; font-family:var(--font-display); }
.nw-facts .elementor-icon-list-item{ border-bottom:1px solid rgba(31,39,51,.1); padding:.6rem 0 !important; }
/* titres natifs (classes sur widgets Heading) */
.nw-hnum .elementor-heading-title{ font-family:var(--font-display); font-weight:300; font-size:clamp(2.25rem,4vw,3.5rem); line-height:1; color:var(--c-encre); }
.nw-hlabel .elementor-heading-title{ font-family:var(--font-sans); font-size:10px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:rgba(74,85,96,.7); }
.nw-galtitle .elementor-heading-title{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h2); line-height:1.15; color:var(--c-encre); }
.nw-kicker .elementor-heading-title{ font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:var(--c-ardoise); }
.nw-vtitle .elementor-heading-title{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h2); line-height:1.1; color:var(--c-encre); }
.nw-ctatitle .elementor-heading-title{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h2); line-height:1.1; color:var(--c-pierre); }
/* Carnet — widget Posts (skin classique) restylé */
.nw-carnet .elementor-post__thumbnail{ aspect-ratio:4/3; overflow:hidden; border:1px solid rgba(31,39,51,.06); border-radius:0; }
.nw-carnet .elementor-post__thumbnail img{ width:100%; height:100%; object-fit:cover; object-position:center; transform-origin:center center; transition:transform .8s ease; }
.nw-carnet .elementor-post:hover .elementor-post__thumbnail img{ transform:scale(1.04); }
.nw-carnet .elementor-post__title{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); line-height:1.25; margin:.5rem 0 .5rem; }
.nw-carnet .elementor-post__title a{ color:var(--c-encre); } .nw-carnet .elementor-post__title a:hover{ color:var(--c-or); }
.nw-carnet .elementor-post__meta-data{ font-size:11px; text-transform:uppercase; letter-spacing:.18em; color:var(--c-grege); margin-bottom:.25rem; }
.nw-carnet .elementor-post__excerpt p{ color:var(--c-ardoise); font-size:1rem; line-height:1.6; }
.nw-carnet .elementor-post__read-more{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.15em; color:var(--c-encre); border-bottom:1px solid var(--c-or); padding-bottom:1px; text-decoration:none; }
.nw-carnet .elementor-post__read-more:hover{ color:var(--c-or); }
.nw-carnet .elementor-post__card{ background:transparent; border:0; box-shadow:none; }

/* ── Footer Theme Builder (widgets natifs) ── */
.tbf-logo img{ height:34px; width:auto; }
.tbf-tag .elementor-heading-title{ font-family:var(--font-display); font-weight:300; font-size:1.85rem; line-height:1.15; color:var(--c-pierre); letter-spacing:-.01em; }
.tbf-h5 .elementor-heading-title{ font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:var(--c-or); }
.tbf-links .elementor-icon-list-icon{ display:none !important; }
.tbf-links .elementor-icon-list-item{ margin-bottom:.55rem !important; border:0 !important; padding:0 !important; }
.tbf-links .elementor-icon-list-text{ font-family:var(--font-sans); font-size:.875rem; color:rgba(230,220,201,.8); transition:color .2s; }
.tbf-links a:hover .elementor-icon-list-text{ color:var(--c-fond); }
.tbf-addr .elementor-widget-container{ font-family:var(--font-sans); font-size:.875rem; color:rgba(230,220,201,.6); line-height:1.6; }
.tbf-copy .elementor-widget-container{ font-family:var(--font-sans); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(230,220,201,.55); }
.tbf-badges .elementor-widget-container{ font-family:var(--font-display); font-size:13px; color:rgba(230,220,201,.7); }
.tbf-legal .elementor-icon-list-icon{ display:none !important; }
.tbf-legal .elementor-icon-list-item{ display:inline-block !important; margin:0 .75rem 0 0 !important; border:0 !important; padding:0 !important; }
.tbf-legal .elementor-icon-list-text{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(230,220,201,.55); }
.tbf-sep .elementor-divider-separator{ border-color:rgba(230,220,201,.2) !important; }

/* ── Header Theme Builder (widgets natifs) — transparent sur hero, solide au scroll ── */
.elementor-location-header{ position:fixed; top:0; left:0; right:0; z-index:1000; transition:background .3s ease, box-shadow .3s ease; }
.elementor-location-header:not(.is-scrolled){ background:linear-gradient(180deg,rgba(31,39,51,.45),rgba(31,39,51,0)); }
.elementor-location-header.is-scrolled{ background:rgba(250,246,236,.94); backdrop-filter:blur(10px); border-bottom:1px solid rgba(31,39,51,.1); }
.tbh{ color:var(--c-fond); font-family:var(--font-sans); }
.elementor-location-header.is-scrolled .tbh{ color:var(--c-encre); }
/* barre : 3 colonnes en ligne, hauteur compacte */
.tbh > .elementor-container{ display:flex !important; flex-wrap:nowrap; align-items:center; min-height:76px; }
/* colonne logo (1re) */
.tbh .elementor-column:first-child > .elementor-widget-wrap{ padding-left:clamp(1.5rem,4vw,2.5rem); }
.tbh-logo img{ height:40px; width:auto; display:block; }
/* lisibilité crème sur hero (ombre légère), retirée au scroll (fond crème) */
.elementor-location-header:not(.is-scrolled) .tbh-logo img{ filter:drop-shadow(0 1px 4px rgba(0,0,0,.55)); }
.elementor-location-header:not(.is-scrolled) .tbh-nav .elementor-item,
.elementor-location-header:not(.is-scrolled) .tbh-lang,
.elementor-location-header:not(.is-scrolled) .tbh-cta .elementor-button{ text-shadow:0 1px 4px rgba(0,0,0,.45); }
/* colonne menu (centrale) */
.tbh-nav .elementor-nav-menu{ display:flex; justify-content:center; flex-wrap:wrap; }
.tbh-nav .elementor-item{ color:inherit !important; font-family:var(--font-sans); font-size:12px !important; font-weight:400; letter-spacing:.14em; text-transform:uppercase; padding:8px 13px !important; fill:currentColor; }
.tbh-nav .elementor-item:hover, .tbh-nav .current-menu-item > .elementor-item{ color:var(--c-or) !important; }
.tbh-nav .elementor-menu-toggle{ color:inherit !important; }
.tbh-nav .elementor-nav-menu--dropdown{ background:var(--c-encre) !important; }
.tbh-nav .elementor-nav-menu--dropdown a.elementor-item{ color:var(--c-pierre) !important; }
/* colonne actions (dernière) : langue + CTA EN LIGNE, à droite.
   Double approche (flex sur le wrap ET inline-flex sur les widgets) pour être robuste
   quelle que soit la structure exacte d'Elementor. */
.tbh .elementor-column:last-child > .elementor-widget-wrap{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap; align-items:center; justify-content:flex-end; gap:1.25rem; text-align:right; padding-right:clamp(1.5rem,4vw,2.5rem); }
.tbh .elementor-column:last-child .elementor-widget{ width:auto !important; max-width:none !important; margin:0 !important; display:inline-flex !important; align-items:center; vertical-align:middle; }
.tbh-lang, .tbh-cta{ width:auto !important; }
.tbh-lang .cdc-lang{ display:flex; gap:2px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; white-space:nowrap; }
.tbh-lang .cdc-lang a{ color:inherit; text-decoration:none; padding:6px 9px; transition:.2s; }
.tbh-lang .cdc-lang a.active{ background:currentColor; }
.tbh-lang .cdc-lang a.active span{ color:var(--c-fond); }
.elementor-location-header.is-scrolled .tbh-lang .cdc-lang a.active span{ color:var(--c-fond); }
.tbh-cta .elementor-button{ background:transparent; color:inherit; border:1px solid var(--c-or); border-radius:0; padding:11px 20px; font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; white-space:nowrap; transition:.2s; }
.tbh-cta .elementor-button:hover{ background:var(--c-or); color:var(--c-encre); }
/* mobile : masquer langue+CTA, garder logo + menu (toggle natif) */
@media (max-width:1024px){ .tbh .elementor-column:last-child{ display:none; } }

/* Article (journal) */
.cdc-article{ max-width:var(--w-prose); margin:0 auto; }
.cdc-article p{ font-size:1.0625rem; line-height:1.8; color:var(--c-ardoise); margin:0 0 1.25rem; }
.cdc-article p.lead{ font-family:var(--font-display); font-style:italic; font-size:1.45rem; line-height:1.6; color:var(--c-encre); margin-bottom:2rem; }
.cdc-article h2, .cdc-article h3{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h3); line-height:1.2; color:var(--c-encre); margin:2.5rem 0 1rem; }
.cdc-article blockquote{ border-left:2px solid var(--c-or); margin:2rem 0; padding:.25rem 0 .25rem 1.5rem; font-family:var(--font-display); font-style:italic; font-size:1.3rem; color:var(--c-encre); }
.cdc-article strong{ color:var(--c-encre); }
.cdc-article a{ color:var(--c-encre); text-decoration:underline; text-decoration-color:var(--c-or); text-underline-offset:2px; }

/* Article (journal) — habillage du template par défaut du thème (non stylé nativement) */
.site-main .page-header{ max-width:var(--w-prose); margin:0 auto; padding:var(--space-section) 2rem 0; }
.entry-title{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-h2); line-height:1.15; color:var(--c-encre); margin:0; }
.cdc-article-wrap{ max-width:var(--w-prose); margin:0 auto; padding:2rem 2rem var(--space-section); }
.cdc-article__hero{ margin:0 0 2.5rem; }
.cdc-article__hero img{ width:100%; height:auto; display:block; aspect-ratio:16/9; object-fit:cover; border:1px solid rgba(31,39,51,.06); }

/* Grille galerie (page Galerie) */
.cdc-ggrid{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:260px; gap:1rem; }
.cdc-ggrid .cdc-cell{ }
.cdc-ggrid .tall{ grid-row:span 2; } .cdc-ggrid .wide{ grid-column:span 2; }
@media (max-width:900px){ .cdc-ggrid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:220px; } }
@media (max-width:560px){ .cdc-ggrid{ grid-template-columns:1fr; } .cdc-ggrid .tall,.cdc-ggrid .wide{ grid-row:span 1; grid-column:span 1; } }
/* =====================================================================
   Formulaires Contact Form 7 — design repris du site Astro
   Palette : encre #1F2733 · or-pâle #A88D5C · pierre #E6DCC9
             fond #FAF6EC · crème #F2EAD7 · ardoise #4A5560
   Champs soulignés, Cormorant Garamond, focus or-pâle.
   ===================================================================== */

.cdc-form { background: #FAF6EC; padding: 4.5rem 1.5rem 5.5rem; }
.cdc-form > .elementor-container,
.cdc-form .elementor-widget-shortcode { max-width: 760px; margin-inline: auto; }

.wpcf7 { max-width: 760px; margin-inline: auto; font-family: Inter, system-ui, sans-serif; }
.wpcf7 form { display: flex; flex-direction: column; gap: 1.75rem; }

/* --- Libellés --- */
.wpcf7 label {
  display: block;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #4A5560;
}

/* --- Champs : soulignés, fond transparent --- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  margin-top: 0.5rem;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(31, 39, 51, 0.2);
  border-radius: 0;
  padding: 0.75rem 0;
  color: #1F2733;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.25rem;
  line-height: 1.4;
  transition: border-color 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
  /* le <label> parent est en majuscules : ne pas l'hériter dans le champ saisi */
  text-transform: none;
  letter-spacing: normal;
}

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  outline: none;
  border-bottom-color: #A88D5C;
}

.wpcf7 textarea { min-height: 150px; resize: vertical; }

/* Flèche du select (appearance:none la supprime) */
.wpcf7 select {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23A88D5C' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.25rem center;
  background-size: 12px;
  padding-right: 1.75rem;
  cursor: pointer;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder { color: rgba(31, 39, 51, 0.35); }

/* --- Bouton d'envoi --- */
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"] {
  width: 100%;
  margin-top: 0.75rem;
  background: #A88D5C;
  color: #1F2733;
  border: 0;
  border-radius: 0;
  padding: 1rem 1.5rem;
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  cursor: pointer;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover { opacity: 0.9; }
.wpcf7 input[type="submit"]:disabled { opacity: 0.4; cursor: not-allowed; }

/* --- Deux colonnes sur écran large pour les champs courts --- */
@media (min-width: 720px) {
  .wpcf7 form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem 2.5rem; }
  .wpcf7 form > p:has(textarea),
  .wpcf7 form > p:has(input[type="submit"]),
  .wpcf7 form > .wpcf7-response-output { grid-column: 1 / -1; }
}
.wpcf7 form > p { margin: 0; }

/* --- Messages de retour --- */
.wpcf7 .wpcf7-response-output {
  margin: 1.5rem 0 0;
  border: 1px solid rgba(168, 141, 92, 0.5);
  background: rgba(168, 141, 92, 0.08);
  padding: 1rem 1.25rem;
  font-size: 0.95rem;
  color: #1F2733;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
  border-color: rgba(91, 42, 42, 0.5);
  background: rgba(91, 42, 42, 0.06);
}
.wpcf7 .wpcf7-not-valid-tip {
  margin-top: 0.4rem;
  color: #5B2A2A;
  font-size: 0.8rem;
  letter-spacing: 0.02em;
  text-transform: none;
}
.wpcf7 .wpcf7-spinner { margin: 0 auto; }

/* --- Titre de section précédant un formulaire --- */
.cdc-form + .cdc-form { padding-top: 0; }

/* ════════════════════════════════════════════════════════════════
   Page Chasse — pilote nouveau système (widgets natifs + CSS global)
   Composants réutilisables : image de contenu, tableau du gibier, cartes tarifs
   ════════════════════════════════════════════════════════════════ */

/* Hero de page intérieure — bande courte, hauteur pilotée par Elementor (min-height éditable),
   voile dégradé + contenu centré. Réutilisable sur toutes les pages intérieures. */
.nw-phero > .elementor-container{ align-items:center; }
.nw-phero .elementor-widget-wrap{ justify-content:center; align-content:center; }
.nw-phero .elementor-background-overlay{ background:linear-gradient(180deg,rgba(31,39,51,.62) 0%,rgba(31,39,51,.44) 48%,rgba(31,39,51,.58) 100%) !important; }

/* Image de contenu paysage dans une section 2 colonnes (widget Image natif) */
.nw-splitimg img{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; border:1px solid rgba(31,39,51,.06); }

/* Tableau du gibier — espèce / saison / origine (widget HTML : tableau = mise en forme complexe) */
.cdc-gtable{ max-width:var(--w-prose); margin:0 auto; }
.cdc-gtable h3{ font-family:var(--font-display); font-weight:400; font-size:1.5rem; color:var(--c-encre); margin:0 0 1.5rem; }
.cdc-gtable table{ width:100%; border-collapse:collapse; font-family:var(--font-sans); }
.cdc-gtable thead th{ font-size:11px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--c-or); text-align:left; padding:0 0 .85rem; border-bottom:1px solid rgba(31,39,51,.28); }
.cdc-gtable tbody td{ font-size:1rem; color:var(--c-ardoise); padding:.9rem 0; border-bottom:1px solid rgba(31,39,51,.1); vertical-align:baseline; }
.cdc-gtable tbody td:first-child{ font-family:var(--font-display); font-size:1.2rem; color:var(--c-encre); }
.cdc-gtable th + th, .cdc-gtable td + td{ padding-left:1.75rem; }
@media (max-width:600px){ .cdc-gtable thead th,.cdc-gtable tbody td{ font-size:.82rem; } .cdc-gtable tbody td:first-child{ font-size:1rem; } .cdc-gtable th + th,.cdc-gtable td + td{ padding-left:1rem; } }

/* Cartes « Nos formules » — remplace le CSS inline par des classes globales */
.cdc-price{ max-width:var(--w-site); margin:0 auto; }
.cdc-price__k{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:var(--c-or); margin:0 0 1.75rem; }
.cdc-price__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; align-items:stretch; }
.cdc-price__card{ border:1px solid var(--c-grege); padding:2.25rem 1.75rem; display:flex; flex-direction:column; justify-content:space-between; background:var(--c-fond); }
.cdc-price__card--feature{ background:var(--c-encre); border-color:var(--c-encre); }
.cdc-price__cat{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.28em; color:var(--c-or); margin:0 0 .75rem; }
.cdc-price__name{ font-family:var(--font-display); font-weight:300; font-size:1.5rem; line-height:1.2; color:var(--c-encre); margin:0 0 1rem; }
.cdc-price__desc{ font-size:.95rem; line-height:1.65; color:var(--c-ardoise); margin:0 0 1.75rem; }
.cdc-price__foot{ border-top:1px solid rgba(31,39,51,.15); padding-top:1.25rem; }
.cdc-price__amount{ font-family:var(--font-display); font-weight:300; font-size:2rem; line-height:1; color:var(--c-encre); margin:0; }
.cdc-price__unit{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--c-grege); margin:.45rem 0 0; }
.cdc-price__card--feature .cdc-price__name,
.cdc-price__card--feature .cdc-price__amount{ color:var(--c-fond); }
.cdc-price__card--feature .cdc-price__desc{ color:rgba(230,220,201,.8); }
.cdc-price__card--feature .cdc-price__foot{ border-top-color:rgba(230,220,201,.25); }
.cdc-price__card--feature .cdc-price__unit{ color:rgba(230,220,201,.55); }
@media (max-width:820px){ .cdc-price__grid{ grid-template-columns:1fr; max-width:26rem; margin:0 auto; } }
