/*
Theme Name: Rénov Maison — Édition Maison (v2)
Description: Thème custom léger — Magazine « Édition Maison » (premium)
Version: 2.0
Text Domain: renov-maison-theme
*/
/* =========================================================================
   RÉNOV MAISON — Édition « Maison » · premium / haute couture des intérieurs
   Ivoire · Encre · Laiton  |  Cormorant + EB Garamond + Montserrat
   ========================================================================= */

:root{
  --bg:#F4F0E7;          /* ivoire chaud */
  --bg-2:#EBE5D8;        /* ivoire profond */
  --paper:#FBF8F1;       /* blanc cassé */
  --ink:#1C1915;         /* encre brun-noir */
  --ink-2:#5B5447;       /* texte secondaire (AA sur ivoire) */
  --ink-3:#9A917E;       /* discret / méta */
  --brass:#A2823F;       /* laiton — accent */
  --brass-2:#83662C;     /* laiton foncé */
  --char:#211E18;        /* espresso (sections sombres) */
  --line:rgba(28,25,21,.16);
  --hair:rgba(28,25,21,.10);

  --display:'Cormorant Garamond', 'Times New Roman', serif;
  --serif:'EB Garamond', Georgia, serif;
  --sans:'Montserrat', -apple-system, 'Segoe UI', sans-serif;

  --wrap:1320px;
  --measure:740px;
  --ease:cubic-bezier(.22,.61,.27,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  font-family:var(--serif);
  font-size:19px; line-height:1.75;
  color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%; height:auto; display:block;}
a{color:inherit; text-decoration:none; transition:color .3s var(--ease), opacity .3s var(--ease);}
button{font-family:inherit; cursor:pointer;}
::selection{background:var(--brass); color:#fff;}

.wrap{max-width:var(--wrap); margin:0 auto; padding:0 40px;}
.rule{height:1px; background:var(--line); border:0;}
.rule-brass{height:1px; background:var(--brass); border:0; opacity:.6;}

/* ---------- micro-typographie ---------- */
.eyebrow{
  font-family:var(--sans); font-size:11px; font-weight:500;
  text-transform:uppercase; letter-spacing:.34em; color:var(--brass);
}
.eyebrow.ink{color:var(--ink-3);}
.label{
  font-family:var(--sans); font-size:11px; font-weight:500;
  text-transform:uppercase; letter-spacing:.2em; color:var(--ink-2);
}

/* =========================================================================
   MASTHEAD (centré, façon revue)
   ========================================================================= */
.topbar{ border-bottom:1px solid var(--hair); }
.topbar .wrap{ display:flex; align-items:center; justify-content:space-between; height:40px;
  font-family:var(--sans); font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-3);}
.topbar a{color:var(--ink-3);} .topbar a:hover{color:var(--brass);}

.masthead{ background:var(--bg); position:sticky; top:0; z-index:100; border-bottom:1px solid var(--line);}
.masthead .wrap{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; padding:26px 40px;}
.mast-nav{ display:flex; gap:30px; }
.mast-nav.right{ justify-content:flex-end; }
.mast-nav a{
  font-family:var(--sans); font-size:11.5px; font-weight:500;
  text-transform:uppercase; letter-spacing:.2em; color:var(--ink);
  position:relative; padding:6px 0;
}
.mast-nav a:hover{ color:var(--brass); }
.mast-nav a.is-active{ color:var(--brass); }
.wordmark{
  font-family:var(--display); font-weight:500; font-size:clamp(30px,4vw,46px);
  letter-spacing:.02em; line-height:1; color:var(--ink); text-align:center; white-space:nowrap;
}
.wordmark em{ font-style:italic; color:var(--brass); }
.mast-ico{ display:flex; align-items:center; gap:18px; justify-content:flex-end; }
.mast-ico button{ background:none; border:none; color:var(--ink); display:grid; place-items:center; padding:6px; }
.mast-ico svg{ width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.3; }
.mast-ico button:hover{ color:var(--brass); }
.burger{ display:none; }

/* =========================================================================
   HERO — couverture
   ========================================================================= */
.cover{ padding:0 0 0; }
.cover-media{ position:relative; height:clamp(440px,76vh,820px); overflow:hidden; background:var(--bg-2); }
.cover-media img{ width:100%; height:100%; object-fit:cover; }
.cover-media::after{ content:""; position:absolute; inset:0; background:
  linear-gradient(rgba(20,18,14,.32), rgba(20,18,14,.32)),
  linear-gradient(to top, rgba(20,18,14,.58) 0%, rgba(20,18,14,.08) 46%, transparent 74%); }
.cover-cap{
  position:absolute; left:0; right:0; bottom:0; z-index:2; color:#F4F0E7; text-align:center; padding:0 24px 52px;
}
.cover-cap .eyebrow{ color:#E7D7B0; }
.cover-cap h1{
  font-family:var(--display); font-weight:500; font-size:clamp(2.6rem,6.5vw,6rem);
  line-height:1.02; letter-spacing:.005em; margin:18px auto 0; max-width:16ch;
}
.cover-cap h1 em{ font-style:italic; }
.cover-cap .sub{ font-family:var(--serif); font-size:clamp(1.05rem,1.6vw,1.3rem); color:rgba(244,240,231,.86); margin-top:16px; }

/* standfirst sous la couverture */
.cover-lede{ text-align:center; max-width:760px; margin:0 auto; padding:54px 40px 0; }
.cover-lede .divider{ width:54px; height:1px; background:var(--brass); margin:0 auto 26px; }
.cover-lede p{ font-family:var(--display); font-weight:400; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.45; color:var(--ink); font-style:italic; }
.cover-lede .byline{ margin-top:24px; }

.byline{ font-family:var(--sans); font-size:10.5px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3);
  display:flex; gap:14px; align-items:center; justify-content:center; flex-wrap:wrap; }
.byline .dot{ width:3px; height:3px; border-radius:50%; background:var(--brass); }

/* =========================================================================
   SECTIONS génériques
   ========================================================================= */
.section{ padding:96px 0; }
.section-tight{ padding:64px 0; }
.sec-head{ text-align:center; margin-bottom:56px; }
.sec-head .eyebrow{ display:block; margin-bottom:16px; }
.sec-head h2{ font-family:var(--display); font-weight:500; font-size:clamp(2rem,3.6vw,3.2rem); line-height:1.08; letter-spacing:.01em; }
.sec-head h2 em{ font-style:italic; color:var(--brass); }
.sec-head .sub{ font-family:var(--serif); color:var(--ink-2); font-size:1.1rem; max-width:56ch; margin:14px auto 0; }
.more{
  display:inline-flex; align-items:center; gap:10px; margin-top:26px;
  font-family:var(--sans); font-size:11px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--ink);
  border-bottom:1px solid var(--brass); padding-bottom:6px;
}
.more:hover{ color:var(--brass); }
.center{ text-align:center; }

