
/* Navigation visible : quatre pages, deux colonnes sur téléphone. */
.site-header { position:relative; background:#0d211f; border-bottom:1px solid #234540; }
.header-inner { max-width:1280px; margin:auto; padding:12px 24px; display:flex; align-items:center; gap:28px; }
.site-identity { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.site-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; flex:1; }
.site-tabs a { min-height:50px; display:flex; align-items:center; justify-content:center; padding:8px 10px; border:1px solid #27564e; border-radius:12px; text-align:center; font-size:15px; line-height:1.3; color:#f2ede4; }
.site-tabs a:hover { background:#234540; }
.site-tabs a[aria-current="page"] { background:#85c0b0; color:#0d211f; border-color:#85c0b0; font-weight:500; }
.site-tabs a:focus-visible, a:focus-visible { outline:3px solid #85c0b0; outline-offset:3px; }
section { scroll-margin-top:20px; }
.reveal { opacity:1; transform:none; }
@media(max-width:1000px) { .header-inner { flex-direction:column; align-items:stretch; gap:12px; } .site-identity { justify-content:center; } }
@media(max-width:600px) { .header-inner { padding:10px 16px 14px; } .site-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; } .site-tabs a { min-height:48px; font-size:14px; padding:6px 8px; } #accueil > div { padding-top:40px; } }

/* Respect des préférences de mouvement et des petits écrans. */
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation:none !important; transition:none !important; } }
@media(max-width:400px) { #contact .bg-white { padding:16px; gap:10px; } #contact .bg-white .flex-1 { min-width:0; } #contact .bg-white svg { flex-shrink:0; } }

/* Informations locales : même identité et mêmes quatre onglets que le site. */
.local-page { max-width:1152px; margin:auto; padding:48px 24px 64px; }
.local-page section { padding:24px 0; }
.local-page h1 { font-size:clamp(2rem,5vw,3.5rem); line-height:1.12; }
.local-page h1 em, .local-label { color:#85c0b0; }
.local-label { display:block; font-size:12px; letter-spacing:.2em; text-transform:uppercase; margin-bottom:20px; }
.local-page h2 { font-size:clamp(1.5rem,3vw,2rem); line-height:1.25; margin-bottom:16px; }
.local-page h3 { font-size:1.25rem; margin-bottom:12px; }
.local-page p { color:#e6dac9; line-height:1.75; margin:16px 0; }
.local-page .local-lead { font-size:1.125rem; max-width:850px; }
.local-grid, .route-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:28px; align-items:start; }
.local-card, .route-card { border:1px solid #42665e; background:rgba(255,255,255,.04); border-radius:20px; padding:24px; min-width:0; }
.local-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.local-button { display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; min-height:44px; border:1px solid #85c0b0; border-radius:28px; line-height:1.4; text-align:center; color:#faf8f5; }
.local-button:hover { background:#27564e; }
.local-button-primary { background:#fff; border-color:#fff; color:#16302b; font-weight:500; }
.local-button-primary:hover { background:#e8f3ef; }
.local-photo { width:100%; max-width:512px; height:auto; border-radius:24px; border:1px solid #42665e; }
.local-facts dt { color:#85c0b0; margin-top:16px; font-size:.875rem; }
.local-facts dd { margin:4px 0 0; color:#faf8f5; }
.local-steps { list-style:decimal; padding-left:24px; color:#e6dac9; line-height:1.75; }
.local-steps li { padding:6px 0; }
@media(max-width:700px) { .local-grid, .route-grid { grid-template-columns:1fr; } .local-page { padding-top:24px; } .local-card, .route-card { padding:20px; } }
