/*
 * A deliberately small, stable stylesheet for the brief window while a new
 * Hostinger deployment replaces Next.js's build-hashed assets. The main
 * stylesheet is unlayered, so it always takes precedence when available.
 */
@layer fallback {
  :root { --fallback-ink:#173b36; --fallback-paper:#f5f3ed; --fallback-coral:#ef654d; }
  *,*::before,*::after { box-sizing:border-box; }
  html { color-scheme:light; }
  body { margin:0; background:var(--fallback-paper); color:var(--fallback-ink); font-family:Arial,sans-serif; line-height:1.45; }
  img,svg { max-width:100%; }
  img { display:block; }
  button,input,select,textarea { max-width:100%; font:inherit; }
  button,a { touch-action:manipulation; }
  h1,h2,h3,p { overflow-wrap:anywhere; }
  .announcement { padding:9px 20px; text-align:center; background:#efbd4f; font-size:12px; }
  .nav,.admin-header,.events-calendar-nav { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px max(5vw,20px); background:var(--fallback-ink); color:white; }
  .nav a,.admin-header a,.events-calendar-nav a { color:inherit; }
  .hero,.ai-section,.business { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; padding:72px max(6vw,20px); }
  .hero h1,.ai-copy h2,.business h2,.events-calendar-hero h1 { margin:0 0 24px; font-family:Georgia,serif; font-size:clamp(48px,7vw,92px); line-height:.95; }
  .search-box,.ai-box { display:flex; gap:8px; padding:8px; border-radius:12px; background:white; }
  .search-box input,.ai-box input { width:100%; min-width:0; border:0; padding:12px; }
  .search-box button,.ai-box button,.list-button,.submit-form { border:0; border-radius:9px; padding:12px 18px; background:var(--fallback-coral); color:white; font-weight:700; }
  .category-wrap,.featured-section,.events-section,.towns-section,.listing-manager,.portal-section,.calendar-agenda { padding:60px max(5vw,20px); }
  .category-grid,.venue-grid,.town-grid,.portal-venue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .category-card,.venue-card,.town-card,.admin-card,.portal-venue-grid article { min-width:0; border-radius:14px; padding:20px; background:white; }
  .ai-section { background:var(--fallback-ink); color:white; }
  .ai-notes { display:grid; gap:16px; }
  .ai-notes button { width:100%; padding:20px; border:1px solid #46645f; background:#214b45; color:white; text-align:left; }
  dialog { width:min(720px,calc(100% - 24px)); max-height:90vh; overflow:auto; border:0; border-radius:16px; }
  form label { display:grid; gap:6px; margin:12px 0; }
  form input,form select,form textarea { width:100%; padding:12px; }
  @media (max-width:800px) {
    .hero,.ai-section,.business { grid-template-columns:1fr; padding:54px 20px; }
    .category-grid,.venue-grid,.town-grid,.portal-venue-grid { grid-template-columns:1fr 1fr; }
  }
  @media (max-width:520px) {
    .nav { flex-wrap:wrap; }
    .hero h1,.ai-copy h2,.business h2,.events-calendar-hero h1 { font-size:clamp(42px,15vw,64px); }
    .category-grid,.venue-grid,.town-grid,.portal-venue-grid { grid-template-columns:1fr; }
    .search-box,.ai-box { flex-direction:column; }
  }
}

/* Stable launch-page fallback while deployment assets rotate. */
.brand-logo{display:block;max-width:100%;object-fit:contain}.brand-logo-icon{width:44px;height:44px}.brand-logo-horizontal{width:180px;height:64px;object-fit:cover}.hero-actions,.consent-actions{display:flex;gap:9px;flex-wrap:wrap}.hero-actions a,.hero-actions button,.sticky-mobile-cta{border:0;border-radius:999px;padding:12px 17px;background:#173b36;color:white;text-decoration:none;font-weight:700}.homepage-faq,.legal-page,.faq-page{padding:54px max(5vw,20px)}.homepage-faq-grid,.faq-list{display:grid;gap:12px}.homepage-faq details,.faq-list details{background:white;border:1px solid #d6dfda;border-radius:12px;padding:17px}.public-page-header,.public-page-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(5vw,20px)}.public-page-footer{background:#173b36;color:white;flex-wrap:wrap}.public-page-header nav,.public-page-footer nav{display:flex;gap:15px;flex-wrap:wrap}.legal-layout{max-width:1000px;margin:auto}.legal-copy section{padding:25px 0;border-bottom:1px solid #d6dfda}.consent-banner{position:fixed;z-index:120;left:12px;right:12px;bottom:12px;background:white;border:1px solid #cbd7d1;border-radius:14px;padding:18px;box-shadow:0 15px 45px #173b3638}.thank-you-page,.not-found-page{min-height:100vh;display:grid;place-content:center;text-align:center;padding:30px}.sticky-mobile-cta{display:none}@media(max-width:700px){.public-page-header nav>a:not(:last-child){display:none}.sticky-mobile-cta{display:block;position:fixed;left:14px;right:14px;bottom:14px}.consent-banner{bottom:10px}}

.brand-logo{height:auto;object-fit:contain}.brand-logo-icon{height:auto}.brand-logo-horizontal{width:145px;height:auto;object-fit:contain}.brand-logo-reversed{height:auto;filter:brightness(0) invert(1)}.events-brand{display:block;width:128px}.public-page-header>a,.public-page-footer>a{height:auto;overflow:visible}@media(max-width:760px){.nav{height:64px;padding-inline:16px}.brand .brand-logo-horizontal,.public-page-header .brand-logo-horizontal,.public-page-header>a{width:104px;height:auto}.events-brand{width:96px}.admin-brand>.brand-logo-reversed{width:96px}.business-login>.brand-logo-stacked{width:86px;height:auto}}
