/* Styles communs à tous les thèmes */
.skip-link{position:absolute;left:12px;top:-60px;z-index:2000;padding:10px 18px;background:#fff;color:#111;border-radius:6px;font:600 16px/1.2 system-ui,sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.25);transition:top .2s}
.skip-link:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html.lb-open{overflow:hidden}

/* ── Visionneuse d'images ── */
.lb{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;background:var(--lb-bg,rgba(18,12,6,.95));color:var(--lb-text,#fff);font-family:var(--lb-font,inherit)}
.lb[hidden]{display:none}
.lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:56px 88px 24px}
.lb-img{max-width:100%;max-height:calc(100% - 90px);object-fit:contain;box-shadow:0 10px 60px rgba(0,0,0,.55);background:#222}
.lb figcaption{margin-top:16px;text-align:center;display:flex;flex-direction:column;gap:2px;max-width:900px}
.lb-cap{font-size:22px;font-style:italic;line-height:1.3}
.lb-meta{font-size:16px;opacity:.75}
.lb-count{font-size:14px;opacity:.55;letter-spacing:1px;margin-top:4px}
.lb button{position:absolute;background:rgba(255,255,255,.1);color:inherit;border:0;cursor:pointer;border-radius:50%;width:60px;height:60px;font-size:40px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lb button:hover,.lb button:focus-visible{background:rgba(255,255,255,.25);outline:2px solid rgba(255,255,255,.6)}
.lb-close{top:14px;right:16px}
.lb-prev{left:16px;top:50%;transform:translateY(-50%)}
.lb-next{right:16px;top:50%;transform:translateY(-50%)}
.lb.lb-single .lb-nav{display:none}
@media(max-width:700px){
  .lb-fig{padding:64px 10px 16px}
  .lb button{width:48px;height:48px;font-size:32px}
  .lb-prev,.lb-next{top:auto;bottom:14px;transform:none}
  .lb-img{max-height:calc(100% - 140px)}
  .lb-cap{font-size:19px}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ── Carte d'accès ── */
.map-block{margin:36px 0 10px}
.map-frame{display:block;width:100%;height:420px;border:0;border-radius:var(--map-radius,10px);box-shadow:0 4px 20px rgba(0,0,0,.12);background:#e8e4da}
.map-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.map-btn{display:inline-block;padding:12px 26px;border-radius:40px;background:var(--map-btn,#4A0D0D);color:var(--map-btn-text,#fff)!important;text-decoration:none!important;font-size:18px;font-weight:600}
.map-btn:hover{opacity:.9}
.map-btn-alt{background:transparent;color:var(--map-btn,#4A0D0D)!important;box-shadow:inset 0 0 0 2px var(--map-btn,#4A0D0D)}
@media(max-width:600px){.map-frame{height:320px}}
