/*
Theme Name:   Les Magnolias
Theme URI:    https://lesmagnoliasparcfloral.com
Description:  Thème du restaurant Les Magnolias au Parc Floral. Thème enfant de Hello Elementor.
Author:       Les Magnolias
Version:      1.0.0
Template:     hello-elementor
Text Domain:  magnolias
*/

  :root{
    --forest:#0f2e1c;
    --green:#1c5334;
    --green-lit:#4a7c5d;
    --sage:#8ba894;
    --ivory:#faf8f3;
    --stone:#ece8dd;
    --stone-line:#d8d3c4;
    --ink:#171c18;
    --ink-soft:#4b544d;
    --muted:#79806f;
    --brass:#9c7a41;
    --on-dark:#f4f1e8;
    --on-dark-soft:#c3cbc0;
    --display:"Marcellus",Georgia,"Times New Roman",serif;
    --body:"Karla","Helvetica Neue",Arial,sans-serif;
    --shell:#f2efe7;
  }

  .container{max-width:1120px;margin-inline:auto;padding-inline:20px}
  .narrow{max-width:720px}


  .label{
    font-family:var(--body);font-size:11px;font-weight:600;
    letter-spacing:.2em;text-transform:uppercase;color:var(--brass);
    margin:0 0 14px;display:block;
  }
  .rule{width:46px;height:1px;background:var(--brass);margin:18px 0}
  .rule.center{margin-inline:auto}

  /* ============ bandeau maquette ============ */
  .mockbar{
    background:var(--forest);color:var(--on-dark);
    padding:11px 20px;font-size:12.5px;text-align:center;
    letter-spacing:.03em;
  }
  .mockbar b{color:#fff;font-weight:600}

  /* ============ header ============ */
  .siteheader{
    background:var(--green);color:var(--on-dark);
    position:sticky;top:env(safe-area-inset-top,0px);z-index:40;
  }
  .headrow{
    display:flex;align-items:center;gap:20px;
    padding-block:14px;
  }
  .logo{
    font-family:var(--display);font-size:1.5rem;line-height:1;
    color:#fff;white-space:nowrap;
  }
  .logo img{display:block;height:66px;width:auto}
  .logo small{display:block;font-family:var(--body);font-size:9.5px;letter-spacing:.44em;color:var(--sage);margin-top:6px;text-transform:uppercase;text-align:right}
  @media (max-width:520px){.logo img{height:48px}.logo small{font-size:8px;letter-spacing:.36em}}
  nav.main{display:flex;gap:26px;margin-left:auto;font-size:14px;letter-spacing:.02em}
  nav.main span{cursor:default;padding-block:4px;border-bottom:1px solid transparent}
  nav.main span.on{border-bottom-color:var(--brass)}
  .headcta{display:flex;gap:10px;align-items:center;margin-left:auto}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;
    font-family:var(--body);font-size:13.5px;font-weight:600;
    letter-spacing:.05em;text-transform:uppercase;
    padding:12px 22px;border-radius:2px;border:1px solid transparent;
    cursor:default;white-space:nowrap;
  }
  .btn-brass{background:var(--brass);color:#fff;border-color:var(--brass)}
  .btn-ghost{background:transparent;color:var(--on-dark);border-color:rgba(244,241,232,.45)}
  .btn-green{background:var(--green);color:#fff;border-color:var(--green)}
  .btn-outline{background:transparent;color:var(--green);border-color:var(--green)}
  .btn-lg{padding:15px 30px;font-size:14px}
  @media (max-width:900px){nav.main{display:none}}
  @media (max-width:560px){
    .headrow{gap:12px}
    .headcta{gap:7px}
    .headcta .btn{padding:9px 11px;font-size:10.5px;letter-spacing:.03em}
  }

  /* ============ photo placeholders ============ */
  .ph{
    position:relative;background:
      repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 12px,transparent 12px 24px),
      linear-gradient(160deg,var(--green) 0%,var(--forest) 100%);
    display:flex;align-items:center;justify-content:center;
    text-align:center;padding:26px 20px;overflow:hidden;
  }
  .ph-tag{
    font-family:var(--body);font-size:10.5px;font-weight:600;
    letter-spacing:.17em;text-transform:uppercase;
    color:var(--sage);line-height:1.9;
  }
  .ph-tag b{display:block;color:var(--on-dark);font-size:12px;letter-spacing:.09em;font-weight:600}
  .ph-frame{border:1px dashed rgba(139,168,148,.5);padding:14px 18px;border-radius:2px}
  /* photos reelles */
  .ph.photo{background:var(--forest) center/cover no-repeat}
  .ph.photo .ph-tag{display:none}
  .hero .ph.photo::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(100deg,rgba(15,46,28,.88) 0%,rgba(15,46,28,.62) 48%,rgba(15,46,28,.34) 100%);
  }

  /* ============ hero ============ */
  .hero{position:relative;min-height:clamp(560px,76vh,720px);display:grid}
  .hero .ph{grid-area:1/1;min-height:clamp(560px,76vh,720px)}
  .hero-inner{
    grid-area:1/1;position:relative;z-index:2;
    display:flex;flex-direction:column;justify-content:center;
    padding-block:72px;color:var(--on-dark);
  }
  .hero-inner .label{color:var(--sage)}
  .hero h1{
    font-size:clamp(2.35rem,6.6vw,4.05rem);line-height:1.08;color:#fff;
    margin-bottom:20px;max-width:15ch;
  }
  .hero .sub{
    font-size:clamp(1rem,2.2vw,1.16rem);color:var(--on-dark-soft);
    max-width:46ch;margin-bottom:22px;
  }
  .herostats{
    display:flex;flex-wrap:wrap;align-items:center;gap:7px 15px;
    font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    color:var(--sage);margin:0 0 30px;padding-top:18px;
    border-top:1px solid rgba(156,122,65,.55);max-width:34rem;
  }
  .herostats i{color:var(--brass);font-style:normal;font-size:10px;line-height:1}
  @media (max-width:520px){.herostats{font-size:11px;letter-spacing:.1em;gap:5px 11px}}
  .hero-btns{display:flex;flex-wrap:wrap;gap:12px}

  /* ============ bandeau chiffres ============ */
  .keyfigs{background:var(--forest);color:var(--on-dark)}
  .keyfigs .container{
    display:grid;grid-template-columns:repeat(4,1fr);
    padding-block:34px;gap:20px;text-align:center;
  }
  .kf b{
    display:block;font-family:var(--display);font-size:clamp(1.7rem,4.4vw,2.5rem);
    color:#fff;line-height:1.1;
  }
  .kf span{
    font-size:11px;letter-spacing:.15em;text-transform:uppercase;
    color:var(--sage);display:block;margin-top:7px;
  }
  @media (max-width:700px){.keyfigs .container{grid-template-columns:repeat(2,1fr);gap:26px 12px}}

  /* ============ acces rapide ============ */
  .quick{background:var(--stone);border-bottom:1px solid var(--stone-line)}
  .quick .container{padding-block:22px}
  .quick-title{
    font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
    color:var(--muted);margin:0 0 14px;
  }
  .quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  @media (max-width:760px){.quick-grid{grid-template-columns:repeat(2,1fr)}}
  
  .qlink{
    display:flex;flex-direction:column;justify-content:space-between;gap:12px;
    background:var(--shell);border:1px solid var(--stone-line);
    padding:14px 15px 12px;text-decoration:none;color:var(--ink);
    min-height:82px;
  }
  .qlink b{font-family:var(--display);font-weight:400;font-size:1.02rem;line-height:1.2}
  .qlink b small{
    display:block;font-family:var(--body);font-size:10px;font-weight:600;
    letter-spacing:.11em;text-transform:uppercase;color:var(--brass);margin-top:5px;
  }
  .season{
    display:inline-block;font-family:var(--body);font-size:10.5px;font-weight:600;
    letter-spacing:.15em;text-transform:uppercase;color:var(--brass);
    border:1px solid var(--brass);padding:4px 10px;border-radius:2px;
    margin-bottom:12px;
  }
  .band.dark .season,.final .season{color:var(--brass);border-color:var(--brass)}
  .qlink em{
    font-style:normal;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--brass);display:flex;align-items:center;gap:6px;
  }
  .qlink:hover,.qlink:focus-visible{border-color:var(--green);outline:none}
  .qlink:hover b,.qlink:focus-visible b{color:var(--green)}

  /* ============ sections ============ */
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  section[id]{scroll-margin-top:112px}
  .band{background:var(--ivory);padding-block:clamp(56px,8vw,92px)}
  .band.alt{background:var(--stone)}
  .band.dark{background:var(--green);color:var(--on-dark)}
  .band.dark .label{color:var(--sage)}
  .band.dark h2{color:#fff}
  .band.dark p{color:var(--on-dark-soft)}
  h2.sec{font-size:clamp(1.75rem,4.4vw,2.6rem);line-height:1.16;margin-bottom:8px}
  .sec-intro{color:var(--ink-soft);max-width:60ch;font-size:1.03rem}
  .sec-intro.lead{
    font-family:var(--display);font-size:clamp(1.16rem,2.5vw,1.4rem);
    line-height:1.5;color:var(--ink);max-width:48ch;margin-bottom:22px;
  }
  .band.dark .sec-intro.lead{color:#fff}
  .center{text-align:center}
  .center .sec-intro{margin-inline:auto}

  /* ============ deux parcours ============ */
  .paths{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
  @media (max-width:800px){.paths{grid-template-columns:1fr}}
  .path{background:var(--shell);border:1px solid var(--stone-line);display:flex;flex-direction:column}
  .path .ph{aspect-ratio:16/10}
  .path-body{padding:28px 26px 30px}
  .path h3{font-size:1.5rem;margin-bottom:8px}
  .path p{font-size:14.5px;color:var(--ink-soft);margin-bottom:20px}
  .path ul{margin:0 0 22px;padding:0;list-style:none;font-size:14px;color:var(--ink-soft)}
  .path li{padding-left:18px;position:relative;margin-bottom:6px}
  .path li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:1px;background:var(--brass)}

  /* ============ espaces ============ */
  .spaces{display:grid;grid-template-columns:1fr;gap:34px;margin-top:44px}
  .space{background:var(--shell);border:1px solid var(--stone-line)}
  .spacefig{margin:0;border-bottom:1px solid var(--stone-line)}
  .spacefig img{display:block;width:100%;height:auto}
  .spacefig.wide img{aspect-ratio:3/2;object-fit:cover;object-position:center 38%}
  .space-body{
    padding:24px 32px 26px;display:grid;grid-template-columns:1fr auto;
    gap:14px 56px;align-items:center;
  }
  .space h3{font-size:1.62rem;margin:0}
  .space dl{
    display:grid;grid-template-columns:1fr auto;gap:9px 22px;margin:0;
    font-size:14px;align-items:baseline;min-width:320px;
  }
  .space dt{
    color:var(--muted);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
    line-height:1.35;
  }
  .space dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
  .space dl > dt + dd{border-bottom:0}
  @media (max-width:820px){
    .space-body{grid-template-columns:1fr;gap:12px;padding:22px 22px 24px}
    .space h3{font-size:1.32rem}
    .space dl{min-width:0}
  }

  .captable{overflow-x:auto;margin-top:42px;border:1px solid var(--stone-line);background:var(--shell)}
  .captable table{border-collapse:collapse;width:100%;min-width:480px;font-size:15px}
  .captable caption{
    text-align:left;padding:18px 22px 4px;font-family:var(--display);
    font-size:1.12rem;color:var(--ink);
  }
  .captable thead th{
    font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--muted);font-weight:600;text-align:left;
    padding:12px 22px;border-bottom:1px solid var(--stone-line);
  }
  .captable thead th.n,.captable tbody td.n{text-align:right;font-variant-numeric:tabular-nums}
  .captable tbody td{padding:14px 22px;border-bottom:1px solid var(--stone-line)}
  .captable tbody tr.total td{background:var(--stone);font-weight:700;border-bottom:0}
  .captable tbody tr.total td:first-child{font-family:var(--display);font-weight:400;font-size:1.05rem}
  .captable tbody tr.total td small{
    display:block;font-family:var(--body);font-size:10px;font-weight:600;
    letter-spacing:.13em;text-transform:uppercase;color:var(--brass);margin-top:4px;
  }
  .tnote{padding:14px 22px;font-size:13px;color:var(--muted);line-height:1.55}
  .tnote b{color:var(--ink);font-weight:600}

  /* ============ types d'evenements ============ */
  .evgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--stone-line);margin-top:44px;border:1px solid var(--stone-line)}
  .evgrid .ev.wide{grid-column:1/-1}
  @media (max-width:560px){.evgrid{grid-template-columns:1fr}}
  .ev{background:var(--ivory);padding:28px 26px;min-height:118px;display:flex;flex-direction:column;justify-content:flex-end}
  .band.alt .ev{background:var(--stone)}
  .ev b{font-family:var(--display);font-weight:400;font-size:1.16rem;display:block;margin-bottom:4px}
  .ev span{font-size:13px;color:var(--muted)}

  /* ============ prestations ============ */
  .presta{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;margin-top:8px}
  @media (max-width:860px){.presta{grid-template-columns:1fr;gap:34px}}
  .presta .ph{aspect-ratio:5/4}
  .plist{list-style:none;margin:26px 0 0;padding:0;columns:2;column-gap:28px;font-size:14.5px}
  @media (max-width:520px){.plist{columns:1}}
  .plist li{padding-left:18px;position:relative;margin-bottom:9px;break-inside:avoid;color:var(--on-dark-soft)}
  .plist li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1px;background:var(--brass)}

  /* ============ plaquettes ============ */
  .plaqs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:52px}
  @media (max-width:980px){.plaqs{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:560px){.plaqs{grid-template-columns:1fr}}
  .plaq{
    display:flex;flex-direction:column;justify-content:space-between;gap:18px;
    background:rgba(255,255,255,.05);border:1px solid rgba(139,168,148,.4);
    padding:24px 22px 20px;text-decoration:none;color:var(--on-dark);
    min-height:200px;
  }
  .plaq:hover,.plaq:focus-visible{background:rgba(255,255,255,.1);border-color:var(--brass);outline:none}
  .plaq .num{
    font-family:var(--body);font-size:10.5px;font-weight:600;letter-spacing:.18em;
    text-transform:uppercase;color:var(--brass);
  }
  .plaq h3{font-family:var(--display);font-weight:400;font-size:1.32rem;color:#fff;margin:10px 0 8px;line-height:1.2}
  .plaq p{font-size:13.5px;color:var(--on-dark-soft);margin:0;line-height:1.55}
  .plaq .go{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    color:var(--brass);border-top:1px solid rgba(139,168,148,.3);padding-top:14px;
  }
  .plaq[aria-disabled="true"]{opacity:.62;cursor:default}
  .plaq[aria-disabled="true"] .go{color:var(--sage)}

  /* ============ galerie ============ */
  .gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:215px;gap:12px;margin-top:40px}
  .gal .ph{border-radius:1px}
  .gal .ph:nth-child(1){grid-column:span 2;grid-row:span 2}
  .gal .ph:nth-child(6){grid-column:span 2}
  .gal .ph:nth-child(11){grid-column:span 2;grid-row:span 2}
  @media (max-width:980px){
    .gal{grid-template-columns:repeat(3,1fr);grid-auto-rows:190px}
    .gal .ph:nth-child(11){grid-column:span 2;grid-row:span 1}
  }
  @media (max-width:640px){
    .gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:165px}
    .gal .ph:nth-child(1){grid-column:span 2;grid-row:span 1}
    .gal .ph:nth-child(11){grid-column:span 2}
  }

  /* ============ avis ============ */
  .reviews{columns:3;column-gap:20px;margin-top:40px}
  @media (max-width:980px){.reviews{columns:2}}
  @media (max-width:640px){.reviews{columns:1}}
  .review{
    background:var(--shell);border:1px solid var(--stone-line);
    padding:24px 22px;margin:0 0 20px;break-inside:avoid;display:inline-block;width:100%;
  }
  .stars{color:var(--brass);letter-spacing:.16em;font-size:13px;margin-bottom:12px}
  .review p{font-size:14.5px;color:var(--ink-soft);margin-bottom:12px;line-height:1.6}
  .review p:last-of-type{margin-bottom:16px}
  .review footer{border-top:1px solid var(--stone-line);padding-top:12px}
  .review cite{
    display:block;font-style:normal;font-family:var(--display);
    font-size:1rem;color:var(--ink);margin-bottom:3px;
  }
  .review .ctx{
    display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;
    color:var(--muted);
  }
  .review .scores{
    display:block;font-size:11px;letter-spacing:.05em;color:var(--brass);
    margin-top:7px;
  }
  .revhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;margin-top:6px}
  .revhead .big{font-family:var(--display);font-size:2rem;color:var(--ink);line-height:1}
  .revhead .gstars{color:var(--brass);letter-spacing:.2em;font-size:15px}
  .revhead .src{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

  /* ============ infos pratiques ============ */
  .infos{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
  @media (max-width:820px){.infos{grid-template-columns:1fr;gap:32px}}
  .infolist{list-style:none;margin:28px 0 0;padding:0}
  .infolist li{
    display:grid;grid-template-columns:118px 1fr;gap:16px;
    padding:14px 0;border-top:1px solid var(--stone-line);font-size:15px;
  }
  .infolist li:last-child{border-bottom:1px solid var(--stone-line)}
  .infolist b{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-top:3px}
  .infos .ph{aspect-ratio:4/3;min-height:280px}
  /* ============ bandeau infos pratiques ============ */
  .infobar{
    display:grid;grid-template-columns:repeat(4,1fr);
    margin-top:44px;border:1px solid var(--stone-line);background:var(--shell);
  }
  .ib{padding:22px 26px;border-right:1px solid var(--stone-line)}
  .ib:last-child{border-right:0}
  .ib b{
    display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--muted);font-weight:600;margin-bottom:9px;
  }
  .ib span{display:block;font-size:15px;line-height:1.55;color:var(--ink-soft)}
  @media (max-width:900px){
    .infobar{grid-template-columns:repeat(2,1fr)}
    .ib:nth-child(2n){border-right:0}
    .ib:nth-child(-n+2){border-bottom:1px solid var(--stone-line)}
  }
  @media (max-width:560px){
    .infobar{grid-template-columns:1fr}
    .ib{border-right:0;border-bottom:1px solid var(--stone-line)}
    .ib:last-child{border-bottom:0}
  }

  /* ============ acces ============ */
  .access{
    display:grid;grid-template-columns:repeat(3,1fr);gap:0;
    margin-top:46px;border:1px solid var(--stone-line);background:var(--shell);
  }
  @media (max-width:820px){.access{grid-template-columns:1fr}}
  .acc{padding:24px 26px;border-right:1px solid var(--stone-line)}
  .acc:last-child{border-right:0}
  @media (max-width:820px){
    .acc{border-right:0;border-bottom:1px solid var(--stone-line)}
    .acc:last-child{border-bottom:0}
  }
  .acc h4{
    font-family:var(--body);font-weight:600;font-size:11px;
    letter-spacing:.18em;text-transform:uppercase;color:var(--brass);
    margin:0 0 12px;
  }
  .acc ul{list-style:none;margin:0;padding:0}
  .acc li{font-size:14.5px;margin-bottom:7px;color:var(--ink-soft);line-height:1.5}
  .acc li:last-child{margin-bottom:0}
  .acc .pill{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:38px;height:21px;padding:0 8px;margin-right:9px;
    border-radius:11px;font-size:10.5px;font-weight:700;letter-spacing:.06em;
    background:var(--green);color:#fff;vertical-align:middle;
  }
  .mapbtn{
    display:inline-flex;align-items:center;gap:9px;margin-top:20px;
    border:1px solid var(--brass);color:var(--brass);
    padding:12px 20px;font-size:12px;font-weight:600;
    letter-spacing:.13em;text-transform:uppercase;text-decoration:none;
  }
  .mapbtn:hover,.mapbtn:focus-visible{background:var(--brass);color:#fff;outline:none}
  /* infolist sur fond vert */
  .band.dark .infolist li{border-top-color:rgba(139,168,148,.28);color:var(--on-dark)}
  .band.dark .infolist li:last-child{border-bottom-color:rgba(139,168,148,.28)}
  .band.dark .infolist b{color:var(--sage)}
  .band.dark .infos .ph{border:1px solid rgba(139,168,148,.28)}
  .planfig{margin:34px 0 0}
  .planfig img{
    display:block;width:100%;height:auto;border:1px solid var(--stone-line);
  }
  .planfig figcaption{text-align:center;
    font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:.02em;
  }

  /* ============ formulaire devis ============ */
  .devis-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:52px;margin-top:8px;align-items:start}
  @media (max-width:860px){.devis-wrap{grid-template-columns:1fr;gap:34px}}
  .devis-side p{font-size:15px;color:var(--ink-soft);max-width:38ch}
  .devis-side .rule{margin-block:16px 20px}
  .devis-side ul{list-style:none;margin:22px 0 0;padding:0}
  .devis-side li{
    font-size:14px;color:var(--ink-soft);padding-left:20px;position:relative;margin-bottom:9px;
  }
  .devis-side li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:1px;background:var(--brass)}

  .form{background:var(--shell);border:1px solid var(--stone-line);padding:30px 28px}
  .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  @media (max-width:520px){.fgrid{grid-template-columns:1fr}}
  .field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
  .field.full{grid-column:1/-1}
  .field label{
    font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
  }
  .field label .opt{text-transform:none;letter-spacing:.02em;font-weight:400;color:var(--muted)}
  .field input,.field select,.field textarea{
    font-family:var(--body);font-size:15px;color:var(--ink);
    background:var(--ivory);border:1px solid var(--stone-line);
    padding:12px 13px;border-radius:2px;width:100%;
  }
  .field textarea{min-height:120px;resize:vertical}
  .field input:focus,.field select:focus,.field textarea:focus{
    outline:2px solid var(--green);outline-offset:-2px;border-color:var(--green);
  }
  .form .btn{border:0;cursor:pointer;font-family:var(--body);width:100%;margin-top:4px}
  .formnote{font-size:12px;color:var(--muted);margin:14px 0 0;text-align:center}

  /* ============ CTA final ============ */
  .final{background:var(--forest);color:var(--on-dark);text-align:center;padding-block:clamp(60px,9vw,104px)}
  .final h2{font-size:clamp(1.9rem,5vw,3rem);color:#fff;margin-bottom:16px}
  .final p{color:var(--on-dark-soft);max-width:48ch;margin-inline:auto;margin-bottom:32px}
  .final .hero-btns{justify-content:center}

  /* ============ footer ============ */
  footer.site{background:#0a1f13;color:var(--on-dark-soft);padding-block:48px 34px;font-size:14px}
  .fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
  @media (max-width:760px){.fcols{grid-template-columns:1fr;gap:28px}}
  footer.site h4{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--sage);font-family:var(--body);font-weight:600;margin-bottom:14px}
  footer.site ul{list-style:none;margin:0;padding:0}
  footer.site li{margin-bottom:8px}
  .fbottom{margin-top:36px;padding-top:20px;border-top:1px solid rgba(139,168,148,.2);font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 20px}

  /* ============ barre mobile ============ */
  .mobbar{
    display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;
    background:var(--green);
    padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
    gap:9px;border-top:1px solid rgba(255,255,255,.14);
  }
  .mobbar .btn{flex:1;padding:13px 10px;font-size:12px}
  @media (max-width:900px){.mobbar{display:flex}body{padding-bottom:76px}}

  /* ============ notes de conception ============ */
  .notes{background:var(--shell);padding-block:64px 80px;border-top:3px solid var(--green)}
  .notes h2{font-size:1.85rem;margin-bottom:8px}
  .notes h3{font-family:var(--body);font-weight:700;font-size:.95rem;letter-spacing:.02em;margin:32px 0 10px}
  .notes p,.notes li{font-size:14.5px;color:var(--ink-soft);max-width:66ch}
  .notes ul{padding-left:1.1em;margin:0 0 14px}
  .notes li{margin-bottom:7px}
  .swatches{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 8px}
  .sw{width:104px}
  .sw i{display:block;height:54px;border:1px solid var(--stone-line);border-radius:2px}
  .sw b{display:block;font-size:11.5px;margin-top:7px;font-weight:600;color:var(--ink)}
  .sw span{display:block;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
  .typespec{border-left:2px solid var(--brass);padding-left:18px;margin:16px 0 22px}
  .typespec p{margin-bottom:6px}
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ============ navigation cliquable ============ */
nav.main a{
  color:inherit;text-decoration:none;padding-block:4px;
  border-bottom:1px solid transparent;
}
nav.main a:hover,nav.main a:focus-visible{border-bottom-color:var(--brass);outline:none}
a.logo{text-decoration:none;display:block}

/* ============ retour accueil ============ */
.backbar{background:var(--stone);border-bottom:1px solid var(--stone-line)}
.backbar .container{padding-block:12px}
.backlink{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:var(--green);text-decoration:none;
  border:1px solid var(--stone-line);background:var(--shell);
  padding:11px 18px;border-radius:2px;
}
.backlink:hover,.backlink:focus-visible{border-color:var(--green);outline:none}
.backlink span{font-size:15px;line-height:1}
.backfoot{text-align:center;padding-block:40px;background:var(--ivory)}
  .pagehead{position:relative;display:grid;min-height:340px}
  .pagehead .ph{grid-area:1/1;min-height:340px}
  .pagehead .ph.photo::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(100deg,rgba(15,46,28,.9) 0%,rgba(15,46,28,.66) 60%,rgba(15,46,28,.45) 100%);
  }
  .pagehead-inner{
    grid-area:1/1;position:relative;z-index:2;
    display:flex;flex-direction:column;justify-content:center;
    padding-block:60px;color:var(--on-dark);
  }
  .pagehead .label{color:var(--sage)}
  .pagehead h1{
    font-family:var(--display);font-weight:400;
    font-size:clamp(2rem,5.2vw,3.2rem);line-height:1.1;color:#fff;
    margin:0 0 16px;max-width:17ch;
  }
  .pagehead p{color:var(--on-dark-soft);max-width:52ch;margin:0;font-size:1.05rem}
  .crumbs{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:0 0 16px}
  .crumbs a{color:var(--sage);text-decoration:none;border-bottom:1px solid rgba(139,168,148,.45)}
  .crumbs a:hover,.crumbs a:focus-visible{color:#fff;border-bottom-color:#fff;outline:none}

  /* deux lieux */
  .venues{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
  @media (max-width:800px){.venues{grid-template-columns:1fr}}
  .venue{background:var(--shell);border:1px solid var(--stone-line);display:flex;flex-direction:column}
  .venue .ph{aspect-ratio:16/10}
  .venue-body{padding:26px 24px 28px}
  .venue h3{font-size:1.45rem;margin-bottom:6px}
  .venue .kicker{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:10px}
  .venue p{font-size:14.5px;color:var(--ink-soft);margin-bottom:16px}
  .venue .cap{
    display:flex;gap:26px;border-top:1px solid var(--stone-line);padding-top:14px;
  }
  .venue .cap div{font-size:13px;color:var(--muted)}
  .venue .cap b{display:block;font-family:var(--display);font-size:1.5rem;color:var(--ink);line-height:1.1;font-weight:400}

  /* formules */
  .formules{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;align-items:start}
  @media (max-width:900px){.formules{grid-template-columns:1fr}}
  .formule{background:var(--shell);border:1px solid var(--stone-line);padding:28px 26px}
  .formule .num{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
  .formule h3{font-size:1.5rem;margin:10px 0 6px}
  .formule .tag{font-size:13px;color:var(--muted);margin-bottom:18px;display:block}
  .formule h4{
    font-family:var(--body);font-weight:700;font-size:11px;letter-spacing:.15em;
    text-transform:uppercase;color:var(--ink);margin:20px 0 9px;
  }
  .formule ul{list-style:none;margin:0;padding:0}
  .formule li{
    font-size:14px;color:var(--ink-soft);padding-left:16px;position:relative;
    margin-bottom:7px;line-height:1.5;
  }
  .formule li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1px;background:var(--brass)}
  .formule .ad{
    margin-top:18px;padding-top:14px;border-top:1px solid var(--stone-line);
    font-size:12.5px;color:var(--muted);
  }

  /* menus exemples */
  .menucols{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:40px}
  @media (max-width:860px){.menucols{grid-template-columns:1fr;gap:26px}}
  .menucol h3{
    font-family:var(--body);font-weight:700;font-size:11px;letter-spacing:.17em;
    text-transform:uppercase;color:var(--brass);margin-bottom:14px;
    padding-bottom:10px;border-bottom:1px solid var(--stone-line);
  }
  .menucol ul{list-style:none;margin:0;padding:0}
  .menucol li{font-size:14.5px;color:var(--ink-soft);margin-bottom:11px;line-height:1.5}

  .optbox{
    background:var(--shell);border:1px solid var(--stone-line);
    padding:30px 28px;margin-top:40px;
  }
  .optbox h3{font-size:1.3rem;margin-bottom:10px}
  .optbox p{font-size:14.5px;color:var(--ink-soft);max-width:62ch}
  .optbox p:last-child{margin-bottom:0}

  .tarifnote{
    background:var(--accent-soft,var(--stone));border:1px solid var(--stone-line);
    padding:20px 24px;margin-top:34px;font-size:14.5px;color:var(--ink-soft);
  }
  .tarifnote b{color:var(--ink)}

/* ============ capacites en ligne ============ */
.capline{
  display:flex;flex-wrap:wrap;gap:28px;margin-top:22px;
  border-top:1px solid var(--stone-line);padding-top:18px;
}
.capline div{font-size:13px;color:var(--muted);letter-spacing:.02em}
.capline b{
  display:block;font-family:var(--display);font-weight:400;
  font-size:1.9rem;color:var(--ink);line-height:1.1;margin-bottom:2px;
}
.band.dark .capline{border-top-color:rgba(139,168,148,.3)}
.band.dark .capline div{color:var(--sage)}
.band.dark .capline b{color:#fff}

/* liens boutons cliquables */
a.btn{cursor:pointer;text-decoration:none}
.infolist a,.fcols a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(139,168,148,.35)}
.infolist a:hover,.fcols a:hover{border-bottom-color:currentColor}

footer.site li a{color:inherit;text-decoration:none;border-bottom:0;transition:color .18s}
footer.site li a:hover,footer.site li a:focus-visible{color:var(--sage);outline:none}

/* ============ page galerie ============ */
.galnav{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.galgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.galgrid img{
  display:block;width:100%;aspect-ratio:1;object-fit:cover;
  background:var(--stone);border:1px solid var(--stone-line);
}
.band.alt .galgrid img{border-color:rgba(0,0,0,.06)}
@media (max-width:900px){.galgrid{grid-template-columns:repeat(3,1fr);gap:10px}}
@media (max-width:560px){.galgrid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:28px}}

/* ============ lien d'evitement (accessibilite) ============ */
.skiplink{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--brass);color:#fff;padding:12px 18px;
  font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;
}
.skiplink:focus{left:8px;top:8px}

/* ============ liens : couleur heritee ============ */
/* Le thème parent colore les liens en bleu. On la neutralise, mais
   uniquement dans nos propres blocs, pour ne pas toucher l'admin
   ni le formulaire Contact Form 7. */
.siteheader a,.hero a,.quick a,.band a,.final a,.pagehead a,
.backbar a,.backfoot a,footer.site a,.mobbar a,.captable a{
  color:inherit;
}

/* Numero de telephone cliquable : meme rendu qu'avant, en cliquable */
.ib a,footer.site p a{
  text-decoration:none;
  border-bottom:1px solid rgba(139,168,148,.4);
}
.ib a:hover,.ib a:focus-visible,
footer.site p a:hover,footer.site p a:focus-visible{
  border-bottom-color:currentColor;
  outline:none;
}
