/* Booking uses the restored marketing site's header, footer and brand palette. */
:root {
  --primary: #e30613;
  --primary-light: #b90510;
  --accent: #e30613;
  --accent-hover: #bd0510;
  --bg: #fff;
  --text: #181818;
  --text-main: #181818;
  --text-secondary: #666;
  --border: #dfdfdc;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: var(--font);
}
body { min-width: 320px; font-synthesis: none; text-rendering: optimizeLegibility; }
button, input, textarea, select { font: inherit; }
::selection { background: #e30613; color: #fff; }
.site-header[data-astro-cid-lcdefpme] { backdrop-filter: none; box-shadow: none; }
.site-header, .site-footer, .mobile-menu, .mobile-bottom-bar { line-height: normal; }
.site-footer[data-astro-cid-lcdefpme] { padding-top: 0; }
.skip-link:focus { z-index: 10000; }
#sisalto { padding-top: 72px; padding-bottom: 56px; }
.varastot-header { padding: 48px 0 36px; background: #f5f5f3; color: #171717; border-bottom: 1px solid var(--border); }
.varastot-header h1 { font-size: clamp(32px, 5vw, 48px); letter-spacing: -.04em; line-height: 1.1; }
.varastot-header p { color: #666; max-width: 660px; margin-top: 16px; }
.location-tabs { gap: 6px; padding: 5px; margin-top: 28px; background: #eeeeeb; border-radius: 14px; width: fit-content; max-width: 100%; }
.location-tab { border: 0; border-radius: 11px; padding: 13px 24px; font-weight: 800; background: transparent; }
.location-tab.active { color: #e30613; background: #fff; box-shadow: 0 3px 12px #00000014; }
.btn, .directions-btn { border-radius: 12px; font-weight: 800; }
.btn-accent, .btn-green, .btn-primary { background: #e30613; color: #fff; }
.btn-accent:hover, .btn-green:hover, .btn-primary:hover { background: #bd0510; }
#checkout-modal-overlay .btn-green { box-shadow: none !important; border-radius: 12px !important; }
#checkout-modal-overlay .btn-secondary { color: #171717 !important; border-color: #d7d7d3 !important; }
#checkout-modal-overlay > div { border-radius: 18px !important; max-height: 90dvh !important; }
#selected-unit-container { overflow-wrap: anywhere; }
#selected-unit-container input, #selected-unit-container select { min-width: 0; border-radius: 8px !important; accent-color: #e30613; }
#selected-unit-container input:focus-visible, #selected-unit-container select:focus-visible { outline: 2px solid #e30613; outline-offset: 2px; }
.selected-unit-card { border-color: var(--border); }
.units-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.floor-plan-svg-container svg rect[data-unit-id].unit-selected { fill: rgba(227, 6, 19, .3) !important; stroke: #e30613 !important; }
.svg-tooltip .tt-price { color: #fff; }
@media (min-width: 768px) { #sisalto { padding-top: 88px; } }
@media (max-width: 600px) {
  .shell { padding-left: 16px; padding-right: 16px; }
  .varastot-header { padding: 32px 0 28px; }
  .location-tabs { width: 100%; flex-wrap: nowrap; }
  .location-tab { flex: 1; padding: 12px 8px; }
  #checkout-modal-overlay { padding: 10px !important; }
  #selected-unit-container { padding: 24px 16px !important; }
  #checkout-form div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
}
