/* ============================================================
   Mélianor — styles des pages "Lieu" (CPT lieux)
   Gabarit v1 (stacké) + gabarit v2 (magazine, grille I–IV)
   ------------------------------------------------------------
   Suppose déjà définis globalement par le thème (header.php /
   style.css du thème) : les variables --paper --ink --ink-soft
   --gold --gold-deep --rule, les polices Cinzel / EB Garamond,
   et les classes header.site / .nav / .brand / .breadcrumb /
   footer.site déjà utilisées sur Accueil, L'Univers, etc.
   Si l'une de ces variables n'existe pas encore globalement,
   décommente le bloc :root ci-dessous.
   ============================================================ */

/*
:root{
  --paper:#f0e5d3; --ink:#2b2115; --ink-soft:#5a4a35;
  --gold:#a9843c; --gold-deep:#7c5f2a; --rule:#c9b998; --radius:2px;
}
*/

a{color:inherit; text-decoration:none;}

/* ============================================================
   GABARIT v1 — stacké (Généralités / Histoire / clôture)
   ============================================================ */
.lieu-v1 .hero{
  position:relative; margin:0; min-height:340px;
  background-size:cover; background-position:center 30%;
  display:flex; align-items:flex-end;
}
.lieu-v1 .hero-quote{
  color:#f6ecd6; font-style:italic; font-size:15px; max-width:230px;
  line-height:1.5; padding:22px 4vw; margin-left:auto;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}

.lieu-v1 .title-block{
  padding:34px 4vw 8px; display:flex; justify-content:space-between; align-items:flex-end;
  flex-wrap:wrap; gap:16px; border-bottom:1px solid var(--rule);
}
.lieu-v1 .title-block h1{font-family:'Cinzel',Georgia,serif; font-size:46px; letter-spacing:.02em; margin:0 0 6px;}
.lieu-v1 .title-block .tagline{font-size:12.5px; letter-spacing:.32em; color:var(--gold-deep); text-transform:uppercase;}
.lieu-v1 .title-block .lede{max-width:340px; font-style:italic; color:var(--ink-soft); font-size:15px; text-align:right;}

.lieu-v1 section.lieu-section{
  padding:34px 4vw; border-bottom:1px solid var(--rule);
  display:grid; grid-template-columns:1fr; gap:22px;
}
.lieu-v1 .section-head{display:flex; align-items:baseline; gap:14px; margin-bottom:6px;}
.lieu-v1 .section-num{font-family:'Cinzel',Georgia,serif; font-size:22px; color:var(--gold-deep); white-space:nowrap;}
.lieu-v1 .section-head h2{font-family:'Cinzel',Georgia,serif; font-size:22px; margin:0; letter-spacing:.02em;}
.lieu-v1 .section-kicker{font-size:11px; letter-spacing:.24em; color:var(--ink-soft); text-transform:uppercase; margin:2px 0 0 36px; grid-column:1/-1;}

.lieu-v1 .section-body{display:grid; grid-template-columns:1fr; gap:20px;}
@media(min-width:860px){
  .lieu-v1 .section-body{grid-template-columns:1.1fr 1fr;}
}
.lieu-v1 .lede-text p{margin:0 0 12px;}

.lieu-v1 .img-block{
  border:1px solid var(--rule); border-radius:var(--radius); overflow:hidden;
  min-height:200px; position:relative;
}
.lieu-v1 .img-block img{width:100%; height:auto; display:block;}
.lieu-v1 .aside-quote{
  font-style:italic; font-size:13.5px; color:var(--ink-soft); text-align:right;
  padding:0 4px; border-top:1px solid var(--rule); padding-top:8px; margin-top:8px;
}

.lieu-v1 .emblem-row{display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap;}
.lieu-v1 .emblem{width:110px; height:auto; flex:0 0 auto; display:flex; align-items:center; justify-content:center;}
.lieu-v1 .emblem img{width:100%; height:auto; display:block; filter:drop-shadow(0 2px 4px rgba(43,33,21,.35));}
.lieu-v1 table.info{border-collapse:collapse; font-size:14.5px; flex:1; min-width:220px;}
.lieu-v1 table.info td{padding:4px 10px 4px 0; vertical-align:top;}
.lieu-v1 table.info td:first-child{color:var(--ink-soft); letter-spacing:.03em; white-space:nowrap;}

