/* Small additions for a standalone site. The original theme remains in main.css. */
[hidden] { display: none !important; }
html { scroll-padding-top: 100px; }
body { overflow-x: clip; }
.reveal, .fade-left, .fade-right { opacity: 1; transform: none; }
.js .reveal:not(.active) { opacity: 0; transform: translateY(30px); }
.js .fade-left:not(.active) { transform: translateX(-50px); }
.js .fade-right:not(.active) { transform: translateX(50px); }
html:not(.js) .accordion-content { max-height: none; }
html:not(.js) .menu-toggle, html:not(.js) .consent-settings { display: none; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 2000; padding: 12px 18px; background: white; color: var(--clr-primary-dark); border-radius: 8px; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 3px solid var(--clr-accent); outline-offset: 4px; }
.text-link { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.map-placeholder { min-height: 400px; padding: 32px; border-radius: var(--radius-lg); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; text-align: center; background: rgba(255,255,255,.1); color: white; }
.map-directions { color: white; text-decoration: underline; }
.consent-banner { position: fixed; z-index: 1200; bottom: 16px; right: 16px; width: min(526px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; background: white; border: 1px solid #e1e5e8; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,.2); padding: 24px; font-size: 14px; color: var(--clr-text-main); }
.consent-banner h2 { font-size: 16px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #eee; }
.consent-banner p { margin: 12px 0; }
.consent-banner a { text-decoration: underline; }
.consent-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.consent-actions .btn { flex: 1; padding: 10px 12px; font-size: 13px; white-space: nowrap; }
.consent-banner .btn-outline { color: var(--clr-primary-dark); border-color: var(--clr-primary); }
#consent-preferences { padding-top: 16px; }
#consent-preferences label { display: block; margin-bottom: 16px; }
#consent-preferences input { accent-color: var(--clr-primary); margin-right: 8px; }
@media (max-width: 992px) {
  .js .fade-left:not(.active), .js .fade-right:not(.active) { transform: translateY(30px); }
}
@media (max-width: 768px) {
  html:not(.js) .nav-menu { position: static; width: auto; height: auto; background: none; backdrop-filter: none; }
  html:not(.js) .nav-list { flex-direction: row; flex-wrap: wrap; gap: 8px 16px; justify-content: center; }
  html:not(.js) .nav-link { font-size: 14px; }
  html:not(.js) .header { background: var(--clr-primary-dark); }
  html:not(.js) .header-container { flex-direction: column; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .js .reveal:not(.active) { opacity: 1; transform: none; }
}
