/* Internal-page atmosphere. Photos on home/auth screens keep their own treatment. */
body.service-site:not(.home-page):not(.auth-scene) {
 --bg:#f7f3ed;--surface:#fffaf5;--glass-surface:#fffcf7b8;--glass-border:#ffffffa6;
 --glow-x:0%;--glow-y:5%;--glow-strength:1;
 background:var(--bg);isolation:isolate;
}
body.service-site:not(.home-page):not(.auth-scene)::before {
 content:'';position:fixed;inset:-8%;pointer-events:none;z-index:-1;
 background:radial-gradient(ellipse 55% 40% at var(--glow-x) var(--glow-y),#ff8b4585,transparent 78%),radial-gradient(ellipse 43% 36% at 108% 105%,#ff6d2b9c,transparent 78%),radial-gradient(ellipse 38% 28% at 76% 112%,#ffb66f66,transparent 82%);
 opacity:var(--glow-strength);filter:blur(30px);animation:brand-glow-drift 24s ease-in-out infinite alternate;
}
body.service-site.workspace-page {--glow-x:-18%;--glow-y:12%;--glow-strength:.65}
body.service-site.venue-page {--glow-x:-25%;--glow-y:75%;--glow-strength:.7}
body.service-site:has(.booking-result) {--glow-x:-22%;--glow-y:0%;--glow-strength:.75}
body.service-site:has(.map-page,.map-layout,#map) {--glow-strength:.55}
@keyframes brand-glow-drift {from{transform:translate(-1%,-1%) scale(1)}to{transform:translate(2%,2%) scale(1.035)}}
body.service-site:not(.home-page):not(.auth-scene) .main {background:transparent}
body.service-site:not(.home-page):not(.auth-scene) :is(.panel,.bcard,.stat,.booking-result__card,.banquet-card,.pcard,.catalog-search,.catalog-bar__sort select,.catalog-bar>.btn,.banquet-conditions>span,.footer__contacts,.filters[open],.side__link,.tab,.choice__button,.bookpanel) {
 background:var(--glass-surface)!important;border:1px solid var(--glass-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 6px 24px #422a1607;
}
body.service-site.catalog-page.reference-layout .catalog-categories {background:linear-gradient(120deg,#252520ce,#191d18c9);border:1px solid #ffffff3d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
body.service-site.catalog-page.reference-layout .catalog-search input {background:transparent!important}
body.service-site:not(.home-page):not(.auth-scene) .header {background:var(--glass-surface)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
body.service-site:not(.home-page):not(.auth-scene) .footer {background:var(--glass-surface)}
body.service-site:not(.home-page):not(.auth-scene) :is(.tab,.side__link):is(.active,.is-active,[aria-current=page]) {background:var(--accent)!important}
body.service-site:not(.home-page):not(.auth-scene) :is(.btn--primary,.banquet-card__button,.mobile-dock) {box-shadow:0 3px 14px #60260825;outline:1px solid #ffffff30;outline-offset:-1px}
:root[data-theme=dark] body.service-site:not(.home-page):not(.auth-scene) {
 --bg:#100e0d;--surface:#211b17;--glass-surface:#211c18c9;--glass-border:#ffdcc226;
 background:var(--bg);
}

/* Venue section navigation is one control, not a row of generic glass cards. */
body.service-site.venue-page .venue-tabs {
 display:flex;align-items:center;flex-wrap:wrap;gap:6px;width:max-content;max-width:100%;
 margin:0 0 28px;padding:5px;border:1px solid var(--glass-border);border-radius:999px;
 background:var(--glass-surface);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
 box-shadow:0 8px 28px #422a160c;
}
body.service-site.venue-page .venue-tabs a {
 display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;
 border:0!important;border-radius:999px;background:transparent!important;box-shadow:none!important;
 color:var(--muted);font-weight:650;line-height:1;text-decoration:none;white-space:nowrap;
 transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
body.service-site.venue-page .venue-tabs a:hover {color:var(--text);background:#ffffff80!important}
body.service-site.venue-page .venue-tabs a[aria-current="true"] {
 color:#fff;background:var(--accent)!important;box-shadow:0 5px 14px #db4b1730!important;
}
body.service-site.venue-page .venue-tabs a:focus-visible {outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:640px) {
 body.service-site.venue-page .venue-tabs {width:100%;flex-wrap:nowrap;overflow-x:auto;border-radius:18px;margin-bottom:22px;scrollbar-width:none}
 body.service-site.venue-page .venue-tabs::-webkit-scrollbar {display:none}
 body.service-site.venue-page .venue-tabs a {min-height:40px;padding:0 15px}
}
:root[data-theme=dark] body.service-site:not(.home-page):not(.auth-scene)::before {
 background:radial-gradient(ellipse 60% 55% at 112% 112%,#ff6500b0,transparent 74%),radial-gradient(ellipse 70% 55% at 100% 100%,#a9260059,transparent 85%),radial-gradient(ellipse 35% 30% at -12% 10%,#77331826,transparent 80%);
}
:root[data-theme=dark] body.service-site.catalog-page.reference-layout .catalog-categories {background:#231e19c4;border-color:#ffdcc22e}
body.service-site.venue-page .venue-hero .venue__shot {background:transparent}
@media(min-width:1000px) {body.service-site:not(.home-page):not(.auth-scene)::before {filter:blur(55px)}}
@media(prefers-reduced-motion:reduce) {body.service-site:not(.home-page):not(.auth-scene)::before {animation:none}}
body.service-site:not(.home-page):not(.auth-scene) :is(.tab,.side__link):is(.active,.is-active,[aria-current=page]) {color:#fff!important;-webkit-text-fill-color:#fff}
/* Two independently moving colour fields create a slow liquid effect. */
body.service-site:not(.home-page):not(.auth-scene)::before {
 inset:-14%;filter:blur(42px);
 animation:brand-liquid-main 20s ease-in-out infinite alternate;
 will-change:transform;
}
body.service-site:not(.home-page):not(.auth-scene)::after {
 content:'';position:fixed;inset:-18%;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse 40% 27% at 12% 68%,#ffb36b69,transparent 80%),radial-gradient(ellipse 32% 44% at 88% 38%,#f77e4940,transparent 80%),radial-gradient(ellipse 50% 22% at 52% 108%,#ffe6ae80,transparent 80%);
 opacity:var(--glow-strength);filter:blur(46px);
 animation:brand-liquid-wave 27s ease-in-out infinite alternate;
 will-change:transform;
}
:root[data-theme=dark] body.service-site:not(.home-page):not(.auth-scene)::after {
 background:radial-gradient(ellipse 45% 32% at 10% 88%,#b643004f,transparent 80%),radial-gradient(ellipse 35% 42% at 98% 55%,#ff842843,transparent 80%),radial-gradient(ellipse 42% 26% at 50% 110%,#8b302650,transparent 80%);
}
@keyframes brand-liquid-main {
 0% {transform:translate(-5%,-3%) rotate(-8deg) scale(1.04,1)}
 45% {transform:translate(4%,3%) rotate(5deg) scale(1.12,.95)}
 100% {transform:translate(-2%,6%) rotate(-3deg) scale(.98,1.1)}
}
@keyframes brand-liquid-wave {
 0% {transform:translate(5%,3%) rotate(7deg) scale(1,.95)}
 55% {transform:translate(-5%,-3%) rotate(-6deg) scale(1.1,1.05)}
 100% {transform:translate(2%,-5%) rotate(4deg) scale(.96,1.13)}
}
@media(prefers-reduced-motion:reduce) {
 body.service-site:not(.home-page):not(.auth-scene)::before,
 body.service-site:not(.home-page):not(.auth-scene)::after {animation:none;will-change:auto}
}
/* Visible liquid movement: broad colour pools cross the viewport. */
body.service-site:not(.home-page):not(.auth-scene)::before {
 background:radial-gradient(ellipse 48% 40% at 18% 25%,#ff87349c,transparent 78%),radial-gradient(ellipse 46% 38% at 85% 85%,#ffae5b99,transparent 80%);
 filter:blur(28px);animation:brand-liquid-main 9s ease-in-out infinite alternate;
}
body.service-site:not(.home-page):not(.auth-scene)::after {
 background:radial-gradient(ellipse 42% 35% at 75% 25%,#ffc66b70,transparent 80%),radial-gradient(ellipse 42% 40% at 20% 80%,#f1785359,transparent 80%);
 filter:blur(32px);animation:brand-liquid-wave 12s ease-in-out infinite alternate;
}
:root[data-theme=dark] body.service-site:not(.home-page):not(.auth-scene)::before {background:radial-gradient(ellipse 48% 42% at 10% 28%,#a4340069,transparent 78%),radial-gradient(ellipse 48% 44% at 85% 85%,#ff650099,transparent 80%)}
:root[data-theme=dark] body.service-site:not(.home-page):not(.auth-scene)::after {background:radial-gradient(ellipse 42% 38% at 80% 25%,#cf682b59,transparent 80%),radial-gradient(ellipse 44% 40% at 20% 80%,#a82f2259,transparent 80%)}
@keyframes brand-liquid-main {
 from {transform:translate(-12%,-9%) rotate(-15deg) scale(1.1,.9)}
 to {transform:translate(12%,12%) rotate(18deg) scale(.9,1.15)}
}
@keyframes brand-liquid-wave {
 from {transform:translate(13%,10%) rotate(16deg) scale(.9,1.1)}
 to {transform:translate(-14%,-10%) rotate(-20deg) scale(1.15,.9)}
}
@media(prefers-reduced-motion:reduce) {
 body.service-site:not(.home-page):not(.auth-scene)::before,
 body.service-site:not(.home-page):not(.auth-scene)::after {animation:none}
}
/* Translucent category rail with softly raised copper icons. */
body.service-site.catalog-page.reference-layout .catalog-categories {
 background:linear-gradient(125deg,rgba(40,43,35,.48),rgba(23,31,25,.38));
 border:1px solid rgba(255,255,255,.42);
 box-shadow:inset 0 1px 0 #ffffff24,0 8px 24px #1720150a;
 backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
body.service-site.catalog-page .catalog-categories svg {
 color:#ffac70;stroke-width:1.7;
 filter:drop-shadow(0 -1px 0 #ffe4be80) drop-shadow(0 2px 0 #72381988) drop-shadow(0 4px 3px #171a154d);
}
body.service-site.catalog-page .catalog-categories a {color:#fff6eb;text-shadow:0 1px 2px #17201555}
body.service-site.catalog-page .catalog-categories a[aria-current=page] {color:#ffc294}
body.service-site.catalog-page .catalog-categories a[aria-current=page] svg {color:#ffc08c;filter:drop-shadow(0 -1px 0 #fff1dcb3) drop-shadow(0 2px 0 #79371599) drop-shadow(0 4px 4px #181b154d)}
:root[data-theme=dark] body.service-site.catalog-page.reference-layout .catalog-categories {background:linear-gradient(125deg,#39312a61,#1d211a52);border-color:#ffe1c52e}
/* Category ribbon: clean white outlines and colour fading into the page. */
body.service-site.catalog-page.reference-layout .catalog-categories,
:root[data-theme=dark] body.service-site.catalog-page.reference-layout .catalog-categories {
 position:relative;isolation:isolate;overflow:visible;
 background:transparent;border:0;border-radius:0;box-shadow:none;
 backdrop-filter:none;-webkit-backdrop-filter:none;
 padding:12px 6px;margin-top:4px;margin-bottom:10px;
}
body.service-site.catalog-page .catalog-categories::before {
 content:'';position:absolute;z-index:-1;inset:-8px -16px;pointer-events:none;
 background:linear-gradient(100deg,#ed7029ed,#f38335e8,#ec752aed);
 -webkit-mask-image:linear-gradient(180deg,transparent,#000 23%,#000 77%,transparent);
 mask-image:linear-gradient(180deg,transparent,#000 23%,#000 77%,transparent);
}
body.service-site.catalog-page .catalog-categories a,
body.service-site.catalog-page .catalog-categories a[aria-current=page] {color:#fff;text-shadow:none;gap:8px;font-weight:500}
body.service-site.catalog-page .catalog-categories svg,
body.service-site.catalog-page .catalog-categories a[aria-current=page] svg {color:#fff;stroke-width:1.65;filter:none;width:24px;height:24px}
body.service-site.catalog-page .catalog-categories a[aria-current=page]::after {background:#fff;height:2px;width:20px;left:calc(50% - 10px);bottom:8px;border-radius:2px}
body.service-site.catalog-page .catalog-categories a:focus-visible {outline:2px solid #fff;outline-offset:-3px}
/* Desktop catalogue uses the same soft card system as handheld screens. */
@media(min-width:1001px) {
 body.service-site.catalog-page.reference-layout .main {padding-top:40px!important}
 body.service-site.catalog-page.reference-layout .catalog-heading {margin:20px 0 28px;font-size:38px;line-height:1.2}
 body.service-site.catalog-page.reference-layout .catalog-layout {display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}
 body.service-site.catalog-page.reference-layout .filters {display:block;padding:22px;border:1px solid var(--glass-border);border-radius:24px;clip-path:none}
 body.service-site.catalog-page.reference-layout .filters__title {font-size:13px;margin:0 0 8px}
 body.service-site.catalog-page.reference-layout .filters__group {display:flex;flex-direction:column;gap:10px}
 body.service-site.catalog-page.reference-layout .filters label {font-size:13px;line-height:1.5}
 body.service-site.catalog-page.reference-layout .filters :is(select,input,.choice,.choice__button) {max-width:100%;box-sizing:border-box}
 body.service-site.catalog-page.reference-layout .filters .btn {font-size:13px;white-space:normal}
 body.service-site.catalog-page.reference-layout .catalog-main .grid--places {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 body.service-site.catalog-page.reference-layout .pcard {border-radius:24px;overflow:hidden;display:flex;flex-direction:column;clip-path:none}
 body.service-site.catalog-page.reference-layout .pcard__media {border-radius:0;aspect-ratio:16/10}
 body.service-site.catalog-page.reference-layout .pcard__body {display:flex;flex-direction:column;gap:8px;padding:18px;flex:1}
 body.service-site.catalog-page.reference-layout .pcard__title {font-size:21px;text-transform:none;line-height:1.25;margin:0}
 body.service-site.catalog-page.reference-layout .pcard__foot {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:14px}
 body.service-site.catalog-page.reference-layout .pcard__more {position:static;font-size:13px}
 body.service-site.catalog-page.reference-layout .pcard__check {font-size:12px}
 body.service-site.catalog-page {--glow-strength:.55}
}
@media(min-width:1001px) and (max-width:1300px) {body.service-site.catalog-page.reference-layout .catalog-main .grid--places {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1001px) {
 body.service-site.catalog-page.reference-layout .header::before,
 body.service-site.catalog-page.reference-layout .header::after {display:none}
 body.service-site.catalog-page.reference-layout .header {clip-path:none;background:var(--glass-surface)!important}
 body.service-site.catalog-page.reference-layout .main {padding-top:12px!important}
}
/* Compact catalogue recommendations. */
body.service-site.catalog-page.reference-layout .catalog-main .grid--places {gap:18px!important}
body.service-site.catalog-page.reference-layout .pcard {border-radius:20px;overflow:hidden}
body.service-site.catalog-page.reference-layout .pcard__media {height:auto!important;aspect-ratio:1.85;border-radius:0}
body.service-site.catalog-page.reference-layout .pcard__media>img {width:100%;height:100%;object-fit:cover}
body.service-site.catalog-page.reference-layout .pcard__body {padding:14px 16px;gap:6px}
body.service-site.catalog-page.reference-layout .pcard__title {font-size:18px;line-height:1.3;letter-spacing:-.025em}
body.service-site.catalog-page.reference-layout :is(.pcard__meta,.pcard__addr) {font-size:12px;line-height:1.5;margin:0}
body.service-site.catalog-page.reference-layout .pcard__foot {padding-top:10px;gap:8px;min-height:38px}
body.service-site.catalog-page.reference-layout :is(.pcard__flag,.pcard__score) {font-size:11px;padding:6px 10px}
@media(min-width:1001px) {
 body.service-site.catalog-page.reference-layout .pcard__media {max-height:210px}
}
@media(max-width:760px) {
 body.service-site.catalog-page.reference-layout .pcard__media {aspect-ratio:1.9;max-height:200px}
 body.service-site.catalog-page.reference-layout .pcard__title {font-size:18px}
}
/* Slightly tighter recommendation cards without reducing text readability. */
body.service-site.catalog-page.reference-layout .pcard__media {aspect-ratio:2.15;max-height:180px}
body.service-site.catalog-page.reference-layout .pcard__body {padding:12px 14px;gap:5px}
body.service-site.catalog-page.reference-layout .pcard__foot {padding-top:7px;min-height:32px}
@media(max-width:760px) {
 body.service-site.catalog-page.reference-layout .pcard__media {aspect-ratio:2.15;max-height:170px}
}
.banquet-picker {max-width:510px;padding-top:30px;padding-bottom:40px}
.banquet-picker h1 {font-size:34px;line-height:1.12;letter-spacing:-1px;margin:20px 0 14px}
.banquet-picker .lead {font-size:15px;line-height:1.6;color:var(--text-muted);margin-bottom:24px}
.banquet-picker .panel {padding:22px;border-radius:22px}
.banquet-picker .field {margin-bottom:20px}
.banquet-picker label {display:block;margin-bottom:8px;font-size:14px}
.banquet-picker :is(input,select) {width:100%;box-sizing:border-box;min-height:50px;border:1px solid var(--border);border-radius:13px;padding:12px;background:var(--glass-surface);color:var(--text);font:inherit}
.banquet-steps {display:flex;align-items:center;gap:6px}
.banquet-steps>span {height:5px;flex:1;background:var(--border);border-radius:5px}
.banquet-steps>.active {background:var(--accent)}
.banquet-steps small {margin-left:16px;color:var(--text-muted)}
.banquet-picker__note {padding:16px;border:1px solid var(--glass-border);border-radius:16px;font-size:13px;line-height:1.6;color:var(--text-muted);background:var(--glass-surface)}
.intro .intro-banquet {display:flex;justify-content:center;align-items:center;min-height:48px;margin-top:12px;border:1px solid #ffffff55;border-radius:30px;background:#ffffff16;backdrop-filter:blur(12px);color:#fff;font-size:14px}
.banquet-conditions>a {padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--glass-surface);font-size:12px;color:var(--text)}
/* Keep the orange initial optically joined to the wordmark. */
body.service-site .header .stolik-wordmark {column-gap:0}
body.service-site .header .stolik-wordmark>span:first-child {min-width:0;padding:0;margin-right:-.035em;flex:0 0 auto;letter-spacing:inherit}

/* Map: the map occupies the screen; controls float over it. */
body.service-site:has(.map-page) .main {padding:0;max-width:none;width:100%}
body.service-site:has(.map-page) .footer,
body.service-site:has(.map-page) #installApp {display:none}
body.service-site .map-page {height:calc(100dvh - var(--header-h,80px));min-height:320px;position:relative}
body.service-site .map-container {height:100%;min-height:0;flex:1}
body.service-site .map-controls {position:absolute;top:12px;left:12px;z-index:500;padding:0;background:none;border:0;width:min(280px,calc(100% - 76px));pointer-events:none}
body.service-site .map-controls__inner {display:block}
body.service-site .map-filters {display:block;width:100%;border:1px solid var(--border);border-radius:16px;background:var(--panel,rgba(255,255,255,.94));box-shadow:0 3px 18px #0002;backdrop-filter:blur(16px);pointer-events:auto;overflow:hidden}
body.service-site .map-filters .filters-toggle {font-size:13px;padding:12px 14px;min-height:44px;margin:0;cursor:pointer}
body.service-site .map-filter-options {padding:0 14px 10px;display:grid;gap:10px;font-size:13px}
body.service-site .map-search {padding:0 10px 10px;width:100%;min-width:0}
body.service-site .map-search input {width:100%;font-size:14px;min-height:42px;padding:10px}
body.service-site .map-locate {position:absolute;right:14px;bottom:40px;z-index:500;width:46px;height:46px;border:1px solid #0001;border-radius:50%;background:#fff;color:#f36f21;box-shadow:0 3px 14px #0003;display:grid;place-items:center;cursor:pointer;padding:0}
body.service-site .map-locate:disabled {opacity:.6}
body.service-site .map-locate:focus-visible {outline:3px solid #f36f21;outline-offset:3px}
body.service-site .map-notice {position:absolute;z-index:500;bottom:96px;right:14px;max-width:min(300px,calc(100% - 28px));padding:10px 14px;border-radius:12px;background:var(--panel,#fff);box-shadow:0 3px 14px #0002;font-size:13px;margin:0}
body.service-site .map-notice:empty {display:none}
body.service-site .map-notice--data {bottom:12px;left:12px;right:auto}
body.service-site .map-page .leaflet-top.leaflet-left {left:auto;right:0;top:64px}
@media(max-width:1000px){body.service-site .map-page {height:calc(100dvh - var(--header-h,72px) - 78px - env(safe-area-inset-bottom,0px))}}

.staff-workspace {min-width:0;max-width:1000px}
.staff-panel {padding:20px;margin:16px 0;border-radius:20px}
.staff-panel h2,.staff-panel h3 {margin:0 0 10px;font-size:20px}
.staff-panel summary {cursor:pointer;font-weight:600;padding:4px 0}
.staff-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.staff-form label,.staff-day label {display:grid;gap:7px;font-size:14px;min-width:0}
.staff-form input,.staff-form select,.staff-form textarea {width:100%;min-width:0}
.staff-form textarea {min-height:72px}
.staff-actions {display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1}
.staff-day {display:flex;align-items:end;gap:12px;margin:20px 0}
.staff-booking-head,.staff-permissions {display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}
.staff-permissions p {flex:1;min-width:200px;font-size:14px}
.staff-eyebrow {color:var(--muted);font-size:14px}
@media(max-width:600px){.staff-form {grid-template-columns:1fr}.staff-panel {padding:16px}.staff-workspace h1{font-size:28px}.staff-actions .btn {padding:10px 14px;font-size:14px}}

/* Native Windows scrollbar tracks must not frame the site's soft surfaces. */
.service-site {scrollbar-color:rgba(140,120,104,.45) transparent;scrollbar-width:thin}
.service-site * {scrollbar-color:rgba(140,120,104,.45) transparent;scrollbar-width:thin}
.service-site::-webkit-scrollbar,.service-site *::-webkit-scrollbar {width:6px;height:6px}
.service-site::-webkit-scrollbar-track,.service-site *::-webkit-scrollbar-track {background:transparent}
.service-site::-webkit-scrollbar-thumb,.service-site *::-webkit-scrollbar-thumb {background:rgba(140,120,104,.45);border-radius:999px}
.service-site::-webkit-scrollbar-button,.service-site *::-webkit-scrollbar-button {display:none;width:0;height:0}
.service-site::-webkit-scrollbar-corner,.service-site *::-webkit-scrollbar-corner {background:transparent}
.service-site.workspace-page .side,.service-site .tabs,.service-site .service-nav,.service-site .discovery-rail,.service-site .venue-gallery {scrollbar-width:none;background:transparent}
.service-site.workspace-page .side::-webkit-scrollbar,.service-site .tabs::-webkit-scrollbar,.service-site .service-nav::-webkit-scrollbar,.service-site .discovery-rail::-webkit-scrollbar,.service-site .venue-gallery::-webkit-scrollbar {display:none}
