.photo{margin:20px 0 30px}.photo img{display:block;width:100%;height:auto;border-radius:8px;background:#e4e9db}.photo figcaption{font-size:11px;color:var(--muted);line-height:1.5;margin-top:8px}.hero h1{font-size:48px}.hero .photo img{height:240px;object-fit:cover}.hero .photo{margin:20px 0 14px}.price-visual .photo img{max-height:370px;object-fit:cover;object-position:center 45%}.guide-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start;margin-bottom:40px}.guide-layout>*{min-width:0}.guide-layout .photo{margin-top:0}.guide-layout .editorial:first-child{padding-top:0;border-top:0}.guide-layout h2{font-size:32px}.guide-layout .aside{margin-top:25px}.related{display:flex;gap:30px;flex-wrap:wrap;font-size:14px;margin:30px 0}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;align-content:start}.local-network{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:28px;background:#e7eddc;border-radius:8px;text-align:center;margin:25px 0 12px}.local-network span{border:1px solid #b4c3ab;padding:14px 10px;border-radius:30px;background:var(--white);font-size:14px}.local-network strong{grid-column:1/-1;justify-self:center;background:var(--ink);color:var(--white);padding:18px 40px;border-radius:10px;font:28px Georgia,serif}.local-network small{font:12px 'Segoe UI',sans-serif}.town-links{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.town-links a{padding:12px 18px;border:1px solid var(--line);background:var(--white);border-radius:30px}.town-list{columns:3;padding-left:22px}.town-list li{padding:6px 0;break-inside:avoid}.trust-copy{max-width:850px}.trust-copy h2{margin-top:35px}.trust-copy h2:first-child{margin-top:0}#commune-select{max-width:540px;margin-bottom:20px}#helper-result{background:#edf0e2;padding:32px;border-radius:8px;margin:20px 0 40px}#helper-result li{margin:12px 0}#helper-result:focus{outline:3px solid #76934f;outline-offset:4px}header nav{gap:20px}header nav a{font-size:13px}.card[id]{scroll-margin-top:20px}
@media(max-width:1050px){header{flex-wrap:wrap}header nav{width:100%;justify-content:space-between}.guide-layout{gap:28px}.local-network{padding:18px}.local-network span{font-size:12px}}
@media(max-width:620px){header nav{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 8px;align-items:center}header nav a{font-size:12px}.hero h1{font-size:37px}.hero .photo img{height:175px}.hero .photo{margin:14px 0}.guide-layout{grid-template-columns:1fr;gap:24px}.guide-layout h2{font-size:29px}.guide-layout aside .photo img{max-height:250px;object-fit:cover}.local-network{grid-template-columns:1fr 1fr;padding:14px}.local-network span{padding:12px 8px}.town-list{columns:2;font-size:14px}.footer-links{padding:15px 0}.price-visual .photo img{height:220px;object-fit:cover}#helper-result{padding:22px}#helper-result .actions{align-items:stretch;flex-direction:column}.price-visual{margin-top:0}}

.local-gallery{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;margin:30px 0 40px}.local-gallery figure{margin:0;min-width:0}.local-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:8px}.local-gallery figcaption{padding:12px 0}.local-gallery strong{display:block;font:22px Georgia,serif;margin-bottom:7px}.local-gallery span{display:block;font-size:12px;line-height:1.5;color:var(--muted)}@media(max-width:620px){.local-gallery{grid-template-columns:1fr;gap:20px}.local-gallery img{aspect-ratio:16/9}}

.town-actions{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0}.town-actions li{padding:0}.town-actions a{display:flex;flex-direction:column;gap:6px;height:100%;padding:15px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:var(--white)}.town-actions a:hover{background:#e7eddc;border-color:#52744b}.town-actions a:focus-visible{outline:3px solid #52744b;outline-offset:3px}.town-actions span{font-size:12px;text-decoration:underline}.town-actions strong{font-size:14px}@media(max-width:760px){.town-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.town-actions{grid-template-columns:1fr}}

.source-details{scroll-margin-top:24px}.source-details:target{outline:2px solid var(--line);outline-offset:8px}.source-details p{font-size:14px;max-width:850px}

/* Alignement commun du footer sur le contenu principal. */
body>footer{max-width:1240px;margin:0 auto;padding:28px 40px}body>footer>div{min-width:0}@media(max-width:850px){body>footer{padding-right:24px;padding-left:24px}}@media(max-width:620px){body>footer{padding-right:20px;padding-left:20px}}
