:root{--ink:#4a3421;--soft:#71583b;--paper:#ead7b1;--paper2:#f4e8cc;--gold:#8e6a3f}
*{box-sizing:border-box}html{background:#cbb58d}body{margin:0;color:var(--ink);font-family:Georgia,"Times New Roman",serif;background:radial-gradient(circle at 50% 0,#f4e8cc 0,#dfc79e 52%,#c8aa7e 100%);min-height:100vh}.wrap{width:min(960px,calc(100% - 28px));margin:auto}.top{padding:22px 0 12px;display:flex;justify-content:space-between;gap:18px;align-items:center}.brand{font-weight:800;font-size:25px;color:var(--ink);text-decoration:none}.back{color:var(--ink);font-weight:700}.hero,.card{background:rgba(246,232,201,.9);border:1px solid rgba(82,56,32,.45);box-shadow:0 12px 36px rgba(65,42,22,.12),inset 0 0 0 1px rgba(255,250,235,.45)}.hero{padding:clamp(22px,4vw,46px);margin:10px 0 22px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font:700 11px/1.2 system-ui;color:var(--soft)}h1{font-size:clamp(38px,7vw,68px);line-height:.98;margin:10px 0 14px}h2{font-size:26px;margin:0 0 12px}.lede{font-size:20px;line-height:1.55;max-width:760px}.photo{width:100%;max-height:480px;object-fit:cover;border:1px solid rgba(82,56,32,.4);margin-top:18px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}.card{padding:24px}.card li{margin:8px 0;line-height:1.45}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid rgba(82,56,32,.28);border-radius:999px;padding:7px 11px;background:#f7ebd0;font:700 13px system-ui}.related a,.district-grid a{color:var(--ink);font-weight:700}.district-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.district-grid a{padding:13px;background:rgba(246,232,201,.78);border:1px solid rgba(82,56,32,.25);text-decoration:none}.footer{padding:28px 0 42px;color:var(--soft);font-size:14px}.answer{font-size:18px;line-height:1.55}.breadcrumb{font:600 13px system-ui;color:var(--soft);margin:8px 0 0}.breadcrumb a{color:inherit}@media(max-width:720px){.grid,.district-grid{grid-template-columns:1fr}.top{align-items:flex-start}.hero{padding:22px}.lede{font-size:18px}}
/* BETA v1.6 — vrai guide éditorial accessible depuis le logo */
.guide-brand{display:inline-flex;align-items:center;text-decoration:none}.guide-brand img{display:block;width:min(235px,48vw);height:auto;filter:sepia(.12) saturate(.82)}
.hero.guide-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,rgba(250,239,211,.96),rgba(226,202,160,.94));padding:clamp(26px,5vw,54px)}
.guide-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border:1px solid rgba(82,56,32,.12);border-radius:50%;box-shadow:0 0 0 28px rgba(82,56,32,.035),0 0 0 58px rgba(82,56,32,.025);pointer-events:none}
.guide-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.guide-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid rgba(82,56,32,.35);color:var(--ink);background:rgba(247,235,208,.72);font:700 14px system-ui;text-decoration:none;border-radius:999px}.guide-cta.primary{background:#5e452d;color:#f7ead0;border-color:#4d3522}.guide-cta:hover{text-decoration:underline}
.guide-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.guide-shortcuts a{padding:8px 11px;border:1px solid rgba(82,56,32,.25);border-radius:999px;color:var(--ink);background:rgba(246,232,201,.62);font:700 13px system-ui;text-decoration:none}.guide-shortcuts a:hover{text-decoration:underline}
.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.featured-card{display:block;overflow:hidden;border:1px solid rgba(82,56,32,.28);background:rgba(246,232,201,.80);color:var(--ink);text-decoration:none}.featured-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;filter:sepia(.20) saturate(.78) contrast(.98)}.featured-copy{padding:13px}.featured-copy strong{display:block;font-size:18px;margin-bottom:4px}.featured-copy small{display:block;font:500 13px/1.45 system-ui;color:var(--soft)}.featured-card:hover{box-shadow:0 8px 24px rgba(65,42,22,.12);transform:translateY(-1px)}
.guide-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px}.guide-theme{padding:20px;background:rgba(246,232,201,.78);border:1px solid rgba(82,56,32,.25)}.guide-theme h2{font-size:21px;margin-bottom:8px}.guide-theme p{margin:0 0 10px;line-height:1.5}.guide-theme a{color:var(--ink);font-weight:700}
.section-kicker{font:700 11px/1.2 system-ui;text-transform:uppercase;letter-spacing:.16em;color:var(--soft);margin-bottom:8px}
@media(max-width:720px){.featured-grid,.guide-themes{grid-template-columns:1fr}.guide-brand img{width:min(200px,62vw)}.guide-actions{gap:8px}.guide-cta{width:100%}}

