/* Taste in Frame: shared visual system for public and operational pages.
   Loaded after legacy styles; semantic controls and existing routes stay intact. */
:root { --maxw:1360px; --radius:14px; --radius-lg:20px; --header-h:86px; }
body.service-site { background:var(--bg); }
.service-site .container { max-width:var(--maxw); width:calc(100% - 80px); padding-left:0; padding-right:0; }
.service-site .header { background:var(--bg); backdrop-filter:none; box-shadow:none; }
.service-site .header__inner { min-height:86px; gap:24px; }
.service-site .logo { gap:10px; white-space:nowrap; }
.service-site .logo-emblem { border-radius:0; overflow:visible; }
.service-site .logo-emblem::after { display:none; }
.service-site .logo__mark { width:52px; height:44px; }
.taste-wordmark { font-size:17px; letter-spacing:-.7px; font-weight:800; }
.service-site .header-search { margin-left:auto; max-width:310px; background:var(--surface); border-radius:12px; }
.service-site .header-search input { font-size:12px; }
.service-site .header__actions { gap:10px; margin-left:auto; }
.service-site .header__actions .btn { font-size:12px; min-height:38px; padding:8px 14px; }
.service-site .language-switch { background:transparent; border:0; padding:0; }
.service-site .language-switch button { border-radius:8px; font-size:11px; }
.service-site .theme-toggle,.service-site .burger { width:38px; height:38px; border-radius:10px; }
.service-site .btn--primary { background:var(--accent); color:#17120f; box-shadow:none; }
.service-site .btn { border-radius:10px; font-size:14px; font-weight:650; }
.service-site .btn--primary:hover { background:#ff6d29; transform:translateY(-1px); }
.service-site .btn--ghost { background:var(--surface); }
.service-site .main { min-width:0; }
.service-site .ambient { display:none; }
.taste-kicker { display:block; font-size:10px; font-weight:700; letter-spacing:.18em; color:var(--text-muted); }
.taste-hero { display:grid; grid-template-columns:1fr 1fr; min-height:530px; align-items:center; gap:20px; padding-top:28px; padding-bottom:26px; }
.taste-hero__copy { min-width:0; position:relative; z-index:1; padding:25px 0; }
.taste-hero h1 { margin:24px 0; font-size:clamp(56px,6.8vw,98px); font-weight:850; line-height:.98; letter-spacing:-.075em; }
.taste-hero h1>span { color:var(--accent); }
.taste-hero__copy>p { max-width:390px; font-size:16px; line-height:1.7; color:var(--text-muted); }
.taste-hero__actions { display:flex; align-items:center; gap:26px; margin-top:28px; flex-wrap:wrap; }
.taste-hero__actions .btn { min-height:50px; padding:12px 23px; gap:24px; }
.taste-text-link { background:none; border:0; color:var(--text); font:inherit; font-size:13px; font-weight:600; cursor:pointer; padding:12px 0; }
.taste-text-link span { color:var(--accent); margin-left:10px; }
.taste-hero__foot { display:flex; justify-content:space-between; padding-top:30px; margin-top:26px; border-top:1px solid var(--border); font-size:10px; color:var(--text-muted); max-width:400px; }
.taste-collage { position:relative; height:490px; isolation:isolate; }
.taste-collage img { position:absolute; object-fit:cover; }
.taste-collage__chef { width:68%; height:80%; left:0; top:0; clip-path:polygon(15% 0,100% 0,84% 100%,0 100%); object-position:52% 50%; }
.taste-collage__evening { width:39%; height:53%; right:0; top:3%; clip-path:polygon(15% 0,100% 0,100% 88%,0 100%); }
.taste-collage__social { width:60%; height:42%; right:0; bottom:4%; clip-path:polygon(12% 0,100% 0,100% 100%,0 100%); }
.taste-collage__seal { position:absolute; left:15%; bottom:4%; width:98px; height:98px; display:flex; align-items:center; justify-content:center; flex-direction:column; border-radius:50%; background:var(--accent); color:#17120f; font-size:35px; font-weight:850; letter-spacing:-4px; transform:rotate(-12deg); z-index:2; }
.taste-collage__seal span { font-size:6px; letter-spacing:1px; font-weight:700; }
.taste-collage__caption { position:absolute; bottom:0; right:0; color:var(--text-muted); font-size:9px; }
.service-site.home-page .discovery { width:calc(100% - 80px); padding:0; margin:0 auto; }
.service-site .discovery__search { border-radius:14px; padding:20px 24px 14px; box-shadow:0 9px 35px #23180d06; background:var(--surface); }
.service-site .discovery__heading { margin-bottom:16px; }
.service-site .discovery__heading strong { font-size:18px; }
.service-site .discovery__heading>span { font-size:11px; }
.service-site .discovery .suggest-wrap,.service-site .discovery__field { border-radius:8px; background:var(--surface-2); }
.service-site .discovery .searchbox__row { gap:12px; }
.service-site .discovery .searchbox__row>.btn { border-radius:10px; }
.service-site .searchbox__hint { font-size:11px; margin-top:10px; }
.service-site .service-benefits { padding:16px 4px; font-size:11px; border-bottom:1px solid var(--border); }
.service-site .service-nav { min-height:54px; font-size:12px; gap:25px; }
.service-site .discovery-rail { padding-top:8px; padding-bottom:12px; gap:10px; }
.service-site .discovery-rail a { min-height:40px; padding:7px 16px; font-size:12px; background:transparent; border:1px solid var(--border); border-radius:30px; }
.service-site .discovery-rail a span { width:23px; height:23px; background:transparent; font-size:17px; }
.service-site .discovery-rail .rail-all { background:var(--text); color:var(--bg); border-color:var(--text); }
.service-site .workspace-shortcuts { margin-top:24px; }
.service-site .workspace-shortcuts>a { border-radius:12px; padding:18px; }
.service-site .section { padding-top:42px; padding-bottom:20px; }
.service-site .section__head h2 { font-weight:800; font-size:clamp(26px,3vw,40px); letter-spacing:-.05em; }
.service-site .section__head .lead { font-size:14px; margin-top:10px; }
.service-site .occasion { min-height:270px; border:0; border-radius:12px; }
.service-site .occasion h3 { font-size:30px; }
.service-site .editorial-note { font-size:10px; }
.service-site .grid--places,.service-site .catalog-main .grid--places { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; }
.service-site .pcard { border:0; background:transparent; border-radius:0; box-shadow:none; min-width:0; overflow:visible; }
.service-site .pcard__media { height:auto; aspect-ratio:1.48; border-radius:12px; }
.service-site .pcard__body { padding:14px 0 0; gap:5px; }
.service-site .pcard__title { font-size:19px; letter-spacing:-.03em; text-transform:none; line-height:1.25; overflow-wrap:anywhere; }
.service-site .pcard__meta,.service-site .pcard__addr { font-size:12px; }
.service-site .pcard__foot { gap:10px; margin-top:10px; }
.service-site .pcard__check { font-size:11px; }
.service-site .pcard__more { font-size:12px; }
.service-site .pcard:hover { border:0; box-shadow:none; transform:none; }
.service-site .pcard:focus-visible { outline:2px solid var(--accent); outline-offset:7px; border-radius:10px; }
.service-site .edhead { min-height:240px; padding:30px 0; grid-template-columns:minmax(0,1fr) 70px; align-content:center; gap:12px; }
.service-site .edhead__note { max-width:none; font-size:9px; margin-bottom:12px; }
.service-site .edhead__note::after { display:none; }
.service-site .edhead__title { font-size:clamp(36px,4.5vw,66px); line-height:1.04; letter-spacing:-.065em; }
.service-site .edhead__text { max-width:46%; }
.service-site .edhead__lead { max-width:390px; font-size:12px; line-height:1.65; }
.service-site .edhead__mark { grid-row:1/3; grid-column:2; align-self:center; }
.service-site .edhead__side { font-size:8px; letter-spacing:.1em; overflow-wrap:normal; }
.service-site .edhead__media { width:43%; right:85px; top:24px; height:calc(100% - 48px); min-height:0; }
.service-site .edhead__shot { width:100%; height:100%; object-fit:cover; }
.service-site .catalog-search { margin:8px 0 26px; }
.service-site .catalog-search input[type=text],.service-site .catalog-search .btn { border-radius:10px; }
.service-site .catalog-layout { grid-template-columns:205px minmax(0,1fr); gap:35px; }
.service-site .filters { gap:22px; background:none; border:0; padding:0; }
.service-site .filters__group { border-bottom:1px solid var(--border); padding-bottom:18px; }
.service-site .filters__option { font-size:12px; min-height:32px; }
.service-site .filters__title { font-size:12px; }
.service-site .catalog-bar { flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.service-site .catalog-bar__count { font-size:12px; }
.service-site .catalog-bar__sort { min-width:0; font-size:11px; }
.service-site .catalog-bar__sort .custom-select { min-width:150px; }
.service-site .catalog-main { min-width:0; }
.service-site .choice { position:relative; min-width:0; width:100%; }
.service-site .choice__button { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:9px; padding:12px; cursor:pointer; font:inherit; font-size:12px; }
.service-site .choice__button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.service-site .choice__menu { color:var(--text); background:var(--surface); border-color:var(--border); border-radius:12px; font-size:12px; }
.service-site .discovery__field .choice__button { background:transparent; border:0; padding:4px 0; font-size:14px; }
.service-site .catalog-bar__sort .choice { width:175px; }
.service-site .catalog-bar__sort .choice__menu { min-width:190px; left:auto; }
.service-site .venue { gap:0 32px; grid-template-columns:minmax(0,1fr) 340px; }
.service-site .venue__name { font-size:clamp(38px,5vw,74px); letter-spacing:-.055em; font-weight:850; }
.service-site .venue__kind,.service-site .venue__where { font-size:13px; }
.service-site .venue__shot { width:100%; min-width:0; aspect-ratio:auto; height:350px; border-radius:12px; }
.service-site .venue__shot>img { width:100%; height:100%; object-fit:cover; }
.taste-venue-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.taste-venue-gallery figure { margin:0; min-width:0; }
.taste-venue-gallery img { width:100%; height:110px; object-fit:cover; border-radius:8px; }
.taste-venue-gallery figcaption { font-size:9px; margin-top:4px; color:var(--text-muted); overflow-wrap:anywhere; }
.service-site .bookpanel { position:sticky; top:104px; background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:24px; box-shadow:0 12px 35px #23180d05; }
.service-site .bookpanel__title { font-size:23px; letter-spacing:-.04em; }
.service-site .bookpanel__note { font-size:12px; }
.service-site .field input,.service-site .field select,.service-site .field textarea { background:var(--surface-2); border:1px solid var(--border); border-radius:9px; min-width:0; }
.service-site .field label { font-size:12px; }
.service-site .slot { border-radius:8px; font-size:12px; }
.service-site .external-reviews { padding-top:22px; border-top:1px solid var(--border); }
.service-site .external-reviews>h2 { font-size:28px; letter-spacing:-.045em; }
.service-site .external-reviews>p { font-size:12px; }
.service-site .external-reviews__grid { gap:16px; margin-top:20px; }
.service-site .external-reviews .panel { font-size:13px; }
.service-site .layout { grid-template-columns:200px minmax(0,1fr); gap:32px; margin-top:28px; }
.service-site.workspace-page .side { background:transparent; border:0; border-right:1px solid var(--border); padding:12px 20px 24px 0; border-radius:0; }
.service-site .side__title { font-size:9px; letter-spacing:.15em; }
.service-site .side__link { font-size:12px; padding:12px 14px; border-radius:9px; }
.service-site .side__link { justify-content:flex-start; gap:12px; }
.service-site input[type=range],.service-site input[type=checkbox] { accent-color:var(--accent); }
.service-site .empty.panel { margin-bottom:26px; }
.service-site .side__link.is-active { background:var(--accent-soft); color:var(--accent-ink); }
.service-site .layout>div { min-width:0; }
.service-site.workspace-page .edhead { min-height:0; padding-top:2px; padding-bottom:28px; }
.service-site.workspace-page .edhead__text { max-width:100%; }
.service-site.workspace-page .edhead__title { font-size:clamp(36px,4.6vw,62px); }
.service-site.workspace-page .edhead__lead { max-width:540px; }
.service-site .dash-bar { margin-bottom:22px; }
.service-site .stat { border-radius:12px; padding:20px; box-shadow:none; }
.service-site .stat__value { font-size:34px; }
.service-site .stat__label { font-size:11px; }
.service-site .panel { border-radius:14px; box-shadow:none; }
.service-site .bcard { border-radius:12px; padding:20px; }
.service-site .bcard--new { border-left:3px solid var(--accent); }
.service-site .bcard__title { font-size:20px; letter-spacing:-.04em; }
.service-site .bcard__facts { gap:12px; font-size:12px; }
.service-site .guest-booking { grid-template-columns:150px minmax(0,1fr) auto; gap:20px; }
.guest-booking__photo,.guest-booking__placeholder { border-radius:9px; height:150px; width:100%; overflow:hidden; }
.guest-booking__photo img { width:100%; height:100%; object-fit:cover; }
.guest-booking__placeholder { display:flex; justify-content:center; align-items:center; flex-direction:column; background:var(--accent-soft); color:var(--accent); font-size:50px; font-weight:850; letter-spacing:-5px; }
.guest-booking__placeholder span { font-size:7px; letter-spacing:1px; }
.service-site .data th { font-size:9px; letter-spacing:.1em; padding:13px 16px; }
.service-site .data td { font-size:12px; padding:16px; }
.service-site .table-wrap { max-width:100%; overflow:auto; }
.service-site .business-alerts { padding:12px 18px; border-radius:12px; }
.service-site .business-alerts .btn { font-size:11px; }
.service-site .page-head h1 { font-weight:800; }
.service-site .footer { margin-top:65px; border-top:1px solid var(--border); background:var(--bg); }
.service-site .footer__note,.service-site .footer__col a { font-size:12px; }

/* Assistant dialog: a working transcript and a separate voice area. */
.service-site .booking-assistant__launcher { border-radius:14px; background:var(--accent); color:#17120f; border:0; min-height:52px; box-shadow:0 8px 30px #311f1520; }
.service-site .booking-assistant__spark { display:none; }
.service-site .booking-assistant__avatar { background:#17120f; color:#fff7ee; width:34px; height:34px; }
.service-site .booking-assistant__label { font-size:13px; }
.service-site .booking-assistant__panel:not([hidden]) { display:grid; grid-template-columns:minmax(0,1fr) 240px; grid-template-rows:auto minmax(0,1fr) auto auto auto; gap:0 24px; }
.service-site .booking-assistant__panel { width:min(1020px,calc(100vw - 48px)); height:min(820px,calc(100dvh - 48px)); max-height:none; right:24px; bottom:24px; padding:26px; border-radius:20px; background:var(--bg); border:1px solid var(--border-strong); box-shadow:0 24px 100px #0004; }
.service-site .booking-assistant__head { grid-column:1/-1; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.service-site .booking-assistant__head h2 { font-size:30px; font-weight:800; letter-spacing:-.055em; }
.service-site .booking-assistant__eyebrow { font-size:9px; }
.service-site .booking-assistant__close { background:var(--surface-2); color:var(--text); border:1px solid var(--border); }
.service-site .booking-assistant__panel>.booking-assistant__messages { grid-column:1; grid-row:2; min-height:0; margin:0; padding:8px 8px 20px 0; }
.service-site .assistant-message { background:var(--surface); border:1px solid var(--border); font-size:14px; max-width:92%; padding:15px 18px; border-radius:14px 14px 14px 3px; }
.service-site .assistant-message--user { background:var(--accent-soft); border-color:transparent; border-radius:14px 14px 3px 14px; }
.service-site .assistant-place,.service-site .assistant-booking { background:var(--surface); border-radius:12px; padding:16px; font-size:14px; color:var(--text); }
.service-site .assistant-place:hover { border-color:var(--accent); }
.service-site .assistant-place small { display:block; margin-top:7px; color:var(--text-muted); font-size:12px; }
.service-site .booking-assistant__form { grid-column:1; grid-row:3; padding-top:16px; grid-template-columns:minmax(0,1fr) 90px; }
.service-site .booking-assistant__form textarea { background:var(--surface); border-radius:12px; font-size:15px; min-height:68px; height:68px; }
.service-site #assistantSend { border-radius:12px; font-size:12px; }
.service-site .assistant-voice { font-size:11px; }
.service-site .assistant-voice button { font-size:11px; color:var(--text); }
.service-site .booking-assistant__note { grid-column:1; grid-row:5; font-size:10px; margin-top:12px; }
.service-site .booking-assistant__search { grid-column:1; grid-row:4; }
.tolik-voice-room { grid-column:2; grid-row:2/6; align-self:stretch; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; background:var(--surface-2); border-radius:14px; padding:24px 18px; gap:15px; }
.tolik-voice-room h3 { font-size:20px; font-weight:750; letter-spacing:-.04em; }
.tolik-voice-room>p { font-size:12px; color:var(--text-muted); line-height:1.7; }
.tolik-voice-room>small { font-size:10px; color:var(--text-muted); }
.tolik-voice-sphere { display:grid; place-items:center; width:135px; height:135px; border-radius:50%; background:radial-gradient(circle at 30% 24%,#ffd7b4,#ff853c 38%,#e44200 75%); color:#fff1da; font-size:70px; box-shadow:inset -12px -14px 30px #82240030,0 18px 38px #ef6b2024; }
.service-site .tolik-mode { display:flex; flex-direction:column; gap:8px; margin:0; }
.service-site .tolik-mode button { background:var(--surface); border:1px solid var(--border); font-size:12px; padding:12px 16px; border-radius:10px; }
.service-site .tolik-mode button[aria-pressed=true] { background:var(--accent); color:#17120f; }
.service-site [data-state=listening] .tolik-voice-sphere,.service-site [data-state=speaking] .tolik-voice-sphere { animation:taste-breathe 1.8s ease-in-out infinite alternate; }
.service-site .tolik-orb { height:35px; }
@keyframes taste-breathe { to { transform:scale(1.07); box-shadow:0 0 0 12px #ff6a2610,0 15px 40px #ef6b2040; } }
body.taste-dialog-open { overflow:hidden; }
body.taste-dialog-open::after { content:''; position:fixed; inset:0; background:#18141138; backdrop-filter:blur(3px); z-index:149; pointer-events:none; }
.service-site .booking-assistant { z-index:160; }

@media(min-width:1250px) { .service-site .header .nav { display:flex; gap:22px; margin-left:48px; } .service-site .nav__link { font-size:13px; } .service-site .nav__link:nth-child(n+3) { display:none; } .service-site .header-search { display:none; } }
@media(max-width:1100px) {
 .service-site .container,.service-site.home-page .discovery { width:calc(100% - 48px); }
 .service-site .header__inner { gap:16px; }
 .taste-wordmark { font-size:14px; }
 .service-site .header-search { max-width:240px; }
 .taste-hero { min-height:480px; }
 .taste-hero h1 { font-size:66px; }
 .taste-collage { height:430px; }
 .service-site .grid--places,.service-site .catalog-main .grid--places { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-site .guest-booking { grid-template-columns:110px minmax(0,1fr); }
 .guest-booking__photo,.guest-booking__placeholder { height:130px; }
 .service-site .guest-booking .bcard__actions { grid-column:2; display:flex; flex-wrap:wrap; }
 .service-site .venue { grid-template-columns:minmax(0,1fr) 315px; gap:0 24px; }
 .service-site .bookpanel { padding:20px; }
}
@media(max-width:900px) {
 .service-site .header-search { display:none; }
 .service-site .header__actions { margin-left:auto; }
 .service-site .layout { grid-template-columns:165px minmax(0,1fr); gap:22px; }
 .service-site .catalog-layout { grid-template-columns:minmax(0,1fr); }
 .service-site .filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 .service-site .filters__group { margin:0; }
 .service-site .filters__list { display:flex; flex-wrap:wrap; gap:4px 12px; }
 .service-site .filters__hint { grid-column:1/-1; }
 .service-site .edhead__media { display:grid; width:38%; right:55px; }
 .service-site .edhead { grid-template-columns:minmax(0,1fr) 40px; }
 .service-site .edhead__side { display:none; }
 .service-site .venue { grid-template-columns:minmax(0,1fr); grid-template-areas:'head' 'media' 'booking' 'about'; }
 .service-site .bookpanel { position:static; }
 .service-site .venue__booking { margin-top:24px; }
}
@media(max-width:760px) {
 :root { --header-h:72px; }
 .service-site .container,.service-site.home-page .discovery { width:calc(100% - 32px); }
 .service-site .header__inner { min-height:72px; gap:10px; }
 .service-site .logo__mark { width:39px; height:36px; }
 .taste-wordmark { font-size:12px; letter-spacing:-.5px; }
 .service-site .header__actions { gap:6px; }
 .service-site .header__actions>.btn,.service-site .header__actions>.inline-form { display:none; }
 .service-site .language-switch button { padding:7px 6px; min-width:28px; }
 .service-site .theme-toggle,.service-site .burger { width:32px; height:34px; }
 .taste-hero { grid-template-columns:1fr; gap:0; padding-top:18px; min-height:0; }
 .taste-hero__copy { padding:14px 0; }
 .taste-hero h1 { font-size:clamp(52px,11vw,78px); margin:18px 0; letter-spacing:-.07em; }
 .taste-hero__copy>p { font-size:14px; max-width:460px; }
 .taste-hero__actions { margin-top:20px; gap:20px; }
 .taste-hero__foot { display:none; }
 .taste-collage { height:310px; margin:16px 0 10px; }
 .taste-collage__chef { width:65%; object-position:center 60%; }
 .taste-collage__seal { width:74px; height:74px; font-size:28px; left:12%; }
 .taste-collage__seal span { font-size:5px; }
 .service-site .discovery__search { padding:18px; }
 .service-site .discovery .searchbox__row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-site .discovery .suggest-wrap,.service-site .discovery .searchbox__row>.btn { grid-column:1/-1; }
 .service-site .discovery__heading>span { display:none; }
 .service-site .discovery .searchbox__row>.btn { min-height:46px; }
 .service-site .service-benefits { gap:8px 14px; font-size:10px; }
 .service-site .service-nav { gap:18px; overflow-x:auto; white-space:nowrap; min-height:52px; }
 .service-site .service-nav>span { display:none; }
 .service-site .workspace-shortcuts { grid-template-columns:1fr; gap:8px; }
 .service-site .workspace-shortcuts>a { padding:12px 16px; }
 .service-site .workspace-shortcuts small { margin-top:1px; }
 .service-site .occasion-grid { grid-template-columns:1fr; }
 .service-site .occasion { min-height:210px; }
 .service-site .grid--places { gap:24px 14px; }
 .service-site .pcard__title { font-size:17px; }
 .service-site .pcard__foot { flex-direction:column; gap:7px; align-items:flex-start; }
 .service-site .pcard__score { font-size:11px; padding:5px 8px; left:7px; bottom:7px; max-width:calc(100% - 14px); }
 .service-site .pcard__score small { font-size:8px; }
 .service-site .pcard__flag { font-size:9px; }
 .service-site .edhead { min-height:0; padding:28px 0; }
 .service-site .edhead__media { display:none; }
 .service-site .edhead__text { max-width:100%; }
 .service-site .edhead__note { display:block; font-size:8px; margin-bottom:4px; }
 .service-site .edhead__title { font-size:42px; }
 .service-site .edhead__number { font-size:18px; }
 .service-site .filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-site .catalog-bar__sort { flex:1; }
 .service-site .catalog-bar__count { flex-basis:100%; }
 .service-site .layout { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:15px; }
 .service-site.workspace-page .side { position:static; display:flex; overflow-x:auto; white-space:nowrap; gap:5px; border:0; border-bottom:1px solid var(--border); padding:0 0 12px; }
 .service-site .side__title { display:none; }
 .service-site .side__link { flex:0 0 auto; padding:10px 12px; font-size:11px; }
 .service-site .side__link svg { width:15px; }
 .service-site .dash-bar { align-items:flex-start; gap:12px; flex-wrap:wrap; }
 .service-site .grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-site .stat { padding:16px; }
 .service-site .stat__value { font-size:30px; }
 .service-site .guest-booking { grid-template-columns:minmax(0,1fr); padding:16px; }
 .guest-booking__photo,.guest-booking__placeholder { height:170px; }
 .service-site .guest-booking .bcard__actions { grid-column:1; }
 .service-site .venue__shot { height:280px; }
 .service-site .booking-assistant__panel:not([hidden]) { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr) auto auto auto; gap:0; }
 .service-site .booking-assistant__panel { inset:8px; width:calc(100vw - 16px); height:calc(100dvh - 16px); padding:18px; border-radius:18px; }
 .service-site .booking-assistant__head { margin-bottom:10px; padding-bottom:12px; }
 .tolik-voice-room { grid-column:1; grid-row:2; background:none; padding:0 0 12px; border-radius:0; align-items:flex-start; }
 .tolik-voice-room>.taste-kicker,.tolik-voice-room>.tolik-voice-sphere,.tolik-voice-room>h3,.tolik-voice-room>p,.tolik-voice-room>small,.service-site .tolik-voice-room .tolik-orb { display:none; }
 .service-site .tolik-mode { flex-direction:row; }
 .service-site .tolik-mode button { padding:8px 12px; font-size:11px; }
 .service-site .booking-assistant__panel>.booking-assistant__messages { grid-row:3; }
 .service-site .booking-assistant__form { grid-row:4; grid-template-columns:minmax(0,1fr) 78px; }
 .service-site .booking-assistant__search { grid-row:5; }
 .service-site .booking-assistant__note { grid-row:6; font-size:9px; }
 .service-site .booking-assistant__form textarea { font-size:16px; }
 .service-site .booking-assistant__launcher { right:16px; bottom:16px; min-height:48px; }
}
@media(max-width:430px) {
 .service-site .grid--places,.service-site .catalog-main .grid--places { grid-template-columns:minmax(0,1fr); }
 .service-site .pcard__media { aspect-ratio:1.6; }
 .service-site .pcard__foot { flex-direction:row; align-items:baseline; }
 .service-site .pcard__title { font-size:21px; }
 .service-site .filters { grid-template-columns:minmax(0,1fr); }
 .service-site .venue__name { font-size:42px; overflow-wrap:anywhere; }
 .taste-hero h1 { font-size:53px; }
 .taste-collage { height:270px; }
}
@media(prefers-reduced-motion:reduce) { .service-site *, .service-site *::before,.service-site *::after { scroll-behavior:auto; animation:none!important; transition:none!important; } }

/* Reference compositions: separate layouts, not a repeated dashboard template. */
.business-masthead { position:relative; isolation:isolate; min-height:245px; }
.business-masthead__image { position:absolute; right:-5px; top:-80px; width:65%; height:360px; object-fit:cover; clip-path:polygon(0 0,88% 0,100% 83%,15% 100%); z-index:-1; }
.service-site .business-masthead .edhead__title { max-width:9ch; font-size:70px; }
.service-site .business-masthead .edhead__lead { max-width:350px; }
.service-site .business-overview>.side { z-index:2; }
.service-site .business-overview .grid--4 { position:relative; z-index:1; }
.business-service-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:20px; }
.business-service-grid>.panel { min-width:0; }
.business-service-grid .panel__head { padding:0 0 20px; }
.business-service-grid h2 { font-size:22px; letter-spacing:-.045em; }
.business-service-grid .panel__head>a { font-size:11px; }
.business-room__plan { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; gap:22px; min-height:250px; margin:20px 0; padding:25px; border-radius:8px; background:repeating-linear-gradient(90deg,transparent,transparent 39px,var(--border) 40px),var(--surface-2); }
.business-room__table { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid var(--border-strong); background:var(--surface); border-radius:12px; min-height:75px; padding:8px; box-shadow:0 5px 0 var(--border); }
.business-room__table span { font-size:12px; font-weight:700; }
.business-room__table small { font-size:9px; color:var(--text-muted); }
.business-room__plan>p { grid-column:1/-1; font-size:13px; }
.business-week-title { font-size:15px; margin:25px 0 12px; }
.business-day,.business-venue-links>a { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--border); font-size:12px; }
.admin-moderation { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr); gap:20px; margin:24px 0; }
.admin-moderation>.panel { min-width:0; }
.admin-moderation .panel__head { padding:0 0 20px; }
.admin-moderation h2 { font-size:22px; letter-spacing:-.035em; }
.admin-moderation .panel__head>a { font-size:11px; }
.admin-moderation__detail { align-self:start; }
.admin-moderation__detail dl { margin:20px 0; }
.admin-moderation__detail dt { font-size:10px; color:var(--text-muted); margin-top:12px; }
.admin-moderation__detail dd { font-size:12px; overflow-wrap:anywhere; }
.admin-moderation__detail>.muted { font-size:13px; margin:15px 0; }
.tolik-context-menu { display:flex; flex-direction:column; grid-column:1; grid-row:1/6; border-right:1px solid var(--border); padding:10px 20px 0 0; gap:14px; }
.tolik-context-menu strong { font-size:13px; }
.tolik-context-menu button { font:inherit; font-size:12px; text-align:left; color:var(--text); background:transparent; border:0; border-radius:12px; padding:16px 12px; cursor:pointer; }
.tolik-context-menu button:hover { background:var(--accent-soft); }
.tolik-context-menu small { margin-top:auto; padding-bottom:15px; color:var(--text-muted); font-size:10px; }
.service-site .tolik-context-menu { display:none; }
.reference-home { position:relative; isolation:isolate; margin-top:-86px; }
.service-site.home-page .header,.service-site.catalog-page .header,.service-site.guest-page .header,.service-site.venue-page .header { background:transparent; border-bottom-color:transparent; }
.service-site .header__actions { border-radius:20px; background:var(--bg); padding:4px; }
.service-site .header .nav { background:var(--bg); border-radius:12px; padding:8px 12px; }
.service-site .taste-hero { width:100%; max-width:none; height:665px; min-height:0; padding:0; display:block; position:relative; }
.service-site .taste-hero__copy { position:absolute; top:0; left:0; width:57%; height:450px; padding:120px 0 0 9.5%; z-index:2; }
.taste-hero__copy::before { content:''; position:absolute; z-index:-1; inset:0 -10px -16px 0; background:var(--bg); clip-path:polygon(0 0,81% 0,100% 90%,0 100%); }
.service-site .taste-hero h1 { font-size:clamp(65px,6.3vw,97px); line-height:.94; margin:0 0 22px; font-weight:800; letter-spacing:-.065em; white-space:nowrap; }
.service-site .taste-hero__copy>p { font-size:14px; max-width:430px; line-height:1.5; }
.service-site .taste-hero__copy>.taste-kicker { position:absolute; left:35px; top:130px; max-width:66px; line-height:1.7; font-size:8px; }
.service-site .taste-hero__actions,.service-site .taste-hero__foot { display:none; }
.service-site .taste-collage { position:absolute; inset:0; height:100%; margin:0; z-index:0; }
.service-site .taste-collage__chef { width:62%; height:470px; left:auto; right:2%; top:0; clip-path:polygon(0 0,89% 0,100% 71%,11% 100%); object-position:center 65%; }
.service-site .taste-collage__evening { width:42%; height:280px; left:9%; right:auto; top:auto; bottom:0; clip-path:polygon(8% 16%,100% 0,100% 100%,0 100%); content:url('../img/taste-table.webp'); }
.service-site .taste-collage__social { width:57%; height:310px; right:0; bottom:0; clip-path:polygon(0 24%,100% 0,100% 100%,0 100%); }
.service-site .taste-collage__seal { display:none; }
.service-site .taste-collage__caption { background:var(--bg); right:0; top:80px; bottom:auto; width:110px; padding:15px 20px 65px; font-size:11px; line-height:1.8; text-transform:uppercase; letter-spacing:2px; clip-path:polygon(0 0,100% 0,100% 90%,20% 100%); }
.service-site.home-page .reference-home .discovery { position:absolute; top:375px; left:9.5%; width:min(760px,69%); z-index:4; margin:0; }
.service-site .reference-home .discovery__search { padding:5px; border-radius:24px; box-shadow:0 8px 30px #342a1510; }
.service-site .reference-home .discovery__heading,.service-site .reference-home .searchbox__hint,.service-site .reference-home .service-benefits { display:none; }
.service-site .reference-home .searchbox__row { grid-template-columns:minmax(100px,1.4fr) minmax(90px,1fr) minmax(90px,1fr) auto; gap:0; }
.service-site .reference-home .suggest-wrap,.service-site .reference-home .discovery__field { background:transparent; border-radius:0; padding:6px 12px; border-right:1px solid var(--border); }
.service-site .reference-home .searchbox__row>.btn { border-radius:20px; padding:12px 24px; min-height:52px; margin-left:5px; }
.service-site .reference-home label { font-size:8px; }
.service-site .reference-home #searchInput { font-size:12px; min-height:24px; }
.service-site .reference-home .choice__button { font-size:12px; }
.service-site .reference-venue-strip { position:relative; width:100%; max-width:none; margin:0 auto 20px; padding:22px 4%; border-radius:14px 14px 0 0; background:var(--bg); z-index:3; }
.reference-strip-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:14px; }
.reference-strip-head h2 { font-size:21px; letter-spacing:-.04em; }
.reference-strip-head>a { font-size:11px; white-space:nowrap; }
.reference-venue-strip__cards { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.service-site .reference-venue-strip .pcard__media { aspect-ratio:1.65; border-radius:8px; }
.service-site .reference-venue-strip .pcard__body { padding-top:8px; }
.service-site .reference-venue-strip .pcard__title { font-size:14px; text-transform:uppercase; }
.service-site .reference-venue-strip .pcard__addr,.service-site .reference-venue-strip .pcard__foot,.service-site .reference-venue-strip .pcard__score,.service-site .reference-venue-strip .pcard__flag { display:none; }
.service-site .reference-venue-strip .pcard__meta { font-size:10px; }
.service-site.catalog-page .edhead { padding-top:130px; min-height:240px; margin-top:-25px; }
.service-site.catalog-page .edhead__text { max-width:100%; z-index:2; }
.service-site.catalog-page .edhead__title { font-size:clamp(44px,5vw,77px); white-space:nowrap; }
.service-site.catalog-page .edhead__lead { max-width:100%; font-size:14px; }
.service-site.catalog-page .edhead__media { top:-60px; left:8%; right:auto; width:90%; height:230px; z-index:0; grid-template-columns:1.2fr 1fr; clip-path:polygon(0 26%,96% 0,100% 100%,0 58%); }
.service-site.catalog-page .edhead__note { position:absolute; top:35px; left:0; width:75px; font-size:8px; }
.service-site.catalog-page .edhead__mark { position:absolute; right:0; top:0; z-index:2; background:var(--bg); padding:8px; }
.service-site.catalog-page .catalog-search { max-width:600px; margin:0 0 20px auto; }
.service-site.catalog-page .catalog-search input[type=text],.service-site.catalog-page .catalog-search .btn { height:40px; font-size:12px; }
.service-site.catalog-page .pcard__media { aspect-ratio:1.95; }
.service-site.catalog-page .pcard__body { grid-template-columns:minmax(0,1fr); min-width:0; }
.service-site.catalog-page .pcard__title,.service-site.catalog-page .pcard__meta,.service-site.catalog-page .pcard__addr { grid-column:1; }
.service-site.catalog-page .pcard__foot { grid-column:1/-1; margin-top:4px; }

/* Guest: photo masthead, editorial booking and illustrated history. */
.service-site.guest-page .guest-screen>.edhead { min-height:250px; padding:30px 0 30px 12%; position:relative; margin-top:-12px; }
.service-site.guest-page .guest-screen>.edhead .edhead__title { font-size:clamp(50px,6vw,87px); white-space:nowrap; }
.service-site.guest-page .guest-screen>.edhead .edhead__text { max-width:580px; isolation:isolate; }
.service-site.guest-page .guest-screen>.edhead .edhead__text::before { content:''; position:absolute; inset:-110px -60px -20px -210px; background:var(--bg); clip-path:polygon(0 0,85% 0,100% 100%,0 100%); z-index:-1; }
.service-site.guest-page .guest-screen>.edhead .edhead__note { position:absolute; grid-column:auto; grid-row:auto; left:0; top:55px; max-width:110px; }
.service-site.guest-page .guest-screen>.edhead .edhead__media { display:grid; top:-85px; right:50px; height:335px; width:62%; clip-path:polygon(0 0,87% 0,100% 100%,9% 78%); }
.service-site.guest-page .guest-screen>.edhead .edhead__shot--wide { clip-path:none; grid-column:1/-1; }
.service-site.guest-page .guest-screen>.edhead .edhead__shot--tall { display:none; }
.service-site.guest-page .guest-screen>.edhead .edhead__mark { position:absolute; right:0; top:15px; background:var(--bg); padding:12px; }
.service-site .guest-screen>.layout { grid-template-columns:245px minmax(0,1fr); gap:32px; margin-top:12px; }
.service-site .guest-screen .side { border:0; padding-right:0; }
.service-site .guest-screen .side__link { font-size:15px; padding:16px; }
.guest-identity { border:1px solid var(--border); border-radius:18px; padding:22px; display:grid; gap:12px; margin-top:30px; background:var(--surface); }
.guest-identity__avatar { height:60px; width:60px; border-radius:50%; display:grid; place-items:center; font-size:26px; background:var(--accent-soft); color:var(--accent-ink); }
.guest-identity>a { font-size:11px; text-decoration:underline; }
.service-site .guest-screen .dash-bar { font-size:12px; margin-bottom:18px; }
.service-site .guest-screen .guest-booking { grid-template-columns:minmax(230px,1.2fr) minmax(180px,1fr) auto; gap:22px; padding:10px; min-height:240px; }
.service-site .guest-screen .guest-booking__photo,.service-site .guest-screen .guest-booking__placeholder { height:230px; }
.service-site .guest-screen .guest-booking__details { padding:12px 0; }
.service-site .guest-screen .guest-booking .bcard__facts { flex-direction:column; gap:8px; font-size:14px; }
.service-site .guest-screen .guest-booking .bcard__actions { padding:0 15px 0 0; }
.guest-history__row { display:grid; grid-template-columns:185px minmax(0,1fr) auto 36px; gap:22px; align-items:center; padding:12px 0; border-bottom:1px solid var(--border); }
.guest-history__image { height:105px; background:var(--surface-2); border-radius:10px; overflow:hidden; display:grid; place-items:center; color:var(--accent); font-size:34px; font-weight:800; }
.guest-history__image img { width:100%; height:100%; object-fit:cover; }
.guest-history__row p,.guest-history__date { color:var(--text-muted); font-size:12px; margin:6px 0; }
.guest-history__row .badge { font-size:10px; padding:3px 8px; }

/* Venue: title and large gallery share a single broad opening composition. */
.service-site.venue-page .crumbs { position:relative; z-index:3; width:40%; }
.service-site.venue-page .venue { display:grid; position:relative; grid-template-columns:minmax(0,1fr) 330px; grid-template-areas:'head booking' 'about booking'; padding-top:0; }
.service-site.venue-page .venue__head { position:relative; z-index:2; width:45%; min-height:280px; padding-top:8px; }
.service-site.venue-page .venue__name { font-size:clamp(42px,5vw,74px); line-height:1; overflow-wrap:break-word; }
.service-site.venue-page .venue__flags { gap:6px; }
.service-site.venue-page .chip { font-size:10px; padding:5px 9px; }
.service-site.venue-page .venue__media { grid-area:head; width:100%; margin-top:0; padding-top:315px; position:relative; min-height:520px; }
.service-site.venue-page .venue__shot { position:absolute; top:-115px; left:42%; width:calc(58% + 350px); height:420px; clip-path:polygon(13% 0,100% 0,100% 83%,0 100%); border-radius:0; }
.service-site.venue-page .media-note { position:relative; margin-top:6px; max-width:60%; font-size:10px; }
.service-site.venue-page .taste-venue-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.service-site.venue-page .taste-venue-gallery img { height:180px; border-radius:4px; }
.service-site.venue-page .taste-venue-gallery figcaption { font-size:9px; }
.service-site.venue-page .venue__booking { position:relative; z-index:4; padding-top:180px; }
.service-site.venue-page .bookpanel { border-radius:16px; padding:24px; top:20px; }
.service-site.venue-page .venue__about { margin-top:15px; padding-right:16px; }
.venue-tabs { display:flex; gap:26px; border-bottom:1px solid var(--border); margin-bottom:24px; padding:0 0 14px; font-size:13px; }
.venue-tabs a { border-bottom:2px solid transparent; padding-bottom:12px; }
.venue-tabs a[aria-current="true"] { border-bottom-color:var(--accent); }
.service-site.venue-page .external-reviews { width:calc(100% - 365px); }

/* Tolik is a full workspace, not a chat bubble enlarged into a modal. */
.service-site .booking-assistant__panel { inset:12px; width:calc(100vw - 24px); height:calc(100dvh - 24px); padding:28px; border-radius:16px; }
.service-site .booking-assistant__panel:not([hidden]) { grid-template-columns:minmax(0,1fr) 280px; gap:0 32px; }
.service-site .booking-assistant__head { grid-column:1; margin-bottom:18px; padding:0 0 20px; border:0; position:relative; }
.service-site .booking-assistant__head h2 { font-size:clamp(33px,4vw,58px); line-height:1.02; letter-spacing:-.06em; }
.service-site .booking-assistant__close { position:fixed; right:30px; top:28px; z-index:4; }
.service-site .booking-assistant__panel>.booking-assistant__messages { background:var(--surface); border:1px solid var(--border); border-bottom:0; border-radius:16px 16px 0 0; padding:22px; }
.service-site .booking-assistant__form { padding:15px 22px; border:1px solid var(--border); border-top:0; border-radius:0 0 16px 16px; background:var(--surface); }
.service-site .booking-assistant__form textarea { border-radius:22px; background:var(--bg); }
.service-site #assistantSend { border-radius:22px; }
.service-site .tolik-voice-room { grid-row:1/6; background:transparent; border-radius:0; padding-top:180px; padding-bottom:140px; position:relative; overflow:hidden; }
.tolik-voice-room::before,.tolik-voice-room::after { content:''; position:absolute; left:0; right:0; height:165px; background:url('../img/taste-table.webp') center/cover; clip-path:polygon(14% 0,100% 0,100% 79%,0 100%); }
.tolik-voice-room::before { top:0; }
.tolik-voice-room::after { bottom:0; height:130px; transform:rotate(180deg); }
.service-site .tolik-voice-sphere { width:205px; height:205px; flex-shrink:0; background:transparent; border:23px solid #ff681c; color:var(--accent); box-shadow:inset 5px 6px 15px #e64a0033,0 0 0 10px #ff7c3630,0 0 0 19px #ff7c3615; font-size:27px; }
.service-site .tolik-voice-sphere>span { letter-spacing:3px; }
.service-site .tolik-voice-room h3 { font-size:25px; }
.service-site .booking-assistant__launcher { background:var(--surface); color:var(--text); border-radius:22px; border:1px solid var(--border); min-height:48px; }

@media(max-width:1100px) {
 .service-site .taste-hero h1 { font-size:70px; }
 .service-site .taste-hero__copy { padding-left:8%; }
 .service-site .taste-hero__copy>.taste-kicker { left:18px; max-width:45px; font-size:7px; }
 .service-site .guest-screen>.layout { grid-template-columns:180px minmax(0,1fr); gap:22px; }
 .service-site .guest-screen .guest-booking { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .service-site .guest-screen .guest-booking .bcard__actions { grid-column:2; padding-bottom:10px; }
 .guest-history__row { grid-template-columns:125px minmax(0,1fr) auto; gap:14px; }
 .guest-history__date { grid-column:2; }
 .guest-history__row>.btn { grid-column:3; grid-row:1/3; }
 .service-site .booking-assistant__panel:not([hidden]) { grid-template-columns:minmax(0,1fr) 220px; gap:0 18px; }
 .service-site .tolik-voice-sphere { width:155px; height:155px; border-width:18px; }
}
@media(max-width:900px) {
 .reference-home { margin-top:0; }
 .service-site .taste-hero { height:570px; }
 .service-site .taste-hero__copy { padding-top:35px; height:320px; }
 .service-site .taste-hero h1 { font-size:60px; }
 .service-site .taste-hero__copy>.taste-kicker { display:none; }
 .service-site .taste-collage__chef { height:360px; }
 .service-site .taste-collage__caption { display:none; }
 .service-site.home-page .reference-home .discovery { top:250px; left:5%; width:90%; }
 .reference-venue-strip__cards { grid-template-columns:repeat(6,180px); overflow-x:auto; padding-bottom:12px; }
 .service-site.venue-page .venue { grid-template-columns:minmax(0,1fr); grid-template-areas:'head' 'booking' 'about'; }
 .service-site.venue-page .venue__head { width:48%; min-height:230px; }
 .service-site.venue-page .venue__shot { left:46%; width:54%; height:330px; top:-70px; }
 .service-site.venue-page .venue__media { padding-top:270px; min-height:300px; }
 .service-site.venue-page .venue__booking { padding-top:0; margin-top:20px; }
 .service-site.venue-page .external-reviews { width:100%; }
 .service-site .guest-screen>.edhead .edhead__note { display:none!important; }
 .service-site.guest-page .guest-screen>.edhead { padding-left:0; }
}
@media(max-width:760px) {
 .service-site .taste-hero { height:570px; }
 .service-site .taste-hero__copy { width:100%; height:265px; padding:24px 24px 0; }
 .taste-hero__copy::before { inset:0 0 -10px; clip-path:polygon(0 0,89% 0,100% 92%,0 100%); }
 .service-site .taste-hero h1 { font-size:clamp(45px,10vw,66px); margin-bottom:18px; }
 .service-site .taste-hero__copy>p { font-size:12px; max-width:80%; }
 .service-site .taste-collage__chef { top:200px; height:320px; width:67%; right:0; clip-path:polygon(12% 0,100% 0,100% 100%,0 100%); }
 .service-site .taste-collage__evening { bottom:0; left:0; width:45%; height:230px; }
 .service-site .taste-collage__social { width:62%; height:150px; bottom:0; }
 .service-site.home-page .reference-home .discovery { top:215px; left:16px; width:calc(100% - 32px); }
 .service-site .reference-home .searchbox__row { grid-template-columns:1fr 1fr; gap:0; }
 .service-site .reference-home .suggest-wrap { grid-column:1; }
 .service-site .reference-home .discovery__field { grid-column:auto; }
 .service-site .reference-home .searchbox__row>.btn { grid-column:auto; margin:3px; min-height:42px; padding:8px; font-size:12px; }
 .service-site .reference-home .discovery__search { border-radius:18px; }
 .service-site .reference-venue-strip { padding:18px 16px; }
 .reference-strip-head h2 { font-size:18px; }
 .service-site.catalog-page .edhead { padding-top:115px; min-height:0; }
 .service-site.catalog-page .edhead__title { font-size:38px; white-space:normal; }
 .service-site.catalog-page .edhead__media { display:grid; top:0; height:110px; width:100%; left:0; clip-path:polygon(0 0,100% 0,100% 100%,0 72%); }
 .service-site.catalog-page .edhead__note,.service-site.catalog-page .edhead__mark { display:none; }
 .service-site.catalog-page .edhead__lead { font-size:12px; }
 .service-site.guest-page .guest-screen>.edhead { min-height:225px; padding:120px 0 15px; }
 .service-site.guest-page .guest-screen>.edhead .edhead__media { display:block; width:100%; right:0; top:0; height:125px; clip-path:polygon(0 0,100% 0,100% 100%,0 80%); }
 .service-site.guest-page .guest-screen>.edhead .edhead__text { max-width:100%; }
 .service-site.guest-page .guest-screen>.edhead .edhead__text::before { display:none; }
 .service-site.guest-page .guest-screen>.edhead .edhead__title { font-size:45px; white-space:normal; }
 .service-site.guest-page .guest-screen>.edhead .edhead__mark { display:none; }
 .service-site .guest-screen>.layout { grid-template-columns:minmax(0,1fr); }
 .service-site .guest-screen .side { display:flex; }
 .guest-identity { display:none; }
 .service-site .guest-screen .side__link { font-size:12px; padding:12px; }
 .service-site .guest-screen .guest-booking { grid-template-columns:minmax(0,1fr); gap:12px; padding:12px; }
 .service-site .guest-screen .guest-booking .bcard__actions { grid-column:1; }
 .service-site .guest-screen .guest-booking__details { padding:4px 5px; }
 .guest-history__row { grid-template-columns:90px minmax(0,1fr) 30px; gap:12px; }
 .guest-history__image { height:88px; grid-row:1/3; }
 .guest-history__row .bcard__title { font-size:17px; }
 .service-site.venue-page .crumbs { width:100%; }
 .service-site.venue-page .venue__head { width:100%; min-height:0; padding-bottom:20px; }
 .service-site.venue-page .venue__media { grid-area:media; padding-top:0; min-height:0; }
 .service-site.venue-page .venue { grid-template-areas:'head' 'media' 'booking' 'about'; }
 .service-site.venue-page .venue__shot { position:relative; width:100%; height:260px; top:0; left:0; clip-path:polygon(0 0,100% 0,100% 94%,0 100%); }
 .service-site.venue-page .taste-venue-gallery img { height:100px; }
 .service-site.venue-page .media-note { max-width:100%; }
 .service-site .booking-assistant__panel { inset:8px; width:calc(100vw - 16px); height:calc(100dvh - 16px); padding:16px; }
 .service-site .booking-assistant__panel:not([hidden]) { grid-template-columns:minmax(0,1fr); gap:0; }
 .service-site .booking-assistant__head h2 { font-size:28px; padding-right:35px; }
 .service-site .booking-assistant__head { margin-bottom:10px; padding-bottom:5px; }
 .service-site .booking-assistant__close { top:20px; right:20px; }
 .service-site .tolik-voice-room { grid-row:2; padding:0 0 12px; }
 .tolik-voice-room::before,.tolik-voice-room::after { display:none; }
 .service-site .booking-assistant__panel>.booking-assistant__messages { padding:14px; }
 .service-site .booking-assistant__form { padding:12px 0 0; border:0; background:none; }
}
/* Complete reference workspace layout, with functional prompt shortcuts. */
.assistant-recommendation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.service-site .assistant-recommendation-grid .assistant-place { min-width:0; margin:0; font-size:13px; overflow:hidden; }
.assistant-place>img { display:block; width:calc(100% + 32px); max-width:none; height:135px; object-fit:cover; margin:-16px -16px 12px; }
@media(max-width:760px) { .assistant-recommendation-grid { grid-template-columns:minmax(0,1fr); } }
@media(min-width:1101px) {
 .service-site .booking-assistant__panel:not([hidden]) { grid-template-columns:180px minmax(0,1fr) 270px; gap:0 25px; }
 .service-site .tolik-context-menu { display:flex; }
 .service-site .booking-assistant__head,.service-site .booking-assistant__panel>.booking-assistant__messages,.service-site .booking-assistant__form,.service-site .booking-assistant__search,.service-site .booking-assistant__note { grid-column:2; }
 .service-site .tolik-voice-room { grid-column:3; }
 .service-site .booking-assistant__head h2 { font-size:45px; }
}
@media(max-width:1100px) {
 .business-service-grid,.admin-moderation { grid-template-columns:minmax(0,1fr); }
 .business-masthead__image { width:58%; height:260px; top:0; }
 .service-site .business-masthead .edhead__title { font-size:52px; }
}
@media(max-width:760px) {
 .business-masthead { min-height:230px; padding-top:100px; }
 .business-masthead__image { width:100%; top:0; height:120px; clip-path:polygon(0 0,100% 0,100% 100%,0 80%); }
 .service-site .business-masthead .edhead__title { font-size:43px; max-width:none; }
 .business-room__plan { padding:15px; gap:16px; }
 .admin-moderation .panel__head { flex-wrap:wrap; }
}

/* Keep the editorial header opaque once content moves underneath it. */
.service-site .header.header--scrolled { background:var(--bg); border-bottom:1px solid var(--border); box-shadow:0 6px 24px #00000008; }
.service-site .stolik-wordmark { display:inline-flex; align-items:baseline; font-family:Inter,Arial,sans-serif; font-size:40px; font-weight:900; letter-spacing:-2.5px; line-height:1; color:var(--text); text-transform:none; }
.service-site .stolik-wordmark>span:first-child { color:var(--accent); }
.service-site .stolik-wordmark__dot { width:7px; height:7px; border-radius:50%; background:var(--accent); margin-left:3px; }
@media(max-width:760px) { .service-site .stolik-wordmark { font-size:33px; letter-spacing:-2px; } }
