@import url("./tokens.css");
/* Private 24 September review: final warm/pastel palette; original layout and photos. */
:root {
  --sand:var(--ts-sand); --sand-warm:var(--ts-sand);
  /* Legacy lake is also used for labels and control text; surfaces use --ts-lake below. */
  --lake:var(--ts-ink); --lake-deep:var(--ts-ink);
  --water:var(--ts-water); --water-on-dark:#DDE5EC;
  --gold:var(--ts-water); --gold-bright:var(--ts-water);
  --gold-on-sand:#344A5E; --gold-numeral-sand:#344A5E;
  --ink:var(--ts-ink); --muted:#3D4751;
}
body,body.refreshed { background:var(--ts-sand);color:var(--ts-ink);--refresh-cream:var(--ts-sand);--refresh-ink:var(--ts-ink);--refresh-gold:var(--ts-water); }
.occasion-scene,.scene:not(.dark):not(.hero):not(.capacity),.waterline { background-color:var(--ts-sand); }

/* Grey-blue is a restrained accent, with ink on every painted control. */
body.refreshed .topbar,body.cinematic.refreshed .topbar,body:not(.refreshed) .topbar {
  background:rgba(155,171,190,.97);border-color:rgba(24,36,48,.16);box-shadow:0 8px 24px rgba(24,36,48,.10);
}
body.refreshed .topbar .wordmark,body.refreshed .topbar .wordmark span,
body.refreshed .topbar nav a,body.cinematic.refreshed .topbar .wordmark,
body.cinematic.refreshed .topbar .wordmark span,body.cinematic.refreshed .topbar nav a,
body:not(.refreshed) .topbar .wordmark,body:not(.refreshed) .topbar nav a { color:var(--ts-ink); }
body.refreshed .topbar .cta,body.cinematic.refreshed .topbar .cta,
body:not(.refreshed) .topbar .cta { background:var(--ts-ink);color:var(--ts-sand);border:0;box-shadow:none; }
body:not(.refreshed) .page-hero .eyebrow { color:#DDE5EC; }
body:not(.refreshed) .topbar nav .cta { color:var(--ts-sand); }
.topbar nav .events-link { border:1px solid rgba(24,36,48,.42);border-radius:999px;padding:0 12px;min-height:48px; }
.topbar nav .events-link:hover,.topbar nav .events-link[aria-current="page"] { border-color:var(--ts-ink);background:rgba(235,226,221,.25); }

/* Body panels become soft lavender; photo heroes retain dark scrims and light type. */
.dark:not(.hero):not(.page-hero),body.cinematic .dark:not(.hero):not(.page-hero),
.inquiry,body.cinematic .inquiry,.capacity,.refreshed-capacity {
  background:var(--ts-lake);color:var(--ts-ink);
}
.dark:not(.hero):not(.page-hero):before { background:none; }
.dark:not(.hero):not(.page-hero) .kicker,.dark:not(.hero):not(.page-hero) .eyebrow,.dark:not(.hero):not(.page-hero) .number-caption,
.inquiry .kicker,.inquiry .eyebrow,.inquiry .number-caption,.capacity .kicker,
.capacity .eyebrow,.capacity .number-caption { color:#344A5E; }
.dark:not(.hero):not(.page-hero) .gold-number,.inquiry .gold-number,.capacity .gold-number,
body.cinematic .dark:not(.hero):not(.page-hero) .gold-number,body.cinematic .capacity .gold-number,
body.cinematic .inquiry .gold-number { color:var(--ts-ink);-webkit-text-fill-color:var(--ts-ink);background:none; }
.dark:not(.hero):not(.page-hero) .copy p,.dark:not(.hero):not(.page-hero) .section-heading,
.dark:not(.hero):not(.page-hero) .space-strip p,.dark:not(.hero):not(.page-hero) .feature-grid p,
.inquiry p,.capacity p { color:var(--ts-ink); }
.inquiry a,.inquiry-success h3,.table-wrap caption,.table-wrap tbody th,
.table-wrap td:nth-child(2),.dark:not(.hero):not(.page-hero) .faq .answer { color:var(--ts-ink); }
.inquiry .form-progress strong { color:var(--ts-ink); }
.dark:not(.hero):not(.page-hero) .room-facts div,.room-facts div { background:var(--ts-sand); }
.room-facts { background:rgba(24,36,48,.16);border-color:rgba(24,36,48,.16); }
.dark:not(.hero):not(.page-hero) .room-facts dt { color:#3D4751; }
.dark:not(.hero):not(.page-hero) .feature-grid article,.space-strip article {
  background:rgba(235,226,221,.5);border-color:rgba(24,36,48,.18);box-shadow:none;
}
.capacity-bg { background:linear-gradient(rgba(195,194,213,.89),rgba(195,194,213,.95)),url("../img/locationfotos-seeterassen-006-1600.jpg") center/cover; }
.capacity .chips a { color:var(--ts-ink);border-color:rgba(24,36,48,.42); }
.capacity .chips a:hover { background:rgba(235,226,221,.48);border-color:var(--ts-ink); }
.waterline,body.cinematic .waterline { color:var(--ts-lake); }

/* Replace white cards and the former navy footer without changing their geometry. */
.table-wrap,.inquiry-form,.inquiry-success,.room-cards article,.feature-grid article {
  background:var(--ts-sand);color:var(--ts-ink);
}
.inquiry-success .wa-btn,.inquiry-success .tel-btn,.inquiry-success .mail-btn {
  background:var(--ts-water);border-color:rgba(24,36,48,.22);color:var(--ts-ink);
}
.refreshed footer,footer { background:var(--ts-lake);color:var(--ts-ink);border-top:1px solid rgba(24,36,48,.22); }
.refreshed footer a,footer a { color:var(--ts-ink); }
.mobile-sticky { background:var(--ts-lake);border-top-color:rgba(24,36,48,.22); }
.mobile-sticky a { color:var(--ts-ink); }
.mobile-sticky a:first-child { background:var(--ts-water); }
.btn-primary,body.cinematic .btn-primary,.gs-cta,.inquiry-form .submit,
body.cinematic .inquiry-form .submit {
  background:var(--ts-water);color:var(--ts-ink);box-shadow:0 5px 18px rgba(24,36,48,.14);
}
.btn-primary:hover,body.cinematic .btn-primary:hover,.gs-cta:hover,
.inquiry-form .submit:hover { box-shadow:0 8px 22px rgba(24,36,48,.20); }
.btn-ghost:hover,body.cinematic .btn-ghost:hover { border-color:var(--ts-water);background:rgba(155,171,190,.16); }
.guest-slider input[type=range] { accent-color:#344A5E; }

/* Legacy components used --lake as a text color; it is a light surface now. */
.sk-season,.sk-brunch,.sk-menu { background:var(--ts-sand); }
.sk-season h2,.sk-brunch h2,.sk-menu h2,.sk-dishes strong,.sk-price,
.sk-brunch-line,.sk-reserve a,.sk-hours,.gs-q,.gs-rec,
.gs-chips span,.scene:not(.dark) .sk-chip { color:var(--ts-ink); }
.gs-chips span.hit { background:var(--ts-water);color:var(--ts-ink); }
.edit-card label,.edit-wrap .eyebrow { color:var(--ts-ink); }

/* Existing event route, with a useful calm state before any event is published. */
.events-intro { max-width:900px; }
.events-intro .lead { max-width:60ch; }
.events-empty { border-top:1px solid rgba(24,36,48,.26); }
.events-empty h2 { max-width:19ch; }
.events-feed { background:var(--ts-sand); }
.events-feed.sodi-current { padding-top:80px;padding-bottom:80px; }
.events-feed .sodi-event-list { display:grid;gap:20px;list-style:none;margin:0;padding:0; }
.events-feed .sodi-event-card { display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);overflow:hidden;background:var(--ts-sand);border:1px solid rgba(24,36,48,.24);border-radius:12px; }
.events-feed .sodi-event-card.no-image { grid-template-columns:1fr; }
.events-feed .sodi-event-card img { display:block;width:100%;height:100%;min-height:250px;object-fit:cover; }
.events-feed .sodi-event-copy { padding:28px; }
.events-feed .sodi-event-date { display:inline-block;margin-bottom:12px;border:1px solid rgba(24,36,48,.38);border-radius:999px;padding:6px 12px;color:var(--ts-ink);background:var(--ts-water);font-size:14px;font-weight:700; }
.events-feed .sodi-event-copy h3 { font:700 clamp(28px,3vw,40px)/1.08 var(--font-display);margin:0 0 12px; }
.events-feed .sodi-event-copy p { margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere; }
.events-feed .sodi-event-meta { font-size:15px;color:#344A5E; }
.events-feed .sodi-event-action { display:inline-flex;align-items:center;min-height:48px;margin-top:20px;padding:9px 16px;border-radius:8px;background:var(--ts-water);color:var(--ts-ink);font-weight:800;text-decoration:none; }
@media(max-width:700px){.events-feed .sodi-event-card{grid-template-columns:1fr}.events-feed .sodi-event-card img{height:220px;min-height:0}}
@media(max-width:560px){
  .sk-season,.sk-brunch,.sk-menu{padding:24px}
  .sk-dishes strong{display:block;font-size:20px;line-height:1.35}
}
@media(max-width:899px){
  body.refreshed,body:not(.refreshed){padding-bottom:64px;padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}
  .mobile-sticky{padding-bottom:env(safe-area-inset-bottom, 0px)}
  body.refreshed .topbar nav .events-link,body:not(.refreshed) .topbar nav .events-link{display:inline-flex;padding:0 9px;min-height:48px;margin-right:8px;font-size:14px}
  body.refreshed .topbar .wordmark,body:not(.refreshed) .topbar .wordmark{max-width:155px;font-size:16px}
  body.refreshed .topbar nav .cta,body:not(.refreshed) .topbar nav .cta{padding:8px 11px;font-size:13px;color:var(--ts-sand)}
}
@media(max-width:360px){
  body.refreshed .topbar,body:not(.refreshed) .topbar{padding:0 12px}
  body.refreshed .topbar .wordmark,body:not(.refreshed) .topbar .wordmark{max-width:125px;font-size:14px}
  body.refreshed .topbar nav .events-link,body:not(.refreshed) .topbar nav .events-link{margin-right:4px;padding:0 7px;font-size:13px}
  body.refreshed .topbar nav .cta,body:not(.refreshed) .topbar nav .cta{padding:8px;font-size:12px;color:var(--ts-sand)}
}