/* BETA v1.7 — intégration éditoriale plus cohérente du bloc d'exploration */
.guide-explore{margin:0 0 24px;padding:24px;background:linear-gradient(135deg,rgba(247,235,208,.90),rgba(233,213,174,.86));border:1px solid rgba(82,56,32,.30);box-shadow:0 10px 28px rgba(65,42,22,.08),inset 0 0 0 1px rgba(255,250,235,.42)}
.guide-explore-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid rgba(82,56,32,.18)}
.guide-explore-head h2{margin:0 0 6px;font-size:clamp(24px,3vw,31px)}
.guide-explore-head p{margin:0;color:var(--soft);font:500 14px/1.55 system-ui;max-width:620px}
.guide-all-link{flex:none;color:var(--ink);font:800 13px system-ui;text-decoration:none;border-bottom:1px solid rgba(82,56,32,.35);padding-bottom:3px}
.guide-all-link:hover{border-bottom-color:var(--ink)}
.guide-explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.guide-explore-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;min-height:172px;padding:17px 16px;background:rgba(250,240,218,.68);border:1px solid rgba(82,56,32,.22);color:var(--ink);text-decoration:none;transition:transform .16s ease,background .16s ease,border-color .16s ease}
.guide-explore-card:hover{transform:translateY(-2px);background:rgba(252,244,225,.95);border-color:rgba(82,56,32,.38)}
.guide-explore-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(82,56,32,.28);border-radius:50%;background:rgba(236,216,177,.72);font:700 20px/1 Georgia,serif}
.guide-explore-card strong{display:block;font-size:20px;line-height:1.15;margin:2px 0 7px}
.guide-explore-card small{display:block;min-height:62px;color:var(--soft);font:500 13px/1.5 system-ui}
.guide-explore-card em{display:block;margin-top:11px;font:800 12px/1.3 system-ui;font-style:normal}
.guide-plans{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-top:17px;padding-top:15px;border-top:1px solid rgba(82,56,32,.18)}
.guide-plans-label{margin-right:2px;color:var(--soft);font:800 12px system-ui;text-transform:uppercase;letter-spacing:.06em}
.guide-plans a{color:var(--ink);font:750 13px system-ui;text-decoration:none;padding:4px 0;border-bottom:1px dotted rgba(82,56,32,.42)}
.guide-plans a:hover{border-bottom-style:solid}
@media(max-width:780px){.guide-explore{padding:18px}.guide-explore-head{align-items:flex-start;flex-direction:column;gap:10px}.guide-explore-grid{grid-template-columns:1fr}.guide-explore-card{min-height:auto}.guide-explore-card small{min-height:0}.guide-plans{display:grid;grid-template-columns:1fr 1fr}.guide-plans-label{grid-column:1/-1}}
@media(max-width:430px){.guide-plans{grid-template-columns:1fr}}

