:root {
  --bg: #f7f4ef;
  --surface: #fff;
  --text: #20322c;
  --muted: #5b6964;
  --accent: #2f5d50;
  --border: #d9dfdc;
  --shadow: 0 18px 50px rgba(31, 50, 44, .12);
  --assistant-accent: var(--accent);
  --assistant-accent-text: var(--accent);
  --assistant-accent-contrast: #fff;
}

.assistant-brand--bierkult {
  --assistant-accent: var(--poi-icon-gold, #C8A45A);
  --assistant-accent-text: var(--jm-accent-dark, #9B6D1D);
  --assistant-accent-contrast: var(--jm-text, #1A1A1A);
}

.assistant-brand--jolie-maison {
  --assistant-accent: var(--jm-primary, #283477);
  --assistant-accent-text: var(--jm-primary, #283477);
  --assistant-accent-contrast: #fff;
}

* { box-sizing: border-box; }

body {
  min-height: 100vh;
  margin: 0;
  padding: clamp(16px, 4vw, 48px);
  color: var(--text);
  background: linear-gradient(145deg, #f7f4ef, #edf3f0);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.assistant-shell {
  width: min(880px, 100%);
  margin: auto;
  padding: clamp(22px, 5vw, 48px);
  border: 1px solid var(--border);
  border-top: 5px solid var(--assistant-accent);
  border-radius: 22px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--shadow);
}

.eyebrow {
  margin: 0 0 8px;
  color: var(--assistant-accent-text);
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

h1 {
  margin: 0;
  color: var(--assistant-accent);
  font-size: clamp(2.4rem, 8vw, 5rem);
  line-height: 1;
}

.assistant-brand--bierkult h1,
.assistant-brand--jolie-maison h1 {
  color: var(--assistant-accent);
}

.intro {
  max-width: 650px;
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.55;
}

.suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 28px 0 18px;
}

.suggestions button {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 9px 13px;
  color: var(--text);
  background: #fff;
  cursor: pointer;
}

label {
  display: block;
  margin-bottom: 8px;
  font-weight: 750;
}

.query-row { display: flex; gap: 10px; }

.query-row input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 16px;
  font: inherit;
}

.query-row button {
  border: 0;
  border-radius: 12px;
  padding: 0 20px;
  color: var(--assistant-accent-contrast);
  background: var(--assistant-accent);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.status { min-height: 24px; color: var(--muted); }
.results { display: grid; gap: 10px; }
.result { padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.result h2 { margin: 0; font-size: 1.08rem; }
.result p { margin: 6px 0 0; color: var(--muted); }
.result a { color: var(--assistant-accent-text); font-weight: 750; }
.footer-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.footer-actions a { color: var(--assistant-accent-text); font-weight: 750; }
.is-house [data-map-link], .is-house [data-home-link] { display: none; }

@media (max-width: 600px) {
  .query-row { align-items: stretch; flex-direction: column; }
  .query-row button { min-height: 46px; }
}

/* House uses the existing profile and shared House shell. */
.is-house body { padding:0; background:var(--background,#f7f4ef); }
.is-house .assistant-shell { margin:28px auto; width:min(880px,calc(100% - 28px)); border-radius:var(--radius,8px); border-top-color:var(--primary); --assistant-accent:var(--primary); --assistant-accent-text:var(--primary); }
.is-house .assistant-shell h1 { color:var(--primary); font-size:clamp(2rem,6vw,3.2rem); }
.is-house .suggestions button { min-height:56px; padding:14px 18px; border-radius:var(--radius,8px); font:inherit; color:var(--primary); background:color-mix(in srgb,var(--surface,#fff) 85%,transparent); border-color:var(--secondary); }
.is-house .query-row input { min-width:0; }
.is-house .query-row button { min-height:52px; background:var(--primary); color:#fff; }
.is-house .house-header>a { color:inherit; padding:16px; font-weight:600; }
.is-house.house-jolie .assistant-shell { background:rgba(255,255,255,.88); font-family:Asap,sans-serif; }
.is-house.house-jolie .assistant-shell h1 { font-family:Montserrat,sans-serif; }

.is-house .house-header .house-back-link { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin-left:auto; padding:12px 20px; border:1px solid currentColor; border-radius:var(--radius,8px); text-decoration:none; font-size:16px; line-height:1.4; transition:background-color .15s ease; }
.is-house.house-jolie .house-header .house-back-link { color:#fff; border-color:var(--accent); background:rgba(255,255,255,.06); }
.is-house .house-header .house-back-link:hover { background:rgba(255,255,255,.16); }
.is-house .house-header .house-back-link:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
@media(max-width:620px){ .is-house .house-header .house-back-link { width:100%; margin:0 0 8px; } }
