@layer reset, vendor, base, primitives, components, pages, state;
@layer reset {
html { box-sizing: border-box; min-width: 300px; overflow-x: hidden; overflow-y: scroll; font-size: var(--terme-font-size-16); -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: var(--terme-font-weight-regular); }
ul { list-style: none; }
article, aside, figure, footer, header, hgroup, section { display: block; }
body, button, input, optgroup, select, textarea { font-family: var(--terme-font-family-interface); }
button, input, select, textarea { margin: 0; }
body { font-size: 1em; font-weight: var(--terme-font-weight-regular); line-height: var(--terme-line-height-body); }
a, button { cursor: pointer; }
a { --reset-a-duration: 294ms; color: inherit; text-decoration: none; transition-duration: var(--reset-a-duration); transition-property: background-color, border-color, color; }
button { --reset-button-duration: 294ms; appearance: none; margin: 0; padding: 0; border: none; background: none; color: inherit; font-family: inherit; font-size: 1em; transition-duration: var(--reset-button-duration); transition-property: background-color, border-color, color; }
svg { width: auto; height: auto; }
strong { color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-semibold); }
a strong { color: currentColor; }
img, video { height: auto; max-width: 100%; }
input[type=checkbox]:not([role=switch]), input[type=radio] { appearance: none; display: inline-grid; place-content: center; flex: none; width: 1.125rem; height: 1.125rem; margin: 0; border: 0.09375rem solid var(--terme-color-text-secondary); border-radius: var(--terme-radius-xs); background: var(--terme-color-surface-raised); vertical-align: -0.1875rem; cursor: pointer; }
input[type=radio] { border-radius: var(--terme-radius-pill); }
input[type=checkbox]:not([role=switch])::before { content: ""; width: 0.75rem; height: 0.75rem; background: var(--terme-color-text-on-accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; visibility: hidden; }
input[type=checkbox]:not([role=switch]):checked { border-color: var(--terme-color-brand-accent); background: var(--terme-color-brand-accent); }
input[type=checkbox]:not([role=switch]):checked::before { visibility: visible; }
input[type=radio]:checked { border: 0.3125rem solid var(--terme-color-brand-accent); }
input[type=checkbox]:not([role=switch]):focus-visible, input[type=radio]:focus-visible { outline: 0.125rem solid var(--terme-color-text-secondary); outline-offset: 0.125rem; }
input[type=checkbox]:not([role=switch]):disabled, input[type=radio]:disabled { opacity: 0.5; cursor: default; }
fieldset, iframe { border: 0; }
table { border-collapse: collapse; border-spacing: 0; }
td, th { padding: 0; vertical-align: top; }
th { color: var(--terme-color-brand-ink); }
hr { display: block; height: 2px; margin: var(--terme-spacing-24) 0; border: none; background-color: var(--terme-color-surface-canvas); }
code { padding: 0.25em 0.5em; border-radius: 0.5em; background-color: var(--terme-color-surface-canvas); color: var(--terme-color-text-primary); font-family: Inconsolata, Hack, "SF Mono", "Roboto Mono", "Source Code Pro", "Ubuntu Mono", monospace; font-size: 0.875em; font-weight: normal; -webkit-font-smoothing: auto; }
}
@layer base {
:root{--terme-color-brand-accent:#FF6F00;--terme-color-brand-accent-hover:#C94F00;--terme-color-brand-accent-soft:#FFF3E7;--terme-color-brand-accent-selected:#FFE4CC;--terme-color-brand-accent-medium:#FFAE66;--terme-color-brand-accent-border:#FFC999;--terme-color-brand-accent-ring:#FFD2A8;--terme-color-brand-accent-text:#A64400;--terme-color-brand-focus:#FF6F0038;--terme-color-brand-ink:#233B4D;--terme-color-brand-ink-hover:#2C4A60;--terme-color-surface-canvas:#F1F6F9;--terme-color-surface-customer-canvas:#F3F6F7;--terme-color-surface-raised:#FFFFFF;--terme-color-surface-editorial-warm:#EAA38B;--terme-color-surface-well:#F7F9FA;--terme-color-surface-track:#F1F4F6;--terme-color-surface-group:#FBFCFD;--terme-color-surface-hover:#F4F6F8;--terme-color-surface-warm-tint:#FFFAF5;--terme-color-surface-warm-faint:#FFFDFA;--terme-color-surface-selected-row:#FFF8F1;--terme-color-border-default:#BDD0DD;--terme-color-border-soft:#E1ECF2;--terme-color-border-control:#D5E0E8;--terme-color-border-overlay:#E3E9EE;--terme-color-border-hairline:#EDF1F4;--terme-color-border-dashed:#C4D2DC;--terme-color-text-primary:#233B4D;--terme-color-text-secondary:#42677F;--terme-color-text-muted:#6B7074;--terme-color-text-hint:#91ACBF;--terme-color-text-on-accent:#FFFFFF;--terme-color-on-dark-text:#DCE7EF;--terme-color-on-dark-text-strong:#FFFFFF;--terme-color-on-dark-text-secondary:#C6D4DE;--terme-color-on-dark-text-muted:#8FA8B9;--terme-color-on-dark-heading:#8FB3C9;--terme-color-on-dark-line:#FFFFFF1F;--terme-color-on-dark-fill:#FFFFFF14;--terme-color-on-dark-fill-hover:#FFFFFF29;--terme-color-status-success:#1F7A4D;--terme-color-status-success-soft:#E7F6EE;--terme-color-status-warning:#B86A00;--terme-color-status-warning-soft:#FFF4DD;--terme-color-status-warning-border:#F3D9A4;--terme-color-status-warning-strong:#7A4A00;--terme-color-status-danger:#B42318;--terme-color-status-danger-soft:#FEEBE9;--terme-color-status-info:#2364AA;--terme-color-status-info-soft:#E9F2FF;--terme-color-calendar-closed:#F3F4F5;--terme-color-calendar-closed-stripe:#EEF0F2;--terme-color-calendar-hour-line:#E9EEF2;--terme-color-calendar-quarter-line:#F4F6F8;--terme-color-calendar-past:#233B4D0F;--terme-color-calendar-absence:#7955A3;--terme-color-calendar-absence-soft:#F1EBF8;--terme-color-calendar-absence-text:#5F3F87;--terme-color-calendar-absence-hatch:#EBE2F5;--terme-color-calendar-absence-request:#FAF7FD;--terme-color-calendar-blocker:#A75064;--terme-color-calendar-blocker-soft:#FBEDEF;--terme-color-calendar-blocker-text:#8C3F51;--terme-color-calendar-blocker-hatch:#F8E4E8;--terme-color-calendar-past-edge:#FFC28A;--terme-color-calendar-awaiting-fill:#FFF8E6;--terme-color-calendar-awaiting-edge:#D98A00;--terme-color-calendar-completed-fill:#F2F5F7;--terme-color-calendar-no-show-fill:#FFF5F4;--terme-color-calendar-outside-month:#9AA7B1;--terme-color-chart-light:#C9D8E3;--terme-color-chart-muted:#9FB3C3;--terme-color-chart-range:#D9E3EA;--terme-color-chart-inactive:#B8C6D0;--terme-color-chart-extra:#8FA7B8;--terme-color-chart-extra-muted:#C9D6DF;--terme-color-neutral-quiet:#9AABB8;--terme-color-avatar-warm-fill:#FDE7D6;--terme-color-avatar-warm-text:#9A4A12;--terme-color-avatar-blue-fill:#DFEAF3;--terme-color-avatar-blue-text:#2B5573;--terme-color-avatar-green-fill:#E7F2EA;--terme-color-avatar-green-text:#2F6B47;--terme-color-avatar-purple-fill:#EFE7F6;--terme-color-avatar-purple-text:#5F3F87;--terme-color-overlay-barrier:#233B4D61;--terme-color-overlay-scrim:#0F0F0F;--terme-color-map-tile:#EEF3F6;--terme-font-family-interface:"Open Sans", "Inter", system-ui, sans-serif;--terme-font-family-display:"Gunterz", "Open Sans", "Inter", system-ui, sans-serif;--terme-font-family-script:"Mairo", "Open Sans", "Inter", system-ui, sans-serif;--terme-font-size-11:0.6875rem;--terme-font-size-12:0.75rem;--terme-font-size-13:0.8125rem;--terme-font-size-14:0.875rem;--terme-font-size-15:0.9375rem;--terme-font-size-16:1rem;--terme-font-size-18:1.125rem;--terme-font-size-20:1.25rem;--terme-font-size-22:1.375rem;--terme-font-size-24:1.5rem;--terme-font-size-28:1.75rem;--terme-font-size-32:2rem;--terme-font-size-40:2.5rem;--terme-font-size-48:3rem;--terme-font-size-display-sm:clamp(1.75rem, 2.4vw, 3rem);--terme-font-size-display-md:clamp(2.125rem, 4vw, 3.25rem);--terme-font-size-display-lg:clamp(2.25rem, 4.4vw, 3.5rem);--terme-line-height-14:0.875rem;--terme-line-height-16:1rem;--terme-line-height-17:1.0625rem;--terme-line-height-18:1.125rem;--terme-line-height-20:1.25rem;--terme-line-height-22:1.375rem;--terme-line-height-24:1.5rem;--terme-line-height-26:1.625rem;--terme-line-height-28:1.75rem;--terme-line-height-32:2rem;--terme-line-height-40:2.5rem;--terme-line-height-44:2.75rem;--terme-line-height-48:3rem;--terme-line-height-56:3.5rem;--terme-line-height-tight:1.2;--terme-line-height-body:1.5;--terme-font-weight-regular:400;--terme-font-weight-medium:500;--terme-font-weight-semibold:600;--terme-font-weight-bold:700;--terme-font-weight-extrabold:800;--terme-font-tracking-eyebrow:0.0625rem;--terme-font-tracking-display:-0.03em;--terme-font-tracking-tight:-0.01em;--terme-radius-none:0;--terme-radius-xs:0.25rem;--terme-radius-sm:0.5rem;--terme-radius-field:0.625rem;--terme-radius-md:0.75rem;--terme-radius-card:0.875rem;--terme-radius-lg:1rem;--terme-radius-xl:1.25rem;--terme-radius-pill:62.4375rem;--terme-spacing-0:0;--terme-spacing-2:0.125rem;--terme-spacing-4:0.25rem;--terme-spacing-6:0.375rem;--terme-spacing-8:0.5rem;--terme-spacing-10:0.625rem;--terme-spacing-12:0.75rem;--terme-spacing-14:0.875rem;--terme-spacing-16:1rem;--terme-spacing-20:1.25rem;--terme-spacing-24:1.5rem;--terme-spacing-32:2rem;--terme-spacing-40:2.5rem;--terme-spacing-48:3rem;--terme-spacing-64:4rem;--terme-shadow-soft:0 1px 2px #233B4D0F, 0 4px 12px #233B4D0D;--terme-shadow-raised:0 4px 2px #233B4D0D, 0 16px 32px #233B4D17;--terme-shadow-menu:0 14px 30px -14px #233B4D66;--terme-shadow-dialog:0 28px 60px -24px #233B4D80;--terme-motion-duration-instant:100ms;--terme-motion-duration-hover:140ms;--terme-motion-duration-fast:150ms;--terme-motion-duration-enter:180ms;--terme-motion-duration-state:200ms;--terme-motion-duration-menu:240ms;--terme-motion-duration-emphasis:320ms;--terme-motion-duration-stagger:25ms;--terme-motion-duration-feedback-lifetime:5000ms;--terme-motion-easing-ease-out:cubic-bezier(0.23, 1, 0.32, 1);--terme-motion-easing-standard:cubic-bezier(0.2, 0, 0, 1);--terme-motion-scale-press:0.98;--terme-motion-scale-menu-hover:1.04;--terme-z-index-base:0;--terme-z-index-raised:1;--terme-z-index-sticky:10;--terme-z-index-header:100;--terme-z-index-dropdown:200;--terme-z-index-overlay:300;--terme-z-index-dialog:400;--terme-z-index-toast:500;--terme-z-index-consent:600;--terme-size-touch-target:2.75rem;--terme-size-control-height:2.5rem;--terme-size-field-height:2.625rem;--terme-size-nav-row-height:3rem;--terme-size-icon-sm:1rem;--terme-size-icon-md:1.25rem;--terme-size-icon-lg:1.5rem;--terme-size-focus-ring-width:0.125rem;--terme-size-focus-ring-offset:0.125rem;--terme-public-max-width:120rem;--terme-public-gutter:clamp(1rem, 3vw, 3rem);--terme-workspace-max-width:100rem;--terme-discovery-header-height:7.5rem;}
:root{color-scheme:light}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 75% 100%;
  font-display: swap;
  src: url("/assets/fonts/open-sans/OpenSans.woff2") format("woff2");
}

@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 300 800;
  font-stretch: 75% 100%;
  font-display: swap;
  src: url("/assets/fonts/open-sans/OpenSans-Italic.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  unicode-range: U+2190-21FF, U+2600-26FF, U+2700-27BF, U+2B50;
  font-display: swap;
  src: url("/assets/fonts/inter/Inter.woff2") format("woff2");
}

@font-face {
  font-family: "Gunterz";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/gunterz/Gunterz-Regular.woff2") format("woff2");
}

@font-face {
  font-family: "Gunterz";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/gunterz/Gunterz-Medium.woff2") format("woff2");
}

@font-face {
  font-family: "Gunterz";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/gunterz/Gunterz-Bold.woff2") format("woff2");
}

@font-face {
  font-family: "Gunterz";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/fonts/gunterz/Gunterz-Black.woff2") format("woff2");
}

@font-face {
  font-family: "Mairo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/mairo/Mairo.woff2") format("woff2");
}

html {
  color-scheme: light;
  background: var(--terme-color-surface-canvas);
}

body {
  color-scheme: light;
  color: var(--terme-color-text-primary);
  font-family: var(--terme-font-family-interface);
  font-size: var(--terme-font-size-16);
  line-height: var(--terme-line-height-body);
}

/* The one focus ring; components only recolour it (accent cards, on-dark
   footer) or pull it inside a clipping container. */
:focus-visible {
  outline: var(--terme-size-focus-ring-width) solid var(--terme-color-text-secondary);
  outline-offset: var(--terme-size-focus-ring-offset);
}

.terme-nojs { display: none; }
}
@layer primitives {
.terme-button { --button-duration: 294ms; --button-spinner: var(--terme-color-text-primary); appearance: none; position: relative; display: inline-flex; align-items: center; justify-content: center; vertical-align: top; height: auto; padding: 0.5em 1em; border: 0 solid transparent; border-radius: var(--terme-radius-md); background-color: var(--terme-color-surface-raised); box-shadow: none; color: var(--terme-color-text-primary); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-medium); line-height: var(--terme-line-height-body); text-align: center; text-decoration: none; white-space: nowrap; cursor: pointer; transition-duration: var(--button-duration); transition-property: background-color, border-color, box-shadow, color; }
.terme-button:where([disabled]) { cursor: not-allowed; opacity: 0.5; box-shadow: none; }
.terme-button--small { border-radius: var(--terme-radius-sm); font-size: var(--terme-font-size-12); }
.terme-button--primary { --button-spinner: var(--terme-color-text-on-accent); min-height: var(--terme-size-touch-target); border-radius: var(--terme-radius-md); background-color: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font-family: var(--terme-font-family-interface); }
.terme-button--primary:where(:hover, :focus-visible) { background-color: var(--terme-color-brand-accent-hover); color: var(--terme-color-text-on-accent); }
.terme-button--light { min-height: var(--terme-size-touch-target); border-radius: var(--terme-radius-md); background-color: var(--terme-color-surface-canvas); color: var(--terme-color-text-primary); font-family: var(--terme-font-family-interface); }
.terme-button--light:where(:hover) { background-color: var(--terme-color-border-soft); }
.terme-button--white:where(:hover) { background-color: var(--terme-color-surface-canvas); }
.terme-button--text { background-color: transparent; text-decoration: underline; }
.terme-button--text:where(:hover) { background-color: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); }
.terme-button:where(.is-loading) { box-shadow: none; color: transparent; pointer-events: none; }
.terme-button:where(.is-loading)::after { --button-duration: 0.5s; content: ""; position: absolute; top: calc(50% - 0.5em); left: calc(50% - 0.5em); display: block; width: 1em; height: 1em; border: 2px solid var(--button-spinner); border-top-color: transparent; border-right-color: transparent; border-radius: var(--terme-radius-pill); animation: terme-button-spin var(--button-duration) linear infinite; }
@keyframes terme-button-spin { to { transform: rotate(359deg); } }

.terme-notice { position: relative; padding: 1.375em 1.5em; border-radius: var(--terme-radius-md); background-color: var(--terme-color-surface-canvas); color: var(--terme-color-text-primary); }
.terme-notice:where(:not(:last-child)) { margin-bottom: var(--terme-spacing-24); }
.terme-notice--warning { background-color: var(--terme-color-status-warning-soft); }
.terme-notice--danger { background-color: var(--terme-color-status-danger-soft); color: var(--terme-color-status-danger); }

.terme-tag { display: inline-flex; align-items: center; justify-content: center; height: 2em; padding-inline: 0.75em; border-radius: var(--terme-radius-md); background-color: var(--terme-color-surface-canvas); color: var(--terme-color-text-primary); font-size: var(--terme-font-size-12); line-height: var(--terme-line-height-body); white-space: nowrap; }
.terme-tag--warning { background-color: var(--terme-color-status-warning); color: var(--terme-color-text-on-accent); }
.terme-tag--warning-soft { background-color: var(--terme-color-status-warning-soft); color: var(--terme-color-status-warning); }
.terme-tag--success-soft { background-color: var(--terme-color-status-success-soft); color: var(--terme-color-status-success); }

.terme-field:where(:not(:last-child)) { margin-bottom: var(--terme-spacing-12); }
.terme-label { display: block; color: var(--terme-color-text-primary); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-semibold); }
.terme-label:where(:not(:last-child)) { margin-bottom: 0.5em; }
.terme-input { appearance: none; position: relative; display: inline-flex; align-items: center; justify-content: flex-start; vertical-align: top; width: 100%; max-width: 100%; height: 2.5em; padding: calc(0.5em - 1px) calc(0.75em - 1px); border: 1px solid var(--terme-color-border-default); border-radius: var(--terme-radius-md); background-color: var(--terme-color-surface-canvas); box-shadow: inset 0 0.0625em 0.125em color-mix(in srgb, var(--terme-color-brand-ink) 5%, transparent); color: var(--terme-color-text-primary); font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-body); }
.terme-input::placeholder { color: var(--terme-color-text-secondary); }
.terme-input:where(:focus) { border-color: var(--terme-color-brand-accent-hover); }
.terme-help { display: block; margin-top: var(--terme-spacing-4); font-size: var(--terme-font-size-12); }
.terme-help--danger { color: var(--terme-color-status-danger); }

.terme-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
}
@layer components {
.discovery-header {
  --discovery-popover-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--terme-color-brand-ink) 12%, transparent);
  --discovery-motion: var(--terme-motion-duration-emphasis) cubic-bezier(0.32, 0.72, 0, 1);
  --discovery-feedback: 260ms var(--terme-motion-easing-ease-out);
  position: sticky;
  top: 0;
  z-index: var(--terme-z-index-header);
  background: var(--terme-color-surface-canvas);
  border-bottom: 0.0625rem solid var(--terme-color-border-default);
  color: var(--terme-color-text-primary);
  font-family: var(--terme-font-family-interface);
}
.discovery-header__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr minmax(30rem, 43.75rem) 1fr;
  align-items: center;
  gap: var(--terme-spacing-32);
  box-sizing: border-box;
  min-height: var(--terme-discovery-header-height);
  padding: var(--terme-spacing-12) var(--terme-public-gutter);
  width: 100%;
  max-width: var(--terme-public-max-width);
  margin-inline: auto;
}
.discovery-header--without-search .discovery-header__inner { grid-template-columns: 1fr auto; }
.discovery-header__brand { display: inline-flex; width: fit-content; }
.discovery-header__brand img { width: 7rem; height: auto; }
.discovery-header__search {
  --discovery-header-search-shadow: 0 0.125rem 0.25rem color-mix(in srgb, var(--terme-color-brand-ink) 7%, transparent);
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--terme-spacing-4);
  box-sizing: border-box;
  min-width: 0;
  height: 3.5rem;
  border: 0.0625rem solid var(--terme-color-border-soft);
  border-radius: var(--terme-radius-pill);
  padding: var(--terme-spacing-4);
  background: var(--terme-color-surface-raised);
  box-shadow: var(--discovery-header-search-shadow);
}
.discovery-header .discovery-header__back {
  --discovery-header-back-shadow: 0 0.125rem 0.5rem color-mix(in srgb, var(--terme-color-brand-ink) 10%, transparent);
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 var(--terme-size-touch-target);
  width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); min-height: var(--terme-size-touch-target); padding: 0;
  border-radius: 50%; color: var(--terme-color-brand-accent); background: var(--terme-color-surface-raised);
  box-shadow: var(--discovery-header-back-shadow);
  transition: transform var(--discovery-feedback), background-color var(--discovery-feedback), box-shadow var(--discovery-feedback);
}
.discovery-header__back svg { width: 1.25rem; height: 1.25rem; }
.discovery-header__back:active { transform: scale(0.96); }
.discovery-header__segments {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  flex: 1;
  min-width: 0;
  height: 100%;
}
.discovery-header__active-segment {
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(100% / 3);
  border-radius: var(--terme-radius-pill);
  background: var(--terme-color-surface-canvas);
  opacity: 0;
  pointer-events: none;
  transition: transform var(--discovery-motion), opacity var(--discovery-feedback);
}
.discovery-header__segments[data-active-field='canonicalService'] .discovery-header__active-segment { opacity: 1; }
.discovery-header__segments[data-active-field='q'] .discovery-header__active-segment { opacity: 1; transform: translateX(100%); }
.discovery-header__segments[data-active-field='businessType'] .discovery-header__active-segment { opacity: 1; transform: translateX(200%); }
.discovery-header__field,
.discovery-header__category {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--terme-spacing-8);
  min-width: 0;
  padding: 0 var(--terme-spacing-12);
  border-radius: var(--terme-radius-pill);
}
.discovery-header__field + .discovery-header__field::before,
.discovery-header__category::before {
  --discovery-header-field-duration: 120ms;
  content: '';
  position: absolute;
  left: 0;
  height: 1.5rem;
  border-left: 0.0625rem solid var(--terme-color-border-soft);
  pointer-events: none;
  transition: opacity var(--discovery-header-field-duration) ease 260ms;
}
.discovery-header__segments:not([data-active-field='']) .discovery-header__field::before,
.discovery-header__segments:not([data-active-field='']) .discovery-header__category::before,
.discovery-header__segments:not([data-active-field='']) .discovery-header__category::after {
  opacity: 0;
  transition: none;
}
.discovery-header:not(.is-enhanced) .discovery-header__field:has(input:focus-visible),
.discovery-header:not(.is-enhanced) .discovery-header__category:has(select:focus-visible),
.discovery-header.is-keyboard-input .discovery-header__field:has(input:focus-visible),
.discovery-header.is-keyboard-input .discovery-header__category:has(button:focus-visible),
.discovery-header.is-keyboard-input .discovery-header__category:has(select:focus-visible) {
  outline: var(--terme-size-focus-ring-width) solid var(--terme-color-text-secondary);
  outline-offset: calc(-1 * var(--terme-size-focus-ring-offset));
}
.discovery-header__field img { width: 1.125rem; height: 1.125rem; flex: none; }
.discovery-header__field input {
  --discovery-header-field-line-height: 1.25;
  width: 100%; min-width: 0; height: var(--terme-size-touch-target); border: 0; padding: 0;
  color: var(--terme-color-text-secondary); background: transparent;
  font: var(--terme-font-weight-semibold) var(--terme-font-size-14)/var(--discovery-header-field-line-height) var(--terme-font-family-interface);
  box-shadow: none;
}
.discovery-header__field input::placeholder { color: var(--terme-color-text-secondary); opacity: 1; }
.discovery-header__field input:focus-visible { outline: none; }
.discovery-header__category select,
.discovery-header__category-toggle {
  display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-8);
  width: 100%; min-width: 0; height: var(--terme-size-touch-target); padding: 0; border: 0;
  background: transparent; color: var(--terme-color-text-secondary);
  font: var(--terme-font-weight-semibold) var(--terme-font-size-14) var(--terme-font-family-interface);
  text-align: left; cursor: pointer;
}
.discovery-header__category-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.discovery-header__category-toggle:focus-visible { outline: none; }
.discovery-header__chevron {
  width: 0.4375rem; height: 0.4375rem; flex: none;
  margin-right: var(--terme-spacing-4);
  border-right: 0.125rem solid currentColor;
  border-bottom: 0.125rem solid currentColor;
  transform: translateY(-0.125rem) rotate(45deg);
  transition: transform var(--discovery-feedback);
}
.discovery-header__category-toggle[aria-expanded='true'] .discovery-header__chevron { transform: translateY(0.125rem) rotate(225deg); }
.discovery-header__submit {
  position: relative;
  width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); min-height: var(--terme-size-touch-target); padding: var(--terme-spacing-12);
  border: 0; border-radius: 50%; flex: none;
  background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent);
  transition: transform var(--discovery-feedback), background-color var(--discovery-feedback), box-shadow var(--discovery-feedback);
}
.discovery-header__submit img { width: 1.125rem; height: 1.125rem; filter: brightness(0) invert(1); }
.discovery-header__submit:active { transform: scale(0.96); }
.discovery-header__submit.is-sparkling { transform: scale(0.96); }
.discovery-header__sparkles { position: absolute; inset: 0; pointer-events: none; }
.discovery-header__sparkles span {
  position: absolute; top: 50%; left: 50%; width: 0.4375rem; height: 0.4375rem;
  background: var(--terme-color-brand-accent); opacity: 0;
  clip-path: polygon(50% 0, 63% 36%, 100% 50%, 63% 64%, 50% 100%, 37% 64%, 0 50%, 37% 36%);
}
.discovery-header__sparkles span:nth-child(1) { --spark-x: -2rem; --spark-y: -1.5rem; }
.discovery-header__sparkles span:nth-child(2) { --spark-x: 0.25rem; --spark-y: -2.375rem; }
.discovery-header__sparkles span:nth-child(3) { --spark-x: 2rem; --spark-y: -1.125rem; }
.discovery-header__sparkles span:nth-child(4) { --spark-x: 2.125rem; --spark-y: 1.25rem; }
.discovery-header__sparkles span:nth-child(5) { --spark-x: -0.5rem; --spark-y: 2.25rem; }
.discovery-header__sparkles span:nth-child(6) { --spark-x: -2rem; --spark-y: 1.125rem; }
.discovery-header__submit.is-sparkling .discovery-header__sparkles span { --discovery-header-sparkles-duration: 300ms; animation: discovery-search-sparkle var(--discovery-header-sparkles-duration) var(--terme-motion-easing-ease-out) both; }
@keyframes discovery-search-sparkle {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.4); }
  20% { opacity: 1; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--spark-x)), calc(-50% + var(--spark-y))) scale(1); }
}
@media (hover: hover) and (pointer: fine) {
  .discovery-header:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='canonicalService']:hover) .discovery-header__active-segment { opacity: 1; transform: translateX(0); }
  .discovery-header:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='q']:hover) .discovery-header__active-segment { opacity: 1; transform: translateX(100%); }
  .discovery-header:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='businessType']:hover) .discovery-header__active-segment { opacity: 1; transform: translateX(200%); }
  .discovery-header:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field]:hover) .discovery-header__field::before,
  .discovery-header:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field]:hover) .discovery-header__category::before,
  .discovery-header:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field]:hover) .discovery-header__category::after { opacity: 0; transition: none; }
  .discovery-header__partner:hover { background: var(--terme-color-brand-accent-selected); }
  .discovery-header__submit:hover {
    --discovery-header-submit-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-accent) 24%, transparent);
    background: var(--terme-color-brand-accent-hover);
    transform: translateY(-0.0625rem) scale(1.04);
    box-shadow: var(--discovery-header-submit-shadow);
  }
  .discovery-header .discovery-header__back:hover {
    --discovery-header-back-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 14%, transparent);
    background: var(--terme-color-surface-canvas);
    transform: translateY(-0.0625rem) scale(1.04);
    box-shadow: var(--discovery-header-back-shadow);
  }
  .discovery-header .discovery-header__back:active { transform: scale(0.96); }
  .discovery-header__submit:active,
  .discovery-header__submit.is-sparkling { transform: scale(0.96); }
  .discovery-header__account:hover { box-shadow: inset 0 0 0 0.0625rem var(--terme-color-brand-ink); }
}
.discovery-header__actions { display: flex; justify-content: flex-end; align-items: center; gap: var(--terme-spacing-8); }
/* ADR 0053, canvas "TERme Header" E2: `für Anbieter` is its own warm pill with
   the script "für" (like the logo's "me"); motion only on press. */
.discovery-header__partner {
  display: inline-flex; align-items: center; gap: var(--terme-spacing-6); box-sizing: border-box;
  height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-16) 0 var(--terme-spacing-14);
  border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-accent-soft);
  box-shadow: inset 0 0 0 0.0625rem var(--terme-color-brand-accent-selected);
  color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold);
  white-space: nowrap; text-decoration: none;
  transition: background-color var(--terme-motion-duration-state) ease, transform 160ms var(--terme-motion-easing-ease-out);
}
.discovery-header__partner:hover { text-decoration: none; }
.discovery-header__partner:active { transform: scale(0.97); }
.discovery-header__partner-script {
  display: inline-block; margin-top: 0.125rem;
  font-family: var(--terme-font-family-script); font-size: var(--terme-font-size-24); font-weight: var(--terme-font-weight-regular);
  line-height: 1; color: var(--terme-color-brand-accent); transform: rotate(-4deg);
  transition: transform 280ms var(--terme-motion-easing-ease-out);
}
.discovery-header__partner:active .discovery-header__partner-script { transform: translateY(-0.0625rem) rotate(-10deg); }
/* One circle to `Mein Konto`: the figure, or the initials of the shop-page
   sign-in. Only a sign-in on this page animates: nod, roll, sparkles. */
.discovery-header__account {
  position: relative; display: inline-flex; flex: none; align-items: center; justify-content: center;
  width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); border-radius: var(--terme-radius-pill);
  background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-border-default);
  color: var(--terme-color-brand-ink);
  transition: box-shadow var(--terme-motion-duration-state) ease, transform 160ms var(--terme-motion-easing-ease-out);
}
.discovery-header__account:active { transform: scale(0.94); }
.discovery-header__account-clip { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; border-radius: inherit; overflow: hidden; }
.discovery-header__account-figure { width: 1.5rem; height: 1.5rem; overflow: visible; }
.discovery-header__account-head { transform-box: fill-box; transform-origin: 50% 100%; }
.discovery-header__account-initials {
  position: absolute; inset: 0.125rem; display: flex; align-items: center; justify-content: center; border-radius: inherit;
  background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent);
  font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); letter-spacing: 0.02em;
  opacity: 0; transform: translateY(70%);
}
.discovery-header__account.is-signed-in .discovery-header__account-initials { opacity: 1; transform: none; }
.discovery-header__account.is-signed-in .discovery-header__account-figure { opacity: 0; transform: translateY(-120%); }
.discovery-header__account.is-arriving .discovery-header__account-figure { transition: opacity 200ms ease 120ms, transform 320ms var(--terme-motion-easing-ease-out) 120ms; }
.discovery-header__account.is-arriving .discovery-header__account-initials { transition: opacity 200ms ease 120ms, transform 340ms var(--terme-motion-easing-ease-out) 120ms; }
.discovery-header__account.is-arriving .discovery-header__account-head { animation: discovery-account-nod 300ms var(--terme-motion-easing-ease-out); }
.discovery-header__account.is-arriving .discovery-header__sparkles span { animation: discovery-search-sparkle 460ms var(--terme-motion-easing-ease-out) 140ms both; }
.discovery-header__account.is-arriving .discovery-header__sparkles span:nth-child(even) { animation-delay: 180ms; }
@keyframes discovery-account-nod {
  0%, 100% { transform: none; }
  45% { transform: translateY(-0.15rem) rotate(-12deg); }
}
.discovery-header__suggestions {
  --discovery-header-suggestions-radius: 1.5rem;
  position: absolute; left: 0; top: calc(100% + 1rem);
  box-sizing: border-box; width: 25rem; max-width: calc(100vw - 2 * var(--terme-public-gutter));
  max-height: min(28rem, 65vh); overflow-y: auto;
  padding: var(--terme-spacing-16); border: 0.0625rem solid var(--terme-color-border-soft);
  border-radius: var(--discovery-header-suggestions-radius); background: var(--terme-color-surface-raised);
  box-shadow: var(--discovery-popover-shadow); z-index: calc(var(--terme-z-index-raised) + 1);
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(-0.25rem) scale(0.98); transform-origin: top left;
  transition: opacity var(--terme-motion-duration-enter) var(--terme-motion-easing-ease-out), transform var(--terme-motion-duration-enter) var(--terme-motion-easing-ease-out), visibility 0s linear 180ms;
}
.discovery-header__suggestions.is-open {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1);
  transition: opacity var(--discovery-feedback), transform var(--discovery-feedback), visibility 0s;
}
.discovery-header__category-options { left: auto; right: 0; width: 19rem; transform-origin: top right; }
.discovery-header__suggestion-title {
  color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12);
  margin: 0 0 var(--terme-spacing-8); padding: var(--terme-spacing-8) var(--terme-spacing-12);
}
.discovery-header__suggestion {
  position: relative; z-index: var(--terme-z-index-raised);
  display: flex; gap: var(--terme-spacing-12); align-items: center;
  width: 100%; min-height: 3.125rem; padding: var(--terme-spacing-8) var(--terme-spacing-12);
  border: 0; border-radius: var(--terme-radius-md); color: var(--terme-color-text-primary);
  background: transparent; text-align: left;
  font: var(--terme-font-weight-semibold) var(--terme-font-size-14) var(--terme-font-family-interface); cursor: pointer;
}
.discovery-header__suggestion:focus-visible,
.discovery-header__suggestion[aria-selected='true'] { background: var(--terme-color-surface-canvas); }
.discovery-header__row-highlight {
  position: absolute; top: 0; left: 0;
  border-radius: var(--terme-radius-md); background: var(--terme-color-surface-canvas);
  opacity: 0; pointer-events: none;
  transition: transform var(--discovery-motion), opacity var(--terme-motion-duration-enter) ease;
}
.discovery-header__row-highlight.is-visible { opacity: 1; }
.discovery-header__suggestions:has(.discovery-header__row-highlight.is-visible) .discovery-header__suggestion { background: transparent; }
@media (hover: hover) and (pointer: fine) {
  .discovery-header:not(.is-keyboard-input) .discovery-header__suggestions:not(:has(.discovery-header__row-highlight.is-visible)) .discovery-header__suggestion:hover { background: var(--terme-color-surface-canvas); }
}
.discovery-header__suggestion-icon {
  display: grid; place-items: center; flex: none;
  width: 2.5rem; height: 2.5rem; border-radius: var(--terme-radius-md);
  background: var(--terme-color-border-soft);
}
.discovery-header__suggestion-icon img { width: 1.125rem; height: 1.125rem; }
.discovery-header__selection-check { margin-left: auto; }
.discovery-header.is-keyboard-input .discovery-header__active-segment,
.discovery-header.is-keyboard-input .discovery-header__partner,
.discovery-header.is-keyboard-input .discovery-header__account,
.discovery-header.is-keyboard-input .discovery-header__row-highlight,
.discovery-header.is-keyboard-input .discovery-header__chevron,
.discovery-header.is-keyboard-input .discovery-header__submit,
.discovery-header.is-keyboard-input .discovery-header__back,
.discovery-header.is-keyboard-input .discovery-header__field::before,
.discovery-header.is-keyboard-input .discovery-header__category::before,
.discovery-header.is-keyboard-input .discovery-header__category::after,
.discovery-header.is-keyboard-input .discovery-header__suggestions { transition: none; }
@media (width < 75rem) {
  .discovery-header__inner { grid-template-columns: auto minmax(24rem, 1fr) auto; gap: var(--terme-spacing-24); }
  .discovery-header:not(.discovery-header--hero):not(.discovery-header--without-search) .discovery-header__partner { display: none; }
}
@media (width < 52.5rem) {
  :root { --terme-discovery-header-height: 11.625rem; }
  .discovery-header__inner { grid-template-columns: 1fr auto; gap: var(--terme-spacing-12); padding-block: var(--terme-spacing-16); }
  .discovery-header__search { --discovery-header-search-radius: 1.5rem; grid-column: 1 / -1; grid-row: 2; width: 100%; height: auto; border-radius: var(--discovery-header-search-radius); align-items: flex-end; }
  .discovery-header__segments { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, 2.75rem); }
  .discovery-header__active-segment { height: var(--terme-size-touch-target); width: 50%; }
  .discovery-header__segments[data-active-field='q'] .discovery-header__active-segment { transform: translateX(100%); }
  .discovery-header__segments[data-active-field='businessType'] .discovery-header__active-segment { transform: translateY(100%); width: 100%; }
  .discovery-header__category { grid-column: 1 / -1; }
  .discovery-header__category::before { display: none; }
  .discovery-header__category::after {
    --discovery-header-category-duration: 120ms;
    content: ''; position: absolute; top: 0; left: 0; right: 0;
    border-top: 0.0625rem solid var(--terme-color-border-soft); pointer-events: none;
    transition: opacity var(--discovery-header-category-duration) ease 260ms;
  }
  .discovery-header__field { padding-inline: var(--terme-spacing-8); gap: var(--terme-spacing-4); }
  .discovery-header__field input { font-size: var(--terme-font-size-12); }
  .discovery-header__suggestions { position: fixed; left: var(--terme-public-gutter); right: var(--terme-public-gutter); top: calc(var(--terme-discovery-header-height) - 0.5rem); width: auto; max-height: min(28rem, 60vh); }
  .discovery-header__actions { grid-column: 2; grid-row: 1; }
}
@media (width < 52.5rem) and (hover: hover) and (pointer: fine) {
  .discovery-header:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field]:hover) .discovery-header__active-segment { width: 50%; }
  .discovery-header:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='businessType']:hover) .discovery-header__active-segment { width: 100%; transform: translateY(100%); }
}
@media (prefers-reduced-motion: reduce) {
  .discovery-header__active-segment,
  .discovery-header__partner,
  .discovery-header__partner-script,
  .discovery-header__account,
  .discovery-header__row-highlight,
  .discovery-header__chevron,
  .discovery-header__submit,
  .discovery-header .discovery-header__back,
  .discovery-header__field::before,
  .discovery-header__category::before,
  .discovery-header__category::after,
  .discovery-header__suggestions, .discovery-header__suggestions.is-open { transition: none; }
  .discovery-header__submit:hover,
  .discovery-header__submit:active { transform: none; }
  .discovery-header .discovery-header__back:hover,
  .discovery-header .discovery-header__back:active { transform: none; }
  .discovery-header__partner:active,
  .discovery-header__account:active { transform: none; }
  .discovery-header__partner:active .discovery-header__partner-script { transform: rotate(-4deg); }
  .discovery-header__account.is-arriving .discovery-header__account-figure,
  .discovery-header__account.is-arriving .discovery-header__account-initials { transition: opacity 200ms ease; }
  .discovery-header__account.is-arriving .discovery-header__account-head { animation: none; }
  .discovery-header__sparkles { display: none; }
}
.discovery-header--with-date .discovery-header__inner { grid-template-columns: auto minmax(0, 54rem) auto; justify-content: space-between; gap: var(--terme-spacing-16); }
.discovery-header--with-date .discovery-header__segments { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.discovery-header--with-date .discovery-header__active-segment { width: 25%; }
.discovery-header__segments[data-active-field='date'] .discovery-header__active-segment { opacity: 1; transform: translateX(300%); }
.discovery-header__date .discovery-header__category-toggle { justify-content: flex-start; }
.discovery-header__date svg { width: 1.125rem; height: 1.125rem; flex: none; }
.discovery-header__calendar { left: auto; right: 0; width: 24rem; max-height: min(44rem, calc(100dvh - var(--terme-discovery-header-height) - 2rem)); }
.discovery-calendar__sheet-head, .discovery-calendar__sheet-foot, .discovery-calendar__scrim { display: none; }
.discovery-calendar__month { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--terme-spacing-12); }
.discovery-calendar__month button { border: 0; border-radius: 50%; background: transparent; color: inherit; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); font-size: var(--terme-font-size-24); cursor: pointer; }
.discovery-calendar__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--terme-spacing-4); }
.discovery-calendar__weekday { text-align: center; padding-block: var(--terme-spacing-8); font-size: var(--terme-font-size-12); color: var(--terme-color-text-secondary); }
.discovery-calendar__day { --discovery-calendar-day-duration: 260ms; aspect-ratio: 1; border: 1px solid transparent; border-radius: 50%; background: transparent; color: inherit; font: var(--terme-font-weight-semibold) var(--terme-font-size-14) var(--terme-font-family-interface); cursor: pointer; transition: background var(--discovery-calendar-day-duration) ease, transform var(--discovery-calendar-day-duration) ease; }
.discovery-calendar__day[aria-current='date'] { border-color: var(--terme-color-border-default); }
.discovery-calendar__day[aria-pressed='true'] { background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); }
.discovery-calendar__day.is-range-start { box-shadow: 0.75rem 0 0 -0.125rem var(--terme-color-border-soft); }
.discovery-calendar__day.is-range-end { box-shadow: -0.75rem 0 0 -0.125rem var(--terme-color-border-soft); }
.discovery-calendar__day:disabled, .discovery-calendar__month button:disabled { opacity: 0.3; cursor: default; }
.discovery-calendar__day:not(:disabled):hover, .discovery-calendar__month button:not(:disabled):hover { background: var(--terme-color-border-soft); color: var(--terme-color-text-primary); }
.discovery-calendar__quick { display: flex; gap: var(--terme-spacing-6); margin-bottom: var(--terme-spacing-24); }
.discovery-calendar__quick-button { flex: 1 1 auto; min-height: 2.5rem; padding: var(--terme-spacing-8) var(--terme-spacing-10); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-pill); background: transparent; color: inherit; font: var(--terme-font-weight-semibold) var(--terme-font-size-14) var(--terme-font-family-interface); white-space: nowrap; cursor: pointer; }
.discovery-calendar__quick-button[aria-pressed='true'] { border-color: var(--terme-color-text-primary); background: var(--terme-color-surface-canvas); }
.discovery-calendar__time { display: flex; flex-direction: column; gap: var(--terme-spacing-12); margin-top: var(--terme-spacing-24); padding-top: var(--terme-spacing-16); border-top: 0.0625rem solid var(--terme-color-border-soft); }
.discovery-calendar__time-head { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-12); min-height: 2.25rem; }
.discovery-calendar__time-label { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.discovery-calendar__anytime { --discovery-calendar-anytime-duration: 260ms; min-height: 2.25rem; padding: 0 var(--terme-spacing-14); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-pill); background: transparent; color: var(--terme-color-text-secondary); font: var(--terme-font-weight-semibold) var(--terme-font-size-13) var(--terme-font-family-interface); cursor: pointer; transition: background-color var(--discovery-calendar-anytime-duration) var(--terme-motion-easing-ease-out), border-color var(--discovery-calendar-anytime-duration) var(--terme-motion-easing-ease-out); }
.discovery-calendar__anytime[aria-pressed='true'] { border-color: var(--terme-color-brand-ink); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); }
.discovery-calendar__dayparts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--terme-spacing-8); }
.discovery-calendar__daypart { --discovery-calendar-daypart-duration: 260ms; display: flex; align-items: center; gap: var(--terme-spacing-10); box-sizing: border-box; min-width: 0; min-height: 3.5rem; padding: var(--terme-spacing-8) var(--terme-spacing-12); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-card); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: inherit; text-align: left; cursor: pointer; transition: background-color var(--discovery-calendar-daypart-duration) var(--terme-motion-easing-ease-out), border-color var(--discovery-calendar-daypart-duration) var(--terme-motion-easing-ease-out); }
.discovery-calendar__dayparts .discovery-calendar__daypart svg { width: 1.375rem; height: 1.375rem; flex: none; color: var(--terme-color-text-secondary); }
.discovery-calendar__dayparts .discovery-calendar__daypart[aria-pressed='true'] svg { color: var(--terme-color-brand-accent); }
.discovery-calendar__daypart-text { display: flex; flex-direction: column; min-width: 0; }
.discovery-calendar__daypart-text strong { font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-18); }
.discovery-calendar__daypart-text span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); line-height: var(--terme-line-height-16); }
.discovery-calendar__daypart[aria-pressed='true'] { border-color: var(--terme-color-brand-ink); background: var(--terme-color-surface-canvas); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-brand-ink); }
.discovery-calendar__quick-button:disabled, .discovery-calendar__anytime:disabled, .discovery-calendar__daypart:disabled { opacity: 0.45; cursor: default; }
@media (width >= 52.5rem) {
  .public-wann--side .public-wann__pick { display: grid; grid-template-columns: 20rem minmax(0, 1fr); gap: var(--terme-spacing-24); align-items: start; }
  .public-wann--side .discovery-calendar__time { margin-top: 0; padding-top: 0; border-top: 0; }
  .public-wann--side .discovery-calendar__dayparts { grid-template-columns: minmax(0, 1fr); }
  .public-wann--side .discovery-calendar__days { gap: var(--terme-spacing-2); }
}
@media (hover: hover) and (pointer: fine) {
  .discovery-calendar__anytime:not(:disabled):hover,
  .discovery-calendar__daypart:not(:disabled):not([aria-pressed='true']):hover { border-color: var(--terme-color-text-secondary); }
}
@media (prefers-reduced-motion: reduce) { .discovery-calendar__anytime, .discovery-calendar__daypart { transition: none; } }

.discovery-header--compact .discovery-header__date-day { color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); }
.discovery-header--compact .discovery-header__date { --discovery-header-date-duration: 600ms; transition: background-color var(--discovery-header-date-duration) var(--terme-motion-easing-ease-out); }
.discovery-header--compact .discovery-header__date.is-updated { background: var(--terme-color-brand-accent-soft); transition: none; }
.discovery-header__native-date { display: grid; min-width: 0; gap: var(--terme-spacing-4); font-size: var(--terme-font-size-12); }
.discovery-header__native-date input,
.discovery-header__date .terme-nojs input[type='text'] { box-sizing: border-box; min-width: 0; width: 100%; max-width: 100%; min-height: var(--terme-size-touch-target); padding: var(--terme-spacing-4); font: inherit; }
@media (hover: hover) and (pointer: fine) {
  .discovery-header:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='date']:hover) .discovery-header__active-segment { opacity: 1; transform: translateX(300%); }
}
@media (width < 52.5rem) {
  .discovery-header--with-date .discovery-header__inner { grid-template-columns: 1fr auto; }
  .discovery-header--with-date .discovery-header__segments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .discovery-header--with-date .discovery-header__category { grid-column: auto; padding-inline: var(--terme-spacing-8); }
  .discovery-header--with-date .discovery-header__active-segment { width: 50%; }
  .discovery-header--with-date .discovery-header__segments[data-active-field='businessType'] .discovery-header__active-segment { width: 50%; transform: translateY(100%); }
  .discovery-header--with-date .discovery-header__segments[data-active-field='date'] .discovery-header__active-segment { width: 50%; transform: translate(100%, 100%); }
  .discovery-header__date .discovery-header__category-toggle { font-size: var(--terme-font-size-12); gap: var(--terme-spacing-4); }
  .discovery-header__calendar { left: var(--terme-public-gutter); right: var(--terme-public-gutter); width: auto; }
}
@media (width < 52.5rem) and (hover: hover) and (pointer: fine) {
  .discovery-header--with-date:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='businessType']:hover) .discovery-header__active-segment { width: 50%; transform: translateY(100%); }
  .discovery-header--with-date:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='date']:hover) .discovery-header__active-segment { width: 50%; transform: translate(100%, 100%); }
}
@media (prefers-reduced-motion: reduce) { .discovery-calendar__day, .discovery-header .discovery-header__calendar { transition: none; } }
.discovery-header__home-back { display: none; }
.discovery-header--compact { border-bottom-color: var(--terme-color-border-soft); }
.discovery-header--compact .discovery-header__inner { grid-template-columns: auto minmax(0, 43rem) auto; justify-content: space-between; gap: var(--terme-spacing-24); min-height: 4.5rem; max-width: none; padding: 0 var(--terme-spacing-32); }
.discovery-header--compact .discovery-header__brand img { width: auto; height: 1.5rem; }
/* Same shape as the landing's hero bar: a rectangle with round corners, not a pill. */
.discovery-header--compact .discovery-header__search { height: 3.25rem; padding: 0 var(--terme-spacing-6) 0 var(--terme-spacing-8); border-radius: var(--terme-radius-lg); box-shadow: var(--terme-shadow-soft); }
.discovery-header--compact .discovery-header__segments { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.discovery-header--compact .discovery-header__active-segment { width: calc(100% / 3); top: 0.375rem; bottom: 0.375rem; border-radius: var(--terme-radius-md); }
.discovery-header--compact .discovery-header__segments[data-active-field='businessType'] .discovery-header__active-segment { transform: translateX(0); }
.discovery-header--compact .discovery-header__segments[data-active-field='q'] .discovery-header__active-segment { transform: translateX(100%); }
.discovery-header--compact .discovery-header__segments[data-active-field='date'] .discovery-header__active-segment { opacity: 1; transform: translateX(200%); }
.discovery-header__date .discovery-header__bar-icon,
.discovery-header__bar-icon { width: 1.125rem; height: 1.125rem; flex: none; color: var(--terme-color-text-secondary); }
.discovery-header--compact .discovery-header__field,
.discovery-header--compact .discovery-header__category { padding-inline: var(--terme-spacing-14); }
.discovery-header--compact [data-discovery-field='businessType']::before { display: none; }
.discovery-header--compact .discovery-header__field::before { content: ''; position: absolute; left: 0; height: 1.5rem; border-left: 0.0625rem solid var(--terme-color-border-soft); pointer-events: none; }
.discovery-header--compact .discovery-header__field input,
.discovery-header--compact .discovery-header__category-toggle,
.discovery-header--compact .discovery-header__category select { height: 2.5rem; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); }
.discovery-header--compact .discovery-header__date .discovery-header__category-toggle { color: var(--terme-color-text-secondary); font-weight: var(--terme-font-weight-regular); }
.discovery-header--compact .discovery-header__submit { width: 2.5rem; height: 2.5rem; min-height: 2.5rem; padding: var(--terme-spacing-10); border-radius: var(--terme-radius-md); }
.discovery-header--compact .discovery-header__calendar { right: 0; }
@media (hover: hover) and (pointer: fine) {
  .discovery-header--compact:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='businessType']:hover) .discovery-header__active-segment { opacity: 1; transform: translateX(0); }
  .discovery-header--compact:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='date']:hover) .discovery-header__active-segment { opacity: 1; transform: translateX(200%); }
}
@media (width < 75rem) {
  .discovery-header--compact .discovery-header__inner { grid-template-columns: auto minmax(0, 1fr) auto; }
}
@media (width < 52.5rem) {
  .discovery-header--compact .discovery-header__inner { grid-template-columns: auto minmax(0, 1fr); gap: var(--terme-spacing-6); min-height: 4.25rem; padding: 0 var(--terme-spacing-12) 0 var(--terme-spacing-8); }
  .discovery-header--compact .discovery-header__brand,
  .discovery-header--compact .discovery-header__actions { display: none; }
  .discovery-header--compact .discovery-header__home-back { display: inline-flex; align-items: center; justify-content: center; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); border-radius: var(--terme-radius-pill); color: var(--terme-color-brand-ink); }
  .discovery-header--compact .discovery-header__home-back svg { width: 1.375rem; height: 1.375rem; }
  .discovery-header--compact .discovery-header__search { grid-column: auto; grid-row: auto; height: 3.125rem; border-radius: var(--terme-radius-lg); align-items: center; padding-left: var(--terme-spacing-4); }
  .discovery-header--compact .discovery-header__segments { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; }
  .discovery-header--compact .discovery-header__category { grid-column: auto; padding-inline: var(--terme-spacing-8); }
  .discovery-header--compact .discovery-header__field { padding-inline: var(--terme-spacing-8); }
  .discovery-header--compact .discovery-header__category::after { display: none; }
  .discovery-header--compact .discovery-header__date::before { display: block; }
  .discovery-header--compact .discovery-header__field input,
  .discovery-header--compact .discovery-header__category-toggle { font-size: var(--terme-font-size-13); }
  .discovery-header--compact .discovery-header__active-segment { width: calc(100% / 3); height: auto; }
  .discovery-header--compact .discovery-header__segments[data-active-field='businessType'] .discovery-header__active-segment { width: calc(100% / 3); transform: translateX(0); }
  .discovery-header--compact .discovery-header__segments[data-active-field='date'] .discovery-header__active-segment { width: calc(100% / 3); transform: translateX(200%); }
}
.discovery-header__was-search { display: flex; align-items: center; gap: var(--terme-spacing-8); margin-bottom: var(--terme-spacing-8); padding: 0 var(--terme-spacing-12); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-pill); }
.discovery-header__was-search svg { width: 1.125rem; height: 1.125rem; flex: none; color: var(--terme-color-text-secondary); }
.discovery-header__was-search input { flex: 1; min-width: 0; height: var(--terme-size-touch-target); border: 0; padding: 0; background: transparent; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-semibold) var(--terme-font-size-14) var(--terme-font-family-interface); outline: none; }
.discovery-header__was-search:focus-within { border-color: var(--terme-color-brand-ink); }
.discovery-header--compact .discovery-header__category-options { left: 0; right: auto; width: 22rem; transform-origin: top left; }
.discovery-header__native-service { min-width: 0; width: 100%; min-height: var(--terme-size-touch-target); font: inherit; }
.discovery-header__summary { display: none; }
@media (width < 52.5rem) {
  .discovery-header--compact .discovery-header__summary { display: flex; align-items: center; gap: var(--terme-spacing-10); box-sizing: border-box; min-width: 0; height: 3.125rem; padding: 0 var(--terme-spacing-6) 0 var(--terme-spacing-16); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); text-align: left; box-shadow: var(--terme-shadow-soft); font-family: var(--terme-font-family-interface); cursor: pointer; }
  .discovery-header__summary svg { width: 1.125rem; height: 1.125rem; flex: none; }
  .discovery-header__summary-copy { display: flex; flex-direction: column; flex: 1; min-width: 0; }
  .discovery-header__summary-main { overflow: hidden; font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-18); text-overflow: ellipsis; white-space: nowrap; }
  .discovery-header__summary-when { overflow: hidden; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); line-height: var(--terme-line-height-16); text-overflow: ellipsis; white-space: nowrap; }
  .discovery-header--compact .discovery-header__search { display: none; }
  .discovery-header--compact.is-search-open .discovery-header__search { position: absolute; left: 0.5rem; right: 0.5rem; top: calc(100% - 0.25rem); z-index: calc(var(--terme-z-index-raised) + 2); display: flex; flex-direction: column; align-items: stretch; gap: var(--terme-spacing-8); height: auto; padding: var(--terme-spacing-12); border-radius: var(--terme-radius-xl); box-shadow: var(--terme-shadow-raised); }
  .discovery-header--compact.is-search-open .discovery-header__segments { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; height: auto; }
  .discovery-header--compact.is-search-open .discovery-header__active-segment { display: none; }
  .discovery-header--compact.is-search-open .discovery-header__field,
  .discovery-header--compact.is-search-open .discovery-header__category { min-height: 3rem; padding-inline: var(--terme-spacing-12); border-bottom: 0.0625rem solid var(--terme-color-border-soft); }
  .discovery-header--compact.is-search-open .discovery-header__field::before,
  .discovery-header--compact.is-search-open .discovery-header__category::before { display: none; }
  .discovery-header--compact.is-search-open .discovery-header__field input,
  .discovery-header--compact.is-search-open .discovery-header__category-toggle { height: 3rem; font-size: var(--terme-font-size-14); }
  .discovery-header--compact.is-search-open .discovery-header__submit { width: 100%; height: 3rem; min-height: 3rem; border-radius: var(--terme-radius-md); }
  .discovery-header--compact .discovery-header__suggestions { top: calc(var(--terme-discovery-header-height) + 0.5rem); }
}
/* The hero header lends its brand, actions and search to the landing hero
   grid (grid areas brand, actions, search). */
.discovery-header--hero,
.discovery-header--hero .discovery-header__inner { display: contents; }
.discovery-header--hero .discovery-header__brand { grid-area: brand; align-self: center; display: inline-flex; align-items: center; height: 5rem; }
.discovery-header--hero .discovery-header__brand img { width: auto; height: 1.5rem; }
.discovery-header--hero .discovery-header__actions { grid-area: actions; justify-self: end; align-self: center; }
.discovery-header--hero .discovery-header__search { grid-area: search; z-index: calc(var(--terme-z-index-raised) + 4); width: 100%; margin-top: 3.25rem; }
.discovery-header--hero .discovery-header__search { height: auto; min-height: 4.5rem; gap: var(--terme-spacing-8); padding: var(--terme-spacing-8); border-radius: var(--terme-radius-xl); box-shadow: var(--terme-shadow-raised); }
.discovery-header--hero .discovery-header__segments { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.discovery-header--hero .discovery-header__active-segment { width: calc(100% / 3); border-radius: var(--terme-radius-card); }
.discovery-header--hero .discovery-header__segments[data-active-field='businessType'] .discovery-header__active-segment { transform: translateX(0); }
.discovery-header--hero .discovery-header__segments[data-active-field='q'] .discovery-header__active-segment { transform: translateX(100%); }
.discovery-header--hero .discovery-header__segments[data-active-field='date'] .discovery-header__active-segment { opacity: 1; transform: translateX(200%); }
.discovery-header--hero .discovery-header__field,
.discovery-header--hero .discovery-header__category { display: grid; grid-template-columns: 1.375rem minmax(0, 1fr); column-gap: var(--terme-spacing-12); row-gap: var(--terme-spacing-2); align-content: center; padding: var(--terme-spacing-8) var(--terme-spacing-24); border-radius: var(--terme-radius-card); }
.discovery-header--hero .discovery-header__field + .discovery-header__field::before,
.discovery-header--hero .discovery-header__category::before { top: 50%; margin-top: calc(-1 * var(--terme-spacing-20)); height: 2.5rem; }
.discovery-header--hero [data-discovery-field='businessType']::before { display: none; }
.discovery-header--hero .discovery-header__hero-icon { grid-column: 1; grid-row: 1 / span 3; align-self: center; display: flex; }
.discovery-header--hero .discovery-header__hero-icon img { width: 1.375rem; height: 1.375rem; }
.discovery-header--hero .discovery-header__hero-label { grid-column: 2; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-16); }
.discovery-header--hero .discovery-header__field input,
.discovery-header--hero .discovery-header__category select,
.discovery-header--hero .discovery-header__category-toggle,
.discovery-header--hero .discovery-header__native-service,
.discovery-header--hero .discovery-header__native-date,
.discovery-header--hero .discovery-header__date input[type='text'] { grid-column: 2; height: 1.5rem; min-height: 1.5rem; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-regular); line-height: var(--terme-line-height-22); }
.discovery-header--hero .discovery-header__category-toggle .discovery-header__category-label { color: var(--terme-color-text-secondary); }
.discovery-header__was-caret { --discovery-header-was-caret-duration: 1s; display: inline-block; width: 0.09375rem; height: 1.05em; margin-left: 0.0625rem; vertical-align: -0.15em; background: var(--terme-color-brand-accent); animation: discovery-was-caret var(--discovery-header-was-caret-duration) steps(1) infinite; }
@keyframes discovery-was-caret { 50% { opacity: 0; } }
.discovery-header--hero .discovery-header__submit { transition: transform var(--discovery-feedback), translate var(--terme-motion-duration-emphasis) var(--terme-motion-easing-ease-out), background-color var(--discovery-feedback), box-shadow var(--discovery-feedback); }
.discovery-header--hero .discovery-header__date .discovery-header__category-toggle svg { display: none; }
.discovery-header--hero .discovery-header__submit { width: auto; height: 3.5rem; min-height: 3.5rem; padding: 0 var(--terme-spacing-32); border-radius: var(--terme-radius-card); display: inline-flex; align-items: center; justify-content: center; gap: var(--terme-spacing-8); }
.discovery-header--hero .discovery-header__submit-text { color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-bold); }
.discovery-header--hero .discovery-header__category-options { left: 0; right: auto; width: 22rem; transform-origin: top left; }
/* The docked top bar's background (ADR 0054); hidden unless docked or on the way back. */
.discovery-header__dock-band { display: none; }
@media (width >= 52.5rem) {
  /* Docked (ADR 0054, Feinschliff): the hero bar becomes the compact top bar of /search. */
  .discovery-header--hero.is-docked { position: fixed; inset: 0 0 auto 0; z-index: var(--terme-z-index-header); display: block; }
  .discovery-header--hero.is-docked .discovery-header__dock-band,
  .discovery-header--hero.is-undocking .discovery-header__dock-band { display: block; position: fixed; inset: 0 0 auto 0; z-index: -1; height: 4.5rem; border-bottom: 0.0625rem solid var(--terme-color-border-soft); background: var(--terme-color-surface-canvas); box-shadow: var(--terme-shadow-soft); pointer-events: none; }
  .discovery-header--hero.is-undocking .discovery-header__dock-band { opacity: 0; }
  .discovery-header--hero.is-docked .discovery-header__inner { display: grid; grid-template-columns: auto minmax(0, 43rem) auto; justify-content: space-between; align-items: center; gap: var(--terme-spacing-24); box-sizing: border-box; width: 100%; min-height: 4.5rem; padding: 0 var(--terme-spacing-32); }
  .discovery-header--hero.is-docked .discovery-header__brand { grid-area: auto; height: auto; }
  .discovery-header--hero.is-docked .discovery-header__actions { grid-area: auto; }
  .discovery-header--hero.is-docked .discovery-header__search { grid-area: auto; min-height: 0; height: 3.25rem; margin-top: 0; gap: var(--terme-spacing-4); padding: 0 var(--terme-spacing-6) 0 var(--terme-spacing-8); border-radius: var(--terme-radius-lg); box-shadow: var(--terme-shadow-soft); }
  .discovery-header--hero.is-docked .discovery-header__active-segment { top: 0.375rem; bottom: 0.375rem; border-radius: var(--terme-radius-md); }
  .discovery-header--hero.is-docked .discovery-header__field,
  .discovery-header--hero.is-docked .discovery-header__category { column-gap: var(--terme-spacing-8); row-gap: 0; padding: 0 var(--terme-spacing-14); border-radius: var(--terme-radius-md); }
  .discovery-header--hero.is-docked .discovery-header__field + .discovery-header__field::before,
  .discovery-header--hero.is-docked .discovery-header__category::before { margin-top: calc(-1 * var(--terme-spacing-12)); height: 1.5rem; }
  .discovery-header--hero.is-docked .discovery-header__field,
  .discovery-header--hero.is-docked .discovery-header__category { grid-template-columns: 1rem minmax(0, 1fr); }
  .discovery-header--hero.is-docked .discovery-header__hero-icon img { width: 1rem; height: 1rem; }
  .discovery-header--hero.is-docked .discovery-header__hero-label { display: none; }
  .discovery-header--hero.is-docked .discovery-header__field input,
  .discovery-header--hero.is-docked .discovery-header__category-toggle,
  .discovery-header--hero.is-docked .discovery-header__category select { height: 2.5rem; min-height: 2.5rem; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); }
  .discovery-header--hero.is-docked .discovery-header__category-toggle .discovery-header__category-label { color: var(--terme-color-brand-ink); }
  .discovery-header--hero.is-docked .discovery-header__date .discovery-header__category-toggle,
  .discovery-header--hero.is-docked .discovery-header__date .discovery-header__category-toggle .discovery-header__category-label { color: var(--terme-color-text-secondary); font-weight: var(--terme-font-weight-regular); }
  .discovery-header--hero.is-docked .discovery-header__submit { width: 2.5rem; height: 2.5rem; min-height: 2.5rem; padding: var(--terme-spacing-10); border-radius: var(--terme-radius-md); }
  .discovery-header--hero.is-docked .discovery-header__submit-text { display: none; }
}
@media (width >= 52.5rem) and (prefers-reduced-motion: no-preference) {
  .discovery-header--hero.is-docked .discovery-header__dock-band { animation: discovery-dock-band 320ms var(--terme-motion-easing-ease-out) both; }
  .discovery-header--hero.is-docked .discovery-header__brand,
  .discovery-header--hero.is-docked .discovery-header__actions { animation: discovery-dock-side 360ms var(--terme-motion-easing-ease-out) 80ms both; }
  .discovery-header--hero.is-undocking .discovery-header__dock-band { animation: discovery-dock-band-out 340ms var(--terme-motion-easing-standard) both; }
}
@keyframes discovery-dock-band { from { opacity: 0; transform: translateY(-100%); } }
@keyframes discovery-dock-band-out { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-100%); } }
@keyframes discovery-dock-side { from { opacity: 0; transform: translateY(-0.5rem); } }
@media (hover: hover) and (pointer: fine) {
  .discovery-header--hero:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='businessType']:hover) .discovery-header__active-segment { opacity: 1; transform: translateX(0); }
  .discovery-header--hero:not(.is-keyboard-input) .discovery-header__segments:has([data-discovery-field='date']:hover) .discovery-header__active-segment { opacity: 1; transform: translateX(200%); }
}
@media (width < 52.5rem) {
  .discovery-header--hero .discovery-header__brand { height: 3.5rem; }
  .discovery-header--hero .discovery-header__search { margin-top: var(--terme-spacing-16); }
  .discovery-header--hero .discovery-header__search { flex-direction: column; align-items: stretch; padding: var(--terme-spacing-6) var(--terme-spacing-6) var(--terme-spacing-8); }
  .discovery-header--hero .discovery-header__segments { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .discovery-header--hero .discovery-header__active-segment { display: none; }
  .discovery-header--hero .discovery-header__field,
  .discovery-header--hero .discovery-header__category { min-height: 3.75rem; padding: var(--terme-spacing-8) var(--terme-spacing-12); border-radius: 0; }
  .discovery-header--hero .discovery-header__field + .discovery-header__field::before,
  .discovery-header--hero .discovery-header__category::before { display: none; }
  .discovery-header--hero .discovery-header__category::after { display: none; }
  .discovery-header--hero [data-discovery-field='q'],
  .discovery-header--hero [data-discovery-field='date'] { border-top: 0.0625rem solid var(--terme-color-border-soft); }
  .discovery-header--hero .discovery-header__field input,
  .discovery-header--hero .discovery-header__category-toggle { font-size: var(--terme-font-size-16); }
  .discovery-header--hero .discovery-header__submit { width: auto; margin: var(--terme-spacing-8) var(--terme-spacing-4) 0; height: 3.25rem; min-height: 3.25rem; }
  .discovery-header--hero .discovery-header__suggestions,
  .discovery-header--hero .discovery-header__calendar { position: absolute; left: 0; right: 0; top: calc(100% + 0.5rem); width: auto; max-height: min(28rem, 60vh); }
}/* Phones: Wann is a bottom sheet over a scrim with its own apply button. */
@media (width < 52.5rem) {
  .discovery-calendar__scrim { display: block; position: fixed; inset: 0; z-index: var(--terme-z-index-overlay); background: color-mix(in srgb, var(--terme-color-brand-ink) 38%, transparent); }
  .discovery-header .discovery-header__suggestions.discovery-header__calendar { --discovery-header-calendar-radius: 1.5rem; position: fixed; top: auto; right: 0; bottom: 0; left: 0; z-index: var(--terme-z-index-dialog); display: flex; flex-direction: column; width: auto; max-width: none; max-height: calc(100dvh - 3.5rem); padding: 0; overflow: hidden; border: 0; border-radius: var(--discovery-header-calendar-radius) var(--discovery-header-calendar-radius) 0 0; transform: translateY(1.5rem); transform-origin: bottom center; }
  .discovery-header .discovery-header__suggestions.discovery-header__calendar.is-open { transform: none; }
  .discovery-calendar__sheet-head { display: flex; flex: none; align-items: center; justify-content: space-between; padding: var(--terme-spacing-12) var(--terme-spacing-8) 0 var(--terme-spacing-16); }
  .discovery-calendar__sheet-title { margin: 0; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-18)/var(--terme-line-height-24) var(--terme-font-family-interface); }
  .discovery-calendar__close { display: grid; place-items: center; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); padding: 0; border: 0; border-radius: var(--terme-radius-pill); background: transparent; color: var(--terme-color-brand-ink); cursor: pointer; }
  .discovery-calendar__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: var(--terme-spacing-4) var(--terme-spacing-16) var(--terme-spacing-16); }
  .discovery-calendar__body .discovery-calendar__quick { margin-bottom: var(--terme-spacing-12); }
  .discovery-calendar__body .discovery-calendar__month { margin-bottom: var(--terme-spacing-4); }
  .discovery-calendar__body .discovery-calendar__days { gap: var(--terme-spacing-2); }
  .discovery-calendar__body .discovery-calendar__weekday { padding-block: var(--terme-spacing-4); }
  .discovery-calendar__body .discovery-calendar__time { margin-top: var(--terme-spacing-12); padding-top: var(--terme-spacing-12); }
  .discovery-calendar__sheet-foot { display: flex; flex: none; align-items: center; justify-content: space-between; gap: var(--terme-spacing-12); padding: var(--terme-spacing-12) var(--terme-spacing-16) calc(var(--terme-spacing-16) + env(safe-area-inset-bottom)); border-top: 0.0625rem solid var(--terme-color-border-soft); background: var(--terme-color-surface-raised); }
  .discovery-calendar__reset { min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-8); border: 0; background: transparent; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-15) var(--terme-font-family-interface); text-decoration: underline; text-underline-offset: 0.1875rem; cursor: pointer; }
  .discovery-calendar__show { --discovery-calendar-show-padding: 1.375rem; min-height: 3rem; padding: 0 var(--discovery-calendar-show-padding); border: 0; border-radius: var(--terme-radius-md); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font: var(--terme-font-weight-bold) var(--terme-font-size-16) var(--terme-font-family-interface); cursor: pointer; }
}
.search-filters { position: relative; display: inline-flex; flex: none; }
.search-filters__trigger { position: relative; }
.search-filters__trigger[aria-expanded='true'] { border-color: var(--terme-color-brand-ink); background: var(--terme-color-surface-canvas); }
.search-filters__count { position: absolute; top: -0.375rem; right: -0.375rem; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 1.25rem; height: 1.25rem; padding: 0 var(--terme-spacing-6); border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); box-shadow: 0 0 0 0.125rem var(--terme-color-surface-raised); }
@media (width >= 52.5rem) { .search-filters__count--sheet { display: none; } }
@media (width < 52.5rem) { .search-filters__count--menu { display: none; } }
.search-filter-dialog { --search-filter-dialog-shadow: 0 0.25rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 5%, transparent), 0 1.5rem 3rem color-mix(in srgb, var(--terme-color-brand-ink) 20%, transparent); box-sizing: border-box; width: min(45rem, calc(100vw - 2rem)); max-width: none; height: min(51.25rem, calc(100dvh - 5rem)); max-height: none; margin: auto; padding: 0; border: 0; border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); color: var(--terme-color-text-primary); box-shadow: var(--search-filter-dialog-shadow); overflow: hidden; font-family: var(--terme-font-family-interface); }
.search-filter-dialog::backdrop { background: color-mix(in srgb, var(--terme-color-brand-ink) 45%, transparent); }
.search-filter-dialog[open] { display: flex; flex-direction: column; }
.search-filter-dialog--target { display: none; position: fixed; inset: var(--terme-spacing-40) 0 auto; z-index: var(--terme-z-index-dialog); margin-inline: auto; }
.search-filter-dialog--target:target { display: flex; flex-direction: column; }
.search-filter-dialog__form { display: flex; flex-direction: column; flex: 1; min-height: 0; margin: 0; }
.search-filter-dialog__header { display: flex; align-items: center; justify-content: space-between; flex: none; box-sizing: border-box; height: 4.25rem; padding: 0 var(--terme-spacing-12) 0 var(--terme-spacing-24); border-bottom: 0.0625rem solid var(--terme-color-border-soft); }
.search-filter-dialog__title { margin: 0; font-size: var(--terme-font-size-18); line-height: var(--terme-line-height-24); font-weight: var(--terme-font-weight-bold); }
.search-filter-dialog__close { display: inline-flex; align-items: center; justify-content: center; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); border: 0; border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); cursor: pointer; }
.search-filter-dialog__close svg { width: 1.25rem; height: 1.25rem; }
.search-filter-dialog__body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: var(--terme-spacing-8) var(--terme-spacing-24) var(--terme-spacing-24); }
.search-filter-dialog__section { display: flex; flex-direction: column; gap: var(--terme-spacing-14); padding: var(--terme-spacing-24) 0; border-bottom: 0.0625rem solid var(--terme-color-border-soft); }
.search-filter-dialog__section:last-child { border-bottom: 0; padding-bottom: 0; }
@media (width >= 52.5rem) { .search-filter-dialog__section--sort { display: none; } .search-filter-dialog__section:has(+ .search-filter-dialog__section--sort) { border-bottom: 0; padding-bottom: 0; } }
.search-filter-dialog__heading { margin: 0; font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-22); font-weight: var(--terme-font-weight-bold); }
.search-filter-dialog__subheading { margin-top: var(--terme-spacing-6); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-bold); }
.search-filter-dialog__days, .search-filter-dialog__dayparts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--terme-spacing-10); }
.search-filter-tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--terme-spacing-4); box-sizing: border-box; min-height: 4.75rem; padding: var(--terme-spacing-8); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-raised); text-align: center; cursor: pointer; transition: background-color var(--terme-motion-duration-state) ease, border-color var(--terme-motion-duration-state) ease; }
.search-filter-tile--row { flex-direction: row; min-height: 4rem; gap: var(--terme-spacing-10); text-align: left; }
.search-filter-tile--dashed { border-style: dashed; background: var(--terme-color-surface-canvas); }
.search-filter-tile svg { width: 1.375rem; height: 1.375rem; flex: none; color: var(--terme-color-text-secondary); }
.search-filter-tile__input { position: absolute; opacity: 0; pointer-events: none; }
.search-filter-tile__copy { display: flex; flex-direction: column; min-width: 0; }
.search-filter-tile__title { font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); }
.search-filter-tile__detail { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); }
.search-filter-tile:has(input:checked), .search-filter-tile.is-selected { border: 0.09375rem solid var(--terme-color-brand-accent); background: var(--terme-color-brand-accent-selected); }
.search-filter-tile:has(input:checked) svg { color: var(--terme-color-brand-ink); }
.search-filter-tile:has(input:focus-visible), .search-filter-dialog__segment:has(input:focus-visible) { outline: var(--terme-size-focus-ring-width) solid var(--terme-color-text-secondary); outline-offset: var(--terme-size-focus-ring-offset); }
.search-filter-tile.is-disabled { opacity: 0.45; cursor: default; }
.search-filter-tile.is-selected svg { color: var(--terme-color-brand-ink); }
.search-filter-dialog__date { display: none; align-items: center; gap: var(--terme-spacing-12); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.search-filter-dialog__days:has(input[value='date']:checked) + .search-filter-dialog__date { display: flex; }
.search-filter-dialog--target .search-filter-dialog__date { display: flex; }
.search-filter-dialog__date input { min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-12); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-md); font: inherit; color: inherit; }
.search-filter-dialog__hint { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
.search-filter-dialog__segments { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--terme-spacing-4); padding: var(--terme-spacing-4); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-canvas); }
.search-filter-dialog__segment { position: relative; display: flex; align-items: center; justify-content: center; min-height: var(--terme-size-touch-target); border-radius: var(--terme-radius-md); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-semibold); cursor: pointer; transition: background-color var(--terme-motion-duration-state) ease, color var(--terme-motion-duration-state) ease; }
.search-filter-dialog__segment input { position: absolute; opacity: 0; pointer-events: none; }
.search-filter-dialog__segment:has(input:checked) { --search-filter-dialog-segment-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 12%, transparent); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); box-shadow: var(--search-filter-dialog-segment-shadow); }
.search-filter-dialog__switch-row { display: flex; align-items: center; gap: var(--terme-spacing-14); min-height: 4.5rem; cursor: pointer; }
.search-filter-dialog__switch-row + .search-filter-dialog__switch-row { border-top: 0.0625rem solid var(--terme-color-border-soft); }
.search-filter-dialog__switch-row svg { --search-filter-dialog-switch-row-margin-top: 1.125rem; width: 1.375rem; height: 1.375rem; flex: none; align-self: flex-start; margin-top: var(--search-filter-dialog-switch-row-margin-top); color: var(--terme-color-text-secondary); }
.search-filter-dialog__switch-copy { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.search-filter-dialog__switch-copy strong { font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-20); }
.search-filter-dialog__switch-copy span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.search-filter-dialog__switch { appearance: none; flex: none; position: relative; width: 3rem; height: 1.75rem; margin: 0; border-radius: var(--terme-radius-pill); background: var(--terme-color-border-default); cursor: pointer; transition: background-color var(--terme-motion-duration-state) ease; }
.search-filter-dialog__switch::after { content: ''; position: absolute; top: 0.1875rem; left: 0.1875rem; width: 1.375rem; height: 1.375rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); transition: transform var(--terme-motion-duration-state) ease; }
.search-filter-dialog__switch:checked { background: var(--terme-color-brand-accent); }
.search-filter-dialog__switch:checked::after { transform: translateX(1.25rem); }
.search-filter-dialog__sorts { display: flex; flex-direction: column; }
.search-filter-dialog__sort { display: flex; align-items: center; justify-content: space-between; min-height: 3rem; font-size: var(--terme-font-size-15); cursor: pointer; }
.search-filter-dialog__sort + .search-filter-dialog__sort { border-top: 0.0625rem solid var(--terme-color-border-soft); }
.search-filter-dialog__sort:has(input:checked) { font-weight: var(--terme-font-weight-bold); }
.search-filter-dialog__sort-lead { display: inline-flex; align-items: center; gap: var(--terme-spacing-12); }
.search-filter-dialog__sort-lead svg { width: 1.25rem; height: 1.25rem; flex: none; color: var(--terme-color-text-secondary); stroke-width: 1.8; }
.search-filter-dialog__sort:has(input:checked) .search-filter-dialog__sort-lead svg { color: var(--terme-color-brand-ink); }
.search-filter-dialog__sort input { appearance: none; width: 1.375rem; height: 1.375rem; margin: 0; box-sizing: border-box; border: 0.125rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-pill); cursor: pointer; }
.search-filter-dialog__sort input:checked { border: 0.4375rem solid var(--terme-color-brand-accent); }
.search-filter-dialog__footer { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-16); flex: none; box-sizing: border-box; min-height: 5rem; padding: var(--terme-spacing-12) var(--terme-spacing-24); border-top: 0.0625rem solid var(--terme-color-border-soft); background: var(--terme-color-surface-raised); }
.search-filter-dialog__reset { min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-4); border: 0; background: transparent; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-15) var(--terme-font-family-interface); text-decoration: underline; cursor: pointer; display: inline-flex; align-items: center; }
.search-filter-dialog__submit { min-height: 3.25rem; padding: 0 var(--terme-spacing-24); border: 0; border-radius: var(--terme-radius-card); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font: var(--terme-font-weight-bold) var(--terme-font-size-16) var(--terme-font-family-interface); cursor: pointer; transition: opacity var(--terme-motion-duration-state) ease, background-color var(--terme-motion-duration-state) ease; }
.search-filter-dialog__submit.is-loading-count { opacity: 0.6; }
.search-filter-dialog__submit:disabled { background: var(--terme-color-border-default); cursor: default; }
@media (hover: hover) and (pointer: fine) {
  .search-filter-tile:not(.is-disabled):hover { border-color: var(--terme-color-text-secondary); }
  .search-filter-dialog__submit:not(:disabled):hover { background: var(--terme-color-brand-accent-hover); }
}
@media (width < 52.5rem) {
  .search-filter-dialog { width: 100vw; height: 100dvh; border-radius: 0; }
  .search-filter-dialog--target { inset: 0; }
  .search-filter-dialog__days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-filter-dialog__dayparts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-filter-dialog__dayparts .search-filter-tile:first-child { grid-column: 1 / -1; }
  .search-filter-dialog__segments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Desktop: a menu anchored under Filter, like Sortieren, without a backdrop. */
@media (width >= 52.5rem) {
  .search-filter-dialog,
  .search-filter-dialog--target { --search-filter-dialog-shadow: 0 0.25rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 4%, transparent), 0 1rem 2rem color-mix(in srgb, var(--terme-color-brand-ink) 16%, transparent); position: absolute; inset: calc(100% + var(--terme-spacing-8)) auto auto 0; z-index: var(--terme-z-index-dropdown); width: min(38rem, calc(100vw - 4rem)); height: auto; max-height: calc(100dvh - 10rem); margin: 0; border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-lg); box-shadow: var(--search-filter-dialog-shadow); }
  .search-filter-dialog__header { height: 3.5rem; padding: 0 var(--terme-spacing-8) 0 var(--terme-spacing-20); border-bottom: 0; }
  .search-filter-dialog__title { font-size: var(--terme-font-size-16); }
  .search-filter-dialog__close { width: 2.5rem; height: 2.5rem; background: transparent; }
  .search-filter-dialog__body { padding: 0 var(--terme-spacing-20) var(--terme-spacing-12); }
  .search-filter-dialog__section { gap: var(--terme-spacing-10); padding: var(--terme-spacing-16) 0; }
  .search-filter-dialog__section:first-child { padding-top: var(--terme-spacing-4); }
  .search-filter-dialog__heading { font-size: var(--terme-font-size-15); }
  .search-filter-dialog__days { gap: var(--terme-spacing-8); }
  .search-filter-dialog__days .search-filter-tile { min-height: 3.75rem; border-radius: var(--terme-radius-card); }
  .search-filter-dialog__dayparts { gap: var(--terme-spacing-4); padding: var(--terme-spacing-4); border-radius: var(--terme-radius-card); background: var(--terme-color-surface-canvas); }
  .search-filter-dialog__dayparts .search-filter-tile { min-height: 2.5rem; padding: 0 var(--terme-spacing-8); border: 0; border-radius: var(--terme-radius-field); background: transparent; justify-content: center; }
  .search-filter-dialog__dayparts .search-filter-tile svg { display: none; }
  .search-filter-dialog__dayparts .search-filter-tile__detail { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .search-filter-dialog__dayparts .search-filter-tile__title { font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-semibold); color: var(--terme-color-text-secondary); }
  .search-filter-dialog__dayparts .search-filter-tile:has(input:checked) { --search-filter-tile-shadow: 0 0.0625rem 0.1875rem color-mix(in srgb, var(--terme-color-brand-ink) 16%, transparent); border: 0; background: var(--terme-color-surface-raised); box-shadow: var(--search-filter-tile-shadow); }
  .search-filter-dialog__dayparts .search-filter-tile:has(input:checked) .search-filter-tile__title { color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); }
  .search-filter-dialog__segments .search-filter-dialog__segment { min-height: 2.5rem; }
  .search-filter-dialog__switch-row { min-height: 3.5rem; }
  .search-filter-dialog__switch-row svg { align-self: center; margin-top: 0; }
  .search-filter-dialog__footer { min-height: 4rem; padding: var(--terme-spacing-10) var(--terme-spacing-20); }
  .search-filter-dialog__submit { min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-20); border-radius: var(--terme-radius-md); font-size: var(--terme-font-size-15); }
}
@media (width >= 52.5rem) and (prefers-reduced-motion: no-preference) {
  .search-filter-dialog[open] { transform-origin: top left; animation: search-filter-menu-in var(--terme-motion-duration-enter) var(--terme-motion-easing-ease-out); }
}
@keyframes search-filter-menu-in { from { opacity: 0; transform: translateY(-0.25rem) scale(0.98); } }
@media (prefers-reduced-motion: reduce) {
  .search-filter-tile, .search-filter-dialog__segment, .search-filter-dialog__switch, .search-filter-dialog__switch::after, .search-filter-dialog__submit { transition: none; }
}
.search-sort { position: relative; display: flex; align-items: center; }
.search-sort__trigger { display: inline-flex; align-items: center; gap: var(--terme-spacing-8); box-sizing: border-box; height: var(--terme-size-control-height); padding: 0 var(--terme-spacing-14); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-text-secondary); font: var(--terme-font-weight-semibold) var(--terme-font-size-13) var(--terme-font-family-interface); white-space: nowrap; list-style: none; cursor: pointer; transition: border-color var(--search-feedback), background-color var(--search-feedback); }
.search-sort__trigger::-webkit-details-marker { display: none; }
.search-sort__trigger[aria-expanded='true'], .search-sort__fallback[open] .search-sort__trigger { border-color: var(--terme-color-brand-ink); background: var(--terme-color-surface-canvas); }
.search-sort__icon, .search-sort__chevron { width: 0.9375rem; height: 0.9375rem; flex: none; color: var(--terme-color-brand-ink); }
.search-sort__chevron { transition: transform var(--search-feedback); }
.search-sort__trigger[aria-expanded='true'] .search-sort__chevron, .search-sort__fallback[open] .search-sort__chevron { transform: rotate(180deg); }
.search-sort__value { color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-semibold); }
.search-sort__menu { --search-sort-menu-shadow: 0 0.25rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 4%, transparent), 0 1rem 2rem color-mix(in srgb, var(--terme-color-brand-ink) 16%, transparent); position: absolute; top: calc(100% + 0.5rem); right: 0; z-index: var(--terme-z-index-dropdown); box-sizing: border-box; display: flex; flex-direction: column; gap: var(--terme-spacing-2); width: 15rem; padding: var(--terme-spacing-6); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-raised); box-shadow: var(--search-sort-menu-shadow); }
.search-sort__menu[hidden] { display: none; }
.search-sort__option { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-12); min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-12); border-radius: var(--terme-radius-field); color: var(--terme-color-text-primary); font: var(--terme-font-size-15) var(--terme-font-family-interface); text-decoration: none; }
.search-sort__option[aria-checked='true'] { color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); background: var(--terme-color-surface-canvas); }
.search-sort__option:focus-visible { outline-offset: calc(-1 * var(--terme-size-focus-ring-offset)); }
.search-sort__check { width: 1.125rem; height: 1.125rem; flex: none; color: var(--terme-color-brand-accent); }
.search-sort__lead { display: inline-flex; align-items: center; gap: var(--terme-spacing-12); }
.search-sort__option-icon { width: 1.25rem; height: 1.25rem; flex: none; color: var(--terme-color-text-secondary); stroke-width: 1.8; }
.search-sort__option[aria-checked='true'] .search-sort__option-icon { color: var(--terme-color-brand-ink); }
@media (hover: hover) and (pointer: fine) {
  .search-sort__trigger:hover { border-color: var(--terme-color-text-secondary); }
  .search-sort__option:hover { background: var(--terme-color-surface-canvas); }
}
@media (prefers-reduced-motion: reduce) { .search-sort__trigger, .search-sort__chevron { transition: none; } }
.public-discovery-closing { background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-interface); }
.public-discovery-closing__inner { box-sizing: border-box; width: 100%; max-width: var(--terme-public-max-width); margin-inline: auto; padding: var(--terme-spacing-64) var(--terme-public-gutter); display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-48); }
.public-discovery-closing__copy { max-width: 42rem; }
.public-discovery-closing__eyebrow { margin: 0 0 var(--terme-spacing-12); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.public-discovery-closing h2 { --public-discovery-closing-font-size: clamp(1.5rem, 2.4vw, 2.25rem); --public-discovery-closing-letter-spacing: -0.025em; margin: 0 0 var(--terme-spacing-12); font-family: var(--terme-font-family-interface); font-size: var(--public-discovery-closing-font-size); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-tight); letter-spacing: var(--public-discovery-closing-letter-spacing); }
.public-discovery-closing__description { margin: 0; max-width: 38rem; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-body); }
.public-discovery-closing__actions { display: flex; flex: 0 0 auto; flex-direction: column; align-items: center; gap: var(--terme-spacing-12); }
.public-discovery-closing__search { display: inline-flex; align-items: center; gap: var(--terme-spacing-24); min-height: 3.25rem; padding-inline: var(--terme-spacing-24); border-radius: var(--terme-radius-pill); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.public-discovery-closing__help { position: relative; display: inline-flex; align-items: center; min-height: var(--terme-size-touch-target); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); text-decoration: none; }
.public-discovery-closing__help::after { content: ''; position: absolute; inset: auto 0 var(--terme-spacing-8); height: 0.0625rem; background: currentColor; transform: scaleX(0); transform-origin: center; }
.public-discovery-closing__help:focus-visible::after { transform: scaleX(1); transition: none; }
.public-discovery-closing__search:focus-visible, .public-discovery-closing__search:focus-visible span { transition: none; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .public-discovery-closing__search { --public-discovery-closing-search-duration: 260ms; transition: transform var(--public-discovery-closing-search-duration) var(--terme-motion-easing-ease-out), background-color var(--public-discovery-closing-search-duration) ease; }
  .public-discovery-closing__search:hover { transform: translateY(-0.125rem); }
  .public-discovery-closing__search:active { transform: scale(0.98); }
  .public-discovery-closing__search span { transition: transform var(--terme-motion-duration-emphasis) var(--terme-motion-easing-ease-out); }
  .public-discovery-closing__search:hover span { transform: translate(0.125rem,-0.125rem); }
  .public-discovery-closing__help::after { --public-discovery-closing-help-duration: 280ms; transition: transform var(--public-discovery-closing-help-duration) var(--terme-motion-easing-ease-out); }
  .public-discovery-closing__help:hover::after { transform: scaleX(1); }
}
@media (width < 52.5rem) {
  .public-discovery-closing__inner { flex-direction: column; align-items: stretch; gap: var(--terme-spacing-24); padding-block: var(--terme-spacing-48); }
  .public-discovery-closing__actions { align-items: flex-start; gap: var(--terme-spacing-8); }
}
.public-footer {
  --public-footer-radius: 2.5rem;
  --public-footer-line: var(--terme-color-on-dark-line);
  position: relative;
  padding: 0;
  border-radius: var(--public-footer-radius) var(--public-footer-radius) 0 0;
  background: var(--terme-color-brand-ink);
  color: var(--terme-color-on-dark-text);
  font-family: var(--terme-font-family-interface);
}
.public-footer__inner { box-sizing: border-box; width: 100%; max-width: 84rem; margin-inline: auto; padding: var(--terme-spacing-64) var(--terme-public-gutter) 0; }
.public-footer__grid { display: grid; grid-template-columns: minmax(0, 19rem) minmax(0, 1fr); gap: var(--terme-spacing-40); align-items: start; }
.public-footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: var(--terme-spacing-16); }
.public-footer__brand-link { display: inline-flex; min-height: var(--terme-size-touch-target); align-items: center; }
.public-footer__brand-link img { display: block; width: 8.75rem; height: auto; }
.public-footer__tagline { margin: 0; color: var(--terme-color-on-dark-text-strong); font-family: var(--terme-font-family-interface); font-size: var(--terme-font-size-18); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-26); }
.public-footer__social { display: flex; gap: var(--terme-spacing-8); margin-top: var(--terme-spacing-4); }
.public-footer__social-link { display: inline-flex; align-items: center; justify-content: center; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); border-radius: var(--terme-radius-pill); background: var(--terme-color-on-dark-fill); color: var(--terme-color-on-dark-text-strong); }
.public-footer__social-link svg { width: 1.125rem; height: 1.125rem; }
.public-footer__social-link:hover { background: var(--terme-color-on-dark-fill-hover); }
.public-footer__groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--terme-spacing-40); }
.public-footer__summary { --public-footer-summary-margin-bottom: 1.125rem; display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-12); margin-bottom: var(--public-footer-summary-margin-bottom); list-style: none; }
.public-footer__summary::-webkit-details-marker { display: none; }
.public-footer__heading { --public-footer-heading-letter-spacing: 0.12em; margin: 0; color: var(--terme-color-on-dark-heading); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-16); letter-spacing: var(--public-footer-heading-letter-spacing); text-transform: uppercase; }
.public-footer__chevron { display: none; flex: 0 0 auto; width: 1.25rem; height: 1.25rem; color: var(--terme-color-on-dark-heading); }
.public-footer__group[open] .public-footer__chevron { transform: rotate(180deg); }
.public-footer__links, .public-footer__legal-links { margin: 0; padding: 0; list-style: none; }
.public-footer__links { display: flex; flex-direction: column; gap: var(--terme-spacing-12); }
.public-footer__links li, .public-footer__legal-links li { display: flex; }
.public-footer__link { display: inline-flex; align-items: center; gap: var(--terme-spacing-10); color: var(--terme-color-on-dark-text); font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-20); text-decoration: none; overflow-wrap: anywhere; }
.public-footer__link:hover { color: var(--terme-color-on-dark-text-strong); text-decoration: underline; text-decoration-color: var(--terme-color-brand-accent); text-underline-offset: 0.25rem; }
.public-footer a:focus-visible, .public-footer__summary:focus-visible { outline-color: var(--terme-color-on-dark-text-strong); outline-offset: var(--terme-spacing-4); border-radius: var(--terme-radius-xs); }
.public-footer__bottom { --public-footer-bottom-padding: 1.375rem; --public-footer-bottom-padding-2: 1.625rem; display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-24); margin-top: var(--terme-spacing-48); padding: var(--public-footer-bottom-padding) 0 var(--public-footer-bottom-padding-2); border-top: 0.0625rem solid var(--public-footer-line); }
.public-footer__copyright { margin: 0; color: var(--terme-color-on-dark-text-muted); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-20); }
.public-footer__legal-links { --public-footer-legal-links-gap: 1.375rem; display: flex; flex-wrap: wrap; gap: var(--terme-spacing-8) var(--public-footer-legal-links-gap); }
.public-footer__legal-links .public-footer__link { color: var(--terme-color-on-dark-text-secondary); font-size: var(--terme-font-size-13); }
.public-shell:has(.vendor-landing__booking-summary) .public-footer { --public-footer-padding-bottom: 6rem; padding-bottom: calc(var(--public-footer-padding-bottom) + env(safe-area-inset-bottom)); }
@media (prefers-reduced-motion: no-preference) {
  .public-footer__chevron { transition: transform var(--terme-motion-duration-state) ease-out; }
}
/* From 48rem every group stays open; the summary is only its heading. */
@media (width >= 52.5rem) {
  .public-footer__group::details-content { content-visibility: visible; }
  .public-footer__summary { pointer-events: none; }
}
@media (width >= 52.5rem) and (width < 75rem) {
  .public-footer__grid { grid-template-columns: minmax(0, 1fr); }
  .public-footer__groups { gap: var(--terme-spacing-24); }
}
@media (width < 52.5rem) {
  .public-footer { --public-footer-radius: 1.75rem; border-radius: var(--public-footer-radius) var(--public-footer-radius) 0 0; }
  .public-footer__inner { --public-footer-inner-padding-top: 2.25rem; padding-top: var(--public-footer-inner-padding-top); }
  .public-footer__grid, .public-footer__groups { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .public-footer__brand { gap: var(--terme-spacing-12); padding-bottom: var(--terme-spacing-16); }
  .public-footer__group { border-bottom: 0.0625rem solid var(--public-footer-line); }
  .public-footer__summary { min-height: 3.5rem; margin: 0; cursor: pointer; }
  .public-footer__heading { color: var(--terme-color-on-dark-text-strong); font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-22); letter-spacing: 0; text-transform: none; }
  .public-footer__chevron { display: block; }
  .public-footer__links { padding: var(--terme-spacing-2) 0 var(--terme-spacing-20); }
  .public-footer__bottom { flex-direction: column; align-items: flex-start; gap: var(--terme-spacing-14); margin-top: var(--terme-spacing-20); padding: 0 0 var(--terme-spacing-16); border-top: 0; }
}
.cookie-consent { height: var(--cookie-banner-offset, 0); }
.cookie-consent__panel { position: fixed; z-index: var(--terme-z-index-consent); left: var(--terme-spacing-32); bottom: var(--terme-spacing-32); box-sizing: border-box; display: flex; flex-direction: column; gap: var(--terme-spacing-14); width: min(30rem, calc(100vw - 2 * var(--terme-spacing-32))); max-height: calc(100vh - 2 * var(--terme-spacing-32)); overflow-y: auto; padding: var(--terme-spacing-24); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); color: var(--terme-color-text-primary); box-shadow: var(--terme-shadow-raised); font-family: var(--terme-font-family-interface); }
.cookie-consent__panel--settings { width: min(35rem, calc(100vw - 2 * var(--terme-spacing-32))); padding-bottom: var(--terme-spacing-16); }
.cookie-consent__head { display: flex; align-items: center; gap: var(--terme-spacing-12); }
.cookie-consent__badge { display: inline-grid; place-items: center; flex: none; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--terme-color-brand-accent-soft); color: var(--terme-color-brand-accent-hover); }
.cookie-consent__badge svg { width: 1.375rem; height: 1.375rem; }
.cookie-consent__title { margin: 0; color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-interface); font-size: var(--terme-font-size-18); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-24); }
.cookie-consent__panel--settings .cookie-consent__title { font-size: var(--terme-font-size-22); line-height: var(--terme-line-height-28); }
.cookie-consent__title:focus { outline: none; }
.cookie-consent__text { margin: 0; color: var(--terme-color-text-primary); font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-22); }
.cookie-consent__panel--settings .cookie-consent__text { color: var(--terme-color-text-secondary); }
.cookie-consent a { color: var(--terme-color-brand-ink); text-decoration: underline; text-decoration-thickness: 0.0625rem; text-underline-offset: 0.1875rem; }
.cookie-consent a:hover { color: var(--terme-color-text-secondary); }
.cookie-consent__choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--terme-spacing-10); }
.cookie-consent__choices--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cookie-consent__choice { display: inline-flex; align-items: center; justify-content: center; min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-12); border: 0.0625rem solid transparent; border-radius: var(--terme-radius-md); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font: inherit; font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-20); text-align: center; cursor: pointer; }
.cookie-consent__choice:hover { background: var(--terme-color-brand-ink-hover); }
.cookie-consent__choice--outlined { border-color: var(--terme-color-border-default); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); }
.cookie-consent__choice--outlined:hover { background: var(--terme-color-surface-canvas); }
.cookie-consent__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--terme-spacing-8) var(--terme-spacing-12); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.cookie-consent__links { display: inline-flex; flex-wrap: wrap; gap: var(--terme-spacing-4) var(--terme-spacing-14); }
.cookie-consent__links a { display: inline-flex; align-items: center; min-height: var(--terme-size-touch-target); }
.cookie-consent__settings-link, .cookie-consent__close, .cookie-consent__more { min-height: var(--terme-size-touch-target); padding: 0; border: 0; background: none; color: var(--terme-color-brand-ink); font: inherit; font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); text-decoration: underline; text-underline-offset: 0.1875rem; cursor: pointer; }
.cookie-consent__settings-head { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-12); }
.cookie-consent__close { flex: none; font-weight: var(--terme-font-weight-semibold); }
.cookie-consent__categories { display: grid; gap: var(--terme-spacing-12); }
.cookie-consent__category { --cookie-consent-category-padding: 1.125rem; display: flex; flex-direction: column; gap: var(--terme-spacing-10); padding: var(--terme-spacing-16) var(--cookie-consent-category-padding); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-lg); }
.cookie-consent__category-row { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-16); }
.cookie-consent__category-copy { display: flex; flex-direction: column; gap: var(--terme-spacing-2); }
.cookie-consent__category-copy strong { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-16); }
.cookie-consent__category-copy span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.cookie-consent__more { align-self: flex-start; font-weight: var(--terme-font-weight-semibold); }
.cookie-consent__services { --cookie-consent-services-padding-left: 1.125rem; display: flex; flex-direction: column; gap: var(--terme-spacing-4); margin: 0; padding-left: var(--cookie-consent-services-padding-left); color: var(--terme-color-text-primary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-22); list-style: disc; }
.cookie-consent code { padding: 0; background: none; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); }
.cookie-consent__switch { position: relative; flex: 0 0 auto; width: var(--terme-size-touch-target); height: 1.625rem; padding: 0; border: 0; border-radius: var(--terme-radius-pill); background: var(--terme-color-border-default); cursor: pointer; transition: background-color var(--terme-motion-duration-state) ease-out; }
.cookie-consent__switch::before { content: ""; position: absolute; inset: -0.5625rem -0.125rem; }
.cookie-consent__switch[aria-checked="true"] { background: var(--terme-color-brand-accent); }
.cookie-consent__switch[aria-disabled="true"] { background: var(--terme-color-text-hint); cursor: not-allowed; }
.cookie-consent__switch-knob { --cookie-consent-switch-knob-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 20%, transparent); position: absolute; top: 0.1875rem; left: 0.1875rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--terme-color-surface-raised); box-shadow: var(--cookie-consent-switch-knob-shadow); transition: transform var(--terme-motion-duration-state) ease-out; }
.cookie-consent__switch[aria-checked="true"] .cookie-consent__switch-knob { transform: translateX(1.125rem); }
.cookie-consent__settings-foot { position: sticky; bottom: calc(-1 * var(--terme-spacing-16)); display: flex; flex-direction: column; gap: var(--terme-spacing-12); margin-inline: calc(-1 * var(--terme-spacing-24)); padding: var(--terme-spacing-16) var(--terme-spacing-24); border-top: 0.0625rem solid var(--terme-color-border-soft); background: var(--terme-color-surface-raised); }
.cookie-consent__id { margin: 0; color: var(--terme-color-text-muted); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); overflow-wrap: anywhere; }
@media (width < 52.5rem) {
  .cookie-consent__panel, .cookie-consent__panel--settings { --cookie-consent-panel-shadow: 0 -0.5rem 1.5rem color-mix(in srgb, var(--terme-color-brand-ink) 12%, transparent); left: 0; right: 0; bottom: 0; width: 100%; max-height: 40vh; gap: var(--terme-spacing-12); padding: var(--terme-spacing-20) var(--terme-spacing-16) calc(var(--terme-spacing-24) + env(safe-area-inset-bottom)); border-width: 0; border-radius: var(--terme-radius-xl) var(--terme-radius-xl) 0 0; box-shadow: var(--cookie-consent-panel-shadow); }
  .cookie-consent__panel--settings { padding-bottom: env(safe-area-inset-bottom); }
  .cookie-consent__badge { width: 2.25rem; height: 2.25rem; }
  .cookie-consent__title { font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-22); }
  .cookie-consent__text { font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
  .cookie-consent__choices { grid-template-columns: minmax(0, 1fr); }
  .cookie-consent__choices--three { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--terme-spacing-8); }
  .cookie-consent__choice { min-height: 3rem; }
  .cookie-consent__choices--three .cookie-consent__choice { padding: 0 var(--terme-spacing-8); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-17); }
  .cookie-consent__settings-foot { bottom: 0; margin-inline: calc(-1 * var(--terme-spacing-16)); padding: var(--terme-spacing-12) var(--terme-spacing-16); }
  .cookie-consent__id { padding-bottom: var(--terme-spacing-16); }
}
@media (prefers-reduced-motion: reduce) {
  .cookie-consent__switch, .cookie-consent__switch-knob { transition: none; }
}
@media print {
  .cookie-consent { display: none; }
}
/* Das Eichkatzerl (ADR 0067): the app's TermeSquirrel on the website. A `.sq-perch` box puts it over the top
   edge of its positioned parent; --sq-w sets the width. Rest pose first, then Schaut mit and Augen zu from the
   sign-in form's focus inside an `.sq-scope`, Hoppla while a sign-in error shows, Hoppla held with `sq--oops`,
   Geschafft with `sq--done`. */
.sq-perch { --sq-w: 6.5rem; position: absolute; z-index: 1; right: var(--terme-spacing-12); bottom: calc(100% - var(--sq-w) * 0.0451); width: var(--sq-w); pointer-events: none; }
.sq { overflow: visible; }
.sq-perch > .sq { display: block; width: 100%; height: auto; }
.sq * { transform-box: view-box; }
.sq-shut, .sq-worry, .sq-joy, .sq-drop, .sq-spark { opacity: 0; }
.sq-open, .sq-shut, .sq-cheek, .sq-calm { transition: opacity 0s linear 0.06s; }
.sq-tail { transform: translate(140px,254px) rotate(5.0deg) scale(0.86) translate(-140px,-250px); transition: transform 0.32s cubic-bezier(.23,1,.32,1); }
.sq-ear-l { transform-origin: 70px 80px; }
.sq-ear-r { transform-origin: 130px 80px; animation: sq-twitch 7s linear 3s infinite; }
.sq-pupils { transition: transform 0.2s cubic-bezier(.23,1,.32,1); }
.sq-eye { transform-box: fill-box; transform-origin: center; animation: sq-blink 5.2s ease-in-out infinite; }
.sq-rise { animation: sq-rise 0.52s cubic-bezier(.23,1,.32,1) both; }
.sq-paws { animation: sq-paws 0.52s linear both; }
@keyframes sq-rise { from { transform: translateY(172px); } }
@keyframes sq-paws { 0%, 60% { opacity: 0; } }
@keyframes sq-blink { 0%, 92%, 98%, 100% { transform: scaleY(1); } 95% { transform: scaleY(0.1); } }
@keyframes sq-twitch { 0%, 78%, 84%, 90%, 100% { transform: rotate(0deg); } 81% { transform: rotate(9deg); } 87% { transform: rotate(6deg); } }
/* Schaut mit: the eyes go to the form below. */
:where(.sq-scope:has(input:focus)) .sq-pupils { transform: translate(-3.5px, 3px); }
/* Augen zu: the tail sweeps over the eyes; they shut once it has passed them. */
:where(.sq-scope:has(input[type='password']:focus)) .sq-tail { transform: translate(212px,230px) rotate(-66.0deg) scale(0.868) translate(-140px,-250px); }
:where(.sq-scope:has(input[type='password']:focus)) .sq-open, :where(.sq-scope:has(input[type='password']:focus)) .sq-cheek { opacity: 0; transition-delay: 0.17s; }
:where(.sq-scope:has(input[type='password']:focus)) .sq-shut { opacity: 1; transition-delay: 0.17s; }
/* Hoppla: a head shake, drooping ears, worried brows, a drop and the tail sinking, then back to the pose before. */
:where(.sq-scope:has(.shop-booker__status--error)) .sq-root { animation: sq-shake 3s; }
:where(.sq-scope:has(.shop-booker__status--error)) .sq-ear-l { animation: sq-droop-l 3s cubic-bezier(.23,1,.32,1); }
:where(.sq-scope:has(.shop-booker__status--error)) .sq-ear-r { animation: sq-droop-r 3s cubic-bezier(.23,1,.32,1); }
:where(.sq-scope:has(.shop-booker__status--error)) .sq-tail { animation: sq-sink 3s cubic-bezier(.23,1,.32,1); }
:where(.sq-scope:has(.shop-booker__status--error)) .sq-pupils { animation: sq-worried 3s cubic-bezier(.23,1,.32,1); }
:where(.sq-scope:has(.shop-booker__status--error)) .sq-worry, :where(.sq-scope:has(.shop-booker__status--error)) .sq-drop, :where(.sq-scope:has(.shop-booker__status--error)) .sq-open { animation: sq-show 3s; }
:where(.sq-scope:has(.shop-booker__status--error)) .sq-calm, :where(.sq-scope:has(.shop-booker__status--error)) .sq-shut { animation: sq-hide 3s; }
@keyframes sq-shake { 0%, 10%, 25%, 100% { transform: none; } 13% { transform: translateX(-5px); } 16% { transform: translateX(5px); } 19% { transform: translateX(-4px); } 22% { transform: translateX(3px); } }
@keyframes sq-droop-l { 18%, 82% { transform: rotate(-20deg); } }
@keyframes sq-droop-r { 18%, 82% { transform: rotate(20deg); } }
@keyframes sq-sink { 20%, 82% { transform: translate(120px,256px) rotate(9.0deg) scale(0.84) translate(-140px,-250px); } }
@keyframes sq-worried { 8%, 84% { transform: translate(0, 2.5px); } }
@keyframes sq-show { 4%, 84% { opacity: 1; } }
@keyframes sq-hide { 4%, 84% { opacity: 0; } }
/* Hoppla held (a not-found page): worried while it shows, one head shake once it is up. */
:where(.sq--oops) .sq-tail { transform: translate(120px,256px) rotate(9.0deg) scale(0.84) translate(-140px,-250px); }
:where(.sq--oops) .sq-ear-l { transform: rotate(-20deg); }
:where(.sq--oops) .sq-ear-r { transform: rotate(20deg); animation: none; }
:where(.sq--oops) .sq-pupils { transform: translate(0, 2.5px); }
:where(.sq--oops) .sq-worry, :where(.sq--oops) .sq-drop { opacity: 1; }
:where(.sq--oops) .sq-calm { opacity: 0; }
:where(.sq--oops) .sq-root { animation: sq-shake 3s 0.3s; }
/* Geschafft: laughing, sparkles, one hop and one wag after rising. */
:where(.sq--done) .sq-open, :where(.sq--done) .sq-calm { opacity: 0; }
:where(.sq--done) .sq-joy, :where(.sq--done) .sq-spark { opacity: 1; }
:where(.sq--done) .sq-tail { transform: translate(140px,252px) rotate(4.0deg) scale(0.86) translate(-140px,-250px); animation: sq-wag 1.4s 0.6s; }
:where(.sq--done) .sq-root { animation: sq-hop 0.9s 0.5s; }
:where(.sq--done) .sq-spark { animation: sq-pop 0.4s cubic-bezier(.23,1,.32,1) 0.6s both; }
@keyframes sq-wag { 0%, 100% { transform: translate(140px,252px) rotate(4.0deg) scale(0.86) translate(-140px,-250px); animation-timing-function: cubic-bezier(.65,0,.35,1); } 25% { transform: translate(140px,252px) rotate(11.0deg) scale(0.86) translate(-140px,-250px); animation-timing-function: cubic-bezier(.65,0,.35,1); } 50% { transform: translate(140px,252px) rotate(1.0deg) scale(0.86) translate(-140px,-250px); animation-timing-function: cubic-bezier(.65,0,.35,1); } 75% { transform: translate(140px,252px) rotate(8.0deg) scale(0.86) translate(-140px,-250px); animation-timing-function: cubic-bezier(.65,0,.35,1); } }
@keyframes sq-hop { 0%, 60%, 90%, 100% { transform: none; animation-timing-function: cubic-bezier(.23,1,.32,1); } 30% { transform: translateY(-14px); animation-timing-function: cubic-bezier(.55,0,.75,.2); } 75% { transform: translateY(-4px); animation-timing-function: cubic-bezier(.55,0,.75,.2); } }
@keyframes sq-pop { from { opacity: 0; } }
/* Reduced motion: every mood a still pose, Hoppla too (last, so it outweighs the rules above). */
@media (prefers-reduced-motion: reduce) {
  .sq, .sq * { animation: none; transition: none; }
  :where(.sq-scope:has(.shop-booker__status--error)) .sq-tail { transform: translate(120px,256px) rotate(9.0deg) scale(0.84) translate(-140px,-250px); }
  :where(.sq-scope:has(.shop-booker__status--error)) .sq-ear-l { transform: rotate(-20deg); }
  :where(.sq-scope:has(.shop-booker__status--error)) .sq-ear-r { transform: rotate(20deg); }
  :where(.sq-scope:has(.shop-booker__status--error)) .sq-pupils { transform: translate(0, 2.5px); }
  :where(.sq-scope:has(.shop-booker__status--error)) .sq-worry, :where(.sq-scope:has(.shop-booker__status--error)) .sq-drop, :where(.sq-scope:has(.shop-booker__status--error)) .sq-open { opacity: 1; }
  :where(.sq-scope:has(.shop-booker__status--error)) .sq-calm, :where(.sq-scope:has(.shop-booker__status--error)) .sq-shut { opacity: 0; }
}
.search-row { display: grid; grid-template-columns: clamp(15.5rem, 32%, 22rem) minmax(0, 1fr); column-gap: var(--terme-spacing-20); scroll-margin-top: calc(var(--search-sticky-top) + var(--terme-spacing-16)); padding: var(--terme-spacing-20); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-soft); transition: border-color var(--search-feedback), box-shadow var(--search-feedback); }
.search-row.search-results__listing--active { border-color: color-mix(in srgb, var(--terme-color-brand-accent) 50%, var(--terme-color-surface-raised)); }
.search-row:focus { outline: none; }
.search-row__gallery { display: flex; flex-direction: column; gap: var(--terme-spacing-8); flex: none; align-self: stretch; min-width: 0; }
.search-row__media { position: relative; flex: 1 1 auto; width: 100%; min-height: 11.625rem; border-radius: var(--terme-radius-card); overflow: hidden; background: var(--terme-color-border-soft); }
.search-row__gallery--single .search-row__media { min-height: 17.5rem; }
.search-row__thumbs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--terme-spacing-8); height: 5.5rem; }
.search-row__thumbs[data-count='1'] { grid-template-columns: minmax(0, 1fr); }
.search-row__thumb { position: relative; display: block; min-width: 0; height: 100%; padding: 0; border: 0; border-radius: var(--terme-radius-md); overflow: hidden; background: var(--terme-color-border-soft); cursor: pointer; }
.search-row__thumb-photo { display: block; width: 100%; height: 100%; transition: transform var(--search-feedback); }
.search-row__thumb-more { position: absolute; inset: 0; display: grid; place-content: center; background: color-mix(in srgb, var(--terme-color-brand-ink) 55%, transparent); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-18); font-weight: var(--terme-font-weight-bold); }
.search-row__thumb.is-current::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 0.1875rem var(--terme-color-surface-raised); pointer-events: none; }
.search-row__track { position: absolute; inset: 0; display: flex; width: 100%; height: 100%; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.search-row__track::-webkit-scrollbar { display: none; }
.search-row__photo { display: block; flex: 0 0 100%; height: 100%; scroll-snap-align: start; }
/* No photo: the category tile colours with its glyph, as the app's Kategorien tile. */
.search-row__media { --cat-bg: var(--terme-color-brand-ink); --cat-art: var(--terme-color-brand-accent); }
.search-row__placeholder { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: hidden; background: var(--cat-bg); color: var(--cat-art); text-decoration: none; }
.search-row__placeholder-art { position: absolute; right: -10%; bottom: -11%; width: min(11.125rem, 72%); height: auto; aspect-ratio: 1; stroke-width: 1.3; }
.search-row__badge { position: absolute; left: 0.625rem; top: 0.625rem; display: inline-flex; align-items: center; gap: var(--terme-spacing-6); height: 1.625rem; padding: 0 var(--terme-spacing-10); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); pointer-events: none; }
.search-row__badge-dot { width: 0.4375rem; height: 0.4375rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-accent); }
.search-row__arrow { --search-row-arrow-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 25%, transparent); position: absolute; top: 50%; display: flex; align-items: center; justify-content: center; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); padding: 0; border: 0; border-radius: var(--terme-radius-pill); background: color-mix(in srgb, var(--terme-color-surface-raised) 94%, transparent); color: var(--terme-color-brand-ink); box-shadow: var(--search-row-arrow-shadow); opacity: 0; transform: translateY(-50%); transition: opacity var(--search-feedback); cursor: pointer; }
.search-row__arrow svg { width: 1rem; height: 1rem; }
.search-row__arrow--prev { left: 0.5rem; }
.search-row__arrow--next { right: 0.5rem; }
.search-row__media:focus-within .search-row__arrow, .search-row:hover .search-row__arrow { opacity: 1; }
.search-row__dots { position: absolute; left: 0; right: 0; bottom: 0.625rem; display: flex; justify-content: center; gap: var(--terme-spacing-4); pointer-events: none; }
.search-row__dot { width: 0.4375rem; height: 0.4375rem; border-radius: var(--terme-radius-pill); background: color-mix(in srgb, var(--terme-color-surface-raised) 55%, transparent); transition: background-color var(--search-feedback); }
.search-row__dot.is-current { background: var(--terme-color-surface-raised); }
.search-row__body { display: flex; flex-direction: column; gap: var(--terme-spacing-16); flex: 1; min-width: 0; container-type: inline-size; }
.search-row__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--terme-spacing-12); }
.search-row__identity { display: flex; flex-direction: column; gap: var(--terme-spacing-2); min-width: 0; }
.search-row__name { margin: 0; font-size: var(--terme-font-size-18); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-24); }
.search-row__name a { color: var(--terme-color-brand-ink); text-decoration: none; }
.search-row__meta { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.search-row__sponsored { display: inline-block; margin-left: var(--terme-spacing-8); padding: 0.0625rem var(--terme-spacing-6); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-xs); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); white-space: nowrap; }
.search-row__rating { display: inline-flex; align-items: center; gap: var(--terme-spacing-4); flex: none; height: 1.875rem; padding: 0 var(--terme-spacing-10); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-bold); }
.search-row__rating svg { width: 0.875rem; height: 0.875rem; }
.search-row__rating-count { color: var(--terme-color-text-secondary); font-weight: var(--terme-font-weight-regular); }
.search-row__summary { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); }
.search-row__footer { display: grid; min-height: 3.5rem; margin-top: auto; border-radius: var(--terme-radius-card); background: var(--terme-color-surface-canvas); overflow: hidden; }
.search-row__footer-face { grid-area: 1 / 1; display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-12); min-width: 0; opacity: 0; filter: blur(0.125rem); visibility: hidden; transition: opacity var(--terme-motion-duration-enter) ease-out, transform var(--terme-motion-duration-menu) var(--terme-motion-easing-ease-out), filter var(--terme-motion-duration-enter) ease-out, visibility 0s linear 240ms; }
.search-row__footer-face--links { padding: 0 var(--terme-spacing-12) 0 var(--terme-spacing-16); transform: translateY(-0.5rem); }
.search-row__footer-face--choice { padding: var(--terme-spacing-6) var(--terme-spacing-6) var(--terme-spacing-6) var(--terme-spacing-16); transform: translateY(0.5rem); }
.search-row__footer[data-open='false'] .search-row__footer-face--links, .search-row__footer[data-open='true'] .search-row__footer-face--choice { opacity: 1; filter: none; transform: none; visibility: visible; transition-delay: 0s; }
.search-row__hint { min-width: 0; overflow: hidden; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); text-overflow: ellipsis; white-space: nowrap; }
.search-row__choice { display: flex; flex-direction: column; min-width: 0; }
.search-row__choice strong, .search-row__choice span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-row__choice strong { font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.search-row__choice span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
.search-row__choice[data-swapped] { animation: search-choice-in var(--terme-motion-duration-state) var(--terme-motion-easing-ease-out); }
@keyframes search-choice-in { from { opacity: 0.3; filter: blur(0.125rem); transform: translateY(0.1875rem); } }
@container (width <= 26rem) { .search-row__hint { display: none; } }
.search-row__more-slots { display: inline-flex; flex: none; align-items: center; gap: var(--terme-spacing-4); min-height: var(--terme-size-touch-target); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.search-row__more-slots svg { width: 1rem; height: 1rem; }
.search-row__book { display: inline-flex; flex: none; align-items: center; height: var(--terme-size-touch-target); white-space: nowrap; padding: 0 var(--terme-spacing-16); border-radius: var(--terme-radius-md); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); text-decoration: none; transition: background-color var(--search-feedback); }
.search-row__photo:focus-visible, .search-row__placeholder:focus-visible { outline-offset: calc(-1 * var(--terme-spacing-4)); }
@media (hover: hover) and (pointer: fine) {
  .search-row:hover { border-color: var(--terme-color-text-secondary); box-shadow: var(--terme-shadow-raised); }
  .search-row__name a:hover { text-decoration: underline; }
  .search-row__book:hover { background: var(--terme-color-brand-accent-hover); color: var(--terme-color-text-on-accent); }
}
@media (hover: none) { .search-row__arrow { display: none; } }
@media (hover: hover) and (pointer: fine) { .search-row__thumb:hover .search-row__thumb-photo { transform: scale(1.04); } }
@media (prefers-reduced-motion: reduce) {
  .search-row, .search-row__arrow, .search-row__dot, .search-row__thumb-photo, .search-row__book, .search-row__footer-face { transition: none; }
  .search-row__track { scroll-behavior: auto; }
  .search-row__choice[data-swapped] { animation: none; }
}
@media (width < 75rem) {
  .search-row { grid-template-columns: clamp(11rem, 28%, 18rem) minmax(0, 1fr); }
  .search-row__media { min-height: 9.375rem; }
  .search-row__thumbs { height: 4.5rem; }
  .search-row__gallery--single .search-row__media { min-height: 14.25rem; }
}
/* Without the map the cards sit in columns: the photos run across the top,
   the main photo beside a column of two stacked thumbs. */
@media (width >= 52.5rem) {
  .search-results--list .search-row { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; row-gap: var(--terme-spacing-16); }
  .search-results--list .search-row__gallery { flex-direction: row; height: 14rem; }
  .search-results--list .search-row__media,
  .search-results--list .search-row__gallery--single .search-row__media { min-height: 0; height: 100%; }
  .search-results--list .search-row__thumbs { flex: none; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); width: 30%; height: 100%; }
  .search-results--list .search-row__thumbs[data-count='1'] { grid-template-rows: minmax(0, 1fr); }
}
@media (width < 52.5rem) {
  .search-row { display: flex; flex-direction: column; gap: var(--terme-spacing-10); padding: 0; border: 0; border-radius: 0; box-shadow: none; }
  .search-row.search-results__listing--active { border: 0; }
  .search-row__gallery { width: 100%; }
  .search-row__media, .search-row__gallery--single .search-row__media { --search-row-media-radius: 1.125rem; height: 13.375rem; border-radius: var(--search-row-media-radius); }
  .search-row__thumbs { display: none; }
  .search-row__body { gap: var(--terme-spacing-10); padding: 0 var(--terme-spacing-2); }
  .search-row__name { font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-22); }
}
.public-offers { display: flex; flex-direction: column; gap: var(--terme-spacing-2); container-type: inline-size; }
.public-offers__head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--terme-spacing-12); padding: 0 var(--terme-spacing-8) var(--terme-spacing-4) var(--terme-spacing-14); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-16); }
.public-offers__days, .public-offer__times { display: grid; grid-template-columns: repeat(3, 4.75rem); gap: var(--terme-spacing-6); }
.public-offers__days--single, .public-offer__times--single { grid-template-columns: repeat(3, 3.5rem); }
.public-offers__days--pair, .public-offer__times--pair { grid-template-columns: repeat(2, 4.75rem); }
.public-offers__day { overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.public-offers__day--all { grid-column: 1 / -1; }
.public-offer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: var(--terme-spacing-12); row-gap: var(--terme-spacing-6); min-height: 3.75rem; padding: var(--terme-spacing-8) var(--terme-spacing-8) var(--terme-spacing-8) var(--terme-spacing-14); border-radius: var(--terme-radius-card); transition: background-color var(--terme-motion-duration-state) var(--terme-motion-easing-ease-out); }
.public-offer.is-selected { background: var(--terme-color-brand-accent-soft); }
.public-offer__main { display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: var(--terme-size-touch-target); padding: 0; border: 0; background: transparent; color: var(--terme-color-brand-ink); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
/* A long name may take two lines, then ends with … (canvas "TERme Feinschliff" L2). */
.public-offer__name { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-20); overflow-wrap: anywhere; }
.public-offer.is-selected .public-offer__name { font-weight: var(--terme-font-weight-bold); }
.public-offer__meta { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
.public-offer__price { display: inline-flex; align-items: baseline; gap: var(--terme-spacing-6); color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); white-space: nowrap; }
.public-offer__old-price { color: var(--terme-color-text-muted); font-weight: var(--terme-font-weight-regular); text-decoration: line-through; }
.public-offer__badge { display: inline-flex; align-items: center; height: 1.125rem; margin-left: var(--terme-spacing-6); padding: 0 var(--terme-spacing-8); border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-accent-selected); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); }
.public-offer__empty { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); text-align: right; }
.public-time { --public-time-duration: 160ms; display: inline-flex; align-items: center; justify-content: center; gap: var(--terme-spacing-4); box-sizing: border-box; min-width: 0; height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-10); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-field); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-interface); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-semibold); font-variant-numeric: tabular-nums; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color var(--terme-motion-duration-state) var(--terme-motion-easing-ease-out), border-color var(--terme-motion-duration-state) var(--terme-motion-easing-ease-out), transform var(--public-time-duration) ease-out; }
.public-time--wide { grid-column: 1 / -1; gap: var(--terme-spacing-4); }
.public-time__ab { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-medium); }
.public-time:active { transform: scale(0.97); }
.public-time[aria-pressed='true'] { border-color: var(--terme-color-brand-accent); background: var(--terme-color-brand-accent-selected); font-weight: var(--terme-font-weight-bold); }
.public-time[aria-pressed='true'] .public-time__ab { color: var(--terme-color-brand-ink); }
.public-time-none { display: grid; place-items: center; height: var(--terme-size-touch-target); color: var(--terme-color-text-muted); font-size: var(--terme-font-size-14); }
/* Phones keep the tighter chips, so the service name keeps its room. */
@media (width < 52.5rem) {
  .public-offers__days, .public-offer__times { grid-template-columns: repeat(3, 4rem); gap: var(--terme-spacing-4); }
  .public-offers__days--pair, .public-offer__times--pair { grid-template-columns: repeat(2, 4rem); }
  .public-time { gap: var(--terme-spacing-2); padding: 0; }
}
@container (width <= 21.5rem) {
  .public-offers__head { padding: 0 var(--terme-spacing-12); }
  .public-offers__service-label { display: none; }
  .public-offers__days { flex: 1; }
  .public-offers__days, .public-offer__times { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--terme-spacing-6); }
  .public-offers__days--pair, .public-offer__times--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-offer { grid-template-columns: minmax(0, 1fr); padding: var(--terme-spacing-6) var(--terme-spacing-12) var(--terme-spacing-10); }
  .public-offer__empty { text-align: left; }
}
@media (hover: hover) and (pointer: fine) {
  .public-offer:not(.is-selected):hover { background: var(--terme-color-surface-canvas); }
  .public-time:not([aria-pressed='true']):hover { border-color: var(--terme-color-text-secondary); }
}
@media (prefers-reduced-motion: reduce) {
  .public-offer, .public-time { transition: none; }
}
@view-transition { navigation: auto; }
@media (prefers-reduced-motion: reduce) { @view-transition { navigation: none; } }
::view-transition-old(root),
::view-transition-new(root) { animation: none; }
::view-transition-group(*) { --reset-group-duration: 380ms; animation-duration: var(--reset-group-duration); animation-timing-function: var(--terme-motion-easing-ease-out); }
::view-transition-old(*),
::view-transition-new(*) { height: 100%; object-fit: cover; }
.subscription-pricing { --pricing-card-min: 18rem; padding: var(--terme-spacing-48) var(--terme-public-gutter); }
.subscription-pricing__inner { width: 100%; max-width: var(--terme-public-max-width); margin-inline: auto; }
.subscription-pricing__title, .subscription-pricing__plan { --subscription-pricing-title-line-height: 1.125; color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-extrabold); line-height: var(--subscription-pricing-title-line-height); }
.subscription-pricing__title { margin-bottom: var(--terme-spacing-24); font-size: var(--terme-font-size-32); }
.subscription-pricing__plan { margin-bottom: var(--terme-spacing-16); font-size: var(--terme-font-size-24); }
.subscription-pricing__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--pricing-card-min)), 1fr));
  gap: var(--terme-spacing-24);
}
.subscription-pricing__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: var(--terme-spacing-32);
  border: 0.0625rem solid var(--terme-color-border-default);
  border-radius: var(--terme-radius-lg);
  box-shadow: none;
  background: var(--terme-color-surface-raised);
  overflow-wrap: anywhere;
}
.subscription-pricing__price {
  margin-bottom: var(--terme-spacing-24);
  font-size: var(--terme-font-size-32);
  font-weight: var(--terme-font-weight-bold);
  color: var(--terme-color-brand-ink);
}
.subscription-pricing__unavailable {
  color: var(--terme-color-text-secondary);
  font-size: var(--terme-font-size-14);
}
.subscription-pricing__features { margin-block: var(--terme-spacing-24); }
.subscription-pricing__feature {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--terme-spacing-16);
  padding-block: var(--terme-spacing-12);
  border-bottom: 0.0625rem solid var(--terme-color-border-soft);
}
.subscription-pricing__feature dt { color: var(--terme-color-text-secondary); }
.subscription-pricing__feature dd {
  flex-shrink: 0;
  max-width: 50%;
  margin: 0;
  text-align: end;
  font-weight: var(--terme-font-weight-bold);
}
.subscription-pricing__action { margin-top: auto; padding-top: var(--terme-spacing-16); }
.subscription-pricing__action .terme-button {
  display: flex;
  width: 100%;
  white-space: normal;
  padding-block: var(--terme-spacing-12);
}
.public-tab-bar { display: none; }
@media (width < 52.5rem) {
  :root { --public-tab-bar-room: calc(6.5rem + env(safe-area-inset-bottom)); }
  .public-tab-bar { --public-tab-bar-shadow: 0 0.625rem 1.875rem -0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 38%, transparent), 0 0 0 0.0625rem color-mix(in srgb, var(--terme-color-brand-ink) 8%, transparent); position: fixed; left: var(--terme-spacing-12); right: var(--terme-spacing-12); bottom: calc(1.375rem + env(safe-area-inset-bottom)); z-index: calc(var(--terme-z-index-header) + 1); box-sizing: border-box; display: flex; align-items: center; height: 4rem; padding: var(--terme-spacing-6); border-radius: var(--terme-radius-lg); background: color-mix(in srgb, var(--terme-color-surface-raised) 96%, transparent); -webkit-backdrop-filter: blur(1.125rem); backdrop-filter: blur(1.125rem); box-shadow: var(--public-tab-bar-shadow); }
  .public-tab-bar__item { position: relative; display: flex; flex: 1 1 0; flex-direction: column; align-items: center; justify-content: center; gap: var(--terme-spacing-4); min-width: 0; height: 3.25rem; border-radius: var(--terme-radius-md); color: var(--terme-color-text-secondary); font: var(--terme-font-weight-semibold) var(--terme-font-size-12) / var(--terme-line-height-16) var(--terme-font-family-interface); text-decoration: none; -webkit-tap-highlight-color: transparent; }
  .public-tab-bar__mark { display: grid; place-items: center; width: 3.75rem; height: 1.875rem; border-radius: var(--terme-radius-pill); }
  .public-tab-bar__item svg { width: var(--terme-size-icon-lg); height: var(--terme-size-icon-lg); }
  .public-tab-bar__day { font: var(--terme-font-weight-extrabold) 7.5px var(--terme-font-family-interface); }
  .public-tab-bar__item.is-active { color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-extrabold); }
  .public-tab-bar__item.is-active .public-tab-bar__mark { background: var(--terme-color-brand-accent-selected); }
  .public-tab-bar__item:focus-visible { outline: var(--terme-size-focus-ring-width) solid var(--terme-color-brand-accent); outline-offset: calc(-1 * var(--terme-size-focus-ring-width)); }
  .public-shell:has(.public-tab-bar) .public-footer { padding-bottom: var(--public-tab-bar-room); }
}
}
@layer pages {
.public-shell {
  min-height: 100vh;
  background: var(--terme-color-surface-canvas);
  color: var(--terme-color-text-primary);
  font-family: var(--terme-font-family-interface);
}
.public-shell__main {
  padding: var(--terme-spacing-0);
  margin: var(--terme-spacing-0);
  background: var(--terme-color-surface-canvas);
}
.public-shell__content {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: var(--terme-spacing-0);
  padding: var(--terme-spacing-0);
}
.landing {
  --landing-wrap: 84rem;
  --landing-navy-line: color-mix(in srgb, var(--terme-color-brand-ink) 70%, var(--terme-color-surface-raised));
  display: block;
  background: var(--terme-color-surface-raised);
  color: var(--terme-color-text-primary);
  font-family: var(--terme-font-family-interface);
}
.landing svg { flex: none; }
.landing a { text-decoration: none; }

/* Hero ------------------------------------------------------------------ */
/* Its own layer above later sections, so search popovers overlap them. */
.landing-hero { position: relative; z-index: calc(var(--terme-z-index-raised) + 2); isolation: isolate; }
.landing-hero::before { --landing-hero-inset: 2.25rem; content: ''; position: absolute; z-index: -1; inset: 0 0 var(--landing-hero-inset) 0; background: var(--terme-color-surface-canvas); }
.landing-hero__grid {
  box-sizing: border-box; display: grid; width: 100%; max-width: var(--landing-wrap); margin-inline: auto;
  padding-inline: var(--terme-public-gutter);
  grid-template-columns: minmax(0, 1fr) minmax(0, 23.75rem);
  grid-template-areas: "brand actions" "copy art" "facts art" "search search";
  column-gap: var(--terme-spacing-48);
}
/* Feinschliff (2026-10-20): more air between the same widgets; the category row may fall below a laptop fold. */
.landing-hero__copy { grid-area: copy; align-self: end; display: flex; flex-direction: column; align-items: flex-start; gap: var(--terme-spacing-20); padding-top: var(--terme-spacing-32); }
.landing-hero__title { --landing-hero-title-line-height: 0.98; --landing-hero-title-letter-spacing: -0.04em; margin: 0; font-family: var(--terme-font-family-display); font-weight: var(--terme-font-weight-bold); font-size: var(--terme-font-size-display-lg); line-height: var(--landing-hero-title-line-height); letter-spacing: var(--landing-hero-title-letter-spacing); color: var(--terme-color-brand-ink); }
/* Inline after "Termin."; as one unit it moves to its own line when the column is too narrow. */
.landing-hero__script { --landing-hero-script-font-size: clamp(2.5rem, 4.6vw, 3.625rem); display: inline-block; margin-left: var(--terme-spacing-6); font-family: var(--terme-font-family-script); font-weight: var(--terme-font-weight-regular); font-size: var(--landing-hero-script-font-size); line-height: 1; letter-spacing: 0; white-space: nowrap; color: var(--terme-color-brand-accent); transform: rotate(-4deg) translateY(0.25rem); transform-origin: left center; }
.landing-hero__lead { margin: 0; font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-26); color: var(--terme-color-text-secondary); }
.landing-hero__facts { --landing-hero-facts-margin: 2rem; grid-area: facts; align-self: start; display: flex; flex-wrap: wrap; gap: var(--terme-spacing-12) var(--terme-spacing-32); margin: var(--landing-hero-facts-margin) 0 0; padding: 0; list-style: none; }
/* Flat on the hero: no chip, the icon keeps its warm tile. */
.landing-hero__fact { display: flex; align-items: center; gap: var(--terme-spacing-10); }
.landing-hero__fact-icon { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: var(--terme-radius-sm); background: var(--terme-color-brand-accent-soft); color: var(--terme-color-brand-accent); }
.landing-hero__fact-icon svg { width: 1.125rem; height: 1.125rem; }
.landing-hero__fact-title { font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-18); }
.landing-hero__art { grid-area: art; position: relative; align-self: center; height: 18.75rem; }
.landing-hero__arch-outline,
.landing-hero__arch { --landing-hero-arch-outline-radius: 6.625rem; --landing-hero-arch-outline-radius-2: 1.5rem; position: absolute; width: 13.25rem; height: 17.875rem; border-radius: var(--landing-hero-arch-outline-radius) var(--landing-hero-arch-outline-radius) var(--landing-hero-arch-outline-radius-2) var(--landing-hero-arch-outline-radius-2); }
.landing-hero__arch-outline { right: 0; top: 0; border: 0.125rem solid var(--terme-color-brand-accent); }
.landing-hero__arch { right: 1.125rem; top: 0.875rem; overflow: hidden; background: var(--terme-color-surface-editorial-warm); }
.landing-hero__arch img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.landing-hero__live { --landing-hero-live-padding: 1.125rem; position: absolute; left: 0.625rem; bottom: 2.125rem; display: inline-flex; align-items: center; gap: var(--terme-spacing-10); padding: var(--terme-spacing-10) var(--landing-hero-live-padding) var(--terme-spacing-10) var(--terme-spacing-14); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-raised); white-space: nowrap; font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-18); color: var(--terme-color-brand-ink); }
.landing-hero__live-dot { position: relative; width: 0.625rem; height: 0.625rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-status-success); }
.landing-hero__live-dot::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--terme-color-status-success); opacity: 0; }
.landing-hero__live-big { font-family: var(--terme-font-family-display); font-size: var(--terme-font-size-16); line-height: 1; color: var(--terme-color-brand-accent); }

/* While the hero search is docked (ADR 0054) the hero keeps its rows and lifts its layer above later sections. */
/* The bar's slot: same box as the bar, so the grid keeps its height while the bar is docked. */
.landing-hero__dock-anchor { display: none; }
@media (width >= 52.5rem) {
  .landing-hero__grid { grid-template-rows: 5rem auto auto auto; }
  .landing-hero__dock-anchor { display: block; grid-area: search; align-self: end; height: 4.875rem; margin-top: 3.25rem; visibility: hidden; pointer-events: none; }
  .landing-hero:has(.discovery-header--hero.is-docked), .landing-hero:has(.discovery-header--hero.is-undocking) { z-index: var(--terme-z-index-header); }
}

/* Sections --------------------------------------------------------------- */
.landing__main { display: block; }
.landing-section { box-sizing: border-box; width: 100%; max-width: var(--landing-wrap); margin-inline: auto; padding: 7rem var(--terme-public-gutter) 0; }
.landing-section__head { --landing-section-head-margin-bottom: 2.5rem; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--terme-spacing-16) var(--terme-spacing-24); margin-bottom: var(--landing-section-head-margin-bottom); }
.landing-section__heading { display: flex; flex-direction: column; gap: var(--terme-spacing-8); min-width: 0; }
.landing-section__title { --landing-section-title-font-size: clamp(2rem, 3.4vw, 2.75rem); --landing-section-title-line-height: 1.05; --landing-section-title-letter-spacing: -0.035em; margin: 0; font-family: var(--terme-font-family-display); font-weight: var(--terme-font-weight-bold); font-size: var(--landing-section-title-font-size); line-height: var(--landing-section-title-line-height); letter-spacing: var(--landing-section-title-letter-spacing); color: var(--terme-color-brand-ink); }
.landing-section__more { display: inline-flex; align-items: center; gap: var(--terme-spacing-6); min-height: var(--terme-size-touch-target); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); color: var(--terme-color-brand-ink); }
.landing-section__more svg { width: 1.125rem; height: 1.125rem; transition: transform var(--terme-motion-duration-state) var(--terme-motion-easing-ease-out); }
.landing-empty { display: flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-12); margin: 0 0 var(--terme-spacing-24); padding: var(--terme-spacing-24); border: 0.0625rem dashed var(--terme-color-border-default); border-radius: var(--terme-radius-xl); color: var(--terme-color-text-secondary); }
.landing-empty a { font-weight: var(--terme-font-weight-bold); color: var(--terme-color-brand-ink); text-decoration: underline; }

/* Categories ------------------------------------------------------------- */
.landing-categories { padding-top: 3.25rem; }
.landing-categories__mobile-title { display: none; }
.landing-categories__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--terme-spacing-16); }
.landing-category { --cat-bg: var(--terme-color-brand-ink); --cat-fg: var(--terme-color-text-on-accent); --cat-sub: var(--terme-color-border-default); --cat-art: var(--terme-color-brand-accent); --cat-go-bg: var(--terme-color-brand-accent); --cat-go-fg: var(--terme-color-text-on-accent); position: relative; display: flex; flex-direction: column; justify-content: space-between; height: 8rem; box-sizing: border-box; padding: var(--terme-spacing-16); overflow: hidden; border-radius: var(--terme-radius-xl); background: var(--cat-bg); color: var(--cat-fg); text-decoration: none; }
.landing-category--hair { --cat-bg: var(--terme-color-brand-accent-selected); --cat-fg: var(--terme-color-brand-ink); --cat-sub: var(--terme-color-text-secondary); --cat-go-bg: var(--terme-color-brand-ink); }
.landing-category--spa { --cat-bg: var(--terme-color-border-soft); --cat-fg: var(--terme-color-brand-ink); --cat-sub: var(--terme-color-text-secondary); --cat-art: var(--terme-color-text-secondary); --cat-go-bg: var(--terme-color-brand-ink); }
.landing-category--nails { --cat-bg: var(--terme-color-text-secondary); --cat-sub: var(--terme-color-border-soft); --cat-art: color-mix(in srgb, var(--terme-color-brand-accent) 60%, var(--terme-color-surface-raised)); }
.landing-category--makeup { --cat-bg: var(--terme-color-brand-accent-soft); --cat-fg: var(--terme-color-brand-ink); --cat-sub: var(--terme-color-text-secondary); --cat-art: var(--terme-color-brand-ink); }
.landing-category__art { position: absolute; right: -1.125rem; bottom: -1.25rem; width: 6.25rem; height: 6.25rem; color: var(--cat-art); stroke-width: 1.1; transition: transform var(--terme-motion-duration-emphasis) var(--terme-motion-easing-ease-out); }
/* The bottle and its drop stay whole instead of bleeding off the corner. */
.landing-category--nails .landing-category__art { right: -0.5rem; bottom: -0.25rem; width: 5.75rem; height: 5.75rem; }
.landing-category__copy { position: relative; display: flex; flex-direction: column; gap: var(--terme-spacing-6); min-width: 0; }
.landing-category__name { --landing-category-name-font-size: clamp(0.8125rem, 1.1vw, 0.9375rem); --landing-category-name-line-height: 1.15; font-family: var(--terme-font-family-display); font-size: var(--landing-category-name-font-size); font-weight: var(--terme-font-weight-bold); line-height: var(--landing-category-name-line-height); text-transform: uppercase; overflow-wrap: break-word; hyphens: auto; }
.landing-category__examples { font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); color: var(--cat-sub); }
.landing-category__go { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 2.125rem; height: 2.125rem; border-radius: var(--terme-radius-pill); background: var(--cat-go-bg); color: var(--cat-go-fg); }
.landing-category__go svg { width: 1rem; height: 1rem; }

/* Nearby ----------------------------------------------------------------- */
.landing-place__toggle { --landing-place-toggle-letter-spacing: 0.08em; align-self: flex-start; display: inline-flex; align-items: center; gap: var(--terme-spacing-6); margin: 0 0 calc(-1 * var(--terme-spacing-2)) calc(-1 * var(--terme-spacing-8)); padding: var(--terme-spacing-4) var(--terme-spacing-8); border: 0; border-radius: var(--terme-radius-sm); background: transparent; color: var(--terme-color-brand-ink); font: inherit; font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); font-weight: var(--terme-font-weight-bold); letter-spacing: var(--landing-place-toggle-letter-spacing); text-transform: uppercase; cursor: pointer; anchor-name: --landing-place; }
.landing-place__toggle svg { flex: none; width: 1rem; height: 1rem; color: var(--terme-color-brand-accent); }
.landing-place__km { font-weight: var(--terme-font-weight-semibold); color: var(--terme-color-text-secondary); }
.landing-place__chevron { display: inline-flex; color: var(--terme-color-text-secondary); }
.landing-place__toggle .landing-place__chevron svg { width: 0.875rem; height: 0.875rem; color: inherit; stroke-width: 2.5; }
.landing-section__heading:has(.landing-place__panel:popover-open) .landing-place__toggle { background: var(--terme-color-surface-canvas); }
.landing-section__heading:has(.landing-place__panel:popover-open) .landing-place__chevron { rotate: 180deg; }
.landing-place__note { margin: 0; font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); color: var(--terme-color-text-secondary); }
.landing-place__panel { --landing-place-panel-shadow: 0 4px 2px color-mix(in srgb, var(--terme-color-brand-ink) 5%, transparent), 0 18px 40px color-mix(in srgb, var(--terme-color-brand-ink) 13%, transparent); --landing-place-panel-radius: 1.5rem; box-sizing: border-box; width: min(30rem, calc(100vw - 2rem)); padding: var(--terme-spacing-20); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--landing-place-panel-radius); background: var(--terme-color-surface-raised); box-shadow: var(--landing-place-panel-shadow); color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-interface); }
.landing-place__panel:popover-open { display: flex; flex-direction: column; gap: var(--terme-spacing-16); }
.landing-place__panel::backdrop { background: transparent; }
.landing-place__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--terme-spacing-12); }
.landing-place__title { margin: 0; font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-24); font-weight: var(--terme-font-weight-bold); }
.landing-place__sub { margin: var(--terme-spacing-2) 0 0; font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); color: var(--terme-color-text-secondary); }
.landing-place__close { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 2.25rem; height: 2.25rem; margin: calc(-1 * var(--terme-spacing-6)) calc(-1 * var(--terme-spacing-8)) 0 0; padding: 0; border: 0; border-radius: var(--terme-radius-pill); background: transparent; color: var(--terme-color-text-secondary); cursor: pointer; }
.landing-place__close svg { width: 1.125rem; height: 1.125rem; }
.landing-place__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--terme-spacing-8); }
.landing-place__tile { display: flex; align-items: center; gap: var(--terme-spacing-8); min-height: 3.25rem; box-sizing: border-box; padding: var(--terme-spacing-8) var(--terme-spacing-10); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); }
.landing-place__tile-icon { display: inline-flex; flex: none; color: var(--terme-color-brand-accent); }
.landing-place__tile-icon svg { width: 1.75rem; height: 1.75rem; stroke-width: 1.5; }
.landing-place__tile-name { min-width: 0; font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-18); font-weight: var(--terme-font-weight-bold); hyphens: manual; }
.landing-place__tile[aria-current='true'] { background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); }
.landing-place__all { display: flex; align-items: center; justify-content: center; gap: var(--terme-spacing-8); min-height: var(--terme-size-touch-target); box-sizing: border-box; border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-card); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-semibold); }
.landing-place__all svg { flex: none; width: 1.125rem; height: 1.125rem; color: var(--terme-color-text-secondary); }
.landing-place__all[aria-current='true'] { border-color: var(--terme-color-brand-ink); }
.landing-place__all[aria-current='true'] svg:last-child { color: var(--terme-color-status-success); }
@media (width >= 52.5rem) {
  @supports (anchor-name: --landing-place) {
    .landing-place__panel { position-anchor: --landing-place; inset: auto; top: anchor(bottom); left: anchor(left); margin: var(--terme-spacing-8) 0 0; position-try-fallbacks: flip-block; }
  }
}
.landing-nearby[aria-busy='true'] .landing-nearby__grid { opacity: 0.5; }
.landing-nearby__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--terme-spacing-32) var(--terme-spacing-24); margin: 0; padding: 0; list-style: none; }
.landing-nearby__item { display: flex; min-width: 0; }
.landing-shop { display: flex; flex-direction: column; gap: var(--terme-spacing-12); width: 100%; color: var(--terme-color-brand-ink); }
.landing-shop__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--terme-radius-xl); background: var(--terme-color-border-soft); }
.landing-shop__photo { position: absolute; inset: 0; }
.landing-shop__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--terme-color-text-secondary); }
.landing-shop__placeholder svg { width: 2rem; height: 2rem; }
.landing-shop__badge { position: absolute; left: 0.75rem; top: 0.75rem; padding: var(--terme-spacing-4) var(--terme-spacing-10); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); }
.landing-shop__body { display: flex; flex-direction: column; gap: var(--terme-spacing-2); padding: 0 var(--terme-spacing-4); }
.landing-shop__name { font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); overflow-wrap: anywhere; }
.landing-shop__category { font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); color: var(--terme-color-text-secondary); }
.landing-shop__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-4) var(--terme-spacing-12); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); color: var(--terme-color-text-secondary); }
.landing-shop__meta span { display: inline-flex; align-items: center; gap: var(--terme-spacing-4); }
.landing-shop__meta svg { width: 0.9375rem; height: 0.9375rem; }
.landing-tip { display: flex; flex-direction: column; width: 100%; overflow: hidden; border-radius: var(--terme-radius-xl); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); }
.landing-tip__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.landing-tip__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.landing-tip__label { position: absolute; left: 0.75rem; top: 0.75rem; padding: var(--terme-spacing-4) var(--terme-spacing-10); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-bold); letter-spacing: var(--terme-font-tracking-eyebrow); text-transform: uppercase; }
.landing-tip__body { flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: var(--terme-spacing-6); padding: var(--terme-spacing-14) var(--terme-spacing-16); }
.landing-tip__title { --landing-tip-title-line-height: 1.1; font-family: var(--terme-font-family-display); font-size: var(--terme-font-size-24); font-weight: var(--terme-font-weight-bold); line-height: var(--landing-tip-title-line-height); letter-spacing: var(--terme-font-tracking-display); }
.landing-tip__action { display: flex; align-items: center; justify-content: space-between; font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.landing-tip__action svg { width: 1.125rem; height: 1.125rem; }
.landing-shop:focus-visible,
.landing-tip:focus-visible,
.landing-category:focus-visible { outline-color: var(--terme-color-brand-accent); outline-offset: var(--terme-spacing-4); border-radius: var(--terme-radius-xl); }

/* So einfach geht's ------------------------------------------------------ */
.landing-steps { container: landing-steps / inline-size; margin-top: 7rem; background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); overflow: clip; }
.landing-steps__inner {
  --landing-steps-inner-padding: 6.5rem;
  --flow-scale: 1;
  box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "title cta" "flow flow" "steps steps";
  align-items: end; column-gap: var(--terme-spacing-24); max-width: var(--landing-wrap); margin-inline: auto; padding: var(--landing-steps-inner-padding) var(--terme-public-gutter);
}
.landing-steps__title { --landing-steps-title-font-size: clamp(2.5rem, 4.6vw, 4rem); --landing-steps-title-letter-spacing: -0.04em; grid-area: title; margin: 0; font-family: var(--terme-font-family-display); font-weight: var(--terme-font-weight-bold); font-size: var(--landing-steps-title-font-size); line-height: 1; letter-spacing: var(--landing-steps-title-letter-spacing); color: var(--terme-color-text-on-accent); }
.landing-steps__script { display: inline-block; margin-left: var(--terme-spacing-14); font-family: var(--terme-font-family-script); font-weight: var(--terme-font-weight-regular); font-size: 1.15em; letter-spacing: 0; color: var(--terme-color-brand-accent); transform: rotate(-4deg); }
.landing-steps__cta { grid-area: cta; justify-self: end; display: inline-flex; align-items: center; gap: var(--terme-spacing-10); height: 3.25rem; padding: 0 var(--terme-spacing-24); border-radius: var(--terme-radius-card); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-bold); transition: background-color var(--terme-motion-duration-state) ease-out; }
.landing-steps__cta svg { width: 1.125rem; height: 1.125rem; }
.landing-flow__steps { grid-area: steps; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: calc(78rem * var(--flow-scale)); margin: 1.25rem auto 0; padding: 0; list-style: none; }
.landing-flow__step { display: flex; align-items: center; justify-content: center; gap: 0.75rem; font-size: var(--terme-font-size-20); font-weight: var(--terme-font-weight-bold); }
.landing-flow__number { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; flex: none; width: 2.25rem; height: 2.25rem; box-sizing: border-box; border: 0.125rem solid var(--landing-navy-line); border-radius: var(--terme-radius-pill); font-family: var(--terme-font-family-display); font-size: var(--terme-font-size-16); letter-spacing: -0.02em; }
.landing-flow__number::before { content: ""; position: absolute; z-index: -1; inset: -0.125rem; border-radius: inherit; background: var(--terme-color-brand-accent); }
.landing-flow__step:last-child .landing-flow__number::before { background: var(--terme-color-status-success); }
.landing-flow__number svg { width: 1.125rem; height: 1.125rem; stroke-width: 3; }

/* The scene is drawn at 78rem × 21.5rem and scaled as a whole, so the
   chip's flight points (landing-flow-fly) stay on the dotted route. */
.landing-flow { grid-area: flow; position: relative; width: calc(78rem * var(--flow-scale)); height: calc(21.5rem * var(--flow-scale)); margin: 3.5rem auto 0; }
.landing-flow__stage { position: absolute; left: 0; top: 0; width: 78rem; height: 21.5rem; transform-origin: 0 0; scale: var(--flow-scale); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-12); line-height: var(--terme-line-height-16); }
.landing-flow__spot { position: absolute; left: 0; top: -5.625rem; width: 35rem; height: 35rem; border-radius: var(--terme-radius-pill); background: radial-gradient(closest-side, color-mix(in srgb, var(--terme-color-brand-accent) 16%, transparent), transparent); translate: 47.5rem 0; pointer-events: none; }
.landing-flow__path { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; fill: none; stroke-linecap: round; }
.landing-flow__route { stroke: var(--landing-navy-line); stroke-width: 2; stroke-dasharray: 2 9; }
.landing-flow__trail { stroke: var(--terme-color-brand-accent); stroke-width: 2.5; stroke-dasharray: 100 100; }
.landing-flow__card { position: absolute; box-sizing: border-box; display: flex; flex-direction: column; gap: 0.625rem; width: 18.75rem; padding: 0.875rem; border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); box-shadow: 0 1.125rem 2.5rem color-mix(in srgb, var(--terme-color-brand-ink) 28%, transparent); }
.landing-flow__card::before { content: ""; position: absolute; inset: -0.25rem; border: 0.25rem solid color-mix(in srgb, var(--terme-color-brand-accent) 50%, transparent); border-radius: 1.5rem; opacity: 0; pointer-events: none; }
.landing-flow__card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--terme-color-brand-ink); opacity: 0; pointer-events: none; }
.landing-flow__card--find { left: 3.625rem; top: 1.5rem; }
.landing-flow__card--pick { left: 29.625rem; top: 4rem; gap: 0.75rem; }
.landing-flow__card--ticket { left: 55.625rem; top: 1.75rem; display: block; padding: 1rem; }
.landing-flow__card--ticket::before { border-color: color-mix(in srgb, var(--terme-color-status-success) 55%, transparent); opacity: 1; }
.landing-flow__search { display: flex; align-items: center; gap: 0.375rem; height: 2.375rem; box-sizing: border-box; padding: 0 0.25rem 0 0.625rem; border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-canvas); font-weight: var(--terme-font-weight-bold); }
.landing-flow__glyph { display: inline-flex; color: var(--terme-color-brand-accent); }
.landing-flow__glyph svg { width: 0.875rem; height: 0.875rem; }
.landing-flow__query { min-width: 0; overflow: hidden; white-space: nowrap; }
.landing-flow__go { display: inline-flex; align-items: center; justify-content: center; width: 1.875rem; height: 1.875rem; margin-left: auto; border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); }
.landing-flow__go svg { width: 0.8125rem; height: 0.8125rem; stroke-width: 2.6; }
.landing-flow__caption { display: flex; justify-content: space-between; font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-bold); color: var(--terme-color-text-secondary); }
.landing-flow__caption span:last-child { font-weight: var(--terme-font-weight-regular); }
.landing-flow__row,
.landing-flow__shop { display: flex; align-items: center; gap: 0.5rem; }
.landing-flow__row img { width: 2.625rem; height: 2.625rem; flex: none; border-radius: var(--terme-radius-field); object-fit: cover; }
.landing-flow__shop img { width: 2rem; height: 2rem; flex: none; border-radius: var(--terme-radius-sm); object-fit: cover; }
.landing-flow__copy { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.landing-flow__name { overflow: hidden; font-weight: var(--terme-font-weight-bold); text-overflow: ellipsis; white-space: nowrap; }
.landing-flow__name--title { font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-20); }
.landing-flow__meta { font-size: var(--terme-font-size-11); line-height: var(--terme-line-height-14); color: var(--terme-color-text-secondary); }
.landing-flow__star { color: var(--terme-color-brand-accent); }
.landing-flow__chip { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: none; min-width: 3rem; height: 1.75rem; box-sizing: border-box; padding: 0 0.5rem; border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-sm); background: var(--terme-color-surface-raised); font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-bold); }
.landing-flow__picked,
.landing-flow__filled { position: absolute; inset: -0.0625rem; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; border-radius: inherit; }
.landing-flow__picked { border: 0.09375rem solid var(--terme-color-brand-accent); background: var(--terme-color-brand-accent-selected); }
.landing-flow__filled { background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); }
.landing-flow__tabs { display: flex; gap: 1rem; height: 1.5rem; border-bottom: 0.0625rem solid var(--terme-color-border-soft); font-weight: var(--terme-font-weight-bold); color: var(--terme-color-text-secondary); }
.landing-flow__tabs span:first-child { color: var(--terme-color-brand-ink); box-shadow: inset 0 -0.125rem 0 var(--terme-color-brand-accent); }
.landing-flow__grid { display: grid; grid-template-columns: repeat(3, 4.5rem); gap: 0.5rem; justify-content: center; }
.landing-flow__grid .landing-flow__chip { width: 4.5rem; height: 2rem; font-size: var(--terme-font-size-12); }
.landing-flow__grid .landing-flow__chip--taken { border-color: var(--terme-color-border-soft); background: var(--terme-color-surface-canvas); color: var(--terme-color-text-muted); text-decoration: line-through; }
.landing-flow__grid .landing-flow__chip--slot { border: 0.09375rem dashed var(--terme-color-brand-accent); background: var(--terme-color-brand-accent-soft); color: var(--terme-color-brand-accent); }
.landing-flow__bar { display: flex; align-items: center; gap: 0.5rem; padding: 0.3125rem 0.3125rem 0.3125rem 0.625rem; border-radius: var(--terme-radius-field); background: var(--terme-color-surface-canvas); }
.landing-flow__book { position: relative; display: inline-flex; align-items: center; height: 2rem; padding: 0 0.75rem; border-radius: 0.5625rem; background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font-weight: var(--terme-font-weight-bold); }
.landing-flow__ticket-head { display: flex; align-items: center; gap: 0.75rem; height: 2.75rem; }
.landing-flow__stamp { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 2.5rem; height: 2.5rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-status-success); color: var(--terme-color-text-on-accent); }
.landing-flow__stamp svg { width: 1.375rem; height: 1.375rem; stroke-width: 2.6; }
.landing-flow__perforation { position: relative; display: block; height: 0.0625rem; margin: 0.875rem -1rem; border-top: 0.09375rem dashed var(--terme-color-border-default); }
.landing-flow__perforation::before,
.landing-flow__perforation::after { content: ""; position: absolute; top: -0.5625rem; width: 1rem; height: 1rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-ink); }
.landing-flow__perforation::before { left: -0.5rem; }
.landing-flow__perforation::after { right: -0.5rem; }
.landing-flow__ticket-row { display: flex; align-items: center; gap: 0.625rem; height: 2rem; }
.landing-flow__hole { flex: none; width: 3rem; height: 1.75rem; box-sizing: border-box; border: 0.09375rem dashed var(--terme-color-border-default); border-radius: var(--terme-radius-sm); }
.landing-flow__toast { position: absolute; left: 56.625rem; top: 11.375rem; display: inline-flex; align-items: center; gap: 0.5rem; height: 2.25rem; padding: 0 0.875rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); font-weight: var(--terme-font-weight-bold); box-shadow: 0 0.625rem 1.5rem color-mix(in srgb, var(--terme-color-brand-ink) 25%, transparent); }
.landing-flow__toast svg { width: 0.9375rem; height: 0.9375rem; color: var(--terme-color-text-secondary); }
.landing-flow__bit { position: absolute; left: 2.25rem; top: 2.375rem; width: 0.375rem; height: 0.375rem; margin: -0.1875rem 0 0 -0.1875rem; border-radius: 0.125rem; opacity: 0; }
.landing-flow__bit--1,
.landing-flow__bit--5 { background: var(--terme-color-brand-accent); }
.landing-flow__bit--2 { background: var(--terme-color-brand-accent-selected); }
.landing-flow__bit--3 { background: var(--terme-color-status-success); }
.landing-flow__bit--4 { background: var(--terme-color-text-secondary); }
.landing-flow__bit--6 { background: var(--terme-color-status-success-soft); }
.landing-flow__ripple,
.landing-flow__finger { position: absolute; left: 50%; top: 50%; box-sizing: border-box; border-radius: var(--terme-radius-pill); opacity: 0; pointer-events: none; }
.landing-flow__ripple { width: 2.75rem; height: 2.75rem; margin: -1.375rem 0 0 -1.375rem; border: 0.125rem solid var(--terme-color-brand-accent); }
.landing-flow__finger { width: 1.625rem; height: 1.625rem; margin: -0.8125rem 0 0 -0.8125rem; border: 0.125rem solid color-mix(in srgb, var(--terme-color-brand-ink) 45%, transparent); background: color-mix(in srgb, var(--terme-color-brand-ink) 18%, transparent); }
.landing-flow__fly { position: absolute; left: 0; top: 0; z-index: calc(var(--terme-z-index-raised) + 1); translate: 56.625rem 7.5rem; }
.landing-flow__fly--ghost,
.landing-flow__fly--ghost2 { z-index: var(--terme-z-index-raised); opacity: 0; filter: blur(0.0625rem); }
.landing-flow__fly--ghost2 { filter: blur(0.125rem); }
.landing-flow__fly-chip { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 1.75rem; border-radius: var(--terme-radius-sm); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-bold); box-shadow: 0 0.5rem 1.125rem color-mix(in srgb, var(--terme-color-brand-accent) 40%, transparent); }
.landing-flow__fly--ghost .landing-flow__fly-chip,
.landing-flow__fly--ghost2 .landing-flow__fly-chip { color: transparent; box-shadow: none; }
@container landing-steps (width < 83rem) {
  .landing-steps__inner { --flow-scale: 0.9; }
}
@container landing-steps (width < 75rem) {
  .landing-steps__inner { --flow-scale: 0.82; }
}
/* Too narrow for the scaled scene: it keeps its size and pans from card to
   card under a fixed stepper. */
@container landing-steps (width < 68.75rem) {
  .landing-steps__inner { --flow-scale: 1; grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "steps" "flow" "cta"; }
  .landing-steps__cta { justify-self: center; margin-top: var(--terme-spacing-24); }
  .landing-flow__steps { display: flex; justify-content: space-between; width: 100%; max-width: 25rem; margin: var(--terme-spacing-24) auto 0; }
  .landing-flow__step { gap: 0.5rem; font-size: var(--terme-font-size-15); }
  .landing-flow__number { width: 1.75rem; height: 1.75rem; font-size: var(--terme-font-size-13); }
  .landing-flow__number svg { width: 0.875rem; height: 0.875rem; }
  .landing-flow { width: auto; margin: 0.5rem 0 0; overflow: hidden; container-type: inline-size; mask-image: linear-gradient(90deg, transparent, black 2rem, black calc(100% - 2rem), transparent); }
  .landing-flow__stage { translate: calc(50cqw - 65rem * var(--flow-scale)) 0; }
  .landing-flow__spot { display: none; }
}
@container landing-steps (width < 22.5rem) {
  .landing-steps__inner { --flow-scale: 0.9; }
}

/* Steps flight: armed by the landing motion island (paused on its first
   frame), played once when the scene is half in view, ending on the
   finished state above. Never under reduced motion. */
@keyframes landing-flow-spot {
  0%, 33% { translate: -4.5rem 0; animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
  44%, 60% { translate: 21.5rem 0; animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
  71%, 100% { translate: 47.5rem 0; }
}
@keyframes landing-flow-trail {
  0%, 33% { stroke-dashoffset: 100; animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
  44%, 60% { stroke-dashoffset: 50.11; animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
  71%, 100% { stroke-dashoffset: 0; }
}
@keyframes landing-flow-pan {
  0%, 33% { translate: calc(50cqw - 13rem * var(--flow-scale)) 0; animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
  44%, 60% { translate: calc(50cqw - 39rem * var(--flow-scale)) 0; animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
  71%, 100% { translate: calc(50cqw - 65rem * var(--flow-scale)) 0; }
}
@keyframes landing-flow-find { 0% { scale: 0.96; } 4%, 31% { scale: 1; } 35%, 88% { scale: 0.96; } 92%, 100% { scale: 1; } }
@keyframes landing-flow-pick { 0%, 40% { scale: 0.96; } 43%, 58% { scale: 1; } 62%, 88% { scale: 0.96; } 92%, 100% { scale: 1; } }
@keyframes landing-flow-ticket { 0%, 67% { scale: 0.96; } 70%, 100% { scale: 1; } }
@keyframes landing-flow-find-dim { 0% { opacity: 0.12; } 4%, 31% { opacity: 0; } 35%, 88% { opacity: 0.06; } 92%, 100% { opacity: 0; } }
@keyframes landing-flow-pick-dim { 0%, 40% { opacity: 0.12; } 43%, 58% { opacity: 0; } 62%, 88% { opacity: 0.06; } 92%, 100% { opacity: 0; } }
@keyframes landing-flow-ticket-dim { 0%, 67% { opacity: 0.12; } 70%, 100% { opacity: 0; } }
@keyframes landing-flow-find-ring { 0% { opacity: 0; } 4%, 31% { opacity: 1; } 35%, 100% { opacity: 0; } }
@keyframes landing-flow-pick-ring { 0%, 40% { opacity: 0; } 43%, 58% { opacity: 1; } 62%, 100% { opacity: 0; } }
@keyframes landing-flow-ticket-ring { 0%, 72% { opacity: 0; } 75%, 100% { opacity: 1; } }
@keyframes landing-flow-type { 0%, 4% { clip-path: inset(0 100% 0 0); } 16%, 100% { clip-path: inset(0); } }
@keyframes landing-flow-go { 0%, 17% { scale: 1; } 18% { scale: 0.86; } 20%, 100% { scale: 1; } }
@keyframes landing-flow-reveal-1 { 0%, 19% { opacity: 0; translate: 0 0.625rem; } 22%, 100% { opacity: 1; translate: 0 0; } }
@keyframes landing-flow-reveal-2 { 0%, 20% { opacity: 0; translate: 0 0.625rem; } 23%, 100% { opacity: 1; translate: 0 0; } }
@keyframes landing-flow-reveal-3 { 0%, 21% { opacity: 0; translate: 0 0.625rem; } 24%, 100% { opacity: 1; translate: 0 0; } }
@keyframes landing-flow-finger-1 { 0%, 24% { opacity: 0; translate: 3rem 2.5rem; scale: 1; } 28% { opacity: 1; translate: 0 0; scale: 1; } 29.5%, 31% { opacity: 1; translate: 0 0; scale: 0.8; } 33%, 100% { opacity: 0; translate: 0 0; scale: 0.8; } }
@keyframes landing-flow-ripple-1 { 0%, 29% { opacity: 0; scale: 0.6; } 29.5% { opacity: 1; scale: 0.7; } 35%, 100% { opacity: 0; scale: 1.8; } }
@keyframes landing-flow-picked { 0%, 30% { opacity: 0; } 31%, 100% { opacity: 1; } }
@keyframes landing-flow-slot { 0%, 32% { scale: 1; } 36% { scale: 1.08; } 39% { scale: 1; } 42% { scale: 1.08; } 44%, 100% { scale: 1; } }
@keyframes landing-flow-ripple-2 { 0%, 44% { opacity: 0; scale: 0.6; } 44.5% { opacity: 1; scale: 0.7; } 50%, 100% { opacity: 0; scale: 1.8; } }
@keyframes landing-flow-filled { 0%, 56% { opacity: 0; } 57%, 100% { opacity: 1; } }
@keyframes landing-flow-bar { 0%, 46% { opacity: 0; translate: 0 0.5rem; } 50%, 100% { opacity: 1; translate: 0 0; } }
@keyframes landing-flow-finger-2 { 0%, 50% { opacity: 0; translate: 3rem 2.25rem; scale: 1; } 53.5% { opacity: 1; translate: 0 0; scale: 1; } 55%, 56% { opacity: 1; translate: 0 0; scale: 0.8; } 58%, 100% { opacity: 0; translate: 0 0; scale: 0.8; } }
@keyframes landing-flow-book { 0%, 54% { scale: 1; } 55.5% { scale: 0.9; } 57.5%, 100% { scale: 1; } }
@keyframes landing-flow-hole { 0%, 60% { scale: 1; } 63% { scale: 1.08; } 66% { scale: 1; } 69% { scale: 1.08; } 71%, 100% { scale: 1; } }
@keyframes landing-flow-stamp { 0%, 72% { scale: 0; animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1); } 76%, 100% { scale: 1; } }
@keyframes landing-flow-toast { 0%, 77% { opacity: 0; translate: 0 -0.875rem; } 81%, 100% { opacity: 1; translate: 0 0; } }
@keyframes landing-flow-chip {
  0%, 29.9% { opacity: 0; scale: 0.6; }
  30% { opacity: 1; scale: 0.9; }
  32% { opacity: 1; scale: 1.22; }
  33%, 44% { opacity: 1; scale: 1.15; }
  45% { opacity: 1; scale: 1.22 0.8; }
  47%, 57% { opacity: 1; scale: 1; }
  59% { opacity: 1; scale: 1.22; }
  60%, 71% { opacity: 1; scale: 1.15; }
  72% { opacity: 1; scale: 1.22 0.8; }
  74%, 100% { opacity: 1; scale: 1; }
}
@keyframes landing-flow-fly {
    0%, 33% { translate: 18.5rem 7.44rem; }
    33.7% { translate: 18.59rem 7.26rem; }
    34.4% { translate: 18.92rem 6.62rem; }
    35.1% { translate: 19.68rem 5.38rem; }
    35.8% { translate: 21.24rem 3.43rem; }
    36.4% { translate: 24.34rem 1.27rem; }
    37.1% { translate: 28.81rem 1.02rem; }
    37.8% { translate: 32.36rem 3.12rem; }
    38.5% { translate: 34.42rem 5.59rem; }
    39.2% { translate: 35.62rem 7.64rem; }
    39.9% { translate: 36.35rem 9.23rem; }
    40.6% { translate: 36.81rem 10.42rem; }
    41.2% { translate: 37.11rem 11.29rem; }
    41.9% { translate: 37.3rem 11.89rem; }
    42.6% { translate: 37.42rem 12.28rem; }
    43.3% { translate: 37.48rem 12.5rem; }
    44%, 60% { translate: 37.5rem 12.56rem; }
    60.7% { translate: 37.56rem 12.37rem; }
    61.4% { translate: 37.76rem 11.68rem; }
    62.1% { translate: 38.23rem 10.3rem; }
    62.8% { translate: 39.21rem 7.98rem; }
    63.4% { translate: 41.19rem 4.73rem; }
    64.1% { translate: 44.59rem 1.69rem; }
    64.8% { translate: 48.61rem 0.78rem; }
    65.5% { translate: 51.67rem 1.76rem; }
    66.2% { translate: 53.57rem 3.21rem; }
    66.9% { translate: 54.75rem 4.51rem; }
    67.6% { translate: 55.5rem 5.54rem; }
    68.2% { translate: 55.98rem 6.32rem; }
    68.9% { translate: 56.3rem 6.88rem; }
    69.6% { translate: 56.49rem 7.24rem; }
    70.3% { translate: 56.59rem 7.44rem; }
    71%, 100% { translate: 56.62rem 7.5rem; }
}
@keyframes landing-flow-bit-1 { 0%, 73% { opacity: 0; translate: 0 0; rotate: 0deg; scale: 0.6; } 74% { opacity: 1; translate: 0 0; rotate: 0deg; scale: 0.6; } 82% { opacity: 1; translate: -2.125rem -1.625rem; rotate: 120deg; scale: 1; } 87%, 100% { opacity: 0; translate: -2.44rem -0.875rem; rotate: 168deg; scale: 1; } }
@keyframes landing-flow-bit-2 { 0%, 73% { opacity: 0; translate: 0 0; rotate: 0deg; scale: 0.6; } 74% { opacity: 1; translate: 0 0; rotate: 0deg; scale: 0.6; } 82% { opacity: 1; translate: 0.5rem -2.5rem; rotate: -90deg; scale: 1; } 87%, 100% { opacity: 0; translate: 0.575rem -1.75rem; rotate: -126deg; scale: 1; } }
@keyframes landing-flow-bit-3 { 0%, 73% { opacity: 0; translate: 0 0; rotate: 0deg; scale: 0.6; } 74% { opacity: 1; translate: 0 0; rotate: 0deg; scale: 0.6; } 82% { opacity: 1; translate: 2.5rem -1.125rem; rotate: 160deg; scale: 1; } 87%, 100% { opacity: 0; translate: 2.875rem -0.375rem; rotate: 224deg; scale: 1; } }
@keyframes landing-flow-bit-4 { 0%, 73% { opacity: 0; translate: 0 0; rotate: 0deg; scale: 0.6; } 74% { opacity: 1; translate: 0 0; rotate: 0deg; scale: 0.6; } 82% { opacity: 1; translate: -2.5rem 0.375rem; rotate: -140deg; scale: 1; } 87%, 100% { opacity: 0; translate: -2.875rem 1.125rem; rotate: -196deg; scale: 1; } }
@keyframes landing-flow-bit-5 { 0%, 73% { opacity: 0; translate: 0 0; rotate: 0deg; scale: 0.6; } 74% { opacity: 1; translate: 0 0; rotate: 0deg; scale: 0.6; } 82% { opacity: 1; translate: 1.875rem 1.375rem; rotate: 100deg; scale: 1; } 87%, 100% { opacity: 0; translate: 2.156rem 2.125rem; rotate: 140deg; scale: 1; } }
@keyframes landing-flow-bit-6 { 0%, 73% { opacity: 0; translate: 0 0; rotate: 0deg; scale: 0.6; } 74% { opacity: 1; translate: 0 0; rotate: 0deg; scale: 0.6; } 82% { opacity: 1; translate: -0.625rem 2.25rem; rotate: -60deg; scale: 1; } 87%, 100% { opacity: 0; translate: -0.719rem 3rem; rotate: -84deg; scale: 1; } }
@keyframes landing-flow-number-1 { 0% { opacity: 0; scale: 0.6; } 4%, 100% { opacity: 1; scale: 1; } }
@keyframes landing-flow-word-1 { 0% { opacity: 0.45; } 4%, 100% { opacity: 1; } }
@keyframes landing-flow-number-2 { 0%, 43% { opacity: 0; scale: 0.6; } 45%, 100% { opacity: 1; scale: 1; } }
@keyframes landing-flow-word-2 { 0%, 43% { opacity: 0.45; } 45%, 100% { opacity: 1; } }
@keyframes landing-flow-number-3 { 0%, 72% { opacity: 0; scale: 0.6; } 75%, 100% { opacity: 1; scale: 1; } }
@keyframes landing-flow-word-3 { 0%, 72% { opacity: 0.45; } 75%, 100% { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .landing-steps.is-armed .landing-flow__steps *,
  .landing-steps.is-armed .landing-flow__steps *::before,
  .landing-steps.is-armed .landing-flow,
  .landing-steps.is-armed .landing-flow *,
  .landing-steps.is-armed .landing-flow *::before,
  .landing-steps.is-armed .landing-flow *::after { animation-duration: 10s; animation-fill-mode: both; animation-play-state: paused; }
  .landing-steps.is-playing .landing-flow__steps *,
  .landing-steps.is-playing .landing-flow__steps *::before,
  .landing-steps.is-playing .landing-flow,
  .landing-steps.is-playing .landing-flow *,
  .landing-steps.is-playing .landing-flow *::before,
  .landing-steps.is-playing .landing-flow *::after { animation-play-state: running; }
  .landing-steps.is-armed .landing-flow__spot { animation-name: landing-flow-spot; }
  .landing-steps.is-armed .landing-flow__trail { animation-name: landing-flow-trail; }
  .landing-steps.is-armed .landing-flow__card--find { animation-name: landing-flow-find; }
  .landing-steps.is-armed .landing-flow__card--pick { animation-name: landing-flow-pick; }
  .landing-steps.is-armed .landing-flow__card--ticket { animation-name: landing-flow-ticket; }
  .landing-steps.is-armed .landing-flow__card--find::after { animation-name: landing-flow-find-dim; }
  .landing-steps.is-armed .landing-flow__card--pick::after { animation-name: landing-flow-pick-dim; }
  .landing-steps.is-armed .landing-flow__card--ticket::after { animation-name: landing-flow-ticket-dim; }
  .landing-steps.is-armed .landing-flow__card--find::before { animation-name: landing-flow-find-ring; }
  .landing-steps.is-armed .landing-flow__card--pick::before { animation-name: landing-flow-pick-ring; }
  .landing-steps.is-armed .landing-flow__card--ticket::before { animation-name: landing-flow-ticket-ring; }
  .landing-steps.is-armed .landing-flow__query { animation-name: landing-flow-type; animation-timing-function: steps(17, end); }
  .landing-steps.is-armed .landing-flow__go { animation-name: landing-flow-go; }
  .landing-steps.is-armed .landing-flow__reveal--1 { animation-name: landing-flow-reveal-1; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__reveal--2 { animation-name: landing-flow-reveal-2; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__reveal--3 { animation-name: landing-flow-reveal-3; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__row .landing-flow__finger { animation-name: landing-flow-finger-1; }
  .landing-steps.is-armed .landing-flow__row .landing-flow__ripple { animation-name: landing-flow-ripple-1; }
  .landing-steps.is-armed .landing-flow__picked { animation-name: landing-flow-picked; }
  .landing-steps.is-armed .landing-flow__chip--slot { animation-name: landing-flow-slot; }
  .landing-steps.is-armed .landing-flow__chip--slot .landing-flow__ripple { animation-name: landing-flow-ripple-2; }
  .landing-steps.is-armed .landing-flow__filled { animation-name: landing-flow-filled; }
  .landing-steps.is-armed .landing-flow__bar { animation-name: landing-flow-bar; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__book { animation-name: landing-flow-book; }
  .landing-steps.is-armed .landing-flow__book .landing-flow__finger { animation-name: landing-flow-finger-2; }
  .landing-steps.is-armed .landing-flow__hole { animation-name: landing-flow-hole; }
  .landing-steps.is-armed .landing-flow__stamp { animation-name: landing-flow-stamp; }
  .landing-steps.is-armed .landing-flow__toast { animation-name: landing-flow-toast; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__bit--1 { animation-name: landing-flow-bit-1; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__bit--2 { animation-name: landing-flow-bit-2; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__bit--3 { animation-name: landing-flow-bit-3; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__bit--4 { animation-name: landing-flow-bit-4; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__bit--5 { animation-name: landing-flow-bit-5; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__bit--6 { animation-name: landing-flow-bit-6; animation-timing-function: var(--terme-motion-easing-ease-out); }
  .landing-steps.is-armed .landing-flow__fly { animation-name: landing-flow-fly; animation-timing-function: linear; }
  .landing-steps.is-armed .landing-flow__fly-chip { animation-name: landing-flow-chip; }
  .landing-steps.is-armed .landing-flow__fly--ghost { opacity: 0.35; }
  .landing-steps.is-armed .landing-flow__fly--ghost2 { opacity: 0.16; }
  .landing-steps.is-armed .landing-flow__fly--ghost,
  .landing-steps.is-armed .landing-flow__fly--ghost .landing-flow__fly-chip { animation-delay: 60ms; }
  .landing-steps.is-armed .landing-flow__fly--ghost2,
  .landing-steps.is-armed .landing-flow__fly--ghost2 .landing-flow__fly-chip { animation-delay: 120ms; }
  .landing-steps.is-armed .landing-flow__step:nth-child(1) .landing-flow__number::before { animation-name: landing-flow-number-1; }
  .landing-steps.is-armed .landing-flow__step:nth-child(1) .landing-flow__word { animation-name: landing-flow-word-1; }
  .landing-steps.is-armed .landing-flow__step:nth-child(2) .landing-flow__number::before { animation-name: landing-flow-number-2; }
  .landing-steps.is-armed .landing-flow__step:nth-child(2) .landing-flow__word { animation-name: landing-flow-word-2; }
  .landing-steps.is-armed .landing-flow__step:nth-child(3) .landing-flow__number::before { animation-name: landing-flow-number-3; }
  .landing-steps.is-armed .landing-flow__step:nth-child(3) .landing-flow__word { animation-name: landing-flow-word-3; }
}
@media (prefers-reduced-motion: no-preference) {
  @container landing-steps (width < 68.75rem) {
    .landing-steps.is-armed .landing-flow__stage { animation-name: landing-flow-pan; }
  }
}

/* Decorative transitions, never under reduced motion */
@media (prefers-reduced-motion: no-preference) {
  .landing-place__toggle { --landing-place-toggle-duration: 160ms; transition: background-color var(--landing-place-toggle-duration) ease; }
  .landing-place__chevron { transition: rotate var(--terme-motion-duration-state) var(--terme-motion-easing-ease-out); }
  .landing-nearby__grid { --landing-nearby-grid-duration: 160ms; transition: opacity var(--landing-nearby-grid-duration) ease; }
}

/* Dein Konto: the customer account band before the provider band -------- */
.landing-account__card { --landing-account-card-radius: 1.5rem; display: flex; align-items: stretch; overflow: clip; border-radius: var(--landing-account-card-radius); background: var(--terme-color-surface-canvas); }
.landing-account__copy { --landing-account-copy-padding: 1.75rem; --landing-account-copy-padding-2: 3.75rem; flex: 1 1 26.25rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--terme-spacing-20); padding: clamp(var(--landing-account-copy-padding), 5vw, var(--landing-account-copy-padding-2)); }
.landing-account__eyebrow { font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-14); letter-spacing: var(--terme-font-tracking-eyebrow); text-transform: uppercase; color: var(--terme-color-text-secondary); }
.landing-account__title { --landing-account-title-letter-spacing: -0.04em; margin: 0; font-family: var(--terme-font-family-display); font-weight: var(--terme-font-weight-bold); font-size: var(--terme-font-size-display-md); line-height: 1; letter-spacing: var(--landing-account-title-letter-spacing); color: var(--terme-color-brand-ink); }
.landing-account__script { display: block; margin-top: var(--terme-spacing-6); font-family: var(--terme-font-family-script); font-weight: var(--terme-font-weight-regular); font-size: 1.15em; letter-spacing: 0; color: var(--terme-color-brand-accent); }
/* The provider line stays in the display face: the script is kept for few, deliberate places. */
.landing-provider__script { display: block; font-family: var(--terme-font-family-display); font-weight: var(--terme-font-weight-bold); font-size: 1em; line-height: inherit; letter-spacing: inherit; text-transform: uppercase; color: var(--terme-color-brand-accent); }
.landing-account__points { display: flex; flex-direction: column; gap: var(--terme-spacing-12); margin: var(--terme-spacing-4) 0 0; padding: 0; list-style: none; }
.landing-account__points li { display: flex; align-items: center; gap: var(--terme-spacing-12); font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-24); color: var(--terme-color-brand-ink); }
.landing-account__tick { display: grid; place-items: center; flex: none; width: 1.625rem; height: 1.625rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-status-success-soft); color: var(--terme-color-status-success); }
.landing-account__tick svg { width: 0.875rem; height: 0.875rem; }
.landing-account__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-16) var(--terme-spacing-24); margin-top: var(--terme-spacing-8); }
.landing-account__cta { --landing-account-cta-padding: 1.375rem; display: inline-flex; align-items: center; gap: var(--terme-spacing-8); height: 3.125rem; padding: 0 var(--landing-account-cta-padding); border-radius: var(--terme-radius-card); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-bold); text-decoration: none; transition: background-color var(--terme-motion-duration-state) ease-out; }
.landing-account__cta svg { width: 1.125rem; height: 1.125rem; }
.landing-account__login { display: inline-flex; align-items: center; min-height: var(--terme-size-touch-target); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); color: var(--terme-color-brand-ink); text-decoration: underline; text-underline-offset: 0.25rem; }
.landing-account__art { position: relative; flex: 0 1 32.5rem; min-height: 26.25rem; overflow: hidden; background: radial-gradient(circle at 60% 40%, var(--terme-color-brand-accent-selected) 0, transparent 60%), var(--terme-color-border-soft); }
.landing-account__phone { --landing-account-phone-padding: 1.125rem; --landing-account-phone-radius: 2.25rem; position: absolute; left: 5.25rem; top: 2.75rem; width: 20.625rem; height: 26.25rem; box-sizing: border-box; padding: var(--landing-account-phone-padding) var(--terme-spacing-16); border: 0.5rem solid var(--terme-color-brand-ink); border-bottom: 0; border-radius: var(--landing-account-phone-radius) var(--landing-account-phone-radius) 0 0; background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-raised); }
.landing-account__phone-title { display: block; margin: var(--terme-spacing-6) var(--terme-spacing-4) var(--terme-spacing-14); font-size: var(--terme-font-size-18); line-height: var(--terme-line-height-24); font-weight: var(--terme-font-weight-extrabold); color: var(--terme-color-brand-ink); }
.landing-account__tabs { display: flex; gap: var(--terme-spacing-6); margin: 0 var(--terme-spacing-4) var(--terme-spacing-14); }
.landing-account__tabs span { --landing-account-tabs-line-height: 1.875rem; height: 1.875rem; padding: 0 var(--terme-spacing-12); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-canvas); font-size: var(--terme-font-size-12); line-height: var(--landing-account-tabs-line-height); font-weight: var(--terme-font-weight-bold); color: var(--terme-color-text-secondary); }
.landing-account__tabs span:first-child { background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); }
.landing-account__booking { display: flex; align-items: center; gap: var(--terme-spacing-10); margin-bottom: var(--terme-spacing-10); padding: var(--terme-spacing-10); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-lg); }
.landing-account__booking img { flex: none; width: 3.25rem; height: 3.25rem; border-radius: var(--terme-radius-md); object-fit: cover; }
.landing-account__booking-copy { display: flex; flex: 1; flex-direction: column; gap: var(--terme-spacing-2); min-width: 0; font-size: var(--terme-font-size-12); line-height: var(--terme-line-height-16); color: var(--terme-color-text-secondary); white-space: nowrap; }
.landing-account__booking-name { font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-18); font-weight: var(--terme-font-weight-bold); color: var(--terme-color-brand-ink); }
.landing-account__status { flex: none; padding: var(--terme-spacing-2) var(--terme-spacing-8); border-radius: var(--terme-radius-pill); background: var(--terme-color-status-success-soft); color: var(--terme-color-status-success); font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-bold); }
.landing-account__mail { position: absolute; right: 1.375rem; bottom: 2.125rem; display: flex; align-items: center; gap: var(--terme-spacing-10); padding: var(--terme-spacing-12) var(--terme-spacing-14); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-raised); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-17); color: var(--terme-color-brand-ink); }
.landing-account__mail-title { display: block; font-weight: var(--terme-font-weight-bold); }
.landing-account__mail-icon { display: grid; place-items: center; flex: none; width: 2.125rem; height: 2.125rem; border-radius: var(--terme-radius-field); background: var(--terme-color-brand-accent-soft); color: var(--terme-color-brand-accent); }
.landing-account__mail-icon svg { width: 1.125rem; height: 1.125rem; }
@media (width < 75rem) {
  .landing-account__card { flex-direction: column; }
  .landing-account__art { flex: none; min-height: 21rem; }
  .landing-account__phone { left: 50%; translate: -50% 0; top: 2rem; }
}

/* Provider band ---------------------------------------------------------- */
/* Runs under the footer's round top corners. */
.landing-provider { --landing-provider-margin: 10rem; position: relative; margin: var(--landing-provider-margin) 0 calc(-1 * var(--terme-spacing-40)); padding-bottom: var(--terme-spacing-40); background: var(--terme-color-brand-accent-soft); }
.landing-provider::before { content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% - 0.0625rem); height: 6rem; border-radius: 50% 50% 0 0 / 100% 100% 0 0; background: inherit; pointer-events: none; }
.landing-provider__inner { --landing-provider-inner-padding: 8rem; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 34rem); align-items: center; gap: var(--terme-spacing-64); width: 100%; max-width: var(--landing-wrap); margin-inline: auto; padding: var(--terme-spacing-64) var(--terme-public-gutter) var(--landing-provider-inner-padding); }
.landing-provider__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--terme-spacing-20); }
.landing-provider__eyebrow { font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-14); letter-spacing: var(--terme-font-tracking-eyebrow); text-transform: uppercase; }
.landing-provider__title { --landing-provider-title-letter-spacing: -0.04em; margin: 0; font-family: var(--terme-font-family-display); font-weight: var(--terme-font-weight-bold); font-size: var(--terme-font-size-display-md); line-height: 1; letter-spacing: var(--landing-provider-title-letter-spacing); color: var(--terme-color-brand-ink); }
.landing-provider__lead { margin: 0; max-width: 27.5rem; font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-26); color: var(--terme-color-text-secondary); }
.landing-provider__cta { --landing-provider-cta-padding: 1.375rem; display: inline-flex; align-items: center; gap: var(--terme-spacing-8); height: 3.125rem; margin-top: var(--terme-spacing-8); padding: 0 var(--landing-provider-cta-padding); border-radius: var(--terme-radius-card); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-bold); }
.landing-provider__cta svg { width: 1.125rem; height: 1.125rem; }
.landing-provider__media img { --landing-provider-media-radius: 16.25rem; --landing-provider-media-radius-2: 1.5rem; display: block; width: 100%; height: 25rem; object-fit: cover; object-position: 50% 40%; border-radius: var(--landing-provider-media-radius) var(--landing-provider-media-radius) var(--landing-provider-media-radius-2) var(--landing-provider-media-radius-2); }
@media (width < 75rem) {
  .landing-provider__inner { grid-template-columns: minmax(0, 1fr); gap: var(--terme-spacing-40); }
  .landing-provider__media { width: 100%; max-width: 34rem; }
  .landing-provider__media img { height: 20rem; }
}

/* Hover (mouse only) */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .landing-category,
  .landing-shop,
  .landing-tip { --landing-category-duration: 260ms; transition: transform var(--landing-category-duration) var(--terme-motion-easing-ease-out); }
  .landing-category:hover,
  .landing-shop:hover,
  .landing-tip:hover { transform: translateY(-0.25rem); }
  .landing-category:hover .landing-category__art { transform: rotate(-8deg) scale(1.06); }
  .landing-section__more:hover svg { transform: translateX(0.1875rem); }
}
@media (hover: hover) and (pointer: fine) {
  .landing-steps__cta:hover { background: var(--terme-color-brand-accent-hover); }
  .landing-account__cta:hover { background: var(--terme-color-brand-accent-hover); }
  .landing-place__toggle:hover { background: var(--terme-color-surface-canvas); }
  .landing-place__tile:hover { background: var(--terme-color-border-soft); }
  .landing-place__tile[aria-current='true']:hover { background: var(--terme-color-brand-ink); }
  .landing-place__close:hover,
  .landing-place__all:hover { background: var(--terme-color-surface-canvas); }
}

/* Responsive ------------------------------------------------------------- */
@media (width < 75rem) {
  .landing-hero__grid { column-gap: var(--terme-spacing-24); }
  .landing-categories__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .landing-nearby__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (width < 52.5rem) {
  /* C-066: the search comes before the badges, above the cookie banner. */
  .landing-hero__grid { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand actions" "copy copy" "search search" "facts facts"; }
  .landing-hero__art { display: none; }
}
@media (width < 52.5rem) {
  .landing { --landing-padding-bottom: 4.5rem; padding-bottom: var(--landing-padding-bottom); }
  .landing-hero::before { bottom: 0; }
  .landing-hero__grid { padding-bottom: var(--terme-spacing-24); }
  .landing-hero__copy { padding-top: var(--terme-spacing-16); gap: var(--terme-spacing-16); }
  .landing-hero__title { --landing-hero-title-font-size: 2.625rem; font-size: var(--landing-hero-title-font-size); }
  .landing-hero__script { --landing-hero-script-font-size: 3.375rem; display: block; margin: var(--terme-spacing-10) 0 0 var(--terme-spacing-4); font-size: var(--landing-hero-script-font-size); white-space: nowrap; }
  .landing-hero__lead { font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-24); }
  .landing-hero__facts { gap: var(--terme-spacing-8); margin-top: var(--terme-spacing-18, 1.125rem); }
  .landing-hero__fact { gap: var(--terme-spacing-8); padding: var(--terme-spacing-4) var(--terme-spacing-12) var(--terme-spacing-4) var(--terme-spacing-4); }
  .landing-hero__fact-icon { width: 1.75rem; height: 1.75rem; border-radius: var(--terme-radius-sm); }
  .landing-hero__fact-title { font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-17); }
  .landing-section { padding-top: var(--terme-spacing-32); }
  .landing-section__head { margin-bottom: var(--terme-spacing-16); }
  .landing-section__title { font-size: var(--terme-font-size-28); }
  .landing-place__panel { inset: auto var(--terme-public-gutter) var(--terme-public-gutter); width: auto; margin: 0; }
  .landing-place__panel::backdrop { background: color-mix(in srgb, var(--terme-color-brand-ink) 28%, transparent); }
  .landing-place__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-categories { padding-inline: 0; }
  .landing-categories__mobile-title { --landing-categories-mobile-title-line-height: 1.05; --landing-categories-mobile-title-letter-spacing: -0.035em; display: block; margin: 0 var(--terme-public-gutter) var(--terme-spacing-16); font-family: var(--terme-font-family-display); font-size: var(--terme-font-size-28); line-height: var(--landing-categories-mobile-title-line-height); letter-spacing: var(--landing-categories-mobile-title-letter-spacing); color: var(--terme-color-brand-ink); }
  .landing-nearby__grid { display: flex; gap: var(--terme-spacing-12); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--terme-public-gutter); scrollbar-width: none; margin-inline: calc(-1 * var(--terme-public-gutter)); padding: 0 var(--terme-public-gutter) var(--terme-spacing-4); }
  /* Board F3 (K2): all six tiles as a 3 × 2 grid, name only, glyph bottom right. */
  .landing-categories__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--terme-spacing-8); padding: var(--terme-spacing-4) var(--terme-public-gutter) 0; }
  .landing-category { height: 5.5rem; padding: var(--terme-spacing-12); border-radius: var(--terme-radius-card); justify-content: flex-start; }
  .landing-category__art, .landing-category--nails .landing-category__art { right: -0.375rem; bottom: -0.5rem; width: 3.375rem; height: 3.375rem; stroke-width: 1.2; }
  .landing-category__name { max-width: 5.75rem; font-family: var(--terme-font-family-interface); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-extrabold); line-height: var(--terme-line-height-18); text-transform: none; hyphens: manual; }
  .landing-category__examples, .landing-category__go { display: none; }
  .landing-category:focus-visible { border-radius: var(--terme-radius-card); }
  /* Board F1: one phone background, as on Suche. */
  .landing { background: var(--terme-color-surface-customer-canvas); }
  /* Board F1: place pins in ink; orange stays for actions and selections. */
  .landing-place__toggle svg, .landing-place__tile-icon { color: var(--terme-color-brand-ink); }
  .landing-place__tile[aria-current='true'] .landing-place__tile-icon { color: var(--terme-color-brand-accent); }
  .landing-hero::before { background: var(--terme-color-surface-customer-canvas); }
  .landing-nearby__item { flex: none; width: 15.625rem; scroll-snap-align: start; }
  .landing-steps { margin-top: var(--terme-spacing-32); }
  .landing-steps__inner { --landing-steps-inner-padding-block: 2.75rem; padding-block: var(--terme-spacing-40) var(--landing-steps-inner-padding-block); }
  .landing-steps__title { --landing-steps-title-font-size: 2.375rem; font-size: var(--landing-steps-title-font-size); }
  .landing-steps__cta { justify-self: stretch; justify-content: center; }
  /* The warm area also fills the room kept for the bottom navigation. */
  .landing-provider { --landing-provider-margin: 6.5rem; --landing-provider-margin-2: -6.25rem; --landing-provider-padding-bottom: 6.25rem; margin: var(--landing-provider-margin) 0 var(--landing-provider-margin-2); padding-bottom: var(--landing-provider-padding-bottom); }
  .landing-provider::before { height: 3rem; }
  .landing-provider__inner { gap: var(--terme-spacing-32); padding-bottom: var(--terme-spacing-48); }
  .landing-provider__media img { --landing-provider-media-radius: 10rem; height: 15rem; border-radius: var(--landing-provider-media-radius) var(--landing-provider-media-radius) var(--terme-radius-xl) var(--terme-radius-xl); }
  .landing-account__art { min-height: 19rem; }
  .landing-account__phone { top: 1.5rem; width: min(20.625rem, calc(100% - 2.5rem)); }
  .landing-account__mail { right: 0.75rem; bottom: 1rem; }
  /* The open Wann sheet covers the bottom navigation. */
  .landing-hero:has(.discovery-header__calendar.is-open) { z-index: var(--terme-z-index-overlay); }
}
@media (width < 37.5rem) {
  .landing-hero__title { font-size: var(--terme-font-size-40); }
  .landing-hero__script { --landing-hero-script-font-size: 2.75rem; }
}
/* Motion (ADR 0054): decorative, transform/opacity only, never under reduced
   motion. The search stays usable throughout the hero entrance. */
.landing-hero__word { display: inline-block; overflow: hidden; padding: 0.14em 0 0.04em; margin: -0.14em 0 -0.04em; vertical-align: top; }
.landing-hero__word-text { display: inline-block; }
.landing-category { --cat-light: color-mix(in srgb, var(--terme-color-surface-raised) 16%, transparent); }
.landing-category--hair,
.landing-category--spa,
.landing-category--makeup { --cat-light: color-mix(in srgb, var(--terme-color-surface-raised) 75%, transparent); }
.landing-category::before { content: ""; position: absolute; inset: 0; background: radial-gradient(12rem circle at var(--landing-spot-x, 50%) var(--landing-spot-y, 50%), var(--cat-light), transparent 70%); opacity: 0; transition: opacity var(--terme-motion-duration-state) ease; pointer-events: none; }
.landing-category:nth-child(2) { --landing-draw-step: 1; }
.landing-category:nth-child(3) { --landing-draw-step: 2; }
.landing-category:nth-child(4) { --landing-draw-step: 3; }
.landing-category:nth-child(5) { --landing-draw-step: 4; }
.landing-category:nth-child(6) { --landing-draw-step: 5; }
@keyframes landing-rise { from { translate: 0 105%; } }
@keyframes landing-wipe { from { clip-path: inset(-30% 100% -30% -6%); } to { clip-path: inset(-30% -6% -30% -6%); } }
@keyframes landing-arch { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0); } }
@keyframes landing-zoom { from { scale: 1.18; } }
@keyframes landing-settle { from { opacity: 0; translate: -0.875rem 0.875rem; } }
@keyframes landing-fade-up { from { opacity: 0; translate: 0 0.75rem; } }
@keyframes landing-live { from { opacity: 0.5; scale: 1; } to { opacity: 0; scale: 2.8; } }
@keyframes landing-draw { from { stroke-dashoffset: 1; } }
@keyframes landing-title-in { from { clip-path: inset(-25% -10% 100% -10%); translate: 0 0.5em; } to { clip-path: inset(-25% -10% -25% -10%); } }
@keyframes landing-card-in { from { opacity: 0; translate: 0 3rem; scale: 0.96; } }
@media (prefers-reduced-motion: no-preference) {
  .landing-hero__word-text { --landing-hero-word-text-duration: 750ms; animation: landing-rise var(--landing-hero-word-text-duration) var(--terme-motion-easing-ease-out) both; }
  .landing-hero__word--1 .landing-hero__word-text { animation-delay: 80ms; }
  .landing-hero__word--2 .landing-hero__word-text { animation-delay: 160ms; }
  .landing-hero__script { --landing-hero-script-duration: 900ms; animation: landing-wipe var(--landing-hero-script-duration) cubic-bezier(0.77, 0, 0.175, 1) 420ms both; }
  .landing-hero__lead,
  .landing-hero__facts { --landing-hero-lead-duration: 600ms; animation: landing-fade-up var(--landing-hero-lead-duration) var(--terme-motion-easing-ease-out) 600ms both; }
  .landing-hero__arch { --landing-hero-arch-duration: 950ms; animation: landing-arch var(--landing-hero-arch-duration) cubic-bezier(0.77, 0, 0.175, 1) 150ms both; }
  .landing-hero__arch img { --landing-hero-arch-duration: 1400ms; animation: landing-zoom var(--landing-hero-arch-duration) var(--terme-motion-easing-ease-out) 150ms both; }
  .landing-hero__arch-outline { --landing-hero-arch-outline-duration: 800ms; animation: landing-settle var(--landing-hero-arch-outline-duration) var(--terme-motion-easing-ease-out) 650ms both; }
  .landing-hero__live { --landing-hero-live-duration: 600ms; animation: landing-fade-up var(--landing-hero-live-duration) var(--terme-motion-easing-ease-out) 900ms both; }
  .landing-hero__live-dot::after { --landing-hero-live-dot-duration: 1.8s; animation: landing-live var(--landing-hero-live-dot-duration) ease-out 1.5s infinite; }
  .landing-category__art path { --landing-category-art-duration: 1300ms; stroke-dasharray: 1; animation: landing-draw var(--landing-category-art-duration) cubic-bezier(0.77, 0, 0.175, 1) calc(700ms + var(--landing-draw-step, 0) * 110ms) both; }
  .landing-categories.is-waiting .landing-category__art path { animation: none; stroke-dashoffset: 1; }
  .landing-categories.is-revealed .landing-category__art path { animation-delay: calc(var(--landing-draw-step, 0) * 110ms); }
}
@media (hover: hover) and (pointer: fine) {
  .landing-category:hover::before { opacity: 1; }
}
/* Scroll-linked: progress follows the scroll position; unsupported browsers
   and horizontal phone rows (no vertical timeline) keep the final state. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .landing-section__title,
    .landing-steps__title,
    .landing-account__title,
    .landing-provider__title { animation: landing-title-in linear both; animation-timeline: view(); animation-range: entry 10% entry 100%; }
    .landing-nearby__item,
    .landing-account__card,
    .landing-provider__media { animation: landing-card-in linear both; animation-timeline: view(); animation-range: entry 0% entry 70%; }
    .landing-nearby__item:nth-child(2) { animation-range: entry 8% entry 78%; }
    .landing-nearby__item:nth-child(3) { animation-range: entry 16% entry 86%; }
    .landing-nearby__item:nth-child(4) { animation-range: entry 24% entry 94%; }
    .landing-nearby__item:nth-child(5) { animation-range: entry 30% entry 100%; }
  }
}
.search-page { padding: 0; background: var(--terme-color-surface-raised); color: var(--terme-color-text-primary); font-family: var(--terme-font-family-interface); }
.search-page { --terme-discovery-header-height: 4.5rem; --search-header-height: 4.5rem; --search-sticky-top: 8rem; --search-feedback: var(--terme-motion-duration-state) var(--terme-motion-easing-ease-out); }
.search-page__filter-band { position: sticky; top: var(--search-header-height); z-index: calc(var(--terme-z-index-header) - 1); border-bottom: 0.0625rem solid var(--terme-color-border-soft); background: var(--terme-color-surface-raised); }
.search-bar { display: flex; align-items: center; gap: var(--terme-spacing-10); box-sizing: border-box; height: 3.5rem; padding: 0 var(--terme-spacing-32); }
.search-bar__button { display: inline-flex; align-items: center; gap: var(--terme-spacing-8); box-sizing: border-box; height: var(--terme-size-control-height); padding: 0 var(--terme-spacing-14); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-semibold) var(--terme-font-size-13) var(--terme-font-family-interface); text-decoration: none; white-space: nowrap; cursor: pointer; }
.search-bar__button svg { width: 0.9375rem; height: 0.9375rem; }
.search-bar__divider { flex: none; width: 0.0625rem; height: 1.5rem; margin: 0 var(--terme-spacing-6); background: var(--terme-color-border-soft); }
.search-bar__chips { display: flex; align-items: center; gap: var(--terme-spacing-8); min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding: var(--terme-spacing-4) var(--terme-spacing-24) var(--terme-spacing-4) var(--terme-spacing-2); -webkit-mask-image: linear-gradient(to right, black calc(100% - 1.5rem), transparent); mask-image: linear-gradient(to right, black calc(100% - 1.5rem), transparent); }
.search-bar__chips::-webkit-scrollbar { display: none; }
.search-bar__when-label { --search-bar-when-label-letter-spacing: 0.06em; flex: none; margin: 0 var(--terme-spacing-2) 0 var(--terme-spacing-4); color: var(--terme-color-text-secondary); font: var(--terme-font-weight-bold) var(--terme-font-size-11) var(--terme-font-family-interface); letter-spacing: var(--search-bar-when-label-letter-spacing); text-transform: uppercase; }
.search-bar__when { position: relative; display: inline-flex; flex: none; align-items: center; gap: var(--terme-spacing-2); padding: var(--terme-spacing-2); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-canvas); }
.search-bar__segment { display: inline-flex; align-items: center; flex: none; box-sizing: border-box; height: 2.125rem; padding: 0 var(--terme-spacing-14); border-radius: var(--terme-radius-pill); color: var(--terme-color-text-secondary); font: var(--terme-font-weight-medium) var(--terme-font-size-13) var(--terme-font-family-interface); text-decoration: none; white-space: nowrap; transition: background-color var(--search-feedback), color var(--search-feedback); }
.search-bar__segment.is-selected { background: var(--terme-color-brand-accent-selected); color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); box-shadow: inset 0 0 0 0.09375rem var(--terme-color-brand-accent); }
/* A chosen Wann chip: the peach pill slides over from the previous one. */
.search-bar__segment { position: relative; z-index: var(--terme-z-index-raised); }
.search-bar__when-thumb { --search-bar-when-thumb-duration: 220ms; position: absolute; top: 0.1875rem; left: 0; height: 2.125rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-accent-selected); box-shadow: inset 0 0 0 0.09375rem var(--terme-color-brand-accent); pointer-events: none; transition: transform var(--search-bar-when-thumb-duration) var(--terme-motion-easing-ease-out), width var(--search-bar-when-thumb-duration) var(--terme-motion-easing-ease-out); }
.search-bar__when.is-sliding .search-bar__segment { --search-bar-segment-duration: 160ms; transition: color var(--search-bar-segment-duration) ease-out; }
.search-bar__when.is-sliding .search-bar__segment.is-selected { background: transparent; box-shadow: none; }
/* Slow in-place loads: a thin line runs under the filter bar. */
.search-page__filter-band.is-loading::after { --search-page-filter-band-duration: 900ms; content: ''; position: absolute; left: 0; right: 0; bottom: -0.0625rem; height: 0.1875rem; background: linear-gradient(var(--terme-color-brand-accent), var(--terme-color-brand-accent)) no-repeat; background-size: 40% 100%; animation: search-loading var(--search-page-filter-band-duration) cubic-bezier(0.4, 0, 0.2, 1) infinite; pointer-events: none; }
@keyframes search-loading { from { background-position: -67% 0; } to { background-position: 167% 0; } }
.search-layout.is-entering .search-layout__intro,
.search-layout.is-entering .search-results__list { animation: search-results-in var(--terme-motion-duration-state) var(--terme-motion-easing-ease-out); }
@keyframes search-results-in { from { opacity: 0; transform: translateY(0.375rem); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .search-bar__when-thumb { transition: none; }
  .search-page__filter-band.is-loading::after { animation: none; background-size: 100% 100%; opacity: 0.4; }
  .search-layout.is-entering .search-layout__intro,
  .search-layout.is-entering .search-results__list { animation: none; }
}
.search-bar__toggle { display: inline-flex; align-items: center; gap: var(--terme-spacing-8); flex: none; box-sizing: border-box; height: var(--terme-size-control-height); padding: 0 var(--terme-spacing-10); border-radius: var(--terme-radius-field); color: var(--terme-color-text-secondary); font: var(--terme-font-weight-medium) var(--terme-font-size-13) var(--terme-font-family-interface); text-decoration: none; white-space: nowrap; }
.search-bar__check { display: inline-flex; align-items: center; justify-content: center; flex: none; box-sizing: border-box; width: 1rem; height: 1rem; border: 0.09375rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-xs); background: var(--terme-color-surface-raised); color: var(--terme-color-text-on-accent); transition: background-color var(--search-feedback), border-color var(--search-feedback); }
.search-bar__check svg { width: 0.75rem; height: 0.75rem; opacity: 0; }
.search-bar__toggle.is-selected { color: var(--terme-color-brand-ink); }
.search-bar__toggle.is-selected .search-bar__check { border-color: var(--terme-color-brand-accent); background: var(--terme-color-brand-accent); }
.search-bar__toggle.is-selected .search-bar__check svg { opacity: 1; }
.search-bar__chips .search-bar__divider { margin: 0 var(--terme-spacing-2); }
.search-bar__spacer { flex: 1; }
.search-bar__map-switch { display: inline-flex; align-items: center; gap: var(--terme-spacing-10); flex: none; height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-4) 0 var(--terme-spacing-10); border: 0; border-radius: var(--terme-radius-pill); background: transparent; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-semibold) var(--terme-font-size-13) var(--terme-font-family-interface); text-decoration: none; cursor: pointer; }
.search-bar__switch-track { display: flex; box-sizing: border-box; width: 2.5rem; height: 1.5rem; padding: var(--terme-spacing-2); border-radius: var(--terme-radius-pill); background: var(--terme-color-border-default); transition: background-color var(--search-feedback); }
.search-bar__switch-knob { --search-bar-switch-knob-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 25%, transparent); width: 1.125rem; height: 1.125rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); box-shadow: var(--search-bar-switch-knob-shadow); transition: transform var(--search-feedback); }
.search-bar__map-switch[aria-checked='true'] .search-bar__switch-track { background: var(--terme-color-brand-accent); }
.search-bar__map-switch[aria-checked='true'] .search-bar__switch-knob { transform: translateX(1rem); }
@media (hover: hover) and (pointer: fine) {
  .search-bar__button:hover { border-color: var(--terme-color-text-secondary); }
  .search-bar__segment:not(.is-selected):hover, .search-bar__toggle:hover { color: var(--terme-color-brand-ink); }
  .search-bar__toggle:hover .search-bar__check { border-color: var(--terme-color-text-secondary); }
}
.search-layout { display: grid; grid-template-columns: minmax(0, min(58%, 34rem + 20vw, 66rem)) minmax(0, 1fr); grid-template-rows: auto auto 1fr; align-items: start; }
.search-layout__intro { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: var(--terme-spacing-12); box-sizing: border-box; width: 100%; padding: var(--terme-spacing-40) var(--terme-spacing-32) 0; }
.search-layout__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-8); width: 100%; }
.search-layout__heading .search-layout__title { white-space: nowrap; }
.search-layout__heading .search-layout__meta { flex: none; }
.search-layout__meta { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--terme-spacing-8); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-20); }
.search-layout__title { --search-layout-title-font-size: 1.875rem; --search-layout-title-line-height: 1.1; --search-layout-title-letter-spacing: -0.035em; margin: 0; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--search-layout-title-font-size)/var(--search-layout-title-line-height) var(--terme-font-family-display); letter-spacing: var(--search-layout-title-letter-spacing); }
.search-layout__sort-info { position: relative; flex: none; }
.search-layout__sort-info summary { display: inline-flex; align-items: center; gap: var(--terme-spacing-4); min-height: var(--terme-size-touch-target); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-semibold); list-style: none; cursor: pointer; }
.search-layout__sort-info summary::-webkit-details-marker { display: none; }
.search-layout__sort-info summary svg { width: 0.9375rem; height: 0.9375rem; }
.search-layout__sort-panel { position: absolute; right: 0; top: 100%; z-index: calc(var(--terme-z-index-raised) + 4); box-sizing: border-box; width: 18rem; padding: var(--terme-spacing-12) var(--terme-spacing-12) 0; border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-raised); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
.search-layout__sort-panel p { margin: 0; }
.search-layout__sort-panel a { display: inline-flex; align-items: center; min-height: var(--terme-size-touch-target); color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); text-decoration: underline; text-underline-offset: 0.125rem; }
.search-results { display: contents; }
.search-results__panel--list { grid-column: 1; grid-row: 2; box-sizing: border-box; width: 100%; min-width: 0; padding: var(--terme-spacing-24) var(--terme-spacing-32) var(--terme-spacing-64); }
/* Map overlay order sits among Leaflet's own pane z-indexes (tiles 200 to popups 700, controls 800). */
.search-results__panel--map { --search-map-layer-label: 650; --search-map-layer-overlay: 700; --search-map-layer-status: 750; --search-map-layer-preview: 800; --search-map-layer-pill: 810; --search-map-layer-control: 900; --search-map-focus-offset: 0.1875rem; grid-column: 2; grid-row: 1 / span 3; align-self: stretch; box-sizing: border-box; min-width: 0; padding: var(--terme-spacing-16) var(--terme-spacing-16) var(--terme-spacing-16) 0; isolation: isolate; }
.search-layout:has(.search-results--list) { grid-template-columns: minmax(0, 1fr); }
.search-layout:has(.search-results--list) .search-layout__intro,
.search-layout:has(.search-results--list) .search-results__panel--list { max-width: 84rem; margin-inline: auto; }
.search-results--list .search-results__panel--map { display: none; }
.search-layout:has(.search-results--map) { grid-template-columns: minmax(0, 1fr); }
.search-layout:has(.search-results--map) .search-layout__intro,
.search-results--map .search-results__panel--list { display: none; }
.search-results--map .search-results__panel--map { grid-column: 1; padding-left: var(--terme-spacing-16); }
.search-page__sort-note { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); }
.search-page__message-card { margin: 0; padding: var(--terme-spacing-16); }
.search-page__recovery--page { margin: var(--terme-spacing-24) var(--terme-spacing-32); }
.search-page__message-card:not(:last-child) { margin-bottom: var(--terme-spacing-24); }
.search-page__recovery { padding: clamp(var(--terme-spacing-24), 4vw, var(--terme-spacing-48)); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-canvas); }
.search-page__recovery-eyebrow { display: block; margin-bottom: var(--terme-spacing-12); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.search-page__recovery h2 { max-width: 35rem; margin: 0 0 var(--terme-spacing-12); font: var(--terme-font-weight-bold) clamp(var(--terme-font-size-24), 3vw, 2.25rem)/1.15 var(--terme-font-family-display); letter-spacing: var(--terme-font-tracking-display); }
.search-page__recovery p { max-width: 40rem; margin: 0 0 var(--terme-spacing-24); color: var(--terme-color-text-secondary); }
.search-page__recovery-icon { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; margin-bottom: var(--terme-spacing-16); border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-accent-soft); color: var(--terme-color-brand-accent); }
.search-page__recovery-icon svg { width: 1.75rem; height: 1.75rem; }
.search-page__recovery-actions { display: flex; flex-wrap: wrap; gap: var(--terme-spacing-8); margin-bottom: var(--terme-spacing-24); }
.search-page__recovery-action { display: inline-flex; align-items: center; box-sizing: border-box; max-width: 100%; min-height: var(--terme-size-touch-target); padding: var(--terme-spacing-8) var(--terme-spacing-16); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-20); text-decoration: none; transition: background-color var(--search-feedback), border-color var(--search-feedback); }
.search-page__recovery-action--primary { border-color: var(--terme-color-brand-accent); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font-weight: var(--terme-font-weight-bold); }
.search-page__recovery-reset { display: inline-flex; align-items: center; gap: var(--terme-spacing-6); color: var(--terme-color-brand-ink); text-decoration: underline; text-underline-offset: 0.25rem; font-weight: var(--terme-font-weight-bold); }
.search-page__recovery-reset svg { width: 1rem; height: 1rem; }
@media (hover: hover) and (pointer: fine) {
  .search-page__recovery-action:hover { border-color: var(--terme-color-text-secondary); }
  .search-page__recovery-action--primary:hover { border-color: var(--terme-color-brand-accent-hover); background: var(--terme-color-brand-accent-hover); }
}
.search-results__list { display: flex; flex-direction: column; gap: var(--terme-spacing-24); transition: opacity var(--terme-motion-duration-fast) ease; }
@media (width >= 52.5rem) {
  .search-results--list .search-results__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 34rem), 1fr)); align-items: stretch; }
}
.search-results.is-updating .search-results__list { opacity: 0.5; pointer-events: none; }
.search-results__listing--map-filtered-out { display: none; }
/* Map-ordered lists (terme-search-map.js) set an inline order per row; rows added later stay last. */
.search-results__list[data-map-ordered] > [data-listing-key] { order: 100000; }
.search-results__view-pill { --search-results-view-pill-shadow: 0 0.25rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 8%, transparent), 0 1rem 2rem color-mix(in srgb, var(--terme-color-brand-ink) 25%, transparent); --search-results-view-pill-padding: 1.375rem; display: none; align-items: center; gap: var(--terme-spacing-10); height: 3.125rem; padding: 0 var(--search-results-view-pill-padding); border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font: var(--terme-font-weight-bold) var(--terme-font-size-15) var(--terme-font-family-interface); text-decoration: none; box-shadow: var(--search-results-view-pill-shadow); }
.search-results__view-pill svg { width: 1.25rem; height: 1.25rem; }
/* The map is a rounded card 16 px inside the sticky area; search_map_viewport_web reads that gap from `top`. */
.search-results__map-frame { position: sticky; top: calc(var(--search-sticky-top) + var(--terme-spacing-16)); display: flex; flex-direction: column; box-sizing: border-box; height: var(--search-map-height, calc(100dvh - var(--search-sticky-top) - 2 * var(--terme-spacing-16))); margin: 0; overflow: hidden; border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-canvas); box-shadow: var(--terme-shadow-soft); }
.search-results__map-canvas { position: relative; flex: 1; min-height: 0; overflow: hidden; background: var(--terme-color-surface-canvas); }
.search-results__map-empty { margin: var(--terme-spacing-24); padding: var(--terme-spacing-16); border: 0.0625rem dashed var(--terme-color-border-default); border-radius: var(--terme-radius-md); color: var(--terme-color-text-secondary); }
.search-results__map-empty p { margin: 0; }
.search-results__map-footnote { margin: 0; padding: var(--terme-spacing-8) var(--terme-spacing-16); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); }
.search-results__map-fallback, .search-results__interactive-map { position: absolute; inset: 0; }
.search-results__map-fallback { z-index: var(--terme-z-index-raised); transition: opacity var(--terme-motion-duration-enter) ease-in-out; }
.search-results__interactive-map { z-index: calc(var(--terme-z-index-raised) + 1); width: 100%; height: 100%; opacity: 0; visibility: hidden; background: var(--terme-color-map-tile); transition: opacity var(--terme-motion-duration-enter) ease-in-out; }
/* map.tile is the terme tile style's own background, so quarter-step zooms show no tile edge. */
.search-results__interactive-map.leaflet-container { font-family: var(--terme-font-family-interface); }
.search-results__map-canvas[data-map-interactive-state='ready'] .search-results__map-fallback { opacity: 0; visibility: hidden; pointer-events: none; }
.search-results__map-canvas[data-map-interactive-state='ready'] .search-results__interactive-map { opacity: 1; visibility: visible; }
.search-results__map-canvas[data-map-interactive-state='ready'] .search-results__map-highlight { display: none; }
.search-results__map-grid { --search-results-map-grid-duration: 160ms; position: absolute; inset: 0; z-index: var(--terme-z-index-raised); background: linear-gradient(color-mix(in srgb, var(--terme-color-brand-ink) 6%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--terme-color-brand-ink) 6%, transparent) 1px, transparent 1px); background-size: 18% 18%; transition: opacity var(--search-results-map-grid-duration) ease-in-out; }
.search-results__map-basemap { --search-results-map-basemap-duration: 160ms; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; pointer-events: none; opacity: 0.52; transition: opacity var(--search-results-map-basemap-duration) ease-in-out; }
.search-results__map-fallback { container-type: size; overflow: hidden; }
.search-results__map-stage { position: absolute; left: 50%; top: 50%; z-index: calc(var(--terme-z-index-raised) + 1); width: max(100cqw, calc(100cqh * 4 / 3)); aspect-ratio: 4 / 3; transform: translate(-50%, -50%); }
.search-results__map-loading { --search-results-map-loading-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 14%, transparent); position: absolute; left: 1rem; top: 1rem; z-index: calc(var(--terme-z-index-raised) + 2); display: inline-flex; align-items: center; gap: var(--terme-spacing-8); height: 2.125rem; padding: 0 var(--terme-spacing-14) 0 var(--terme-spacing-10); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-semibold) var(--terme-font-size-13) var(--terme-font-family-interface); box-shadow: var(--search-results-map-loading-shadow); }
.search-results__map-loading::before { --search-results-map-loading-duration: 800ms; content: ''; width: 0.875rem; height: 0.875rem; box-sizing: border-box; border: 0.125rem solid var(--terme-color-border-default); border-top-color: var(--terme-color-brand-ink); border-radius: 50%; animation: search-map-spin var(--search-results-map-loading-duration) linear infinite; }
@keyframes search-map-spin { to { transform: rotate(360deg); } }
.search-results__map-canvas:not([data-map-interactive-state='loading']) .search-results__map-loading { display: none; }
.search-results__map-canvas[data-map-image-state='ready'] .search-results__map-basemap { opacity: 1; }
.search-results__map-canvas[data-map-image-state='ready'] .search-results__map-grid { opacity: 0; }
.search-results__map-pin { --search-results-map-pin-shadow: 0 0.125rem 0.375rem color-mix(in srgb, var(--terme-color-brand-ink) 18%, transparent); --search-results-map-pin-line-height: 1.875rem; position: absolute; z-index: calc(var(--terme-z-index-raised) + 1); box-sizing: border-box; height: 2rem; padding: 0 var(--terme-spacing-12); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-13)/var(--search-results-map-pin-line-height) var(--terme-font-family-interface); white-space: nowrap; text-decoration: none; transform: translate(-50%, -50%); box-shadow: var(--search-results-map-pin-shadow); }
.search-results__map-pin--dot, .terme-search-map-pill--dot { width: 0.875rem; height: 0.875rem; padding: 0; border: 0.1875rem solid var(--terme-color-surface-raised); background: var(--terme-color-text-secondary); }
.search-results__map-pin--active { border-color: var(--terme-color-brand-accent); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); transform: translate(-50%, -50%) scale(1.12); }
.search-results__map-pin:focus-visible, .search-results__interactive-map .terme-search-map-marker-icon:focus-visible .terme-search-map-pill { outline: var(--terme-size-focus-ring-width) solid var(--terme-color-brand-accent); outline-offset: var(--terme-size-focus-ring-offset); }
.search-results__map-pin--group { --search-results-map-pin-group-shadow: 0.25rem 0.25rem 0 -0.0625rem var(--terme-color-surface-raised), 0.25rem 0.25rem 0 0 var(--terme-color-border-default), 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 16%, transparent); display: inline-flex; align-items: center; gap: var(--terme-spacing-6); height: 2.125rem; padding: 0 var(--terme-spacing-12) 0 var(--terme-spacing-4); border: 0; box-shadow: var(--search-results-map-pin-group-shadow); }
.search-results__map-pin-count { display: grid; place-items: center; min-width: 1.625rem; height: 1.625rem; padding: 0 var(--terme-spacing-6); box-sizing: border-box; border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); line-height: 1; }
.search-results__map-pin--group.search-results__map-pin--active { box-shadow: 0.25rem 0.25rem 0 -0.0625rem var(--terme-color-brand-accent), 0.25rem 0.25rem 0 0 color-mix(in srgb, var(--terme-color-brand-accent) 45%, var(--terme-color-surface-raised)); }
.search-results__map-pin--group.search-results__map-pin--active .search-results__map-pin-count { background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); }
.search-results__map-bottom-overlay { position: absolute; left: 0.75rem; right: 4.5rem; bottom: 0.625rem; z-index: var(--search-map-layer-overlay); display: flex; align-items: flex-end; justify-content: space-between; gap: var(--terme-spacing-12); pointer-events: none; }
.search-results__map-attribution { --search-results-map-attribution-radius: 0.375rem; margin: 0; padding: var(--terme-spacing-2) var(--terme-spacing-8); border-radius: var(--search-results-map-attribution-radius); background: color-mix(in srgb, var(--terme-color-surface-raised) 85%, transparent); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); pointer-events: auto; overflow-wrap: anywhere; }
.search-results__map-attribution a { color: inherit; }
.search-results__map-highlight { display: flex; flex-direction: column; gap: var(--terme-spacing-4); max-width: 15rem; padding: var(--terme-spacing-12) var(--terme-spacing-16); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-raised); pointer-events: auto; }
.search-results__map-highlight p { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
.search-results__map-highlight a { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.search-results__map-status { position: absolute; left: 0.75rem; top: 0.75rem; z-index: var(--search-map-layer-status); max-width: min(22rem, calc(100% - 1.5rem)); margin: 0; padding: var(--terme-spacing-8) var(--terme-spacing-12); border-radius: var(--terme-radius-md); background: color-mix(in srgb, var(--terme-color-surface-raised) 94%, transparent); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
[data-search-map-image-status][hidden], [data-search-map-show-all][hidden] { display: none; }
.search-results__map-show-all { position: absolute; left: 1rem; top: 1rem; z-index: var(--search-map-layer-control); height: 2.5rem; padding: 0 var(--terme-spacing-16); border: 0; border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-14) var(--terme-font-family-interface); box-shadow: var(--terme-shadow-soft); cursor: pointer; }
.search-results__interactive-map .leaflet-right .leaflet-control { margin-right: var(--terme-spacing-16); }
.search-results__interactive-map .leaflet-bottom .leaflet-control.leaflet-control-zoom { margin-bottom: var(--terme-spacing-32); }
.search-results__interactive-map .leaflet-bar.leaflet-control-zoom { --leaflet-control-zoom-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 8%, transparent); overflow: hidden; border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); box-shadow: var(--leaflet-control-zoom-shadow); }
.search-results__interactive-map .leaflet-bar.leaflet-control-zoom a { width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); border-bottom: 0.0625rem solid var(--terme-color-border-soft); border-radius: 0; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-regular) var(--terme-font-size-22)/var(--terme-line-height-44) var(--terme-font-family-interface); }
.search-results__interactive-map .leaflet-bar.leaflet-control-zoom a:last-child { border-bottom: 0; }
.search-results__interactive-map .leaflet-bar.leaflet-control-zoom a:focus-visible,
.search-results__interactive-map .leaflet-marker-icon:focus-visible, .search-results__interactive-map .marker-cluster:focus-visible .terme-search-map-cluster { outline-color: var(--terme-color-brand-accent); outline-offset: var(--search-map-focus-offset); }
.search-results__interactive-map .marker-cluster:focus-visible { outline: none; }
.search-results__interactive-map .terme-search-map-marker-icon:focus-visible { outline: none; }
.search-results__interactive-map .leaflet-bottom .leaflet-control.terme-search-map-locate { margin-bottom: var(--terme-spacing-10); }
.terme-search-map-locate { --search-map-locate-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 8%, transparent); display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); padding: 0; border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); box-shadow: var(--search-map-locate-shadow); cursor: pointer; }
.terme-search-map-locate svg { width: 1.25rem; height: 1.25rem; }
.terme-search-map-locate[aria-busy='true'] { opacity: 0.6; cursor: progress; }
.terme-search-map-locate:focus-visible, .terme-search-map-area:focus-visible { outline-color: var(--terme-color-brand-accent); outline-offset: var(--search-map-focus-offset); }
.terme-search-map-hover-label { --search-map-hover-label-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 25%, transparent); position: absolute; z-index: var(--search-map-layer-label); max-width: 16rem; padding: var(--terme-spacing-6) var(--terme-spacing-12); border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font: var(--terme-font-weight-bold) var(--terme-font-size-13)/var(--terme-line-height-18) var(--terme-font-family-interface); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: var(--search-map-hover-label-shadow); transform: translate(-50%, calc(-100% - 1.75rem)); pointer-events: none; }
.terme-search-map-hover-label[hidden] { display: none; }
.terme-search-map-area { --search-map-area-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 8%, transparent), 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 12%, transparent); position: absolute; left: 50%; top: 1rem; z-index: var(--search-map-layer-control); display: inline-flex; align-items: center; gap: var(--terme-spacing-8); height: 2.5rem; padding: 0 var(--terme-spacing-16); border: 0; border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-14) var(--terme-font-family-interface); white-space: nowrap; box-shadow: var(--search-map-area-shadow); transform: translateX(-50%); cursor: pointer; }
.terme-search-map-area[hidden], .terme-search-map-message[hidden] { display: none; }
.terme-search-map-area svg { width: 1rem; height: 1rem; }
.terme-search-map-message { position: absolute; left: 50%; top: 4rem; z-index: var(--search-map-layer-control); max-width: calc(100% - 2rem); margin: 0; padding: var(--terme-spacing-8) var(--terme-spacing-12); border-radius: var(--terme-radius-field); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-semibold); transform: translateX(-50%); }
.terme-search-map-marker-icon { border: 0; background: transparent; }
.terme-search-map-pill { --search-map-pill-shadow: 0 0.125rem 0.375rem color-mix(in srgb, var(--terme-color-brand-ink) 18%, transparent); --search-map-pill-line-height: 1.875rem; position: absolute; left: 0; top: 0; box-sizing: border-box; height: 2rem; padding: 0 var(--terme-spacing-12); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-13)/var(--search-map-pill-line-height) var(--terme-font-family-interface); white-space: nowrap; box-shadow: var(--search-map-pill-shadow); transform: translate(-50%, -50%); transition: transform var(--search-feedback), background-color var(--search-feedback), color var(--search-feedback), border-color var(--search-feedback); }
.terme-search-map-marker-icon.is-previewed .terme-search-map-pill { border-color: var(--terme-color-brand-ink); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); transform: translate(-50%, -50%) scale(1.12); }
.terme-search-map-marker-icon.is-active .terme-search-map-pill { --search-map-pill-shadow: 0 0.125rem 0.375rem color-mix(in srgb, var(--terme-color-brand-accent-hover) 30%, transparent); border-color: var(--terme-color-brand-accent); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); transform: translate(-50%, -50%) scale(1.12); box-shadow: var(--search-map-pill-shadow); }
.terme-search-map-marker-icon.is-preview-focus .terme-search-map-pill { transition: none; }
.search-results__interactive-map .marker-cluster { background: transparent; }
.terme-search-map-cluster { --search-map-cluster-shadow: 0.25rem 0.25rem 0 -0.0625rem var(--terme-color-surface-raised), 0.25rem 0.25rem 0 0 var(--terme-color-border-default), 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 16%, transparent); position: absolute; left: 0; top: 0; display: inline-flex; align-items: center; gap: var(--terme-spacing-6); box-sizing: border-box; height: 2.125rem; padding: 0 var(--terme-spacing-12) 0 var(--terme-spacing-4); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-13)/1 var(--terme-font-family-interface); white-space: nowrap; cursor: pointer; transform: translate(-50%, -50%); box-shadow: var(--search-map-cluster-shadow); transition: transform var(--search-feedback), background-color var(--search-feedback), color var(--search-feedback), box-shadow var(--search-feedback); }
.terme-search-map-cluster__count { display: grid; place-items: center; min-width: 1.625rem; height: 1.625rem; padding: 0 var(--terme-spacing-6); box-sizing: border-box; border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-13); transition: background-color var(--search-feedback), color var(--search-feedback); }
.search-results__interactive-map .marker-cluster.is-previewed .terme-search-map-cluster,
.search-results__interactive-map .marker-cluster.is-hovered .terme-search-map-cluster { --search-map-cluster-shadow: 0.25rem 0.25rem 0 -0.0625rem var(--terme-color-brand-ink), 0.25rem 0.25rem 0 0 var(--terme-color-text-muted), 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 24%, transparent); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); transform: translate(-50%, -50%) scale(1.06); box-shadow: var(--search-map-cluster-shadow); }
.search-results__interactive-map .marker-cluster.is-chosen .terme-search-map-cluster { --search-map-cluster-shadow: 0.25rem 0.25rem 0 -0.0625rem var(--terme-color-brand-accent), 0.25rem 0.25rem 0 0 color-mix(in srgb, var(--terme-color-brand-accent) 45%, var(--terme-color-surface-raised)), 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-accent) 28%, transparent); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); box-shadow: var(--search-map-cluster-shadow); }
.search-results__interactive-map .marker-cluster.is-previewed .terme-search-map-cluster__count,
.search-results__interactive-map .marker-cluster.is-hovered .terme-search-map-cluster__count,
.search-results__interactive-map .marker-cluster.is-chosen .terme-search-map-cluster__count { background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); }
.terme-search-map-cluster-preview { --search-map-cluster-preview-shadow: 0 0.125rem 0.25rem color-mix(in srgb, var(--terme-color-brand-ink) 6%, transparent), 0 1rem 2.25rem color-mix(in srgb, var(--terme-color-brand-ink) 20%, transparent); --search-map-cluster-preview-duration: 160ms; position: absolute; z-index: var(--search-map-layer-preview); box-sizing: border-box; width: 17.25rem; padding: var(--terme-spacing-12) var(--terme-spacing-12) var(--terme-spacing-4); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-interface); box-shadow: var(--search-map-cluster-preview-shadow); animation: terme-map-preview-in var(--search-map-cluster-preview-duration) var(--terme-motion-easing-ease-out); }
.terme-search-map-cluster-preview::before { content: ''; position: absolute; left: -0.4375rem; top: var(--arrow-top, 50%); width: 0.875rem; height: 0.875rem; margin-top: -0.4375rem; border-radius: 0.1875rem; background: inherit; transform: rotate(45deg); }
.terme-search-map-cluster-preview.is-flipped::before { left: auto; right: -0.4375rem; }
.terme-search-map-cluster-preview__title { margin: 0 0 var(--terme-spacing-8); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.terme-search-map-cluster-preview__title strong { color: var(--terme-color-brand-ink); }
.search-results__interactive-map .terme-search-map-cluster-preview__row { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--terme-spacing-10); align-items: center; min-height: 3.25rem; border-top: 0.0625rem solid var(--terme-color-border-soft); color: var(--terme-color-brand-ink); text-decoration: none; }
.terme-search-map-cluster-preview__image { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: var(--terme-radius-field); object-fit: cover; background: var(--terme-color-border-soft); color: var(--terme-color-text-secondary); font-weight: var(--terme-font-weight-bold); }
.terme-search-map-cluster-preview__text { display: flex; flex-direction: column; min-width: 0; }
.terme-search-map-cluster-preview__text strong { overflow: hidden; font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); text-overflow: ellipsis; white-space: nowrap; }
.terme-search-map-cluster-preview__text span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); line-height: var(--terme-line-height-16); }
.terme-search-map-cluster-preview__footer { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-8); border-top: 0.0625rem solid var(--terme-color-border-soft); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
.terme-search-map-cluster-preview__zoom { display: inline-flex; align-items: center; min-height: var(--terme-size-touch-target); padding: 0; border: 0; background: transparent; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-13) var(--terme-font-family-interface); cursor: pointer; }
.terme-search-map-cluster-preview__row:hover strong, .terme-search-map-cluster-preview__zoom:hover { text-decoration: underline; }
@keyframes terme-map-preview-in { from { opacity: 0; transform: translateY(0.25rem); } to { opacity: 1; transform: none; } }
.search-results__interactive-map .marker-cluster.is-preview-focus .terme-search-map-cluster { transition: none; }
.terme-search-map-origin { pointer-events: none; }
.terme-search-map-popup .leaflet-popup-content-wrapper { --leaflet-popup-content-wrapper-radius: 1.125rem; padding: 0; overflow: hidden; border-radius: var(--leaflet-popup-content-wrapper-radius); box-shadow: var(--terme-shadow-raised); }
.terme-search-map-popup .leaflet-popup-content { margin: 0; color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-interface); }
.terme-map-popover__media { position: relative; height: 8.25rem; background: var(--terme-color-border-soft); }
.terme-map-popover__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.terme-map-popover__close { --map-popover-close-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 20%, transparent); position: absolute; right: 0.5rem; top: 0.5rem; display: flex; align-items: center; justify-content: center; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); padding: 0; border: 0; border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); box-shadow: var(--map-popover-close-shadow); cursor: pointer; }
.terme-map-popover__close svg { width: 1rem; height: 1rem; }
.terme-map-popover__body { display: flex; flex-direction: column; gap: var(--terme-spacing-4); padding: var(--terme-spacing-12) var(--terme-spacing-14) var(--terme-spacing-14); }
.terme-map-popover__title { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--terme-spacing-8); }
.terme-map-popover__name { font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); }
.terme-map-popover__rating { display: inline-flex; align-items: center; gap: var(--terme-spacing-2); flex: none; height: 1.5rem; padding: 0 var(--terme-spacing-8); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-canvas); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); }
.terme-map-popover__meta { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
.terme-map-popover__footer { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-8); margin-top: var(--terme-spacing-8); padding-top: var(--terme-spacing-8); border-top: 0.0625rem solid var(--terme-color-border-soft); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
.terme-map-popover__footer strong { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); }
.terme-map-popover__link { display: inline-flex; align-items: center; min-height: var(--terme-size-touch-target); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow { --leaflet-marker-icon-duration: 300ms; --leaflet-marker-icon-duration-2: 220ms; transition: transform var(--leaflet-marker-icon-duration) cubic-bezier(0.34, 1.3, 0.64, 1), opacity var(--leaflet-marker-icon-duration-2) ease-out; }
.leaflet-cluster-spider-leg { --leaflet-cluster-spider-leg-duration: 300ms; transition: transform var(--leaflet-cluster-spider-leg-duration) ease-out, opacity var(--leaflet-cluster-spider-leg-duration) ease-in; }
.search-map-cards { display: none; }
@media (prefers-reduced-motion: reduce) {
  .search-bar__segment, .search-bar__check, .search-bar__switch-track, .search-bar__switch-knob,
  .search-results__map-grid, .search-results__map-basemap, .search-results__map-fallback, .search-results__interactive-map,
  .terme-search-map-pill, .terme-search-map-cluster, .leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow, .leaflet-cluster-spider-leg { transition: none; }
  .terme-search-map-cluster-preview, .search-results__map-loading::before { animation: none; }
}
@media (width < 75rem) {
  .search-page { --search-sticky-top: calc(var(--search-header-height) + 3.75rem); }
  .search-layout, .search-layout:has(.search-results--map) { grid-template-columns: minmax(0, 1fr); }
  .search-results__panel--map, .search-bar__map-switch, .search-bar__divider--map { display: none; }
  .search-results--adaptive .search-results__view-pill--map, .search-results--list .search-results__view-pill--map { display: inline-flex; position: fixed; left: 50%; bottom: 1.5rem; z-index: calc(var(--terme-z-index-sticky) + 1); transform: translateX(-50%); }
  .search-results__panel--list { --search-results-panel-list-padding-bottom: 6.25rem; padding-bottom: var(--search-results-panel-list-padding-bottom); }
  .search-results--map .search-results__panel--map { display: block; position: fixed; inset: var(--search-sticky-top) 0 0 0; z-index: var(--terme-z-index-sticky); padding: 0; background: var(--terme-color-surface-canvas); }
  .search-results--map .search-results__map-frame { position: absolute; inset: 0; height: auto; border: 0; border-radius: 0; box-shadow: none; }
  .search-results--map .search-results__map-bottom-overlay { top: 0.75rem; bottom: auto; left: 0.75rem; right: 0.75rem; justify-content: flex-start; }
  .search-results--map .terme-search-map-area { top: 3rem; }
  .search-results--map .terme-search-map-message { top: 6rem; }
  .search-results--map .search-results__map-show-all { top: 6rem; }
  .search-results--map .search-results__map-highlight { display: none; }
  .search-results--map .search-results__interactive-map .leaflet-bottom .leaflet-control.leaflet-control-zoom { --leaflet-control-zoom-margin-bottom: 10.25rem; margin-bottom: var(--leaflet-control-zoom-margin-bottom); }
  .search-results--map .search-map-cards { position: absolute; left: 0; right: 0; bottom: 1.25rem; z-index: var(--search-map-layer-preview); display: flex; gap: var(--terme-spacing-12); padding: 0 var(--terme-spacing-16); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .search-results--map .search-map-cards::-webkit-scrollbar { display: none; }
  .search-results--map .search-results__view-pill--list { display: inline-flex; position: absolute; left: 50%; bottom: 10.75rem; z-index: var(--search-map-layer-pill); height: 2.875rem; transform: translateX(-50%); }
  .search-map-card { display: flex; gap: var(--terme-spacing-12); flex: none; box-sizing: border-box; width: min(19.625rem, calc(100vw - 4rem)); height: 8rem; padding: var(--terme-spacing-10); border: 0.125rem solid var(--terme-color-surface-raised); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); text-decoration: none; box-shadow: var(--terme-shadow-raised); scroll-snap-align: center; }
  .search-map-card.search-results__listing--active { border-color: var(--terme-color-brand-accent); }
  .search-map-card__photo { position: relative; flex: none; width: 6.5rem; overflow: hidden; border-radius: var(--terme-radius-md); background: var(--terme-color-border-soft); }
  .search-map-card__body { display: flex; flex-direction: column; gap: var(--terme-spacing-2); flex: 1; min-width: 0; padding-top: var(--terme-spacing-2); }
  .search-map-card__body strong { overflow: hidden; font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-20); text-overflow: ellipsis; white-space: nowrap; }
  .search-map-card__meta { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
  .search-map-card__footer { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-8); margin-top: auto; }
  .search-map-card__price { font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
  .search-map-card__slot { display: inline-flex; align-items: center; height: 1.875rem; padding: 0 var(--terme-spacing-10); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-sm); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); }
}
@media (width < 52.5rem) {
  .search-page { --terme-discovery-header-height: 4.25rem; --search-header-height: 4.25rem; }
  .search-bar { height: 3.75rem; padding: 0 var(--terme-spacing-16); overflow-x: auto; scrollbar-width: none; }
  .search-bar::-webkit-scrollbar { display: none; }
  .search-bar__spacer { flex: 0 0 0; }
  .search-layout__intro { --search-layout-intro-padding: 1.125rem; padding: var(--search-layout-intro-padding) var(--terme-spacing-16) 0; }
  .search-layout__title { font-size: var(--terme-font-size-24); }
  .search-results__panel--list { --search-results-panel-list-padding: 6.25rem; padding: var(--terme-spacing-16) var(--terme-spacing-16) var(--search-results-panel-list-padding); }
  .search-results__list { --search-results-list-gap: 1.375rem; gap: var(--search-results-list-gap); }
  .search-bar__chips, .search-bar .search-filters { flex: none; }
  .search-bar .search-sort { display: none; }
  .search-bar__chips { padding-right: var(--terme-spacing-24); -webkit-mask-image: none; mask-image: none; }
  /* The whole bar scrolls here; its right edge fades (C-044). */
  .search-bar { -webkit-mask-image: linear-gradient(to right, black calc(100% - 2.5rem), transparent); mask-image: linear-gradient(to right, black calc(100% - 2.5rem), transparent); }
  .search-layout__heading { gap: var(--terme-spacing-2); }
  .search-layout__sort-panel { width: min(18rem, calc(100vw - 2rem)); }
}
.discovery-header__filter, .search-row__phone-meta, .search-row__phone-offers, .search-row__count, .search-map-card__phone { display: none; }
@media (width < 52.5rem) {
  .search-page { --terme-discovery-header-height: 4.5rem; --search-header-height: 4.5rem; --search-phone-shadow: 0 0.5rem 1.5rem -0.875rem color-mix(in srgb, var(--terme-color-brand-ink) 45%, transparent), 0 0 0 0.0625rem var(--terme-color-border-overlay); --search-phone-card-bottom: calc(6.125rem + env(safe-area-inset-bottom)); --search-phone-map-card: 7.5rem; background: var(--terme-color-surface-customer-canvas); }
  .search-page .discovery-header--compact { background: var(--terme-color-surface-customer-canvas); }
  .search-page .discovery-header--with-filter .discovery-header__inner { grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--terme-spacing-8); min-height: 4.5rem; padding: 0 var(--terme-spacing-12) 0 var(--terme-spacing-4); }
  .search-page .discovery-header--compact .discovery-header__home-back { border-radius: var(--terme-radius-md); }
  .search-page .discovery-header--compact .discovery-header__summary { height: 3.5rem; padding: 0 var(--terme-spacing-16); gap: var(--terme-spacing-12); border: 0; border-radius: var(--terme-radius-card); box-shadow: var(--search-phone-shadow); }
  .search-page .discovery-header__summary svg { width: 1.375rem; height: 1.375rem; }
  .search-page .discovery-header__summary-main { font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-20); }
  .search-page .discovery-header__summary-when { font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
  .discovery-header--with-filter .discovery-header__filter { position: relative; display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: var(--terme-radius-card); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); box-shadow: var(--search-phone-shadow); }
  .discovery-header__filter svg { width: 1.375rem; height: 1.375rem; }
  .discovery-header__filter-count { position: absolute; top: -0.25rem; right: -0.25rem; display: grid; place-items: center; min-width: 1.125rem; height: 1.125rem; padding: 0 0.3125rem; box-sizing: border-box; border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-extrabold); line-height: 1; box-shadow: 0 0 0 0.125rem var(--terme-color-surface-raised); }
  .discovery-header__filter:focus-visible { outline: var(--terme-size-focus-ring-width) solid var(--terme-color-brand-accent); outline-offset: var(--terme-size-focus-ring-offset); }

  /* The Wann chips; Filter, the toggles and sort live in the filter sheet. */
  .search-page__filter-band { border-bottom: 0; background: var(--terme-color-surface-customer-canvas); }
  .search-page .search-bar { height: 3.75rem; gap: var(--terme-spacing-8); }
  .search-page .search-bar .search-filters__trigger, .search-page .search-bar__divider, .search-page .search-bar__when-label, .search-page .search-bar__toggle { display: none; }
  .search-page .search-bar__chips { gap: var(--terme-spacing-8); }
  .search-page .search-bar__when { gap: var(--terme-spacing-8); padding: 0; background: transparent; }
  .search-page .search-bar__when-thumb { display: none; }
  .search-page .search-bar__segment, .search-page .search-bar__when.is-sliding .search-bar__segment { display: inline-flex; align-items: center; height: 2.75rem; padding: 0 var(--terme-spacing-14); border-radius: var(--terme-radius-sm); background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-border-control); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-semibold); }
  .search-page .search-bar__segment.is-selected, .search-page .search-bar__when.is-sliding .search-bar__segment.is-selected { background: var(--terme-color-brand-accent-selected); box-shadow: inset 0 0 0 0.09375rem var(--terme-color-brand-accent); color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); }

  /* Count title with the ranking link beside it. */
  .search-layout__intro { padding-top: var(--terme-spacing-8); }
  .search-page .search-layout__title { font-size: var(--terme-font-size-28); }
  .search-page .search-layout__meta { font-size: var(--terme-font-size-12); line-height: var(--terme-line-height-18); }

  /* Result cards (board N03). */
  .search-page .search-results__panel--list { padding-bottom: var(--terme-spacing-32); }
  .search-results__list { gap: var(--terme-spacing-16); }
  .search-page .search-row { gap: 0; overflow: hidden; border: 0.0625rem solid var(--terme-color-border-overlay); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-raised); }
  .search-page .search-row.search-results__listing--active { border: 0.0625rem solid var(--terme-color-border-overlay); }
  .search-page .search-row__media, .search-page .search-row__gallery--single .search-row__media { height: 11.25rem; min-height: 0; border-radius: 0; }
  .search-page .search-row__dots { display: none; }
  .search-row__count { position: absolute; right: var(--terme-spacing-12); bottom: var(--terme-spacing-12); display: block; padding: var(--terme-spacing-2) var(--terme-spacing-8); border-radius: var(--terme-radius-sm); background: color-mix(in srgb, var(--terme-color-brand-ink) 78%, transparent); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-18); pointer-events: none; }
  .search-page .search-row__body { gap: 0; padding: var(--terme-spacing-14) var(--terme-spacing-16) 0; }
  /* Board F7: compact card text, the name at most two lines. */
  .search-page .search-row__name { display: -webkit-box; overflow: hidden; font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-22); -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
  .search-page .search-row__meta, .search-page .search-row__header .search-row__rating, .search-page .search-row__body > .public-offers, .search-page .search-row__footer { display: none; }
  .search-row__phone-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-4); margin: var(--terme-spacing-2) 0 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
  .search-row__phone-rating { display: inline-flex; align-items: center; gap: var(--terme-spacing-4); }
  .search-row__phone-rating::after { content: '·'; margin-left: var(--terme-spacing-2); }
  .search-row__phone-rating svg { width: 0.875rem; height: 0.875rem; color: var(--terme-color-brand-accent); }
  .search-row__phone-rating strong { color: var(--terme-color-brand-ink); }
  .search-row__phone-sponsored { margin-left: var(--terme-spacing-4); padding: 0.0625rem var(--terme-spacing-6); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-xs); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); white-space: nowrap; }
  .search-row__phone-offers { display: flex; flex-direction: column; margin-top: var(--terme-spacing-8); }
  .search-row__phone-offer { display: flex; align-items: center; gap: var(--terme-spacing-12); min-height: 4.25rem; border-bottom: 0.0625rem solid var(--terme-color-border-hairline); }
  .search-row__phone-service { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center; min-width: 0; min-height: var(--terme-size-touch-target); color: var(--terme-color-brand-ink); text-decoration: none; }
  .search-row__phone-service strong { overflow: hidden; font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); text-overflow: ellipsis; white-space: nowrap; }
  .search-row__phone-service span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
  .search-row__phone-slot { display: flex; flex: none; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; min-width: 5.25rem; height: 3rem; padding: 0 var(--terme-spacing-12); border-radius: var(--terme-radius-sm); background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-border-control); color: var(--terme-color-brand-ink); text-decoration: none; }
  .search-row__phone-slot span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-14); }
  .search-row__phone-slot strong { font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-20); }
  .search-row__phone-slot:active { background: var(--terme-color-brand-accent-selected); }
  .search-row__phone-all { display: flex; align-items: center; justify-content: space-between; min-height: 3rem; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); text-decoration: none; }
  .search-row__phone-all svg { width: 1.125rem; height: 1.125rem; }
  .search-page .search-row__summary { padding-bottom: var(--terme-spacing-16); }

  /* Karte: navy, 12 px corners, above the tab bar. */
  .search-page .search-results--adaptive .search-results__view-pill--map, .search-page .search-results--list .search-results__view-pill--map { bottom: calc(var(--search-phone-card-bottom) + var(--terme-spacing-4)); height: 2.75rem; padding: 0 var(--terme-spacing-16); border-radius: var(--terme-radius-md); font-size: var(--terme-font-size-15); }

  /* Map (board N04): pins fitted above the shop card and tab bar. */
  .search-page .search-results__interactive-map { --search-map-fit-top: 24; --search-map-fit-bottom: 330; }
  .search-page .search-results--map .search-results__interactive-map .leaflet-control-zoom { display: none; }
  .search-page .search-results--map .search-results__interactive-map .leaflet-bottom .leaflet-control.terme-search-map-locate { margin-bottom: calc(var(--search-phone-card-bottom) + var(--search-phone-map-card) + 2.25rem); margin-right: var(--terme-spacing-12); }
  .search-page .search-results--map .search-results__view-pill--list { bottom: calc(var(--search-phone-card-bottom) + var(--search-phone-map-card) + 2.25rem); height: 2.75rem; border-radius: var(--terme-radius-md); }
  .search-page .search-results--map .search-results__map-bottom-overlay { top: auto; bottom: calc(var(--search-phone-card-bottom) + var(--search-phone-map-card) + var(--terme-spacing-6)); right: auto; }
  .search-page .search-results--map .search-results__map-attribution { font-size: var(--terme-font-size-11); }
  .search-page .terme-search-map-marker-icon.is-active .terme-search-map-pill { --search-map-pill-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 35%, transparent); border-color: var(--terme-color-brand-ink); background: var(--terme-color-brand-ink); }
  .search-page .search-results__interactive-map .marker-cluster.is-chosen .terme-search-map-cluster { --search-map-cluster-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 35%, transparent); background: var(--terme-color-brand-ink); }
  .search-page .search-results--map .search-map-cards { bottom: var(--search-phone-card-bottom); gap: var(--terme-spacing-8); padding: 0 var(--terme-spacing-12); scroll-padding-inline: var(--terme-spacing-12); }
  .search-page .search-map-card { width: calc(100vw - 1.5rem); height: var(--search-phone-map-card); padding: var(--terme-spacing-12); border: 0; border-radius: var(--terme-radius-lg); scroll-snap-align: start; }
  .search-page .search-map-card.search-results__listing--active { border: 0; }
  .search-page .search-map-card__photo { width: 6rem; height: 6rem; border-radius: var(--terme-radius-md); }
  .search-page .search-map-card__body { display: none; }
  .search-map-card__phone { display: flex; flex: 1; flex-direction: column; gap: var(--terme-spacing-2); min-width: 0; }
  .search-map-card__phone > strong { overflow: hidden; font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-22); text-overflow: ellipsis; white-space: nowrap; }
  .search-map-card__phone-meta { display: flex; align-items: center; gap: var(--terme-spacing-2); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); white-space: nowrap; }
  .search-map-card__phone-meta svg { width: 0.875rem; height: 0.875rem; color: var(--terme-color-brand-accent); }
  .search-map-card__phone-meta strong { color: var(--terme-color-brand-ink); }
  .search-map-card__phone-service { overflow: hidden; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); text-overflow: ellipsis; white-space: nowrap; }
  /* Board F1: free times stay white with a border and ink text. */
  .search-map-card__phone-free { display: inline-flex; align-self: flex-start; align-items: center; gap: var(--terme-spacing-4); margin-top: var(--terme-spacing-4); padding: var(--terme-spacing-2) var(--terme-spacing-8); border-radius: var(--terme-radius-sm); background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-border-control); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); }
  .search-map-card__phone-free svg { width: 0.875rem; height: 0.875rem; }
}
.vendor-landing__title { --vendor-landing-title-line-height: 1.125; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-32); font-weight: var(--terme-font-weight-extrabold); line-height: var(--vendor-landing-title-line-height); word-break: break-word; }
.vendor-landing__title:not(:last-child), .vendor-landing__review-history-card:not(:last-child), .vendor-landing__review-highlight:not(:last-child), .vendor-landing__recommendation-card:not(:last-child), .vendor-landing__sponsored:not(:last-child) { margin-bottom: var(--terme-spacing-24); }
.vendor-landing__review-history-card, .vendor-landing__review-highlight, .vendor-landing__recommendation-card { position: relative; max-width: 100%; color: var(--terme-color-text-primary); }
.vendor-landing__pricing-preview, .vendor-landing__sponsored { display: block; padding: var(--terme-spacing-20); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-soft); color: var(--terme-color-text-primary); }
.vendor-landing__pricing-preview:not(:last-child) { margin-bottom: var(--terme-spacing-24); }
.vendor-landing__pricing-preview-title { --vendor-landing-pricing-preview-title-line-height: 1.125; color: currentColor; font-size: var(--terme-font-size-20); font-weight: var(--terme-font-weight-extrabold); line-height: var(--vendor-landing-pricing-preview-title-line-height); }
.vendor-landing__pricing-preview-title:not(:last-child) { margin-bottom: var(--terme-spacing-24); }
.vendor-landing { padding: 0 0 var(--terme-spacing-32); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); }
.vendor-landing--redirect, .vendor-landing--unavailable, .vendor-landing--error { padding-bottom: 0; background: var(--terme-color-surface-canvas); }
.vendor-landing p { margin: 0; }
.vendor-landing .vendor-landing__title { font-family: var(--terme-font-family-interface); font-weight: var(--terme-font-weight-bold); }
.vendor-landing [id] { scroll-margin-top: calc(var(--vendor-header-edge, var(--terme-discovery-header-height)) + var(--vendor-tabs-height) + var(--terme-spacing-16)); }
.vendor-landing { --vendor-tabs-height: 3.25rem; --vendor-landing-focus-offset: 0.1875rem; --vendor-landing-wrap: 84rem; }
.vendor-landing__gallery, .vendor-landing__offers-layout, .vendor-landing__section-inner, .vendor-landing__section:not(.vendor-landing__team):not(.vendor-landing__imprint) { box-sizing: border-box; width: 100%; max-width: var(--vendor-landing-wrap); margin-inline: auto; padding-inline: var(--terme-public-gutter); }
.vendor-landing__section:not(.vendor-landing__team):not(.vendor-landing__imprint) > .vendor-landing__section-inner { padding-inline: 0; }
.vendor-landing__gallery { margin-top: var(--terme-spacing-48); }
.vendor-landing__gallery-mosaic { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2,minmax(0,1fr)); gap: var(--terme-spacing-12); aspect-ratio: 1062 / 404; }
.vendor-landing__gallery-photo { display: block; overflow: hidden; min-width: 0; min-height: 0; border-radius: var(--terme-radius-lg); background: var(--terme-color-border-soft); }
.vendor-landing__gallery-photo:first-child { grid-row: span 2; }
.vendor-landing__gallery-mosaic--1 { grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr); }
.vendor-landing__gallery-mosaic--2 { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0,1fr); }
.vendor-landing__gallery-mosaic--1 .vendor-landing__gallery-photo, .vendor-landing__gallery-mosaic--2 .vendor-landing__gallery-photo { grid-row: auto; }
.vendor-landing__gallery-mosaic--3 { grid-template-columns: 1fr 1fr; }
.vendor-landing__gallery-mosaic--4 .vendor-landing__gallery-photo:last-child { grid-row: 2; grid-column: 2 / 4; }
.vendor-landing__gallery-empty { box-sizing: border-box; aspect-ratio: 1062 / 404; display: grid; place-content: center; padding: var(--terme-spacing-24); text-align: center; background: var(--terme-color-border-soft); color: var(--terme-color-text-secondary); border-radius: var(--terme-radius-lg); }
.vendor-landing__gallery-more { padding-top: var(--terme-spacing-12); font-size: var(--terme-font-size-14); }
.vendor-landing__gallery-more summary { cursor: pointer; min-height: var(--terme-size-touch-target); }
.vendor-landing__gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--terme-spacing-12); }
.vendor-landing__gallery-grid a { display: block; height: 12rem; overflow: hidden; border-radius: var(--terme-radius-md); }
.vendor-landing--preview .vendor-landing__offer { cursor: default; }


.vendor-landing--preview [id] { scroll-margin-top: calc(var(--vendor-tabs-height) + var(--terme-spacing-16)); }
.vendor-landing__tabs { position: sticky; top: var(--vendor-header-height, var(--terme-discovery-header-height)); z-index: var(--terme-z-index-sticky); margin-bottom: var(--terme-spacing-64); background: var(--terme-color-surface-raised); border-bottom: 1px solid var(--terme-color-border-soft); }
.vendor-landing--preview .vendor-landing__tabs { top: 0; }
.vendor-landing__tabs-inner { box-sizing: border-box; display: flex; gap: var(--terme-spacing-32); max-width: var(--vendor-landing-wrap); margin-inline: auto; padding-inline: var(--terme-public-gutter); overflow-x: auto; scrollbar-width: none; }
.vendor-landing__tab { display: flex; align-items: center; height: var(--vendor-tabs-height); white-space: nowrap; font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-semibold); color: var(--terme-color-text-secondary); text-decoration: none; box-shadow: inset 0 -0.1875rem 0 transparent; }
.vendor-landing__tab[aria-current] { color: var(--terme-color-brand-ink); box-shadow: inset 0 -0.1875rem 0 var(--terme-color-brand-accent); }
.vendor-landing a.vendor-landing__tab:focus-visible { outline-offset: calc(-1 * var(--vendor-landing-focus-offset)); }
.vendor-landing__identity-section { position: relative; z-index: var(--terme-z-index-raised); box-sizing: border-box; display: flex; justify-content: space-between; align-items: stretch; gap: var(--terme-spacing-32); width: calc(100% - 2 * var(--terme-public-gutter) - 2 * var(--terme-spacing-32)); max-width: calc(var(--vendor-landing-wrap) - 2 * var(--terme-public-gutter) - 2 * var(--terme-spacing-32)); margin: calc(-1 * var(--terme-spacing-48)) auto var(--terme-spacing-32); padding: var(--terme-spacing-32) var(--terme-spacing-48); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-raised); }
.vendor-landing__gallery:has(.vendor-landing__gallery-more) + .vendor-landing__identity-section { margin-top: var(--terme-spacing-24); }
.vendor-landing__identity-section h1.vendor-landing__title { font-size: var(--terme-font-size-display-sm); line-height: var(--terme-line-height-tight); margin: 0 0 var(--terme-spacing-8); color: var(--terme-color-brand-ink); }
.vendor-landing__identity-section p { --vendor-landing-identity-section-line-height: 1.6; max-width: 40rem; font-size: var(--terme-font-size-16); line-height: var(--vendor-landing-identity-section-line-height); color: var(--terme-color-text-secondary); }
.vendor-landing__identity-copy { flex: 1; min-width: 0; }
.vendor-landing__offers-layout { padding-block: 0 6rem; }
.vendor-landing__offers-columns { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: var(--terme-spacing-48); }
.vendor-landing__offers-heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--terme-spacing-8) var(--terme-spacing-24); margin-bottom: var(--terme-spacing-32); }
.vendor-landing__offers .vendor-landing__offers-heading h2.vendor-landing__title { margin: 0; }
.vendor-landing__offers-toggle { min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-4); border: 0; background: none; color: var(--terme-color-brand-ink); font: inherit; font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); text-decoration: underline; text-underline-offset: 0.1875rem; cursor: pointer; }
.vendor-landing__offers-toggle[hidden] { display: none; }
.vendor-landing__offers-toggle:focus-visible { outline-color: var(--terme-color-brand-accent); border-radius: var(--terme-radius-xs); }
.vendor-landing__offers-main { min-width: 0; display: flex; flex-direction: column; gap: var(--terme-spacing-64); }
.vendor-landing__offers h2.vendor-landing__title, .vendor-landing__section h2.vendor-landing__title { --vendor-landing-title-font-size: clamp(1.625rem, 2vw, 2.5rem); color: var(--terme-color-brand-ink); margin: 0 0 var(--terme-spacing-32); font-size: var(--vendor-landing-title-font-size); line-height: var(--terme-line-height-tight); }
.vendor-landing__service-groups { display: grid; gap: var(--terme-spacing-16); }
.vendor-landing__service-group { overflow: hidden; border: 1px solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-raised); }
.vendor-landing__service-group-summary { box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) auto auto auto; grid-template-areas: "title pick edit chevron" "meta pick edit chevron"; align-items: center; row-gap: var(--terme-spacing-2); min-height: 5rem; padding: var(--terme-spacing-20) var(--terme-spacing-24) var(--terme-spacing-20) 1.75rem; cursor: pointer; list-style: none; }
.vendor-landing__service-group-summary::-webkit-details-marker { display: none; }
.vendor-landing__service-group h3.vendor-landing__title { --vendor-landing-title-line-height: 1.3; grid-area: title; margin: 0; font-size: var(--terme-font-size-18); line-height: var(--vendor-landing-title-line-height); color: var(--terme-color-brand-ink); overflow-wrap: anywhere; }
.vendor-landing__service-group-meta { grid-area: meta; font-size: var(--terme-font-size-14); color: var(--terme-color-text-secondary); }
.vendor-landing__service-group-pick { grid-area: pick; box-sizing: border-box; display: inline-flex; align-items: center; gap: var(--terme-spacing-6); max-width: min(15rem, 36vw); min-height: 2rem; margin-left: var(--terme-spacing-16); padding: var(--terme-spacing-4) var(--terme-spacing-12); border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-accent-soft); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-semibold); }
.vendor-landing__service-group-pick svg { flex-shrink: 0; width: 0.75rem; height: 0.75rem; color: var(--terme-color-brand-accent); }
.vendor-landing__service-group-pick span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vendor-landing__service-group-pick[hidden], .vendor-landing__service-group[open] .vendor-landing__service-group-pick { display: none; }
.vendor-landing__service-group-chevron { grid-area: chevron; box-sizing: border-box; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; margin-left: var(--terme-spacing-16); border: 1px solid var(--terme-color-border-default); border-radius: 50%; background: var(--terme-color-surface-raised); }
.vendor-landing__service-group-chevron svg { width: 1rem; height: 1rem; transition: transform var(--terme-motion-duration-state) var(--terme-motion-easing-standard); }
.vendor-landing__service-group[open] .vendor-landing__service-group-chevron { border-color: transparent; background: var(--terme-color-surface-canvas); }
.vendor-landing__service-group[open] .vendor-landing__service-group-chevron svg { transform: rotate(180deg); }
.vendor-landing .vendor-landing__service-group-summary:focus-visible { outline-offset: calc(-1 * var(--vendor-landing-focus-offset)); }
.vendor-landing__service-group-items { list-style: none; margin: 0; padding: 0 var(--terme-spacing-12) var(--terme-spacing-12); }
.vendor-landing__service-group-items li { margin-inline: var(--terme-spacing-16); border-top: 1px solid var(--terme-color-border-soft); }
.vendor-landing__service-group-items li:has(> .vendor-landing__offer--selected), .vendor-landing__service-group-items li:has(> .vendor-landing__offer--selected) + li { border-top-color: transparent; }
.vendor-landing__offer { box-sizing: border-box; width: calc(100% + 2 * var(--terme-spacing-16)); margin-inline: calc(-1 * var(--terme-spacing-16)); display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: var(--terme-spacing-8) var(--terme-spacing-24); padding: 1.125rem var(--terme-spacing-12) 1.125rem var(--terme-spacing-16); border-radius: var(--terme-radius-card); background: transparent; color: var(--terme-color-brand-ink); text-align: left; text-decoration: none; font: inherit; cursor: pointer; }
/* `Wählen` on every row, as on the phone and in the app (C-063). */
.vendor-landing__offer-pick { display: inline-flex; align-items: center; height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-14); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-border-control); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.vendor-landing__offer--selected .vendor-landing__offer-pick { box-shadow: inset 0 0 0 0.09375rem var(--terme-color-brand-accent); background: var(--terme-color-brand-accent-selected); }
.vendor-landing__offer--selected { background: var(--terme-color-brand-accent-soft); }
.vendor-landing__offer-copy { min-width: 0; display: grid; gap: var(--terme-spacing-4); }
.vendor-landing__offer-name { --vendor-landing-offer-name-line-height: 1.35; font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-semibold); line-height: var(--vendor-landing-offer-name-line-height); overflow-wrap: anywhere; }
.vendor-landing__offer-detail { font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-body); color: var(--terme-color-text-secondary); }
.vendor-landing__offer-description { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vendor-landing__offer-facts { display: grid; justify-items: end; gap: var(--terme-spacing-2); min-width: 6rem; }
.vendor-landing__offer-price { --vendor-landing-offer-price-line-height: 1.3; font-size: var(--terme-font-size-18); line-height: var(--vendor-landing-offer-price-line-height); font-weight: var(--terme-font-weight-bold); white-space: nowrap; }
.vendor-landing__offer-duration { display: inline-flex; align-items: center; gap: var(--terme-spacing-4); font-size: var(--terme-font-size-13); color: var(--terme-color-text-secondary); white-space: nowrap; }
.vendor-landing__offer-duration svg { width: 0.8125rem; height: 0.8125rem; }
.vendor-landing__sidebar { min-width: 0; }
.vendor-landing__sidebar-inner { display: grid; gap: var(--terme-spacing-24); top: calc(var(--vendor-header-height, var(--terme-discovery-header-height)) + var(--vendor-tabs-height) + var(--terme-spacing-16)); }
.vendor-landing__sidebar-inner[data-sticky='true'] { position: sticky; }
.vendor-landing__sidebar-inner section { padding: var(--terme-spacing-24); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-canvas); }
.vendor-landing__sidebar h2 { margin: 0 0 var(--terme-spacing-12); font-size: var(--terme-font-size-20); line-height: var(--terme-line-height-tight); color: var(--terme-color-brand-ink); }
.vendor-landing__sidebar p, .vendor-landing__sidebar a { font-size: var(--terme-font-size-15); color: var(--terme-color-brand-ink); }
.vendor-landing__sidebar p a { min-height: var(--terme-size-touch-target); display: flex; align-items: center; }
.vendor-landing__sidebar-inner .vendor-landing__booking-card { border: 1px solid var(--terme-color-border-soft); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-raised); }
.vendor-landing__hours-list { list-style: none; margin: 0; padding: 0; }
.vendor-landing__hours-row, .vendor-landing__contact-row { display: flex; justify-content: space-between; align-items: center; gap: var(--terme-spacing-12); padding-block: var(--terme-spacing-8); border-bottom: 1px solid var(--terme-color-border-soft); font-size: var(--terme-font-size-15); color: var(--terme-color-text-secondary); }
.vendor-landing__hours-list { display: grid; gap: var(--terme-spacing-2); }
.vendor-landing .vendor-landing__hours-row { margin-inline: calc(-1 * var(--terme-spacing-12)); padding-inline: var(--terme-spacing-12); border: 0; border-radius: var(--terme-radius-sm); }
.vendor-landing__contact-row { min-height: var(--terme-size-touch-target); box-sizing: border-box; }
.vendor-landing__contact-row strong { display: inline-flex; align-items: center; flex-shrink: 0; }
.vendor-landing__contact-icon { width: 1.125rem; height: 1.125rem; color: var(--terme-color-brand-ink); }
.vendor-landing__contact-row a { text-align: right; overflow-wrap: anywhere; min-width: 0; }
.vendor-landing__hours-row:last-child, .vendor-landing__contact-row:last-child { border: 0; }
.vendor-landing__hours-value { text-align: right; color: var(--terme-color-brand-ink); }
.vendor-landing .vendor-landing__hours-row--today { background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); }
.vendor-landing__sidebar p.vendor-landing__hours-note { margin-top: var(--terme-spacing-12); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-body); color: var(--terme-color-text-secondary); }
.vendor-landing__section { padding-block: 0 var(--terme-spacing-64); }
.vendor-landing__section.vendor-landing__reviews { padding-bottom: 6rem; }
.vendor-landing__offer:focus-visible, .vendor-landing a:focus-visible, .vendor-landing summary:focus-visible { outline-color: var(--terme-color-brand-accent); outline-offset: var(--vendor-landing-focus-offset); }
.vendor-landing__reviews p { font-size: var(--terme-font-size-14); color: var(--terme-color-text-secondary); }
.vendor-landing__reviews-zero-state { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--terme-spacing-24); min-block-size: calc(var(--terme-spacing-64) * 4); padding: var(--terme-spacing-48) var(--terme-spacing-24); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-soft); text-align: center; }
.vendor-landing__reviews-empty-icon { display: grid; place-items: center; flex-shrink: 0; inline-size: calc(var(--terme-spacing-64) + var(--terme-spacing-16)); block-size: calc(var(--terme-spacing-64) + var(--terme-spacing-16)); border-radius: 50%; background: var(--terme-color-brand-accent-soft); color: var(--terme-color-brand-ink); }
.vendor-landing__reviews-empty-icon svg { display: block; inline-size: calc(var(--terme-spacing-32) + var(--terme-spacing-8)); block-size: calc(var(--terme-spacing-32) + var(--terme-spacing-8)); }
.vendor-landing__reviews-empty-title { max-inline-size: 100%; overflow-wrap: anywhere; font-size: var(--terme-font-size-18); font-weight: var(--terme-font-weight-medium); line-height: var(--terme-line-height-body); color: var(--terme-color-brand-ink); }
.vendor-landing__reviews-summary-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: var(--terme-spacing-32); align-items: center; padding: var(--terme-spacing-32) var(--terme-spacing-48); margin-bottom: var(--terme-spacing-32); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-canvas); }
.vendor-landing__reviews-summary-card p { margin-top: var(--terme-spacing-8); font-size: var(--terme-font-size-14); }
.vendor-landing__reviews p.vendor-landing__reviews-summary-count { color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); }
.vendor-landing__reviews-summary-value { --vendor-landing-reviews-summary-value-font-size: 3.5rem; --vendor-landing-reviews-summary-value-line-height: 1.1; display: inline-flex; align-items: center; gap: var(--terme-spacing-8); font-size: var(--vendor-landing-reviews-summary-value-font-size); font-weight: var(--terme-font-weight-bold); line-height: var(--vendor-landing-reviews-summary-value-line-height); color: var(--terme-color-brand-ink); }
.vendor-landing__reviews-summary-star { color: var(--terme-color-brand-accent); font-size: var(--terme-font-size-32); }
.vendor-landing__review-breakdown-list { display: grid; gap: var(--terme-spacing-4); }
.vendor-landing__review-breakdown-list { gap: var(--terme-spacing-8); }
.vendor-landing__review-breakdown-row { display: grid; grid-template-columns: 3.5rem minmax(0,1fr) 2rem; align-items: center; gap: var(--terme-spacing-12); font-size: var(--terme-font-size-14); color: var(--terme-color-text-secondary); }
.vendor-landing__review-breakdown-track { height: var(--terme-spacing-8); background: var(--terme-color-surface-raised); border-radius: var(--terme-radius-lg); overflow: hidden; }
.vendor-landing__review-breakdown-fill { display: block; height: 100%; border-radius: inherit; background: var(--terme-color-brand-ink); }
.vendor-landing__review-history-list, .vendor-landing__reviews-highlight-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--terme-spacing-24); align-items: start; }
.vendor-landing__review-history-card, .vendor-landing__review-highlight { padding: var(--terme-spacing-24) var(--terme-spacing-32); border: 1px solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); box-shadow: none; }
.vendor-landing__review-history-header-row, .vendor-landing__review-highlight-header { display: grid; gap: var(--terme-spacing-4); margin-bottom: var(--terme-spacing-12); font-size: var(--terme-font-size-14); }
.vendor-landing__review-stars { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-16); letter-spacing: var(--terme-font-tracking-eyebrow); }
.vendor-landing__review-history-card blockquote, .vendor-landing__review-highlight blockquote { --vendor-landing-review-history-card-line-height: 1.6; margin: 0; font-size: var(--terme-font-size-16); color: var(--terme-color-brand-ink); line-height: var(--vendor-landing-review-history-card-line-height); overflow-wrap: anywhere; }
.vendor-landing__review-response { margin-top: var(--terme-spacing-16); padding: var(--terme-spacing-12) var(--terme-spacing-16); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-canvas); display: grid; gap: var(--terme-spacing-4); font-size: var(--terme-font-size-14); }
.vendor-landing__review-pagination { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--terme-spacing-12); margin-top: var(--terme-spacing-32); font-size: var(--terme-font-size-14); }
.vendor-landing__reviews-header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--terme-spacing-8) var(--terme-spacing-12); }
.vendor-landing__reviews-policy { display: inline-flex; align-items: center; min-height: var(--terme-size-touch-target); font-size: var(--terme-font-size-14); }
.vendor-landing__report-link { display: inline-flex; align-items: center; gap: var(--terme-spacing-4); min-height: var(--terme-size-touch-target); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); text-decoration: underline; text-underline-offset: 0.125rem; }
.vendor-landing__report-link svg { width: 1rem; height: 1rem; }
.vendor-landing__report-link:hover { color: var(--terme-color-brand-ink); }
.vendor-landing .vendor-landing__secondary-button { min-height: var(--terme-size-touch-target); border: 0.0625rem solid var(--terme-color-border-default); color: var(--terme-color-brand-ink); background: var(--terme-color-surface-raised); box-shadow: none; }
.vendor-landing .vendor-landing__secondary-button.is-loading { color: transparent; }
.vendor-landing__recommendation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--terme-spacing-24); }
.vendor-landing__recommendation-card { padding: var(--terme-spacing-16); border: 1px solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-soft); }
.vendor-landing__recommendation-card h4 { font-size: var(--terme-font-size-16); }
.vendor-landing__recommendation-signals { display: flex; gap: var(--terme-spacing-8); flex-wrap: wrap; font-size: var(--terme-font-size-14); }
.vendor-landing__sponsored-disclosure { color: var(--terme-color-status-warning); }
.vendor-landing .terme-button:focus-visible, .vendor-landing .vendor-landing__secondary-button:focus-visible, .vendor-landing__offer:focus-visible { transition: none; }
.vendor-landing a.vendor-landing__offer:focus-visible { outline-offset: calc(-1 * var(--vendor-landing-focus-offset)); }
@media (hover: hover) and (pointer: fine) {
  .vendor-landing__offer, .vendor-landing__service-group-summary { transition: background-color var(--terme-motion-duration-state) ease; }
  .vendor-landing__offer:not(.vendor-landing__offer--selected):hover, .vendor-landing__service-group-summary:hover { background: var(--terme-color-surface-canvas); }
  .vendor-landing__tab:hover { color: var(--terme-color-brand-ink); }
  .vendor-landing .vendor-landing__secondary-button, .vendor-landing__booking-card .terme-button, .vendor-landing__booking-summary .terme-button { --vendor-landing-secondary-button-duration: 260ms; transition: background-color var(--vendor-landing-secondary-button-duration) ease, border-color var(--vendor-landing-secondary-button-duration) ease, transform var(--vendor-landing-secondary-button-duration) cubic-bezier(0.22,1,0.36,1); }
  .vendor-landing .vendor-landing__secondary-button:hover { background: var(--terme-color-surface-canvas); border-color: var(--terme-color-text-secondary); }
  .vendor-landing__booking-card .terme-button:not([disabled]):hover, .vendor-landing__booking-summary .terme-button:not([disabled]):hover { transform: translateY(-0.125rem); }
}
.vendor-landing__booking-card .terme-button:not([disabled]):active, .vendor-landing__booking-summary .terme-button:not([disabled]):active { transform: scale(0.98); }
@media (prefers-reduced-motion: reduce) {
  .vendor-landing__service-group-chevron svg, .vendor-landing__service-group-summary, .vendor-landing__offer, .vendor-landing .vendor-landing__secondary-button, .vendor-landing__booking-card .terme-button, .vendor-landing__booking-summary .terme-button { transition: none; }
}
@media (width < 75rem) {
  .vendor-landing__offers-columns { grid-template-columns: minmax(0,1fr); gap: var(--terme-spacing-32); }
  .vendor-landing__sidebar-inner[data-sticky='true'] { position: static; }
}
@media (width < 52.5rem) {
  .vendor-landing__gallery { margin-top: var(--terme-spacing-24); }
  .vendor-landing__reviews-summary-grid { padding: var(--terme-spacing-24); }
  .vendor-landing__review-history-card, .vendor-landing__review-highlight { padding: var(--terme-spacing-16) var(--terme-spacing-24); }
  .vendor-landing__offers-layout { padding-block: 0 var(--terme-spacing-32); }
  .vendor-landing__offers-main { gap: var(--terme-spacing-32); }
  .vendor-landing__review-history-list, .vendor-landing__reviews-highlight-grid, .vendor-landing__recommendation-grid { grid-template-columns: minmax(0,1fr); gap: var(--terme-spacing-24); }
  .vendor-landing__reviews-summary-grid { grid-template-columns: minmax(0,1fr); gap: var(--terme-spacing-24); }
  .vendor-landing__section, .vendor-landing__section.vendor-landing__reviews { padding-block: 0 var(--terme-spacing-32); }
  .vendor-landing__offer { padding: var(--terme-spacing-12) var(--terme-spacing-16); gap: var(--terme-spacing-8) var(--terme-spacing-12); }
  .vendor-landing__offer-facts { min-width: 0; }
  .vendor-landing__offer-price { font-size: var(--terme-font-size-16); }
  .vendor-landing__service-group-summary { padding: var(--terme-spacing-12) var(--terme-spacing-16); min-height: 4rem; }
  .vendor-landing__tabs { margin-bottom: var(--terme-spacing-24); }
  .vendor-landing__tabs-inner { gap: var(--terme-spacing-24); }
}
.vendor-landing { padding-bottom: 0; }
.vendor-landing__crumbs { box-sizing: border-box; display: flex; align-items: center; gap: var(--terme-spacing-12); max-width: var(--vendor-landing-wrap); margin: 0 auto; padding: var(--terme-spacing-16) var(--terme-public-gutter) 0; }
.vendor-landing__crumbs-back { display: inline-grid; place-items: center; flex: none; width: var(--terme-size-control-height); height: var(--terme-size-control-height); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-accent); box-shadow: var(--terme-shadow-soft); }
.vendor-landing__crumbs-back svg { width: var(--terme-font-size-18); height: var(--terme-font-size-18); }
.vendor-landing__crumbs-trail { display: flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-4) var(--terme-spacing-8); margin: 0; padding: 0; list-style: none; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.vendor-landing__crumbs-trail li { display: inline-flex; align-items: center; gap: var(--terme-spacing-8); }
.vendor-landing__crumbs-trail li + li::before { content: '›'; color: var(--terme-color-text-secondary); }
.vendor-landing .vendor-landing__crumbs-trail a { color: var(--terme-color-text-secondary); text-decoration: none; }
.vendor-landing .vendor-landing__crumbs-trail a:hover { color: var(--terme-color-brand-ink); text-decoration: underline; text-underline-offset: 0.1875rem; }
.vendor-landing__crumbs-trail [aria-current] { color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-semibold); }
.vendor-landing__crumbs + .vendor-landing__gallery { position: relative; margin-top: var(--terme-spacing-16); }
.vendor-landing__crumbs + .vendor-landing__gallery .vendor-landing__gallery-mosaic { aspect-ratio: 1062 / 340; }
.vendor-landing__gallery-count { display: none; }

.vendor-landing .vendor-landing__identity-section { align-items: center; gap: var(--terme-spacing-48); }
.vendor-landing p.vendor-landing__identity-kicker { margin: 0 0 var(--terme-spacing-6); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-bold); letter-spacing: var(--terme-font-tracking-eyebrow); line-height: var(--terme-line-height-20); text-transform: uppercase; }
.vendor-landing .vendor-landing__identity-section h1.vendor-landing__title { margin: 0 0 var(--terme-spacing-6); }
.vendor-landing .vendor-landing__identity-section p.vendor-landing__identity-lead { max-width: 46rem; margin: 0; }
.vendor-landing__facts { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1.75rem; margin: var(--terme-spacing-12) 0 0; padding: 0; list-style: none; }
.vendor-landing__facts li { display: flex; align-items: center; }
.vendor-landing__fact { display: inline-flex; align-items: center; gap: var(--terme-spacing-8); min-height: var(--terme-size-touch-target); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-22); }
.vendor-landing a.vendor-landing__fact { color: var(--terme-color-brand-ink); text-decoration: none; }
.vendor-landing__fact svg { flex: none; width: var(--terme-font-size-18); height: var(--terme-font-size-18); color: var(--terme-color-text-secondary); }
.vendor-landing__fact--rating svg { color: var(--terme-color-brand-accent); }
.vendor-landing__fact--rating span { color: var(--terme-color-text-secondary); }

.vendor-landing .vendor-landing__contact-row { justify-content: flex-start; gap: var(--terme-spacing-12); color: var(--terme-color-brand-ink); }
.vendor-landing .vendor-landing__contact-row strong { color: var(--terme-color-text-secondary); }
.vendor-landing .vendor-landing__contact-row a { text-align: left; }

.vendor-landing__offer-name { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-4) var(--terme-spacing-8); }
.vendor-landing__offer-tag { display: inline-flex; align-items: center; gap: var(--terme-spacing-4); padding: var(--terme-spacing-2) var(--terme-spacing-8); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-border-default); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-18); }
.vendor-landing__offer-tag svg { width: var(--terme-font-size-14); height: var(--terme-font-size-14); }
.vendor-landing__offer-parts { display: flex; flex-wrap: wrap; gap: var(--terme-spacing-6); margin: var(--terme-spacing-6) 0; }
.vendor-landing__offer-parts span { padding: var(--terme-spacing-2) var(--terme-spacing-8); border-radius: var(--terme-radius-sm); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); }
.vendor-landing__offer--selected .vendor-landing__offer-parts span { background: var(--terme-color-surface-raised); }
.vendor-landing__offer-saving { color: var(--terme-color-status-success); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-semibold); white-space: nowrap; }

.vendor-landing__section.vendor-landing__team { margin: 0 0 6rem; padding: 5rem 0; background: var(--terme-color-surface-canvas); }
.vendor-landing .vendor-landing__team h2.vendor-landing__title { margin-bottom: var(--terme-spacing-40); text-align: left; }
.vendor-landing__team-list { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: var(--terme-spacing-40) var(--terme-spacing-48); margin: 0; padding: 0; list-style: none; }
.vendor-landing__team-person { display: flex; flex-direction: column; align-items: center; gap: var(--terme-spacing-4); width: 9rem; text-align: center; overflow-wrap: anywhere; }
.vendor-landing__team-person img, .vendor-landing__team-image-placeholder { box-sizing: border-box; width: 8rem; height: 8rem; margin-bottom: var(--terme-spacing-14); border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 0.375rem var(--terme-color-surface-raised), var(--terme-shadow-raised); }
.vendor-landing__team-image-placeholder { display: grid; place-items: center; background: var(--terme-color-border-soft); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-24); font-weight: var(--terme-font-weight-bold); }
.vendor-landing__team-person > strong { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-22); }
.vendor-landing__team-rating { display: inline-flex; align-items: center; gap: var(--terme-spacing-4); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); }
.vendor-landing__team-rating span:first-child { color: var(--terme-color-brand-accent); }

.vendor-landing__section.vendor-landing__know { margin: 0; padding-block: 0 6rem; }
.vendor-landing__know-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: start; gap: var(--terme-spacing-48); }
.vendor-landing .vendor-landing__know-intro h2.vendor-landing__title { margin-bottom: var(--terme-spacing-12); }
.vendor-landing .vendor-landing__know-link { display: inline-flex; align-items: center; gap: var(--terme-spacing-6); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); text-decoration: none; }
.vendor-landing__know-link svg { width: 1rem; height: 1rem; }
.vendor-landing__know-list { margin: 0; padding: var(--terme-spacing-8) var(--terme-spacing-32); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-raised); }
.vendor-landing__know-row { display: grid; grid-template-columns: 2.5rem 10rem minmax(0, 1fr); align-items: center; gap: var(--terme-spacing-20); padding: var(--terme-spacing-20) 0; }
.vendor-landing__know-row + .vendor-landing__know-row { border-top: 0.0625rem solid var(--terme-color-border-soft); }
.vendor-landing__know-row.vendor-landing__know-row--terms { display: block; padding: var(--terme-spacing-20) 0 var(--terme-spacing-20) calc(2.5rem + var(--terme-spacing-20)); }
.vendor-landing__know-icon { display: grid; flex: none; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); }
.vendor-landing__know-icon svg { width: 1.25rem; height: 1.25rem; }
/* The term holds icon and label; as contents both sit in the row grid. */
.vendor-landing__know-row dt { display: contents; }
.vendor-landing__know-label { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-semibold); }
.vendor-landing__know-row dd { margin: 0; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-22); }

.vendor-landing__imprint { padding: var(--terme-spacing-48) 0 4.5rem; background: var(--terme-color-surface-canvas); }
.vendor-landing__imprint-inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--terme-spacing-24); max-width: var(--vendor-landing-wrap); margin: 0 auto; padding-inline: var(--terme-public-gutter); }
/* Canvas "TERme Feinschliff" D: heading with the note beneath, the report link on the right. */
.vendor-landing__imprint-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--terme-spacing-8) var(--terme-spacing-24); }
.vendor-landing__imprint-head h2 { margin: 0; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-20); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-26); }
.vendor-landing p.vendor-landing__imprint-report { display: inline-flex; align-items: center; gap: var(--terme-spacing-6); margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); }
.vendor-landing__imprint-report svg { width: var(--terme-size-icon-sm); height: var(--terme-size-icon-sm); }
.vendor-landing .vendor-landing__imprint a, .vendor-landing .vendor-landing__reviews-policy { color: var(--terme-color-brand-ink); text-decoration: underline; text-decoration-thickness: 0.0625rem; text-underline-offset: 0.1875rem; }
.vendor-landing__imprint-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--terme-spacing-24) var(--terme-spacing-40); margin: 0; padding-top: var(--terme-spacing-24); border-top: 0.0625rem solid var(--terme-color-border-default); }
.vendor-landing__imprint-grid dt { margin: 0 0 var(--terme-spacing-6); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); letter-spacing: var(--terme-font-tracking-eyebrow); line-height: var(--terme-line-height-16); text-transform: uppercase; }
.vendor-landing__imprint-grid dd { margin: 0; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-24); overflow-wrap: anywhere; }
.vendor-landing__imprint-status { display: inline-flex; align-items: center; height: 1.375rem; margin-left: var(--terme-spacing-8); padding: 0 var(--terme-spacing-8); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-border-soft); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); line-height: 1; vertical-align: 0.0625rem; }
/* The contracting party as one plain line under a hairline, the link on the right. */
.vendor-landing__imprint-contract { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--terme-spacing-4) var(--terme-spacing-24); margin-top: var(--terme-spacing-8); padding-top: var(--terme-spacing-16); border-top: 0.0625rem solid var(--terme-color-border-soft); }
.vendor-landing .vendor-landing__imprint-contract p { flex: 1 1 24rem; margin: 0; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.vendor-landing .vendor-landing__imprint-contract a { display: inline-flex; flex: none; align-items: center; gap: var(--terme-spacing-4); min-height: var(--terme-size-touch-target); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-semibold); }
.vendor-landing__imprint-contract a svg { width: var(--terme-size-icon-sm); height: var(--terme-size-icon-sm); }
.vendor-landing p.vendor-landing__imprint-note { margin: var(--terme-spacing-4) 0 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }

.vendor-landing__booking-summary { position: fixed; right: 0; bottom: 0; left: 0; z-index: var(--terme-z-index-overlay); box-sizing: border-box; padding: var(--terme-spacing-12) var(--terme-public-gutter); background: var(--terme-color-surface-raised); box-shadow: 0 -0.0625rem 0 var(--terme-color-border-soft), 0 -0.5rem 1.5rem color-mix(in srgb, var(--terme-color-brand-ink) 7%, transparent); }
.vendor-landing:has(.vendor-landing__booking-summary) { padding-bottom: 7.5rem; }

/* Öffnungszeiten and Kontakt side by side under the services (C-062). */
.vendor-landing__info-pair .vendor-landing__sidebar-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
@media (width >= 75rem) {
  .vendor-landing__offers-columns { grid-template-columns: minmax(0, 1fr) 28.5rem; }
  .vendor-landing__offers-columns > .vendor-landing__offers-main { grid-column: 1; grid-row: 1; }
  .vendor-landing__offers-columns > aside.vendor-landing__sidebar { grid-column: 2; grid-row: 1 / span 2; }
  .vendor-landing__offers-columns > .vendor-landing__info-pair { grid-column: 1; grid-row: 2; }
  .vendor-landing__booking-summary { display: none; }
  .vendor-landing:has(.vendor-landing__booking-summary) { padding-bottom: 0; }
}
@media (width < 75rem) {
  .vendor-landing__imprint-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (width < 52.5rem) {
  .vendor-landing__crumbs { display: none; }
  .vendor-landing__crumbs + .vendor-landing__gallery { margin-top: var(--terme-spacing-12); }
  .vendor-landing .vendor-landing__identity-section { flex-direction: column; align-items: stretch; gap: var(--terme-spacing-16); width: calc(100% - 2 * var(--terme-public-gutter)); margin-top: -1.25rem; padding: var(--terme-spacing-24); }
  .vendor-landing__facts { flex-direction: column; align-items: flex-start; margin-top: var(--terme-spacing-8); }
  .vendor-landing__fact { align-items: flex-start; min-height: 2.25rem; padding-block: 0.4375rem; }
  .vendor-landing__fact svg { margin-top: var(--terme-spacing-2); }
  .vendor-landing__section.vendor-landing__team { margin-bottom: var(--terme-spacing-64); padding: var(--terme-spacing-64) 0; }
  .vendor-landing__section.vendor-landing__know { padding-bottom: var(--terme-spacing-64); }
  .vendor-landing__team-list { gap: var(--terme-spacing-24) var(--terme-spacing-16); }
  .vendor-landing__team-person { width: 6.5rem; }
  .vendor-landing__team-person img, .vendor-landing__team-image-placeholder { width: 5.5rem; height: 5.5rem; margin-bottom: var(--terme-spacing-10); }
  .vendor-landing__team-person > strong { font-size: var(--terme-font-size-15); }
  .vendor-landing__know-layout { grid-template-columns: minmax(0, 1fr); gap: var(--terme-spacing-24); }
  .vendor-landing__know-list { padding: var(--terme-spacing-4) var(--terme-spacing-20); }
  .vendor-landing__know-row { grid-template-columns: 2.5rem minmax(0, 1fr); grid-template-areas: "icon label" "icon text"; align-items: start; gap: var(--terme-spacing-2) var(--terme-spacing-16); padding: var(--terme-spacing-16) 0; }
  .vendor-landing__know-icon { grid-area: icon; }
  .vendor-landing__know-label { grid-area: label; }
  .vendor-landing__know-row dd { grid-area: text; }
  .vendor-landing__know-row.vendor-landing__know-row--terms { padding: var(--terme-spacing-16) 0 var(--terme-spacing-16) calc(2.5rem + var(--terme-spacing-16)); }
  .vendor-landing__imprint { padding: var(--terme-spacing-40) 0 3.5rem; }
  .vendor-landing__imprint-grid { grid-template-columns: minmax(0, 1fr); gap: var(--terme-spacing-16); }
}
@media (width < 37.5rem) {
  .vendor-landing__crumbs + .vendor-landing__gallery .vendor-landing__gallery-mosaic { display: flex; gap: var(--terme-spacing-8); aspect-ratio: auto; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .vendor-landing__crumbs + .vendor-landing__gallery .vendor-landing__gallery-photo { flex: 0 0 100%; aspect-ratio: 4 / 3; scroll-snap-align: start; }
  .vendor-landing__gallery-count { display: block; position: absolute; z-index: var(--terme-z-index-raised); top: var(--terme-spacing-12); right: calc(var(--terme-public-gutter) + var(--terme-spacing-12)); padding: var(--terme-spacing-4) var(--terme-spacing-10); border-radius: var(--terme-radius-pill); background: color-mix(in srgb, var(--terme-color-brand-ink) 78%, transparent); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-16); }
}
.shop-booking { display: contents; }
.vendor-landing__sidebar-inner { grid-template-columns: minmax(0, 1fr); }
.vendor-landing .shop-booker { min-width: 0; }
.vendor-landing .shop-booker { scroll-margin-top: calc(var(--vendor-header-edge, var(--terme-discovery-header-height)) + var(--vendor-tabs-height) + var(--terme-spacing-16)); }
.vendor-landing .shop-booker h2.shop-booker__title { margin: 0 0 var(--terme-spacing-16); font-size: var(--terme-font-size-20); line-height: var(--terme-line-height-26); }
.shop-booker[inert] { cursor: default; }
.vendor-landing .shop-booker p.shop-booker__unavailable { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.shop-booker__steps { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.shop-booker__step { padding: var(--terme-spacing-16) 0; border-top: 0.0625rem solid var(--terme-color-border-soft); }
.shop-booker__step:first-child { padding-top: 0; border-top: 0; }
.shop-booker__step.is-collapsed, .shop-booker__step.is-pending { padding: var(--terme-spacing-12) 0; }
.shop-booker__step.is-collapsed:first-child { padding-top: 0; }
.shop-booker__step.shop-booker__step--staff { padding-bottom: var(--terme-spacing-8); }
.shop-booker__step--staff + .shop-booker__step { padding-top: var(--terme-spacing-8); border-top: 0; }
.shop-booker__head { display: flex; align-items: center; gap: var(--terme-spacing-10); min-height: var(--terme-size-icon-lg); margin-bottom: var(--terme-spacing-12); }
.shop-booker__step.is-collapsed .shop-booker__head { margin-bottom: var(--terme-spacing-2); }
.shop-booker__step.is-pending .shop-booker__head { margin-bottom: 0; }
.shop-booker__num { display: inline-grid; flex: none; place-items: center; width: var(--terme-size-icon-lg); height: var(--terme-size-icon-lg); border-radius: 50%; background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); }
.shop-booker__num svg { width: var(--terme-font-size-14); height: var(--terme-font-size-14); }
.shop-booker__step.is-done .shop-booker__num, .shop-booker__step.is-pending .shop-booker__num { background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-border-default); }
.shop-booker__step.is-pending .shop-booker__num { color: var(--terme-color-text-secondary); }
.shop-booker__label { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); }
.shop-booker__step.is-pending .shop-booker__label { color: var(--terme-color-text-secondary); font-weight: var(--terme-font-weight-semibold); }
.shop-booker__hint { margin-left: auto; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); text-align: right; }
.vendor-landing .vendor-landing__sidebar .shop-booker__edit { display: inline; min-height: 0; margin-left: auto; padding: 0; border: 0; background: none; font-family: var(--terme-font-family-interface); cursor: pointer; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); text-decoration: underline; text-underline-offset: 0.1875rem; }
.vendor-landing .vendor-landing__sidebar p.shop-booker__value { margin: 0; padding-left: 2.125rem; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); overflow-wrap: anywhere; }
.vendor-landing .vendor-landing__sidebar p.shop-booker__fine { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-20); }
.vendor-landing .vendor-landing__sidebar p.shop-booker__saving { padding-left: 2.125rem; color: var(--terme-color-status-success); font-weight: var(--terme-font-weight-semibold); }
.shop-booker__parts { display: flex; flex-direction: column; gap: var(--terme-spacing-4); margin: var(--terme-spacing-10) 0 0 2.125rem; padding: 0 0 0 var(--terme-spacing-12); border-left: 0.125rem solid var(--terme-color-border-soft); list-style: none; }
.shop-booker__parts li { display: flex; justify-content: space-between; gap: var(--terme-spacing-16); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
.shop-booker__parts li span:first-child { color: var(--terme-color-brand-ink); }
.shop-booker__chips { display: flex; flex-wrap: wrap; gap: var(--terme-spacing-6); }
.shop-booker__chip { display: inline-flex; align-items: center; gap: 0.4375rem; min-height: var(--terme-size-touch-target); padding: var(--terme-spacing-4) 0.6875rem var(--terme-spacing-4) var(--terme-spacing-4); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-semibold) var(--terme-font-size-14) var(--terme-font-family-interface); cursor: pointer; }
.shop-booker__chip img, .shop-booker__any { flex: none; width: 2.125rem; height: 2.125rem; border-radius: 50%; object-fit: cover; }
.shop-booker__any { display: grid; place-items: center; background: var(--terme-color-surface-canvas); color: var(--terme-color-text-secondary); }
.shop-booker__any svg { width: var(--terme-font-size-18); height: var(--terme-font-size-18); }
.vendor-landing .vendor-landing__sidebar p.shop-booker__value--when { display: flex; align-items: center; gap: var(--terme-spacing-8); }
.shop-booker__value--when img, .shop-booker__value--when .shop-booker__any { flex: none; width: 1.375rem; height: 1.375rem; border-radius: 50%; object-fit: cover; }
.shop-booker__value--when .shop-booker__any svg { width: 0.875rem; height: 0.875rem; }
.shop-booker__chip[aria-checked='true'] { border-color: var(--terme-color-brand-accent); background: var(--terme-color-brand-accent-soft); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-brand-accent); }
.shop-booker__chip[aria-checked='true'] .shop-booker__any { background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); }
.shop-booker__days { display: grid; grid-auto-columns: calc((100% - 4 * var(--terme-spacing-6)) / 5); grid-auto-flow: column; gap: var(--terme-spacing-6); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.shop-booker__day { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 3.75rem; padding: var(--terme-spacing-6) 0; border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: inherit; line-height: var(--terme-line-height-18); scroll-snap-align: start; cursor: pointer; }
.shop-booker__day small { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-semibold); }
.shop-booker__day strong { color: inherit; font-size: 1.0625rem; line-height: var(--terme-line-height-22); }
.shop-booker__day[aria-pressed='true'] { border-color: var(--terme-color-brand-accent); background: var(--terme-color-brand-accent-soft); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-brand-accent); color: var(--terme-color-brand-ink); }
.shop-booker__day.is-empty:not([aria-pressed='true']) { border-style: dashed; background: transparent; opacity: 0.5; }
.shop-booker__day--more span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-semibold); }
.shop-booker__day--more strong { font-size: var(--terme-font-size-14); }
.shop-booker__day:disabled { cursor: default; }
.shop-booker__status { margin: var(--terme-spacing-12) 0 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.vendor-landing .vendor-landing__sidebar .shop-booker__status p { margin: 0 0 var(--terme-spacing-4); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); }
.vendor-landing .vendor-landing__sidebar p.shop-booker__status { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); }
.vendor-landing .vendor-landing__sidebar p.shop-booker__status--error { color: var(--terme-color-status-danger); }
.shop-notice { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--terme-spacing-12); align-items: center; margin: var(--terme-spacing-12) 0 0; padding: var(--terme-spacing-16); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-raised); }
.shop-notice--accent { border-color: var(--terme-color-brand-accent-border); background: var(--terme-color-brand-accent-soft); }
.shop-notice__icon { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-status-danger-soft); color: var(--terme-color-status-danger); }
.shop-notice--accent .shop-notice__icon { background: var(--terme-color-surface-raised); color: var(--terme-color-brand-accent); }
.shop-notice__icon svg { width: 1.25rem; height: 1.25rem; }
.shop-notice__body { display: grid; gap: var(--terme-spacing-2); min-width: 0; }
.shop-notice__title { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); }
.shop-notice__text { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.shop-notice__detail { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-20); }
.shop-notice__action { grid-column: 1 / -1; justify-self: start; min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-20); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: inherit; font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-semibold); cursor: pointer; }
.shop-notice__action:hover { border-color: var(--terme-color-text-secondary); }
.shop-booker__link { min-height: var(--terme-size-touch-target); padding: 0; border: 0; background: none; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-semibold) var(--terme-font-size-14) var(--terme-font-family-interface); text-decoration: underline; text-underline-offset: 0.1875rem; cursor: pointer; }
.shop-booker__slots { display: grid; gap: var(--terme-spacing-12); margin-top: var(--terme-spacing-16); }
.shop-booker__dayparts { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; gap: var(--terme-spacing-4); padding: var(--terme-spacing-4); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-canvas); }
.shop-booker__daypart { display: flex; flex-direction: column; align-items: center; gap: var(--terme-spacing-2); min-width: 0; min-height: 4rem; padding: var(--terme-spacing-8) var(--terme-spacing-4); border: 0; border-radius: var(--terme-radius-sm); background: transparent; color: var(--terme-color-text-secondary); font: inherit; cursor: pointer; }
.shop-booker__daypart svg { width: 1.25rem; height: 1.25rem; }
.shop-booker__daypart strong { max-width: 100%; overflow: hidden; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); text-overflow: ellipsis; white-space: nowrap; }
.shop-booker__daypart small { font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-16); }
.shop-booker__daypart[aria-pressed='true'] { background: var(--terme-color-surface-raised); box-shadow: 0 0.0625rem 0.1875rem color-mix(in srgb, var(--terme-color-brand-ink) 16%, transparent); }
.shop-booker__daypart[aria-pressed='true'] svg { color: var(--terme-color-brand-accent); }
.shop-booker__dayparts:has(> :nth-child(4)) .shop-booker__daypart { padding-inline: 0; }
.shop-booker__dayparts:has(> :nth-child(4)) .shop-booker__daypart strong { font-size: var(--terme-font-size-12); }
.shop-booker__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--terme-spacing-6); }
.shop-booker__slot { min-height: var(--terme-size-control-height); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-field); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-semibold) var(--terme-font-size-14) var(--terme-font-family-interface); cursor: pointer; }
.shop-booker__slot[aria-pressed='true'] { border-color: var(--terme-color-brand-accent); background: var(--terme-color-brand-accent-soft); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-brand-accent); }
.vendor-landing .vendor-landing__sidebar p.shop-booker__summary { display: flex; flex-direction: column; gap: var(--terme-spacing-2); margin: var(--terme-spacing-4) 0 var(--terme-spacing-12); padding: var(--terme-spacing-12) var(--terme-spacing-16); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); }
.shop-booker__summary span { color: var(--terme-color-text-secondary); }
.vendor-landing p.shop-party-line { display: flex; align-items: baseline; min-width: 0; white-space: nowrap; }
.shop-party-line__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.vendor-landing .vendor-landing__sidebar p.shop-booker__party { margin: var(--terme-spacing-12) 0 var(--terme-spacing-8); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); line-height: var(--terme-line-height-17); }
.vendor-landing .shop-booker__button, .vendor-landing .shop-booking__bar-go { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-height: 3.25rem; border: 0; border-radius: var(--terme-radius-md); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font: var(--terme-font-weight-bold) var(--terme-font-size-16) var(--terme-font-family-interface); text-decoration: none; cursor: pointer; }
.vendor-landing .shop-booker__button[disabled] { background: var(--terme-color-border-default); color: var(--terme-color-brand-ink); opacity: 1; cursor: default; }

.shop-booking__bar-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--terme-spacing-8) var(--terme-spacing-16); max-width: calc(var(--terme-public-max-width) - 2 * var(--terme-public-gutter)); margin-inline: auto; }
.vendor-landing p.shop-booking__bar-party { grid-column: 1 / -1; margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-11); line-height: var(--terme-line-height-16); }
.shop-booking__bar-choice { min-width: 0; }
.shop-booking__bar-choice strong { display: block; overflow: hidden; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-16); text-overflow: ellipsis; white-space: nowrap; }
.vendor-landing .shop-booking__bar-choice p { margin: var(--terme-spacing-2) 0 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); }
.vendor-landing .shop-booking__bar-go { width: auto; min-width: 8.5rem; padding-inline: var(--terme-spacing-16); }

@media (hover: hover) and (pointer: fine) {
  .vendor-landing .shop-booker__button:not([disabled]):hover, .vendor-landing .shop-booking__bar-go:hover { background: var(--terme-color-brand-ink-hover); }
  .shop-booker__chip:not([aria-checked='true']):hover, .shop-booker__day:not([aria-pressed='true']):not(:disabled):hover, .shop-booker__slot:not([aria-pressed='true']):hover { border-color: var(--terme-color-brand-ink); }
  .shop-booker__daypart:not([aria-pressed='true']):hover { background: var(--terme-color-border-soft); }
}
.vendor-landing .shop-booker__button:not([disabled]):active, .vendor-landing .shop-booking__bar-go:active { transform: scale(var(--terme-motion-scale-press)); }
@media (width < 75rem) {
  .vendor-landing .vendor-landing__sidebar p.shop-booker__party { display: none; }
}
@media (width < 52.5rem) {
  .shop-booker__chips { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1 * var(--terme-spacing-24)); padding-right: var(--terme-spacing-24); scrollbar-width: none; }
  .shop-booker__chip { flex: none; }
}
.vendor-landing .shop-booker { max-width: 40rem; }
.shop-booker__label:focus:not(:focus-visible) { outline: none; }
.shop-booker__step { scroll-margin-top: calc(var(--vendor-header-edge, var(--terme-discovery-header-height)) + var(--vendor-tabs-height) + var(--terme-spacing-16)); }
.shop-booker .shop-review .shop-link, .shop-booker .shop-check .shop-link, .shop-booker .shop-check a { font-weight: var(--terme-font-weight-regular); }
.shop-facts-list > div.shop-facts-list__parts { display: block; margin-top: calc(-1 * var(--terme-spacing-4)); }
.shop-facts-list > div.shop-facts-list__parts dd { font-weight: var(--terme-font-weight-regular); text-align: left; }
.shop-booker p.shop-fine, .shop-booker .shop-fine { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-20); }
.shop-booker p.shop-fine--ok { color: var(--terme-color-status-success); font-weight: var(--terme-font-weight-semibold); }
.shop-booker p a, .shop-booker p .shop-link, .shop-booker dd .shop-link, .shop-booker .shop-check a, .shop-booker .shop-check .shop-link { display: inline; min-height: 0; font-size: inherit; }
.shop-booker .shop-fine a, .shop-booker .shop-check a, .shop-booker dd a { color: var(--terme-color-brand-ink); text-decoration: underline; text-underline-offset: 0.1875rem; }
.shop-booker p.shop-sublabel { margin: var(--terme-spacing-6) 0 calc(-1 * var(--terme-spacing-4)); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.shop-booker .shop-link { padding: 0; border: 0; background: none; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-semibold) var(--terme-font-size-13) var(--terme-font-family-interface); text-decoration: underline; text-underline-offset: 0.1875rem; cursor: pointer; }
.shop-booker a.shop-link--end { display: inline; align-self: flex-end; min-height: 0; margin-top: calc(-1 * var(--terme-spacing-6)); font-size: var(--terme-font-size-13); }
.shop-stack { display: flex; flex-direction: column; gap: var(--terme-spacing-12); margin-top: var(--terme-spacing-14); }
.shop-stack .shop-fields { margin-top: 0; }
.shop-seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--terme-spacing-4); padding: var(--terme-spacing-4); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-canvas); }
.shop-seg--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.shop-seg button { min-height: 2.5rem; padding: 0 var(--terme-spacing-4); border: 0; border-radius: var(--terme-radius-pill); background: none; color: var(--terme-color-text-secondary); font: var(--terme-font-weight-semibold) var(--terme-font-size-14) var(--terme-font-family-interface); cursor: pointer; }
.shop-seg button[aria-selected='true'], .shop-seg button[aria-pressed='true'] { background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); }
.shop-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--terme-spacing-12); margin-top: var(--terme-spacing-12); }
.shop-field { display: flex; flex-direction: column; gap: var(--terme-spacing-4); min-width: 0; }
.shop-field--wide { grid-column: 1 / -1; }
.shop-field label { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-semibold); }
.shop-field label span { color: var(--terme-color-text-secondary); font-weight: var(--terme-font-weight-regular); }
.shop-field input, .shop-code input { box-sizing: border-box; width: 100%; min-height: 2.875rem; padding: 0 var(--terme-spacing-14); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-field); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-size-15) var(--terme-font-family-interface); }
.shop-check { display: flex; align-items: flex-start; gap: var(--terme-spacing-10); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-20); cursor: pointer; }
.shop-check input { flex: none; width: 1.125rem; height: 1.125rem; margin: var(--terme-spacing-2) 0 0; }
.shop-check--box { padding: var(--terme-spacing-12) var(--terme-spacing-14); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-md); }
.shop-check--box:has(input:checked) { border-color: var(--terme-color-brand-ink); background: var(--terme-color-surface-canvas); }
.shop-or { display: flex; align-items: center; gap: var(--terme-spacing-12); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
.shop-or::before, .shop-or::after { content: ''; flex: 1; height: 0.0625rem; background: var(--terme-color-border-soft); }
.shop-social { display: flex; align-items: center; justify-content: center; gap: var(--terme-spacing-10); width: 100%; min-height: 2.875rem; border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-15) var(--terme-font-family-interface); cursor: pointer; }
.shop-social img, .shop-social svg { width: 1.125rem; height: 1.125rem; }
.shop-social-row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--terme-spacing-8); }
.shop-consent { display: flex; flex-direction: column; gap: var(--terme-spacing-8); padding: var(--terme-spacing-12) var(--terme-spacing-14); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); }
.shop-consent__actions { display: flex; align-items: center; gap: var(--terme-spacing-16); }
.shop-consent__actions .shop-ghost { width: auto; min-height: var(--terme-size-control-height); padding: 0 var(--terme-spacing-16); }
.shop-account { display: flex; align-items: center; gap: var(--terme-spacing-12); padding: var(--terme-spacing-12) var(--terme-spacing-16); border: 1px solid var(--terme-color-border-default); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); }
.shop-account__avatar { display: grid; flex: none; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); }
.shop-account__copy { display: flex; flex: 1; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.shop-account__copy strong { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); }
.shop-account__copy span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
.shop-code { display: flex; gap: var(--terme-spacing-8); }
.shop-code input { flex: 1; min-width: 0; min-height: 2.75rem; text-transform: uppercase; }
.shop-code input::placeholder { text-transform: none; }
.shop-code button { min-height: 2.75rem; padding: 0 var(--terme-spacing-16); border: 0.0625rem solid var(--terme-color-brand-ink); border-radius: var(--terme-radius-field); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-14) var(--terme-font-family-interface); cursor: pointer; }
.shop-booker p.shop-applied { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-16); margin: 0; padding: var(--terme-spacing-8) var(--terme-spacing-12); border-radius: var(--terme-radius-field); background: var(--terme-color-status-success-soft); color: var(--terme-color-status-success); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-bold); }
.shop-choice { display: flex; flex-direction: column; gap: var(--terme-spacing-10); }
.shop-option { display: flex; align-items: center; gap: var(--terme-spacing-14); width: 100%; padding: var(--terme-spacing-14) var(--terme-spacing-16); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: inherit; text-align: left; cursor: pointer; }
.shop-option[aria-checked='true'] { border-color: var(--terme-color-brand-ink); background: var(--terme-color-surface-canvas); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-brand-ink); }
.shop-option:disabled { opacity: 0.55; cursor: default; }
.shop-option__copy { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.shop-option__copy strong { font-size: var(--terme-font-size-15); }
.shop-option__copy span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-20); }
.shop-radio { flex: none; width: 1.25rem; height: 1.25rem; box-sizing: border-box; border: 0.125rem solid var(--terme-color-border-default); border-radius: 50%; }
.shop-option[aria-checked='true'] .shop-radio { border-color: var(--terme-color-brand-ink); background: var(--terme-color-brand-ink); box-shadow: inset 0 0 0 0.25rem var(--terme-color-surface-canvas); }
.shop-price { display: flex; flex-direction: column; gap: var(--terme-spacing-6); margin: 0; padding: 0; list-style: none; font-size: var(--terme-font-size-14); }
.shop-price li { display: flex; justify-content: space-between; gap: var(--terme-spacing-16); color: var(--terme-color-brand-ink); }
.shop-price li.is-off { color: var(--terme-color-status-success); }
.shop-price li.is-total { margin-top: var(--terme-spacing-4); padding-top: var(--terme-spacing-8); border-top: 0.0625rem solid var(--terme-color-border-soft); font-weight: var(--terme-font-weight-bold); }
.shop-review { display: flex; flex-direction: column; gap: var(--terme-spacing-10); margin-top: var(--terme-spacing-12); }
.shop-review__facts { display: flex; flex-direction: column; gap: var(--terme-spacing-6); margin: 0; padding: var(--terme-spacing-14) var(--terme-spacing-16); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-canvas); }
.shop-review__facts > div { display: grid; grid-template-columns: 7.25rem minmax(0, 1fr); gap: var(--terme-spacing-12); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-20); }
.shop-review__facts dt { color: var(--terme-color-text-secondary); }
.shop-review__facts dd { margin: 0; color: var(--terme-color-brand-ink); overflow-wrap: anywhere; }
.shop-review__facts dd.is-ok { color: var(--terme-color-status-success); font-weight: var(--terme-font-weight-bold); }
.shop-review__facts > div.shop-review__more { grid-template-columns: minmax(0, 1fr); padding-left: calc(7.25rem + var(--terme-spacing-12)); color: var(--terme-color-text-secondary); }
.shop-legal-text { max-height: 16rem; overflow: auto; padding: var(--terme-spacing-12) var(--terme-spacing-14); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-20); white-space: pre-line; }
.shop-booker .shop-step-go { margin-top: var(--terme-spacing-4); }
.shop-booker__step > .shop-step-go { margin-top: var(--terme-spacing-14); }
.shop-booker p.shop-go-hint { margin: var(--terme-spacing-8) 0 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); text-align: center; }
.shop-booker .shop-ghost { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 3rem; border: 0.0625rem solid var(--terme-color-brand-ink); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-15) var(--terme-font-family-interface); cursor: pointer; }
.shop-booker .shop-ghost:disabled { opacity: 0.6; cursor: default; }
.vendor-landing .shop-booked h2.shop-booker__title { margin-bottom: var(--terme-spacing-6); }
.shop-facts-list { display: flex; flex-direction: column; gap: var(--terme-spacing-8); margin: var(--terme-spacing-16) 0; padding: var(--terme-spacing-16); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-canvas); }
.shop-facts-list > div { display: flex; justify-content: space-between; gap: var(--terme-spacing-16); font-size: var(--terme-font-size-14); }
.shop-facts-list dt { color: var(--terme-color-text-secondary); }
.shop-facts-list dd { margin: 0; color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-semibold); text-align: right; overflow-wrap: anywhere; }
.shop-cal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--terme-spacing-8); margin-top: var(--terme-spacing-8); }
.vendor-landing .shop-booker .shop-cal__link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--terme-spacing-6); min-height: 4.25rem; border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-13) var(--terme-font-family-interface); text-decoration: none; cursor: pointer; }
.shop-cal__link img, .shop-cal__link svg { width: 1.5rem; height: 1.5rem; }
.shop-booked__account { margin-top: var(--terme-spacing-20); padding-top: var(--terme-spacing-16); border-top: 0.0625rem solid var(--terme-color-border-soft); }
.vendor-landing__offer-tag.vendor-landing__offer-tag--aktion { margin-left: var(--terme-spacing-8); background: var(--terme-color-brand-accent-soft); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-brand-accent); }
.vendor-landing__offer-old { margin-right: var(--terme-spacing-4); color: var(--terme-color-text-secondary); font-weight: var(--terme-font-weight-semibold); }
/* Das Eichkatzerl (ADR 0067) over the sign-in tabs and over the Gebucht card's top edge. */
.shop-who__tabs { position: relative; margin-top: var(--terme-spacing-20); }
/* Room above the card, also when it is scrolled into view, so the sticky tabs never cover the squirrel. */
.shop-booked { position: relative; margin-top: 5rem; }
.vendor-landing .shop-booker.shop-booked { scroll-margin-top: calc(var(--vendor-header-edge, var(--terme-discovery-header-height)) + var(--vendor-tabs-height) + 5rem); }
.shop-booked > .sq-perch { --sq-w: 7.25rem; right: var(--terme-spacing-20); }
.shop-booker p.shop-booked__done { margin-top: var(--terme-spacing-20); padding-top: var(--terme-spacing-16); border-top: 0.0625rem solid var(--terme-color-border-soft); }
.shop-booker .shop-parts { margin: var(--terme-spacing-4) 0 0; }
.shop-stack > .shop-parts { margin: 0; }
@media (hover: hover) and (pointer: fine) {
  .shop-social:hover, .shop-option:not(:disabled):not([aria-checked='true']):hover, .vendor-landing .shop-booker .shop-cal__link:hover { border-color: var(--terme-color-brand-ink); }
}
.shop-intake { display: flex; flex-direction: column; gap: var(--terme-spacing-12); }
.shop-intake + .shop-intake { margin-top: var(--terme-spacing-8); padding-top: var(--terme-spacing-14); border-top: 0.0625rem solid var(--terme-color-border-soft); }
.shop-booker .shop-intake p.shop-sublabel { margin: 0; }
.shop-field textarea { box-sizing: border-box; width: 100%; min-height: 6rem; padding: var(--terme-spacing-10) var(--terme-spacing-14); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-field); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: var(--terme-font-size-15) / var(--terme-line-height-22) var(--terme-font-family-interface); resize: vertical; }
.shop-field input[aria-invalid='true'], .shop-field textarea[aria-invalid='true'] { border-color: var(--terme-color-status-danger); }
.shop-intake__choice { display: flex; flex-direction: column; gap: var(--terme-spacing-8); min-width: 0; margin: 0; padding: 0; border: 0; }
.shop-intake__choice legend, .shop-intake__label { margin-bottom: var(--terme-spacing-4); padding: 0; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-semibold); }
.shop-intake__choice legend span, .shop-intake__label span { color: var(--terme-color-text-secondary); font-weight: var(--terme-font-weight-regular); }
.shop-intake__choice .shop-check { font-size: var(--terme-font-size-14); }
.shop-booker p.shop-intake__error { margin: 0; color: var(--terme-color-status-danger); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-20); }
.shop-intake__info { display: flex; flex-direction: column; gap: var(--terme-spacing-4); padding: var(--terme-spacing-12) var(--terme-spacing-14); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.shop-intake__info span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
.shop-intake__signature { display: flex; flex-direction: column; gap: var(--terme-spacing-8); }
.shop-intake__statement span { white-space: pre-line; }
.shop-booker .shop-intake p.shop-intake__sub { margin-top: calc(-1 * var(--terme-spacing-8)); }
/* Date answers: a German face over the invisible native input. */
.shop-date { position: relative; display: flex; align-items: center; gap: var(--terme-spacing-10); box-sizing: border-box; width: 100%; min-height: 2.875rem; padding: 0 var(--terme-spacing-14); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-field); background: var(--terme-color-surface-raised); color: var(--terme-color-text-muted); font: var(--terme-font-size-15) var(--terme-font-family-interface); cursor: pointer; }
.shop-date.is-set { color: var(--terme-color-brand-ink); }
.shop-date svg { flex: none; width: 1.25rem; height: 1.25rem; color: var(--terme-color-text-secondary); }
.shop-booker .shop-field .shop-date input { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; }
.shop-date:focus-within { outline: 0.125rem solid var(--terme-color-brand-ink); outline-offset: 0.125rem; }
.shop-date:has(input[aria-invalid='true']) { border-color: var(--terme-color-status-danger); }
.shop-booker p.shop-intake__calc { margin: 0; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); }
.shop-intake__files { display: flex; flex-direction: column; gap: var(--terme-spacing-6); margin: 0; padding: 0; list-style: none; }
.shop-intake__files li { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-12); padding: var(--terme-spacing-8) var(--terme-spacing-12); border-radius: var(--terme-radius-field); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); overflow-wrap: anywhere; }
.shop-booker label.shop-intake__pick { position: relative; min-height: var(--terme-size-control-height); }
.shop-booker label.shop-intake__pick:focus-within { outline: 0.125rem solid var(--terme-color-brand-ink); outline-offset: 0.125rem; }
.shop-booker label.shop-intake__pick span { color: inherit; font-weight: inherit; }
.shop-booker label.shop-intake__pick.is-busy { opacity: 0.6; cursor: default; }
.shop-intake__file { position: absolute; width: 0.0625rem; height: 0.0625rem; overflow: hidden; opacity: 0; }
.vendor-landing__gallery-actions, .vendor-landing__identity-actions, .vendor-landing__open-badge, .vendor-landing__tab--phone, .shop-booking__bar-phone { display: none; }
dialog.shop-sheet:not([open]) { display: none; }
@media (width < 52.5rem) {
  .vendor-landing { --shop-phone-control: inset 0 0 0 0.0625rem var(--terme-color-border-control); --shop-phone-on-photo: 0 0.125rem 0.625rem -0.25rem color-mix(in srgb, var(--terme-color-brand-ink) 40%, transparent); display: flex; flex-direction: column; }
  .vendor-landing > .discovery-header, .vendor-landing > .vendor-landing__crumbs { display: none; }
  .vendor-landing__offers-layout, .vendor-landing__offers-columns, .vendor-landing__sidebar, .vendor-landing__sidebar-inner { display: contents; }
  .vendor-landing__offers-main, .vendor-landing__sidebar-inner > section { box-sizing: border-box; width: 100%; padding-inline: var(--terme-public-gutter); }
  .vendor-landing__offers-main { order: 1; padding-bottom: var(--terme-spacing-32); }
  .vendor-landing .vendor-landing__offers-heading { margin-bottom: 0; }
  .vendor-landing .shop-booking > section.shop-booker { order: 1; margin-inline: var(--terme-public-gutter); }
  .vendor-landing__team { order: 2; }
  .vendor-landing__reviews { order: 3; }
  .vendor-landing__sidebar-inner > #weekly-hours { order: 4; padding-bottom: var(--terme-spacing-32); }
  .vendor-landing__sidebar-inner > section:not(#weekly-hours) { order: 5; padding-bottom: var(--terme-spacing-32); }
  .vendor-landing__know { order: 6; }
  .vendor-landing__sponsored { order: 7; }
  .vendor-landing__imprint { order: 8; }

  /* Full-bleed photo with back, share and the photo count (board N05). */
  .vendor-landing .vendor-landing__gallery { position: relative; margin: 0; padding: 0; }
  .vendor-landing .vendor-landing__gallery .vendor-landing__gallery-mosaic { display: flex; gap: 0; height: 17.5rem; aspect-ratio: auto; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .vendor-landing .vendor-landing__gallery .vendor-landing__gallery-photo { flex: 0 0 100%; height: 100%; aspect-ratio: auto; border-radius: 0; scroll-snap-align: start; }
  .vendor-landing .vendor-landing__gallery-empty { aspect-ratio: auto; height: 12rem; border-radius: 0; }
  .vendor-landing__gallery-more { display: none; }
  .vendor-landing__gallery-actions { position: absolute; top: calc(var(--terme-spacing-12) + env(safe-area-inset-top)); left: var(--terme-spacing-12); right: var(--terme-spacing-12); z-index: var(--terme-z-index-raised); display: flex; justify-content: space-between; pointer-events: none; }
  .vendor-landing__photo-square { display: grid; place-items: center; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); border-radius: var(--terme-radius-md); background: color-mix(in srgb, var(--terme-color-surface-raised) 92%, transparent); color: var(--terme-color-brand-ink); box-shadow: var(--shop-phone-on-photo); pointer-events: auto; }
  .vendor-landing__photo-square svg { width: 1.375rem; height: 1.375rem; }
  .vendor-landing .vendor-landing__gallery-count { display: block; position: absolute; z-index: var(--terme-z-index-raised); top: auto; bottom: 1.875rem; right: var(--terme-spacing-12); padding: var(--terme-spacing-2) var(--terme-spacing-8); border-radius: var(--terme-radius-sm); background: color-mix(in srgb, var(--terme-color-brand-ink) 78%, transparent); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-18); }

  /* The white identity sheet over the photo. */
  .vendor-landing .vendor-landing__identity-section { width: 100%; max-width: none; margin: -1.125rem 0 0; padding: var(--terme-spacing-16) var(--terme-public-gutter) var(--terme-spacing-8); border-radius: var(--terme-radius-lg) var(--terme-radius-lg) 0 0; box-shadow: none; }
  .vendor-landing p.vendor-landing__identity-kicker { margin-bottom: var(--terme-spacing-4); font-size: var(--terme-font-size-12); line-height: var(--terme-line-height-16); }
  .vendor-landing .vendor-landing__identity-section h1.vendor-landing__title { margin-bottom: var(--terme-spacing-8); font-size: var(--terme-font-size-24); line-height: var(--terme-line-height-30, 1.25); }
  .vendor-landing .vendor-landing__identity-section p.vendor-landing__identity-lead { display: none; }
  .vendor-landing .vendor-landing__facts { gap: 0; margin-top: 0; }
  .vendor-landing .vendor-landing__fact { min-height: 1.875rem; padding-block: var(--terme-spacing-4); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
  .vendor-landing__open-badge { display: inline-flex; align-items: center; height: 1.375rem; margin-left: var(--terme-spacing-4); padding: 0 var(--terme-spacing-8); border-radius: var(--terme-radius-xs); background: var(--terme-color-status-success-soft); color: var(--terme-color-status-success); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); }
  .vendor-landing__identity-actions { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; gap: var(--terme-spacing-8); margin-top: var(--terme-spacing-12); }
  .vendor-landing .vendor-landing__identity-action { display: inline-flex; align-items: center; justify-content: center; gap: var(--terme-spacing-8); height: var(--terme-size-touch-target); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); box-shadow: var(--shop-phone-control); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); text-decoration: none; }
  .vendor-landing__identity-action svg { width: 1.125rem; height: 1.125rem; }

  /* Underline tabs, Info only here. */
  .vendor-landing .vendor-landing__tabs { top: 0; margin-bottom: var(--terme-spacing-16); }
  .vendor-landing__tab--phone { display: flex; }
  /* Board F1: orange only for actions and selections; the tab line is ink. */
  .vendor-landing .vendor-landing__tab[aria-current] { box-shadow: inset 0 -0.1875rem 0 var(--terme-color-brand-ink); }
  .vendor-landing .vendor-landing__tabs-inner { gap: var(--terme-spacing-24); }
  .vendor-landing .vendor-landing__tab:first-child { margin-left: 0; }
  .vendor-landing .vendor-landing__tab:last-child { margin-right: 0; }

  /* Services: name and minutes, price and `Wählen`. */
  /* Board F7: section titles 18/24, rows 15/20 with 13/18 facts. */
  .vendor-landing .vendor-landing__offers h2.vendor-landing__title { margin-bottom: var(--terme-spacing-16); font-size: var(--terme-font-size-18); line-height: var(--terme-line-height-24); }
  .vendor-landing .vendor-landing__offer-name { font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); }
  .vendor-landing .vendor-landing__offer-duration { font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
  .vendor-landing__offer-pick { grid-area: pick; }
  .vendor-landing .vendor-landing__offer-description { line-height: var(--terme-line-height-18); }
  .vendor-landing .vendor-landing__service-group { border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
  .vendor-landing .vendor-landing__service-group-summary { min-height: 3rem; padding: var(--terme-spacing-8) 0; }
  .vendor-landing .vendor-landing__service-group-items { padding: 0; }
  .vendor-landing .vendor-landing__offer.vendor-landing__offer--selected { background: transparent; }
  .vendor-landing .vendor-landing__offer { width: 100%; margin: 0; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "copy price pick" "dur price pick" "save save save"; gap: 0 var(--terme-spacing-12); padding: var(--terme-spacing-12) 0; border-bottom: 0.0625rem solid var(--terme-color-border-hairline); border-radius: 0; }
  .vendor-landing .vendor-landing__offer-copy { grid-area: copy; }
  .vendor-landing .vendor-landing__offer-facts { display: contents; }
  .vendor-landing .vendor-landing__offer-price { grid-area: price; font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-extrabold); line-height: var(--terme-line-height-22); }
  .vendor-landing .vendor-landing__offer-duration { grid-area: dur; justify-self: start; }
  .vendor-landing .vendor-landing__offer-duration svg { display: none; }
  .vendor-landing .vendor-landing__offer-saving { grid-area: save; }
  .vendor-landing .vendor-landing__offer-description { display: -webkit-box; overflow: hidden; font-size: var(--terme-font-size-13); -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
  /* A package: price and Wählen beside its name, the parts below across the row (V-066). */
  .vendor-landing .vendor-landing__offer--package { grid-template-areas: "copy price pick" "parts parts parts" "desc desc desc" "dur dur dur" "save save save"; }
  .vendor-landing .vendor-landing__offer--package .vendor-landing__offer-copy { display: contents; }
  .vendor-landing .vendor-landing__offer--package .vendor-landing__offer-name { grid-area: copy; }
  .vendor-landing .vendor-landing__offer--package .vendor-landing__offer-parts { grid-area: parts; flex-direction: column; align-items: flex-start; }
  .vendor-landing .vendor-landing__offer--package .vendor-landing__offer-parts span { white-space: nowrap; }
  .vendor-landing .vendor-landing__offer--package .vendor-landing__offer-description { grid-area: desc; }

  /* Team as a row of avatars. */
  .vendor-landing .vendor-landing__section.vendor-landing__team { margin: 0; padding: 0 0 var(--terme-spacing-32); background: transparent; }
  .vendor-landing .vendor-landing__team .vendor-landing__section-inner { padding-inline: var(--terme-public-gutter); }
  .vendor-landing .vendor-landing__team h2.vendor-landing__title { margin-bottom: var(--terme-spacing-12); font-size: var(--terme-font-size-18); line-height: var(--terme-line-height-24); text-align: left; }
  .vendor-landing .vendor-landing__team-list { flex-wrap: nowrap; justify-content: flex-start; gap: var(--terme-spacing-12); margin: 0 calc(-1 * var(--terme-public-gutter)); padding: var(--terme-spacing-4) var(--terme-public-gutter); overflow-x: auto; scrollbar-width: none; }
  .vendor-landing .vendor-landing__team-person { flex: none; width: 4rem; }
  .vendor-landing .vendor-landing__team-person img, .vendor-landing .vendor-landing__team-image-placeholder { width: 3.5rem; height: 3.5rem; margin-bottom: var(--terme-spacing-4); box-shadow: none; font-size: var(--terme-font-size-18); }
  .vendor-landing .vendor-landing__team-person > strong { font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
  .vendor-landing .vendor-landing__reviews h2.vendor-landing__title, .vendor-landing #weekly-hours h2.vendor-landing__title, .vendor-landing .vendor-landing__know h2.vendor-landing__title { margin-bottom: var(--terme-spacing-12); font-size: var(--terme-font-size-18); line-height: var(--terme-line-height-24); }

  /* Gut zu wissen with the Impressum row and the contract line. */

  /* Sticky bar: lowest price, offers and payment, orange Termin buchen. */
  .vendor-landing:has(.vendor-landing__booking-summary) { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
  .vendor-landing .vendor-landing__booking-summary { padding: var(--terme-spacing-12) var(--terme-spacing-16) calc(var(--terme-spacing-12) + env(safe-area-inset-bottom)); box-shadow: 0 -0.0625rem 0 var(--terme-color-border-overlay); }
  .vendor-landing .shop-booking__bar-inner { display: none; }
  .shop-booking__bar-phone { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-12); }
  .shop-booking__bar-phone-copy { display: flex; flex-direction: column; min-width: 0; }
  .shop-booking__bar-phone-copy strong { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-18); line-height: var(--terme-line-height-24); }
  .shop-booking__bar-phone-copy span { overflow: hidden; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); text-overflow: ellipsis; white-space: nowrap; }
  .vendor-landing .shop-booking__bar-book { display: inline-flex; flex: none; align-items: center; justify-content: center; height: 3rem; padding: 0 var(--terme-spacing-24); border: 0; border-radius: var(--terme-radius-md); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font: var(--terme-font-weight-bold) var(--terme-font-size-16) var(--terme-font-family-interface); text-decoration: none; cursor: pointer; }
  .vendor-landing .shop-booking__bar-book:active { background: var(--terme-color-brand-accent-hover); }
}
/* Once scripts run, the steps open as a sheet from the bar; without them the
   bar's link shows the inline card (`#booking`). */
@media (scripting: enabled) and (width < 52.5rem) {
  .vendor-landing .shop-booking:not([data-shop-booking-step='unavailable']) > section.shop-booker:not(:target) { display: none; }
}
@media (width < 52.5rem) {
  html:has(dialog.shop-sheet[open]) { overflow: hidden; }
  dialog.shop-sheet { --shop-sheet-shadow: 0 -0.75rem 2.5rem -1rem color-mix(in srgb, var(--terme-color-brand-ink) 40%, transparent); position: fixed; inset: auto 0 0 0; box-sizing: border-box; display: flex; flex-direction: column; width: 100%; max-width: none; height: auto; max-height: calc(100dvh - 2.5rem); margin: 0; padding: 0; border: 0; border-radius: var(--terme-radius-lg) var(--terme-radius-lg) 0 0; background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); box-shadow: var(--shop-sheet-shadow); overflow: hidden; font-family: var(--terme-font-family-interface); }
  dialog.shop-sheet::backdrop { background: color-mix(in srgb, var(--terme-color-brand-ink) 42%, transparent); }
  dialog.shop-sheet[data-step='time'] { height: calc(100dvh - 2.5rem); }
  /* Board F5: Leistung wählen is only as tall as its list. */
  dialog.shop-sheet[data-step='service'] { height: auto; }
  .shop-sheet__grabber { flex: none; align-self: center; width: 2.25rem; height: 0.3125rem; margin-top: var(--terme-spacing-8); border-radius: var(--terme-radius-pill); background: var(--terme-color-border-control); }
  .shop-sheet__head { flex: none; padding: var(--terme-spacing-8) var(--terme-spacing-12) var(--terme-spacing-12) var(--terme-spacing-20); }
  .shop-sheet__head-row { display: flex; align-items: flex-start; gap: var(--terme-spacing-8); }
  .shop-sheet__titles { min-width: 0; padding-top: var(--terme-spacing-4); padding-right: var(--terme-spacing-8); }
  /* Board F5/F6: three 4 px segments with 12 px labels under the grabber. */
  .shop-sheet__progress { display: flex; flex: 1 1 auto; gap: var(--terme-spacing-6); min-width: 0; padding-top: var(--terme-spacing-4); }
  .shop-sheet__progress-step { flex: 1 1 0; min-width: 0; padding-top: var(--terme-spacing-10); background: linear-gradient(var(--terme-color-surface-track), var(--terme-color-surface-track)) top / 100% 0.25rem no-repeat; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-16); }
  .shop-sheet__progress-step.is-done { background-image: linear-gradient(var(--terme-color-brand-ink), var(--terme-color-brand-ink)); color: var(--terme-color-brand-ink); }
  .shop-sheet__progress-step.is-current { font-weight: var(--terme-font-weight-extrabold); }
  .shop-sheet__titles h2 { margin: 0; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-20); font-weight: var(--terme-font-weight-extrabold); line-height: var(--terme-line-height-26); outline: none; }
  .vendor-landing p.shop-sheet__sub { margin: var(--terme-spacing-2) 0 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-20); }
  .shop-sheet__icon { display: grid; flex: none; place-items: center; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); padding: 0; border: 0; border-radius: var(--terme-radius-field); background: var(--terme-color-surface-track); color: var(--terme-color-brand-ink); cursor: pointer; }
  .shop-sheet__icon--close { margin-left: auto; }
  .shop-sheet__icon--back { margin-left: calc(-1 * var(--terme-spacing-12)); background: transparent; }
  .shop-sheet__icon--back + .shop-sheet__progress { margin-left: calc(-1 * var(--terme-spacing-4)); }

  /* Leistung wählen (board F5): shop row, category chips, grouped rows. */
  .shop-sheet__shop { display: flex; align-items: center; gap: var(--terme-spacing-10); margin-top: var(--terme-spacing-10); }
  .shop-sheet__shop img { flex: none; width: 2.25rem; height: 2.25rem; border-radius: var(--terme-radius-sm); object-fit: cover; }
  .shop-sheet__shop-copy { display: flex; flex-direction: column; min-width: 0; }
  .shop-sheet__shop-copy strong { overflow: hidden; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); text-overflow: ellipsis; white-space: nowrap; }
  .shop-sheet__shop-copy span { display: flex; align-items: center; gap: var(--terme-spacing-2); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); white-space: pre; }
  .shop-sheet__shop-copy b { color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); }
  .shop-sheet__star { width: 0.875rem; height: 0.875rem; color: var(--terme-color-brand-accent); }
  .shop-sheet__body--service { padding: 0 0 var(--terme-spacing-24); }
  .shop-sheet__filters { display: flex; gap: var(--terme-spacing-8); padding: var(--terme-spacing-2) var(--terme-spacing-20) var(--terme-spacing-4); overflow-x: auto; scrollbar-width: none; }
  .shop-sheet__filter { display: inline-flex; flex: none; align-items: center; gap: var(--terme-spacing-6); min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-14); border: 0; border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); box-shadow: var(--shop-phone-control); color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-14) / var(--terme-line-height-20) var(--terme-font-family-interface); white-space: nowrap; cursor: pointer; }
  .shop-sheet__filter span { color: var(--terme-color-text-secondary); font-weight: var(--terme-font-weight-semibold); font-variant-numeric: tabular-nums; }
  .shop-sheet__filter[aria-pressed='true'] { background: var(--terme-color-brand-ink); box-shadow: none; color: var(--terme-color-text-on-accent); }
  .shop-sheet__filter[aria-pressed='true'] span { color: var(--terme-color-on-dark-text); }
  .vendor-landing .shop-sheet p.shop-sheet__group-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--terme-spacing-12); margin: 0; padding: var(--terme-spacing-16) var(--terme-spacing-20) var(--terme-spacing-4); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); font-variant-numeric: tabular-nums; }
  .shop-sheet__group-head span:first-child { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-extrabold); line-height: var(--terme-line-height-22); }
  .shop-sheet__pick-go { flex: none; display: inline-flex; align-items: center; height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-14); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-border-control); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
  .shop-sheet__pick[aria-current='true'] .shop-sheet__pick-go { box-shadow: inset 0 0 0 0.09375rem var(--terme-color-brand-accent); background: var(--terme-color-brand-accent-selected); }
  .shop-sheet__pick { display: flex; align-items: center; gap: var(--terme-spacing-12); box-sizing: border-box; width: 100%; min-height: 4.25rem; padding: var(--terme-spacing-10) var(--terme-spacing-12) var(--terme-spacing-10) var(--terme-spacing-20); border: 0; border-bottom: 0.0625rem solid var(--terme-color-border-hairline); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-interface); text-align: left; cursor: pointer; }
  .shop-sheet__group .shop-sheet__pick:last-child { border-bottom: 0; }
  .shop-sheet__pick[aria-current='true'] { background: var(--terme-color-surface-selected-row); }
  .shop-sheet__pick:active { background: var(--terme-color-surface-hover); }
  .shop-sheet__pick:focus-visible { outline: var(--terme-size-focus-ring-width) solid var(--terme-color-brand-accent); outline-offset: calc(-1 * var(--terme-size-focus-ring-width)); }
  .shop-sheet__pick-copy { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
  .shop-sheet__pick-copy strong { display: -webkit-box; overflow: hidden; font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
  .shop-sheet__pick-facts { display: flex; align-items: center; gap: var(--terme-spacing-8); margin-top: 0.1875rem; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); font-variant-numeric: tabular-nums; }
  .shop-sheet__pick-bar { flex: none; width: 2.75rem; height: 0.25rem; border-radius: 0.125rem; background: linear-gradient(var(--terme-color-neutral-quiet), var(--terme-color-neutral-quiet)) left / var(--pick-share, 50%) 100% no-repeat, var(--terme-color-surface-track); }
  .shop-sheet__pick-price { flex: none; font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-extrabold); line-height: var(--terme-line-height-22); font-variant-numeric: tabular-nums; }

  /* Termin wählen (board F6): chosen service, portraits, week, parts. */
  .shop-sheet__chosen { display: flex; align-items: center; gap: var(--terme-spacing-10); margin-bottom: var(--terme-spacing-16); padding: var(--terme-spacing-10) var(--terme-spacing-4) var(--terme-spacing-10) var(--terme-spacing-12); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-customer-canvas); list-style: none; }
  .shop-sheet__chosen-copy { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
  .shop-sheet__chosen-copy strong { overflow: hidden; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); text-overflow: ellipsis; white-space: nowrap; }
  .shop-sheet__chosen-copy span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); font-variant-numeric: tabular-nums; }
  .shop-sheet__change { flex: none; min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-8); border: 0; border-radius: var(--terme-radius-sm); background: transparent; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-bold) var(--terme-font-size-14) var(--terme-font-family-interface); text-decoration: underline; text-underline-offset: 0.1875rem; cursor: pointer; }
  .shop-sheet__when { display: flex; align-items: center; justify-content: space-between; gap: var(--terme-spacing-8); margin: 0 calc(-1 * var(--terme-spacing-8)) var(--terme-spacing-6) 0; }
  .shop-sheet__week-nav { display: flex; align-items: center; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); font-variant-numeric: tabular-nums; }
  .shop-sheet__week-arrow { display: grid; place-items: center; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); padding: 0; border: 0; border-radius: var(--terme-radius-md); background: transparent; color: var(--terme-color-brand-ink); cursor: pointer; }
  .shop-sheet__week-arrow svg { width: 1.25rem; height: 1.25rem; }
  .shop-sheet__week-arrow:disabled { color: var(--terme-color-neutral-quiet); cursor: default; }
  .shop-sheet__week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--terme-spacing-2); margin: 0 calc(-1 * var(--terme-spacing-6)) var(--terme-spacing-14); }
  .shop-sheet__day { display: flex; flex-direction: column; align-items: center; gap: var(--terme-spacing-2); min-width: 0; height: 4rem; padding: 0.4375rem 0 0; border: 0; border-radius: var(--terme-radius-md); background: transparent; color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-interface); font-variant-numeric: tabular-nums; cursor: pointer; }
  .shop-sheet__day small { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-16); }
  .shop-sheet__day strong { color: inherit; font-size: var(--terme-font-size-18); font-weight: var(--terme-font-weight-extrabold); line-height: var(--terme-line-height-22); }
  .shop-sheet__day-dot { width: 0.3125rem; height: 0.3125rem; border-radius: var(--terme-radius-pill); }
  .shop-sheet__day.has-times .shop-sheet__day-dot { background: var(--terme-color-status-success); }
  .shop-sheet__day.is-empty, .shop-sheet__day.is-empty small { color: var(--terme-color-neutral-quiet); }
  .shop-sheet__day:disabled { cursor: default; }
  .shop-sheet__day[aria-pressed='true'] { background: var(--terme-color-brand-accent-selected); box-shadow: inset 0 0 0 0.09375rem var(--terme-color-brand-accent); }
  .shop-sheet__day:focus-visible, .shop-sheet__week-arrow:focus-visible, .shop-sheet__part:focus-visible, .shop-sheet__filter:focus-visible, .shop-sheet__change:focus-visible { outline: var(--terme-size-focus-ring-width) solid var(--terme-color-brand-accent); outline-offset: var(--terme-size-focus-ring-offset); }
  .shop-sheet__parts { display: flex; gap: var(--terme-spacing-2); padding: 0.1875rem; border-radius: var(--terme-radius-md); background: var(--terme-color-surface-track); }
  .shop-sheet__part { display: flex; flex: 1 1 0; align-items: center; justify-content: center; gap: var(--terme-spacing-6); min-width: 0; min-height: 2.25rem; padding: 0 var(--terme-spacing-4); border: 0; border-radius: 0.5625rem; background: transparent; color: var(--terme-color-brand-ink); font: var(--terme-font-weight-semibold) var(--terme-font-size-14) / var(--terme-line-height-20) var(--terme-font-family-interface); white-space: nowrap; cursor: pointer; }
  .shop-sheet__part span { color: var(--terme-color-text-secondary); font-variant-numeric: tabular-nums; }
  .shop-sheet__part[aria-pressed='true'] { background: var(--terme-color-surface-raised); box-shadow: var(--terme-shadow-soft); font-weight: var(--terme-font-weight-extrabold); }
  .shop-sheet__part:disabled, .shop-sheet__part:disabled span { color: var(--terme-color-neutral-quiet); cursor: default; }
  .shop-sheet .shop-booker__slots > .shop-booker__grid { margin-top: var(--terme-spacing-12); }
  .shop-sheet__icon svg { width: 1.375rem; height: 1.375rem; }
  .shop-sheet__body { flex: 1 1 auto; min-height: 0; padding: 0 var(--terme-spacing-20) var(--terme-spacing-20); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
  .shop-sheet__foot { flex: none; display: flex; align-items: center; gap: var(--terme-spacing-12); padding: var(--terme-spacing-12) var(--terme-spacing-16) calc(var(--terme-spacing-12) + env(safe-area-inset-bottom)); box-shadow: 0 -0.0625rem 0 var(--terme-color-border-overlay); }
  .shop-sheet__summary { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
  .shop-sheet__summary strong { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-22); }
  .shop-sheet .shop-booker__go { flex: none; }
  .vendor-landing .shop-sheet .shop-booker__button, .vendor-landing .shop-sheet .shop-step-go { width: auto; min-width: 7.5rem; min-height: 3.25rem; padding: 0 var(--terme-spacing-24); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); }
  .vendor-landing .shop-sheet .shop-booker__button[disabled] { background: var(--terme-color-border-default); color: var(--terme-color-brand-ink); }
  .vendor-landing .shop-sheet .shop-step-go { position: sticky; bottom: 0; width: 100%; margin-top: var(--terme-spacing-16); box-shadow: 0 0 0 var(--terme-spacing-12) var(--terme-color-surface-raised); }
  .vendor-landing .shop-sheet p.shop-sheet__party { margin: var(--terme-spacing-16) 0 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); line-height: var(--terme-line-height-17); }

  /* Steps inside the sheet: no numbers; the sheet title names the step. */
  .shop-sheet .shop-booker__num, .shop-sheet #booking-step-who > .shop-booker__head, .shop-sheet #booking-step-intake > .shop-booker__head, .shop-sheet #booking-step-review > .shop-booker__head { display: none; }
  .shop-sheet .shop-booker__step { padding: 0 0 var(--terme-spacing-16); border: 0; }
  .shop-sheet .shop-booker__head { margin-bottom: var(--terme-spacing-10); }
  .shop-sheet .shop-booker__label { font-size: var(--terme-font-size-15); }
  .shop-sheet .shop-booker__chips { flex-wrap: nowrap; gap: var(--terme-spacing-6); margin: 0 calc(-1 * var(--terme-spacing-20)); padding: var(--terme-spacing-4) var(--terme-spacing-14) var(--terme-spacing-2); overflow-x: auto; scrollbar-width: none; }
  .shop-sheet .shop-booker__chip { flex: none; flex-direction: column; gap: var(--terme-spacing-6); width: 4rem; min-height: 0; padding: var(--terme-spacing-4) 0 0; border: 0; border-radius: var(--terme-radius-md); background: transparent; box-shadow: none; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-18); }
  .shop-sheet .shop-booker__chip img, .shop-sheet .shop-booker__any { width: 3.25rem; height: 3.25rem; }
  .shop-sheet .shop-booker__any { background: var(--terme-color-surface-track); color: var(--terme-color-brand-ink); }
  .shop-sheet .shop-booker__any svg { width: 1.5rem; height: 1.5rem; }
  .shop-sheet .shop-booker__chip[aria-checked='true'] { background: transparent; box-shadow: none; font-weight: var(--terme-font-weight-extrabold); }
  .shop-sheet .shop-booker__chip[aria-checked='true'] img, .shop-sheet .shop-booker__chip[aria-checked='true'] .shop-booker__any { box-shadow: 0 0 0 0.125rem var(--terme-color-surface-raised), 0 0 0 0.25rem var(--terme-color-brand-accent); }
  .shop-sheet .shop-booker__chip:focus-visible { outline: var(--terme-size-focus-ring-width) solid var(--terme-color-brand-accent); outline-offset: 0; }
  .shop-sheet .shop-booker__grid { gap: var(--terme-spacing-8); }
  .shop-sheet .shop-booker__slot { min-height: var(--terme-size-touch-target); border: 0; border-radius: var(--terme-radius-sm); box-shadow: var(--shop-phone-control); font-size: var(--terme-font-size-15); }
  .shop-sheet .shop-booker__slot[aria-pressed='true'] { background: var(--terme-color-brand-accent-selected); box-shadow: inset 0 0 0 0.09375rem var(--terme-color-brand-accent); font-weight: var(--terme-font-weight-bold); }
  .shop-sheet__pay { margin: var(--terme-spacing-16) 0; }

  /* Gebucht (board N09). */
  .shop-sheet__booked { display: flex; flex-direction: column; align-items: center; gap: var(--terme-spacing-8); padding-top: var(--terme-spacing-24); text-align: center; }
  .shop-sheet__booked-mark { display: grid; place-items: center; width: 4.75rem; height: 4.75rem; border-radius: 50%; background: var(--terme-color-status-success-soft); }
  .shop-sheet__booked-mark svg { box-sizing: border-box; width: 3.25rem; height: 3.25rem; padding: var(--terme-spacing-12); border-radius: 50%; background: var(--terme-color-status-success); color: var(--terme-color-text-on-accent); }
  .vendor-landing .shop-sheet p.shop-sheet__booked-title { margin: var(--terme-spacing-8) 0 0; color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-display); font-size: var(--terme-font-size-48); line-height: 1; text-transform: uppercase; }
  .vendor-landing .shop-sheet p.shop-sheet__booked-when { margin: var(--terme-spacing-8) 0 0; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-18); font-weight: var(--terme-font-weight-bold); }
  .vendor-landing .shop-sheet p.shop-sheet__booked-fine { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-22); }
  .shop-sheet__booked .shop-booked__account { width: 100%; margin-top: var(--terme-spacing-16); text-align: left; }
  /* Das Eichkatzerl over the sheet's top edge (Wer bucht?, Gebucht), as in the app. */
  dialog.shop-sheet:has(> .sq-perch) { overflow: visible; max-height: calc(100dvh - 7rem); }
  .shop-sheet .shop-who__tabs { margin-top: 0; }
  dialog.shop-sheet > .sq-perch { --sq-w: 7.25rem; right: var(--terme-spacing-12); }
  .shop-sheet__foot--booked > * { flex: 1 1 0; }
  .shop-sheet__secondary, .shop-sheet__primary { display: inline-flex; align-items: center; justify-content: center; gap: var(--terme-spacing-8); box-sizing: border-box; height: 3.25rem; border: 0; border-radius: var(--terme-radius-md); font: var(--terme-font-weight-bold) var(--terme-font-size-16) var(--terme-font-family-interface); text-decoration: none; cursor: pointer; }
  .shop-sheet__secondary { background: var(--terme-color-surface-raised); box-shadow: var(--shop-phone-control); color: var(--terme-color-brand-ink); }
  .shop-sheet__secondary svg { width: 1.25rem; height: 1.25rem; }
  .vendor-landing .shop-sheet__primary { font-size: var(--terme-font-size-16); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); }
}
.legal-page { --legal-page-padding: 3.5rem; --legal-sticky-top: calc(var(--terme-discovery-header-height) + 1rem); min-height: 70vh; padding: var(--terme-spacing-40) var(--terme-public-gutter) var(--legal-page-padding); background: var(--terme-color-surface-canvas); color: var(--terme-color-text-primary); font-family: var(--terme-font-family-interface); }
.legal-page__wrap { box-sizing: border-box; width: 100%; max-width: 47.5rem; margin-inline: auto; }
.legal-page__wrap--medium { max-width: 62.5rem; }
.legal-page__wrap--wide { max-width: 75rem; }
.legal-page__breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-8); margin-bottom: var(--terme-spacing-14); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.legal-page a { color: var(--terme-color-brand-ink); text-decoration: underline; text-decoration-thickness: 0.0625rem; text-underline-offset: 0.1875rem; }
.legal-page a:hover { color: var(--terme-color-text-secondary); }
.legal-doc-page, .legal-imprint { display: flex; flex-direction: column; gap: var(--terme-spacing-24); }
.legal-head { display: flex; flex-direction: column; gap: var(--terme-spacing-14); }
.legal-head__title { margin: 0; color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-interface); font-size: var(--terme-font-size-40); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-48); letter-spacing: var(--terme-font-tracking-tight); hyphens: auto; overflow-wrap: break-word; }
.legal-head__lead { max-width: 45rem; margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-26); }
.legal-head__subtitle { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-22); }
.legal-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-8) var(--terme-spacing-12); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.legal-meta__tools { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-8) var(--terme-spacing-12); }
.legal-meta__versions { display: inline-flex; align-items: center; gap: var(--terme-spacing-8); }
.legal-meta__select { min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-10); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-sm); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: inherit; cursor: pointer; }
.legal-meta__link { display: inline-flex; align-items: center; min-height: var(--terme-size-touch-target); }
.legal-meta__print { display: inline-flex; align-items: center; gap: var(--terme-spacing-8); min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-12); border: 0; border-radius: var(--terme-radius-md); background: none; color: var(--terme-color-brand-ink); font: inherit; font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-semibold); text-decoration: underline; text-underline-offset: 0.1875rem; cursor: pointer; }
.legal-meta__print:hover { background: var(--terme-color-border-soft); }
.legal-meta__print[hidden] { display: none; }
.legal-meta__print svg { width: 1.125rem; height: 1.125rem; }
.legal-chip { display: inline-flex; align-items: center; gap: var(--terme-spacing-6); padding: var(--terme-spacing-4) var(--terme-spacing-10); border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-accent-soft); color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); }
.legal-chip svg { flex: none; width: 1rem; height: 1rem; color: var(--terme-color-brand-accent-hover); }
.legal-chip--vendors { background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); }
.legal-chip--vendors svg { color: var(--terme-color-brand-accent-medium); }
.legal-chip--all { background: var(--terme-color-border-soft); }
.legal-chip--all svg { color: var(--terme-color-text-secondary); }
.legal-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--terme-spacing-8); box-sizing: border-box; min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-20); border: 0.0625rem solid transparent; border-radius: var(--terme-radius-md); font: inherit; font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-20); text-decoration: none; cursor: pointer; }
.legal-page a.legal-btn { text-decoration: none; }
.legal-btn svg { flex: none; width: 1.25rem; height: 1.25rem; }
.legal-page .legal-btn--ink { background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); }
.legal-page .legal-btn--ink:hover { background: var(--terme-color-brand-ink-hover); color: var(--terme-color-text-on-accent); }
.legal-page .legal-btn--line { border-color: var(--terme-color-border-default); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); }
.legal-page .legal-btn--line:hover { background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); }
.legal-link { font-weight: var(--terme-font-weight-bold); }
.legal-notice { --legal-notice-padding: 1.125rem; display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--terme-spacing-16); padding: var(--legal-notice-padding) var(--terme-spacing-20); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-lg); background: var(--terme-color-status-info-soft); color: var(--terme-color-brand-ink); }
.legal-notice--upcoming { border-color: var(--terme-color-status-warning-border); background: var(--terme-color-status-warning-soft); }
.legal-notice__icon { display: inline-flex; color: var(--terme-color-status-warning); }
.legal-notice__icon svg { width: 1.5rem; height: 1.5rem; }
.legal-notice__copy { display: flex; flex: 1 1 26rem; flex-direction: column; gap: var(--terme-spacing-4); min-width: 0; }
.legal-notice__copy strong { font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-22); }
.legal-notice__copy p { margin: 0; font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-22); }
.legal-notice__actions { display: flex; flex-wrap: wrap; gap: var(--terme-spacing-8); }
.legal-card { box-sizing: border-box; border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); }
.legal-layout { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--terme-spacing-32); }
.legal-doc { box-sizing: border-box; flex: 999 1 35rem; min-width: 0; max-width: 47.5rem; padding: var(--terme-spacing-32) var(--terme-spacing-40) var(--terme-spacing-40); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); }
.legal-page__wrap--medium .legal-doc { max-width: none; }
.legal-toc { position: sticky; top: var(--legal-sticky-top); box-sizing: border-box; display: none; flex: 1 1 15rem; max-width: 17.5rem; max-height: calc(100vh - var(--legal-sticky-top) - 1rem); overflow-y: auto; padding: var(--terme-spacing-16) var(--terme-spacing-8); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-lg); background: var(--terme-color-surface-raised); }
.legal-toc__title { margin: 0; padding: 0 var(--terme-spacing-12) var(--terme-spacing-8); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-14); letter-spacing: var(--terme-font-tracking-eyebrow); text-transform: uppercase; }
.legal-toc ol, .legal-toc-mobile ol { display: flex; flex-direction: column; gap: var(--terme-spacing-2); margin: 0; padding: 0; list-style: none; }
.legal-toc a { display: block; padding: var(--terme-spacing-6) var(--terme-spacing-12); border-radius: var(--terme-radius-sm); color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); text-decoration: none; }
.legal-toc a:hover { background: var(--terme-color-border-soft); color: var(--terme-color-brand-ink); }
.legal-page .legal-toc a.is-current, .legal-page .legal-toc-mobile a.is-current { background: var(--terme-color-brand-accent-selected); color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); }
.legal-page--vendors .legal-toc a.is-current, .legal-page--vendors .legal-toc-mobile a.is-current { background: var(--terme-color-border-soft); }
.legal-toc-mobile { padding: 0 var(--terme-spacing-14); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); }
.legal-toc-mobile summary { display: flex; align-items: center; justify-content: space-between; min-height: 3rem; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); list-style: none; cursor: pointer; }
.legal-toc-mobile summary::-webkit-details-marker { display: none; }
.legal-toc-mobile__chevron { width: 1.5rem; height: 1.5rem; color: var(--terme-color-text-secondary); transition: transform var(--terme-motion-duration-state) ease-out; }
.legal-toc-mobile[open] .legal-toc-mobile__chevron { transform: rotate(180deg); }
.legal-toc-mobile ol { padding-bottom: var(--terme-spacing-12); }
.legal-toc-mobile a { display: flex; align-items: center; min-height: var(--terme-size-touch-target); padding: 0 var(--terme-spacing-8); border-radius: var(--terme-radius-sm); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); text-decoration: none; }
.legal-doc__summary { margin-bottom: var(--terme-spacing-8); padding: var(--terme-spacing-20) var(--terme-spacing-24); border-radius: var(--terme-radius-lg); background: var(--terme-color-brand-accent-soft); }
.legal-page--vendors .legal-doc__summary { background: var(--terme-color-border-soft); }
.legal-doc__summary h2 { margin: 0 0 var(--terme-spacing-10); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-18); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-24); }
.legal-doc__summary ul, .legal-doc__body ul, .legal-doc__body ol { --legal-doc-summary-padding-left: 1.375rem; margin: 0 0 var(--terme-spacing-12); padding-left: var(--legal-doc-summary-padding-left); }
.legal-doc__summary ul, .legal-doc__body ul { list-style: disc; }
.legal-doc__body ol { list-style: decimal; }
.legal-doc__body li ul { margin: var(--terme-spacing-4) 0 0; list-style: circle; }
.legal-doc__summary p, .legal-doc__summary li, .legal-doc__body p, .legal-doc__body li { margin: 0 0 var(--terme-spacing-12); color: var(--terme-color-brand-ink-hover); font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-26); }
.legal-page .legal-doc__summary-note { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.legal-doc__body { color: var(--terme-color-brand-ink-hover); overflow-wrap: break-word; }
.legal-doc__body code { padding: 0; background: none; color: var(--terme-color-brand-ink); font-size: 0.875em; }
.legal-doc__h2 { margin: var(--terme-spacing-40) 0 var(--terme-spacing-12); color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-interface); font-size: var(--terme-font-size-22); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-28); hyphens: auto; scroll-margin-top: var(--legal-sticky-top); }
.legal-doc__body .legal-doc__h2:first-child { margin-top: var(--terme-spacing-24); }
.legal-doc__h3 { margin: var(--terme-spacing-24) 0 var(--terme-spacing-8); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-24); scroll-margin-top: var(--legal-sticky-top); }
.legal-doc__versions { margin-top: var(--terme-spacing-32); padding-top: var(--terme-spacing-24); border-top: 0.0625rem solid var(--terme-color-border-soft); font-size: var(--terme-font-size-14); scroll-margin-top: var(--legal-sticky-top); }
.legal-doc__versions h2 { margin: 0 0 var(--terme-spacing-12); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-bold); }
.legal-doc__versions ul { display: grid; gap: var(--terme-spacing-8); margin: 0; padding: 0; list-style: none; }
.legal-doc__versions a { font-weight: var(--terme-font-weight-bold); }
.legal-doc__version-note { margin: var(--terme-spacing-4) 0 0; color: var(--terme-color-text-secondary); }
.legal-choice { --legal-choice-padding: 1.75rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--terme-spacing-20); padding: var(--terme-spacing-24) var(--legal-choice-padding); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); }
.legal-choice__copy { display: flex; flex: 1 1 26rem; flex-direction: column; gap: var(--terme-spacing-8); min-width: 0; }
.legal-choice h2, .legal-steps h2, .legal-emergency h2 { margin: 0; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-18); line-height: var(--terme-line-height-24); }
.legal-choice__chips { display: flex; flex-wrap: wrap; gap: var(--terme-spacing-8); }
.legal-status { display: inline-flex; align-items: center; padding: var(--terme-spacing-4) var(--terme-spacing-10); border-radius: var(--terme-radius-pill); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-18); }
.legal-status--on { background: var(--terme-color-status-success-soft); color: var(--terme-color-status-success); }
.legal-status--off { background: var(--terme-color-surface-canvas); color: var(--terme-color-text-secondary); }
.legal-choice__meta, .legal-report-aside__contact { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); overflow-wrap: anywhere; }
.legal-choice__meta code { padding: 0; background: none; color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-13); }
.legal-eyebrow { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-11); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-14); letter-spacing: var(--terme-font-tracking-eyebrow); text-transform: uppercase; }
.legal-operator { display: flex; flex-wrap: wrap; gap: var(--terme-spacing-32); padding: var(--terme-spacing-32); }
.legal-operator__main { display: flex; flex: 1 1 20rem; flex-direction: column; gap: var(--terme-spacing-14); min-width: 0; }
.legal-operator__name { --legal-operator-name-font-size: 1.625rem; margin: 0; color: var(--terme-color-brand-ink); font-size: var(--legal-operator-name-font-size); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-32); }
.legal-operator__address { font-size: var(--terme-font-size-16); font-style: normal; line-height: var(--terme-line-height-26); }
.legal-operator__facts { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: var(--terme-spacing-8) var(--terme-spacing-16); margin: 0; font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-22); }
.legal-operator__facts dt { color: var(--terme-color-text-secondary); }
.legal-operator__facts dd { margin: 0; overflow-wrap: break-word; hyphens: auto; }
.legal-operator__tiles { display: flex; flex: 1 1 17.5rem; flex-direction: column; gap: var(--terme-spacing-12); }
.legal-page a.legal-tile { display: flex; align-items: center; gap: var(--terme-spacing-14); padding: var(--terme-spacing-16); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-md); color: var(--terme-color-brand-ink); text-decoration: none; }
.legal-page a.legal-tile:hover { border-color: var(--terme-color-border-default); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); }
.legal-tile__icon { display: inline-grid; flex: none; place-items: center; width: var(--terme-size-touch-target); height: var(--terme-size-touch-target); border-radius: 50%; background: var(--terme-color-brand-accent-soft); color: var(--terme-color-brand-accent-hover); }
.legal-tile__icon svg { width: 1.375rem; height: 1.375rem; }
.legal-tile__copy { display: flex; flex-direction: column; min-width: 0; }
.legal-tile__label { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); }
.legal-tile strong { font-size: var(--terme-font-size-16); overflow-wrap: anywhere; }
.legal-imprint__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(18.75rem, 100%), 1fr)); gap: var(--terme-spacing-20); }
.legal-imprint__card { display: flex; flex-direction: column; gap: var(--terme-spacing-10); padding: var(--terme-spacing-24); color: var(--terme-color-brand-ink-hover); }
.legal-imprint__card .legal-doc__h2 { margin: 0; font-size: var(--terme-font-size-18); line-height: var(--terme-line-height-24); }
.legal-imprint__card .legal-doc__h3 { margin: var(--terme-spacing-8) 0 0; font-size: var(--terme-font-size-16); }
.legal-imprint__card p, .legal-imprint__card li { margin: 0; font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-24); }
.legal-imprint__card ul, .legal-imprint__card ol { margin: 0; padding-left: var(--terme-spacing-20); }
.legal-imprint__card ul { list-style: disc; }
.legal-imprint__card ol { list-style: decimal; }
.legal-imprint__versions .legal-doc__versions { margin-top: 0; }
.legal-report-area { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--terme-spacing-32); }
.legal-report { --legal-report-padding: 1.75rem; scroll-margin-top: var(--legal-sticky-top); box-sizing: border-box; flex: 999 1 35rem; min-width: 0; padding: var(--legal-report-padding); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); }
.legal-report-aside { display: flex; flex: 1 1 18.75rem; flex-direction: column; gap: var(--terme-spacing-16); max-width: 23.75rem; }
.legal-steps { display: flex; flex-direction: column; gap: var(--terme-spacing-14); padding: var(--terme-spacing-24); }
.legal-steps ol { display: flex; flex-direction: column; gap: var(--terme-spacing-14); margin: 0; padding: 0; list-style: none; font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-22); }
.legal-steps li { display: flex; gap: var(--terme-spacing-12); }
.legal-steps__number { display: inline-grid; flex: none; place-items: center; width: 1.625rem; height: 1.625rem; border-radius: 50%; background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-bold); }
.legal-emergency { display: flex; flex-direction: column; gap: var(--terme-spacing-8); padding: var(--terme-spacing-20) var(--terme-spacing-24); border-radius: var(--terme-radius-xl); background: var(--terme-color-status-danger-soft); }
.legal-emergency h2 { font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-22); }
.legal-emergency p { margin: 0; font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.legal-report__form { display: flex; flex-direction: column; gap: var(--terme-spacing-20); margin: 0; }
.legal-report__fieldset { display: flex; flex-direction: column; gap: var(--terme-spacing-12); margin: 0; padding: 0; border: 0; }
.legal-report__fieldset legend { padding: 0 0 var(--terme-spacing-10); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-22); }
.legal-report__field { display: flex; flex-direction: column; gap: var(--terme-spacing-6); }
.legal-report__label { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-semibold); line-height: var(--terme-line-height-20); }
.legal-report__hint, .legal-report__privacy { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
.legal-report__control { box-sizing: border-box; width: 100%; min-height: 3rem; padding: var(--terme-spacing-12) var(--terme-spacing-14); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-sm); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); font: inherit; font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-24); }
textarea.legal-report__control { min-height: 8rem; resize: vertical; }
.legal-report__field.is-invalid .legal-report__control { border-color: var(--terme-color-status-danger); }
.legal-report__pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(13.75rem, 100%), 1fr)); gap: var(--terme-spacing-14); }
.legal-report__check-label { display: flex; align-items: flex-start; gap: var(--terme-spacing-12); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-22); cursor: pointer; }
.legal-report__check-label input { flex: none; width: 1.25rem; height: 1.25rem; margin: 0.0625rem 0 0; }
.legal-report__error { margin: var(--terme-spacing-4) 0 0; color: var(--terme-color-status-danger); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); }
.legal-report__error--general { margin: 0; padding: var(--terme-spacing-12) var(--terme-spacing-16); border-radius: var(--terme-radius-md); background: var(--terme-color-status-danger-soft); }
.legal-report__honeypot { position: absolute; left: -100rem; width: 1px; height: 1px; overflow: hidden; }
.legal-report__submit { display: inline-flex; align-items: center; justify-content: center; gap: var(--terme-spacing-8); align-self: flex-start; min-height: 3rem; padding: 0 var(--terme-spacing-20); border: 0; border-radius: var(--terme-radius-md); background: var(--terme-color-brand-accent); color: var(--terme-color-text-on-accent); font: inherit; font-size: var(--terme-font-size-15); font-weight: var(--terme-font-weight-bold); cursor: pointer; }
.legal-report__submit:hover { background: var(--terme-color-brand-accent-hover); }
.legal-report__submit[disabled] { opacity: 0.7; cursor: progress; }
.legal-report__submit svg { width: 1.25rem; height: 1.25rem; }
.legal-report__success { scroll-margin-top: var(--legal-sticky-top); padding: var(--terme-spacing-16); border-radius: var(--terme-radius-md); background: var(--terme-color-status-success-soft); color: var(--terme-color-brand-ink); }
.legal-report__success:focus { outline: none; }
.legal-report__success p { margin: var(--terme-spacing-8) 0 0; }
@media (width >= 75rem) {
  .legal-toc { display: block; }
  .legal-toc-mobile { display: none; }
}
@media (width < 37.5rem) {
  .legal-page { padding: var(--terme-spacing-20) var(--terme-spacing-16) var(--terme-spacing-32); }
  .legal-head { gap: var(--terme-spacing-10); }
  .legal-head__title { --legal-head-title-line-height: 2.125rem; font-size: var(--terme-font-size-28); line-height: var(--legal-head-title-line-height); }
  .legal-meta { font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
  .legal-doc { --legal-doc-padding: 1.125rem; padding: var(--terme-spacing-4) var(--legal-doc-padding) var(--terme-spacing-24); border-radius: var(--terme-radius-lg); }
  .legal-doc__summary { margin-top: var(--terme-spacing-16); padding: var(--terme-spacing-16); }
  .legal-choice, .legal-operator, .legal-report { padding: var(--terme-spacing-20) var(--terme-spacing-16); }
  .legal-operator__facts { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .legal-operator__facts dd { margin-bottom: var(--terme-spacing-8); }
}
@media (prefers-reduced-motion: no-preference) {
  html:has(.legal-doc) { scroll-behavior: smooth; }
}
@media (prefers-reduced-motion: reduce) {
  .legal-toc-mobile__chevron { transition: none; }
}
@media print {
  .discovery-header, .public-footer, .public-discovery-closing, .cookie-consent, .legal-page__breadcrumb, .legal-meta__tools, .legal-toc, .legal-toc-mobile, .legal-notice__actions, .legal-choice, .legal-report-area { display: none; }
  .legal-page { padding: 0; background: none; }
  .legal-page__wrap { max-width: none; }
  .legal-doc, .legal-card { max-width: none; padding: 0; border: 0; box-shadow: none; }
  .legal-doc__summary, .legal-notice { border: 0.0625rem solid var(--terme-color-border-default); background: none; }
  .legal-doc__body a::after { content: " (" attr(href) ")"; font-size: var(--terme-font-size-13); }
  .legal-doc__h2, .legal-doc__h3 { break-after: avoid; }
}
.legal-table { box-sizing: border-box; max-width: 100%; margin: 0 0 var(--terme-spacing-16); overflow-x: auto; border: 1px solid var(--terme-color-border-soft); border-radius: var(--terme-radius-md); -webkit-overflow-scrolling: touch; }
.legal-table table { width: 100%; border-collapse: collapse; font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.legal-table th, .legal-table td { padding: var(--terme-spacing-10) var(--terme-spacing-14); border-bottom: 1px solid var(--terme-color-border-soft); text-align: left; vertical-align: top; overflow-wrap: anywhere; hyphens: auto; }
.legal-table th { background: var(--terme-color-border-soft); color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-bold); white-space: nowrap; }
.legal-table th + th, .legal-table td + td { border-left: 1px solid var(--terme-color-border-soft); }
.legal-table tbody tr:last-child td { border-bottom: 0; }
.legal-table td { min-width: 5.5rem; }
.legal-table td:first-child { min-width: 10.5rem; }
/* Phones: each row becomes a stacked card with its column labels. */
@media (width < 37.5rem) {
  .legal-table { overflow-x: visible; border: 0; }
  .legal-table table, .legal-table tbody, .legal-table tr, .legal-table td { display: block; width: auto; }
  .legal-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .legal-table tr { margin-bottom: var(--terme-spacing-12); border: 1px solid var(--terme-color-border-soft); border-radius: var(--terme-radius-md); }
  .legal-table td, .legal-table td:first-child { min-width: 0; padding: var(--terme-spacing-8) var(--terme-spacing-14); border-bottom: 0; overflow-wrap: break-word; }
  .legal-table th + th, .legal-table td + td { border-left: 0; }
  .legal-table td::before { content: attr(data-label); display: block; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); }
  .legal-table td:first-child { background: var(--terme-color-border-soft); border-radius: var(--terme-radius-field) var(--terme-radius-field) 0 0; }
}
.legal-hub { display: flex; flex-direction: column; gap: var(--terme-spacing-32); }
.legal-hub__hero { display: flex; flex-direction: column; gap: var(--terme-spacing-12); padding-top: var(--terme-spacing-24); }
.legal-hub__eyebrow { color: var(--terme-color-brand-accent-hover); font-size: var(--terme-font-size-12); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-16); letter-spacing: var(--terme-font-tracking-eyebrow); text-transform: uppercase; }
.legal-hub__title { --legal-hub-title-font-size: clamp(2.5rem, 6vw, 3.5rem); --legal-hub-title-line-height: 1.05; margin: 0; color: var(--terme-color-brand-ink); font-family: var(--terme-font-family-display); font-size: var(--legal-hub-title-font-size); font-weight: var(--terme-font-weight-bold); line-height: var(--legal-hub-title-line-height); letter-spacing: var(--terme-font-tracking-display); text-transform: uppercase; }
.legal-hub__lead { max-width: 42.5rem; margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-18); line-height: var(--terme-line-height-28); }
.legal-hub__groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); gap: var(--terme-spacing-20); align-items: start; }
.legal-hub__group { overflow: hidden; border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); }
.legal-hub__band { display: flex; align-items: center; gap: var(--terme-spacing-12); padding: var(--terme-spacing-20) var(--terme-spacing-24); background: var(--terme-color-border-soft); }
.legal-hub__group--customers .legal-hub__band { background: var(--terme-color-brand-accent-soft); }
.legal-hub__group--vendors .legal-hub__band { background: var(--terme-color-brand-ink); color: var(--terme-color-text-on-accent); }
.legal-hub__icon { display: inline-grid; flex: none; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--terme-color-surface-raised); color: var(--terme-color-text-secondary); }
.legal-hub__icon svg { width: 1.375rem; height: 1.375rem; }
.legal-hub__group--customers .legal-hub__icon { color: var(--terme-color-brand-accent-hover); }
.legal-hub__group--vendors .legal-hub__icon { background: var(--terme-color-brand-ink-hover); color: var(--terme-color-brand-accent-medium); }
.legal-hub__heading { margin: 0; color: inherit; font-size: var(--terme-font-size-20); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-26); }
.legal-hub__group--all .legal-hub__heading, .legal-hub__group--customers .legal-hub__heading { color: var(--terme-color-brand-ink); }
.legal-hub__subtitle { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.legal-hub__group--vendors .legal-hub__subtitle { color: var(--terme-color-border-soft); }
.legal-hub__list { display: flex; flex-direction: column; gap: var(--terme-spacing-10); margin: 0; padding: var(--terme-spacing-16); list-style: none; }
.legal-page a.legal-hub__entry { --legal-hub-entry-padding: 1.125rem; display: flex; flex-direction: column; gap: var(--terme-spacing-6); padding: var(--legal-hub-entry-padding) var(--terme-spacing-20); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-md); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); text-decoration: none; transition: transform var(--terme-motion-duration-hover) ease-out, border-color var(--terme-motion-duration-state) ease-out; }
.legal-page a.legal-hub__entry:hover { border-color: var(--terme-color-border-default); color: var(--terme-color-brand-ink); transform: translateY(-0.125rem); }
.legal-hub__entry-title { font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-22); }
.legal-hub__entry-text { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-14); line-height: var(--terme-line-height-20); }
.legal-hub__date { color: var(--terme-color-text-muted); font-size: var(--terme-font-size-13); line-height: var(--terme-line-height-18); }
.legal-hub__upcoming { color: var(--terme-color-status-warning); }
.legal-hub__contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--terme-spacing-16); padding: var(--terme-spacing-24); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); }
.legal-hub__contact-copy { display: flex; flex-direction: column; gap: var(--terme-spacing-4); }
.legal-hub__contact-copy strong { font-size: var(--terme-font-size-16); }
.legal-hub__contact-copy span { color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-15); line-height: var(--terme-line-height-22); }
@media (prefers-reduced-motion: reduce) {
  .legal-page a.legal-hub__entry { transition: none; }
  .legal-page a.legal-hub__entry:hover { transform: none; }
}
@media (width < 37.5rem) {
  .legal-hub__hero { padding-top: 0; }
  .legal-hub__lead { font-size: var(--terme-font-size-16); line-height: var(--terme-line-height-24); }
}
.help-page__questions { padding: 0 var(--terme-spacing-24); border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); color: var(--terme-color-brand-ink); }
.help-page__question { border-bottom: 0.0625rem solid var(--terme-color-border-hairline); }
.help-page__question:last-child { border-bottom: 0; }
.help-page__question summary { display: flex; justify-content: space-between; align-items: center; gap: var(--terme-spacing-16); min-height: 3.5rem; padding: var(--terme-spacing-20) 0; font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-medium); line-height: var(--terme-line-height-body); list-style: none; cursor: pointer; }
.help-page__question summary::-webkit-details-marker { display: none; }
.help-page__question summary::after { content: '+'; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: var(--terme-radius-sm); background: var(--terme-color-surface-canvas); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-20); font-weight: var(--terme-font-weight-regular); }
.help-page__question[open] summary::after { content: '−'; }
.help-page__answer { --help-page-answer-padding: 2.75rem; --help-page-answer-line-height: 1.65; padding: 0 var(--help-page-answer-padding) var(--terme-spacing-24) 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-15); line-height: var(--help-page-answer-line-height); }
.help-page__answer p { margin-bottom: var(--terme-spacing-12); }
.help-page__answer a { display: inline-flex; align-items: center; min-height: 2.5rem; color: var(--terme-color-brand-ink); font-weight: var(--terme-font-weight-medium); text-decoration: underline; text-underline-offset: 0.1875rem; }
.help-page__answer a:hover { color: var(--terme-color-brand-accent-hover); }
@media (width < 52.5rem) {
  .help-page__questions { padding: 0 var(--terme-spacing-16); }
  .help-page__answer { padding-right: 0; }
}
.public-message { --public-message-text-line-height: 1.6; box-sizing: border-box; width: 100%; background: var(--terme-color-surface-canvas); color: var(--terme-color-text-primary); font-family: var(--terme-font-family-interface); }
.public-message__card { box-sizing: border-box; width: 100%; border: 0.0625rem solid var(--terme-color-border-soft); border-radius: var(--terme-radius-xl); background: var(--terme-color-surface-raised); }
.public-message__eyebrow { display: inline-flex; align-items: center; padding: var(--terme-spacing-6) var(--terme-spacing-12); border-radius: var(--terme-radius-pill); background: var(--terme-color-brand-accent-soft); color: var(--terme-color-text-primary); font-size: var(--terme-font-size-13); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-20); letter-spacing: var(--terme-font-tracking-eyebrow); text-transform: uppercase; }
.public-message__text { margin: 0; color: var(--terme-color-text-secondary); font-size: var(--terme-font-size-16); line-height: var(--public-message-text-line-height); }
.public-art__fill--ink { fill: var(--terme-color-brand-ink); }
.public-art__fill--secondary { fill: var(--terme-color-text-secondary); }
.public-art__fill--border { fill: var(--terme-color-border-default); }
.public-art__fill--border-soft { fill: var(--terme-color-border-soft); }
.public-art__fill--canvas { fill: var(--terme-color-surface-canvas); }
.public-art__fill--raised { fill: var(--terme-color-surface-raised); }
.public-art__fill--accent { fill: var(--terme-color-brand-accent); }
.public-art__fill--accent-medium { fill: var(--terme-color-brand-accent-medium); }
.public-art__fill--accent-selected { fill: var(--terme-color-brand-accent-selected); }
.public-art__fill--accent-soft { fill: var(--terme-color-brand-accent-soft); }
.public-art__stroke--secondary { stroke: var(--terme-color-text-secondary); }
.public-art__stroke--border { stroke: var(--terme-color-border-default); }
.public-art__stroke--border-soft { stroke: var(--terme-color-border-soft); }
.public-art__stroke--raised { stroke: var(--terme-color-surface-raised); }
.public-art__stroke--ink { stroke: var(--terme-color-brand-ink); }
.public-art__stroke--accent { stroke: var(--terme-color-brand-accent); }

.public-status { --public-status-padding-bottom: 5rem; display: flex; justify-content: center; align-items: flex-start; min-height: 60vh; padding: var(--terme-spacing-64) var(--terme-public-gutter) var(--public-status-padding-bottom); }
.public-status__card { max-width: 36rem; padding: var(--terme-spacing-48) var(--terme-spacing-32); }
.public-status__title { margin: 0 0 var(--terme-spacing-12); color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-40); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-48); letter-spacing: var(--terme-font-tracking-tight); hyphens: auto; overflow-wrap: break-word; }
.public-status__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-12) var(--terme-spacing-24); margin-top: var(--terme-spacing-32); }
.public-status__primary { min-height: var(--terme-size-touch-target); padding-inline: var(--terme-spacing-20); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-medium); }
.public-status__secondary { color: var(--terme-color-brand-ink); font-size: var(--terme-font-size-15); text-decoration: underline; text-decoration-thickness: 0.0625rem; text-underline-offset: 0.1875rem; }
.public-status__secondary:hover { color: var(--terme-color-brand-ink); text-decoration-thickness: 0.125rem; }

.public-lost { --public-lost-padding-top: 4.5rem; --public-lost-padding-bottom: 6rem; padding: var(--public-lost-padding-top) var(--terme-public-gutter) var(--public-lost-padding-bottom); }
.public-lost__inner { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: var(--terme-spacing-64); align-items: center; max-width: 75rem; margin: 0 auto; }
.public-lost__copy { min-width: 0; }
.public-lost__title { --public-lost-title-font-size: 4rem; --public-lost-title-line-height: 1.05; margin: var(--terme-spacing-20) 0 var(--terme-spacing-16); color: var(--terme-color-text-primary); font-family: var(--terme-font-family-display); font-size: var(--public-lost-title-font-size); font-weight: var(--terme-font-weight-bold); line-height: var(--public-lost-title-line-height); letter-spacing: var(--terme-font-tracking-display); overflow-wrap: break-word; }
.public-lost__title em { font-style: normal; color: var(--terme-color-brand-accent); }
.public-lost__lead { max-width: 32.5rem; font-size: var(--terme-font-size-18); }
.public-lost__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--terme-spacing-24); margin-top: var(--terme-spacing-32); }
.public-lost .public-lost__primary { --public-lost-primary-padding-inline: 1.75rem; min-height: 3.25rem; padding: var(--terme-spacing-12) var(--public-lost-primary-padding-inline); border-radius: var(--terme-radius-md); font-size: var(--terme-font-size-16); font-weight: var(--terme-font-weight-bold); color: var(--terme-color-text-on-accent); text-decoration: none; }
.public-lost .public-lost__primary:hover { color: var(--terme-color-text-on-accent); }
.public-lost__home { color: var(--terme-color-text-primary); font-size: var(--terme-font-size-15); text-decoration: underline; text-underline-offset: 0.1875rem; }
.public-lost__home:hover { color: var(--terme-color-brand-accent-hover); }
.public-lost__more { margin-top: var(--terme-spacing-40); padding-top: var(--terme-spacing-24); border-top: 0.0625rem solid var(--terme-color-border-default); }
.public-lost__more h2 { margin: 0 0 var(--terme-spacing-12); color: var(--terme-color-text-primary); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-bold); line-height: var(--terme-line-height-body); }
.public-lost__chips { display: flex; flex-wrap: wrap; gap: var(--terme-spacing-8); margin: 0; padding: 0; list-style: none; }
.public-lost__chips a { display: inline-flex; align-items: center; min-height: 2.5rem; padding: 0 var(--terme-spacing-16); border: 0.0625rem solid var(--terme-color-border-default); border-radius: var(--terme-radius-pill); background: var(--terme-color-surface-raised); color: var(--terme-color-text-primary); font-size: var(--terme-font-size-14); font-weight: var(--terme-font-weight-semibold); text-decoration: none; }
.public-lost__chips a:hover { border-color: var(--terme-color-text-primary); color: var(--terme-color-text-primary); }
.public-lost__art { display: block; justify-self: center; width: 100%; max-width: 35rem; height: auto; }
/* Inside a legal text's narrow frame: one column, the picture on top. */
.public-lost--embedded { --public-lost-padding-top: var(--terme-spacing-24); --public-lost-padding-bottom: var(--terme-spacing-48); padding-inline: 0; background: none; }
.public-lost--embedded .public-lost__inner { grid-template-columns: minmax(0, 1fr); gap: var(--terme-spacing-24); }
.public-lost--embedded .public-lost__art { order: -1; max-width: 22rem; }
.public-lost--embedded .public-lost__title { --public-lost-title-font-size: 3rem; }

.public-preview-gone { display: flex; justify-content: center; min-height: 100vh; padding: var(--terme-spacing-64) var(--terme-public-gutter); }
.public-preview-gone__card { --public-preview-gone-card-padding-top: 2.25rem; --public-preview-gone-card-padding-bottom: 2.75rem; display: flex; flex-direction: column; align-items: center; align-self: flex-start; max-width: 32.5rem; padding: var(--public-preview-gone-card-padding-top) var(--terme-spacing-40) var(--public-preview-gone-card-padding-bottom); text-align: center; }
.public-preview-gone__logo { --public-preview-gone-logo-margin-bottom: 1.75rem; display: block; width: 7rem; height: auto; margin-bottom: var(--public-preview-gone-logo-margin-bottom); }
.public-preview-gone__art { display: block; width: 100%; max-width: 20rem; height: auto; margin-bottom: var(--terme-spacing-20); }
.public-preview-gone__title { --public-preview-gone-title-font-size: 2.25rem; --public-preview-gone-title-line-height: 1.1; --public-preview-gone-title-letter-spacing: -0.02em; margin: var(--terme-spacing-16) 0 var(--terme-spacing-12); color: var(--terme-color-text-primary); font-family: var(--terme-font-family-display); font-size: var(--public-preview-gone-title-font-size); font-weight: var(--terme-font-weight-bold); line-height: var(--public-preview-gone-title-line-height); letter-spacing: var(--public-preview-gone-title-letter-spacing); }
.public-preview-gone__text { max-width: 25rem; }

@media (width < 52.5rem) {
  .public-status { --public-status-padding-bottom: 3.5rem; min-height: 50vh; padding-top: var(--terme-spacing-40); }
  .public-status__card { padding: var(--terme-spacing-32) var(--terme-spacing-24); }
  .public-status__title { --public-status-title-line-height: 2.125rem; font-size: var(--terme-font-size-28); line-height: var(--public-status-title-line-height); }
  .public-lost { --public-lost-padding-top: var(--terme-spacing-32); --public-lost-padding-bottom: 3.5rem; }
  .public-lost__inner { grid-template-columns: minmax(0, 1fr); gap: var(--terme-spacing-24); }
  .public-lost__art { order: -1; max-width: 18.75rem; }
  .public-lost__title { --public-lost-title-font-size: var(--terme-font-size-40); }
  .public-lost--embedded .public-lost__art { max-width: 18.75rem; }
  .public-lost--embedded .public-lost__title { --public-lost-title-font-size: var(--terme-font-size-40); }
  .public-preview-gone { padding: var(--terme-spacing-24) var(--terme-public-gutter); }
  .public-preview-gone__card { --public-preview-gone-card-padding-top: 1.75rem; --public-preview-gone-card-padding-bottom: var(--terme-spacing-32); padding-inline: var(--terme-spacing-20); }
  .public-preview-gone__title { --public-preview-gone-title-font-size: var(--terme-font-size-28); }
}
.sales {
  --sales-absence-line: #DCCDEE; /* token-exempt: illustration colour */
  --sales-absence-note: var(--terme-color-calendar-absence);
  --sales-calc-blue-mid: #B9D3F2; /* token-exempt: illustration colour */
  --sales-calc-blue-soft: var(--terme-color-status-info-soft);
  --sales-calc-gold: var(--terme-color-status-warning);
  --sales-calc-gold-mid: var(--terme-color-status-warning-border);
  --sales-calc-gold-soft: var(--terme-color-calendar-awaiting-fill);
  --sales-calc-purple-mid: #D5C4EA; /* token-exempt: illustration colour */
  --sales-calc-purple-soft: var(--terme-color-calendar-absence-soft);
  --sales-calc-rose-mid: #EBC3CC; /* token-exempt: illustration colour */
  --sales-calc-rose-soft: var(--terme-color-calendar-blocker-soft);
  --sales-coin: #FFC24D; /* token-exempt: illustration colour */
  --sales-coin-edge: #E39B12; /* token-exempt: illustration colour */
  --sales-desk: #E7E2DA; /* token-exempt: illustration colour */
  --sales-lane-blue: #4A86C7; /* token-exempt: illustration colour */
  --sales-lane-blue-line: #C9DDF5; /* token-exempt: illustration colour */
  --sales-lane-green: #3C9A68; /* token-exempt: illustration colour */
  --sales-lane-green-fill: var(--terme-color-avatar-green-fill);
  --sales-lane-green-line: #C6E5D2; /* token-exempt: illustration colour */
  --sales-lane-orange-line: var(--terme-color-brand-accent-selected);
  --sales-note-blue: var(--terme-color-surface-canvas);
  --sales-note-ink: #3A3A3A; /* token-exempt: illustration colour */
  --sales-note-red: var(--terme-color-status-danger);
  --sales-note-rose: var(--terme-color-calendar-no-show-fill);
  --sales-note-rule: var(--terme-color-border-overlay);
  --sales-note-shadow: #3C280A; /* token-exempt: illustration colour */
  --sales-note-yellow: var(--terme-color-calendar-awaiting-fill);
  --sales-ok-glow: #5BD39A; /* token-exempt: illustration colour */
  --sales-ok-mid: #5BBF8A; /* token-exempt: illustration colour */
  --sales-tile-blue: #6AA5EE; /* token-exempt: illustration colour */
  --sales-window-green: #28C840; /* token-exempt: illustration colour */
  --sales-window-red: #FF5F57; /* token-exempt: illustration colour */
  --sales-window-yellow: #FEBC2E; /* token-exempt: illustration colour */
}
:where(.sales) a { color: var(--terme-color-brand-ink); }
:where(.sales) a:hover { color: var(--terme-color-brand-ink-hover); }
.sales { --ink: var(--terme-color-brand-ink); --ink-h: var(--terme-color-brand-ink-hover); --ink-2: var(--terme-color-text-secondary); --mut: var(--terme-color-text-muted); --or: var(--terme-color-brand-accent); --or-h: var(--terme-color-brand-accent-hover); --or-soft: var(--terme-color-brand-accent-soft); --or-sel: var(--terme-color-brand-accent-selected); --or-b: var(--terme-color-brand-accent-border); --or-t: var(--terme-color-brand-accent-text); --cv: var(--terme-color-surface-canvas); --line: var(--terme-color-border-overlay); --ctl: var(--terme-color-border-control); --hair: var(--terme-color-border-hairline); --well: var(--terme-color-surface-well); --ok: var(--terme-color-status-success); --ok-s: var(--terme-color-status-success-soft); --ok-m: var(--sales-ok-mid); --soft: var(--terme-color-neutral-quiet); --bad: var(--terme-color-status-danger); --bad-s: var(--terme-color-status-danger-soft); --abs: var(--terme-color-calendar-absence); --abs-s: var(--terme-color-calendar-absence-soft); --e-out: cubic-bezier(.23,1,.32,1); --e-io: cubic-bezier(.77,0,.175,1); --sh: 0 0.25rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 5%, transparent),0 1rem 2rem color-mix(in srgb, var(--terme-color-brand-ink) 9%, transparent); --sh-lg: 0 2.5rem 5rem -2rem color-mix(in srgb, var(--terme-color-brand-ink) 45%, transparent),0 0.125rem 0.375rem color-mix(in srgb, var(--terme-color-brand-ink) 6%, transparent); font-family: var(--terme-font-family-interface); color: var(--ink); background: var(--cv); font-size: 1rem; line-height: 1.5; -webkit-font-smoothing: antialiased; overflow-x: clip; min-width: 0; }
.sales *, .sales *::before, .sales *::after { box-sizing: border-box; }
.sales img { display: block; max-width: 100%; }
.sales p { margin: 0; }
:where(.sales) .wrap { box-sizing: border-box; width: 100%; max-width: 84rem; margin: 0 auto; padding: 0 var(--terme-public-gutter); }
:where(.sales) .vh { position: absolute; width: 0.0625rem; height: 0.0625rem; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sales a:focus-visible, .sales button:focus-visible, .sales input:focus-visible { outline: 0.125rem solid var(--ink-2); outline-offset: 0.1875rem; }
/* header */
:where(.sales) .top { position: sticky; top: 0; z-index: 30; background: color-mix(in srgb, var(--terme-color-surface-canvas) 88%, transparent); -webkit-backdrop-filter: saturate(1.4) blur(0.875rem); backdrop-filter: saturate(1.4) blur(0.875rem); }
:where(.sales) .top__in { display: flex; align-items: center; gap: 1.5rem; height: 5rem; }
:where(.sales) .top__lock { display: inline-flex; align-items: center; gap: 0.75rem; text-decoration: none; color: var(--ink); }
:where(.sales) .top__lock img { height: 1.5625rem; width: auto; }
:where(.sales) .top__bar { width: 0.0625rem; height: 1.5rem; background: var(--ctl); }
:where(.sales) .top__for { display: inline-flex; align-items: center; gap: 0.3125rem; font-size: 0.9375rem; font-weight: 800; white-space: nowrap; }
:where(.sales) .top__for>span { display: inline-block; margin-top: 0.125rem; font-family: var(--terme-font-family-script); font-size: 1.5rem; font-weight: 400; line-height: 1; color: var(--or); transform: rotate(-4deg); transition: transform 280ms var(--e-out); }
:where(.sales) .top__lock:hover .top__for>span { transform: rotate(-8deg); }
:where(.sales) .top__nav { display: flex; gap: 1.375rem; }
:where(.sales) .top__nav a { font-size: 0.875rem; font-weight: 600; color: var(--ink-2); text-decoration: none; white-space: nowrap; transition: color 200ms ease; }
:where(.sales) .top__nav a:hover { color: var(--ink); }
:where(.sales) .top__end { margin-left: auto; display: flex; gap: 0.5rem; align-items: center; }
:where(.sales) .top__back { display: inline-flex; align-items: center; justify-content: center; gap: 0.4375rem; height: 2.5rem; padding: 0 0.5rem; border-radius: 62.4375rem; font-size: 0.875rem; font-weight: 600; color: var(--ink-2); text-decoration: none; white-space: nowrap; transition: color 200ms ease,background-color 200ms ease,box-shadow 200ms ease,transform 160ms var(--e-out); }
:where(.sales) .top__sep { width: 0.0625rem; height: 1.5rem; margin: 0 0.25rem; background: var(--ctl); }
:where(.sales) .top__login { display: inline-flex; align-items: center; gap: 0.5rem; height: 2.75rem; padding: 0 0.75rem; border-radius: 62.4375rem; font-size: 0.9375rem; font-weight: 700; color: var(--ink); text-decoration: none; white-space: nowrap; transition: background-color 200ms ease,box-shadow 200ms ease,transform 160ms var(--e-out); }
.sales .top__back:hover, .sales .top__login:hover { color: var(--ink); background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--ctl); }
:where(.sales) .top__back:active, :where(.sales) .top__login:active { transform: scale(.97); }
/* buttons */
:where(.sales) .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.625rem; height: 3.25rem; padding: 0 1.625rem; border-radius: 62.4375rem; border: 0; font: inherit; font-size: 1rem; font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer; transition: transform 160ms var(--e-out),background-color 200ms ease,box-shadow 200ms ease,color 200ms ease; }
:where(.sales) .btn:active { transform: scale(.97); }
:where(.sales) .btn--pri { background: var(--or); color: var(--terme-color-surface-raised); }
.sales .btn--pri:hover { background: var(--or-h); color: var(--terme-color-surface-raised); }
:where(.sales) .btn--line { background: var(--terme-color-surface-raised); color: var(--ink); box-shadow: inset 0 0 0 0.0625rem var(--ctl); }
.sales .btn--line:hover { color: var(--ink); box-shadow: inset 0 0 0 0.0625rem var(--ink-2); }
:where(.sales) .btn--sm { height: 2.75rem; padding: 0 1.25rem; font-size: 0.9375rem; }
:where(.sales) .btn--light { background: var(--terme-color-surface-raised); color: var(--ink); }
.sales .btn--light:hover { background: var(--terme-color-brand-accent-soft); color: var(--ink); }
:where(.sales) .btn--ghost-d { background: transparent; color: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem color-mix(in srgb, var(--terme-color-surface-raised) 35%, transparent); }
.sales .btn--ghost-d:hover { color: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--terme-color-surface-raised); }
/* hero */
:where(.sales) .hero { padding: 2.5rem 0 7.5rem; }
:where(.sales) .hero__grid { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(0,1fr); gap: 4rem; align-items: center; }
:where(.sales) .h1 { margin: 0; font-family: var(--terme-font-family-display); font-weight: 700; font-size: clamp(2.75rem,4.6vw,4.125rem); line-height: .95; text-wrap: balance; letter-spacing: -.04em; color: var(--ink); }
:where(.sales) .h1__or { display: block; margin: .16em 0 0 .02em; font-family: var(--terme-font-family-script); font-weight: 400; font-size: 1.04em; line-height: 1; letter-spacing: 0; text-transform: none; color: var(--or); white-space: nowrap; transform: rotate(-4deg); transform-origin: left center; animation: sales-wipe 900ms var(--e-io) 420ms both; }
@keyframes sales-wipe { from { clip-path: inset(-40% 100% -40% -6%); } to { clip-path: inset(-40% -20% -40% -6%); } }
:where(.sales) .lead { margin-top: 1.75rem; font-size: 1.1875rem; line-height: 1.6; color: var(--ink-2); max-width: 30em; }
:where(.sales) .hero__cta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2.375rem; }
:where(.sales) .ticks { display: flex; flex-wrap: wrap; gap: 0.625rem 1.625rem; margin: 2.125rem 0 0; padding: 0; list-style: none; font-size: 0.875rem; font-weight: 600; color: var(--ink-2); }
:where(.sales) .ticks li { display: flex; align-items: center; gap: 0.5rem; }
:where(.sales) .ticks svg { color: var(--ok); flex: none; }

/* hero stage: the night calendar */
:where(.sales) .stage { position: relative; padding: 5.25rem 0 0; }
:where(.sales) .cal { position: relative; background: var(--terme-color-surface-raised); border-radius: 1.375rem; box-shadow: var(--sh-lg),0 0 0 0.0625rem var(--line); }
:where(.sales) .cal__bar { display: flex; align-items: center; gap: 0.875rem; padding: 1.125rem 1.375rem; }
:where(.sales) .cal__day { font-weight: 700; font-size: 1rem; line-height: 1.3; }
:where(.sales) .cal__sub { font-size: 0.8125rem; color: var(--mut); }
:where(.sales) .clock { display: inline-flex; align-items: center; gap: 0.5625rem; height: 2.375rem; padding: 0 1rem 0 0.75rem; border-radius: 62.4375rem; font-weight: 700; font-size: 0.9375rem; font-variant-numeric: tabular-nums; transition: background-color 700ms ease,color 700ms ease; }
:where(.sales) .clock.is-night { background: var(--ink); color: var(--terme-color-surface-raised); }
:where(.sales) .clock.is-day { background: var(--or-soft); color: var(--or-t); }
:where(.sales) .clock__ic { position: relative; width: 1.125rem; height: 1.125rem; flex: none; }
:where(.sales) .clock__ic svg { position: absolute; inset: 0; transition: opacity 500ms ease,transform 700ms var(--e-out); }
:where(.sales) .is-night .clock__sun { opacity: 0; transform: rotate(-90deg) scale(.5); }
:where(.sales) .is-day .clock__moon { opacity: 0; transform: rotate(90deg) scale(.5); }
:where(.sales) .cal__heads { display: grid; grid-template-columns: 3.25rem 1fr 1fr; border-top: 0.0625rem solid var(--hair); border-bottom: 0.0625rem solid var(--hair); }
:where(.sales) .lane-h { display: flex; align-items: center; gap: 0.625rem; padding: 0.6875rem 0.875rem; font-size: 0.875rem; font-weight: 700; border-left: 0.0625rem solid var(--hair); }
:where(.sales) .av { flex: none; width: 1.875rem; height: 1.875rem; border-radius: 50%; display: grid; place-items: center; font-size: 0.75rem; font-weight: 700; letter-spacing: .02em; }
:where(.sales) .av--w { background: var(--terme-color-avatar-warm-fill); color: var(--terme-color-avatar-warm-text); }
:where(.sales) .av--b { background: var(--terme-color-avatar-blue-fill); color: var(--terme-color-avatar-blue-text); }
:where(.sales) .av--g { background: var(--terme-color-avatar-green-fill); color: var(--terme-color-avatar-green-text); }
:where(.sales) .av--p { background: var(--terme-color-avatar-purple-fill); color: var(--terme-color-calendar-absence-text); }
:where(.sales) .cal__body { position: relative; display: grid; grid-template-columns: 3.25rem 1fr 1fr; height: 21.125rem; }
:where(.sales) .hours { position: relative; }
:where(.sales) .hours>span { position: absolute; right: 0.625rem; font-size: 0.6875rem; font-weight: 600; color: var(--mut); font-variant-numeric: tabular-nums; }
:where(.sales) .lane { position: relative; border-left: 0.0625rem solid var(--hair); background-image: repeating-linear-gradient(to bottom,var(--hair) 0,var(--hair) 0.0625rem,transparent 0.0625rem,transparent 3.25rem); }
:where(.sales) .ev { position: absolute; left: 0.375rem; right: 0.375rem; border-radius: 0.6875rem; padding: 0.5rem 0.6875rem; font-size: 0.75rem; line-height: 1.35; overflow: hidden; }
:where(.sales) .ev b { display: block; font-size: 0.8125rem; font-weight: 700; }
:where(.sales) .ev>span { color: var(--ink-2); }
:where(.sales) .ev--s b { display: inline; margin-right: 0.375rem; }
:where(.sales) .ev--s>span { white-space: nowrap; }
:where(.sales) .ev--old { background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--line); color: var(--ink-2); }
:where(.sales) .ev--old b { color: var(--ink-2); }
:where(.sales) .ev--new { background: var(--or-soft); box-shadow: inset 0 0 0 0.0625rem var(--or-b); color: var(--ink); opacity: 0; transition: opacity 300ms ease; }
:where(.sales) .ev--new.is-in { opacity: 1; }
:where(.sales) .flyer { position: absolute; left: 0; top: 0; z-index: 6; width: 0; height: 0; overflow: hidden; padding: 0.5rem 0.6875rem; border-radius: 1rem; background: var(--terme-color-brand-ink); color: var(--terme-color-surface-raised); font-size: 0.75rem; line-height: 1.35; opacity: 0; pointer-events: none; }
:where(.sales) .flyer__in { opacity: 0; }
:where(.sales) .flyer__in b { display: block; font-size: 0.8125rem; font-weight: 700; white-space: nowrap; }
:where(.sales) .flyer__in>span { white-space: nowrap; opacity: .8; }
:where(.sales) .flyer .flyer__in>.ev__paid { opacity: 1; }
:where(.sales) .flyer.ev--s .flyer__in b { display: inline; margin-right: 0.375rem; }
:where(.sales) .ev__paid { position: absolute; top: 0.5rem; right: 0.5rem; display: inline-flex; align-items: center; gap: 0.25rem; height: 1.25rem; padding: 0 0.5rem; border-radius: 62.4375rem; background: var(--ok-s); color: var(--ok); font-size: 0.6875rem; font-weight: 700; }
:where(.sales) .cal__foot { border-radius: 0 0 1.375rem 1.375rem; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 0.0625rem solid var(--hair); background: var(--well); }
:where(.sales) .stat { padding: 1rem 1.375rem; }
:where(.sales) .stat+.stat { border-left: 0.0625rem solid var(--hair); }
:where(.sales) .stat b { display: block; font-family: var(--terme-font-family-display); font-weight: 700; font-size: 1.875rem; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
:where(.sales) .stat>span { display: block; margin-top: 0.375rem; font-size: 0.75rem; font-weight: 600; color: var(--mut); }
:where(.sales) .stat--zero b { color: var(--ok); }
:where(.sales) .morning { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; z-index: 4; display: flex; align-items: center; gap: 0.875rem; padding: 0.875rem 1rem; border-radius: 1rem; background: var(--ink); color: var(--terme-color-surface-raised); box-shadow: 0 1.25rem 2.5rem -1.125rem color-mix(in srgb, var(--terme-color-brand-ink) 70%, transparent); opacity: 0; transform: translateY(1rem); transition: opacity 400ms ease,transform 600ms var(--e-out); pointer-events: none; }
:where(.sales) .morning.is-on { opacity: 1; transform: none; }
:where(.sales) .morning__ic { flex: none; width: 2.375rem; height: 2.375rem; border-radius: 50%; display: grid; place-items: center; background: var(--or); color: var(--terme-color-surface-raised); }
:where(.sales) .morning b { display: block; font-size: 0.9375rem; }
:where(.sales) .morning div>span { font-size: 0.8125rem; color: var(--terme-color-on-dark-text-secondary); }
:where(.sales) .toasts { position: absolute; top: 0; right: clamp(-3rem, calc(86.25rem - 100vw), -0.5rem); width: 17rem; z-index: 5; height: 7.5rem; }
:where(.sales) .toasts.is-out .toast { opacity: 0; transform: translateY(-0.625rem) scale(.97); }
:where(.sales) .toast { position: absolute; top: 0; left: 0; right: 0; padding: 0.875rem 1rem 0.8125rem; border-radius: 1rem; background: var(--ink); color: var(--terme-color-surface-raised); box-shadow: 0 1.375rem 2.75rem -1.125rem color-mix(in srgb, var(--terme-color-brand-ink) 75%, transparent); transform-origin: 50% 0; transition: transform 520ms var(--e-out),opacity 420ms ease; animation: sales-toast-in 620ms var(--e-out) both; }
@keyframes sales-toast-in { from { opacity: 0; transform: translateY(-1.75rem) scale(.94); filter: blur(0.25rem); } }
:where(.sales) .toast__top { display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 700; color: var(--terme-color-on-dark-text-secondary); }
:where(.sales) .toast>* { transition: opacity 220ms ease; }
:where(.sales) .toast__dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--or); box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--terme-color-brand-accent) 25%, transparent); }
:where(.sales) .toast__time { margin-left: auto; font-variant-numeric: tabular-nums; }
:where(.sales) .toast__main { margin-top: 0.375rem; font-size: 0.9375rem; font-weight: 700; line-height: 1.3; }
:where(.sales) .toast__sub { margin-top: 0.125rem; font-size: 0.8125rem; color: var(--terme-color-on-dark-text-secondary); }
:where(.sales) .toast__paid { display: inline-flex; align-items: center; gap: 0.375rem; margin-top: 0.625rem; height: 1.5rem; padding: 0 0.625rem; border-radius: 62.4375rem; background: color-mix(in srgb, var(--terme-color-surface-raised) 10%, transparent); font-size: 0.75rem; font-weight: 700; color: var(--terme-color-surface-raised); }
:where(.sales) .toast__paid i { width: 0.4375rem; height: 0.4375rem; border-radius: 50%; background: var(--sales-ok-glow); }
/* branches */
:where(.sales) .kinds { margin-top: 4.5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.625rem 1.75rem; padding: 1.875rem 0 0; border-top: 0.0625rem solid var(--terme-color-border-soft); }
:where(.sales) .kinds__l { font-size: 0.875rem; font-weight: 600; color: var(--mut); }
:where(.sales) .kinds__w { font-family: var(--terme-font-family-display); font-weight: 700; font-size: 1.0625rem; letter-spacing: -.01em; text-transform: uppercase; color: var(--ink-2); }
:where(.sales) .kinds__more { font-size: 0.9375rem; font-weight: 600; color: var(--ink-2); }
/* sections */
:where(.sales) .sec { padding: 8.5rem 0; }
:where(.sales) .h2 { margin: 0; font-family: var(--terme-font-family-display); font-weight: 700; font-size: clamp(2.375rem,4.6vw,4rem); line-height: .98; text-wrap: balance; letter-spacing: -.04em; color: var(--ink); }
:where(.sales) .h2__or { display: block; margin-top: .06em; color: var(--or); text-transform: uppercase; }
:where(.sales) .sec__lead { margin-top: 1.375rem; font-size: 1.125rem; line-height: 1.6; color: var(--ink-2); max-width: 34em; }
/* a normal day: paper vs. one calendar, a quick day */
:where(.sales) .tg { background: var(--terme-color-surface-raised); }
:where(.sales) .tg-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem 2rem; }
:where(.sales) .tg-cmp { position: relative; height: 51.25rem; margin-top: 4rem; border-radius: 2rem; overflow: hidden; box-shadow: 0 0 0 0.0625rem var(--line),0 2.5rem 5rem -2.75rem color-mix(in srgb, var(--terme-color-brand-ink) 45%, transparent); user-select: none; -webkit-user-select: none; --tg: 32s; }
:where(.sales) .tg-layer { position: absolute; inset: 0; }
:where(.sales) .tg-lab { position: absolute; top: 1.75rem; z-index: 2; display: inline-flex; align-items: center; height: 2.25rem; padding: 0 0.875rem; border-radius: 62.4375rem; font-size: 0.875rem; font-weight: 800; }
:where(.sales) .tg-no { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); gap: 1.75rem; padding: 5.75rem 3.25rem 3.25rem; background-color: var(--sales-desk); background-image: radial-gradient(color-mix(in srgb, var(--terme-color-overlay-scrim) 6%, transparent) 0.0625rem,transparent 0.075rem); background-size: 0.875rem 0.875rem; }
:where(.sales) .tg-no .tg-lab { left: 1.875rem; background: var(--terme-color-surface-raised); color: var(--ink-2); }
:where(.sales) .tg-note { position: relative; display: flex; flex-direction: column; padding: 1.875rem 1.5rem 1.375rem; border-radius: 0.1875rem; background-color: var(--sales-note-yellow); background-image: repeating-linear-gradient(transparent 0,transparent 1.6875rem,var(--sales-note-rule) 1.6875rem,var(--sales-note-rule) 1.75rem); background-position: 0 1.125rem; box-shadow: 0 0.0625rem 0 color-mix(in srgb, var(--terme-color-overlay-scrim) 5%, transparent),0 1.125rem 1.875rem -1.125rem color-mix(in srgb, var(--sales-note-shadow) 45%, transparent); transform: rotate(-2deg); }
:where(.sales) .tg-note::before { content: ""; position: absolute; top: -0.625rem; left: 50%; width: 6rem; height: 1.5rem; margin-left: -3rem; background: color-mix(in srgb, var(--terme-color-surface-raised) 55%, transparent); box-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-overlay-scrim) 8%, transparent); transform: rotate(-3deg); }
:where(.sales) .tg-note:nth-child(3) { transform: rotate(1.8deg); background-color: var(--sales-note-rose); }
:where(.sales) .tg-note:nth-child(4) { transform: rotate(2.6deg); }
:where(.sales) .tg-note:nth-child(5) { transform: rotate(-1.3deg); background-color: var(--sales-note-blue); }
:where(.sales) .tg-note:nth-child(6) { transform: rotate(1.1deg); }
:where(.sales) .tg-note:nth-child(7) { transform: rotate(-2.8deg); background-color: var(--sales-note-rose); }
:where(.sales) .tg-note__t { font-family: var(--terme-font-family-display); font-size: 1.5rem; color: var(--sales-note-red); }
:where(.sales) .tg-note b { display: block; margin-top: 0.625rem; font-size: 1.1875rem; line-height: 1.75rem; font-weight: 700; color: var(--sales-note-ink); }
:where(.sales) .tg-note__x { position: relative; align-self: flex-start; margin-top: auto; padding: 0.25rem 0.625rem; font-size: 0.8125rem; font-weight: 800; color: var(--sales-note-red); }
:where(.sales) .tg-note__x::after { content: ""; position: absolute; inset: -0.25rem -0.5rem; border: 0.125rem solid var(--sales-note-red); border-radius: 50%; transform: rotate(-4deg); opacity: .75; }
:where(.sales) .tg-yes { padding: 5.25rem 2.5rem 2.25rem; background: var(--cv); }
:where(.sales) .tg-yes .tg-lab { right: 1.875rem; background: var(--or); color: var(--terme-color-surface-raised); }
:where(.sales) .tg-cal { height: 100%; display: flex; flex-direction: column; border-radius: 1.375rem; background: var(--terme-color-surface-raised); box-shadow: 0 0 0 0.0625rem var(--line),0 1.875rem 3.75rem -2.5rem color-mix(in srgb, var(--terme-color-brand-ink) 50%, transparent); overflow: hidden; }
:where(.sales) .tg-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem 1rem 0.75rem 1.25rem; border-bottom: 0.0625rem solid var(--hair); }
:where(.sales) .tg-day b { font-size: 1rem; }
:where(.sales) .tg-day span { margin-left: 0.625rem; font-size: 0.8125rem; color: var(--mut); }
:where(.sales) .tg-stats { display: flex; gap: 0.5rem; }
:where(.sales) .tg-stat { display: inline-flex; align-items: center; gap: 0.375rem; height: 2rem; padding: 0 0.75rem 0 0.375rem; border-radius: 62.4375rem; background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--line); font-size: 0.8125rem; font-weight: 700; color: var(--ink-2); white-space: nowrap; }
:where(.sales) .tg-stat>i { width: 1.375rem; height: 1.375rem; border-radius: 50%; display: grid; place-items: center; background: var(--ok-s); color: var(--ok); }
:where(.sales) .tg-stat>b { display: inline-flex; font-size: 0.875rem; font-weight: 800; color: var(--ink); }
:where(.sales) .tg-stat--or { padding-left: 0.75rem; background: var(--or-soft); box-shadow: inset 0 0 0 0.0625rem var(--or-sel); color: var(--or-t); }
:where(.sales) .tg-stat--or>b { color: var(--or-t); }
:where(.sales) .tg-cnt { display: inline-block; height: 1.25rem; overflow: hidden; line-height: 1.25rem; }
:where(.sales) .tg-cnt__r { display: flex; flex-direction: column; animation: sales-tgcnt var(--tg) cubic-bezier(.23,1,.32,1) infinite both; }
:where(.sales) .tg-cnt__r>i { height: 1.25rem; font-style: normal; font-variant-numeric: tabular-nums; }
:where(.sales) .tg-heads, :where(.sales) .tg-body { display: grid; grid-template-columns: 3.5rem repeat(3,minmax(0,1fr)); }
:where(.sales) .tg-heads { border-bottom: 0.0625rem solid var(--hair); }
:where(.sales) .tg-lh { display: flex; align-items: center; gap: 0.625rem; padding: 0.5625rem 0.875rem; border-left: 0.0625rem solid var(--hair); font-size: 0.875rem; font-weight: 800; }
:where(.sales) .tg-lh .av { width: 1.75rem; height: 1.75rem; font-size: 0.6875rem; }
:where(.sales) .tg-body { position: relative; flex: 1; }
:where(.sales) .tg-hrs { position: relative; }
:where(.sales) .tg-hrs>span { position: absolute; right: 0.625rem; margin-top: 0.25rem; font-size: 0.6875rem; font-weight: 600; color: var(--mut); font-variant-numeric: tabular-nums; }
:where(.sales) .tg-lane { position: relative; border-left: 0.0625rem solid var(--hair); background-image: linear-gradient(var(--hair) 0.0625rem,transparent 0.0625rem); background-size: 100% calc(100% / 12); }
:where(.sales) .tg-past { position: absolute; left: 3.5rem; right: 0; top: 0; z-index: 2; height: 100%; background: color-mix(in srgb, var(--terme-color-surface-raised) 58%, transparent); transform-origin: 50% 0; pointer-events: none; animation: sales-tgpast var(--tg) linear infinite both; }
@keyframes sales-tgpast { 0% { transform: scaleY(0); opacity: 1; } 84% { transform: scaleY(1); opacity: 1; } 97% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1); opacity: 0; } }
:where(.sales) .tg-ev { position: absolute; left: 0.3125rem; right: 0.3125rem; display: flex; flex-wrap: wrap; align-content: flex-start; align-items: center; gap: 0 0.375rem; padding: 0.3125rem 0.5rem 0.3125rem 0.625rem; border-radius: 0.5625rem; overflow: hidden; font-size: 0.6875rem; line-height: 1rem; color: var(--ink-2); }
:where(.sales) .tg-ev--s { align-content: center; padding-top: 0; padding-bottom: 0; }
:where(.sales) .tg-ev b { font-size: 0.75rem; font-weight: 800; color: var(--ink); white-space: nowrap; }
:where(.sales) .tg-who { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
:where(.sales) .tg-ev em { flex-basis: 100%; font-style: normal; font-size: 0.6875rem; color: var(--mut); }
:where(.sales) .tg-pay { margin-left: auto; height: 1.125rem; padding: 0 0.4375rem; border-radius: 62.4375rem; background: color-mix(in srgb, var(--terme-color-surface-raised) 75%, transparent); font-size: 0.625rem; font-style: normal; font-weight: 800; line-height: 1.125rem; color: var(--ink-2); white-space: nowrap; }
:where(.sales) .tg-pay--ok { background: var(--ok-s); color: var(--ok); }
:where(.sales) .tg-neu { height: 1.125rem; padding: 0 0.375rem; border-radius: 62.4375rem; background: var(--or); font-size: 0.625rem; font-style: normal; font-weight: 800; line-height: 1.125rem; color: var(--terme-color-surface-raised); }
:where(.sales) .tg-o { background: var(--or-soft); box-shadow: inset 0.1875rem 0 0 var(--or),inset 0 0 0 0.0625rem var(--sales-lane-orange-line); }
:where(.sales) .tg-b { background: var(--terme-color-status-info-soft); box-shadow: inset 0.1875rem 0 0 var(--sales-lane-blue),inset 0 0 0 0.0625rem var(--sales-lane-blue-line); }
:where(.sales) .tg-g { background: var(--sales-lane-green-fill); box-shadow: inset 0.1875rem 0 0 var(--sales-lane-green),inset 0 0 0 0.0625rem var(--sales-lane-green-line); }
:where(.sales) .tg-abs { background-color: var(--abs-s); background-image: repeating-linear-gradient(135deg,transparent 0,transparent 0.4375rem,var(--terme-color-calendar-absence-hatch) 0.4375rem,var(--terme-color-calendar-absence-hatch) 0.875rem); box-shadow: inset 0 0 0 0.0625rem var(--sales-absence-line); padding-top: 0.5rem; }
:where(.sales) .tg-abs b { color: var(--terme-color-calendar-absence-text); }
:where(.sales) .tg-abs em { color: var(--sales-absence-note); }
:where(.sales) .tg-free { position: absolute; left: 0.3125rem; right: 0.3125rem; display: flex; align-items: center; padding: 0 0.625rem; border: 0.09375rem dashed var(--terme-color-border-dashed); border-radius: 0.5625rem; font-size: 0.6875rem; font-weight: 700; color: var(--terme-color-neutral-quiet); }
:where(.sales) .tg-in { outline: 0.125rem solid transparent; outline-offset: 0.0625rem; animation: var(--tg) linear infinite both; }
:where(.sales) .tg-span { position: absolute; left: 3.875rem; right: 0.375rem; display: flex; align-items: center; gap: 0.625rem; padding: 0 0.875rem; border-radius: 0.625rem; font-size: 0.75rem; color: var(--mut); }
:where(.sales) .tg-span b { font-size: 0.8125rem; font-weight: 800; color: var(--ink); }
:where(.sales) .tg-p { background-image: repeating-linear-gradient(135deg,var(--terme-color-surface-well) 0,var(--terme-color-surface-well) 0.4375rem,var(--terme-color-surface-raised) 0.4375rem,var(--terme-color-surface-raised) 0.875rem); box-shadow: inset 0 0 0 0.0625rem var(--line); }
:where(.sales) .tg-c { justify-content: space-between; gap: 1rem; background-color: var(--terme-color-calendar-closed); background-image: repeating-linear-gradient(135deg,transparent 0,transparent 0.4375rem,var(--terme-color-calendar-closed-stripe) 0.4375rem,var(--terme-color-calendar-closed-stripe) 0.875rem); }
:where(.sales) .tg-c__l { display: flex; flex-direction: column; }
:where(.sales) .tg-sum { position: relative; z-index: 4; display: flex; gap: 0.375rem; padding: 0.375rem; border-radius: 0.875rem; background: var(--terme-color-surface-raised); box-shadow: 0 0 0 0.0625rem var(--line),0 0.875rem 1.75rem -1.125rem color-mix(in srgb, var(--terme-color-brand-ink) 50%, transparent); animation: sales-tgsum var(--tg) linear infinite both; }
:where(.sales) .tg-sum>span { display: flex; flex-direction: column; align-items: center; min-width: 5.25rem; padding: 0.375rem 0.75rem; border-radius: 0.5625rem; background: var(--well); font-size: 0.6875rem; font-weight: 700; color: var(--mut); white-space: nowrap; }
:where(.sales) .tg-sum b { font-family: var(--terme-font-family-display); font-size: 1.25rem; line-height: 1.5rem; color: var(--ink); }
:where(.sales) .tg-sum>span:nth-child(2) b { color: var(--ok); }
:where(.sales) .tg-chip { position: relative; z-index: 4; display: inline-flex; align-items: center; gap: 0.5rem; height: 2.25rem; padding: 0 0.875rem 0 0.375rem; border-radius: 62.4375rem; background: var(--ink); color: var(--terme-color-surface-raised); font-size: 0.75rem; font-weight: 700; white-space: nowrap; outline: 0.125rem solid transparent; outline-offset: 0.125rem; animation: sales-tgnight var(--tg) linear infinite both; }
:where(.sales) .tg-chip i { width: 1.625rem; height: 1.625rem; border-radius: 50%; display: grid; place-items: center; background: var(--or); }
:where(.sales) .tg-now { position: absolute; left: 3.25rem; right: 0; top: 0; z-index: 3; height: 0.125rem; margin-top: -0.0625rem; background: var(--or); pointer-events: none; animation: sales-tgnow var(--tg) linear infinite both; }
:where(.sales) .tg-now::before { content: ""; position: absolute; left: -0.3125rem; top: -0.25rem; width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--or); }
@keyframes sales-tgnow { 0% { top: 0%; opacity: 0; } .8% { top: 0.952%; opacity: 1; } 84% { top: 100%; opacity: 1; } 85.5%,100% { top: 100%; opacity: 0; } }
:where(.sales) .tg-now__t { position: absolute; left: -3.125rem; top: -0.6875rem; width: 2.875rem; height: 1.375rem; overflow: hidden; border-radius: 62.4375rem; background: var(--or); }
:where(.sales) .tg-tick { display: flex; flex-direction: column; animation: sales-tgtick var(--tg) infinite both; }
:where(.sales) .tg-tick>span { flex: none; height: 1.375rem; font-size: 0.6875rem; font-weight: 800; line-height: 1.375rem; text-align: center; color: var(--terme-color-surface-raised); font-variant-numeric: tabular-nums; }
@keyframes sales-tgtick { 0% { transform: translateY(0); animation-timing-function: steps(12,end); } 84%,100% { transform: translateY(-16.5rem); } }
:where(.sales) .tg-tip { position: absolute; z-index: 4; display: flex; align-items: center; gap: 0.625rem; padding: 0.625rem 0.875rem 0.625rem 0.625rem; border-radius: 0.875rem; background: var(--ink); color: var(--terme-color-surface-raised); font-size: 0.875rem; font-weight: 800; white-space: nowrap; box-shadow: 0 1.125rem 2.25rem -1rem color-mix(in srgb, var(--terme-color-brand-ink) 70%, transparent); opacity: 0; pointer-events: none; animation: var(--tg) linear infinite both; }
:where(.sales) .tg-tip i { width: 1.625rem; height: 1.625rem; border-radius: 50%; display: grid; place-items: center; background: var(--or); }
:where(.sales) .tg-a0 { animation-name: sales-tga0; }
:where(.sales) .tg-a1 { animation-name: sales-tga1; }
:where(.sales) .tg-a2 { animation-name: sales-tga2; }
:where(.sales) .tg-t0 { animation-name: sales-tgt0; }
:where(.sales) .tg-t1 { animation-name: sales-tgt1; }
:where(.sales) .tg-t2 { animation-name: sales-tgt2; }
@keyframes sales-tga0 { 0%,4.67% { opacity: 0; transform: translateY(-0.625rem) scale(.96); outline-color: transparent; animation-timing-function: cubic-bezier(.23,1,.32,1); } 6.47% { opacity: 1; transform: none; outline-color: var(--terme-color-brand-accent); } 11.17% { outline-color: var(--terme-color-brand-accent); } 13.17%,97% { opacity: 1; transform: none; outline-color: transparent; } 99.5%,100% { opacity: 0; transform: none; outline-color: transparent; } }
@keyframes sales-tga1 { 0%,29.75% { opacity: 0; transform: translateY(-0.625rem) scale(.96); outline-color: transparent; animation-timing-function: cubic-bezier(.23,1,.32,1); } 31.55% { opacity: 1; transform: none; outline-color: var(--terme-color-brand-accent); } 36.25% { outline-color: var(--terme-color-brand-accent); } 38.25%,97% { opacity: 1; transform: none; outline-color: transparent; } 99.5%,100% { opacity: 0; transform: none; outline-color: transparent; } }
@keyframes sales-tga2 { 0%,45.5% { opacity: 0; transform: translateY(-0.625rem) scale(.96); outline-color: transparent; animation-timing-function: cubic-bezier(.23,1,.32,1); } 47.3% { opacity: 1; transform: none; outline-color: var(--terme-color-brand-accent); } 52% { outline-color: var(--terme-color-brand-accent); } 54%,97% { opacity: 1; transform: none; outline-color: transparent; } 99.5%,100% { opacity: 0; transform: none; outline-color: transparent; } }
@keyframes sales-tgt0 { 0%,4.97% { opacity: 0; transform: translateY(0.5rem) scale(.96); animation-timing-function: cubic-bezier(.23,1,.32,1); } 6.97%,10.67% { opacity: 1; transform: none; } 11.67%,100% { opacity: 0; transform: translateY(-0.25rem); } }
@keyframes sales-tgt1 { 0%,28% { opacity: 0; transform: translateY(0.5rem) scale(.96); animation-timing-function: cubic-bezier(.23,1,.32,1); } 30%,34% { opacity: 1; transform: none; } 35%,100% { opacity: 0; transform: translateY(-0.25rem); } }
@keyframes sales-tgt2 { 0%,86.6% { opacity: 0; transform: translateY(0.5rem) scale(.96); animation-timing-function: cubic-bezier(.23,1,.32,1); } 88.6%,96% { opacity: 1; transform: none; } 97%,100% { opacity: 0; transform: translateY(-0.25rem); } }
@keyframes sales-tgcnt { 0% { transform: translateY(0); } 3.97% { transform: translateY(0); } 4.67% { transform: translateY(-1.25rem); } 29.05% { transform: translateY(-1.25rem); } 29.75% { transform: translateY(-2.5rem); } 44.8% { transform: translateY(-2.5rem); } 45.5% { transform: translateY(-3.75rem); } 85.3% { transform: translateY(-3.75rem); } 86% { transform: translateY(-5rem); } 98.5% { transform: translateY(-5rem); } 99.5%,100% { transform: translateY(0); } }
@keyframes sales-tgsum { 0%,70% { opacity: 0; transform: translateY(0.375rem) scale(.97); animation-timing-function: cubic-bezier(.23,1,.32,1); } 72%,97% { opacity: 1; transform: none; } 99%,100% { opacity: 0; transform: none; } }
@keyframes sales-tgnight { 0%,86% { opacity: 0; transform: translateY(-0.5rem) scale(.96); outline-color: transparent; animation-timing-function: cubic-bezier(.23,1,.32,1); } 88% { opacity: 1; transform: none; outline-color: var(--terme-color-brand-accent); } 93%,97% { opacity: 1; transform: none; outline-color: transparent; } 99%,100% { opacity: 0; transform: none; outline-color: transparent; } }
:where(.sales) .tg-win { overflow: hidden; will-change: transform; }
:where(.sales) .tg-yes { will-change: transform; }
:where(.sales) .tg-div { position: absolute; inset: 0; z-index: 4; pointer-events: none; will-change: transform, opacity; }
:where(.sales) .tg-div::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 0.1875rem; margin-left: -0.09375rem; background: var(--terme-color-surface-raised); box-shadow: 0 0 1.5rem color-mix(in srgb, var(--terme-color-brand-ink) 30%, transparent); }
/* features */
:where(.sales) .feat__grid { display: grid; grid-template-columns: minmax(0,23.125rem) minmax(0,1fr); gap: 3rem; margin-top: 4rem; align-items: start; }
:where(.sales) .tabs { display: flex; flex-direction: column; gap: 0.375rem; }
:where(.sales) .tab { position: relative; display: grid; grid-template-columns: 2.625rem minmax(0,1fr); gap: 0.125rem 1rem; width: 100%; padding: 1rem 1.125rem 1.125rem; border: 0; border-radius: 1.125rem; background: transparent; font: inherit; color: var(--ink); text-align: left; cursor: pointer; transition: background-color 200ms ease,box-shadow 200ms ease; }
:where(.sales) .tab:hover { background: color-mix(in srgb, var(--terme-color-surface-raised) 65%, transparent); }
:where(.sales) .tab.is-on { background: var(--terme-color-surface-raised); box-shadow: 0 0 0 0.0625rem var(--line),var(--sh); }
:where(.sales) .tab__ic { grid-row: span 2; width: 2.625rem; height: 2.625rem; border-radius: 0.8125rem; display: grid; place-items: center; background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--line); color: var(--ink-2); transition: background-color 200ms ease,color 200ms ease,box-shadow 200ms ease; }
:where(.sales) .tab.is-on .tab__ic { background: var(--or-soft); box-shadow: inset 0 0 0 0.0625rem var(--or-sel); color: var(--or); }
:where(.sales) .tab__t { align-self: center; font-weight: 700; font-size: 1rem; line-height: 1.3; padding-top: 0.625rem; }
:where(.sales) .tab__d { display: none; font-size: 0.875rem; line-height: 1.5; color: var(--ink-2); padding-top: 0.125rem; }
:where(.sales) .tab.is-on .tab__d { display: block; }
:where(.sales) .tab__bar { position: absolute; left: 4.75rem; right: 1.25rem; bottom: 0.5rem; height: 0.125rem; border-radius: 0.125rem; background: var(--hair); overflow: hidden; }
:where(.sales) .tab__bar i { display: block; height: 100%; background: var(--or); transform-origin: 0 50%; animation: sales-bar 7s linear both; }
@keyframes sales-bar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
:where(.sales) .board { position: relative; min-height: 37.5rem; border-radius: 1.75rem; background-color: var(--ink); background-image: linear-gradient(color-mix(in srgb, var(--terme-color-surface-raised) 4.5%, transparent) 0.0625rem,transparent 0.0625rem),linear-gradient(90deg,color-mix(in srgb, var(--terme-color-surface-raised) 4.5%, transparent) 0.0625rem,transparent 0.0625rem); background-size: 2rem 2rem; padding: 2.5rem; display: flex; align-items: center; justify-content: center; overflow: hidden; }
:where(.sales) .panel { width: 100%; animation: sales-panel-in 560ms var(--e-out) both; }
@keyframes sales-panel-in { from { opacity: 0; transform: translateY(0.875rem) scale(.985); filter: blur(0.375rem); } }
:where(.sales) .card { background: var(--terme-color-surface-raised); border-radius: 1.25rem; box-shadow: 0 1.875rem 3.75rem -1.75rem color-mix(in srgb, var(--terme-color-overlay-scrim) 55%, transparent); }
:where(.sales) .cap { margin-top: 1.125rem; display: flex; flex-wrap: nowrap; justify-content: safe center; gap: 0.5rem; overflow-x: auto; scrollbar-width: none; }
:where(.sales) .cap::-webkit-scrollbar { display: none; }
:where(.sales) .chip { flex: none; white-space: nowrap; display: inline-flex; align-items: center; gap: 0.375rem; height: 1.875rem; padding: 0 0.75rem; border-radius: 62.4375rem; background: color-mix(in srgb, var(--terme-color-surface-raised) 8%, transparent); box-shadow: inset 0 0 0 0.0625rem color-mix(in srgb, var(--terme-color-surface-raised) 14%, transparent); color: var(--terme-color-on-dark-text); font-size: 0.8125rem; font-weight: 600; }
:where(.sales) .chip svg { color: var(--terme-color-brand-accent-medium); }
:where(.sales) .panel>.cap { grid-column: 1 / -1; }
/* panel: shop page */
:where(.sales) .browser { position: relative; overflow: hidden; }
:where(.sales) .browser__bar { display: flex; align-items: center; gap: 0.4375rem; height: 2.625rem; padding: 0 1rem; border-bottom: 0.0625rem solid var(--hair); }
:where(.sales) .browser__bar i { width: 0.6875rem; height: 0.6875rem; border-radius: 50%; background: var(--terme-color-border-overlay); }
:where(.sales) .browser__bar i:nth-child(1) { background: var(--sales-window-red); }
:where(.sales) .browser__bar i:nth-child(2) { background: var(--sales-window-yellow); }
:where(.sales) .browser__bar i:nth-child(3) { background: var(--sales-window-green); }
:where(.sales) .browser__url { margin-left: 0.875rem; flex: 1; max-width: 21.25rem; height: 1.625rem; display: flex; align-items: center; gap: 0.375rem; padding: 0 0.75rem; border-radius: 0.5rem; background: var(--well); font-size: 0.75rem; color: var(--ink-2); }
:where(.sales) .browser__url svg { color: var(--mut); }
:where(.sales) .shop { display: grid; grid-template-columns: minmax(0,1fr) 14.75rem; gap: 1.25rem; padding: 1.125rem; }
:where(.sales) .shop__cover { height: 7rem; border-radius: 0.875rem; overflow: hidden; }
:where(.sales) .shop__cover img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.sales .shop__kick { margin-top: 0.875rem; font-size: 0.75rem; font-weight: 700; color: var(--or-t); }
:where(.sales) .shop__name { margin: 0.125rem 0 0; font-family: var(--terme-font-family-display); font-weight: 700; font-size: 1.625rem; letter-spacing: -.03em; line-height: 1.1; }
:where(.sales) .svc { list-style: none; margin: 0.75rem 0 0; padding: 0; }
:where(.sales) .svc li { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-top: 0.0625rem solid var(--hair); }
:where(.sales) .svc li div { flex: 1; min-width: 0; }
:where(.sales) .svc b { display: block; font-size: 0.875rem; }
:where(.sales) .svc li>div>span { font-size: 0.75rem; color: var(--mut); }
:where(.sales) .svc strong { font-size: 0.875rem; }
:where(.sales) .svc__add { flex: none; width: 1.75rem; height: 1.75rem; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 0.0625rem var(--ctl); color: var(--ink); }
:where(.sales) .book { position: relative; align-self: start; padding: 1rem; border-radius: 1rem; box-shadow: 0 0 0 0.0625rem var(--line),var(--sh); }
:where(.sales) .book__t { font-size: 0.875rem; font-weight: 700; }
:where(.sales) .book__svc { margin-top: 0.125rem; font-size: 0.75rem; color: var(--mut); }
:where(.sales) .book__days { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.375rem; margin-top: 0.75rem; }
:where(.sales) .book__days>span { display: grid; place-items: center; height: 2.875rem; border-radius: 0.625rem; box-shadow: inset 0 0 0 0.0625rem var(--line); font-size: 0.6875rem; line-height: 1.2; color: var(--ink-2); text-align: center; }
:where(.sales) .book__days>span b { display: block; font-size: 0.875rem; color: var(--ink); }
:where(.sales) .book__days .on { background: var(--ink); box-shadow: none; color: var(--terme-color-on-dark-text-secondary); }
:where(.sales) .book__days .on b { color: var(--terme-color-surface-raised); }
:where(.sales) .book__times { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.375rem; margin-top: 0.75rem; }
:where(.sales) .book__times>span { display: grid; place-items: center; height: 2.125rem; border-radius: 0.5625rem; box-shadow: inset 0 0 0 0.0625rem var(--ctl); font-size: 0.8125rem; font-weight: 700; font-variant-numeric: tabular-nums; }
:where(.sales) .book__times .pick { animation: sales-pick 6s var(--e-out) infinite; }
@keyframes sales-pick { 0%,22% { background: var(--terme-color-surface-raised); color: var(--ink); box-shadow: inset 0 0 0 0.0625rem var(--ctl); transform: none; } 24% { transform: scale(.94); } 27%,92% { background: var(--or); color: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--or); transform: none; } 100% { background: var(--terme-color-surface-raised); color: var(--ink); } }
:where(.sales) .book__cta { position: relative; display: grid; margin-top: 0.75rem; height: 2.5rem; border-radius: 62.4375rem; overflow: hidden; font-size: 0.875rem; font-weight: 700; }
:where(.sales) .book__cta>span { grid-area: 1/1; display: flex; align-items: center; justify-content: center; gap: 0.375rem; }
:where(.sales) .book__cta .a { background: var(--ink); color: var(--terme-color-surface-raised); animation: sales-cta-a 6s ease infinite; }
:where(.sales) .book__cta .b { background: var(--ok); color: var(--terme-color-surface-raised); animation: sales-cta-b 6s var(--e-out) infinite; }
@keyframes sales-cta-a { 0%,50% { opacity: 1; } 54%,94% { opacity: 0; } 100% { opacity: 1; } }
@keyframes sales-cta-b { 0%,50% { opacity: 0; transform: translateY(0.5rem); } 55%,92% { opacity: 1; transform: none; } 100% { opacity: 0; } }
:where(.sales) .cursor { position: absolute; left: 0; top: 0; width: 1.375rem; height: 1.375rem; z-index: 3; filter: drop-shadow(0 0.125rem 0.1875rem color-mix(in srgb, var(--terme-color-overlay-scrim) 30%, transparent)); animation: sales-cur 6s var(--e-io) infinite; }
@keyframes sales-cur { 0% { transform: translate(13.75rem,17.5rem); opacity: 0; } 8% { opacity: 1; } 20% { transform: translate(6.75rem,8.375rem); } 23% { transform: translate(6.75rem,8.375rem) scale(.85); } 26% { transform: translate(6.75rem,8.375rem); } 40% { transform: translate(9.375rem,12.25rem); } 46% { transform: translate(9.375rem,12.25rem) scale(.85); } 50% { transform: translate(9.375rem,12.25rem); } 88% { transform: translate(9.375rem,12.25rem); opacity: 1; } 100% { transform: translate(13.75rem,17.5rem); opacity: 0; } }
/* panel: payment */
:where(.sales) .pay { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.82fr); gap: 1.375rem; align-items: center; }
:where(.sales) .pay__card { padding: 1.375rem; }
:where(.sales) .pay__sum { display: flex; gap: 0.75rem; align-items: flex-start; justify-content: space-between; padding-bottom: 1rem; border-bottom: 0.0625rem solid var(--hair); }
:where(.sales) .pay__sum b { display: block; font-size: 1rem; }
:where(.sales) .pay__sum div>span { font-size: 0.8125rem; color: var(--mut); }
:where(.sales) .pay__sum strong { font-family: var(--terme-font-family-display); font-size: 1.5rem; letter-spacing: -.02em; white-space: nowrap; }
:where(.sales) .pm { display: flex; align-items: center; gap: 0.75rem; height: 3rem; padding: 0 0.875rem; margin-top: 0.5rem; border-radius: 0.75rem; box-shadow: inset 0 0 0 0.0625rem var(--ctl); font-size: 0.875rem; font-weight: 600; }
:where(.sales) .pm:first-of-type { margin-top: 1rem; }
:where(.sales) .pm__r { flex: none; width: 1.125rem; height: 1.125rem; border-radius: 50%; box-shadow: inset 0 0 0 0.09375rem var(--ctl); }
:where(.sales) .pm.on { box-shadow: inset 0 0 0 0.09375rem var(--or); background: var(--terme-color-surface-warm-tint); }
:where(.sales) .pm.on .pm__r { box-shadow: inset 0 0 0 0.3125rem var(--or); }
:where(.sales) .pm__tag { margin-left: auto; font-size: 0.75rem; font-weight: 600; color: var(--mut); }
:where(.sales) .pay__btn { position: relative; display: grid; margin-top: 1rem; height: 3.125rem; border-radius: 62.4375rem; overflow: hidden; font-size: 0.9375rem; font-weight: 700; color: var(--terme-color-surface-raised); }
:where(.sales) .pay__btn>span { grid-area: 1/1; display: flex; align-items: center; justify-content: center; gap: 0.5rem; }
:where(.sales) .pay__btn .a { background: var(--or); animation: sales-pay-a 5s ease infinite; }
:where(.sales) .pay__btn .b { background: var(--ok); animation: sales-pay-b 5s var(--e-out) infinite; }
:where(.sales) .pay__btn .b path { stroke-dasharray: 24; stroke-dashoffset: 24; animation: sales-draw 5s var(--e-out) infinite; }
@keyframes sales-pay-a { 0%,34% { opacity: 1; transform: none; } 38% { transform: scale(.97); } 42%,94% { opacity: 0; } 100% { opacity: 1; } }
@keyframes sales-pay-b { 0%,40% { opacity: 0; } 46%,92% { opacity: 1; } 100% { opacity: 0; } }
@keyframes sales-draw { 0%,46% { stroke-dashoffset: 24; } 58%,100% { stroke-dashoffset: 0; } }
.sales .pay__note { display: flex; align-items: center; justify-content: center; gap: 0.375rem; margin-top: 0.75rem; font-size: 0.75rem; color: var(--mut); }
:where(.sales) .pay__note img { height: 0.9375rem; width: auto; }
:where(.sales) .flow { position: relative; list-style: none; margin: 0; padding: 0; color: var(--terme-color-surface-raised); }
:where(.sales) .flow li { position: relative; display: grid; grid-template-columns: 2.25rem minmax(0,1fr); gap: 0.875rem; padding-bottom: 1.625rem; }
:where(.sales) .flow li:last-child { padding-bottom: 0; }
:where(.sales) .flow li::before { content: ""; position: absolute; left: 1.0625rem; top: 2.25rem; bottom: 0.125rem; width: 0.125rem; background: color-mix(in srgb, var(--terme-color-surface-raised) 16%, transparent); }
:where(.sales) .flow li:last-child::before { display: none; }
:where(.sales) .flow__n { width: 2.25rem; height: 2.25rem; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--terme-color-surface-raised) 10%, transparent); box-shadow: inset 0 0 0 0.0625rem color-mix(in srgb, var(--terme-color-surface-raised) 20%, transparent); font-size: 0.875rem; font-weight: 700; }
:where(.sales) .flow li.done .flow__n { background: var(--or); box-shadow: none; }
:where(.sales) .flow b { display: block; font-size: 0.9375rem; padding-top: 0.375rem; }
:where(.sales) .flow li div>span { font-size: 0.8125rem; color: var(--terme-color-on-dark-text-secondary); }
/* panel: team calendar */
:where(.sales) .tc { padding: 0; overflow: hidden; }
:where(.sales) .tc__bar { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.875rem 1.125rem; border-bottom: 0.0625rem solid var(--hair); }
:where(.sales) .tc__bar b { font-size: 0.9375rem; }
:where(.sales) .mini-seg { display: inline-flex; padding: 0.1875rem; border-radius: 0.625rem; background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--line); font-size: 0.75rem; font-weight: 700; color: var(--ink-2); }
:where(.sales) .mini-seg>span { padding: 0.3125rem 0.625rem; border-radius: 0.5rem; }
:where(.sales) .mini-seg .on { background: var(--terme-color-surface-raised); color: var(--ink); box-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 12%, transparent); }
:where(.sales) .tc__heads { display: grid; grid-template-columns: 2.75rem repeat(3,minmax(0,1fr)); border-bottom: 0.0625rem solid var(--hair); }
:where(.sales) .tc__heads .lane-h { padding: 0.5625rem 0.625rem; font-size: 0.8125rem; }
:where(.sales) .tc__heads .av { width: 1.625rem; height: 1.625rem; font-size: 0.6875rem; }
:where(.sales) .tc__body { position: relative; display: grid; grid-template-columns: 2.75rem repeat(3,minmax(0,1fr)); height: 18.75rem; }
:where(.sales) .tc__body .lane { background-image: repeating-linear-gradient(to bottom,var(--hair) 0,var(--hair) 0.0625rem,transparent 0.0625rem,transparent 3.75rem); }
:where(.sales) .tc__body .hours>span { right: 0.5rem; }
:where(.sales) .tc .ev { left: 0.3125rem; right: 0.3125rem; padding: 0.4375rem 0.5625rem; }
:where(.sales) .ev--a { background: var(--or-soft); box-shadow: inset 0 0 0 0.0625rem var(--or-b); }
:where(.sales) .ev--b { background: var(--terme-color-status-info-soft); box-shadow: inset 0 0 0 0.0625rem var(--sales-lane-blue-line); }
:where(.sales) .ev--off { background-color: var(--abs-s); background-image: repeating-linear-gradient(135deg,transparent 0,transparent 0.4375rem,var(--terme-color-calendar-absence-hatch) 0.4375rem,var(--terme-color-calendar-absence-hatch) 0.875rem); box-shadow: inset 0 0 0 0.0625rem var(--sales-absence-line); color: var(--terme-color-calendar-absence-text); }
:where(.sales) .ev--off b { color: var(--terme-color-calendar-absence-text); }
:where(.sales) .drag { z-index: 3; animation: sales-drag 6s var(--e-io) infinite; }
@keyframes sales-drag { 0%,12% { transform: none; box-shadow: inset 0 0 0 0.0625rem var(--sales-lane-blue-line); } 18% { transform: scale(1.03); box-shadow: inset 0 0 0 0.0625rem var(--sales-lane-blue-line),0 1rem 1.875rem -0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 45%, transparent); } 48%,58% { transform: translateY(7.5rem) scale(1.03); box-shadow: inset 0 0 0 0.0625rem var(--sales-lane-blue-line),0 1rem 1.875rem -0.75rem color-mix(in srgb, var(--terme-color-brand-ink) 45%, transparent); } 66%,90% { transform: translateY(7.5rem); box-shadow: inset 0 0 0 0.0625rem var(--sales-lane-blue-line); } 100% { transform: none; } }
:where(.sales) .ghost { opacity: .35; animation: sales-ghost 6s ease infinite; }
@keyframes sales-ghost { 0%,14% { opacity: 0; } 18%,62% { opacity: .35; } 68%,100% { opacity: 0; } }
:where(.sales) .land { position: absolute; left: 0.3125rem; right: 0.3125rem; border-radius: 0.6875rem; box-shadow: inset 0 0 0 0.125rem var(--or); animation: sales-land 6s ease infinite; }
@keyframes sales-land { 0%,30% { opacity: 0; } 40%,60% { opacity: 1; } 66%,100% { opacity: 0; } }
:where(.sales) .tpill { position: absolute; right: 0.5rem; z-index: 4; padding: 0.25rem 0.5625rem; border-radius: 62.4375rem; background: var(--ink); color: var(--terme-color-surface-raised); font-size: 0.6875rem; font-weight: 700; font-variant-numeric: tabular-nums; animation: sales-tpill 6s var(--e-io) infinite; }
@keyframes sales-tpill { 0%,16% { opacity: 0; transform: translateY(0); } 20% { opacity: 1; } 48%,58% { opacity: 1; transform: translateY(7.5rem); } 64%,100% { opacity: 0; transform: translateY(7.5rem); } }
:where(.sales) .roles { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0.875rem 1.125rem; border-top: 0.0625rem solid var(--hair); background: var(--well); }
:where(.sales) .role { display: inline-flex; align-items: center; gap: 0.4375rem; height: 1.875rem; padding: 0 0.75rem 0 0.25rem; border-radius: 62.4375rem; background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--line); font-size: 0.75rem; font-weight: 700; }
:where(.sales) .role .av { width: 1.375rem; height: 1.375rem; font-size: 0.625rem; }
/* panel: rules */
:where(.sales) .rb-r2 { width: 100%; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 1.125rem; --R: 9s; }
:where(.sales) .rb-r2 .card { padding: 1.375rem; }
:where(.sales) .rb-ch2 { display: flex; align-items: baseline; justify-content: space-between; gap: 0.625rem; margin-bottom: 0.625rem; }
:where(.sales) .rb-ch2 b { font-size: 1rem; }
:where(.sales) .rb-ch2 span { font-size: 0.75rem; color: var(--mut); }
:where(.sales) .rb-sr { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; min-height: 3.125rem; border-top: 0.0625rem solid var(--hair); font-size: 0.8125rem; }
:where(.sales) .rb-sr>span:first-child { color: var(--ink-2); font-weight: 600; }
:where(.sales) .rb-stp { display: inline-flex; align-items: center; gap: 0.25rem; height: 2.25rem; padding: 0.1875rem; border-radius: 62.4375rem; background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--line); }
:where(.sales) .rb-stp>i { width: 1.875rem; height: 1.875rem; border-radius: 50%; display: grid; place-items: center; background: var(--terme-color-surface-raised); box-shadow: 0 0.0625rem 0.125rem color-mix(in srgb, var(--terme-color-brand-ink) 15%, transparent); font-style: normal; font-size: 1rem; font-weight: 700; color: var(--ink); }
:where(.sales) .rb-stp .rb-p { animation: sales-rb-pp var(--R) linear infinite both; }
:where(.sales) .rb-stp .rb-m { animation: sales-rb-pm var(--R) linear infinite both; }
:where(.sales) .rb-tk { display: inline-block; width: 5.875rem; height: 1.25rem; overflow: hidden; line-height: 1.25rem; text-align: center; font-size: 0.8125rem; font-weight: 800; }
:where(.sales) .rb-tk>span { display: flex; flex-direction: column; animation: sales-rb-tk var(--R) cubic-bezier(.23,1,.32,1) infinite both; }
:where(.sales) .rb-tk i { height: 1.25rem; font-style: normal; }
:where(.sales) .rb-val { font-weight: 800; }
:where(.sales) .rb-seg { display: inline-flex; padding: 0.1875rem; border-radius: 62.4375rem; background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--line); font-size: 0.75rem; font-weight: 700; }
:where(.sales) .rb-seg i { height: 1.75rem; display: grid; place-items: center; padding: 0 0.75rem; border-radius: 62.4375rem; font-style: normal; color: var(--mut); }
:where(.sales) .rb-seg .rb-on { background: var(--ink); color: var(--terme-color-surface-raised); }
:where(.sales) .rb-fix { display: inline-flex; align-items: center; gap: 0.375rem; font-weight: 800; }
:where(.sales) .rb-fix svg { color: var(--soft); }
:where(.sales) .rb-fix em { font-style: normal; font-size: 0.6875rem; font-weight: 700; color: var(--soft); }
:where(.sales) .rb-lim { display: flex; align-items: center; gap: 0.625rem; height: 2.75rem; padding: 0 0.875rem; border-radius: 0.75rem; background: var(--or-soft); box-shadow: inset 0 0 0 0.0625rem var(--or-sel); font-size: 0.8125rem; font-weight: 700; color: var(--or-t); }
:where(.sales) .rb-lim .rb-tk { width: 2.875rem; text-align: left; font-size: 0.875rem; }
:where(.sales) .rb-slots { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0.5rem; margin-top: 0.875rem; }
:where(.sales) .rb-sl { display: grid; place-items: center; height: 2.625rem; border-radius: 0.75rem; background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.09375rem var(--ctl); font-size: 0.8125rem; font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; }
:where(.sales) .rb-sl.rb-x { background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--hair); color: var(--terme-color-chart-inactive); text-decoration: line-through; }
:where(.sales) .rb-sl.rb-t { animation: sales-rb-slt var(--R) linear infinite both; }
:where(.sales) .rb-lg { display: flex; gap: 1rem; margin-top: 0.875rem; font-size: 0.75rem; font-weight: 600; color: var(--mut); }
:where(.sales) .rb-lg span { display: inline-flex; align-items: center; gap: 0.375rem; }
:where(.sales) .rb-lg i { width: 0.75rem; height: 0.75rem; border-radius: 0.25rem; box-shadow: inset 0 0 0 0.09375rem var(--ctl); background: var(--terme-color-surface-raised); }
:where(.sales) .rb-lg i.rb-x { background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--hair); }
@keyframes sales-rb-pp { 0%,28% { transform: none; background: var(--terme-color-surface-raised); color: var(--ink); } 29.5% { transform: scale(.88); background: var(--or); color: var(--terme-color-surface-raised); } 31.5% { transform: none; background: var(--or); color: var(--terme-color-surface-raised); } 34%,100% { transform: none; background: var(--terme-color-surface-raised); color: var(--ink); } }
@keyframes sales-rb-pm { 0%,68% { transform: none; background: var(--terme-color-surface-raised); color: var(--ink); } 69.5% { transform: scale(.88); background: var(--or); color: var(--terme-color-surface-raised); } 71.5% { transform: none; background: var(--or); color: var(--terme-color-surface-raised); } 74%,100% { transform: none; background: var(--terme-color-surface-raised); color: var(--ink); } }
@keyframes sales-rb-tk { 0%,29.5% { transform: translateY(0); } 31.5%,69.5% { transform: translateY(-1.25rem); } 71.5%,100% { transform: translateY(0); } }
@keyframes sales-rb-slt { 0%,31% { background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.09375rem var(--ctl); color: var(--ink); text-decoration-color: transparent; } 33%,70% { background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--hair); color: var(--terme-color-chart-inactive); text-decoration-color: var(--terme-color-chart-inactive); } 72.5%,100% { background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.09375rem var(--ctl); color: var(--ink); text-decoration-color: transparent; } }
/* panel: marketing */
:where(.sales) .mk { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: 1.25rem; align-items: stretch; }
:where(.sales) .mk__flow { display: flex; flex-direction: column; padding: 1.375rem; }
:where(.sales) .mk__top { display: flex; align-items: center; gap: 0.625rem; }
:where(.sales) .mk__top>div { flex: 1; min-width: 0; }
:where(.sales) .mk__ey { display: block; font-size: 0.75rem; font-weight: 700; color: var(--mut); }
:where(.sales) .mk__top b { display: block; font-size: 1.0625rem; }
:where(.sales) .sw { position: relative; flex: none; width: 2.5rem; height: 1.5rem; border-radius: 62.4375rem; background: var(--or); }
:where(.sales) .sw i { position: absolute; top: 0.1875rem; left: 1.1875rem; width: 1.125rem; height: 1.125rem; border-radius: 50%; background: var(--terme-color-surface-raised); box-shadow: 0 0.0625rem 0.1875rem color-mix(in srgb, var(--terme-color-overlay-scrim) 20%, transparent); }
:where(.sales) .mk__onl { font-size: 0.8125rem; font-weight: 700; }
:where(.sales) .aud { display: flex; flex-wrap: wrap; gap: 0.375rem; margin-top: 1rem; }
:where(.sales) .aud>span { display: inline-flex; align-items: center; height: 1.75rem; padding: 0 0.625rem; border-radius: 62.4375rem; background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--line); font-size: 0.75rem; font-weight: 700; color: var(--ink-2); }
:where(.sales) .seqw { position: relative; margin-top: 0.875rem; }
:where(.sales) .seq { position: relative; list-style: none; margin: 0; padding: 0; }
:where(.sales) .seq::before { content: ""; position: absolute; left: 1.0625rem; top: 1.875rem; bottom: 1.875rem; width: 0.125rem; background: var(--hair); }
:where(.sales) .seq li { position: relative; display: grid; grid-template-columns: 2.25rem minmax(0,1fr) auto; gap: 0.75rem; align-items: center; min-height: 3.75rem; }
:where(.sales) .seq__n { position: relative; z-index: 1; width: 2.25rem; height: 2.25rem; border-radius: 50%; display: grid; place-items: center; background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.09375rem var(--ctl); font-size: 0.8125rem; font-weight: 700; color: var(--ink-2); }
:where(.sales) .seq li.done .seq__n { background: var(--or); box-shadow: none; color: var(--terme-color-surface-raised); }
:where(.sales) .seq b { display: block; font-size: 0.875rem; }
:where(.sales) .seq li>div>span { font-size: 0.75rem; color: var(--mut); }
:where(.sales) .seq__st { height: 1.375rem; padding: 0 0.5rem; border-radius: 62.4375rem; display: inline-flex; align-items: center; background: var(--ok-s); color: var(--ok); font-size: 0.6875rem; font-weight: 700; }
:where(.sales) .seq__st--p { background: var(--well); color: var(--mut); }
:where(.sales) .seq__prog { position: absolute; z-index: 0; left: 1.0625rem; top: 1.875rem; width: 0.125rem; height: 3.75rem; background: var(--or); transform-origin: 50% 0; animation: sales-prog 3.2s var(--e-io) 500ms infinite both; }
@keyframes sales-prog { 0% { transform: scaleY(0); } 55%,100% { transform: scaleY(1); } }
:where(.sales) .seq li.next .seq__n { box-shadow: inset 0 0 0 0.09375rem var(--or); color: var(--or-t); animation: sales-nextp 3.2s ease-out 500ms infinite both; }
@keyframes sales-nextp { 0%,50% { box-shadow: inset 0 0 0 0.09375rem var(--or),0 0 0 0 color-mix(in srgb, var(--terme-color-brand-accent) 40%, transparent); } 80%,100% { box-shadow: inset 0 0 0 0.09375rem var(--or),0 0 0 0.5625rem transparent; } }
:where(.sales) .mk__foot { display: flex; gap: 0.625rem; margin-top: auto; padding-top: 1rem; }
:where(.sales) .mk__stat { flex: 1; padding: 0.625rem 0.75rem; border-radius: 0.75rem; background: var(--well); }
:where(.sales) .mk__stat b { display: block; font-family: var(--terme-font-family-display); font-size: 1.375rem; line-height: 1.1; letter-spacing: -.02em; }
:where(.sales) .mk__stat>span { font-size: 0.75rem; font-weight: 600; color: var(--mut); }
:where(.sales) .mk__mail { display: flex; flex-direction: column; overflow: hidden; }
:where(.sales) .mk__mh { display: flex; align-items: center; gap: 0.625rem; padding: 0.75rem 1rem; border-bottom: 0.0625rem solid var(--hair); font-size: 0.75rem; color: var(--mut); }
:where(.sales) .mk__mh .av { width: 1.875rem; height: 1.875rem; font-size: 0.6875rem; }
:where(.sales) .mk__mh b { display: block; font-size: 0.8125rem; color: var(--ink); }
:where(.sales) .mk__hero { height: 6.5rem; overflow: hidden; }
:where(.sales) .mk__hero img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
:where(.sales) .mk__in { padding: 1rem 1.125rem 1.125rem; }
:where(.sales) .mk__t { font-family: var(--terme-font-family-display); font-weight: 700; font-size: 1.375rem; line-height: 1.05; letter-spacing: -.03em; }
.sales .mk__p { margin-top: 0.5rem; font-size: 0.8125rem; line-height: 1.55; color: var(--ink-2); }
:where(.sales) .code { display: flex; flex-direction: column; align-items: flex-start; gap: 0.125rem; margin-top: 0.875rem; padding: 0.6875rem 0.875rem; border-radius: 0.75rem; border: 0.09375rem dashed var(--or-b); background: var(--terme-color-surface-warm-tint); }
:where(.sales) .code b { white-space: nowrap; font-family: var(--terme-font-family-display); font-size: 1.0625rem; letter-spacing: .02em; color: var(--or-t); }
:where(.sales) .code>span { font-size: 0.6875rem; font-weight: 700; color: var(--or-t); }
:where(.sales) .mk__cta { display: flex; align-items: center; justify-content: center; margin-top: 0.75rem; height: 2.5rem; border-radius: 62.4375rem; background: var(--ink); color: var(--terme-color-surface-raised); font-size: 0.8125rem; font-weight: 700; }
/* panel: numbers */
:where(.sales) .num { padding: 1.375rem; }
:where(.sales) .num__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
:where(.sales) .num__k { font-size: 0.8125rem; font-weight: 600; color: var(--mut); }
:where(.sales) .num__v { font-family: var(--terme-font-family-display); font-weight: 700; font-size: 2.75rem; letter-spacing: -.04em; line-height: 1; }
:where(.sales) .num__d { display: inline-flex; align-items: center; gap: 0.25rem; height: 1.625rem; padding: 0 0.625rem; border-radius: 62.4375rem; background: var(--ok-s); color: var(--ok); font-size: 0.75rem; font-weight: 700; }
:where(.sales) .bars { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 0.625rem; align-items: end; height: 11.875rem; margin-top: 1.375rem; padding-bottom: 1.375rem; border-bottom: 0.0625rem solid var(--hair); }
:where(.sales) .bars i { display: block; border-radius: 0.375rem 0.375rem 0.1875rem 0.1875rem; background: var(--terme-color-chart-muted); transform-origin: 50% 100%; animation: sales-grow 700ms var(--e-out) both; }
:where(.sales) .bars i.cur { background: var(--ink); }
@keyframes sales-grow { from { transform: scaleY(0); } }
:where(.sales) .bars i:nth-child(2) { animation-delay: 35ms; }
:where(.sales) .bars i:nth-child(3) { animation-delay: 70ms; }
:where(.sales) .bars i:nth-child(4) { animation-delay: 105ms; }
:where(.sales) .bars i:nth-child(5) { animation-delay: 140ms; }
:where(.sales) .bars i:nth-child(6) { animation-delay: 175ms; }
:where(.sales) .bars i:nth-child(7) { animation-delay: 210ms; }
:where(.sales) .bars i:nth-child(8) { animation-delay: 245ms; }
:where(.sales) .bars i:nth-child(9) { animation-delay: 280ms; }
:where(.sales) .bars i:nth-child(10) { animation-delay: 315ms; }
:where(.sales) .bars i:nth-child(11) { animation-delay: 350ms; }
:where(.sales) .bars i:nth-child(12) { animation-delay: 385ms; }
:where(.sales) .num__x { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 0.625rem; margin-top: 0.5rem; font-size: 0.6875rem; color: var(--mut); text-align: center; }
:where(.sales) .kpis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0.75rem; margin-top: 1.125rem; }
:where(.sales) .kpi { padding: 0.75rem 0.875rem; border-radius: 0.875rem; background: var(--well); }
:where(.sales) .kpi b { display: block; font-family: var(--terme-font-family-display); font-size: 1.5rem; letter-spacing: -.03em; line-height: 1.1; }
:where(.sales) .kpi>span { font-size: 0.75rem; font-weight: 600; color: var(--mut); }
/* calculator: pictures that grow */
:where(.sales) .rc { background: var(--terme-color-surface-raised); }
:where(.sales) .rc-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 3rem; margin-top: 4rem; align-items: stretch; }
:where(.sales) .rc-inp { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
:where(.sales) .rc-card { display: flex; flex-direction: column; padding: 1.375rem; border-radius: 1.5rem; background: var(--as); }
:where(.sales) .rc-blue { --a: var(--terme-color-status-info); --as: var(--sales-calc-blue-soft); --am: var(--sales-calc-blue-mid); }
:where(.sales) .rc-purple { --a: var(--terme-color-calendar-absence); --as: var(--sales-calc-purple-soft); --am: var(--sales-calc-purple-mid); }
:where(.sales) .rc-rose { --a: var(--terme-color-calendar-blocker); --as: var(--sales-calc-rose-soft); --am: var(--sales-calc-rose-mid); }
:where(.sales) .rc-gold { --a: var(--sales-calc-gold); --as: var(--sales-calc-gold-soft); --am: var(--sales-calc-gold-mid); }
:where(.sales) .rc-card>span { font-size: 0.875rem; font-weight: 800; color: var(--a); }
:where(.sales) .rc-pic { position: relative; flex: 1; min-height: 11.875rem; display: grid; place-items: center; }
:where(.sales) .rc-val { font-family: var(--terme-font-family-display); font-size: 2rem; line-height: 1; text-align: center; color: var(--a); font-variant-numeric: tabular-nums; }
:where(.sales) .rc-ph { position: relative; display: grid; place-items: center; width: 6rem; height: 6rem; border-radius: 50%; background: var(--a); color: var(--terme-color-surface-raised); transition: transform 260ms var(--e-out); }
:where(.sales) .rc-ph svg { animation: sales-rcring 1.6s ease-in-out infinite; }
@keyframes sales-rcring { 0%,40%,100% { transform: rotate(0); } 5%,15%,25%,35% { transform: rotate(-12deg); } 10%,20%,30% { transform: rotate(12deg); } }
:where(.sales) .rc-wave { position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0.125rem var(--am); opacity: 0; transition: opacity 260ms ease,transform 260ms var(--e-out); }
:where(.sales) .rc-wave.w1 { transform: scale(1.35); }
:where(.sales) .rc-wave.w2 { transform: scale(1.7); }
:where(.sales) .rc-wave.w3 { transform: scale(2.05); }
:where(.sales) .rc-wave.on { opacity: 1; }
:where(.sales) .rc-clk { position: relative; width: 9.75rem; height: 9.75rem; border-radius: 50%; background: var(--terme-color-surface-raised); box-shadow: 0 0.625rem 1.5rem -0.875rem color-mix(in srgb, var(--terme-color-brand-ink) 40%, transparent); }
:where(.sales) .rc-clk i { position: absolute; inset: 0.625rem; border-radius: 50%; transition: background 260ms ease; }
:where(.sales) .rc-clk em { position: absolute; inset: 2.25rem; border-radius: 50%; background: var(--terme-color-surface-raised); }
:where(.sales) .rc-clk b { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--terme-font-family-display); font-size: 1.75rem; color: var(--a); }
:where(.sales) .rc-ppl { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0.5rem; width: 100%; }
:where(.sales) .rc-pp { position: relative; display: grid; place-items: center; aspect-ratio: 1; padding: 0; border: 0; border-radius: 50%; background: var(--terme-color-surface-raised); color: var(--terme-color-border-dashed); cursor: pointer; transition: background-color 200ms ease,color 200ms ease,transform 160ms var(--e-out); }
:where(.sales) .rc-pp:hover { color: var(--a); }
:where(.sales) .rc-pp:active { transform: scale(.9); }
:where(.sales) .rc-pp.on { background: var(--a); color: var(--terme-color-surface-raised); }
:where(.sales) .rc-pp.on::after { content: "×"; position: absolute; top: -0.125rem; right: -0.125rem; width: 1.125rem; height: 1.125rem; border-radius: 50%; display: grid; place-items: center; background: var(--terme-color-surface-raised); color: var(--a); font-size: 0.8125rem; font-weight: 800; line-height: 1; box-shadow: 0 0.0625rem 0.1875rem color-mix(in srgb, var(--terme-color-overlay-scrim) 15%, transparent); }
:where(.sales) .rc-more { position: absolute; right: 0; top: 0; height: 1.5rem; padding: 0 0.5rem; border-radius: 62.4375rem; background: var(--a); color: var(--terme-color-surface-raised); font-size: 0.75rem; font-weight: 800; display: inline-flex; align-items: center; }
:where(.sales) .rc-coins { position: relative; width: 6.875rem; height: 10.625rem; }
:where(.sales) .rc-coin { position: absolute; left: 0; right: 0; height: 1.375rem; border-radius: 50%; background: var(--sales-coin); box-shadow: inset 0 -0.3125rem 0 var(--sales-coin-edge),0 0.125rem 0 color-mix(in srgb, var(--terme-color-overlay-scrim) 5%, transparent); animation: sales-rcdrop 300ms var(--e-out) both; }
@keyframes sales-rcdrop { from { opacity: 0; transform: translateY(-1.25rem); } }
:where(.sales) .rc-rg { position: relative; height: 1.625rem; margin-top: 0.75rem; }
:where(.sales) .rc-rg>span { position: absolute; left: 0; right: 0; top: 0.625rem; height: 0.375rem; border-radius: 0.375rem; background: color-mix(in srgb, var(--terme-color-brand-ink) 10%, transparent); }
:where(.sales) .rc-rg>i { position: absolute; left: 0; top: 0.625rem; height: 0.375rem; border-radius: 0.375rem; background: var(--a); }
:where(.sales) .rc-rg input { position: absolute; inset: 0; width: 100%; height: 1.625rem; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer; }
:where(.sales) .rc-rg input::-webkit-slider-runnable-track { height: 1.625rem; background: transparent; }
:where(.sales) .rc-rg input::-moz-range-track { height: 1.625rem; background: transparent; }
:where(.sales) .rc-rg input::-webkit-slider-thumb { -webkit-appearance: none; box-sizing: border-box; width: 1.625rem; height: 1.625rem; border-radius: 50%; background: var(--terme-color-surface-raised); border: 0.1875rem solid var(--a); box-shadow: 0 0.1875rem 0.5rem color-mix(in srgb, var(--terme-color-brand-ink) 20%, transparent); }
:where(.sales) .rc-rg input::-moz-range-thumb { box-sizing: border-box; width: 1.625rem; height: 1.625rem; border-radius: 50%; background: var(--terme-color-surface-raised); border: 0.1875rem solid var(--a); }
:where(.sales) .rc-out { display: flex; flex-direction: column; gap: 1.875rem; padding: 2.5rem; border-radius: 1.75rem; background: var(--ink); color: var(--terme-color-surface-raised); }
:where(.sales) .rc-k { display: flex; justify-content: space-between; gap: 0.75rem; font-size: 0.875rem; font-weight: 700; color: var(--terme-color-on-dark-heading); }
:where(.sales) .rc-k em { font-style: normal; font-size: 0.75rem; font-weight: 600; color: var(--terme-color-on-dark-text-muted); }
:where(.sales) .rc-o b { display: flex; align-items: baseline; gap: 0.75rem; margin-top: 0.375rem; font-family: var(--terme-font-family-display); font-size: 6.5rem; line-height: .92; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
:where(.sales) .rc-o b small { font-family: var(--terme-font-family-interface); font-size: 1.125rem; font-weight: 700; letter-spacing: 0; color: var(--terme-color-on-dark-text-secondary); }
:where(.sales) .rc-o b.gold { color: var(--sales-coin); }
:where(.sales) .rc-o+.rc-o { padding-top: 1.875rem; border-top: 0.0625rem solid color-mix(in srgb, var(--terme-color-surface-raised) 12%, transparent); }
:where(.sales) .rc-tiles { position: relative; display: grid; grid-template-columns: repeat(15,minmax(0,1fr)); gap: 0.3125rem; margin-top: 1.25rem; }
:where(.sales) .rc-tiles>span { height: 1.375rem; border-radius: 0.375rem; background: color-mix(in srgb, var(--terme-color-surface-raised) 7%, transparent); transition: background-color 200ms ease; }
:where(.sales) .rc-tiles--h>span.on { background: var(--sales-tile-blue); }
:where(.sales) .rc-tiles--e>span.on { background: var(--sales-coin); }
:where(.sales) .rc-over { position: absolute; right: 0; bottom: -1.75rem; font-size: 0.75rem; font-weight: 800; color: var(--sales-coin); }
:where(.sales) .rc-yr { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-top: auto; padding: 1.25rem 1.375rem; border-radius: 1.125rem; background: color-mix(in srgb, var(--terme-color-surface-raised) 8%, transparent); }
:where(.sales) .rc-yr>span { font-size: 0.9375rem; font-weight: 700; color: var(--terme-color-on-dark-text-secondary); }
:where(.sales) .rc-yr b { font-size: 1.5rem; font-weight: 800; font-variant-numeric: tabular-nums; }
/* fair */
:where(.sales) .fair__grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 4rem; align-items: center; }
:where(.sales) .cmp { padding: 2rem; border-radius: 1.75rem; background: var(--terme-color-surface-raised); box-shadow: 0 0 0 0.0625rem var(--line),var(--sh); }
:where(.sales) .fa-ticks { list-style: none; display: flex; flex-direction: column; gap: 0.75rem; margin: 2rem 0 0; padding: 0; }
:where(.sales) .fa-ticks li { display: flex; align-items: center; gap: 0.75rem; font-size: 1rem; font-weight: 700; color: var(--ink); }
:where(.sales) .fa-ticks i { flex: none; width: 1.75rem; height: 1.75rem; border-radius: 50%; display: grid; place-items: center; background: var(--ok-s); color: var(--ok); }
:where(.sales) .fa-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
:where(.sales) .fa-top h3 { margin: 0; font-size: 1.0625rem; font-weight: 800; letter-spacing: -.01em; }
:where(.sales) .fa-seg { position: relative; flex: none; display: grid; grid-template-columns: 1fr 1fr; padding: 0.25rem; border-radius: 62.4375rem; background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--line); }
:where(.sales) .fa-seg>i { position: absolute; top: 0.25rem; bottom: 0.25rem; left: 0.25rem; width: calc(50% - 0.25rem); border-radius: 62.4375rem; background: var(--ink); transition: transform 240ms var(--e-out); }
:where(.sales) .fa-seg.is-online>i { transform: translateX(100%); }
:where(.sales) .fa-seg button { position: relative; z-index: 1; height: 2.5rem; padding: 0 1.25rem; border: 0; border-radius: 62.4375rem; background: none; font: inherit; font-size: 0.875rem; font-weight: 800; color: var(--ink-2); cursor: pointer; transition: color 200ms ease,transform 160ms var(--e-out); }
:where(.sales) .fa-seg button[aria-pressed="true"] { color: var(--terme-color-surface-raised); }
:where(.sales) .fa-seg button:active { transform: scale(.97); }
:where(.sales) .fa-rcpt { position: relative; margin-top: 1.5rem; padding: 1.625rem 1.75rem 2.125rem; background: var(--well); border-radius: 1.125rem 1.125rem 0 0; -webkit-mask: radial-gradient(0.5625rem at 50% 100%,transparent 98%,var(--terme-color-overlay-scrim)) 0 0/1.375rem 100%; mask: radial-gradient(0.5625rem at 50% 100%,transparent 98%,var(--terme-color-overlay-scrim)) 0 0/1.375rem 100%; }
:where(.sales) .fa-rl { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1rem; padding: 0.75rem 0; transition: opacity 240ms ease; }
:where(.sales) .fa-rl b { display: block; font-size: 0.9375rem; font-weight: 700; }
:where(.sales) .fa-rl small { display: block; margin-top: 0.125rem; font-size: 0.8125rem; color: var(--mut); }
:where(.sales) .fa-rv { display: grid; justify-items: end; font-size: 1rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
:where(.sales) .fa-rv>span { grid-area: 1/1; transition: opacity 220ms ease,filter 220ms ease,transform 220ms var(--e-out); }
:where(.sales) .fa-rv>.fa-on { opacity: 0; filter: blur(0.1875rem); transform: translateY(0.25rem); }
:where(.sales) .is-online .fa-rv>.fa-off { opacity: 0; filter: blur(0.1875rem); transform: translateY(-0.25rem); }
:where(.sales) .is-online .fa-rv>.fa-on { opacity: 1; filter: none; transform: none; }
:where(.sales) .fa-rl--fee { opacity: .45; }
:where(.sales) .is-online .fa-rl--fee { opacity: 1; }
:where(.sales) .is-online .fa-rl--fee .fa-on { color: var(--or-t); }
:where(.sales) .fa-rl--zero .fa-rv { color: var(--ok); }
:where(.sales) .fa-sum { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-top: 0.625rem; padding-top: 1.25rem; border-top: 0.125rem dashed var(--ctl); }
:where(.sales) .fa-sum>b { font-size: 1.0625rem; font-weight: 800; white-space: nowrap; }
:where(.sales) .fa-sum .fa-rv { font-family: var(--terme-font-family-display); font-size: 2.75rem; letter-spacing: -.02em; color: var(--ink); }
:where(.sales) .fa-mk { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 0.375rem 1rem; margin-top: 1.375rem; padding: 1rem 1.25rem; border-radius: 1rem; border: 0.09375rem dashed var(--ctl); }
:where(.sales) .fa-mk__tag { padding: 0.3125rem 0.625rem; border-radius: 62.4375rem; background: var(--hair); font-size: 0.75rem; font-weight: 800; color: var(--mut); white-space: nowrap; }
:where(.sales) .fa-mk__t b { display: block; font-size: 0.875rem; font-weight: 800; color: var(--ink-2); }
:where(.sales) .fa-mk__t small { display: block; margin-top: 0.0625rem; font-size: 0.8125rem; color: var(--mut); }
:where(.sales) .fa-mk__v { text-align: right; font-family: var(--terme-font-family-display); font-size: 1.25rem; letter-spacing: -.02em; color: var(--ink-2); white-space: nowrap; }
:where(.sales) .fa-mk__v small { display: block; margin-top: 0.125rem; font-family: var(--terme-font-family-interface); font-size: 0.75rem; font-weight: 600; letter-spacing: 0; color: var(--mut); }
:where(.sales) .y, :where(.sales) .n { display: inline-flex; align-items: center; gap: 0.5rem; }
:where(.sales) .y svg { color: var(--ok); flex: none; }
:where(.sales) .n svg { color: var(--bad); flex: none; }
:where(.sales) .n { color: var(--ink-2); font-weight: 600; }
/* pricing */
:where(.sales) .price { background: var(--terme-color-surface-raised); }
/* Four cards share their row tracks (subgrid), so every row lines up across
   the cards even where one label wraps. */
:where(.sales) .price__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); grid-template-rows: repeat(10,auto); gap: 0 1.25rem; margin-top: 5.25rem; }
:where(.sales) .plan { position: relative; display: grid; grid-row: span 10; grid-template-rows: subgrid; grid-template-columns: minmax(0,1fr); row-gap: 0; padding: 2rem 1.75rem; border-radius: 1.5rem; box-shadow: inset 0 0 0 0.0625rem var(--line); }
:where(.sales) .plan--hi { margin: -1.5rem 0; padding: 3.5rem 1.75rem; background: var(--ink); color: var(--terme-color-surface-raised); box-shadow: var(--sh-lg); }
:where(.sales) .plan__tag { position: absolute; top: 0; left: 2rem; transform: translateY(-50%); display: inline-flex; align-items: center; height: 2rem; padding: 0 0.875rem; border-radius: 62.4375rem; background: var(--or); font-size: 0.8125rem; font-weight: 800; color: var(--terme-color-surface-raised); white-space: nowrap; }
:where(.sales) .plan__n { font-size: 0.9375rem; font-weight: 700; }
:where(.sales) .plan--hi .plan__n { color: var(--terme-color-brand-accent-medium); }
.sales .plan__p { margin-top: 0.875rem; font-family: var(--terme-font-family-display); font-weight: 700; font-size: 2.875rem; line-height: 1; letter-spacing: -.04em; white-space: nowrap; }
:where(.sales) .plan__p small { font-family: var(--terme-font-family-interface); font-size: 0.9375rem; font-weight: 600; letter-spacing: 0; color: var(--mut); }
:where(.sales) .plan--hi .plan__p small { color: var(--terme-color-on-dark-text-secondary); }
/* Enterprise stays quiet next to the plans: a grey well, secondary text. */
.sales .plan--ask { background: var(--terme-color-surface-hover); box-shadow: none; color: var(--mut); }
.sales .plan--ask .plan__n, .sales .plan--ask .plan__d, .sales .plan--ask dt, .sales .plan--ask dd { color: var(--mut); }
.sales .plan--ask dd { font-weight: 700; }
.sales .plan--ask .plan__p { display: flex; align-items: flex-end; font-family: var(--terme-font-family-interface); font-size: 1.75rem; font-weight: 800; letter-spacing: -.02em; color: var(--mut); }
.sales .plan--ask .plan__per { background: transparent; color: var(--mut); }
.sales .plan__d { margin-top: 0.625rem; font-size: 0.875rem; color: var(--ink-2); }
:where(.sales) .plan--hi .plan__d { color: var(--terme-color-on-dark-text-secondary); }
.sales .plan__per { align-self: flex-start; justify-self: start; margin-top: 1rem; padding: 0.375rem 0.75rem; border-radius: 1rem; text-wrap: balance; background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--line); font-size: 0.8125rem; font-weight: 700; color: var(--ink-2); }
:where(.sales) .plan--hi .plan__per { background: color-mix(in srgb, var(--terme-color-surface-raised) 10%, transparent); box-shadow: none; color: var(--terme-color-surface-raised); }
:where(.sales) .plan dl { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; flex: 1; margin: 1.5rem 0 1.75rem; padding: 0.375rem 0 0; border-top: 0.0625rem solid var(--hair); }
:where(.sales) .plan--hi dl { border-top-color: color-mix(in srgb, var(--terme-color-surface-raised) 14%, transparent); }
:where(.sales) .plan dl>div { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; padding: 0.6875rem 0; border-bottom: 0.0625rem solid var(--hair); }
:where(.sales) .plan--hi dl>div { border-bottom-color: color-mix(in srgb, var(--terme-color-surface-raised) 8%, transparent); }
:where(.sales) .plan dt { font-size: 0.875rem; color: var(--ink-2); }
:where(.sales) .plan--hi dt { color: var(--terme-color-on-dark-text-secondary); }
:where(.sales) .plan dd { margin: 0; font-size: 0.9375rem; font-weight: 800; text-align: right; white-space: nowrap; }
.sales .price__foot { margin-top: 3rem; text-align: center; font-size: 0.875rem; color: var(--mut); }
/* faq */
:where(.sales) .faq__grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 4.5rem; align-items: start; }
:where(.sales) .faq__list { border-top: 0.0625rem solid var(--terme-color-border-soft); }
:where(.sales) .qa { border-bottom: 0.0625rem solid var(--terme-color-border-soft); }
:where(.sales) .qa__q { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; width: 100%; padding: 1.5rem 0; border: 0; background: none; font: inherit; font-size: 1.125rem; font-weight: 700; line-height: 1.4; color: var(--ink); text-align: left; cursor: pointer; }
:where(.sales) .qa__pm { position: relative; flex: none; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.0625rem var(--ctl); transition: background-color 200ms ease,transform 300ms var(--e-out); }
:where(.sales) .qa__pm::before, :where(.sales) .qa__pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 0.75rem; height: 0.125rem; margin: -0.0625rem 0 0 -0.375rem; border-radius: 0.125rem; background: var(--ink); transition: transform 300ms var(--e-out); }
:where(.sales) .qa__pm::after { transform: rotate(90deg); }
:where(.sales) .qa.is-open .qa__pm { background: var(--ink); transform: rotate(180deg); }
:where(.sales) .qa.is-open .qa__pm::before { background: var(--terme-color-surface-raised); }
:where(.sales) .qa.is-open .qa__pm::after { background: var(--terme-color-surface-raised); transform: rotate(0deg); }
:where(.sales) .qa__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 320ms var(--e-out); }
:where(.sales) .qa.is-open .qa__a { grid-template-rows: 1fr; }
:where(.sales) .qa__a>div { overflow: hidden; }
:where(.sales) .qa__a p { padding: 0 3.5rem 1.625rem 0; font-size: 1rem; line-height: 1.65; color: var(--ink-2); opacity: 0; transform: translateY(-0.25rem); transition: opacity 260ms ease,transform 320ms var(--e-out); }
:where(.sales) .qa.is-open .qa__a p { opacity: 1; transform: none; }
/* closing */
:where(.sales) .end { padding: 0 0 3.5rem; }
:where(.sales) .end__box { position: relative; isolation: isolate; display: grid; place-items: center; min-height: 41.25rem; margin: 0 max(var(--terme-public-gutter), calc((100% - 84rem) / 2 + var(--terme-public-gutter))); border-radius: 2.25rem; overflow: hidden; background: var(--ink); color: var(--terme-color-surface-raised); text-align: center; }
:where(.sales) .end__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
:where(.sales) .end__box::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--terme-color-brand-ink) 82%, transparent); }
:where(.sales) .end__in { display: flex; flex-direction: column; align-items: center; max-width: 60rem; padding: 6.5rem 2rem; }
:where(.sales) .end .h2 { color: var(--terme-color-surface-raised); font-size: clamp(2.875rem,6.2vw,6rem); line-height: .95; }
:where(.sales) .btn--xl { height: 4.25rem; margin-top: 3rem; padding: 0 2.75rem; font-size: 1.1875rem; box-shadow: 0 1.25rem 2.75rem -1.125rem color-mix(in srgb, var(--terme-color-brand-accent) 80%, transparent); }
:where(.sales) .end__ticks { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.625rem 1.75rem; margin: 1.75rem 0 0; padding: 0; list-style: none; font-size: 0.875rem; font-weight: 600; color: var(--terme-color-on-dark-text); }
:where(.sales) .end__ticks li { display: flex; align-items: center; gap: 0.5rem; }
:where(.sales) .end__ticks svg { color: var(--sales-ok-glow); }
:where(.sales) .end__chip { position: absolute; display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1.125rem 0.75rem 0.75rem; border-radius: 1.125rem; background: var(--terme-color-surface-raised); color: var(--ink); text-align: left; box-shadow: 0 1.625rem 3.375rem -1.375rem color-mix(in srgb, var(--terme-color-overlay-scrim) 60%, transparent); animation: sales-endfloat 7s ease-in-out infinite; }
:where(.sales) .end__chip b { display: block; font-size: 0.875rem; }
:where(.sales) .end__chip div>span { font-size: 0.75rem; color: var(--mut); }
:where(.sales) .end__chip--a { left: 4%; top: 6%; }
:where(.sales) .end__chip--b { right: 4%; bottom: 7%; animation-delay: -3.5s; }
:where(.sales) .end__ic { flex: none; width: 2.375rem; height: 2.375rem; border-radius: 50%; display: grid; place-items: center; background: var(--or); color: var(--terme-color-surface-raised); }
:where(.sales) .end__ic--ok { background: var(--ok-s); color: var(--ok); }
@keyframes sales-endfloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-0.625rem); } }
/* footer */
:where(.sales) .foot { padding: 2.5rem 0 3.5rem; border-top: 0.0625rem solid var(--terme-color-border-soft); }
:where(.sales) .foot__in { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; }
:where(.sales) .foot__in img { height: 1.25rem; width: auto; }
:where(.sales) .foot__links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-left: auto; }
:where(.sales) .foot__links a { font-size: 0.875rem; color: var(--ink-2); text-decoration: none; }
:where(.sales) .foot__links a:hover { color: var(--ink); }
/* Enterprise inquiry dialog */
:where(.sales) .inq { width: min(42rem, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); margin: auto; padding: 0; border: 0; border-radius: 1.75rem; background: var(--terme-color-surface-raised); color: var(--ink); box-shadow: var(--sh-lg); overflow: auto; overscroll-behavior: contain; }
.sales .inq [hidden] { display: none; }
:where(.sales) .inq::backdrop { background: color-mix(in srgb, var(--terme-color-brand-ink) 45%, transparent); -webkit-backdrop-filter: blur(0.25rem); backdrop-filter: blur(0.25rem); }
:where(.sales) .inq[open] { animation: sales-inq-in 220ms var(--e-out); }
@keyframes sales-inq-in { from { opacity: 0; transform: translateY(0.75rem) scale(.97); } }
:where(.sales) .inq__form, :where(.sales) .inq__done { padding: 2.25rem 2.25rem 2rem; }
:where(.sales) .inq__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
:where(.sales) .inq__kind { font-size: 0.875rem; font-weight: 700; color: var(--ink-2); }
.sales .inq__t { margin-top: 0.5rem; font-family: var(--terme-font-family-display); font-weight: 700; font-size: 1.75rem; line-height: 1.1; letter-spacing: -.02em; }
:where(.sales) .inq__x { flex: none; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin: -0.375rem -0.5rem 0 0; border: 0; border-radius: 50%; background: transparent; color: var(--ink-2); cursor: pointer; transition: background-color 160ms ease,color 160ms ease; }
:where(.sales) .inq__x:hover { background: var(--terme-color-surface-hover); color: var(--ink); }
:where(.sales) .inq__grid { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.125rem 1rem; margin-top: 1.75rem; }
:where(.sales) .inq__f { display: flex; flex-direction: column; gap: 0.4375rem; min-width: 0; }
:where(.sales) .inq__f--wide { grid-column: 1 / -1; }
:where(.sales) .inq__l { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; font-size: 0.875rem; font-weight: 700; }
:where(.sales) .inq__l small { font-size: 0.75rem; font-weight: 600; color: var(--mut); }
:where(.sales) .inq input, :where(.sales) .inq textarea { box-sizing: border-box; width: 100%; height: 3rem; padding: 0 0.875rem; border: 0; border-radius: 0.875rem; background: var(--well); box-shadow: inset 0 0 0 0.0625rem var(--line); font: inherit; font-size: 1rem; color: var(--ink); transition: box-shadow 160ms ease,background-color 160ms ease; }
:where(.sales) .inq textarea { height: auto; min-height: 7rem; padding: 0.75rem 0.875rem; line-height: 1.5; resize: vertical; }
:where(.sales) .inq input[type=number] { -moz-appearance: textfield; appearance: textfield; }
:where(.sales) .inq input::-webkit-inner-spin-button, :where(.sales) .inq input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
:where(.sales) .inq input:hover, :where(.sales) .inq textarea:hover { box-shadow: inset 0 0 0 0.0625rem var(--ctl); }
.sales .inq input:focus, .sales .inq textarea:focus { outline: none; background: var(--terme-color-surface-raised); box-shadow: inset 0 0 0 0.125rem var(--ink); }
.sales .inq input[aria-invalid=true], .sales .inq textarea[aria-invalid=true] { box-shadow: inset 0 0 0 0.125rem var(--bad); }
:where(.sales) .inq__msg { font-size: 0.8125rem; font-weight: 600; color: var(--bad); }
:where(.sales) .inq__trap { position: absolute; left: -100vw; width: 0.0625rem; height: 0.0625rem; overflow: hidden; }
:where(.sales) .inq__err { margin-top: 1.25rem; padding: 0.75rem 1rem; border-radius: 0.875rem; background: var(--bad-s); color: var(--bad); font-size: 0.875rem; font-weight: 600; }
:where(.sales) .inq__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; margin-top: 1.75rem; }
:where(.sales) .inq__note { font-size: 0.8125rem; color: var(--mut); }
:where(.sales) .inq__note a { color: var(--ink-2); text-decoration: underline; text-underline-offset: 0.1875rem; }
:where(.sales) .inq__send { flex: none; }
:where(.sales) .inq__send[aria-busy=true] { opacity: .7; pointer-events: none; }
:where(.sales) .inq__done { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding-top: 3rem; text-align: center; outline: none; }
:where(.sales) .inq__done p { color: var(--ink-2); }
:where(.sales) .inq__ok { display: grid; place-items: center; width: 4rem; height: 4rem; margin-bottom: 0.5rem; border-radius: 50%; background: var(--ok-s); color: var(--ok); }
:where(.sales) .inq__back { margin-top: 1.25rem; }
/* responsive */
@media (width < 75rem) {
  :where(.sales) .hero__grid { grid-template-columns: minmax(0,1fr); gap: 3rem; }
  :where(.sales) .toasts { right: 0.75rem; }
  :where(.sales) .feat__grid { grid-template-columns: minmax(0,1fr); }
  :where(.sales) .tabs { flex-direction: row; overflow-x: auto; scrollbar-width: none; margin: 0 -2rem; padding: 0.25rem 2rem 0.5rem; }
  :where(.sales) .tab { flex: none; width: auto; grid-template-columns: 2.25rem auto; padding: 0.75rem 1rem 0.875rem; }
  :where(.sales) .tab__ic { width: 2.25rem; height: 2.25rem; grid-row: auto; }
  :where(.sales) .tab__t { padding-top: 0; white-space: nowrap; }
  :where(.sales) .tab.is-on .tab__d { display: none; }
  :where(.sales) .tab__bar { left: 1rem; right: 1rem; bottom: 0.375rem; }
  :where(.sales) .fair__grid, :where(.sales) .faq__grid { grid-template-columns: minmax(0,1fr); gap: 3rem; }
  :where(.sales) .rc-grid { grid-template-columns: minmax(0,1fr); }
  :where(.sales) .price__grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; gap: 1.25rem; }
  :where(.sales) .plan { display: flex; flex-direction: column; grid-row: auto; }
  :where(.sales) .plan dl { display: block; grid-row: auto; }
  :where(.sales) .plan--hi { margin: 0; padding: 2rem 1.75rem; }
  .sales .plan__p { font-size: 3.25rem; }
}
@media (width < 52.5rem) {
  :where(.sales) .wrap { padding: 0 1.25rem; }
  :where(.sales) .top__nav, :where(.sales) .top__sep, :where(.sales) .top__back>span, :where(.sales) .top__login svg { display: none; }
  :where(.sales) .top__in { height: 4.25rem; gap: 0.75rem; }
  :where(.sales) .top__lock { gap: 0.5rem; }
  :where(.sales) .top__lock img { height: 1.375rem; }
  :where(.sales) .top__for { font-size: 0.875rem; }
  :where(.sales) .top__for>span { font-size: 1.25rem; }
  :where(.sales) .top__end { gap: 0.25rem; }
  :where(.sales) .top__back { width: 2.5rem; padding: 0; }
  :where(.sales) .top__login { padding: 0 0.5rem; font-size: 0.875rem; }
  :where(.sales) .hero { padding: 1.75rem 0 5rem; }
  :where(.sales) .lead { font-size: 1.0625rem; }
  :where(.sales) .h1__or { white-space: normal; }
  :where(.sales) .hero__cta .btn { flex: 1 1 auto; }
  :where(.sales) .stage { padding-top: 8rem; }
  :where(.sales) .ev--s>span { display: none; }
  :where(.sales) .toasts { left: 0.5rem; right: 0.5rem; width: auto; top: 0; }
  :where(.sales) .cal__bar { padding: 0.875rem 1rem; }
  :where(.sales) .cal__heads, :where(.sales) .cal__body { grid-template-columns: 2.5rem 1fr 1fr; }
  :where(.sales) .lane-h { padding: 0.625rem 0.5rem; gap: 0.5rem; font-size: 0.8125rem; }
  :where(.sales) .ev { left: 0.25rem; right: 0.25rem; padding: 0.4375rem 0.5rem; }
  :where(.sales) .ev__paid { display: none; }
  :where(.sales) .flyer { padding: 0.4375rem 0.5rem; }
  :where(.sales) .flyer.ev--s .flyer__in>span { display: none; }
  :where(.sales) .stat { padding: 0.875rem 0.75rem; }
  :where(.sales) .stat b { font-size: 1.5rem; }
  :where(.sales) .sec { padding: 5.5rem 0; }
  :where(.sales) .tabs { margin: 0 -1.25rem; padding: 0.25rem 1.25rem 0.5rem; }
  :where(.sales) .tg-cmp { height: 61.25rem; margin-top: 2.5rem; border-radius: 1.5rem; }
  :where(.sales) .tg-no { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(3,minmax(0,1fr)); gap: 1rem; padding: 4.75rem 0.875rem 1.125rem; }
  :where(.sales) .tg-note { padding: 1.375rem 0.875rem 0.875rem; }
  :where(.sales) .tg-note__t { font-size: 1.125rem; }
  :where(.sales) .tg-note b { margin-top: 0.375rem; font-size: 0.9375rem; line-height: 1.375rem; }
  :where(.sales) .tg-note__x { font-size: 0.6875rem; }
  :where(.sales) .tg-lab { top: 1.25rem; height: 2rem; font-size: 0.8125rem; }
  :where(.sales) .tg-no .tg-lab { left: 1rem; }
  :where(.sales) .tg-yes { padding: 4.25rem 0.625rem 0.75rem; }
  :where(.sales) .tg-yes .tg-lab { right: 1rem; }
  :where(.sales) .tg-bar { padding: 0.5rem 0.5rem 0.5rem 0.75rem; }
  :where(.sales) .tg-day b { font-size: 0.8125rem; }
  :where(.sales) .tg-day span, :where(.sales) .tg-stat:first-child { display: none; }
  :where(.sales) .tg-stat { height: 1.75rem; padding: 0 0.625rem; font-size: 0.6875rem; }
  :where(.sales) .tg-stat>b { font-size: 0.75rem; }
  :where(.sales) .tg-heads, :where(.sales) .tg-body { grid-template-columns: 2.5rem repeat(3,minmax(0,1fr)); }
  :where(.sales) .tg-lh { gap: 0.375rem; padding: 0.5rem 0.375rem; font-size: 0.75rem; }
  :where(.sales) .tg-lh .av { width: 1.375rem; height: 1.375rem; font-size: 0.5625rem; }
  :where(.sales) .tg-hrs>span { right: 0.25rem; font-size: 0.625rem; }
  :where(.sales) .tg-past { left: 2.5rem; }
  :where(.sales) .tg-ev, :where(.sales) .tg-free { left: 0.125rem; right: 0.125rem; }
  :where(.sales) .tg-ev { gap: 0 0.25rem; padding: 0.1875rem 0.3125rem 0.1875rem 0.4375rem; border-radius: 0.4375rem; font-size: 0.625rem; line-height: 0.8125rem; }
  :where(.sales) .tg-ev b { font-size: 0.625rem; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
  :where(.sales) .tg-who, :where(.sales) .tg-pay, :where(.sales) .tg-ev em { display: none; }
  :where(.sales) .tg-neu { height: 0.875rem; padding: 0 0.25rem; font-size: 0.5rem; line-height: 0.875rem; }
  :where(.sales) .tg-abs em { display: block; font-size: 0.625rem; }
  :where(.sales) .tg-free { padding: 0 0.375rem; font-size: 0.625rem; }
  :where(.sales) .tg-span { left: 2.625rem; right: 0.125rem; padding: 0 0.5rem; }
  :where(.sales) .tg-c { flex-wrap: wrap; align-content: center; gap: 0.375rem; }
  :where(.sales) .tg-c__l { flex-direction: row; gap: 0.375rem; }
  :where(.sales) .tg-sum { gap: 0.25rem; padding: 0.25rem; }
  :where(.sales) .tg-sum>span { min-width: 0; padding: 0.1875rem 0.4375rem; font-size: 0.5625rem; }
  :where(.sales) .tg-sum b { font-size: 0.9375rem; line-height: 1.125rem; }
  :where(.sales) .tg-chip { height: 1.75rem; font-size: 0.625rem; }
  :where(.sales) .tg-chip i { width: 1.25rem; height: 1.25rem; }
  :where(.sales) .tg-now { left: 2.375rem; }
  :where(.sales) .tg-now__t { left: -2.375rem; width: 2.25rem; }
  :where(.sales) .tg-tick>span { font-size: 0.625rem; }
  :where(.sales) .tg-tip { display: none; }
  :where(.sales) .rc-inp { gap: 0.625rem; }
  :where(.sales) .rc-card { padding: 1rem; }
  :where(.sales) .rc-pic { min-height: 8.125rem; }
  :where(.sales) .rc-ph { width: 4.375rem; height: 4.375rem; }
  :where(.sales) .rc-clk { width: 6.875rem; height: 6.875rem; }
  :where(.sales) .rc-clk em { inset: 1.625rem; }
  :where(.sales) .rc-rose, :where(.sales) .rc-gold { grid-column: 1 / -1; }
  :where(.sales) .rc-ppl { gap: 0.5rem; max-width: 20.625rem; margin: 0 auto; }
  :where(.sales) .rc-coins { height: 8.125rem; }
  :where(.sales) .rc-val { font-size: 1.625rem; }
  :where(.sales) .rc-out { padding: 1.5rem; }
  :where(.sales) .rc-o b { font-size: 4.5rem; }
  :where(.sales) .rc-tiles { gap: 0.1875rem; }
  :where(.sales) .rc-tiles>span { height: 1rem; border-radius: 0.25rem; }
  :where(.sales) .board { padding: 1.125rem; min-height: 0; border-radius: 1.375rem; }
  :where(.sales) .shop { grid-template-columns: minmax(0,1fr); }
  :where(.sales) .shop__main .svc li:nth-child(3) { display: none; }
  :where(.sales) .pay, :where(.sales) .mk, :where(.sales) .rb-r2 { grid-template-columns: minmax(0,1fr); }
  :where(.sales) .tc__heads, :where(.sales) .tc__body { grid-template-columns: 2.25rem repeat(3,minmax(0,1fr)); }
  :where(.sales) .tc__heads .lane-h { gap: 0.375rem; padding: 0.5rem 0.375rem; font-size: 0.75rem; }
  :where(.sales) .tc .ev { font-size: 0.6875rem; padding: 0.375rem; }
  :where(.sales) .tc .ev span { display: none; }
  :where(.sales) .tpill { display: none; }
  :where(.sales) .bars { gap: 0.3125rem; height: 9.375rem; }
  :where(.sales) .num__x { gap: 0.3125rem; font-size: 0.625rem; }
  :where(.sales) .kpis { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  :where(.sales) .kpi:last-child { display: none; }
  :where(.sales) .rc-grid { gap: 1.5rem; margin-top: 2.5rem; }
  :where(.sales) .cmp { padding: 1.375rem; }
  :where(.sales) .fa-top { flex-direction: column; align-items: stretch; gap: 0.875rem; }
  :where(.sales) .fa-seg button { padding: 0 0.75rem; }
  :where(.sales) .fa-rcpt { margin-top: 1.125rem; padding: 1.125rem 1.125rem 1.875rem; }
  :where(.sales) .fa-sum .fa-rv { font-size: 2rem; }
  :where(.sales) .fa-mk { grid-template-columns: minmax(0,1fr) auto; padding: 0.875rem 1rem; }
  :where(.sales) .fa-mk__tag { grid-column: 1 / -1; justify-self: start; }
  :where(.sales) .rb-r2 .card { padding: 1.125rem; }
  :where(.sales) .rb-sr { flex-wrap: wrap; gap: 0.25rem 0.75rem; padding: 0.5rem 0; }
  :where(.sales) .rb-sl { height: 2.375rem; font-size: 0.75rem; }
  :where(.sales) .price__grid { grid-template-columns: minmax(0,1fr); margin-top: 3.5rem; }
  :where(.sales) .inq__form, :where(.sales) .inq__done { padding: 1.5rem 1.25rem 1.25rem; }
  :where(.sales) .inq__grid { grid-template-columns: minmax(0,1fr); }
  :where(.sales) .inq__foot { flex-direction: column; align-items: stretch; }
  .sales .inq__t { font-size: 1.5rem; }
  :where(.sales) .plan { padding: 1.75rem 1.375rem; }
  :where(.sales) .plan--hi { order: -1; margin: 0 0 0.25rem; padding: 2.75rem 1.375rem 1.75rem; }
  :where(.sales) .plan__tag { left: 1.375rem; }
  .sales .price__foot { margin-top: 2rem; }
  :where(.sales) .qa__q { font-size: 1rem; padding: 1.25rem 0; }
  :where(.sales) .qa__a p { padding-right: 0; }
  :where(.sales) .end { padding-bottom: 2.5rem; }
  :where(.sales) .end__box { min-height: 35rem; margin: 0 0.75rem; border-radius: 1.625rem; }
  :where(.sales) .end__in { padding: 4.5rem 1.25rem; }
  :where(.sales) .end__chip { display: none; }
  :where(.sales) .btn--xl { width: 100%; padding: 0 1.25rem; }
  :where(.sales) .foot__links { margin-left: 0; }
}
/* Page additions: hidden panels, the tab timer only while auto-playing, the
   pointer drawn in tokens, and the minutes dial driven by --rc-turn. */
@media (width < 37.5rem) {
  :where(.sales) .top .btn--sm { display: none; }
}
/* A section link lands its headline 2.5rem under the 5rem header: the
   8.5rem section padding minus both (1.75rem under the 4.25rem phone header,
   5.5rem padding). */
.sales section[id] { scroll-margin-top: -1rem; }
.sales section[tabindex="-1"]:focus { outline: none; }
@media (width < 52.5rem) {
  .sales section[id] { scroll-margin-top: 0.5rem; }
}
.sales .board__slot { width: 100%; }
.sales .board__slot[hidden], .sales .rc-more[hidden] { display: none; }
.sales .tab:not(.is-on) .tab__bar, .sales .tabs.is-manual .tab__bar { display: none; }
.sales .cursor path { fill: var(--ink); stroke: var(--terme-color-surface-raised); stroke-width: 1.6; stroke-linejoin: round; }
.sales .rc-clk i { background: conic-gradient(var(--a) 0deg var(--rc-turn), var(--terme-color-avatar-purple-fill) var(--rc-turn) 360deg); }
}
@layer state {
@media (scripting: none) {
.terme-nojs { display: contents; }
.terme-js-placeholder { display: none; }
.discovery-header--with-date .discovery-header__search { height: auto; min-height: 3.5rem; }
.discovery-header__date { display: grid; gap: var(--terme-spacing-4); padding-block: var(--terme-spacing-4); }
.discovery-header--compact .discovery-header__summary { display: none; }
@media (width < 52.5rem) {
  .discovery-header--with-date .discovery-header__segments { grid-template-rows: repeat(2, minmax(2.75rem, auto)); }
}
@media (width < 52.5rem) {
  .discovery-header--compact .discovery-header__search { display: flex; }
}
.sales .qa__a { grid-template-rows: 1fr; }
.sales .qa__a p { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
.sales *, .sales *::before, .sales *::after { animation-duration: 1ms; animation-iteration-count: 1; transition-duration: 1ms; }
:where(.sales) .cursor, :where(.sales) .ghost, :where(.sales) .land, :where(.sales) .tpill, :where(.sales) .run, :where(.sales) .tg-now, :where(.sales) .tg-past, :where(.sales) .tg-tip { display: none; }
.sales .tg *, .sales .inq[open] { animation: none; }
:where(.sales) .tg-cnt__r { transform: translateY(-5rem); }
.sales .rb-r2 * { animation: none; }
}
}