/* BETA v1.9 — footer éditorial propre + correction liens/CSS */
a{color:var(--ink);text-decoration-color:rgba(74,52,33,.45);text-underline-offset:3px}
a:visited{color:var(--ink)}
a:hover{color:#2f2015;text-decoration-color:currentColor}
.footer{
  margin-top:28px;
  padding:20px 0 30px;
  border-top:1px solid rgba(82,56,32,.22);
  color:var(--soft);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px 22px;
  flex-wrap:wrap;
  font:600 13px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.footer-copy{white-space:nowrap;color:var(--soft)}
.footer-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px 16px;flex-wrap:wrap}
.footer-nav a{
  color:var(--ink);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(82,56,32,.28);
  padding:3px 0;
}
.footer-nav a:hover{border-bottom-color:var(--ink)}
.top nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.top nav a{color:var(--ink);text-decoration:none;font-weight:700}
.top nav a:hover{text-decoration:underline}
.card a,.hero a,.breadcrumb a{color:var(--ink)}
@media(max-width:720px){
  .footer{align-items:flex-start;flex-direction:column;padding-bottom:24px}
  .footer-nav{justify-content:flex-start;gap:8px 14px}
  .top{flex-wrap:wrap}
  .top nav{width:100%}
}

/* Carte ancienne de Nantes en fond de la page principale des quartiers. */
body.quartiers-index{
  background-color:#d7c39c;
  background-image:
    linear-gradient(180deg,rgba(238,223,190,.40),rgba(210,184,139,.28)),
    url('/assets/seo/nantes-antique-map-bg.jpg');
  background-position:center top,center top;
  background-size:cover,cover;
  background-repeat:no-repeat,no-repeat;
  background-attachment:fixed,fixed;
}
body.quartiers-index .top{
  margin-top:12px;
  padding-left:18px;
  padding-right:18px;
  border:1px solid rgba(82,56,32,.24);
  background:rgba(244,229,196,.82);
  box-shadow:0 10px 30px rgba(57,38,20,.14),inset 0 0 0 1px rgba(255,249,232,.32);
  backdrop-filter:blur(3px);
}
body.quartiers-index .hero,
body.quartiers-index .card,
body.quartiers-index .guide-explore{
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
body.quartiers-index .hero,
body.quartiers-index .card{background:rgba(246,232,201,.88)}
body.quartiers-index .guide-explore{background:linear-gradient(135deg,rgba(247,235,208,.90),rgba(233,213,174,.87))}
@media(max-width:720px){
  body.quartiers-index{background-attachment:scroll,scroll;background-position:center top,42% top}
  body.quartiers-index .top{margin-top:8px;padding:14px}
}

/* Footer V2 : hiérarchie claire, zone de clic confortable et accès légal visible. */
.footer{
  position:relative;
  margin:30px 0 24px;
  padding:22px 24px;
  display:grid;
  grid-template-columns:minmax(210px,.75fr) minmax(0,1.8fr);
  align-items:center;
  gap:18px 28px;
  overflow:hidden;
  border:1px solid rgba(82,56,32,.32);
  background:linear-gradient(135deg,rgba(247,235,208,.93),rgba(224,200,160,.90));
  box-shadow:0 12px 32px rgba(55,36,19,.13),inset 0 0 0 1px rgba(255,250,235,.42);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.footer:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(#8e6a3f,#5e452d);
}
.footer-copy{display:flex;flex-direction:column;gap:5px;white-space:normal;color:var(--ink)}
.footer-copy strong{font:800 19px/1.1 Georgia,"Times New Roman",serif;letter-spacing:.01em}
.footer-copy small{max-width:230px;color:var(--soft);font:650 11px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.footer-nav{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}
.footer-nav a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 11px;
  border:1px solid rgba(82,56,32,.22);
  border-radius:999px;
  background:rgba(255,247,228,.48);
  color:var(--ink);
  font:750 11px/1.15 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-decoration:none;
  transition:transform .15s ease,background .15s ease,border-color .15s ease;
}
.footer-nav a:hover,.footer-nav a:focus-visible{
  transform:translateY(-1px);
  background:rgba(255,249,235,.88);
  border-color:rgba(82,56,32,.42);
  outline:none;
}
.footer-nav a[aria-current="page"]{background:#5e452d;color:#f7ead0;border-color:#4d3522}

/* Page Mentions légales. */
body.legal-page{
  background:
    linear-gradient(180deg,rgba(238,223,190,.52),rgba(210,184,139,.34)),
    url('/assets/seo/nantes-antique-map-bg.jpg') center top/cover fixed no-repeat;
}
.legal-page .top{margin-top:12px;padding:14px 18px;border:1px solid rgba(82,56,32,.24);background:rgba(244,229,196,.88);box-shadow:0 10px 30px rgba(57,38,20,.13);backdrop-filter:blur(4px)}
.legal-page .top nav{display:flex;justify-content:flex-end;gap:8px 15px}
.legal-hero{background:rgba(246,232,201,.92)!important;backdrop-filter:blur(4px)}
.legal-hero h1{font-size:clamp(42px,7vw,68px)}
.legal-updated{margin:18px 0 0;color:var(--soft);font:700 12px/1.4 system-ui}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.legal-card{margin:0;line-height:1.58;backdrop-filter:blur(4px)}
.legal-card h2{font-size:25px}
.legal-card p{margin:12px 0}
.legal-card address{font-style:normal;line-height:1.6}
.legal-wide{grid-column:1/-1}
.legal-facts{margin:18px 0;display:grid;gap:0;border-top:1px solid rgba(82,56,32,.16)}
.legal-facts div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid rgba(82,56,32,.16)}
.legal-facts dt{color:var(--soft);font:800 11px/1.4 system-ui;text-transform:uppercase;letter-spacing:.06em}
.legal-facts dd{margin:0;font-weight:700}
@media(max-width:780px){
  .footer{grid-template-columns:1fr;padding:20px}
  .footer-nav{justify-content:flex-start}
  .footer-nav a{flex:1 1 145px}
  .legal-grid{grid-template-columns:1fr}
  .legal-wide{grid-column:auto}
  .legal-page .top nav{justify-content:flex-start}
}
@media(max-width:430px){
  .footer{padding:18px 16px}
  .footer-nav{display:grid;grid-template-columns:1fr}
  .footer-nav a{width:100%}
}

/* Fond commun à toutes les pages éditoriales (la carte interactive reste inchangée). */
body{
  background-color:#d7c39c;
  background-image:
    linear-gradient(180deg,rgba(238,223,190,.43),rgba(210,184,139,.30)),
    url('/assets/seo/nantes-antique-map-bg.jpg');
  background-position:center top,center top;
  background-size:cover,cover;
  background-repeat:no-repeat,no-repeat;
  background-attachment:fixed,fixed;
}
body .top{
  margin-top:12px;
  padding-left:18px;
  padding-right:18px;
  border:1px solid rgba(82,56,32,.24);
  background:rgba(244,229,196,.84);
  box-shadow:0 10px 30px rgba(57,38,20,.14),inset 0 0 0 1px rgba(255,249,232,.32);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
body .hero,
body .card,
body .guide-explore{
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
body .hero,
body .card{background-color:rgba(246,232,201,.89)}
@media(max-width:720px){
  body{background-attachment:scroll,scroll;background-position:center top,42% top}
  body .top{margin-top:8px;padding:14px}
}