/* =========================================================================
   LE SOMMAIRE — index éditorial numéroté
   ========================================================================= */
.summary{ background:var(--bg); }
.summary-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 80px; max-width:1080px; margin:0 auto; }
.sum-item{ display:grid; grid-template-columns:auto 1fr auto; gap:26px; align-items:baseline;
  padding:26px 0; border-top:1px solid var(--line); }
.sum-item:hover .sum-t{ color:var(--brass); }
.sum-no{ font-family:var(--display); font-style:italic; font-weight:500; font-size:1.5rem; color:var(--brass); min-width:2ch; }
.sum-cat{ display:block; font-family:var(--sans); font-size:10px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-3); margin-bottom:7px; }
.sum-t{ font-family:var(--display); font-weight:500; font-size:1.55rem; line-height:1.15; color:var(--ink); transition:color .3s var(--ease); }
.sum-pg{ font-family:var(--sans); font-size:11px; letter-spacing:.16em; color:var(--ink-3); }

/* =========================================================================
   SÉLECTION — galerie portraits
   ========================================================================= */
.gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.plate a{ display:block; }
.plate-media{ overflow:hidden; aspect-ratio:4/5; background:var(--bg-2); }
.plate-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.plate:hover .plate-media img{ transform:scale(1.05); }
.plate-body{ text-align:center; padding-top:22px; }
.plate-cat{ font-family:var(--sans); font-size:10px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--brass); }
.plate h3{ font-family:var(--display); font-weight:500; font-size:1.7rem; line-height:1.16; letter-spacing:.01em; margin:12px 0 10px; }
.plate:hover h3{ color:var(--brass); }
.plate p{ font-family:var(--serif); font-size:1rem; color:var(--ink-2); max-width:34ch; margin:0 auto; }
.plate .read{ display:inline-block; margin-top:14px; font-family:var(--sans); font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-3); border-bottom:1px solid var(--brass); padding-bottom:4px; }

/* =========================================================================
   FEATURE — section espresso plein cadre
   ========================================================================= */