/* ============================================================
   GABARIT v2 — magazine (hero plein écran + grille I–IV)
   ============================================================ */
.lieu-v2 .hero-zone{ display:block; padding:18px 0 0; position:relative; }

.lieu-v2 .hero-banner{
  display:none; flex-direction:column; align-items:center; gap:10px;
  position:absolute; top:16px; left:16px; z-index:2;
}
@media(min-width:640px){ .lieu-v2 .hero-banner{display:flex;} }
.lieu-v2 .hero-banner .flag{
  width:64px; height:96px; background:linear-gradient(180deg,#1e1a14,#2b2419);
  clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%);
  display:flex; align-items:center; justify-content:center; padding:10px;
  border:1px solid var(--gold-deep);
}
.lieu-v2 .hero-banner .flag img{width:60%; filter:drop-shadow(0 0 3px rgba(0,0,0,.5));}
.lieu-v2 .hero-banner .figure{
  width:30px; height:60px; background:linear-gradient(180deg,#1a160f,#000);
  clip-path:polygon(50% 0,65% 20%,58% 100%,42% 100%,35% 20%);
  opacity:.75;
}

/* Image titre pleine largeur, ratio fixe -> même cadrage sur tout écran */
.lieu-v2 .hero-main{ position:relative; }
.lieu-v2 .hero-img-box{
  position:relative; overflow:hidden;
  width:100vw; margin-left:calc(50% - 50vw);
  aspect-ratio:4/5;
}
@media(min-width:640px){ .lieu-v2 .hero-img-box{aspect-ratio:16/9;} }
@media(min-width:1100px){ .lieu-v2 .hero-img-box{aspect-ratio:21/9;} }
.lieu-v2 .hero-img-box img{width:100%; height:100%; object-fit:cover; object-position:center 38%; display:block;}

.lieu-v2 .hero-quote{
  position:absolute; font-style:italic; font-size:12.5px; line-height:1.5;
  color:#f6ecd6; background:rgba(30,22,10,.42); padding:10px 12px; max-width:210px;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.lieu-v2 .hero-quote.tl{top:10px; left:10px;}
.lieu-v2 .hero-quote.tr{top:10px; right:10px; text-align:right;}

/* Incrustation carte + citation, flottant DANS l'image hero (coin bas-droit) */
.lieu-v2 .hero-inset-col{
  position:absolute; right:12px; bottom:12px; top:12px;
  width:190px; max-width:44%;
  display:flex; flex-direction:column; justify-content:flex-end; gap:10px;
  pointer-events:none;
}
@media(max-width:640px){
  .lieu-v2 .hero-inset-col{
    right:12px; bottom:12px; top:auto;
    width:210px; max-width:62%;
    align-items:flex-end;
  }
}
.lieu-v2 .side-quote{
  font-style:italic; font-size:12.5px; color:#f6ecd6; text-align:right;
  background:rgba(30,22,10,.42); padding:8px 10px;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.lieu-v2 .mini-map{
  border:1px solid var(--gold-deep); background:rgba(240,229,211,.88);
  background-image:repeating-linear-gradient(115deg, #e2d3ae 0 3px, #d8c79c 3px 6px);
  padding:8px; text-align:center; position:relative;
  box-shadow:0 3px 10px rgba(0,0,0,.35);
}
.lieu-v2 .mini-map .label-top{font-size:9px; letter-spacing:.16em; color:var(--ink-soft);}
.lieu-v2 .mini-map .place{font-family:'Cinzel',serif; font-size:12px; margin:22px 0 22px;}
.lieu-v2 .mini-map .place::before{content:"◎"; display:block; font-size:14px; color:var(--gold-deep);}
.lieu-v2 .mini-map .label-bottom{font-size:8.5px; letter-spacing:.12em; color:var(--ink-soft); border-top:1px solid var(--rule); padding-top:5px;}
.lieu-v2 .compass{position:absolute; top:6px; right:8px; font-size:11px; color:var(--gold-deep);}
@media(max-width:640px){
  .lieu-v2 .side-quote{font-size:12px;}
  .lieu-v2 .mini-map{max-width:100%;}
}

.lieu-v2 .title-block{padding:26px 4vw 6px;}
.lieu-v2 .title-block h1{font-family:'Cinzel',Georgia,serif; font-size:44px; letter-spacing:.02em; margin:0 0 2px;}
.lieu-v2 .title-block .tagline{font-size:12px; letter-spacing:.32em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:14px;}
.lieu-v2 .title-block .desc{max-width:640px; font-size:15px; color:var(--ink-soft);}
.lieu-v2 .title-block .desc p{margin:0 0 4px;}

.lieu-v2 .section-grid{
  display:grid; grid-template-columns:1fr; gap:0;
  margin-top:22px; border-top:1px solid var(--rule);
}
@media(min-width:920px){ .lieu-v2 .section-grid{grid-template-columns:1fr 1fr;} }
.lieu-v2 .cell{padding:26px 4vw; border-bottom:1px solid var(--rule);}
@media(min-width:920px){ .lieu-v2 .cell:nth-child(odd){border-right:1px solid var(--rule);} }
.lieu-v2 .cell-head{margin-bottom:4px;}
.lieu-v2 .cell-head .roman{font-family:'Cinzel',Georgia,serif; font-size:20px; margin-right:10px;}
.lieu-v2 .cell-head h2{font-family:'Cinzel',Georgia,serif; display:inline; font-size:20px; letter-spacing:.03em;}
.lieu-v2 .cell-kicker{font-size:10.5px; letter-spacing:.2em; color:var(--ink-soft); text-transform:uppercase; margin:2px 0 14px;}

.lieu-v2 .cell-body{display:grid; grid-template-columns:1fr; gap:16px;}
@media(min-width:560px){ .lieu-v2 .cell-body.with-image{grid-template-columns:1fr 130px;} }

.lieu-v2 table.info{border-collapse:collapse; font-size:14px;}
.lieu-v2 table.info tr{position:relative;}
.lieu-v2 table.info td{padding:6px 10px 6px 16px; vertical-align:top; position:relative;}
.lieu-v2 table.info td:first-child{color:var(--ink-soft); white-space:nowrap;}
.lieu-v2 table.info td:first-child::before{content:"◆"; position:absolute; left:0; top:8px; font-size:7px; color:var(--gold-deep);}
.lieu-v2 table.info tr:nth-child(3n+2) td:first-child::before{content:"●";}

.lieu-v2 .mini-img{overflow:visible; align-self:start;}
.lieu-v2 .mini-img img{
  width:100%; height:auto; display:block;
  -webkit-mask-image:radial-gradient(ellipse 78% 78% at center, black 55%, transparent 92%);
  mask-image:radial-gradient(ellipse 78% 78% at center, black 55%, transparent 92%);
  filter:drop-shadow(0 2px 6px rgba(43,33,21,.25));
}

.lieu-v2 .cell p{margin:0 0 10px; font-size:14.5px;}
.lieu-v2 .bulleted p{position:relative; padding-left:16px;}
.lieu-v2 .bulleted p::before{content:"◆"; position:absolute; left:0; top:6px; font-size:7px; color:var(--gold-deep);}
.lieu-v2 .bulleted p:nth-child(2)::before{content:"●";}

.lieu-v2 .closing-quote{
  font-style:italic; font-size:13.5px; color:var(--ink-soft); text-align:right; margin-top:12px;
  border-top:1px solid var(--rule); padding-top:8px;
}

.lieu-v2 .discover-list{display:flex; flex-direction:column; gap:14px;}
.lieu-v2 .discover-item{display:flex; gap:12px; align-items:flex-start;}
.lieu-v2 .discover-thumb{
  width:56px; height:56px; flex:0 0 auto; border:1px solid var(--rule); overflow:hidden;
}
.lieu-v2 .discover-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.lieu-v2 .discover-item h3{margin:0 0 2px; font-size:14.5px; font-weight:600; font-style:italic;}
.lieu-v2 .discover-item p{margin:0; font-size:13px; color:var(--ink-soft);}
