/* Reference composition: separate content cells, never absolute text over venue photos. */
.service-site .header { background:var(--bg)!important; }
.service-site .reference-home--showcase { margin:0; }
.service-site .reference-home--showcase .taste-hero { width:calc(100% - 80px); max-width:1360px; height:auto; margin:auto; display:grid; grid-template-columns:1.05fr 1fr; grid-template-rows:auto auto 250px; gap:12px; padding:16px 0 0; isolation:isolate; align-items:stretch; }
.service-site .reference-home--showcase .taste-hero__copy { position:relative; inset:auto; grid-column:1; grid-row:1; width:auto; height:auto; min-width:0; padding:25px 16px 14px 50px; background:var(--bg); }
.reference-home--showcase .taste-hero__copy::before { display:none; }
.service-site .reference-home--showcase .taste-hero h1 { font-size:clamp(60px,5.9vw,90px); line-height:.98; letter-spacing:-.065em; margin:12px 0 22px; white-space:normal; overflow-wrap:normal; }
.service-site .reference-home--showcase .taste-hero__copy>.taste-kicker { position:static; max-width:none; font-size:9px; letter-spacing:.2em; margin-bottom:16px; }
.service-site .reference-home--showcase .taste-hero__copy>p { font-size:14px; line-height:1.6; max-width:430px; margin:0; }
.showcase-photo { position:relative; min-width:0; min-height:0; overflow:hidden; border-radius:10px; }
.showcase-photo .scene-slider { border-radius:inherit; }
.showcase-photo--chef { grid-column:2; grid-row:1/3; }
.showcase-photo--table { grid-column:1; grid-row:3; margin-left:50px; }
.showcase-photo--people { grid-column:2; grid-row:3; }
.showcase-photo--chef .scene-slide { object-position:53% 66%; }
.showcase-photo--table .scene-slide { object-position:50% 65%; }
.showcase-photo--people .scene-slide { object-position:50% 50%; }
.service-site.home-page .reference-home--showcase .discovery { position:relative; inset:auto; width:calc(100% + 120px); grid-column:1; grid-row:2; margin:0 0 22px 50px; max-width:none; z-index:6; }
.service-site .reference-home--showcase .discovery__search { padding:6px; border-radius:20px; background:var(--surface); box-shadow:0 12px 30px #20160c0b; }
.service-site .reference-home--showcase .searchbox__row { grid-template-columns:1.2fr .85fr .85fr auto; }
.service-site .reference-home--showcase label { font-size:9px; }
.service-site .reference-home--showcase .searchbox__row>.btn { padding:12px 18px; }
.showcase-photo .scene-controls { bottom:12px; right:12px; padding:2px 4px; background:#16130f9e; }
.showcase-photo .scene-counter { display:none; }
.showcase-photo .scene-controls button { min-width:30px; height:30px; }
.showcase-photo--chef .scene-controls { top:12px; bottom:auto; }
.service-site .reference-venue-strip { padding-top:28px; }
.service-site .reference-venue-strip .pcard__media { aspect-ratio:1.72; border-radius:10px; }
.service-site .pcard__title { line-height:1.2; }

/* A real grid replaces the previously shared head/media cell. */
.service-site.venue-page .crumbs { width:100%; margin:20px 0; }
.service-site.venue-page .venue { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr) 330px; grid-template-areas:'head shot shot' 'gallery gallery booking' 'note note booking' 'about about booking'; gap:18px 24px; padding:0; align-items:start; }
.service-site.venue-page .venue__head { grid-area:head; position:static; width:auto; min-height:0; padding:24px 12px 20px 0; }
.service-site.venue-page .venue__name { font-size:clamp(40px,4.6vw,68px); line-height:1.04; letter-spacing:-.045em; overflow-wrap:anywhere; margin:0 0 18px; }
.service-site.venue-page .venue__kind { font-size:12px; line-height:1.7; }
.service-site.venue-page .venue__where { font-size:14px; line-height:1.6; margin:14px 0 18px; }
.service-site.venue-page .venue__flags { flex-wrap:wrap; }
.service-site.venue-page .venue__media { display:contents; }
.service-site.venue-page .venue__shot { grid-area:shot; position:relative; inset:auto; width:100%; height:355px; clip-path:none; border-radius:12px; }
.service-site.venue-page .venue__shot .scene-slider { border-radius:inherit; }
.service-site.venue-page .venue__shot .scene-slide { object-position:center; }
.service-site.venue-page .venue__shot .scene-controls { left:16px; right:auto; bottom:16px; }
.service-site.venue-page .taste-venue-gallery { grid-area:gallery; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.service-site.venue-page .taste-venue-gallery figure { min-width:0; margin:0; }
.service-site.venue-page .taste-venue-gallery img { width:100%; height:165px; object-fit:cover; border-radius:10px; }
.service-site.venue-page .taste-venue-gallery figcaption { font-size:9px; line-height:1.4; margin-top:6px; }
.service-site.venue-page .media-note { grid-area:note; position:static; margin:0; width:auto; max-width:none; font-size:11px; }
.service-site.venue-page .venue__booking { grid-area:booking; position:relative; padding:0; margin-top:-65px; z-index:3; width:100%; }
.service-site.venue-page .bookpanel { position:sticky; top:105px; padding:24px; border-radius:18px; background:var(--surface); box-shadow:0 14px 45px #291e110d; border:1px solid var(--border); }
.service-site.venue-page .bookpanel__title { font-size:25px; letter-spacing:-.04em; }
.service-site.venue-page .venue__about { grid-area:about; padding:0; margin:10px 0 0; min-width:0; }
.service-site.venue-page .venue__text { max-width:65ch; line-height:1.75; }
.service-site.venue-page .venue__facts { gap:20px; }
.service-site.venue-page .external-reviews { width:calc(100% - 354px); margin-top:28px; }
.venue-tabs { flex-wrap:wrap; gap:22px; }
/* Вкладки прокручивают к разделу, не пряча его заголовок под шапкой сайта. */
#venueAbout, #venuePhotos, #venueReviews { scroll-margin-top:96px; }

/* Shared masthead proportions, while each workspace keeps its own content layout. */
.service-site.catalog-page .edhead,.service-site.guest-page .guest-screen>.edhead { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); grid-template-areas:'copy photo'; gap:35px; padding:24px 0; margin:0 0 24px; min-height:280px; align-items:center; }
.service-site.catalog-page .edhead__text,.service-site.guest-page .guest-screen>.edhead .edhead__text { grid-area:copy; position:relative; max-width:none; min-width:0; padding:0; }
.service-site.catalog-page .edhead__title,.service-site.guest-page .guest-screen>.edhead .edhead__title { font-size:clamp(40px,4.3vw,68px); line-height:1.04; white-space:normal; letter-spacing:-.05em; }
.service-site.catalog-page .edhead__lead,.service-site.guest-page .guest-screen>.edhead .edhead__lead { font-size:14px; line-height:1.65; max-width:470px; }
.service-site.catalog-page .edhead__media,.service-site.guest-page .guest-screen>.edhead .edhead__media { grid-area:photo; position:relative; display:block; inset:auto; width:100%; height:245px; opacity:1; clip-path:none; overflow:hidden; border-radius:12px; }
.service-site.catalog-page .edhead__media::after,.service-site.guest-page .guest-screen>.edhead .edhead__text::before { display:none; }
.service-site.catalog-page .edhead__mark,.service-site.catalog-page .edhead__note,.service-site.guest-page .guest-screen>.edhead .edhead__mark,.service-site.guest-page .guest-screen>.edhead .edhead__note { display:none!important; }
.service-site .guest-screen>.layout { grid-template-columns:240px minmax(0,1fr); gap:32px; }
.guest-section-title { font-size:26px; letter-spacing:-.035em; margin:0 0 16px; }
.booking-fact-label { display:inline-block; min-width:46px; font-size:10px; letter-spacing:.04em; color:var(--text-muted); text-transform:uppercase; margin-right:6px; }
.service-site .guest-screen .guest-booking { grid-template-columns:minmax(200px,1.2fr) minmax(180px,1fr) 145px; gap:22px; padding:12px; border-radius:18px; align-items:center; }
.service-site .guest-screen .guest-booking .bcard__actions { grid-column:3; display:flex; padding:0 4px 0 0; flex-direction:column; gap:12px; }
.service-site .guest-screen .guest-booking__photo { grid-row:1; height:260px; min-height:0; border-radius:12px; }
.service-site .guest-screen .guest-booking__details { padding:12px 0 0; }
.service-site .guest-screen .guest-booking .bcard__head { flex-direction:column; align-items:flex-start; gap:12px; }
.service-site .guest-screen .guest-booking .bcard__title { font-size:24px; letter-spacing:-.03em; }
.service-site .business-masthead { display:grid; grid-template-columns:1fr 1fr; grid-template-areas:'copy photo'; gap:24px; margin:0 0 28px; align-items:center; min-height:0; }
.service-site .business-masthead__image { grid-area:photo; position:relative; inset:auto; width:100%; height:240px; clip-path:none; border-radius:12px; }
.service-site .business-masthead>.edhead { grid-area:copy; position:static; min-height:0; padding:0; margin:0; display:block; }
.service-site .business-masthead .edhead__note,.service-site .business-masthead .edhead__mark { display:none; }
.service-site .business-masthead .edhead__title { font-size:clamp(38px,4vw,64px); white-space:normal; }
.service-site .business-masthead .edhead__lead { font-size:13px; line-height:1.6; max-width:100%; }
.service-site .business-masthead .edhead__text { max-width:100%; }

@media(max-width:1100px) {
 .service-site .reference-home--showcase .taste-hero { width:calc(100% - 40px); grid-template-rows:auto auto 220px; }
 .service-site .reference-home--showcase .taste-hero__copy { padding-left:10px; }
 .service-site .reference-home--showcase .taste-hero h1 { font-size:clamp(45px,6vw,66px); }
 .service-site.home-page .reference-home--showcase .discovery { width:calc(100% + 200px); margin-left:10px; }
 .showcase-photo--table { margin-left:10px; }
 .service-site.venue-page .venue { grid-template-columns:minmax(0,1fr) 310px; grid-template-areas:'head shot' 'gallery booking' 'note booking' 'about booking'; gap:20px; }
 .service-site.venue-page .venue__shot { height:320px; }
 .service-site.venue-page .venue__name { font-size:44px; }
 .service-site.venue-page .taste-venue-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-site.venue-page .venue__booking { margin-top:0; }
 .service-site.venue-page .external-reviews { width:calc(100% - 330px); }
 .service-site .guest-screen>.layout { grid-template-columns:200px minmax(0,1fr); gap:20px; }
 .service-site .guest-screen .guest-booking { grid-template-columns:minmax(0,1fr); }
 .service-site .guest-screen .guest-booking__photo { grid-row:auto; height:210px; min-height:0; }
 .service-site .guest-screen .guest-booking .bcard__actions { grid-column:1; }
}
@media(max-width:760px) {
 .service-site .reference-home--showcase .taste-hero { width:calc(100% - 32px); display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto 260px 155px; gap:10px; padding-top:8px; }
 .service-site .reference-home--showcase .taste-hero__copy { grid-column:1/-1; grid-row:1; padding:16px 4px 8px; }
 .service-site .reference-home--showcase .taste-hero h1 { font-size:clamp(43px,10.8vw,68px); margin:10px 0 16px; }
 .service-site .reference-home--showcase .taste-hero__copy>p { max-width:100%; font-size:13px; }
 .service-site .reference-home--showcase .taste-hero__copy>.taste-kicker { display:block; font-size:8px; margin-bottom:6px; }
 .service-site.home-page .reference-home--showcase .discovery { grid-column:1/-1; grid-row:2; width:100%; margin:6px 0 10px; }
 .service-site .reference-home--showcase .searchbox__row { grid-template-columns:1fr 1fr; }
 .showcase-photo--chef { grid-column:1/-1; grid-row:3; }
 .showcase-photo--table { grid-column:1; grid-row:4; margin:0; }
 .showcase-photo--people { grid-column:2; grid-row:4; }
 .showcase-photo .scene-controls { right:7px; bottom:7px; }
 .showcase-photo--chef .scene-controls { top:12px; bottom:auto; }
 .showcase-photo--table .scene-controls [data-scene-prev],.showcase-photo--people .scene-controls [data-scene-prev],.showcase-photo--table .scene-controls [data-scene-next],.showcase-photo--people .scene-controls [data-scene-next] { display:none; }
 .scene-controls [data-scene-pause][hidden] { display:none; }
 .service-site.venue-page .venue { grid-template-columns:minmax(0,1fr); grid-template-areas:'head' 'shot' 'gallery' 'note' 'booking' 'about'; gap:16px; }
 .service-site.venue-page .crumbs { margin:16px 0 8px; }
 .service-site.venue-page .venue__head { width:100%; padding:12px 0 6px; }
 .service-site.venue-page .venue__name { font-size:42px; }
 .service-site.venue-page .venue__shot { height:280px; }
 .service-site.venue-page .taste-venue-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .service-site.venue-page .taste-venue-gallery img { height:90px; }
 .service-site.venue-page .external-reviews { width:100%; }
 .service-site.venue-page .venue__booking { margin:0; padding:0; }
 .service-site.venue-page .bookpanel { position:static; }
 .service-site.catalog-page .edhead,.service-site.guest-page .guest-screen>.edhead { grid-template-columns:1fr; grid-template-areas:'copy' 'photo'; gap:18px; padding:20px 0 0; min-height:0; }
 .service-site.catalog-page .edhead__media,.service-site.guest-page .guest-screen>.edhead .edhead__media { height:190px; width:100%; display:block; }
 .service-site.catalog-page .edhead__title,.service-site.guest-page .guest-screen>.edhead .edhead__title { font-size:42px; }
 .service-site .guest-screen>.layout { grid-template-columns:1fr; }
 .service-site .business-masthead { grid-template-columns:1fr; grid-template-areas:'copy' 'photo'; gap:18px; }
 .service-site .business-masthead__image { height:190px; }
}
/* Archive STOLIK-design-20260909-170218: measured desktop page compositions.
   These six screens share type and spacing, but deliberately have different grids. */
.edhead__frame { position:relative; min-width:0; height:100%; overflow:hidden; }
.service-site.catalog-page .edhead__media { display:grid; grid-template-columns:1.65fr 1fr; gap:4px; }
.venue__shot-secondary { display:none; }
.venue-photo-sources { grid-column:1/-1; font-size:10px; color:var(--text-muted); }
.venue-photo-sources summary { cursor:pointer; }
.venue-photo-sources a { display:inline-block; margin:6px 12px 0 0; }
.catalog-search-toggle { position:relative; }
.catalog-search-toggle summary { display:flex; gap:7px; align-items:center; padding:10px 13px; border:1px solid var(--border); border-radius:10px; cursor:pointer; background:var(--surface); font-size:13px; list-style:none; }
.catalog-search-toggle summary::-webkit-details-marker { display:none; }
.service-site.catalog-page .catalog-search-toggle .catalog-search { position:absolute; top:calc(100% + 10px); right:0; z-index:15; width:min(540px,80vw); max-width:none; margin:0; padding:12px; background:var(--surface); border:1px solid var(--border); border-radius:14px; box-shadow:0 12px 35px #0002; }
.reference-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:22px; position:relative; z-index:2; }
.service-site .reference-stats .stat { display:flex; align-items:center; gap:17px; padding:18px; border:1px solid var(--border); background:var(--surface); box-shadow:0 4px 12px #00000004; text-decoration:none; color:var(--text); }
.reference-stats .stat>span:last-child:not(.stat__icon) { margin-left:auto; }
.stat__icon { display:grid; place-items:center; width:52px; height:52px; flex:0 0 52px; border-radius:50%; background:var(--accent-soft); color:var(--accent); }
.stat__icon .side__icon { width:26px; height:26px; }
.service-site .reference-stats .stat__value { font-size:32px; line-height:1.2; }
.service-site .reference-stats .stat__label { font-size:13px; line-height:1.4; }
.guest-booking__photo { position:relative; }
.guest-booking__caption { position:absolute; bottom:0; left:0; right:0; padding:32px 22px 18px; background:linear-gradient(transparent,#000a); color:white; font-size:23px; font-weight:800; text-transform:uppercase; }
.guest-booking__when { color:var(--accent); font-size:12px; text-transform:uppercase; margin-bottom:6px; }
.guest-booking__datetime { font-size:24px; line-height:1.3; letter-spacing:-.04em; margin:0 0 16px; }
.service-site .guest-booking__details .bcard__title,.service-site .guest-booking__details .bcard__fact:nth-child(-n+2) { display:none; }
.service-site .guest-booking__details .bcard__head { order:3; margin-top:12px; }
.service-site .guest-booking__details { display:flex; flex-direction:column; }
.service-site .guest-booking__details .small { margin-top:8px; }
.reference-claims { border:1px solid var(--border); border-radius:13px; overflow:hidden; background:var(--surface); }
.reference-claims__actions { display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid var(--border); font-size:12px; }
.reference-claims input[type=checkbox] { width:16px; height:16px; }
.claim-venue { display:flex; gap:9px; align-items:center; }
.claim-venue img { width:38px; height:38px; border-radius:6px; object-fit:cover; }
.claim-venue small { display:block; margin-top:3px; font-size:10px; color:var(--text-muted); }
.claim-cover { position:relative; display:block; width:100%; height:220px; object-fit:cover; border-radius:10px; margin-bottom:18px; overflow:hidden; }
.claim-cover img { width:100%; height:100%; object-fit:cover; }
.claim-detail-heading { font-size:15px; border-bottom:1px solid var(--border); margin:24px 0 18px; padding-bottom:14px; }
.admin-moderation__detail dl { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:12px; font-size:12px; }
.admin-moderation__detail dt { color:var(--text-muted); }
.admin-moderation__detail dd { margin:0; overflow-wrap:anywhere; }
.admin-extra { margin-top:28px; font-size:13px; }
.admin-extra summary { cursor:pointer; padding:14px 0; color:var(--text-muted); }
.admin-extra .grid { margin-top:20px; }
.tolik-brand { display:none; }
.service-site .tolik-intro { display:none; }
@media(min-width:1101px) {
 .service-site.reference-layout { --maxw:1600px; --header-h:76px; }
 .service-site.reference-layout .container { width:calc(100% - 64px); }
 .service-site.reference-layout .header__inner { min-height:76px; gap:20px; }
 .service-site.reference-layout .header .nav { display:flex; margin-left:65px; padding:0; background:transparent; gap:36px; }
 .service-site.reference-layout .nav__link { font-size:12px; padding:12px 0; border-radius:0; }
 .service-site.reference-layout .nav__link.is-active { background:none; color:var(--text); box-shadow:0 2px var(--accent); }
 .service-site.reference-layout .nav__link:nth-child(n+3),.service-site.reference-layout .header-search { display:none; }
 .service-site.reference-layout .header .stolik-wordmark { font-size:40px; }
 .service-site.reference-layout .header__actions { background:var(--bg); border-radius:0 0 0 18px; gap:6px; }
 .service-site.reference-layout .header__actions .btn { font-size:11px; padding:8px 10px; }
 .service-site.reference-layout .header__actions .btn--primary { display:none; }
 .service-site.reference-layout .language-switch { position:absolute; left:490px; top:20px; }
 .service-site.reference-layout .language-switch button { min-width:28px; padding:6px; background:transparent; color:var(--text-muted); }
 .service-site.reference-layout .language-switch button[aria-pressed=true] { color:var(--accent); }
 .service-site.reference-layout:not(.admin-page) .header:not(.header--scrolled) { background:transparent!important; border:0; }
 .service-site.reference-layout:not(.admin-page) .header:not(.header--scrolled)::before { content:''; position:absolute; left:0; top:0; width:600px; height:78px; background:var(--bg); clip-path:polygon(0 0,96% 0,100% 88%,0 100%); z-index:-1; }
 .service-site.reference-layout .header.header--scrolled { background:var(--bg)!important; }
 .service-site.reference-layout .btn--primary { color:white; font-weight:600; }
 /* 01 — the photo ribbon ends behind the title's white field. */
 .service-site.reference-layout.catalog-page .edhead { display:block; position:relative; padding:142px 0 18px; margin:0; min-height:0; isolation:isolate; }
 .service-site.reference-layout.catalog-page .edhead__text { position:relative; z-index:2; padding:0; }
 .service-site.reference-layout.catalog-page .edhead__title { font-size:clamp(58px,5.15vw,84px); line-height:1.06; letter-spacing:-.055em; margin:0 0 8px; white-space:normal; }
 .service-site.reference-layout.catalog-page .edhead__lead { max-width:none; font-size:16px; line-height:1.45; margin:0; }
 .service-site.reference-layout.catalog-page .edhead__media { position:absolute; inset:-76px 6% auto 7%; width:87%; height:270px; clip-path:polygon(0 48%,37% 16%,36% 0,96% 0,100% 100%,0 59%); border-radius:0; display:grid; grid-template-columns:1.85fr 1fr; gap:4px; }
 .service-site.reference-layout.catalog-page .edhead__frame:first-child { clip-path:polygon(0 0,95% 0,100% 100%,0 100%); margin-right:-22px; }
 .service-site.reference-layout.catalog-page .edhead__frame:last-child { clip-path:polygon(0 0,100% 0,100% 100%,9% 100%); }
 .service-site.reference-layout.catalog-page .edhead__media .scene-controls { bottom:60px; right:30px; transform:scale(.8); transform-origin:right bottom; }
 .service-site.reference-layout.catalog-page .edhead__note { display:block!important; position:absolute; top:40px; left:6px; width:78px; font-size:9px; line-height:1.65; letter-spacing:.16em; }
 .service-site.reference-layout.catalog-page .edhead__mark { display:flex!important; position:absolute; right:0; top:0; width:75px; padding:0; background:transparent; align-items:flex-start; }
 .service-site.reference-layout.catalog-page .edhead__number { font-size:45px; line-height:1; }
 .service-site.reference-layout.catalog-page .edhead__side { font-size:10px; line-height:1.6; }
 .service-site.reference-layout .catalog-layout { grid-template-columns:190px minmax(0,1fr); gap:30px; margin-top:12px; }
 .service-site.reference-layout .catalog-bar { margin-bottom:16px; min-height:42px; }
 .service-site.reference-layout .catalog-bar__count { font-size:13px; }
 .service-site.reference-layout .filters__title { margin-top:0; font-size:12px; }
 .service-site.reference-layout .filters__group { padding-bottom:20px; margin-bottom:20px; border:0; }
 .service-site.reference-layout .filters__option { font-size:12px; gap:9px; padding:3px 0; }
 .service-site.reference-layout .filters__hint { font-size:10px; }
 .service-site.reference-layout .filters .choice__button { min-height:38px; padding:9px 14px; }
 .service-site.reference-layout .catalog-main .grid--places { gap:24px 18px; }
 .service-site.reference-layout.catalog-page .pcard__media { aspect-ratio:1.95; border-radius:9px; }
 .service-site.reference-layout.catalog-page .pcard__body { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; padding:11px 1px 0; }
 .service-site.reference-layout.catalog-page .pcard__title { font-size:20px; text-transform:uppercase; grid-column:1; margin:0; }
 .service-site.reference-layout.catalog-page .pcard__meta { font-size:11px; line-height:1.5; }
 .service-site.reference-layout.catalog-page .pcard__addr { font-size:11px; line-height:1.5; min-height:0; grid-column:1/-1; }
 .service-site.reference-layout.catalog-page .pcard__foot { display:contents; }
 .service-site.reference-layout.catalog-page .pcard__more { grid-column:2; grid-row:1/3; align-self:center; font-size:11px; }
 .service-site.reference-layout.catalog-page .pcard__check { grid-column:1/-1; font-size:10px; margin-top:2px; color:var(--text-muted); }
 /* 02 — title and image each own a cell; only the photo edge is diagonal. */
 .service-site.reference-layout.venue-page .crumbs { position:relative; z-index:2; width:35%; padding:10px 0 0 16px; margin:0 0 14px; font-size:10px; }
 .service-site.reference-layout.venue-page .venue { position:relative; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(300px,.94fr); grid-template-areas:'head head booking' 'gallery gallery booking' 'note note booking' 'about about booking'; grid-template-rows:minmax(275px,auto) auto auto auto; gap:10px 24px; isolation:isolate; }
 .service-site.reference-layout.venue-page .venue__head { grid-area:head; width:49%; padding:8px 12px 28px 16px; min-height:275px; position:relative; z-index:2; }
 .service-site.reference-layout.venue-page .venue__name { font-size:clamp(48px,6.3vw,96px); line-height:1; text-transform:uppercase; letter-spacing:-.065em; margin-bottom:16px; }
 .service-site.reference-layout.venue-page .venue__kind { font-size:12px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
 .service-site.reference-layout.venue-page .venue__where { font-size:13px; line-height:1.6; }
 .service-site.reference-layout.venue-page .venue__flags { gap:7px; }
 .service-site.reference-layout.venue-page .venue__shot { position:absolute; left:29%; top:-125px; width:54%; height:420px; clip-path:polygon(26% 0,100% 0,90% 90%,0 100%); border-radius:0; z-index:0; }
 .service-site.reference-layout.venue-page .venue__shot .scene-controls { left:auto; right:20%; bottom:35px; transform:scale(.85); transform-origin:right bottom; }
 .service-site.reference-layout.venue-page .venue__shot-secondary { display:block; position:absolute; top:-125px; right:-32px; width:28%; height:373px; clip-path:polygon(19% 0,100% 0,100% 83%,0 100%); z-index:0; }
 .service-site.reference-layout.venue-page .venue__shot-secondary img { width:100%; height:100%; object-fit:cover; }
 .service-site.reference-layout.venue-page .venue__booking { grid-area:booking; padding:0; margin:170px 0 0; }
 .service-site.reference-layout.venue-page .bookpanel { padding:26px; border-radius:16px; position:relative; top:auto; box-shadow:0 12px 40px #1d130909; }
 .service-site.reference-layout.venue-page .bookpanel__title { font-size:26px; margin-bottom:6px; }
 .service-site.reference-layout.venue-page .bookpanel .field input,.service-site.reference-layout.venue-page .bookpanel .field textarea { background:var(--surface); border-radius:10px; min-height:42px; }
 .service-site.reference-layout.venue-page .bookpanel .slot { border-radius:99px; padding:7px 12px; }
 .service-site.reference-layout.venue-page .taste-venue-gallery { grid-area:gallery; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; }
 .service-site.reference-layout.venue-page .taste-venue-gallery img { height:205px; border-radius:5px; }
 .service-site.reference-layout.venue-page .venue-photo-sources { grid-area:note; }
 .service-site.reference-layout.venue-page .venue__about { grid-area:about; margin:6px 0 0; padding:0 16px; }
 .service-site.reference-layout.venue-page .venue-tabs { margin-bottom:18px; font-size:13px; gap:30px; }
 .service-site.reference-layout.venue-page .venue__text { font-size:14px; line-height:1.65; }
 .service-site.reference-layout.venue-page .external-reviews { width:calc(100% - 33% - 24px); margin-top:16px; }
 /* 03 — broad booking image, date in the centre, actions on the right. */
 .service-site.reference-layout.guest-page .guest-screen>.edhead { position:relative; display:block; min-height:222px; padding:34px 0 28px 11%; margin:0; isolation:isolate; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__text { width:49%; max-width:none; padding:0; z-index:2; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__title { font-size:clamp(56px,5.8vw,90px); line-height:1.02; letter-spacing:-.06em; white-space:nowrap; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__lead { max-width:460px; font-size:15px; line-height:1.5; }
 /* Кадр целиком внутри шапки раздела. Он поднимался под меню (top:-76px) и
    опускался ниже шапки: закрывал сообщение над страницей («Аккаунт создан»)
    и край блока броней под шапкой. */
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__media { position:absolute; grid-area:auto; right:7%; top:0; width:57%; height:280px; clip-path:polygon(0 0,88% 0,100% 100%,9% 78%); border-radius:0; z-index:0; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__note { display:block!important; position:absolute; left:0; top:50px; width:110px; font-size:9px; line-height:1.7; letter-spacing:.15em; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__mark { display:flex!important; position:absolute; right:0; top:8px; width:70px; padding:0; background:transparent; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__number { font-size:46px; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__side { font-size:11px; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .scene-controls { right:12%; bottom:45px; transform:scale(.8); transform-origin:right bottom; }
 .service-site.reference-layout .guest-screen>.layout { grid-template-columns:280px minmax(0,1fr); gap:32px; margin-top:0; }
 .service-site.reference-layout .guest-screen .side { border:0; padding:12px 0; }
 .service-site.reference-layout .guest-screen .side__link { font-size:15px; padding:16px 18px; margin-bottom:5px; }
 .service-site.reference-layout .guest-screen .side__title { display:none; }
 .service-site.reference-layout .guest-screen .dash-bar { margin:0 0 12px; font-size:11px; }
 .service-site.reference-layout .guest-screen .dash-bar .btn { padding:6px 12px; min-height:32px; font-size:11px; }
 .service-site.reference-layout .guest-screen .guest-booking { grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(130px,.62fr); gap:24px; padding:6px; align-items:center; border:1px solid var(--border); box-shadow:0 6px 24px #00000004; }
 .service-site.reference-layout .guest-screen .guest-booking__photo { height:238px; border-radius:10px; }
 .service-site.reference-layout .guest-screen .guest-booking__details { padding:16px 0; }
 .service-site.reference-layout .guest-screen .guest-booking .bcard__actions { grid-column:3; border-left:1px solid var(--border); padding:20px 16px 20px 24px; }
 .service-site.reference-layout .guest-booking .bcard__actions .btn { width:100%; border-radius:99px; min-height:44px; font-size:13px; }
 .service-site.reference-layout .guest-booking .bcard__actions>a { background:var(--accent); color:white; border-color:var(--accent); }
 .service-site.reference-layout .guest-booking .bcard__actions button { background:transparent; border-color:var(--border-strong); color:var(--text); }
 .service-site.reference-layout .guest-history__row { grid-template-columns:210px minmax(0,1fr) 160px 30px; gap:26px; padding:6px 0; }
 .service-site.reference-layout .guest-history__image { height:90px; border-radius:8px; }
 .service-site.reference-layout .guest-history__row .bcard__title { font-size:19px; text-transform:uppercase; }
 .service-site.reference-layout .guest-history__row p,.service-site.reference-layout .guest-history__date { font-size:12px; color:var(--text-muted); }
 /* 05 — narrow navigation, photo masthead, three counters, service panels. */
 .service-site.reference-layout.business-page .business-overview { grid-template-columns:150px minmax(0,1fr); gap:24px; margin-top:0; }
 .service-site.reference-layout.business-page .business-overview>.side { padding:26px 12px 0 0; }
 .service-site.reference-layout.business-page .side__title,.service-site.reference-layout.admin-page .side__title { display:none; }
 .service-site.reference-layout.business-page .side__link { padding:15px 6px; font-size:13px; margin-bottom:12px; }
 .service-site.reference-layout.business-page .business-masthead { display:block; position:relative; min-height:235px; margin:0; padding:24px 0 0; isolation:isolate; }
 .service-site.reference-layout.business-page .business-masthead>.edhead { position:relative; width:39%; z-index:2; }
 .service-site.reference-layout.business-page .business-masthead .edhead__title { font-size:clamp(48px,5.1vw,82px); line-height:1; letter-spacing:-.055em; }
 .service-site.reference-layout.business-page .business-masthead .edhead__lead { font-size:14px; line-height:1.5; }
 .service-site.reference-layout.business-page .business-masthead__image { position:absolute; top:-76px; left:30%; width:65%; height:402px; border-radius:0; clip-path:polygon(0 0,89% 0,100% 86%,58% 100%,9% 76%); }
 .service-site.reference-layout.business-page .business-masthead__image .scene-controls { right:15%; bottom:70px; transform:scale(.8); }
 .service-site.reference-layout.business-page .business-masthead .edhead__mark { display:none; }
 .service-site.reference-layout.business-page .reference-stats { width:76%; margin-bottom:20px; }
 .service-site.reference-layout.business-page .dash-bar { position:absolute; right:32px; top:342px; width:16%; z-index:2; margin:0; }
 .service-site.reference-layout.business-page .dash-bar__count { display:none; }
 .service-site.reference-layout.business-page .dash-bar .btn { font-size:11px; padding:12px; background:var(--surface); color:var(--text); border:1px solid var(--border); }
 .service-site.reference-layout.business-page .business-alerts { margin:0 0 18px; padding:12px 18px; border:1px solid var(--border); background:var(--surface); }
 .service-site.reference-layout.business-page .business-alerts__controls { justify-content:flex-start; gap:14px; }
 .service-site.reference-layout.business-page .business-service-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:18px; }
 .service-site.reference-layout.business-page .business-service-grid>.panel { padding:20px; border:1px solid var(--border); }
 .service-site.reference-layout.business-page .business-service-grid .panel__head { padding:0 0 20px; border:0; }
 .service-site.reference-layout.business-page .business-service-grid h2 { font-size:23px; letter-spacing:-.04em; }
 .service-site.reference-layout.business-page .business-room__plan { min-height:270px; padding:32px; gap:24px; background:radial-gradient(ellipse at 0 0,#435c3522,transparent 40%),repeating-linear-gradient(90deg,#aa9c8410 0 1px,transparent 1px 42px),var(--surface-2); box-shadow:inset 0 0 0 8px #8b786622; border-radius:5px; }
 .service-site.reference-layout.business-page .business-room__table { border:1px solid #b7a894; box-shadow:0 6px 8px #0002,0 0 0 5px #8b786619; border-radius:9px; background:var(--surface); min-height:60px; }
 .service-site.reference-layout.business-page .business-pending { background:var(--accent-soft); border:1px solid #ff651822; }
 .service-site.reference-layout.business-page .business-pending .bcard { background:transparent; padding:14px 0; border:0; }
 .service-site.reference-layout.business-page .business-pending .panel__head { padding:12px 20px 0; }
 .service-site.reference-layout.business-page .business-pending .panel__body { padding:0 20px; }
 .service-site.reference-layout.business-page .business-pending .bcard__actions { display:flex; gap:12px; }
 /* 06 — the selected record spans the entire right-hand column. */
 .service-site.reference-layout.admin-page .layout { grid-template-columns:140px minmax(0,1fr); gap:24px; margin:0; }
 .service-site.reference-layout.admin-page .side { padding:24px 10px 0 0; }
 .service-site.reference-layout.admin-page .side__link { padding:13px 4px; font-size:12px; margin-bottom:8px; }
 .service-site.reference-layout.admin-page .admin-overview { display:grid; grid-template-columns:minmax(0,1fr) 29%; gap:18px 24px; align-items:start; }
 .service-site.reference-layout.admin-page .admin-overview>.edhead { grid-column:1; display:block; padding:12px 0 0; margin:0; }
 .service-site.reference-layout.admin-page .edhead__note,.service-site.reference-layout.admin-page .edhead__mark { display:none; }
 .service-site.reference-layout.admin-page .edhead__title { font-size:clamp(43px,4.35vw,68px); white-space:normal; line-height:1.08; letter-spacing:-.065em; }
 .service-site.reference-layout.admin-page .edhead__lead { font-size:14px; line-height:1.5; max-width:none; }
 .service-site.reference-layout.admin-page .reference-stats { grid-column:1; margin:0; gap:12px; }
 .service-site.reference-layout.admin-page .reference-stats .stat { gap:12px; padding:16px 12px; }
 .service-site.reference-layout.admin-page .stat__icon { width:44px; height:44px; flex-basis:44px; }
 .service-site.reference-layout.admin-page .reference-stats .stat__label { font-size:11px; }
 .service-site.reference-layout.admin-page .admin-moderation { display:contents; }
 .service-site.reference-layout.admin-page .admin-moderation__list { grid-column:1; padding:0; }
 .service-site.reference-layout.admin-page .admin-moderation__list .panel__head { padding:12px 0 16px; flex-wrap:wrap; }
 .service-site.reference-layout.admin-page .admin-moderation__list h2 { font-size:23px; letter-spacing:-.035em; }
 .service-site.reference-layout.admin-page .admin-moderation__detail { grid-column:2; grid-row:1/6; min-height:750px; padding:4px 0 20px 18px; border-left:1px solid var(--border); background:none; }
 .service-site.reference-layout.admin-page .admin-moderation__detail h2 { font-size:32px; letter-spacing:-.04em; }
 .service-site.reference-layout.admin-page .admin-moderation__detail>p { font-size:12px; }
 .service-site.reference-layout.admin-page .data th { font-size:9px; padding:10px 8px; letter-spacing:0; }
 .service-site.reference-layout.admin-page .data td { font-size:11px; padding:12px 8px; }
 .service-site.reference-layout.admin-page .data .badge { font-size:9px; padding:5px 8px; }
 .service-site.reference-layout.admin-page .data tr.is-selected { background:var(--accent-soft); }
 .service-site.reference-layout.admin-page .admin-extra { grid-column:1; margin:0; }
 /* 04 — full-screen dialogue, with a separate illustrated voice column. */
 .service-site .booking-assistant__panel { inset:0; width:100vw; height:100dvh; border:0; border-radius:0; padding:78px 32px 22px; box-shadow:none; }
 .service-site .booking-assistant__panel:not([hidden]) { grid-template-columns:220px minmax(0,1fr) 300px; grid-template-rows:140px 44px minmax(0,1fr) auto auto auto; gap:0 16px; }
 .service-site .tolik-brand { display:block; position:absolute; top:20px; left:32px; }
 .service-site .booking-assistant__head { grid-column:1/3; grid-row:1; margin:0; padding:0 0 10px 115px; }
 .service-site .booking-assistant__head h2 { font-size:clamp(38px,4vw,61px); letter-spacing:-.055em; line-height:1.02; }
 .service-site .booking-assistant__eyebrow { display:none; }
 .service-site .tolik-intro { display:block; grid-column:1/3; grid-row:2; padding:0 0 12px 115px; font-size:14px; color:var(--text-muted); }
 .service-site .tolik-context-menu { display:flex; grid-column:1; grid-row:3/7; padding:20px 12px; border:1px solid var(--border); border-radius:14px; background:var(--surface); gap:8px; }
 .service-site .tolik-context-menu button { display:block; padding:18px 12px; }
 .service-site .tolik-context-menu button:first-of-type { background:var(--accent-soft); }
 .service-site .booking-assistant__panel>.booking-assistant__messages { grid-column:2; grid-row:3; padding:22px; border-radius:14px 14px 0 0; }
 .service-site .booking-assistant__form { grid-column:2; grid-row:4; padding:14px 22px; }
 .service-site .booking-assistant__search { grid-column:2; grid-row:5; }
 .service-site .booking-assistant__note { grid-column:2; grid-row:6; font-size:9px; margin-top:8px; }
 .service-site .tolik-voice-room { grid-column:3; grid-row:1/7; padding:240px 14px 140px; overflow:hidden; justify-content:center; gap:13px; }
 .service-site .tolik-voice-room h3 { order:-2; font-size:24px; }
 .service-site .tolik-voice-room>p { order:-1; font-size:13px; line-height:1.5; }
 .service-site .tolik-voice-room>.taste-kicker { display:none; }
 .service-site .tolik-voice-room::before { display:none; }
 .service-site .tolik-scene { position:absolute; top:-78px; left:0; right:-32px; height:275px; clip-path:polygon(20% 0,100% 0,100% 80%,0 100%); }
 .service-site .tolik-voice-room::after { height:145px; }
 .service-site .tolik-voice-sphere { width:215px; height:215px; border-width:28px; background:var(--surface); box-shadow:inset 5px 6px 15px #e64a0033,0 0 0 12px #ff7c363b,0 0 0 22px #ff7c3620; margin:12px 0; }
 .service-site .assistant-recommendation-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .service-site .assistant-recommendation-grid .assistant-place { padding:12px; font-size:12px; }
 .service-site .assistant-place>img { width:calc(100% + 24px); height:145px; margin:-12px -12px 12px; }
 .service-site .booking-assistant__close { top:20px; right:28px; }
}
@media(max-width:1100px) {
 .reference-stats .stat__icon { display:none; }
 .service-site .reference-stats .stat { padding:14px; }
 .service-site .reference-stats .stat__label { font-size:11px; }
 .service-site .admin-moderation__detail { margin-top:22px; }
 .service-site .guest-booking__details { padding:12px; }
 .service-site .tolik-brand { display:none; }
}
@media(max-width:760px) {
 .catalog-search-toggle summary span { display:none; }
 .service-site.catalog-page .catalog-search-toggle .catalog-search { position:fixed; top:90px; right:16px; width:calc(100vw - 32px); }
 .reference-stats { gap:8px; }
 .service-site .reference-stats .stat { padding:12px 9px; }
 .service-site .reference-stats .stat__value { font-size:26px; }
 .service-site .reference-stats .stat__label { font-size:10px; }
 .reference-claims__actions { flex-wrap:wrap; }
 .service-site .admin-extra .grid { grid-template-columns:1fr; }
}
/* Final alignment corrections against the 1536 × 1024 archive canvases. */
.service-site .pcard__media:has(.illustration-label) .illustration-label { bottom:auto; top:12px; left:auto; right:12px; }
.service-site .guest-booking__illustration .illustration-label { top:12px; bottom:auto; }
@media(min-width:1101px) {
 .service-site.reference-layout .filters { display:block; position:static; }
 .service-site.reference-layout .filters__group { display:block; padding-bottom:0; margin-bottom:28px; }
 .service-site.reference-layout .filters__title { margin-bottom:12px; }
 .service-site.reference-layout .filters__group form { margin:0; }
 .service-site.reference-layout .filters__group .choice+.filters__title { margin-top:24px; }
 .service-site.reference-layout.catalog-page .edhead__media .scene-slider,.service-site.reference-layout.guest-page .edhead__media .scene-slider,.service-site.reference-layout.business-page .business-masthead__image .scene-slider { border-radius:0; }
 .service-site.reference-layout .scene-counter { display:none; }
 .service-site.reference-layout .scene-controls { padding:2px 4px; gap:0; background:#17130fc0; }
 .service-site.reference-layout .scene-controls button { min-width:26px; height:28px; font-size:17px; }
 .service-site.reference-layout .scene-dots button { width:25px; min-width:25px; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__media { left:42%; right:auto; width:51%; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__title { font-size:clamp(56px,5.3vw,82px); }
 .service-site.reference-layout.guest-page .guest-screen>.edhead .edhead__lead { max-width:410px; }
 .service-site.reference-layout.guest-page .guest-screen .dash-bar { display:none; }
 .service-site.reference-layout.guest-page .guest-screen>.edhead { min-height:300px; }
 .service-site.reference-layout.business-page .business-overview { margin-top:0!important; }
 .service-site.reference-layout.business-page .business-masthead>.edhead { width:38%; }
 .service-site.reference-layout.business-page .business-masthead .edhead__title { font-size:clamp(45px,4.6vw,72px); }
 .service-site.reference-layout.business-page .business-masthead { min-height:232px; }
 .service-site.reference-layout.business-page .business-masthead__image { top:-104px; }
 .service-site.reference-layout.business-page .business-masthead .edhead__text { max-width:100%; }
 .service-site.reference-layout.business-page .business-service-grid>.panel { margin:0; }
 .service-site .booking-assistant__panel>.tolik-intro { display:block; margin:0; }
 .service-site .tolik-voice-room { overflow:visible; }
 .service-site .tolik-scene { top:-78px; height:280px; overflow:hidden; border-radius:0; }
 .service-site .tolik-scene .scene-slider { border-radius:0; }
 .service-site .tolik-scene .scene-controls { bottom:70px; right:12px; }
 .service-site .tolik-voice-room::after { display:block; border-radius:0; }
 .service-site .tolik-voice-sphere>span { font-family:Inter,Arial,sans-serif; font-weight:500; }
}
/* Data-dependent names and booking controls must fit the reference frame. */
.venue__intro { font-size:14px; line-height:1.6; margin-bottom:16px; color:var(--text-muted); }
.booking-extra { font-size:12px; border-top:1px solid var(--border); padding-top:10px; }
.booking-extra summary { cursor:pointer; color:var(--text-muted); margin-bottom:12px; }
.booking-extra .field { margin-bottom:14px; }
.service-site .bookpanel .slots { display:flex; flex-wrap:nowrap; gap:7px; }
.service-site .bookpanel .slot { display:none; }
.service-site .bookpanel .slot:is([data-value='18:00'],[data-value='19:00'],[data-value='20:00'],[data-value='21:00']) { display:block; flex:1; padding:8px 5px; }
.service-site .bookpanel .booking-hours-hint { display:none; }
.tolik-wave-mark { width:58px; height:58px; }
.assistant-send-icon { display:none; }
@media(min-width:1101px) {
 .service-site.reference-layout.venue-page .venue { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 350px; }
 .service-site.reference-layout.venue-page .venue__head { width:44%; min-height:275px; container-type:inline-size; }
 /* Шрифт не крупнее, чем помещает самое длинное слово в колонку (--longest-word
    ставит шаблон): «КУХМИСТР» при 1280 px рвался на «КУХМИСТ / Р». */
 .service-site.reference-layout.venue-page .venue__name { font-size:min(clamp(42px,5.2vw,80px), calc(100cqi / (var(--longest-word, 8) * .74))); overflow-wrap:break-word; hyphens:auto; }
 .service-site.reference-layout.venue-page .venue__name--long { font-size:min(clamp(36px,3.4vw,52px), calc(100cqi / (var(--longest-word, 8) * .74))); letter-spacing:-.045em; }
 .service-site.reference-layout.venue-page .venue__shot { height:420px; }
 .service-site.reference-layout.venue-page .taste-venue-gallery { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); }
 .service-site.reference-layout.venue-page .venue__about { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 28px; align-content:start; }
 .service-site.reference-layout.venue-page .venue-tabs { grid-column:1/-1; }
 .service-site.reference-layout.venue-page .venue__section,.service-site.reference-layout.venue-page .venue__text { grid-column:1; }
 .service-site.reference-layout.venue-page .venue__facts { grid-column:2; grid-row:2/5; display:grid; grid-template-columns:1fr; padding-left:24px; border-left:1px solid var(--border); }
 .service-site.reference-layout.venue-page .venue__about>.notice { grid-column:1/-1; }
 .service-site.reference-layout.venue-page .external-reviews { width:calc(100% - 374px); }
 .service-site .booking-assistant__form { grid-template-columns:minmax(0,1fr) 56px; gap:6px 12px; }
 .service-site .booking-assistant__form textarea { border:1px solid var(--border); border-radius:22px; box-shadow:none; outline:none; height:58px; min-height:58px; font-size:14px; padding:17px; }
 .service-site .booking-assistant__form textarea:focus-visible { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
 .service-site #assistantSend { width:56px; min-height:56px; padding:14px; color:white; border-radius:19px; }
 .service-site #assistantSend .assistant-send-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .service-site #assistantSend .assistant-send-icon { display:block; width:25px; height:25px; }
 .service-site .assistant-voice { padding-top:3px; }
 .service-site .tolik-voice-room { padding-top:190px; }
 .service-site .tolik-voice-sphere { width:240px; height:240px; border-width:29px; }
 .service-site .tolik-voice-room h3 { margin:0; }
 .service-site .assistant-message--assistant { background:var(--surface-2); border:0; border-radius:14px; line-height:1.55; }
}
.guest-other-bookings summary { cursor:pointer; padding:13px 4px; font-size:13px; color:var(--text-muted); }
.guest-other-bookings .guest-booking { margin-top:12px; }
.notification-settings { font-size:11px; position:relative; }
.notification-settings summary,.notification-feed summary { cursor:pointer; color:var(--text-muted); }
.notification-settings>div { display:flex; flex-wrap:wrap; gap:12px; padding:12px 0; }
.notification-feed { font-size:11px; }
.notification-feed[open] { grid-column:1/-1; }
@media(min-width:1101px) {
 .service-site.reference-layout.business-page .business-alerts { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; padding:10px 18px; }
 .service-site.reference-layout.business-page .business-alerts #bookingNotice { font-size:11px; margin:0; }
 .service-site.reference-layout.business-page .business-alerts__controls { gap:16px; }
 .service-site.reference-layout.business-page .notification-settings>div { position:absolute; top:25px; left:0; min-width:350px; z-index:8; padding:16px; border:1px solid var(--border); background:var(--surface); border-radius:12px; box-shadow:0 12px 35px #0002; }
 .service-site.reference-layout.business-page .business-pending .panel__head { border:0; font-size:11px; }
 .service-site.reference-layout.business-page .business-pending .panel__head h2 { color:var(--accent); font-size:11px!important; letter-spacing:.08em; text-transform:uppercase; }
 .service-site.reference-layout.business-page .business-pending .bcard { display:flex; justify-content:space-between; align-items:center; padding:10px 0 17px; }
 .service-site.reference-layout.business-page .business-pending .bcard__actions { flex-direction:row; flex-shrink:0; }
 .service-site.reference-layout.business-page .business-pending .bcard__actions .btn { min-width:135px; min-height:43px; }
 .service-site.reference-layout .guest-identity { display:grid; grid-template-columns:66px minmax(0,1fr); gap:8px 12px; padding:22px 18px; border-radius:18px; }
 .service-site.reference-layout .guest-identity__avatar { grid-column:1; grid-row:1/3; width:66px; height:66px; }
 .service-site.reference-layout .guest-identity>strong { grid-column:2; align-self:end; }
 .service-site.reference-layout .guest-identity>a { grid-column:2; font-size:9px; align-self:start; }
 .service-site.reference-layout .guest-identity>span:last-child { grid-column:1/-1; border-top:1px solid var(--border); padding-top:16px; margin-top:10px; }
}
/* Match the archive's content baseline, without legacy workspace padding. */
.reviews-provenance { font-size:11px; color:var(--text-muted); margin:8px 0; }
.reviews-provenance summary,.review-full summary,.review-more>summary { cursor:pointer; }
.reviews-provenance p { margin-top:7px; }
.review-full { margin:8px 0; font-size:11px; }
.review-more { grid-column:1/-1; font-size:12px; }
.review-more[open] { display:grid; gap:12px; }
.review-more>summary { padding:10px 0; color:var(--text-muted); }
.service-site.venue-page .venue__about .external-reviews { width:100%; }
@media(min-width:1101px) {
 .service-site.reference-layout .layout { padding-top:0; }
 .service-site.reference-layout.business-page .business-masthead__image { top:-76px; }
 .service-site.reference-layout.business-page .dash-bar { top:314px; }
 .service-site.reference-layout .filters__group>.filters__title:not(:first-child) { margin-top:24px; }
 .service-site.reference-layout .filters__list { gap:0; }
 .service-site.reference-layout .filters__option { padding:3px 0; min-height:25px; }
 .service-site.reference-layout .filters__group { margin-bottom:24px; }
 .service-site.reference-layout.venue-page .venue__about { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:10px 32px; }
 .service-site.reference-layout.venue-page .venue__facts { grid-column:1; grid-row:auto; border:0; padding:0; margin:12px 0 0; gap:10px; }
 /* Подписи — колонкой одной ширины: «Средний чек» длиннее 85px и сдвигал
    своё значение правее остальных. */
 .service-site.reference-layout.venue-page .venue__facts div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px; align-items:baseline; }
 .service-site.reference-layout.venue-page .venue__facts dt { min-width:0; margin:0; font-size:10px; }
 .service-site.reference-layout.venue-page .venue__facts dd { font-size:12px; }
 .service-site.reference-layout.venue-page .venue__about>.external-reviews { grid-column:2; grid-row:2/6; width:100%; margin:0; padding:0 0 0 24px; border:0; border-left:1px solid var(--border); }
 .service-site.reference-layout.venue-page .external-reviews>h2 { font-size:24px; }
 .service-site.reference-layout.venue-page .external-reviews__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
 .service-site.reference-layout.venue-page .external-reviews .panel { margin:0; padding:16px; border-radius:12px; font-size:12px; line-height:1.6; }
 .service-site.reference-layout.venue-page .external-reviews .panel>div:first-child { color:var(--accent); font-size:11px; margin-bottom:10px; }
 .service-site.reference-layout.business-page .business-room__plan { grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px 20px; padding:28px 24px; }
 .service-site.reference-layout.business-page .business-room__table { position:relative; isolation:isolate; min-height:52px; padding:6px; border-radius:7px; box-shadow:0 4px 8px #0003,0 0 0 4px #8b786619; }
 .service-site.reference-layout.business-page .business-room__table:nth-child(3n+2) { border-radius:50%; }
 .service-site.reference-layout.business-page .business-room__table small { font-size:8px; }
}
/* The companion homepage reference uses the same three photographic planes. */
.home-edition { display:none; }
@media(min-width:1101px) {
 .service-site.reference-layout.home-page .reference-home--showcase .taste-hero { position:relative; display:block; width:100%; max-width:1600px; height:634px; padding:0; overflow:visible; }
 .service-site.reference-layout.home-page .reference-home--showcase .taste-hero__copy { position:absolute; left:9.4%; top:32px; width:44%; height:auto; padding:0; z-index:3; background:transparent; }
 .service-site.reference-layout.home-page .reference-home--showcase .taste-hero h1 { font-size:clamp(72px,6.2vw,96px); line-height:.99; letter-spacing:-.065em; margin:0 0 18px; }
 .service-site.reference-layout.home-page .reference-home--showcase .taste-hero__copy>p { font-size:14px; line-height:1.5; max-width:435px; }
 .service-site.reference-layout.home-page .reference-home--showcase .taste-kicker { position:absolute; left:-105px; top:20px; font-size:8px; width:70px; line-height:1.9; }
 .service-site.reference-layout.home-page .reference-home--showcase .showcase-photo { position:absolute; margin:0; border-radius:0; }
 .service-site.reference-layout.home-page .reference-home--showcase .showcase-photo .scene-slider { border-radius:0; }
 .service-site.reference-layout.home-page .reference-home--showcase .showcase-photo--chef { top:-76px; left:44.5%; width:55.5%; height:500px; z-index:2; clip-path:polygon(0 0,78% 0,100% 59%,12% 100%); }
 .service-site.reference-layout.home-page .reference-home--showcase .showcase-photo--table { top:365px; left:9%; width:36%; height:269px; clip-path:polygon(8% 25%,100% 0,100% 100%,0 100%); }
 .service-site.reference-layout.home-page .reference-home--showcase .showcase-photo--people { left:44.8%; top:222px; width:55.2%; height:412px; clip-path:polygon(0 48%,100% 0,100% 100%,0 100%); }
 .service-site.reference-layout.home-page .reference-home--showcase .showcase-photo--chef .scene-slide { object-position:53% 80%; }
 .service-site.reference-layout.home-page .reference-home--showcase .showcase-photo--chef .scene-controls { top:auto; bottom:160px; right:15%; }
 .service-site.reference-layout.home-page .reference-home--showcase .showcase-photo--table .scene-controls { right:20px; bottom:18px; }
 .service-site.reference-layout.home-page .reference-home--showcase .showcase-photo--people .scene-controls { right:22px; bottom:18px; }
 .service-site.reference-layout.home-page .reference-home--showcase .discovery { position:absolute; top:285px; left:9.7%; width:min(710px,61%); margin:0; z-index:4; }
 .service-site.reference-layout.home-page .reference-home--showcase .discovery__search { border-radius:21px; padding:5px; box-shadow:0 10px 28px #3020140b; }
 .service-site.reference-layout.home-page .reference-home--showcase .searchbox__row { grid-template-columns:1.15fr .85fr .8fr auto; }
 .service-site.reference-layout.home-page .reference-home--showcase .searchbox__row>.btn { color:white; min-height:48px; border-radius:17px; }
 .service-site.reference-layout.home-page .reference-venue-strip { position:relative; z-index:3; width:100%; max-width:1600px; margin:0 auto; padding:22px 60px 10px; border-radius:16px 16px 0 0; background:var(--bg); }
 .service-site.reference-layout.home-page .reference-venue-strip .pcard__media { aspect-ratio:1.78; }
 .service-site.reference-layout.home-page .reference-strip-head { margin-bottom:12px; }
 .service-site.reference-layout.home-page .reference-strip-head h2 { font-size:21px; }
 .service-site.reference-layout.home-page .home-edition { display:flex; position:absolute; top:-76px; right:0; width:14%; height:308px; background:var(--bg); z-index:3; padding:22px 28px 60px 65px; flex-direction:column; gap:20px; clip-path:polygon(0 0,100% 0,100% 94%,38% 100%); }
 .home-edition b { font-size:46px; line-height:1; font-weight:400; text-align:right; margin-top:70px; }
 .home-edition span { font-size:11px; line-height:1.5; letter-spacing:.16em; text-transform:uppercase; }
}
.service-site.reference-layout .edhead__media { pointer-events:auto; }
.service-site.reference-layout .scene-controls { pointer-events:auto; }