.feature{ background:var(--char); color:var(--bg); }
.feature-grid{ display:grid; grid-template-columns:1.05fr .95fr; align-items:stretch; }
.feature-media{ min-height:560px; overflow:hidden; }
.feature-media img{ width:100%; height:100%; object-fit:cover; }
.feature-text{ padding:clamp(48px,6vw,96px); display:flex; flex-direction:column; justify-content:center; }
.feature-text .eyebrow{ color:#D7BE84; }
.feature-text h2{ font-family:var(--display); font-weight:500; font-size:clamp(2rem,3.4vw,3.2rem); line-height:1.08; margin:20px 0 22px; color:var(--paper); }
.feature-text h2 em{ font-style:italic; color:#D7BE84; }
.feature-text p{ font-family:var(--serif); font-size:1.12rem; color:rgba(244,240,231,.78); max-width:48ch; }
.feature-text .more{ color:var(--paper); border-color:#D7BE84; align-self:flex-start; margin-top:34px; }
.feature-text .more:hover{ color:#D7BE84; }

/* =========================================================================
   CARNET D'ADRESSES — petite grille
   ========================================================================= */
.carnet{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.note a{ display:block; }
.note-media{ overflow:hidden; aspect-ratio:1/1; background:var(--bg-2); }
.note-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.note:hover .note-media img{ transform:scale(1.05); }
.note h4{ font-family:var(--display); font-weight:500; font-size:1.3rem; line-height:1.18; margin:16px 0 6px; }
.note:hover h4{ color:var(--brass); }
.note .meta{ font-family:var(--sans); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); }

/* =========================================================================
   CLUB / ABONNEMENT
   ========================================================================= */
.club{ background:var(--bg-2); }
.club-inner{ max-width:720px; margin:0 auto; text-align:center; }
.club h2{ font-family:var(--display); font-weight:500; font-size:clamp(2rem,3.6vw,3rem); line-height:1.1; margin:16px 0 14px; }
.club h2 em{ font-style:italic; color:var(--brass); }
.club p{ font-family:var(--serif); color:var(--ink-2); font-size:1.1rem; max-width:48ch; margin:0 auto 30px; }
.club-form{ display:flex; gap:0; max-width:480px; margin:0 auto; border-bottom:1px solid var(--ink); }
.club-form input{ flex:1; background:transparent; border:none; outline:none; padding:14px 4px;
  font-family:var(--serif); font-size:1.05rem; color:var(--ink); }
.club-form input::placeholder{ color:var(--ink-3); }
.club-form button{ background:none; border:none; font-family:var(--sans); font-size:11px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--brass); padding:0 6px; }
.club-form button:hover{ color:var(--brass-2); }
.club .fine{ font-family:var(--sans); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); margin-top:18px; }

/* =========================================================================
   FOOTER
   ========================================================================= */
.foot{ background:var(--char); color:var(--bg); padding:80px 0 36px; }
.foot-top{ text-align:center; padding-bottom:54px; border-bottom:1px solid rgba(244,240,231,.14); }
.foot .wordmark{ color:var(--paper); }
.foot .wordmark em{ color:#D7BE84; }
.foot-tag{ font-family:var(--sans); font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; color:#9A917E; margin-top:16px; }
.foot-cols{ display:flex; justify-content:center; gap:64px; flex-wrap:wrap; padding:48px 0; }
.foot-col h5{ font-family:var(--sans); font-size:10px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:#9A917E; margin-bottom:18px; text-align:center; }
.foot-col a{ display:block; text-align:center; font-family:var(--serif); font-size:1.02rem; color:rgba(244,240,231,.82); padding:6px 0; }
.foot-col a:hover{ color:#D7BE84; }
.foot-bot{ text-align:center; font-family:var(--sans); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#7c7567; padding-top:30px; }

/* =========================================================================
   ARTICLE
   ========================================================================= */
.art-head{ max-width:820px; margin:0 auto; text-align:center; padding:56px 40px 0; }
.breadcrumb{ font-family:var(--sans); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3);
  display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:30px; }
.breadcrumb a:hover{ color:var(--brass); } .breadcrumb .sep{ color:var(--brass); }
.art-head h1{ font-family:var(--display); font-weight:500; font-size:clamp(2.4rem,5vw,4.4rem); line-height:1.04; letter-spacing:.005em; margin:18px 0 0; }
.art-head h1 em{ font-style:italic; color:var(--brass); }
.art-head .standfirst{ font-family:var(--display); font-weight:400; font-style:italic; font-size:clamp(1.3rem,2.2vw,1.7rem); line-height:1.46; color:var(--ink-2); max-width:60ch; margin:26px auto 0; }
.art-head .byline{ margin-top:30px; padding-top:24px; }
.art-head .byline .divider{ width:40px; height:1px; background:var(--brass); margin:0 auto 24px; }

.art-figure{ margin:48px 0 0; }
.art-figure img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.art-figure figcaption{ text-align:center; font-family:var(--sans); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); padding-top:16px; }

.prose{ max-width:var(--measure); margin:0 auto; padding:56px 40px 0; font-family:var(--serif); font-size:1.28rem; line-height:1.85; color:var(--ink); }
.prose > p{ margin-bottom:1.5rem; }
.prose h2{ font-family:var(--display); font-weight:500; font-size:2.2rem; line-height:1.12; margin:3rem 0 1.2rem; }
.prose h3{ font-family:var(--display); font-weight:600; font-size:1.6rem; margin:2.2rem 0 1rem; }
.prose a{ color:var(--brass); border-bottom:1px solid var(--brass); }
.prose a:hover{ color:var(--brass-2); }
.prose strong{ font-weight:600; }
.prose ul,.prose ol{ margin:0 0 1.5rem; padding-left:1.4rem; }
.prose li{ margin-bottom:.6rem; }
.prose ul li::marker{ color:var(--brass); }
.prose ol li::marker{ font-family:var(--display); font-style:italic; color:var(--brass); }

.prose.lede > p:first-of-type::first-letter{
  font-family:var(--display); font-weight:500; float:left; color:var(--brass);
  font-size:5.4rem; line-height:.72; padding:8px 16px 0 0;
}

.pullquote{ text-align:center; max-width:760px; margin:3.2rem auto; padding:0 20px; }
.pullquote .divider{ width:40px; height:1px; background:var(--brass); margin:0 auto 22px; }
.pullquote p{ font-family:var(--display); font-weight:400; font-style:italic; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.28; color:var(--ink); }
.pullquote cite{ display:block; margin-top:20px; font-family:var(--sans); font-style:normal; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); }

/* figure intégrée au fil du texte */
.prose figure{ margin:2.6rem 0; }
.prose figure img{ width:100%; aspect-ratio:3/2; object-fit:cover; }
.prose figure figcaption{ text-align:center; font-family:var(--sans); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); padding-top:14px; }

/* encadré confidentiel */
.aside-note{ border-top:1px solid var(--brass); border-bottom:1px solid var(--brass); padding:30px 0; margin:2.8rem 0; text-align:center; }
.aside-note .eyebrow{ display:block; margin-bottom:14px; }
.aside-note p{ font-family:var(--display); font-style:italic; font-size:1.35rem; line-height:1.5; color:var(--ink); max-width:52ch; margin:0 auto; }

/* FAQ */
.faq{ max-width:var(--measure); margin:3.4rem auto 0; padding:0 40px; }
.faq > .faq-title{ font-family:var(--display); font-weight:500; font-size:2rem; text-align:center; margin-bottom:1.6rem; }
.faq-item{ border-top:1px solid var(--line); }
.faq-item:last-child{ border-bottom:1px solid var(--line); }
.faq-q{ width:100%; text-align:left; background:none; border:none; padding:24px 40px 24px 0; position:relative;
  font-family:var(--display); font-weight:500; font-size:1.5rem; color:var(--ink); line-height:1.2; }
.faq-q::after{ content:"+"; position:absolute; right:2px; top:50%; transform:translateY(-50%);
  font-family:var(--serif); font-weight:400; font-size:1.7rem; color:var(--brass); transition:transform .3s var(--ease); }
.faq-item.open .faq-q::after{ transform:translateY(-50%) rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.faq-item.open .faq-a{ max-height:340px; }
.faq-a p{ font-family:var(--serif); font-size:1.15rem; line-height:1.7; color:var(--ink-2); padding:0 0 24px; }

/* tableau épuré */
.art-table{ max-width:var(--measure); margin:2.4rem auto; padding:0 40px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.art-table table{ width:100%; min-width:480px; border-collapse:collapse; font-family:var(--serif); font-size:1.05rem; }
.art-table caption{ font-family:var(--sans); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); text-align:left; padding-bottom:14px; }
.art-table th{ text-align:left; font-family:var(--sans); font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); padding:12px 16px; border-bottom:1.5px solid var(--ink); }
.art-table td{ padding:14px 16px; border-bottom:1px solid var(--line); }
.art-table td:first-child{ color:var(--ink); }
.art-table th:not(:first-child),.art-table td:not(:first-child){ text-align:right; font-variant-numeric:tabular-nums; }

/* signature de fin */
.art-end{ text-align:center; margin:3.5rem auto 0; max-width:var(--measure); }
.art-end span{ display:inline-block; width:8px; height:8px; background:var(--brass); transform:rotate(45deg); }

/* à lire aussi */
.also{ border-top:1px solid var(--line); margin-top:88px; }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1024px){
  .gallery{ grid-template-columns:1fr; gap:48px; max-width:480px; margin:0 auto; }
  .carnet{ grid-template-columns:1fr 1fr; gap:28px; }
  .feature-grid{ grid-template-columns:1fr; }
  .feature-media{ min-height:380px; }
  .summary-grid{ grid-template-columns:1fr; gap:0; }
}
@media (max-width:760px){
  body{ font-size:18px; }
  .wrap{ padding:0 22px; }
  .masthead .wrap{ grid-template-columns:auto 1fr auto; padding:18px 22px; }
  .mast-nav{ display:none; }
  .wordmark{ text-align:left; }
  .burger{ display:grid; }
  .topbar{ display:none; }
  .section{ padding:64px 0; }
  .carnet{ grid-template-columns:1fr 1fr; gap:20px; }
  .cover-cap{ padding-bottom:36px; }
  .prose{ font-size:1.18rem; padding:44px 22px 0; }
  .art-table{ padding:0 22px; }
  .prose > p:first-of-type::first-letter{ font-size:4.2rem; }
  .foot-cols{ gap:40px; }
}
@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; }
  .plate-media img,.note-media img{ transform:none !important; }
}

/* =========================================================================
   INTÉGRATION WP — recherche masthead + tiroir mobile
   ========================================================================= */
.mast-search{ background:none; border:0; color:var(--ink); display:grid; place-items:center; width:40px; height:40px; }
.mast-search svg{ width:20px; height:20px; stroke-width:1.6; }
.mast-searchbar{ border-top:1px solid var(--hair); background:var(--paper); }
.mast-searchbar .wrap{ padding:16px 40px; }
.mast-searchbar input[type=search]{ width:100%; font-family:var(--serif); font-size:1.05rem; padding:12px 14px; border:1px solid var(--line); background:var(--bg); color:var(--ink); }
.mast-searchbar input[type=search]:focus{ outline:none; border-color:var(--brass); }
.mobile-nav{ display:none; }
@media(max-width:760px){
  .mobile-nav:not([hidden]){ display:flex; flex-direction:column; border-top:1px solid var(--hair); background:var(--paper); }
  .mobile-nav a{ font-family:var(--sans); font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); padding:14px 22px; border-bottom:1px solid var(--hair); }
  .mobile-nav a:hover,.mobile-nav a.is-active{ color:var(--brass); }
  .mast-searchbar .wrap{ padding:14px 22px; }
}

/* =========================================================================
   INTÉGRATION WP — archives, pagination, page, 404, placeholders
   ========================================================================= */
.ph-media{ display:block; width:100%; height:100%; min-height:180px; background:linear-gradient(135deg,var(--bg-2),var(--paper)); }
.plate-media .ph-media,.note-media .ph-media,.cover-media .ph-media{ position:absolute; inset:0; }

.archive-seo-bottom{ max-width:var(--measure); margin:48px auto 0; padding-top:24px; border-top:1px solid var(--hair); }
.archive-seo-bottom h3{ font-family:var(--display); font-size:22px; margin-bottom:10px; }
.archive-seo-bottom a{ color:var(--brass); }
.archive-seo-bottom a:hover{ color:var(--brass-2); }

.pagination{ display:flex; justify-content:center; padding:48px 0 8px; }
.pagination .nav-links{ display:flex; flex-wrap:wrap; gap:8px; font-family:var(--sans); }
.pagination .page-numbers{ display:grid; place-items:center; min-width:44px; height:44px; padding:0 12px;
  border:1px solid var(--line); color:var(--ink); font-size:13px; letter-spacing:.06em; }
.pagination .page-numbers.current{ background:var(--char); color:var(--paper); border-color:var(--char); }
.pagination a.page-numbers:hover{ border-color:var(--brass); color:var(--brass); }
.pagination .dots{ border:0; }

.page-article{ max-width:var(--measure); margin:0 auto; }
.page-article > .art-head h1{ margin-top:14px; }

.error-404{ max-width:640px; margin:0 auto; padding:96px 22px 120px; text-align:center; }
.error-404 h1{ font-family:var(--display); font-weight:600; font-size:clamp(90px,20vw,180px); line-height:.9; color:var(--brass); margin:8px 0; }
.error-404 h2{ font-family:var(--display); font-size:clamp(24px,4vw,34px); margin-bottom:12px; }
.error-404 p{ color:var(--ink-2); max-width:46ch; margin:0 auto 26px; }
.error-404 .e404-search{ max-width:420px; margin:0 auto 22px; }
.error-404 .e404-search input[type=search]{ width:100%; font-family:var(--serif); font-size:1.05rem; padding:12px 14px; border:1px solid var(--line); background:var(--paper); color:var(--ink); }
.error-404 .btn-home{ display:inline-block; font-family:var(--sans); font-size:13px; letter-spacing:.14em; text-transform:uppercase; padding:14px 28px; background:var(--char); color:var(--paper); }
.error-404 .btn-home:hover{ background:var(--brass); }

/* =========================================================================
   CONTENU V1 — masthead logo à gauche, hero texte, stats, footer simple
   ========================================================================= */
.masthead .wrap--left{ display:flex; align-items:center; gap:34px; grid-template-columns:none; }
.masthead .wrap--left .wordmark{ white-space:nowrap; }
.masthead .wrap--left .mast-nav{ margin-right:auto; }
@media(max-width:860px){ .masthead .wrap--left .mast-nav{ display:none; } .masthead .wrap--left{ gap:14px; justify-content:space-between; } }

.home-hero{ background:var(--paper); border-bottom:1px solid var(--hair); }
.home-hero .wrap{ max-width:var(--measure); padding-top:76px; padding-bottom:58px; text-align:center; }
.home-hero h1{ font-family:var(--display); font-weight:600; font-size:clamp(38px,6vw,68px); line-height:1.02; letter-spacing:-.03em; margin:14px 0 0; }
.home-hero .sub{ font-family:var(--serif); font-size:clamp(17px,2vw,21px); color:var(--ink-2); margin:16px auto 0; max-width:58ch; }
.home-hero .home-search{ margin-top:30px; }
.home-hero .home-search form{ display:flex; max-width:520px; margin:0 auto; }
.home-hero .home-search input[type=search]{ flex:1; min-width:0; font-family:var(--serif); font-size:1.05rem; padding:14px 16px; border:1px solid var(--line); background:#fff; color:var(--ink); }
.home-hero .home-search input[type=search]:focus{ outline:none; border-color:var(--brass); }
.home-hero .home-search button{ font-family:var(--sans); font-size:12px; letter-spacing:.14em; text-transform:uppercase; padding:0 22px; background:var(--char); color:var(--paper); border:0; cursor:pointer; }

.stats{ background:var(--char); }
.stats .stats-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
.stats .stat{ text-align:center; padding:36px 16px; border-left:1px solid rgba(247,245,240,.12); }
.stats .stat:first-child{ border-left:0; }
.stats .stat .n{ display:block; font-family:var(--display); font-weight:600; font-size:clamp(34px,5vw,52px); color:#CDA45E; line-height:1; }
.stats .stat .l{ display:block; margin-top:8px; font-family:var(--sans); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(247,245,240,.72); }
@media(max-width:600px){ .stats .stat{ padding:24px 8px; } .stats .stat .l{ font-size:10px; letter-spacing:.1em; } }

.foot--simple .wrap{ display:flex; flex-direction:column; align-items:center; gap:18px; text-align:center; }
.foot--simple .wordmark{ font-size:26px; color:var(--paper); }
.foot--simple .wordmark em{ color:var(--brass); }
.foot--simple .foot-nav{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 26px; }
.foot--simple .foot-nav a{ font-family:var(--sans); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#C6BCA8; }
.foot--simple .foot-nav a:hover{ color:var(--brass); }
.foot--simple .foot-bot{ font-family:var(--sans); font-size:12px; letter-spacing:.04em; color:var(--ink-3); border:0; padding:0; }

/* =========================================================================
   BANDEAU COOKIES (Édition Maison)
   ========================================================================= */
.cookie-banner{ position:fixed; left:0; right:0; bottom:0; z-index:200; background:var(--char); color:#E7E3D8; border-top:1px solid rgba(247,245,240,.14); box-shadow:0 -8px 30px rgba(0,0,0,.18); }
.cookie-inner{ max-width:var(--wrap); margin:0 auto; padding:16px 40px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.cookie-inner p{ font-family:var(--serif); font-size:15px; line-height:1.5; color:#D8D3C6; margin:0; }
.cookie-inner p a{ color:var(--brass); text-decoration:underline; text-underline-offset:2px; }
.cookie-inner p a:hover{ color:#C79A4E; }
.cookie-buttons{ display:flex; gap:10px; flex-shrink:0; }
.cookie-btn{ font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:11px 22px; border:1px solid transparent; cursor:pointer; transition:background .2s, color .2s, border-color .2s; }
.cookie-btn-accept{ background:var(--brass); color:#fff; }
.cookie-btn-accept:hover{ background:var(--brass-2); }
.cookie-btn-refuse{ background:transparent; color:#D8D3C6; border-color:rgba(247,245,240,.32); }
.cookie-btn-refuse:hover{ border-color:#fff; color:#fff; }
@media(max-width:640px){ .cookie-inner{ padding:14px 22px; gap:12px; } .cookie-buttons{ width:100%; } .cookie-btn{ flex:1; } }

/* =========================================================================
   HERO STATIQUE (image + H1 + recherche)
   ========================================================================= */
.hero-static{ position:relative; background:var(--bg-2) center/cover no-repeat; min-height:clamp(460px,74vh,760px); display:flex; align-items:center; }
.hero-static::after{ content:""; position:absolute; inset:0; z-index:0; background:
  linear-gradient(rgba(20,18,14,.40),rgba(20,18,14,.40)),
  linear-gradient(to top, rgba(20,18,14,.55) 0%, rgba(20,18,14,.12) 55%, rgba(20,18,14,.30) 100%); }
.hero-static .wrap{ position:relative; z-index:1; max-width:var(--measure); text-align:center; padding-top:52px; padding-bottom:52px; }
.hero-static h1{ font-family:var(--display); font-weight:600; color:#F7F5F0; font-size:clamp(34px,6vw,64px); line-height:1.04; letter-spacing:-.03em; text-shadow:0 1px 24px rgba(20,18,14,.3); }
.hero-static h1 em{ font-style:italic; }
/* même langage que .club-form (soulignement fin, transparent), en clair pour la photo */
.hero-static .home-search{ margin-top:34px; }
.hero-static .home-search form{ display:flex; align-items:center; gap:0; max-width:480px; margin:0 auto; border-bottom:1px solid rgba(247,245,240,.7); }
.hero-static .home-search input[type=search]{ flex:1; min-width:0; background:transparent; border:0; outline:none; font-family:var(--serif); font-size:1.2rem; padding:14px 4px; color:#F7F5F0; }
.hero-static .home-search input[type=search]::placeholder{ color:rgba(247,245,240,.72); }
.hero-static .home-search button, .hero-static .home-search input[type=submit]{ background:none; border:0; font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#F7F5F0; padding:8px 2px 8px 18px; cursor:pointer; transition:color .25s var(--ease); white-space:nowrap; }
.hero-static .home-search button:hover, .hero-static .home-search input[type=submit]:hover{ color:var(--brass); }

/* =========================================================================
   NAV — suppression des puces (li sans ul) header + footer
   ========================================================================= */
.mast-nav li, .mobile-nav li, .foot-col li{ list-style:none; margin:0; padding:0; }
.mast-nav li::marker, .foot-col li::marker{ content:""; }

/* =========================================================================
   BURGER — masqué sur desktop (corrige la spécificité vs .mast-ico button)
   ========================================================================= */
.mast-ico .burger{ display:none; }
@media(max-width:760px){ .mast-ico .burger{ display:grid; place-items:center; } }

/* =========================================================================
   NAV RESPONSIVE — burger dès la tablette (≤1024) + menu mobile soigné
   ========================================================================= */
@media(max-width:1024px){
  .masthead .mast-nav{ display:none; }
  .mast-ico .burger{ display:grid; place-items:center; }
  .mobile-nav:not([hidden]){ display:flex; flex-direction:column; background:var(--bg);
    border-top:1px solid var(--line); box-shadow:0 26px 44px -22px rgba(20,18,14,.45); padding:6px 40px 30px; }
  .mobile-nav a{ display:block; font-family:var(--display); font-weight:500; font-size:1.7rem; line-height:1.15;
    letter-spacing:.005em; text-transform:none; color:var(--ink); padding:17px 0; border-bottom:1px solid var(--hair); transition:color .25s var(--ease); }
  .mobile-nav a:last-child{ border-bottom:0; }
  .mobile-nav a:hover, .mobile-nav a.is-active, .mobile-nav .current-menu-item > a{ color:var(--brass); }
}
@media(max-width:560px){
  .mobile-nav:not([hidden]){ padding:6px 22px 26px; }
  .mobile-nav a{ font-size:1.45rem; padding:15px 0; }
}

/* =========================================================================
   RECHERCHE DANS LE HEADER (slim, soulignée)
   ========================================================================= */
.mast-search-form{ display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line); padding-bottom:5px; min-width:170px; }
.mast-search-form input[type=search]{ flex:1; min-width:0; background:transparent; border:0; outline:none; font-family:var(--serif); font-size:1rem; color:var(--ink); padding:3px 0; }
.mast-search-form input[type=search]::placeholder{ color:var(--ink-3); font-style:italic; }
.mast-search-form button{ background:none; border:0; color:var(--ink-3); display:grid; place-items:center; padding:2px; cursor:pointer; }
.mast-search-form button:hover{ color:var(--brass); }
.mast-search-form svg{ width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.5; }
@media(max-width:1024px){ .mast-ico .mast-search-form{ display:none; } }

/* recherche dans le menu mobile */
.mnav-search{ display:flex; align-items:center; gap:10px; border:1px solid var(--line); background:var(--paper); padding:10px 14px; margin:6px 0 14px; }
.mnav-search input[type=search]{ flex:1; min-width:0; background:transparent; border:0; outline:none; font-family:var(--serif); font-size:1.05rem; color:var(--ink); }
.mnav-search input[type=search]::placeholder{ color:var(--ink-3); font-style:italic; }
.mnav-search button{ background:none; border:0; color:var(--ink-3); display:grid; place-items:center; cursor:pointer; }
.mnav-search button:hover{ color:var(--brass); }
.mnav-search svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.5; }

/* =========================================================================
   HERO CINÉMATOGRAPHIQUE (« wahou »)
   ========================================================================= */
.hero-lux{ position:relative; height:clamp(560px,92vh,940px); overflow:hidden; background:var(--char); }
.hero-lux__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; will-change:transform; transform:scale(1.02); animation:heroZoom 18s ease-in-out infinite alternate; }
@keyframes heroZoom{ from{ transform:scale(1.02); } to{ transform:scale(1.12); } }
.hero-lux::after{ content:""; position:absolute; inset:0; z-index:1; background:
  radial-gradient(120% 90% at 50% 34%, transparent 32%, rgba(20,18,14,.38) 100%),
  linear-gradient(to top, rgba(20,18,14,.62) 0%, rgba(20,18,14,.06) 46%, rgba(20,18,14,.34) 100%); }
.hero-lux__frame{ position:absolute; inset:22px; z-index:2; border:1px solid rgba(247,245,240,.32); pointer-events:none; }
.hero-lux__inner{ position:relative; z-index:3; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px 24px; color:#F7F5F0; }
.hero-lux .eyebrow{ color:#E7D7B0; margin-bottom:24px; }
.hero-lux h1{ font-family:var(--display); font-weight:500; font-size:clamp(2.8rem,7.2vw,6.8rem); line-height:1.0; letter-spacing:.01em; max-width:18ch; margin:0; text-shadow:0 2px 44px rgba(20,18,14,.45); }
.hero-lux h1 em{ font-style:italic; color:#EBD9B4; }
.hero-lux__divider{ width:56px; height:1px; background:var(--brass); margin:30px auto 0; }
.hero-lux .hero-sub{ font-family:var(--serif); font-size:clamp(1.1rem,1.8vw,1.4rem); line-height:1.5; color:rgba(247,245,240,.9); margin:26px auto 0; max-width:52ch; }
.hero-lux__cue{ position:absolute; bottom:36px; left:50%; transform:translateX(-50%); z-index:4; display:flex; flex-direction:column; align-items:center; gap:12px;
  color:rgba(247,245,240,.85); font-family:var(--sans); font-size:10px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; }
.hero-lux__cue:hover{ color:#fff; }
.hero-lux__cue .line{ width:1px; height:46px; background:rgba(247,245,240,.45); position:relative; overflow:hidden; }
.hero-lux__cue .line::after{ content:""; position:absolute; inset:0; background:var(--brass); animation:cueSlide 2.4s var(--ease) infinite; }
@keyframes cueSlide{ 0%{ transform:translateY(-100%); } 60%,100%{ transform:translateY(100%); } }
@media(prefers-reduced-motion:reduce){ .hero-lux__img{ animation:none; transform:none; } .hero-lux__cue .line::after{ animation:none; } }
@media(max-width:640px){ .hero-lux__frame{ inset:14px; } .hero-lux__inner{ padding:40px 20px; } }

/* =========================================================================
   HERO — contraste texte renforcé (scrim centré + ombres)
   ========================================================================= */
.hero-lux::after{ content:""; position:absolute; inset:0; z-index:1; background:
  radial-gradient(78% 56% at 50% 50%, rgba(20,18,14,.55) 0%, rgba(20,18,14,.16) 68%, transparent 100%),
  linear-gradient(to top, rgba(20,18,14,.58) 0%, transparent 42%),
  linear-gradient(rgba(20,18,14,.16), rgba(20,18,14,.16)); }
.hero-lux h1{ text-shadow:0 2px 30px rgba(20,18,14,.55), 0 1px 3px rgba(20,18,14,.4); }
.hero-lux .eyebrow{ color:#F0E4C6; text-shadow:0 1px 12px rgba(20,18,14,.6); }
.hero-lux .hero-sub{ color:#F4F0E7; text-shadow:0 1px 16px rgba(20,18,14,.5); }
.hero-lux__cue{ color:rgba(247,245,240,.92); text-shadow:0 1px 10px rgba(20,18,14,.5); }

/* =========================================================================
   HERO — léger voile beige (harmonisation palette)
   ========================================================================= */
.hero-lux::after{ content:""; position:absolute; inset:0; z-index:1; background:
  linear-gradient(rgba(226,214,188,.20), rgba(226,214,188,.20)),   /* voile beige chaud */
  radial-gradient(78% 56% at 50% 50%, rgba(20,18,14,.52) 0%, rgba(20,18,14,.15) 68%, transparent 100%),
  linear-gradient(to top, rgba(20,18,14,.56) 0%, transparent 42%),
  linear-gradient(rgba(20,18,14,.14), rgba(20,18,14,.14)); }
