﻿:root{--bg:#f3f6f3;--surface:#fff;--surface-2:#eef3ef;--ink:#20231f;--muted:#68706a;--line:#d9dfd8;--accent:#2f6f5e;--danger:#a33a3a;--success:#28734d;--warning:#a86d16;--shadow:0 14px 34px #20231f14}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);letter-spacing:0;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.65;cursor:not-allowed}main{min-height:calc(100vh - 72px)}.app-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f6f3f5;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;min-height:72px;padding:0 32px;display:grid;position:sticky;top:0}.office-header .brand{color:var(--accent)}.public-header .header-actions{justify-content:flex-end}.office-auth-page{padding-top:56px}.auth-intro{gap:10px;display:grid}.auth-intro p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.5}.compact-note{align-items:center;gap:8px;display:flex}.brand,.icon-text,.user-chip,.meta-row span{align-items:center;gap:8px;display:inline-flex}.brand{font-size:20px;font-weight:800}.main-nav,.header-actions,.row-actions,.toolbar-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.main-nav a{color:var(--muted);font-weight:700}.header-actions{justify-content:flex-end}.user-chip{border:1px solid var(--line);max-width:220px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:8px 10px;overflow:hidden}.page{width:min(1180px,100% - 32px);margin:0 auto;padding:36px 0 64px}.hero{grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:28px;min-height:420px;padding:34px 0 26px;display:grid}.hero-copy{flex-direction:column;justify-content:center;gap:22px;display:flex}.hero h1,.page-title h1,.auth-panel h1,.restaurant-hero h1{margin:0;font-size:clamp(34px,5vw,64px);line-height:1}.hero p,.page-title p{max-width:760px;color:var(--muted);margin:0;font-size:18px;line-height:1.55}.hero-media,.restaurant-hero-image-wrap,.gallery-item,.card-image-link{background:var(--surface-2);border-radius:8px;position:relative;overflow:hidden}.hero-media{min-height:380px;box-shadow:var(--shadow)}.hero-media img,.restaurant-card-image,.restaurant-hero-image-wrap img,.gallery-item img{object-fit:cover;width:100%;height:100%}.stat-strip,.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-strip div,.metric-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:18px}.stat-strip strong,.metric-card strong{font-size:26px;display:block}.stat-strip span,.metric-card span,.muted{color:var(--muted)}.eyebrow{color:var(--accent);text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.button,.ghost,.small-button,.danger-button,.secondary-button,.icon-button,.icon-only{text-align:center;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:800;display:inline-flex}.button{color:#fff;background:var(--accent);padding:0 16px}.button.compact{min-height:38px;padding:0 12px}.button.full,.full{width:100%}.ghost{border-color:var(--line);background:var(--surface);padding:0 12px}.small-button{border-color:var(--line);background:var(--surface);min-height:34px;padding:0 10px;font-size:13px}.secondary-button{border-color:var(--line);background:var(--surface);color:var(--ink);padding:0 14px}.danger-button{color:#fff;background:var(--danger);padding:0 14px}.icon-button,.icon-only{border-color:var(--line);background:var(--surface);width:38px;min-width:38px;padding:0}.filters,.panel,.restaurant-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.filters{grid-template-columns:1.4fr repeat(4,minmax(130px,1fr)) auto;align-items:end;gap:12px;margin-bottom:26px;padding:16px;display:grid}label{color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px;font-weight:600}textarea{resize:vertical}.restaurants-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.restaurant-card{overflow:hidden}.card-image-link{aspect-ratio:1.45;display:block}.restaurant-card-body{gap:15px;padding:18px;display:grid}.restaurant-card h2,.panel h2,.section-heading h2{margin:0;font-size:22px}.restaurant-card p,.panel p{color:var(--muted);margin:8px 0 0;line-height:1.5}.meta-row{color:var(--muted);gap:8px;font-size:14px;display:grid}.tag-row{flex-wrap:wrap;gap:8px;display:flex}.tag-row span,.badge{background:var(--surface-2);min-height:28px;color:var(--accent);border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.badge-new,.badge-awaiting-restaurant-confirmation,.badge-awaiting-deposit-payment{color:var(--warning);background:#fff3cf}.badge-confirmed,.badge-approved,.badge-seated,.badge-deposit-paid,.badge-confirmed-by-guest,.badge-confirmed-by-restaurant{color:var(--success);background:#dff1e8}.badge-rejected,.badge-cancelled,.badge-no-show,.badge-cancelled-by-guest,.badge-cancelled-by-restaurant,.badge-payment-expired{color:var(--danger);background:#f5dedd}.restaurant-detail{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);align-items:start;gap:24px;display:grid}.restaurant-hero,.wide-form,.stack-form,.reservation-form,.owner-layout{gap:16px;display:grid}.restaurant-hero{gap:20px}.restaurant-hero-image-wrap{aspect-ratio:1.9}.panel{padding:20px}.panel+.panel{margin-top:18px}.section-heading,.editor-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.compact-heading{margin-bottom:14px}.menu-public{gap:20px;display:grid}.menu-item-row,.list-row,.reservation-row,.admin-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.menu-item-row:last-child,.list-row:last-child,.reservation-row:last-child,.admin-row:last-child{border-bottom:0}.hours-table,.stack-list,.admin-table,.reservation-list{gap:8px;display:grid}.hours-line{color:var(--muted);justify-content:space-between;gap:12px;display:flex}.auth-panel{gap:16px;margin-top:42px;display:grid}.form-grid{gap:14px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-error,.form-success,.form-note{border-radius:8px;margin:0;padding:11px 12px;font-weight:700}.form-error{color:var(--danger);background:#f7e3e0}.form-success{color:var(--success);background:#deefe7}.form-note{color:var(--muted);background:var(--surface-2)}.tabs{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-wrap:wrap;gap:8px;padding:8px;display:flex}.tabs a{color:var(--muted);border-radius:8px;padding:9px 12px;font-weight:800}.grid-layout{gap:18px;display:grid}.two-columns{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.full-span{grid-column:1/-1}.inline-form{grid-template-columns:minmax(0,1fr) 110px 42px;align-items:center;gap:10px;display:grid}.hall-create-form{grid-template-columns:minmax(0,1fr) 120px 120px auto;align-items:center;gap:10px;display:grid}.hall-editor{grid-template-columns:minmax(0,1fr) 300px;gap:18px;display:grid}.hall-board{width:100%;aspect-ratio:var(--hall-ratio);touch-action:none;background:#fbfdfb;border:1px dashed #aeb8ad;border-radius:8px;min-height:320px;position:relative;overflow:hidden}.hall-table{color:var(--ink);touch-action:none;background:#e3f1eb;border:2px solid #2f6f5e;border-radius:8px;place-items:center;gap:2px;display:grid;position:absolute;box-shadow:0 8px 20px #2f6f5e2e}.public-board .hall-table{pointer-events:none}.hall-table span{color:var(--muted);font-size:12px}.hall-table.selected{background:#f7e5df;border-color:#b24b37}.hall-table.disabled{opacity:.45}.table-circle{border-radius:999px}.check-row{color:var(--ink);align-items:center;gap:9px;display:flex}.check-row input{width:18px;min-height:18px}.hours-list{gap:12px;display:grid}.hours-row{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr 1fr 110px;align-items:center;gap:12px;padding-bottom:12px;display:grid}.reservation-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.page-title{gap:10px;margin-bottom:24px;display:grid}.empty-state{border:1px dashed var(--line);color:var(--muted);background:#ffffff8c;border-radius:8px;padding:28px}@media (max-width:980px){.app-header{grid-template-columns:1fr;gap:12px;padding:14px 16px}.main-nav,.header-actions{justify-content:flex-start}.hero,.restaurant-detail,.hall-editor,.two-columns{grid-template-columns:1fr}.filters,.restaurants-grid,.dashboard-grid,.hall-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.page{width:min(100% - 20px,1180px);padding-top:22px}.hero{min-height:0}.hero-media{min-height:260px}.filters,.restaurants-grid,.form-grid.two,.dashboard-grid,.stat-strip,.hours-row,.hall-create-form{grid-template-columns:1fr}.menu-item-row,.reservation-row,.admin-row{flex-direction:column;align-items:flex-start}.reservation-actions,.row-actions{justify-content:flex-start}}.client-cta{color:#fff;background:#ff5a1f}.catalog-title{gap:18px;margin-bottom:34px;display:grid}.catalog-title h1{margin:0;font-size:clamp(34px,5vw,54px);line-height:1.04}.quick-filter-row{gap:8px;padding-bottom:2px;display:flex;overflow:auto}.quick-filter-row a{white-space:nowrap;background:#f7e8d6;border-radius:999px;align-items:center;min-height:34px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.restaurant-showcase{background:#1f1a18;border-radius:8px;min-height:390px;margin-bottom:34px;position:relative;overflow:hidden}.restaurant-showcase img,.restaurant-profile-hero img,.home-feature-card img{object-fit:cover}.showcase-overlay,.profile-hero-overlay{background:linear-gradient(90deg,#000000c7,#00000059,#0000000a);position:absolute;inset:0}.showcase-content{z-index:1;color:#fff;flex-direction:column;justify-content:flex-end;gap:14px;width:min(620px,100%);min-height:390px;padding:34px;display:flex;position:relative}.showcase-content span:first-child{background:#ffffff29;border-radius:999px;align-self:flex-start;padding:7px 12px;font-size:13px;font-weight:800}.showcase-content h2{margin:0;font-size:clamp(30px,5vw,48px);line-height:1}.showcase-content p{max-width:560px;margin:0;font-size:17px;line-height:1.45}.showcase-meta{color:#ffffffdb;flex-wrap:wrap;align-items:center;gap:16px;font-weight:800;display:flex}.showcase-meta span{align-items:center;gap:6px;display:inline-flex}.restaurant-filter-bar{box-shadow:none;background:#f5f5f4;border:0;grid-template-columns:1.35fr repeat(4,minmax(126px,1fr)) auto;margin:0 0 34px}.restaurant-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;display:grid}.restaurant-card-body{padding:12px 0 0}.restaurant-card h2{font-size:19px}.restaurant-card p{font-size:14px}.restaurant-card-compact .card-image-link{aspect-ratio:1.5;border-radius:8px}.restaurant-card-compact .meta-row{gap:5px;font-size:13px}.center-row{justify-content:center;display:flex}.wide-link{background:#f2f1ef;border-radius:999px;width:min(520px,100%)}.client-home-hero{grid-template-columns:minmax(0,1fr) minmax(320px,460px);align-items:center;gap:42px;min-height:520px;padding:34px 0;display:grid}.client-home-copy{gap:22px;display:grid}.client-home-copy h1{margin:0;font-size:clamp(38px,6vw,76px);line-height:.98}.client-home-copy p{max-width:760px;color:var(--muted);margin:0;font-size:19px;line-height:1.55}.client-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px}.home-feature-card{color:#fff;background:#1f1a18;border-radius:8px;align-items:flex-end;min-height:520px;padding:24px;display:flex;position:relative;overflow:hidden}.home-feature-card:after{content:"";background:linear-gradient(#0000,#000000c7);position:absolute;inset:0}.home-feature-card span,.home-feature-card strong{z-index:1;position:relative}.home-feature-card span{background:#ffffff29;border-radius:999px;align-self:flex-start;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.home-feature-card strong{font-size:30px;line-height:1.05;position:absolute;bottom:24px;left:24px;right:24px}.value-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.value-grid div,.insight-row{background:var(--surface-2);border-radius:8px;gap:6px;padding:14px;display:grid}.value-grid strong{font-size:24px}.value-grid span,.insight-row span{color:var(--muted);line-height:1.4}.quick-actions{flex-wrap:wrap;gap:10px;display:flex}.chart-list{gap:10px;display:grid}.chart-row{grid-template-columns:86px minmax(0,1fr) 52px;align-items:center;gap:10px;display:grid}.chart-bar{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}.chart-bar span{background:var(--accent);border-radius:999px;height:100%;display:block}.guest-profile-grid{grid-template-columns:320px minmax(0,1fr);gap:18px;display:grid}.booking-link-box{color:#8f3c13;background:#fff7ed;border-radius:8px;gap:10px;padding:16px;display:grid}.landing-band{background:#fff;padding:64px 0}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.pricing-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:14px;padding:22px;display:grid}.restaurant-profile-hero{background:#1f1a18;min-height:430px;position:relative;overflow:hidden}.profile-hero-content{z-index:1;color:#fff;align-content:center;gap:16px;width:min(1180px,100% - 32px);min-height:430px;margin:0 auto;display:grid;position:relative}.profile-hero-content h1{max-width:840px;margin:0;font-size:clamp(42px,7vw,82px);line-height:.95}.profile-hero-content p:not(.eyebrow){max-width:680px;margin:0;font-size:19px;line-height:1.5}.profile-hero-meta{color:#ffffffe6;flex-wrap:wrap;gap:14px;font-weight:800;display:flex}.profile-hero-meta span{align-items:center;gap:7px;display:inline-flex}.restaurant-anchor-nav{z-index:15;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;justify-content:center;gap:28px;min-height:58px;display:flex;position:sticky;top:72px}.restaurant-anchor-nav a{color:var(--muted);align-items:center;font-weight:800;display:inline-flex}.restaurant-profile-content{grid-template-columns:minmax(0,1fr) 360px;gap:34px;display:grid}.profile-main{gap:34px;display:grid}.profile-section{gap:18px;display:grid}.profile-section h2,.profile-facts h3{margin:0;font-size:28px}.profile-section>p{color:#343833;max-width:820px;margin:0;font-size:17px;line-height:1.68}.profile-gallery{grid-template-columns:1.35fr .65fr 1fr 1fr;gap:14px;display:grid}.profile-gallery .gallery-item{aspect-ratio:1.35}.profile-gallery .gallery-item:first-child{aspect-ratio:auto;grid-row:span 2}.profile-gallery .gallery-item img{object-fit:cover}.map-placeholder{background:linear-gradient(135deg,#e9efe9,#f7f0e7);border-radius:8px;min-height:210px;position:relative;overflow:hidden}.map-placeholder:before{content:"";background-color:#0000;background-image:linear-gradient(90deg,#0000 48%,#2f6f5e2e 49%,#0000 50%),linear-gradient(#0000 50%,#ff5a1f2e 51%,#0000 52%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:120px 120px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.map-placeholder>div{z-index:1;width:240px;box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:8px;margin:24px;padding:18px;display:grid;position:relative}.map-placeholder span{color:var(--muted)}.profile-facts{background:#f5f5f4;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;padding:22px;display:grid}.profile-fact-grid{grid-template-columns:150px 1fr;gap:12px;display:grid}.profile-fact-grid span{color:var(--muted)}.profile-booking{align-self:start;position:sticky;top:150px}.phone-note{color:#8f3c13;background:#fff7ed;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:12px;font-weight:800;display:flex}@media (max-width:980px){.restaurant-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.client-home-hero,.restaurant-profile-content,.guest-profile-grid{grid-template-columns:1fr}.value-grid,.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-feature-card{min-height:340px}.profile-booking{position:static}.profile-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-gallery .gallery-item:first-child{aspect-ratio:1.35;grid-row:auto}.restaurant-anchor-nav{justify-content:flex-start;padding:0 16px;top:0;overflow:auto}.restaurant-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.client-page{width:min(100% - 20px,1240px)}.restaurant-showcase,.showcase-content{min-height:330px}.showcase-content{padding:22px}.restaurant-rail{grid-template-columns:1fr}.quick-filter-row{margin-right:-10px}.client-home-hero{min-height:0}.client-stat-strip,.profile-facts,.profile-fact-grid,.restaurant-filter-bar,.value-grid,.pricing-grid{grid-template-columns:1fr}.profile-hero-content{min-height:380px}.profile-hero-meta{display:grid}.profile-gallery{grid-template-columns:1fr}.restaurant-anchor-nav{gap:18px}.restaurant-profile-content{width:min(100% - 20px,1180px)}}.info-note{background:var(--surface-2);color:var(--muted);border-radius:8px;margin:0;padding:11px 12px;font-weight:700;line-height:1.45}.compact-error{width:100%;font-size:12px}.hall-table small{color:#8f3c13;font-size:11px;font-weight:800}.badge-waiting-for-payment,.badge-expired{color:var(--warning);background:#fff3cf}.badge-paid,.badge-refunded{color:var(--success);background:#dff1e8}.badge-failed{color:var(--danger);background:#f5dedd}:root{--radius:8px;--focus:0 0 0 3px #2f6f5e2e;--info:#3267a8;--soft-warning:#fff4df;--soft-success:#eaf6ef;--soft-danger:#fae9e6}body{font-feature-settings:"kern" 1;text-rendering:optimizelegibility;background:linear-gradient(#f7f8f5 0,#f1f5f1 100%)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus);outline:0}.button,.ghost,.small-button,.danger-button,.secondary-button,.icon-button,.icon-only{border-radius:var(--radius);transition:background .16s,border-color .16s,transform .16s,box-shadow .16s}.button:hover,.small-button:hover,.secondary-button:hover,.ghost:hover{transform:translateY(-1px);box-shadow:0 10px 22px #20231f14}.button{background:linear-gradient(#327763,#286755)}.secondary-button,.ghost,.small-button{color:var(--ink);background:#fff}.panel,.filters,.pricing-card,.stat-strip div,.metric-card{border-radius:var(--radius);box-shadow:0 12px 28px #20231f12}input,select,textarea{border-radius:var(--radius);transition:border-color .16s,box-shadow .16s,background .16s}input:focus,select:focus,textarea:focus{box-shadow:var(--focus);border-color:#2f6f5eb3}.page-title h1,.catalog-title h1,.profile-hero-content h1{letter-spacing:0}.page-title p,.panel p,.restaurant-card p{line-height:1.55}.admin-row,.reservation-row,.menu-item-row,.list-row{border-radius:var(--radius);padding:14px}.admin-row:hover,.reservation-row:hover,.list-row:hover{background:#f8faf7}.empty-state{background:linear-gradient(#fff,#f8faf7);place-items:start;gap:8px;display:grid}.badge-awaiting-deposit-payment,.badge-waiting-for-payment,.badge-new,.badge-awaiting-restaurant-confirmation{color:#8a570f;background:#fff3cf}.badge-paid,.badge-deposit-paid,.badge-confirmed,.badge-confirmed-by-guest,.badge-confirmed-by-restaurant,.badge-seated{color:#206844;background:#ddf3e8}.badge-no-show,.badge-rejected,.badge-failed,.badge-cancelled,.badge-cancelled-by-guest,.badge-cancelled-by-restaurant{color:#983333;background:#f8dfdc}.public-hall-widget{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(#fff,#f8fbf8);gap:14px;padding:16px;display:grid}.hall-widget-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hall-widget-head h3{margin:0;font-size:20px}.tiny-status{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.hall-tabs{flex-wrap:wrap;gap:8px;display:flex}.hall-tabs button{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:999px;padding:0 12px;font-weight:800}.hall-tabs button.active{color:var(--accent);background:#e7f3ed;border-color:#2f6f5e73}.public-booking-board{border-radius:var(--radius);background-color:#fbfdfb;background-image:radial-gradient(circle at 24px 24px,#2f6f5e14 2px,#0000 3px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px dashed #aeb8ad;width:100%;min-height:320px;position:relative;overflow:visible}.booking-table{min-width:76px;min-height:58px;position:absolute;overflow:visible}.booking-table-core{border-radius:var(--radius);width:100%;height:100%;color:var(--ink);z-index:2;background:#fff;border:2px solid #aac0b5;place-items:center;gap:1px;display:grid;position:absolute;inset:0;box-shadow:0 10px 20px #20231f14}.booking-table-core strong{font-size:16px}.booking-table-core span{color:var(--muted);font-size:11px;font-weight:800}.booking-table-core small{color:var(--muted);font-size:9px;font-weight:800}.booking-table.round .booking-table-core{border-radius:999px}.booking-table.status-occupied .booking-table-core{color:#7a817b;background:#ecefed;border-color:#ccd1cc}.booking-table.status-too_small .booking-table-core,.booking-table.status-disabled .booking-table-core{color:#9a9f9a;background:#f3f4f2;border-color:#d8dcd7}.booking-table.selected .booking-table-core{color:#20231f;background:#fff1e9;border-color:#ff5a1f}.seat-dot{z-index:3;color:#206844;background:#dff1e8;border:2px solid #fff;border-radius:999px;width:24px;height:24px;min-height:24px;font-size:10px;font-weight:900;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 10px #20231f29}.seat-dot.selected{color:#fff;background:#ff5a1f}.seat-dot.seat-occupied,.seat-dot.seat-unavailable{color:#7a817b;background:#d9ded8}.seat-dot:disabled{opacity:1;cursor:not-allowed}.hall-legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;font-weight:800;display:flex}.hall-legend span{align-items:center;gap:6px;display:inline-flex}.hall-legend i{border-radius:999px;width:10px;height:10px}.legend-free{background:#75a78f}.legend-selected{background:#ff5a1f}.legend-busy{background:#aeb6af}.legend-warning{background:#d59a43}.selected-table-summary,.hall-widget-state,.deposit-next-step{border-radius:var(--radius);color:var(--ink);background:#f4f7f4;gap:8px;padding:14px;display:grid}.selected-table-summary span,.hall-widget-state span,.deposit-next-step span{color:var(--muted);line-height:1.45}.muted-summary{background:#fafafa}.hall-widget-state{border:1px dashed var(--line)}.hall-widget-state.error-state{background:var(--soft-danger);color:var(--danger)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.deposit-next-step{color:#8f3c13;background:#fff7ed}.deposit-next-step .button{margin-top:4px}.payment-panel h1{margin:0;font-size:42px}.payment-demo-badge{color:#8a570f;background:#fff3cf;border-radius:999px;align-self:flex-start;align-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.payment-details-grid{border-radius:var(--radius);background:#f7faf7;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:16px;display:grid}.payment-details-grid span{color:var(--muted);font-weight:800}.payment-details-grid strong{overflow-wrap:anywhere;min-width:0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.restaurant-profile-content.single-column{grid-template-columns:1fr}.booking-workspace{scroll-margin-top:150px}.booking-workspace .public-booking-board{min-height:460px}.booking-workspace .hall-widget-head h3{font-size:24px}.yandex-map{border:1px solid var(--line);border-radius:var(--radius);background:#eef3ef;min-height:360px;position:relative;overflow:hidden;box-shadow:0 12px 28px #20231f12}.yandex-map-frame{border:0;width:100%;height:100%;position:absolute;inset:0}.map-address-card{z-index:2;border-radius:var(--radius);width:min(360px,100% - 48px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;padding:18px;display:grid;position:absolute;top:24px;left:24px}.map-address-card strong{font-size:18px;display:block}.map-address-card span{color:var(--muted);line-height:1.4;display:block}.map-card-icon{width:34px;height:34px;color:var(--accent);background:#e7f3ed;border-radius:999px;place-items:center;display:grid!important}.map-card-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.map-card-actions .small-button{gap:6px}@media (max-width:680px){.public-hall-widget{padding:12px}.public-booking-board{min-height:280px}.seat-dot{width:21px;height:21px;min-height:21px;font-size:9px}.booking-table-core strong{font-size:13px}.booking-table-core span,.booking-table-core small{font-size:9px}.payment-details-grid,.metric-grid{grid-template-columns:1fr}.hall-widget-head{display:grid}.yandex-map{min-height:420px}.map-address-card{width:auto;padding:14px;top:12px;left:12px;right:12px}}:root{--bg:#f6f7f4;--surface:#fff;--surface-2:#f1f4ef;--surface-3:#fafbf8;--ink:#161a17;--muted:#626b64;--line:#dfe5dd;--accent:#2f6f5e;--accent-2:#ff5a1f;--danger:#b13e37;--success:#24734d;--warning:#a86d16;--info:#3267a8;--radius:8px;--shadow:0 16px 36px #161a1714;--shadow-soft:0 8px 22px #161a170f;--container:1180px;--lux-bg:#faf7f2;--lux-bg-soft:#f4ede3;--lux-card:#fffdf9;--lux-ink:#2c2118;--lux-muted:#7b6b5e;--lux-terracotta:#6b3d2e;--lux-terracotta-2:#9b5a3d;--lux-gold:#c9a97f;--lux-gold-soft:#ead9c4;--lux-line:#eadfd1;--lux-radius:20px;--lux-shadow:0 24px 70px #4c32201f;--lux-shadow-soft:0 14px 36px #4c322014;--lux-container:1180px}body{background:radial-gradient(circle at 14% -8%,#c9a97f2e,transparent 34%), radial-gradient(circle at 88% 10%,#6b3d2e14,transparent 30%), linear-gradient(180deg,#fffdf9 0%,var(--lux-bg) 34%,#f7efe4 100%);color:var(--lux-ink);font-family:Inter,Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}h1,h2,h3,.brand span,.profile-hero-content h1,.showcase-content h2,.catalog-title h1,.page-title h1{color:var(--lux-ink);letter-spacing:-.01em;font-family:Georgia,Times New Roman,serif;font-weight:760}.app-header.public-header{min-height:82px;padding-inline:max(28px,calc((100vw - var(--lux-container))/2));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf7f2d1;border-bottom:1px solid #c9a97f38;grid-template-columns:auto 1fr auto;box-shadow:0 10px 34px #4c32200d}.public-header .brand{color:var(--lux-ink);letter-spacing:-.02em;gap:10px;font-size:24px}.public-header .main-nav a{min-height:38px;color:var(--lux-ink);background:#fffdf99e;border:1px solid #c9a97f42;border-radius:999px;padding:0 18px;font-weight:820;transition:background .18s,color .18s,box-shadow .18s,transform .18s}.public-header .main-nav a:hover{background:var(--lux-terracotta);color:#fff7ec;transform:translateY(-1px);box-shadow:0 12px 26px #6b3d2e2e}main{background-color:#0000;background-image:linear-gradient(90deg,#c9a97f0e 1px,#0000 1px),linear-gradient(0deg,#c9a97f0b 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:86px 86px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.catalog-title{gap:20px;margin-bottom:30px;padding:18px 0 4px;position:relative}.catalog-title h1{max-width:760px;font-size:clamp(44px,5.4vw,76px);line-height:.96}.catalog-title p{max-width:720px;color:var(--lux-muted);font-size:18px;line-height:1.58}.quick-filter-row{gap:10px;padding:2px 0 6px}.quick-filter-row a{color:#3b2a20;background:#f1dfc7;border:1px solid #c9a97f47;border-radius:999px;min-height:38px;padding:0 17px;transition:background .18s,transform .18s,box-shadow .18s;box-shadow:0 6px 18px #c9a97f21}.quick-filter-row a:hover{background:#e7caa6;transform:translateY(-1px);box-shadow:0 12px 28px #c9a97f33}.restaurant-showcase{isolation:isolate;background:#211813;border:1px solid #c9a97f38;border-radius:28px;min-height:472px;margin-bottom:30px;box-shadow:0 30px 90px #4c322038}.showcase-content span:first-child{color:#f8e7cf;background:#fffdf924;border:1px solid #c9a97f40;padding:8px 13px}.showcase-meta span{color:#fff0dd;background:#fffdf91f;border-radius:999px;min-height:34px;padding:0 12px}.button,.client-cta,.filter-submit{background:linear-gradient(135deg,var(--lux-terracotta),#bd744e);color:#fff9f1;border:0;border-radius:999px;box-shadow:0 12px 26px #6b3d2e33}.button:hover,.client-cta:hover,.filter-submit:hover{background:linear-gradient(135deg,#5c3328,#a96545);box-shadow:0 18px 34px #6b3d2e42}.filter-search{width:min(300px,100%);min-height:52px;box-shadow:var(--lux-shadow-soft);background:#fffdf9d1;border:1px solid #0000;border-radius:999px}.filter-search span,.filter-search input{color:var(--lux-ink)}.filter-trigger{min-height:52px;color:var(--lux-ink);background:#f0e4d3;border:1px solid #c9a97f2e;padding:0 20px;box-shadow:0 10px 22px #4c322012}.filter-trigger span{color:#6f5d4f}.filter-option,.pretty-select-option{min-height:40px;color:var(--lux-ink)}.filter-option:hover,.pretty-select-option:hover,.filter-option.selected,.pretty-select-option.selected{background:#f4eadc}.filter-option.selected .filter-radio-dot,.pretty-select-option.selected .filter-radio-dot{border-color:var(--lux-terracotta)}.filter-reset,.small-button,.secondary-button,.ghost{color:var(--lux-ink);background:#fffdf9d1;border-color:#c9a97f52;border-radius:999px}.restaurant-card,.restaurant-card.restaurant-card-compact{box-shadow:var(--lux-shadow-soft);background:#fffdf9e0;border:1px solid #c9a97f33;border-radius:22px;transition:transform .22s,box-shadow .22s,border-color .22s;overflow:hidden}.meta-row{font-size:13px}.tag-row span,.badge{color:#604533;background:#f3e5d4;min-height:30px;padding:0 11px}.restaurant-card-actions{flex-wrap:wrap;gap:10px;display:flex}.restaurant-profile-hero:after{content:"";background:linear-gradient(180deg,transparent,var(--lux-bg));height:120px;position:absolute;inset:auto 0 0}.profile-hero-content{min-height:540px}.profile-hero-content h1{color:#fffaf3;text-shadow:0 10px 36px #00000052}.restaurant-anchor-nav a{color:#5e4a3c;transition:color .16s}.restaurant-anchor-nav a:hover{color:var(--lux-terracotta)}.profile-section>p{color:#4f4036}.profile-gallery .gallery-item{box-shadow:var(--lux-shadow-soft);border-radius:22px}.yandex-map{min-height:420px;box-shadow:var(--lux-shadow);border-color:#c9a97f47;border-radius:24px}.profile-facts.premium-facts{border-color:#c9a97f4d;border-radius:24px}.menu-public{box-shadow:var(--lux-shadow-soft);background:#fffdf9b8;border:1px solid #c9a97f33;border-radius:24px;padding:26px}.menu-public h3{color:var(--lux-terracotta)}.booking-workspace .reservation-form,.public-reserve-page .reservation-form{box-shadow:var(--lux-shadow);background:#fffdf9f0;border:1px solid #c9a97f47;border-radius:26px}.reservation-form input:focus,.reservation-form textarea:focus,.pretty-select-trigger.open{border-color:var(--lux-terracotta);box-shadow:0 0 0 4px #c9a97f38}.booking-table-core{border-radius:18px}.booking-table.status-available .booking-table-core{background:#edf5e8;border-color:#8aa57d}.booking-table.selected .booking-table-core,.seat-dot.selected{background:var(--lux-terracotta);color:#fffaf3;border-color:#fff7ec}.booking-link-box{color:#8a4a25;background:#fff1e3;border:1px solid #c9a97f40;border-radius:18px}.public-reserve-page{width:min(var(--lux-container),calc(100% - 44px));grid-template-columns:minmax(260px,360px) minmax(0,760px);gap:36px}.public-reserve-page .page-title{box-shadow:var(--lux-shadow-soft);background:#fffdf9d6;border-color:#c9a97f47;border-radius:24px}@media (max-width:980px){.app-header.public-header{padding-inline:22px}.restaurant-rail,.restaurants-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-content{padding:34px}}@media (max-width:680px){.page.client-page,.restaurant-profile-content.single-column,.public-reserve-page{width:min(100% - 24px,var(--lux-container))}.app-header.public-header{grid-template-columns:1fr;align-items:start;min-height:92px}.public-header .main-nav{justify-content:flex-start}.catalog-title h1{font-size:42px}.restaurant-showcase,.showcase-content{min-height:390px}.showcase-content{padding:24px}.restaurant-filter-bar{grid-template-columns:1fr;display:grid}.filter-search,.filter-dropdown,.filter-trigger,.filter-submit,.filter-reset{width:100%}.restaurant-rail,.restaurants-grid{grid-template-columns:1fr}.restaurant-profile-hero,.profile-hero-content{min-height:440px}.public-reserve-page{grid-template-columns:1fr}}.profile-facts.premium-facts{color:#fff6e9;background:radial-gradient(circle at 12% 0,#d4af872b,#0000 34%),radial-gradient(circle at 92% 100%,#872e2257,#0000 38%),linear-gradient(135deg,#2a1713 0%,#1f1a16 52%,#371915 100%);border:1px solid #d4af8747;border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:30px;position:relative;overflow:hidden;box-shadow:0 28px 70px #1f1a1642}.profile-facts.premium-facts:before{content:"";pointer-events:none;opacity:.35;background-color:#0000;background-image:linear-gradient(90deg,#d4af8714 1px,#0000 1px),linear-gradient(0deg,#d4af870e 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:64px 64px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000);mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000)}.premium-fact-panel{z-index:1;align-content:start;gap:22px;min-width:0;display:grid;position:relative}.premium-fact-heading{align-items:flex-start;gap:14px;display:flex}.profile-facts.premium-facts .premium-fact-heading h3{color:#fff7ec;letter-spacing:0;font-size:clamp(28px,2.8vw,38px);line-height:1}.profile-facts.premium-facts .premium-fact-heading h3:after{content:"";background:linear-gradient(90deg,#d4af87,#d4af8700);border-radius:999px;width:78px;height:2px;margin-top:12px;display:block}.premium-fact-icon{color:#d4af87;background:#d4af871f;border:1px solid #d4af8757;border-radius:16px;flex:none;place-items:center;width:44px;height:44px;display:inline-grid;box-shadow:inset 0 1px #ffffff14}.premium-fact-icon.small{background:#fff6e914;border-radius:14px;width:38px;height:38px}.premium-hours-table{background:#fff6e90e;border:1px solid #d4af8729;border-radius:18px;gap:0;display:grid;overflow:hidden}.premium-hours-table .hours-line{border-bottom:1px solid #d4af871f;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:13px 16px;display:grid}.premium-hours-table .hours-line:last-child{border-bottom:0}.premium-hours-table .hours-line span{color:#fff6e9b8;font-size:15px}.premium-hours-table .hours-line strong{color:#fff7ec;letter-spacing:.01em;font-size:15px}.premium-fact-grid{grid-template-columns:1fr;gap:12px;display:grid}.premium-fact-row{background:#fff6e90f;border:1px solid #d4af8729;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-height:68px;padding:14px;display:grid}.premium-fact-row div{gap:5px;min-width:0;display:grid}.premium-fact-row span:not(.premium-fact-icon){color:#fff6e9a8;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:760}.premium-fact-row strong{color:#fff7ec;font-size:17px;line-height:1.35}@media (max-width:760px){.profile-facts.premium-facts{border-radius:18px;grid-template-columns:1fr;gap:24px;padding:22px}.profile-facts.premium-facts .premium-fact-heading h3{font-size:28px}.premium-hours-table .hours-line{padding:12px 13px}}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3,p{margin-top:0}h1,.page-title h1,.catalog-title h1,.auth-panel h1,.restaurant-hero h1,.profile-hero-content h1{color:var(--ink);letter-spacing:0;font-weight:850}h1,.page-title h1{margin-bottom:8px;font-size:clamp(36px,4.6vw,58px);line-height:1.02}h2,.panel h2,.section-heading h2,.profile-section h2,.profile-facts h3{margin:0;font-size:clamp(24px,2.6vw,34px);line-height:1.12}h3{margin-bottom:8px;font-size:20px;line-height:1.25}p{line-height:1.62}.muted,.page-title p,.catalog-title p,.panel p,.restaurant-card p{color:var(--muted)}.page,.client-page,.profile-hero-content,.restaurant-profile-content{width:min(var(--container),calc(100% - 48px))}.page{padding:44px 0 72px}.client-page{padding-top:36px}.page.narrow,.narrow-page{width:min(560px,100% - 32px)}.page-title,.catalog-title{gap:12px;margin-bottom:30px}.section-heading{align-items:flex-end;margin-bottom:22px}.section-heading p{margin:0}.app-header{background:#f6f7f4eb;border-bottom:1px solid #dfe5dddb;min-height:76px;padding:0 36px}.office-header{background:#fffffff0}.brand{letter-spacing:0;font-size:21px;font-weight:900}.main-nav a{color:#4e5750;align-items:center;min-height:38px;font-size:15px;display:inline-flex}.main-nav a:hover{color:var(--ink)}.panel,.filters,.restaurant-card,.pricing-card,.metric-card,.stat-strip div,.auth-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.panel,.auth-panel{padding:24px}.panel h2+p,.panel h3+p{margin-top:6px}.filters{align-items:end;gap:14px;margin-bottom:30px;padding:18px}.grid-layout{gap:22px}.stack-form,.reservation-form{gap:18px}.stack-list{gap:10px}.insight-row,.value-grid div{background:var(--surface-3);border:1px solid #dfe5ddb8}label{color:#37413a;gap:8px;font-size:14px;font-weight:750}input,select,textarea{border-color:var(--line);background:#fff;min-height:46px;font-weight:600}textarea{line-height:1.5}.form-grid{gap:16px}.form-error,.form-success,.form-note,.info-note{border-radius:var(--radius);line-height:1.45}.button,.ghost,.small-button,.danger-button,.secondary-button,.icon-button,.icon-only{border-radius:var(--radius);min-height:44px;font-size:15px;font-weight:850}.button{background:var(--accent);color:#fff;padding:0 18px}.button.compact{min-height:40px}.client-cta{background:var(--accent-2);color:#fff}.client-cta:hover{background:#ed4f17}.small-button{min-height:36px;font-size:13px}.icon-button,.icon-only{width:40px;min-width:40px;min-height:40px}.ghost,.secondary-button,.small-button{border-color:var(--line);background:#fff}.danger-button{background:var(--danger)}.badge,.tag-row span{border-radius:999px;min-height:28px;padding:0 10px;font-size:12px;font-weight:850}.tag-row span{color:#286755;background:#edf4ef}.badge-new,.badge-awaiting-restaurant-confirmation,.badge-awaiting-deposit-payment,.badge-waiting-for-payment,.badge-payment-expired,.badge-at-risk{color:#84530f;background:#fff1cf}.badge-confirmed,.badge-approved,.badge-seated,.badge-completed,.badge-deposit-paid,.badge-confirmed-by-guest,.badge-confirmed-by-restaurant,.badge-paid{color:#1f6844;background:#dff2e8}.badge-rejected,.badge-cancelled,.badge-no-show,.badge-cancelled-by-guest,.badge-cancelled-by-restaurant,.badge-failed{color:#983333;background:#f8dfdc}.restaurant-card{background:#fff;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden}.restaurant-card h2{font-size:20px;line-height:1.18}.restaurant-card-compact .card-image-link{border-radius:var(--radius)}.restaurant-card-compact{box-shadow:none;background:0 0;border:0}.meta-row{gap:7px;font-size:14px}.restaurant-profile-hero{min-height:460px}.profile-hero-content{min-height:460px;padding:34px 0}.profile-hero-content p:not(.eyebrow){font-size:18px}.restaurant-anchor-nav{gap:32px;min-height:62px;box-shadow:0 8px 20px #161a170a}.restaurant-anchor-nav a{color:#3b443d;font-size:15px}.restaurant-profile-content{gap:38px;padding:40px 0 76px}.profile-main{gap:40px}.profile-section{gap:18px}.profile-gallery{gap:14px}.profile-facts{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-3);gap:28px;padding:26px}.profile-fact-grid{gap:12px 18px}.profile-booking{top:142px}.public-hall-widget{padding:18px}.public-booking-board{background-color:#fbfdfb;background-image:radial-gradient(circle at 24px 24px,#2f6f5e14 2px,#0000 3px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-color:#c9d4ca}.booking-workspace .reservation-form{padding:26px}.selected-table-summary,.hall-widget-state,.booking-link-box,.deposit-next-step{border-radius:var(--radius)}.admin-table,.reservation-list,.hours-table{gap:10px}.admin-row,.reservation-row,.menu-item-row,.list-row{border:1px solid #0000;border-bottom:1px solid var(--line);padding:16px}.admin-row:hover,.reservation-row:hover,.menu-item-row:hover,.list-row:hover{border-color:var(--line);background:var(--surface-3)}.empty-state{border-radius:var(--radius);color:var(--muted);background:linear-gradient(#fff,#f7faf7);padding:30px}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.page-header h1{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.05}.page-header p{max-width:760px;color:var(--muted);margin:8px 0 0}.toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.app-shell{background:var(--bg);grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:24px;height:100vh;padding:24px;display:flex;position:sticky;top:0}.brand-mark{border-radius:var(--radius);width:34px;height:34px;color:var(--accent);background:#e7f3ed;place-items:center;display:grid}.nav{gap:8px;display:grid}.nav a{border-radius:var(--radius);color:#4e5750;align-items:center;gap:10px;min-height:42px;padding:0 12px;font-weight:800;display:flex}.nav a:hover{background:var(--surface-2);color:var(--ink)}.sidebar-user{border-top:1px solid var(--line);color:var(--muted);gap:8px;margin-top:auto;padding-top:18px;display:grid}.sidebar-user strong{color:var(--ink)}.logout-button{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:center;align-items:center;gap:8px;width:100%;min-height:40px;font-weight:850;display:inline-flex}.main{min-height:100vh}.container{width:min(var(--container),calc(100% - 48px));margin:0 auto;padding:40px 0 72px}.yandex-map{border-color:var(--line);min-height:380px}.map-address-card{border:1px solid #dfe5dddb}@media (max-width:980px){.page,.client-page,.profile-hero-content,.restaurant-profile-content,.container{width:min(100% - 32px,var(--container))}.app-header{grid-template-columns:1fr;align-items:start;padding:14px 20px}.section-heading,.page-header{flex-direction:column;align-items:flex-start}.profile-booking{position:static}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.container{padding-top:28px}}@media (max-width:680px){body{font-size:15px}.page,.client-page,.profile-hero-content,.restaurant-profile-content,.container{width:min(100% - 22px,var(--container))}.page{padding:28px 0 52px}h1,.page-title h1{font-size:34px}h2,.panel h2,.section-heading h2,.profile-section h2,.profile-facts h3{font-size:25px}.panel,.auth-panel{padding:18px}.filters{padding:14px}.button,.ghost,.secondary-button{width:100%}.toolbar-actions .button,.toolbar-actions .ghost,.row-actions .small-button,.reservation-actions .small-button{width:auto}.restaurant-profile-hero,.profile-hero-content{min-height:390px}.restaurant-profile-content{padding-top:26px}.profile-facts{padding:18px}.yandex-map{min-height:430px}}.public-header{grid-template-columns:auto 1fr}.public-header .header-actions[aria-hidden=true]{display:none}.client-page,.restaurant-profile{isolation:isolate;position:relative}.client-page:before,.restaurant-profile:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(120deg,#ff5a1f14,#2f6f5e12 42%,#0000 72%),repeating-linear-gradient(90deg,#2f6f5e0b 0 1px,#0000 1px 118px),repeating-linear-gradient(0deg,#a86d1609 0 1px,#0000 1px 118px);height:520px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.client-home-hero{gap:48px;position:relative}.client-home-copy h1{max-width:820px}.home-search-card{border-radius:var(--radius);max-width:720px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #dfe5dde0;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.guest-benefits{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:4px 0 44px;display:grid}.guest-benefits div,.city-events-preview{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#ffffffe6}.guest-benefits div{gap:8px;padding:18px;display:grid}.guest-benefits strong{font-size:17px}.guest-benefits span,.city-events-preview p{color:var(--muted)}.city-events-preview{justify-content:space-between;align-items:center;gap:24px;margin-top:46px;padding:28px;display:flex}.city-events-preview h2{margin-bottom:8px}.city-events-preview p{max-width:760px;margin:0}.restaurant-filter-bar{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border:1px solid #dfe5ddeb;grid-template-columns:1.35fr repeat(4,minmax(126px,1fr)) auto auto;position:relative}.restaurant-filter-bar label{min-width:0}.filter-reset{align-self:end}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#506057 50%),linear-gradient(135deg,#506057 50%,#0000 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:42px}select:hover,input:hover,textarea:hover{border-color:#c7d3c8}select:disabled{color:#98a09a;background-color:#f4f6f3}.restaurant-card-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.restaurant-card-actions .button,.restaurant-card-actions .secondary-button{width:100%}.app-footer{border-top:1px solid var(--line);color:#fff;background:#17221d;position:relative}.footer-inner{width:min(var(--container),calc(100% - 48px));grid-template-columns:1.3fr .75fr 1fr 1fr;gap:34px;margin:0 auto;padding:44px 0 34px;display:grid}.footer-brand p{max-width:360px;margin:14px 0 0}.footer-column{align-content:start;gap:10px;display:grid}.footer-column h2{color:#fff;margin:0 0 4px;font-size:16px}.footer-column a,.footer-column span{color:#ffffffc7;align-items:center;gap:8px;font-weight:700;display:inline-flex}.footer-bottom{width:min(var(--container),calc(100% - 48px));border-top:1px solid #ffffff1f;justify-content:space-between;gap:20px;margin:0 auto;padding:16px 0 24px;font-size:13px;display:flex}@media (max-width:980px){.home-search-card,.city-events-preview{grid-template-columns:1fr}.guest-benefits,.footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-bottom{flex-direction:column}}@media (max-width:680px){.public-header,.home-search-card,.guest-benefits,.footer-inner{grid-template-columns:1fr}.home-search-card .button{width:100%}.city-events-preview{flex-direction:column;align-items:flex-start;padding:20px}.restaurant-card-actions{grid-template-columns:1fr}.footer-inner,.footer-bottom{width:min(100% - 22px,var(--container))}}.public-header{background:linear-gradient(90deg,#ff5b1fe6 0 58px,#0000 58px 100%),linear-gradient(90deg,#4a001f 0%,#350019 34%,#9f1c1f 72%,#4a001f 100%);border:0;grid-template-columns:minmax(0,1fr);justify-items:center;min-height:92px;padding:16px 24px 18px;position:relative;box-shadow:0 14px 32px #2a001429}.public-header:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#ffffff0f 0 42px,#0000 42px 86px);width:300px;position:absolute;inset:0 auto 0 58px}.public-header .brand{z-index:1;color:#fff;min-height:30px;position:relative}.public-header .main-nav{z-index:1;justify-content:center;gap:28px;position:relative}.public-header .main-nav a{color:#ffffffe6;min-height:28px;font-size:14px}.client-page{width:min(1260px,100% - 48px);padding-top:44px}.catalog-title{width:min(1080px,100%);margin:0 auto 46px}.catalog-title h1{letter-spacing:-.01em;font-size:clamp(42px,5vw,58px);font-weight:650}.catalog-title p{color:#5d635e;max-width:760px;margin:0}.quick-filter-row{margin-top:12px}.quick-filter-row a{color:#201c19;background:#f7e4cf;border-radius:999px;min-height:36px;padding:0 16px;font-size:13px;font-weight:850;transition:background .16s,transform .16s}.restaurant-showcase{width:min(1080px,100%);min-height:424px;box-shadow:none;border-radius:16px;margin:0 auto 36px}.showcase-content{min-height:424px;padding:34px 38px}.showcase-content span:first-child{background:#0000006b}.showcase-content h2{font-size:clamp(32px,4vw,46px);font-weight:750}.showcase-content .button{border-radius:999px;align-self:flex-start;min-width:182px}.restaurant-filter-bar{width:min(1080px,100%);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:10px;margin:0 auto 46px;padding:0;display:flex}.filter-search,.filter-pill{color:#151515;background:#dedede;border:0;border-radius:999px;align-items:center;gap:8px;width:auto;min-height:42px;padding:0 14px;font-size:13px;font-weight:850;display:inline-flex;position:relative}.filter-search{background:#f0f0f0;min-width:260px}.filter-search svg{color:#4f5650;flex:none}.filter-search span,.filter-pill span{color:#151515;white-space:nowrap;font-size:13px;font-weight:850;display:inline;position:static}.filter-search input,.filter-pill select{width:auto;min-width:0;height:40px;min-height:0;box-shadow:none;background-color:#0000;border:0;border-radius:0;padding:0;font-size:13px;font-weight:850}.filter-search input{flex:1;width:160px}.filter-pill select{background-position:calc(100% - 9px),calc(100% - 4px);background-size:5px 5px,5px 5px;max-width:180px;padding-right:22px}.filter-search input:focus,.filter-pill select:focus{box-shadow:none}.filter-submit,.filter-reset{border-radius:999px;min-height:42px;padding-inline:18px}.catalog-section{width:min(1260px,100%);margin:46px auto 64px}.catalog-section .section-heading{margin-bottom:20px}.catalog-section h2{font-size:clamp(30px,3vw,38px);font-weight:650}.restaurant-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.restaurants-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.restaurant-card{box-shadow:none;background:0 0;border:0}.restaurant-card:hover{box-shadow:none;transform:none}.card-image-link{aspect-ratio:1.52;border-radius:10px}.restaurant-card h2{font-size:20px;font-weight:750}.restaurant-card p{margin:0}.restaurant-card .meta-row{color:#59605a;gap:4px;font-size:13px}.restaurant-card .tag-row{display:none}.restaurant-card-actions{margin-top:8px}.restaurant-card-actions .button,.restaurant-card-actions .secondary-button{border-radius:999px;min-height:38px}.guest-benefits,.city-events-preview{width:min(1080px,100%);margin-inline:auto}.app-footer{margin-top:60px}@media (max-width:980px){.public-header{place-items:center start}.public-header .main-nav{justify-content:flex-start;gap:18px}.restaurant-rail,.restaurants-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search{width:100%}}@media (max-width:680px){.public-header{min-height:86px}.client-page{width:min(100% - 22px,1260px);padding-top:30px}.catalog-title{margin-bottom:30px}.restaurant-showcase,.showcase-content{min-height:350px}.showcase-content{padding:24px}.restaurant-rail,.restaurants-grid{grid-template-columns:1fr}.restaurant-filter-bar{margin-bottom:34px}.filter-search,.filter-pill,.filter-submit,.filter-reset,.filter-dropdown,.filter-trigger{width:100%}.filter-menu{width:100%;margin-top:8px;position:static}.filter-pill select{flex:1;max-width:none}}:root{--bg:#f7f1e7;--surface:#fffaf2;--surface-2:#eee4d5;--surface-3:#fbf6ed;--ink:#241f19;--muted:#74695c;--line:#e3d6c4;--accent:#5d6842;--accent-2:#bd633e;--danger:#a4483e;--success:#557a4b;--warning:#a97633;--shadow:0 16px 38px #31261a17;--shadow-soft:0 10px 26px #31261a12}body{color:var(--ink);background:linear-gradient(#fbf6ee 0,#f5edde 42%,#f8f3ea 100%)}.public-header{background:linear-gradient(90deg,#5d684214,#bd633e14 55%,#ddae6714),#fffaf2f5;border-bottom:1px solid #78654c29;grid-template-columns:auto minmax(0,1fr);place-items:center stretch;min-height:78px;padding:0 36px;box-shadow:0 10px 26px #31261a0f}.public-header .brand{color:#31402c;justify-self:start}.public-header .main-nav a{color:#4f5648;font-weight:850}.client-page:before,.restaurant-profile:before{background:linear-gradient(115deg,#bd633e1a,#5d684217 48%,#d8b17412),repeating-linear-gradient(90deg,#5d684209 0 1px,#0000 1px 126px),repeating-linear-gradient(0deg,#78654c06 0 1px,#0000 1px 126px);height:560px}.catalog-title h1,.client-home-copy h1{color:#1f231b}.catalog-title p,.client-home-copy p{color:#665d51}.quick-filter-row a{color:#2c251d;background:#f1dcc0}.quick-filter-row a:hover{background:#e8caa7}.restaurant-showcase{background:linear-gradient(135deg,#3b3126,#191510);box-shadow:0 18px 42px #31261a24}.showcase-overlay,.profile-hero-overlay{background:linear-gradient(90deg,#1f1710c7,#35261a6b,#35261a14)}.showcase-content span:first-child{color:#fff5e6;background:#fffaf22e}.button,.client-cta{color:#fff;background:linear-gradient(#c96f49,#ad5535)}.button:hover,.client-cta:hover{background:linear-gradient(#b95f3d,#994b2e)}.secondary-button,.ghost,.small-button{color:#2f2a23;background:#fffaf2;border-color:#dfd1bd}.secondary-button:hover,.ghost:hover,.small-button:hover{background:#f4eadc}.restaurant-filter-bar{color:#2d2a24}.filter-search,.filter-pill{color:#2d2a24;background:#eee3d4}.filter-dropdown{position:relative}.filter-trigger{color:#2d2a24;min-height:42px;box-shadow:none;background:#eee3d4;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:850;transition:background .16s,box-shadow .16s,transform .16s;display:inline-flex}.filter-trigger:hover,.filter-trigger.open{background:#e6d9c7;transform:none;box-shadow:0 0 0 3px #bd633e21}.filter-trigger span{color:#42392f;white-space:nowrap}.filter-trigger strong{text-overflow:ellipsis;white-space:nowrap;color:#181713;max-width:150px;overflow:hidden}.filter-trigger svg{color:#6a604e;flex:none;transition:transform .16s}.filter-menu{z-index:40;background:#fffaf2;border:1px solid #eadac5;border-radius:22px;gap:6px;min-width:250px;padding:16px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 22px 48px #31261a29}.filter-option{color:#3c342b;text-align:left;background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:10px;min-height:34px;padding:0 4px;font-size:14px;font-weight:650;display:flex}.filter-option:hover{box-shadow:none;background:#f5ecdf;transform:none}.filter-radio-dot{background:#fffaf2;border:1.5px solid #9b917f;border-radius:999px;width:12px;height:12px}.filter-option.selected .filter-radio-dot{border:4px solid #bd633e}.filter-menu-close{color:#342c24;background:#f1ebe3;border:0;border-radius:999px;justify-content:center;min-height:38px;margin-top:8px;font-size:13px;font-weight:850}.filter-menu-close:hover{box-shadow:none;background:#e9ded0;transform:none}.filter-search{background:#f7efe4}.filter-search span,.filter-pill span{color:#42392f}.filter-search svg{color:#6b7351}.filter-search:focus-within,.filter-pill:focus-within{box-shadow:0 0 0 3px #bd633e2e}select{background-image:linear-gradient(45deg,#0000 50%,#6a604e 50%),linear-gradient(135deg,#6a604e 50%,#0000 50%)}.filter-reset{background:#f2e8db}.restaurant-card .open-status{color:#4d884e}.card-image-link{background:linear-gradient(135deg,#eee2d0,#d9cab2)}.guest-benefits div,.city-events-preview,.panel,.auth-panel,.profile-facts{background:#fffaf2f0;border-color:#e3d6c4}.app-footer{background:linear-gradient(#283323,#1e291d);border-top-color:#46543b}.footer-brand p,.footer-column p,.footer-bottom{color:#fffaf2ad}.footer-column a,.footer-column span{color:#fffaf2c7}.footer-column a:hover{color:#fff7ea}.yandex-map{background:#eee4d5;border-color:#e0d0ba}.map-address-card{background:#fffaf2f5;border-color:#e0d0bae0}.map-card-icon{color:#5d6842;background:#e8efe1}@media (max-width:980px){.public-header{grid-template-columns:1fr;justify-items:start;gap:8px;padding:14px 20px}.public-header .main-nav{justify-content:flex-start;justify-self:start}.filter-dropdown{width:calc(50% - 5px)}.filter-trigger{width:100%}}.public-header{background:linear-gradient(#fffbf4f5,#f8f0e3f0);border-bottom:1px solid #ddd2c0c7;grid-template-columns:auto 1fr;justify-items:start;min-height:72px;padding:0 40px;box-shadow:0 10px 28px #533f2812}.public-header .brand{color:#26301f}.public-header .main-nav{justify-content:flex-end;justify-self:end;gap:26px}.public-header .main-nav a{color:#4c5142;font-size:15px;font-weight:850}.public-header .main-nav a:hover{color:#25291f}.client-page{width:min(1180px,100% - 48px)}.catalog-title,.restaurant-showcase{width:100%}.restaurant-filter-bar{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:10px;padding:0;display:flex}.filter-search{background:#f2e7d7eb;border:0;border-radius:999px;align-items:center;gap:8px;width:min(260px,100%);min-height:46px;padding:0 16px;display:flex}.filter-search input{min-height:34px;box-shadow:none;background:0 0;border:0;padding:0}.filter-search input:focus{box-shadow:none}.filter-dropdown{flex:none;width:auto;position:relative}.filter-trigger{color:#2d261f;min-height:46px;box-shadow:none;background:#ece0cff5;border:0;border-radius:999px;padding:0 18px}.filter-trigger:hover,.filter-trigger.open{background:#ead9bf;box-shadow:0 0 0 3px #be684229}.filter-trigger strong{max-width:180px}.filter-menu,.pretty-select-menu{z-index:80;background:#fffaf2;border:1px solid #eadbc5;border-radius:22px;gap:6px;min-width:260px;max-height:min(380px,100vh - 180px);padding:16px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 22px 48px #3f2d1b2e}.filter-option,.pretty-select-option{color:#332b23;text-align:left;background:0 0;border:0;border-radius:12px;justify-content:flex-start;align-items:center;gap:10px;min-height:36px;padding:0 8px;font-size:14px;font-weight:720;display:flex}.filter-option:hover,.pretty-select-option:hover{box-shadow:none;background:#f4eadc;transform:none}.filter-option.selected,.pretty-select-option.selected{background:#f8efe5}.filter-radio-dot{background:#fffaf2;border:1.5px solid #9d917f;border-radius:999px;flex:none;width:13px;height:13px}.filter-option.selected .filter-radio-dot,.pretty-select-option.selected .filter-radio-dot{border:4px solid #bd6842}.filter-menu-close{color:#332b23;background:#f0e8dd;border:0;border-radius:999px;min-height:38px;margin-top:8px}.filter-submit{background:#bd6842;border-radius:999px}.filter-submit:hover{background:#a95b38}.filter-reset{background:#fff7ec;border-radius:999px}.pretty-select-field{min-width:0}.pretty-select{width:100%;position:relative}.pretty-select-trigger{color:#221f19;width:100%;min-height:46px;box-shadow:none;background:#fffaf4;border:1px solid #ddd2c0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;display:flex}.pretty-select-trigger strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.pretty-select-trigger svg{color:#756a58;transition:transform .16s}.pretty-select-trigger.open{border-color:#bd6842;box-shadow:0 0 0 3px #be684226}.pretty-select-trigger.open svg{transform:rotate(180deg)}.pretty-select-menu{min-width:100%;right:0}.public-reserve-page{grid-template-columns:minmax(240px,340px) minmax(0,740px);align-items:start;gap:34px;width:min(1120px,100% - 48px);display:grid}.public-reserve-page .page-title{background:#fffaf2e6;border:1px solid #eadbc5;border-radius:14px;margin:0;padding:24px;position:sticky;top:104px;box-shadow:0 14px 34px #523d2614}.public-reserve-page .page-title h1{font-size:clamp(32px,3.4vw,48px)}.public-reserve-page .page-title p{font-size:16px}.public-reserve-page .page-title a{color:#8b5635;font-weight:850}.public-reserve-page .reservation-form{background:#fffaf2f5;border-color:#eadbc5;width:100%;max-width:none;padding:26px}.public-reserve-page .public-hall-widget{background:linear-gradient(#fffaf2,#fbf7ef);border-color:#e8dac7}.public-reserve-page .public-booking-board{background-color:#fffdf8;background-image:radial-gradient(circle at 24px 24px,#7e8f531c 2px,#0000 3px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:360px}.booking-table.selected .booking-table-core,.seat-dot.selected{color:#fff;background:#c46f49;border-color:#bd6842}.booking-table.requires-deposit .booking-table-core{box-shadow:0 0 0 4px #be684224,0 10px 20px #20231f14}.booking-link-box{color:#8a4a25;background:#fff1e3}.booking-link-box.soft-box{color:#52683e;background:#eef5ea}select{color:#28241f;background-color:#fffaf4;border-color:#ddd2c0}@media (max-width:980px){.public-header{grid-template-columns:1fr;gap:8px;padding:14px 22px}.public-header .main-nav{justify-content:flex-start;justify-self:start}.public-reserve-page{grid-template-columns:1fr;width:min(100% - 32px,760px)}.public-reserve-page .page-title{position:static}}@media (max-width:680px){.client-page{width:min(100% - 22px,1180px)}.restaurant-filter-bar{grid-template-columns:1fr;display:grid}.filter-search,.filter-dropdown,.filter-trigger,.filter-submit,.filter-reset{width:100%}.filter-menu,.pretty-select-menu{max-height:320px;margin-top:8px;position:static}.public-reserve-page{width:min(100% - 22px,760px)}.public-reserve-page .reservation-form{padding:18px}}body{color:#2c2118;background:radial-gradient(circle at 16% -6%,#c9a97f33,#0000 34%),radial-gradient(circle at 88% 8%,#6b3d2e1a,#0000 32%),linear-gradient(#fffdf9 0%,#faf7f2 44%,#f6ede2 100%);font-family:Inter,Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}h1,h2,h3,.brand span,.catalog-title h1,.showcase-content h2,.profile-hero-content h1,.profile-section h2,.page-title h1{letter-spacing:-.01em;font-family:Georgia,Times New Roman,serif}.app-header.public-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf7f2d6;border-bottom:1px solid #c9a97f38;grid-template-columns:auto 1fr auto;min-height:82px;padding-inline:max(28px,50vw - 590px);box-shadow:0 10px 34px #4c32200f}.public-header:before{display:none}.public-header .brand{color:#2c2118;gap:10px;font-size:24px}.brand .kaifbook-logo-mark{filter:drop-shadow(0 12px 24px #6b3d2e21);border-radius:16px;flex:none;width:38px;height:38px}.public-header .brand svg{color:#6b3d2e}.public-header .main-nav{justify-content:center;gap:12px}.public-header .main-nav a{color:#2c2118;background:#fffdf9b8;border:1px solid #c9a97f47;border-radius:999px;min-height:38px;padding:0 18px;font-weight:850}.public-header .main-nav a:hover{color:#fff8ed;background:#6b3d2e;transform:translateY(-1px);box-shadow:0 12px 26px #6b3d2e33}.page.client-page{width:min(1180px,100% - 44px);padding-top:42px}.catalog-title{margin-bottom:32px}.catalog-title h1{color:#2c2118;max-width:780px;font-size:clamp(48px,5.8vw,78px);line-height:.95}.catalog-title p{color:#7b6b5e;max-width:720px;font-size:18px;line-height:1.6}.quick-filter-row{scrollbar-width:none;gap:10px}.quick-filter-row::-webkit-scrollbar{display:none}.quick-filter-row a{color:#35261d;background:#f1dfc7;border:1px solid #c9a97f47;min-height:38px;padding:0 17px;box-shadow:0 8px 20px #c9a97f24}.quick-filter-row a:hover{background:#e5c79f;transform:translateY(-1px)}.restaurant-showcase{background:#211813;border:1px solid #c9a97f40;border-radius:28px;min-height:472px;margin-bottom:32px;box-shadow:0 30px 90px #4c322038}.restaurant-showcase img{transition:transform .45s,filter .45s;transform:scale(1.015)}.restaurant-showcase:hover img{transform:scale(1.045)}.showcase-overlay{background:linear-gradient(90deg,#1d140fb8,#2d1c136b,#2d1c1314),radial-gradient(circle at 18% 78%,#c9a97f38,#0000 36%)}.showcase-content{gap:18px;width:min(650px,100%);min-height:472px;padding:54px}.showcase-content h2{color:#fffaf3;font-size:clamp(42px,5vw,64px)}.showcase-content p{color:#fffaf3e0;font-size:18px}.showcase-content span:first-child,.showcase-meta span{color:#f8e7cf;background:#fffdf921;border:1px solid #c9a97f3d}.restaurant-filter-bar{box-shadow:none;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 44px;padding:0;display:flex}.filter-search{background:#fffdf9db;border:1px solid #0000;border-radius:999px;width:min(300px,100%);min-height:52px;box-shadow:0 14px 36px #4c322014}.filter-trigger{color:#2c2118;background:#f0e4d3;border:1px solid #c9a97f2e;min-height:52px;padding:0 20px;box-shadow:0 10px 22px #4c322012}.filter-trigger:hover,.filter-trigger.open{background:#ead5ba;border-color:#6b3d2e3d;box-shadow:0 0 0 4px #c9a97f2e,0 12px 28px #4c322017}.filter-menu,.pretty-select-menu{background:#fffbf5;border-color:#c9a97f52;border-radius:24px;box-shadow:0 28px 72px #4c32202e}.button,.client-cta,.filter-submit{color:#fff9f1;background:linear-gradient(135deg,#6b3d2e,#bd744e);border:0;border-radius:999px;box-shadow:0 12px 26px #6b3d2e33}.button:hover,.client-cta:hover,.filter-submit:hover{background:linear-gradient(135deg,#5c3328,#a96545)}.small-button,.secondary-button,.ghost,.filter-reset{color:#2c2118;background:#fffdf9d6;border-color:#c9a97f52;border-radius:999px}.catalog-section{margin:46px 0 64px}.catalog-section h2{font-size:clamp(30px,3vw,42px)}.restaurant-rail,.restaurants-grid{gap:24px}.restaurant-card,.restaurant-card.restaurant-card-compact{background:#fffdf9e6;border:1px solid #c9a97f38;border-radius:22px;transition:transform .22s,box-shadow .22s,border-color .22s;overflow:hidden;box-shadow:0 14px 36px #4c322014}.restaurant-card:hover{border-color:#c9a97f8a;transform:translateY(-5px);box-shadow:0 26px 62px #4c322026}.restaurant-card .card-image-link,.restaurant-card-compact .card-image-link{aspect-ratio:16/10;border-radius:0}.restaurant-card-image{transition:transform .42s,filter .42s}.restaurant-card:hover .restaurant-card-image{filter:saturate(1.06)contrast(1.02);transform:scale(1.05)}.restaurant-card-body{gap:13px;padding:18px}.restaurant-card h2{color:#2c2118;font-family:Inter,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:21px;line-height:1.12}.restaurant-card p,.meta-row{color:#7b6b5e}.meta-row span:last-child{color:#6b3d2e;font-weight:900}.open-status{color:#4f7e4d!important}.tag-row span,.badge{color:#604533;background:#f3e5d4}.restaurant-profile{background:radial-gradient(circle at 12% 0,#c9a97f24,#0000 32%),linear-gradient(#fffdf9 0%,#faf7f2 72%,#fffaf4 100%)}.restaurant-profile-hero,.profile-hero-content{min-height:540px}.profile-hero-overlay{background:linear-gradient(90deg,#1f1813d6,#482b1f7a,#1f18131f),radial-gradient(circle at 18% 70%,#c9a97f38,#0000 34%)}.profile-hero-content h1{color:#fffaf3}.profile-hero-content p:not(.eyebrow){color:#fffaf3e6}.restaurant-anchor-nav{background:#fffdf9e6;border-color:#c9a97f38;min-height:66px;top:0;box-shadow:0 12px 30px #4c32200f}.restaurant-profile-content.single-column{width:min(1180px,100% - 44px);padding-top:42px}.profile-section h2{color:#2c2118;font-size:clamp(34px,3.6vw,48px)}.profile-gallery .gallery-item,.yandex-map{border-radius:24px;box-shadow:0 14px 36px #4c322014}.map-address-card{background:#fffdf9f0;border:1px solid #c9a97f38;border-radius:20px}.menu-public,.booking-workspace .reservation-form,.public-reserve-page .reservation-form{background:#fffdf9eb;border:1px solid #c9a97f40;border-radius:26px;box-shadow:0 24px 70px #4c32201f}.reservation-form input,.reservation-form textarea,.pretty-select-trigger{background:#fffaf4;border-color:#e5d7c6;border-radius:16px;min-height:52px}.public-hall-widget,.public-reserve-page .public-hall-widget{background:linear-gradient(#fffdf9,#f8f0e6);border-color:#c9a97f47;border-radius:22px}.public-booking-board,.public-reserve-page .public-booking-board{background-color:#fffaf3;background-image:radial-gradient(circle at 24px 24px,#6b3d2e13 2px,#0000 3px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-color:#d8c3aa;border-radius:20px}.public-reserve-page{grid-template-columns:minmax(260px,360px) minmax(0,760px);gap:36px;width:min(1180px,100% - 44px)}.app-footer{color:#fff4e7;background:#241a14;border-top:1px solid #c9a97f3d}.app-footer .brand,.app-footer h2{color:#fff4e7}.app-footer p,.footer-column a,.footer-column span,.footer-bottom{color:#fff4e7b8}@media (max-width:980px){.app-header.public-header{padding-inline:22px}.restaurant-rail,.restaurants-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1180px){.public-reserve-page{grid-template-columns:1fr;width:min(760px,100% - 32px)}.public-reserve-page .page-title{position:static}}@media (max-width:680px){.page.client-page,.restaurant-profile-content.single-column,.public-reserve-page{width:min(100% - 24px,1180px)}.app-header.public-header{grid-template-columns:1fr;align-items:start;min-height:92px}.public-header .main-nav{justify-content:flex-start}.catalog-title h1{font-size:42px}.restaurant-showcase,.showcase-content{min-height:390px}.showcase-content{padding:24px}.restaurant-filter-bar{grid-template-columns:1fr;display:grid}.filter-search,.filter-dropdown,.filter-trigger,.filter-submit,.filter-reset{width:100%}.restaurant-rail,.restaurants-grid{grid-template-columns:1fr}.restaurant-profile-hero,.profile-hero-content{min-height:440px}.public-reserve-page{grid-template-columns:1fr}}.form-warning{color:#7a4a25;background:#fff7e8;border:1px solid #c9a97f6b;border-radius:16px;margin:0;padding:12px 14px;font-weight:850;line-height:1.45}.public-hall-widget .hall-widget-state.error-state{color:#8b3b2d;background:#fff1ec;border-style:solid;border-color:#9745343d}.booking-table-core:disabled,.seat-dot:disabled{cursor:not-allowed}.booking-table.status-occupied .seat-dot,.booking-table.status-too_small .seat-dot,.booking-table.status-disabled .seat-dot{filter:grayscale(.2)}.booking-table.selected .seat-dot.selected{transform:translate(-50%,-50%)scale(1.08);box-shadow:0 8px 18px #b2553247}.public-reserve-page{align-items:start}.public-reserve-page .reservation-form{min-width:0}.public-reserve-page .public-booking-board{overflow:visible}@media (max-width:760px){.restaurant-profile-content.single-column,.booking-workspace,.booking-workspace .reservation-form,.public-reserve-page,.public-reserve-page .reservation-form,.public-hall-widget{box-sizing:border-box;min-width:0;max-width:100%;overflow-x:hidden}.booking-workspace .public-booking-board,.public-reserve-page .public-booking-board{min-height:320px;overflow:hidden;aspect-ratio:auto!important;width:100%!important;max-width:100%!important}.booking-table{min-width:54px;min-height:46px}.seat-dot{width:19px;height:19px;min-height:19px;font-size:8px}}@keyframes restaurantCardReveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.restaurant-filter-bar{align-items:center}@media (min-width:981px){.restaurant-filter-bar{grid-template-columns:minmax(250px,1.15fr) minmax(150px,.62fr) minmax(190px,.8fr) minmax(220px,.9fr);gap:14px;display:grid}.restaurant-filter-bar>.filter-search,.restaurant-filter-bar>.filter-dropdown,.restaurant-filter-bar>.filter-submit,.restaurant-filter-bar>.filter-reset{width:100%}.restaurant-filter-bar>.filter-dropdown:nth-of-type(4){grid-column:1}.restaurant-filter-bar>.filter-submit{grid-column:2}.restaurant-filter-bar>.filter-reset{grid-column:3;justify-self:start;min-width:148px}}.filter-search.has-value,.filter-trigger.selected,.filter-trigger.open{background:#ead5ba;border-color:#6b3d2e57;box-shadow:0 0 0 4px #c9a97f33,0 14px 32px #4c32201a}.filter-trigger.selected strong,.filter-search.has-value span{color:#6b3d2e}.filter-dropdown.has-value:after{content:"";pointer-events:none;background:#6b3d2e;border-radius:999px;width:8px;height:8px;position:absolute;top:12px;right:16px;box-shadow:0 0 0 4px #6b3d2e1f}.quick-filter-row a.active{color:#fff8ed;background:#6b3d2e;border-color:#6b3d2e57;box-shadow:0 14px 28px #6b3d2e38}.show-all-link{justify-content:center;gap:7px;min-width:154px}.luxury-restaurant-card{flex-direction:column;min-height:100%;animation:.55s both restaurantCardReveal;display:flex}.luxury-restaurant-card:hover{transform:translateY(-8px);box-shadow:0 32px 78px #4c32202e}.luxury-card-media{isolation:isolate;background:#eadbc5;position:relative;overflow:hidden;aspect-ratio:16/9!important}.image-loading-surface{z-index:0;background:linear-gradient(110deg,#fff0 30%,#ffffff6b 48%,#fff0 66%) 0 0/220% 100%,linear-gradient(135deg,#eadbc5,#d7bea1) 0 0/100% 100%;animation:1.35s linear infinite imageSheen;position:absolute;inset:0}@keyframes imageSheen{to{background-position:-220% 0,0 0}}.restaurant-card-gallery{z-index:1;background:linear-gradient(135deg,#eadbc5,#d7bea1);display:block;position:absolute;inset:0;overflow:hidden}.restaurant-card-gallery-layer{opacity:0;transition:opacity .46s,transform .72s,filter .46s;display:block;position:absolute;inset:0;transform:scale(1)}.restaurant-card-gallery-layer.is-active{opacity:1;z-index:1}.restaurant-card-gallery-image{object-fit:cover;filter:saturate(1.02)contrast(1.01);width:100%;height:100%;display:block}.luxury-restaurant-card:hover .restaurant-card-gallery-layer.is-active,.luxury-restaurant-card:focus-within .restaurant-card-gallery-layer.is-active{filter:saturate(1.08)contrast(1.03);transform:scale(1.035)}.restaurant-card-photo-dots{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2c21188a;border:1px solid #fff8ed42;border-radius:999px;align-items:center;gap:6px;min-height:22px;padding:6px 8px;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 10px 22px #2c211833}.restaurant-card-photo-dots span{background:#fff8ed94;border-radius:999px;width:6px;height:6px;transition:width .28s,background .28s,opacity .28s;display:block}.restaurant-card-photo-dots span.active{background:#d4bf8a;width:18px}.luxury-card-media .restaurant-card-image{z-index:1;object-fit:cover;width:100%;height:100%;display:block;position:relative}.restaurant-card-cuisine-badge{z-index:5;color:#fff8ed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2c2118b3;border:1px solid #fff8ed59;border-radius:999px;max-width:calc(100% - 28px);padding:8px 12px;font-size:12px;font-weight:850;line-height:1.1;transition:transform .2s,background .2s;position:absolute;top:14px;right:14px}.luxury-restaurant-card:hover .restaurant-card-cuisine-badge{background:#6b3d2edb;transform:translateY(-2px)}.luxury-card-body{flex-direction:column;flex:1;gap:16px;padding:22px;display:flex}.restaurant-card-title-block{gap:8px;display:grid}.restaurant-card h3{color:#2c2118;letter-spacing:-.01em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,2vw,28px);font-weight:900;line-height:1.06}.restaurant-card-title-block p{color:#7b6b5e;margin:0;font-size:14px;line-height:1.45}.restaurant-card-chips{flex-wrap:wrap;gap:8px;display:flex}.restaurant-card-chips span{color:#6b3d2e;background:#f6ead9;border:1px solid #c9a97f3d;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.restaurant-card-info{color:#715f52;grid-template-columns:1fr;gap:9px;font-size:14px;display:grid}.restaurant-card-info span{align-items:center;gap:8px;min-width:0;display:flex}.restaurant-card-info svg{color:#8a563b;flex:none}.restaurant-card-info span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.restaurant-card-info span:last-child{color:#6b3d2e;font-weight:950}.restaurant-card-book-button{color:#fff8ed;background:#6b3d2e;border-radius:999px;justify-content:center;align-items:center;width:100%;min-height:48px;margin-top:auto;font-size:15px;font-weight:900;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex;box-shadow:0 14px 28px #6b3d2e33}.restaurant-card-book-button:hover{color:#fff8ed;background:#5a3427;transform:translateY(-2px);box-shadow:0 18px 34px #6b3d2e47}.restaurant-card-compact .luxury-card-body{padding:20px}.restaurant-card-compact .restaurant-card-title-block p,.restaurant-card-compact .restaurant-card-chips span:nth-child(n+3){display:none}@media (max-width:680px){.restaurant-card h3{font-size:24px}.luxury-card-body{padding:18px}}@media (prefers-reduced-motion:reduce){.luxury-restaurant-card,.image-loading-surface{animation:none}.luxury-restaurant-card,.restaurant-card-gallery-layer,.luxury-card-media .restaurant-card-image,.restaurant-card-book-button{transition:none}}.restaurant-card-rating-badge{z-index:5;color:#5a3427;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9e6;border:1px solid #fff8ed61;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:13px;font-weight:950;display:inline-flex;position:absolute;bottom:14px;left:14px;box-shadow:0 10px 24px #2c21182e}.restaurant-card-rating-badge svg{color:#c48b43;fill:#c48b43}.restaurant-card-rating-badge small{color:#806b5c;font-size:11px;font-weight:850}.restaurant-card-badges{flex-wrap:wrap;gap:8px;display:flex}.restaurant-card-badges span,.profile-badge-row span,.profile-rating-pill{color:#6b3d2e;background:#fff7eb;border:1px solid #c9a97f4d;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 11px;font-size:12px;font-weight:900;display:inline-flex}.profile-badge-row{flex-wrap:wrap;gap:9px;display:flex}.profile-rating-pill svg{color:#c48b43;fill:#c48b43}.menu-card-layout{gap:28px}.menu-category-block{gap:16px;display:grid}.menu-category-block h3{margin:0;font-size:26px}.dish-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.dish-card{background:#fffdf9;border:1px solid #c9a97f40;border-radius:20px;overflow:hidden;box-shadow:0 16px 42px #4c322014}.dish-card-image{aspect-ratio:4/3;background:linear-gradient(135deg,#eadbc5,#f7efe4);position:relative;overflow:hidden}.dish-card-image img{object-fit:cover;transition:transform .24s}.dish-card:hover .dish-card-image img{transform:scale(1.04)}.dish-card-body{gap:9px;padding:16px;display:grid}.dish-card-body strong{font-size:17px}.dish-card-body p{color:#7b6b5e;min-height:42px;margin:0;font-size:14px;line-height:1.45}.dish-card-meta{color:#7b6b5e;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.dish-card-meta b{color:#6b3d2e;font-size:16px}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.review-card{background:#fffdf9;border:1px solid #c9a97f40;border-radius:20px;gap:12px;padding:20px;display:grid;box-shadow:0 16px 42px #4c322014}.review-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-card-head span{color:#6b3d2e;align-items:center;gap:5px;font-weight:950;display:inline-flex}.review-card-head svg{color:#c48b43;fill:#c48b43}.review-card p{color:#5f5148;margin:0;line-height:1.55}.review-card small{color:#938273;font-weight:800}.field-error{color:#b13e37;font-size:12px;font-weight:850}@media (max-width:980px){.dish-card-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.dish-card-grid,.review-grid{grid-template-columns:1fr}.restaurant-card-rating-badge{bottom:10px;left:10px}}.public-header .brand{align-items:center}.public-header .brand svg{color:#6b3d2e;background:linear-gradient(135deg,#fffaf2,#ead7bf);border:1px solid #d4bfa875;border-radius:12px;width:34px;height:34px;padding:7px;box-shadow:0 12px 28px #4c32201f}.home-banner-slider{isolation:isolate}.banner-slide-stack,.banner-slide{position:absolute;inset:0}.banner-slide{opacity:0;will-change:opacity,transform;transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:scale(1.035)translate(18px)}.banner-slide.active{opacity:1;transform:scale(1)translate(0)}.banner-slide img{object-fit:cover;filter:saturate(1.04)contrast(1.03)}.home-banner-slider .showcase-content{animation:.72s cubic-bezier(.22,1,.36,1) both bannerContentIn}@keyframes bannerContentIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.banner-dots{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2c211847;border:1px solid #fff8ed2e;border-radius:999px;gap:8px;padding:8px;display:flex;position:absolute;bottom:28px;right:34px}.banner-dots button{background:#fff8ed85;border:0;border-radius:999px;width:9px;height:9px;min-height:9px;padding:0;transition:width .28s,background .28s,transform .28s}.banner-dots button.active{background:#d4bf98;width:28px}.banner-arrow{z-index:4;color:#5a3427;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9d6;border:1px solid #fff8ed3d;border-radius:999px;place-items:center;width:46px;height:46px;min-height:46px;transition:transform .22s,background .22s,color .22s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 14px 32px #2c211833}.banner-arrow:hover{color:#fff8ed;background:#6b3d2e;transform:translateY(-50%)scale(1.04)}.banner-arrow.left{left:24px}.banner-arrow.right{right:24px}.restaurant-filter-bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:minmax(260px,1.35fr) minmax(150px,.7fr) minmax(210px,1fr) minmax(230px,1.05fr);width:100%;background:#fffdf9b8!important;border:1px solid #d4bfa857!important;border-radius:30px!important;align-items:stretch!important;gap:14px!important;margin:10px 0 46px!important;padding:18px!important;display:grid!important;box-shadow:0 22px 54px #4c322014!important}.restaurant-filter-bar>.filter-search,.restaurant-filter-bar>.filter-dropdown,.restaurant-filter-bar>.filter-submit,.restaurant-filter-bar>.filter-reset{min-width:0;width:100%!important}.restaurant-filter-bar>.filter-search{grid-column:span 1}.restaurant-filter-bar>.filter-dropdown:nth-of-type(4){grid-column:1/span 1}.restaurant-filter-bar>.filter-submit{grid-column:2/span 1}.restaurant-filter-bar>.filter-reset{grid-column:3/span 1}.filter-search,.filter-trigger,.filter-submit,.filter-reset{border-radius:20px!important;min-height:58px!important}.filter-search{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;padding:0 18px;display:grid;box-shadow:none!important;background:#fffaf2!important;border:1px solid #d4bfa847!important}.filter-search span,.filter-trigger span{color:#6f5d50;font-size:12px;font-weight:900}.filter-search input{height:100%;min-height:0;box-shadow:none;color:#2c2118;background:0 0;border:0;padding:0}.filter-trigger{justify-content:flex-start;gap:9px;box-shadow:none!important;background:#f2e5d2!important;border-color:#d4bfa852!important;padding:0 18px!important}.filter-trigger strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.filter-trigger svg{margin-left:auto}.filter-submit,.filter-reset{justify-content:center;padding-inline:18px!important}.filter-trigger.selected,.filter-trigger.open,.filter-search.has-value{background:#ead5ba!important;border-color:#6b3d2e73!important;box-shadow:0 0 0 4px #d4bfa82e!important}.filter-dropdown.has-value:after{width:7px;height:7px;top:11px;right:14px}.filter-menu{width:min(320px,100vw - 36px);left:0}@media (max-width:980px){.restaurant-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.restaurant-filter-bar>.filter-search,.restaurant-filter-bar>.filter-dropdown:nth-of-type(4),.restaurant-filter-bar>.filter-submit,.restaurant-filter-bar>.filter-reset{grid-column:auto!important}}@media (max-width:680px){.public-header .brand svg{width:30px;height:30px;padding:6px}.restaurant-filter-bar{border-radius:24px!important;grid-template-columns:1fr!important;padding:14px!important}.filter-search,.filter-trigger,.filter-submit,.filter-reset{min-height:54px!important}.banner-arrow{display:none}.banner-dots{bottom:18px;right:20px}}@media (prefers-reduced-motion:reduce){.banner-slide,.home-banner-slider .showcase-content,.banner-arrow,.banner-dots button{transition:none!important;animation:none!important}}.restaurant-filter-bar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;background:linear-gradient(135deg,#fffdf9f0,#f9f1e6e0)!important;border:1px solid #d4bfa86b!important;border-radius:32px!important;grid-template-columns:minmax(340px,1.55fr) minmax(150px,.72fr) minmax(210px,1fr) minmax(250px,1.12fr)!important;align-items:stretch!important;gap:14px!important;margin:28px 0 48px!important;padding:22px!important;display:grid!important;box-shadow:0 26px 70px #4c32201a!important}.restaurant-filter-bar>*{min-width:0}.restaurant-filter-bar>.filter-search{grid-area:1/1/auto/2!important}.restaurant-filter-bar>.filter-dropdown{grid-area:auto!important}.restaurant-filter-bar>.filter-dropdown:nth-of-type(4){grid-area:2/1/auto/2!important}.restaurant-filter-bar>.filter-submit{grid-area:2/2/auto/3!important}.restaurant-filter-bar>.filter-reset{grid-area:2/3/auto/4!important}.restaurant-filter-bar>.filter-search,.restaurant-filter-bar>.filter-dropdown,.restaurant-filter-bar>.filter-submit,.restaurant-filter-bar>.filter-reset{width:100%!important}.filter-search,.filter-trigger,.filter-submit,.filter-reset{font-family:var(--font-sans,Inter,Manrope,system-ui,sans-serif);border-radius:20px!important;height:56px!important;min-height:56px!important}.filter-search{grid-template-rows:auto auto;align-items:center;gap:2px 10px;transition:border-color .2s,box-shadow .2s,background .2s;background:#fffdf9f5!important;border:1px solid #d4bfa86b!important;grid-template-columns:auto minmax(0,1fr)!important;padding:9px 18px!important;display:grid!important;box-shadow:inset 0 1px #ffffffb8!important}.filter-search>svg{color:#8a6a55;grid-area:1/1/span 2;width:17px;height:17px}.filter-search span{grid-column:2;align-self:end;color:#7a6658!important;font-size:12px!important;font-weight:650!important;line-height:1!important}.filter-search input{grid-column:2;align-self:start;width:100%;height:auto!important;min-height:0!important;box-shadow:none!important;color:#2c2118!important;background:0 0!important;border:0!important;padding:0!important;font-size:14px!important;font-weight:650!important;line-height:1.25!important}.filter-search input::placeholder{color:#8f8175;font-weight:600}.filter-search:focus-within,.filter-search.has-value{background:#fffaf2!important;border-color:#6b3d2e75!important;box-shadow:0 0 0 4px #d4bfa833!important}.filter-trigger{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:2px 10px;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;background:#f4eadc!important;border:1px solid #d4bfa86b!important;padding:9px 16px!important;display:grid!important;box-shadow:inset 0 1px #ffffff85!important}.filter-trigger:hover{background:#efe0cb!important;border-color:#6b3d2e57!important}.filter-trigger.open,.filter-trigger.selected{background:#ead5ba!important;border-color:#6b3d2e7a!important;box-shadow:0 0 0 4px #d4bfa833!important}.filter-trigger span{grid-column:1;align-self:end;color:#7a6658!important;font-size:12px!important;font-weight:650!important;line-height:1!important}.filter-trigger strong{color:#2c2118;text-overflow:ellipsis;white-space:nowrap;grid-column:1;align-self:start;min-width:0;overflow:hidden;font-size:14px!important;font-weight:650!important;line-height:1.25!important}.filter-trigger svg{color:#7e6655;grid-area:1/2/span 2;align-self:center;transition:transform .2s;margin:0!important}.filter-trigger.open svg{transform:rotate(180deg)}.filter-dropdown.has-value:after{content:none!important;display:none!important}.filter-menu{background:#fffdf9;border:1px solid #d4bfa86b;border-radius:22px;margin-top:10px;padding:10px;left:0;box-shadow:0 22px 54px #4c322024;width:min(320px,100vw - 36px)!important}.filter-option{color:#2c2118;border-radius:14px;min-height:40px;font-size:14px;font-weight:600}.filter-option:hover,.filter-option.selected{background:#f4eadc}.filter-radio-dot{border-color:#b89472}.filter-option.selected .filter-radio-dot{background:#6b3d2e;box-shadow:inset 0 0 0 4px #fffdf9}.filter-menu-close{color:#6b3d2e;background:#f4eadc;border-radius:16px;min-height:42px;margin-top:8px;font-size:14px;font-weight:750}.filter-submit,.filter-reset{transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;letter-spacing:0!important;justify-content:center!important;padding:0 18px!important;font-size:14px!important;font-weight:750!important}.filter-submit{color:#fffaf2!important;background:#6b3d2e!important;border:1px solid #6b3d2e!important;box-shadow:0 14px 30px #6b3d2e33!important}.filter-submit:hover{transform:translateY(-1px);background:#5a3427!important}.filter-reset{color:#6b3d2e!important;background:#fffdf9eb!important;border:1px solid #d4bfa88f!important}.filter-reset:hover{transform:translateY(-1px);background:#f4eadc!important;border-color:#6b3d2e57!important}@media (max-width:980px){.restaurant-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:18px!important}.restaurant-filter-bar>.filter-search{grid-area:auto/1/auto/-1!important}.restaurant-filter-bar>.filter-dropdown,.restaurant-filter-bar>.filter-dropdown:nth-of-type(4),.restaurant-filter-bar>.filter-submit,.restaurant-filter-bar>.filter-reset{grid-area:auto!important}}@media (max-width:680px){.restaurant-filter-bar{border-radius:26px!important;grid-template-columns:1fr!important;gap:12px!important;margin:22px 0 38px!important;padding:14px!important}.restaurant-filter-bar>.filter-search,.restaurant-filter-bar>.filter-dropdown,.restaurant-filter-bar>.filter-dropdown:nth-of-type(4),.restaurant-filter-bar>.filter-submit,.restaurant-filter-bar>.filter-reset{grid-area:auto/1/auto/-1!important}.filter-search,.filter-trigger,.filter-submit,.filter-reset{border-radius:18px!important;height:54px!important;min-height:54px!important}}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.catalog-page{padding-top:26px}.catalog-quick-row{scrollbar-width:none;gap:10px;margin:0 0 22px;padding:2px 0 4px}.catalog-quick-row::-webkit-scrollbar{display:none}.catalog-quick-row a{color:#2c2118;letter-spacing:0;min-height:34px;box-shadow:none;background:#f4eadc;border:1px solid #d4bfa880;border-radius:999px;padding:0 16px;font-size:13px;font-weight:750;transition:background .2s,border-color .2s,color .2s,transform .2s}.catalog-quick-row a:hover,.catalog-quick-row a.active{color:#fffaf2;background:#6b3d2e;border-color:#6b3d2e;transform:translateY(-1px)}.catalog-page .restaurant-showcase{border-radius:24px;min-height:clamp(300px,34vw,390px);margin-bottom:20px}.catalog-page .showcase-content{min-height:clamp(300px,34vw,390px);padding:clamp(24px,4vw,44px)}.catalog-filter-strip{z-index:5;align-items:center;gap:10px;margin:0 0 48px;padding:0;display:flex;position:relative;overflow:visible}.catalog-filter-chip{flex:none;position:relative}.catalog-filter-chip.has-value:after{content:none!important;display:none!important}.catalog-filter-chip .catalog-filter-trigger{font-family:var(--font-sans,Inter,Manrope,system-ui,sans-serif);transition:background .2s,border-color .2s,color .2s,transform .2s;color:#2c2118!important;width:auto!important;height:38px!important;min-height:38px!important;box-shadow:none!important;background:#e8e6e3!important;border:1px solid #2c211814!important;border-radius:999px!important;grid-template-rows:none!important;grid-template-columns:none!important;justify-content:center!important;align-items:center!important;gap:8px!important;padding:0 15px!important;display:inline-flex!important}.catalog-filter-chip .catalog-filter-trigger span{white-space:nowrap;height:auto!important;color:inherit!important;text-align:center!important;grid-area:auto!important;justify-content:center!important;align-self:center!important;align-items:center!important;margin:0!important;padding:0!important;font-size:13px!important;font-weight:750!important;line-height:1!important;display:inline-flex!important;position:static!important;transform:none!important}.catalog-filter-chip .catalog-filter-trigger svg{color:currentColor;opacity:.78;flex:none;width:14px;height:14px;transform:none;grid-area:auto!important;align-self:center!important;margin:0!important;position:static!important}.catalog-filter-chip .catalog-filter-trigger:hover{transform:translateY(-1px);background:#ddd8d0!important;border-color:#6b3d2e33!important}.catalog-filter-chip .catalog-filter-trigger.open,.catalog-filter-chip .catalog-filter-trigger.selected{color:#fffaf2!important;background:#6b3d2e!important;border-color:#6b3d2e61!important;box-shadow:0 10px 24px #6b3d2e24!important}.catalog-filter-chip .catalog-filter-trigger.open svg{transform:rotate(180deg)}.catalog-filter-chip .catalog-filter-menu{background:#fffdf9;border:1px solid #d4bfa873;border-radius:22px;max-height:min(420px,70vh);padding:10px;top:calc(100% + 10px);left:0;overflow:auto;box-shadow:0 26px 60px #2c211829;width:min(300px,100vw - 32px)!important}.catalog-filter-reset{color:#6b3d2e;background:#fffdf9;border:1px solid #d4bfa88c;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:13px;font-weight:750;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.catalog-filter-reset:hover{background:#f4eadc;border-color:#6b3d2e47;transform:translateY(-1px)}.catalog-page .catalog-section{margin:42px 0 58px}.catalog-page .section-heading{align-items:center}.catalog-page .section-heading h2{font-family:var(--font-serif,Georgia,serif);font-size:clamp(30px,3.2vw,46px);line-height:1}.catalog-page .show-all-link{color:#2c2118;background:#fffdf9;border-radius:999px;height:38px;min-height:38px;padding:0 15px}@media (max-width:980px){.catalog-filter-strip{flex-wrap:wrap;margin-bottom:40px}.catalog-filter-chip .catalog-filter-trigger,.catalog-filter-reset{height:40px!important;min-height:40px!important}}@media (max-width:680px){.catalog-page{padding-top:18px}.catalog-quick-row,.catalog-filter-strip{scrollbar-width:none;flex-wrap:nowrap;margin-right:-10px;padding-right:10px;overflow-x:auto}.catalog-filter-strip::-webkit-scrollbar{display:none}.catalog-page .restaurant-showcase{border-radius:22px;min-height:330px}.catalog-page .showcase-content{min-height:330px}}.profile-gallery.enhanced-gallery{align-items:stretch;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:18px!important;display:grid!important}.profile-gallery.enhanced-gallery.gallery-count-1{grid-template-columns:minmax(0,1fr)!important}.profile-gallery.enhanced-gallery.gallery-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.profile-gallery.enhanced-gallery .gallery-item,.profile-gallery.enhanced-gallery .gallery-item:first-child{cursor:pointer;min-width:0;transition:transform .22s,box-shadow .22s,filter .22s;transform:translateZ(0);aspect-ratio:4/3!important;background:#efe4d5!important;border:0!important;border-radius:22px!important;grid-area:auto!important;width:100%!important;min-height:0!important;padding:0!important;display:block!important;position:relative!important;overflow:hidden!important;box-shadow:0 18px 44px #4c32201a!important}.profile-gallery.enhanced-gallery.gallery-count-1 .gallery-item{aspect-ratio:16/7!important}.profile-gallery.enhanced-gallery .gallery-item:hover{filter:saturate(1.03);transform:translateY(-2px);box-shadow:0 24px 62px #4c322029!important}.profile-gallery.enhanced-gallery .gallery-item img{transition:transform .35s;object-fit:cover!important;width:100%!important;height:100%!important}.profile-gallery.enhanced-gallery .gallery-item:hover img{transform:scale(1.035)}@media (max-width:980px){.profile-gallery.enhanced-gallery,.profile-gallery.enhanced-gallery.gallery-count-3,.profile-gallery.enhanced-gallery.gallery-count-4,.profile-gallery.enhanced-gallery.gallery-count-5,.profile-gallery.enhanced-gallery.gallery-count-6{grid-template-columns:repeat(2,minmax(0,1fr))!important}.profile-gallery.enhanced-gallery.gallery-count-1{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:680px){.profile-gallery.enhanced-gallery,.profile-gallery.enhanced-gallery.gallery-count-1,.profile-gallery.enhanced-gallery.gallery-count-2,.profile-gallery.enhanced-gallery.gallery-count-3,.profile-gallery.enhanced-gallery.gallery-count-4,.profile-gallery.enhanced-gallery.gallery-count-5,.profile-gallery.enhanced-gallery.gallery-count-6{grid-template-columns:1fr!important;gap:14px!important}.profile-gallery.enhanced-gallery .gallery-item,.profile-gallery.enhanced-gallery .gallery-item:first-child,.profile-gallery.enhanced-gallery.gallery-count-1 .gallery-item{aspect-ratio:16/10!important;border-radius:18px!important}}.profile-section,.profile-main,.restaurant-profile-content.single-column{min-width:0}.profile-section>p,.profile-hero-content p,.review-card p,.dish-card p{overflow-wrap:anywhere}.gallery-lightbox{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1200!important;background:#1f1a16c7!important;place-items:center!important;padding:32px!important;display:grid!important;position:fixed!important;inset:0!important}.lightbox-image{background:#17110d!important;border-radius:24px!important;width:min(1120px,92vw)!important;height:min(76vh,760px)!important;position:relative!important;overflow:hidden!important;box-shadow:0 32px 90px #00000075!important}.lightbox-image img{object-fit:contain!important}.lightbox-close,.lightbox-arrow{color:#3a261c!important;background:#fffaf4f0!important;border:1px solid #fff3!important;box-shadow:0 18px 45px #0000003d!important}.lightbox-close{z-index:1202!important;border-radius:999px!important;place-items:center!important;width:46px!important;height:46px!important;display:grid!important;position:fixed!important;top:22px!important;right:22px!important}.lightbox-arrow{transform:translateY(-50%);z-index:1202!important;border-radius:999px!important;place-items:center!important;width:52px!important;height:52px!important;display:grid!important;position:fixed!important;top:50%!important}.lightbox-arrow.left{left:24px!important}.lightbox-arrow.right{right:24px!important}.reservation-success-modal{z-index:1150;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#261b148f;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.reservation-success-card{color:#2c2118;background:linear-gradient(145deg,#fffaf4,#f7efe5);border:1px solid #d4bfa89e;border-radius:28px;gap:18px;width:min(720px,100%);max-height:min(92vh,860px);padding:30px;display:grid;position:relative;overflow:auto;box-shadow:0 36px 110px #38241847}.reservation-success-card h2{color:#2c2118;max-width:620px;margin:0;font-size:clamp(28px,4vw,44px);line-height:1.02}.success-modal-icon{color:#4f7a53;filter:drop-shadow(0 10px 18px #4f7a5338)}.modal-close-button{color:#4a3327;background:#fffaf4;border:1px solid #6a4a3324;border-radius:999px;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:18px;right:18px}.success-summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.success-summary-list div,.success-flow-panel,.deposit-next-step,.guest-payment-line{background:#ffffffb8;border:1px solid #d4bfa88c;border-radius:18px}.success-summary-list div{gap:4px;padding:14px;display:grid}.success-summary-list dt{color:#8a7563;text-transform:uppercase;font-size:12px;font-weight:800}.success-summary-list dd{color:#2c2118;margin:0;font-weight:800}.reservation-qr-card{background:radial-gradient(circle at 84% 18%,#d4bfa842,#0000 34%),linear-gradient(145deg,#fffdf9f0,#f6ece0db);border:1px solid #d4bfa899;border-radius:22px;grid-template-columns:minmax(0,1fr) 138px;align-items:center;gap:16px;padding:16px;display:grid;box-shadow:0 18px 46px #4a33221a}.reservation-qr-copy{align-items:flex-start;gap:12px;min-width:0;display:flex}.reservation-qr-icon{color:#6b3d2e;background:#fffaf4;border:1px solid #d4bfa894;border-radius:14px;flex:none;place-items:center;width:38px;height:38px;display:grid}.reservation-qr-copy strong{color:#2c2118;font-size:17px;font-weight:900;display:block}.reservation-qr-copy p{color:#756354;max-width:460px;margin:5px 0 0;font-size:14px;line-height:1.45}.reservation-qr-image-wrap{aspect-ratio:1;background:#fffdf9;border:1px solid #d4bfa885;border-radius:18px;place-items:center;width:138px;padding:8px;display:grid;box-shadow:0 12px 28px #4a332214}.reservation-qr-image-button{appearance:none;color:inherit;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative}.reservation-qr-image-button:hover{border-color:#6b3d2e52;transform:translateY(-2px)scale(1.02);box-shadow:0 18px 38px #4a332224}.reservation-qr-image-button:focus-visible{outline-offset:3px;outline:3px solid #6b3d2e38}.reservation-qr-zoom-hint{color:#fffdf9;opacity:0;pointer-events:none;background:#2c2118c7;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:900;transition:opacity .2s,transform .2s;display:inline-flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%,4px)}.reservation-qr-image-button:hover .reservation-qr-zoom-hint,.reservation-qr-image-button:focus-visible .reservation-qr-zoom-hint{opacity:1;transform:translate(-50%)}.reservation-qr-image-wrap img{object-fit:contain;width:100%;height:100%;display:block}.reservation-qr-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.reservation-qr-open,.reservation-qr-download{border-radius:999px;min-height:40px;padding:0 16px;font-size:13px;text-decoration:none}.reservation-qr-card.compact{border-radius:20px;grid-template-columns:minmax(0,1fr) 96px;gap:12px;padding:13px}.reservation-qr-card.compact .reservation-qr-image-wrap{border-radius:14px;width:96px}.reservation-qr-card.compact .reservation-qr-copy p{max-width:none}.reservation-qr-modal{z-index:1300;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#261b14a3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.reservation-qr-modal-card{background:radial-gradient(circle at 85% 12%,#d4bfa847,#0000 34%),linear-gradient(145deg,#fffdf9,#f8efe5);border:1px solid #e2d1bdd1;border-radius:30px;gap:18px;width:min(560px,100%);max-height:min(92vh,760px);padding:28px;display:grid;position:relative;overflow:auto;box-shadow:0 34px 90px #1c140e57}.qr-modal-close{z-index:2;position:absolute;top:18px;right:18px}.reservation-qr-modal-head{gap:14px;padding-right:44px;display:flex}.reservation-qr-modal-head h2{color:#2c2118;font-family:var(--font-serif),Georgia,serif;margin:0;font-size:clamp(28px,4vw,42px);line-height:1}.reservation-qr-modal-head p{color:#756354;max-width:420px;margin:8px 0 0;font-size:15px;line-height:1.45}.reservation-qr-modal-image{aspect-ratio:1;background:#fffdf9;border:1px solid #d4bfa8ad;border-radius:26px;justify-self:center;place-items:center;width:min(420px,100%);padding:16px;display:grid;box-shadow:0 18px 42px #4a33221f}.reservation-qr-modal-image img{object-fit:contain;width:100%;height:100%;display:block}.reservation-qr-modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.reservation-qr-modal-actions .button,.reservation-qr-modal-actions .secondary-button{border-radius:999px;min-width:150px;min-height:44px}.deposit-next-step{background:#fff3e4;gap:10px;padding:16px;display:grid}.deposit-next-step small{color:#756354;line-height:1.45}.success-flow-panel{color:#36563c;background:#f1f6ea;gap:6px;padding:16px;display:grid}.success-flow-panel strong{font-size:17px}.success-modal-actions{grid-template-columns:1.2fr 1fr;gap:10px;display:grid}.success-modal-actions .full{width:100%;min-height:48px}.success-modal-actions .full:only-child{grid-column:1/-1}.guest-login-page,.guest-reservations-page{width:min(1120px,100% - 32px);margin:0 auto;padding:58px 0 80px}.guest-login-page{justify-items:center;gap:18px;display:grid}.guest-login-card{background:linear-gradient(145deg,#fffaf4,#f5eadc);border:1px solid #d4bfa8b3;border-radius:30px;gap:16px;width:min(540px,100%);padding:32px;display:grid;box-shadow:0 30px 80px #4b342224}.guest-login-icon{color:#6b3d2e;background:#efe1cf;border-radius:18px;place-items:center;width:54px;height:54px;display:grid}.guest-login-card h1,.guest-reservations-hero h1{color:#2c2118;margin:0;font-size:clamp(34px,5vw,58px);line-height:.98}.guest-login-card p,.guest-reservations-hero p{color:#756354;margin:0;line-height:1.55}.guest-login-form{gap:12px;display:grid}.guest-login-form label{gap:8px;font-weight:800;display:grid}.guest-vkid-panel{background:linear-gradient(135deg,#fff7ee,#efe0cf);border:1px solid #75533a29;border-radius:24px;gap:14px;padding:18px;display:grid;box-shadow:0 18px 38px #502d1c1a}.guest-vkid-panel strong,.guest-vkid-panel span{display:block}.guest-vkid-panel strong{color:#2c2118;font-size:18px;font-weight:900}.guest-vkid-panel span{color:#756354;margin-top:5px;line-height:1.45}.guest-demo-code{color:#70412d;background:#fff3df;border-radius:16px;padding:12px 14px}.guest-messenger-panel{background:linear-gradient(135deg,#fffcf7f5,#f6eee2e0);border:1px solid #75533a29;border-radius:22px;gap:14px;padding:16px;display:grid;box-shadow:0 14px 34px #502d1c14}.guest-messenger-copy{align-items:flex-start;gap:12px;min-width:0;display:flex}.guest-messenger-copy>svg{color:#6b3d2e;background:#d4bfa838;border:1px solid #75533a29;border-radius:14px;flex:none;width:38px;height:38px;padding:9px}.guest-messenger-copy strong,.guest-messenger-copy span,.guest-messenger-copy small{display:block}.guest-messenger-copy strong{color:#2c2118;font-size:16px;font-weight:900}.guest-messenger-copy span{color:#756354;margin-top:5px;line-height:1.45}.guest-messenger-copy small{color:#6b3d2e;overflow-wrap:anywhere;margin-top:8px;font-weight:800;line-height:1.35}.guest-messenger-actions{flex-wrap:wrap;gap:8px;display:flex}.messenger-code-form{gap:8px;display:grid}.messenger-code-form input,.verification-code-field input{color:#2c2118;letter-spacing:.18em;text-align:center;background:#fffaf4;border:1px solid #75533a33;border-radius:16px;height:48px;font-size:20px;font-weight:900;box-shadow:inset 0 1px #ffffffbf}.messenger-code-form input:focus,.verification-code-field input:focus{border-color:#81453194;outline:none;box-shadow:0 0 0 4px #b56c4824}.guest-messenger-confirmed{background:linear-gradient(135deg,#f1faeef5,#f7f2e7e6);border-color:#4a795742}.guest-messenger-expired,.guest-messenger-failed{background:linear-gradient(135deg,#fff7f3f5,#f7ece4e0);border-color:#963e2c38}.guest-reservations-hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.guest-reservations-hero>div:first-child{max-width:720px}.guest-account-chip{color:#4a3327;white-space:nowrap;background:#fffaf4;border:1px solid #d4bfa8b3;border-radius:999px;align-items:center;gap:10px;padding:10px 12px;font-weight:800;display:flex}.guest-reservation-grid{gap:18px;display:grid}.guest-reservation-card,.guest-empty-state{background:#fffaf4e6;border:1px solid #d4bfa8b3;border-radius:24px;gap:16px;padding:22px;display:grid;box-shadow:0 18px 52px #4b342214}.guest-reservation-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.guest-reservation-head h2{margin:0 0 8px;font-size:28px}.guest-reservation-restaurant-title{color:inherit;cursor:pointer;text-underline-offset:5px;text-decoration:none;text-decoration-thickness:2px;transition:color .16s,text-decoration-color .16s}.guest-reservation-restaurant-title:hover{color:#7d4434;text-decoration:underline}.guest-reservation-restaurant-title:focus-visible{outline-offset:4px;border-radius:8px;outline:2px solid #b9794db8}.guest-reservation-head p,.guest-reservation-facts span{color:#756354;align-items:center;gap:6px;margin:0;display:inline-flex}.guest-reservation-facts{flex-wrap:wrap;gap:10px;display:flex}.guest-reservation-facts span{background:#f3eadf;border-radius:999px;min-height:34px;padding:0 12px;font-weight:700}.guest-payment-line{justify-content:space-between;gap:12px;padding:13px 14px;display:flex}.guest-reservation-actions{flex-wrap:wrap;gap:10px;display:flex}.guest-empty-state{text-align:center;justify-items:center;padding:42px 24px}@media (max-width:760px){.gallery-lightbox{padding:16px!important}.lightbox-image{border-radius:18px!important;width:96vw!important;height:72vh!important}.lightbox-arrow{width:44px!important;height:44px!important}.lightbox-arrow.left{left:10px!important}.lightbox-arrow.right{right:10px!important}.success-summary-list,.success-modal-actions{grid-template-columns:1fr}.reservation-success-card{border-radius:24px;padding:24px 18px}.reservation-qr-card,.reservation-qr-card.compact{grid-template-columns:1fr}.reservation-qr-image-wrap,.reservation-qr-card.compact .reservation-qr-image-wrap{justify-self:center;width:min(180px,100%)}.reservation-qr-actions,.reservation-qr-modal-actions{grid-template-columns:1fr;display:grid}.reservation-qr-open,.reservation-qr-download{justify-content:center;width:100%}.reservation-qr-modal{padding:14px}.reservation-qr-modal-card{border-radius:24px;gap:16px;padding:22px 16px 18px}.reservation-qr-modal-head{padding-right:38px}.reservation-qr-modal-image{border-radius:22px;width:min(340px,100%);padding:12px}.guest-reservations-hero,.guest-reservation-head{display:grid}.guest-account-chip{white-space:normal;border-radius:20px}}.home-banner-slider,.catalog-page .restaurant-showcase.home-banner-slider{contain:layout paint;height:clamp(420px,42vw,560px)!important;min-height:0!important;overflow:hidden!important}.home-banner-slider .showcase-content.banner-content-stack{pointer-events:none;z-index:3!important;width:100%!important;min-height:0!important;padding:0!important;animation:none!important;display:block!important;position:absolute!important;inset:0!important}.home-banner-slider .banner-copy{color:#fffaf2;opacity:0;pointer-events:none;grid-template-rows:auto 204px 54px auto 50px;align-content:start;gap:14px;width:min(640px,100% - 172px);transition:opacity .72s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;top:clamp(42px,6vw,76px);left:clamp(46px,6vw,82px);transform:none}.home-banner-slider .banner-copy.active{opacity:1;pointer-events:auto;transform:none}.home-banner-slider .banner-copy span:first-child{place-self:start}.home-banner-slider .banner-copy h2{text-wrap:balance;align-items:flex-end;max-width:640px;height:204px;min-height:204px;margin:0;font-size:clamp(44px,5.2vw,76px);line-height:.94;display:flex;overflow:hidden}.home-banner-slider .banner-copy p{max-width:600px;height:54px;min-height:54px;margin:0;font-size:clamp(16px,1.5vw,19px);line-height:1.45;overflow:hidden}.home-banner-slider .banner-copy .button{place-self:start;width:max-content;min-height:48px}.home-banner-slider:hover .banner-slide.active{transform:scale(1.018)translate(0)!important}.banner-live-region{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reservation-confirm-page{place-items:start center;width:min(920px,100% - 32px);min-height:calc(100vh - 92px);margin:0 auto;padding:52px 0 84px;display:grid}.reservation-pass-card{background:linear-gradient(145deg,#fffaf4,#f7efe5);border:1px solid #d4bfa8a8;border-radius:30px;gap:22px;width:100%;padding:32px;display:grid;position:relative;box-shadow:0 32px 90px #4a332224}.reservation-pass-topline,.reservation-pass-header,.reservation-pass-footer{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.reservation-pass-topline .eyebrow{margin:0}.reservation-pass-header h1{color:#2c2118;text-wrap:balance;max-width:650px;margin:0;font-size:clamp(38px,6vw,68px);line-height:.96}.reservation-pass-header p{color:#756354;align-items:center;gap:8px;margin:12px 0 0;font-weight:750;display:inline-flex}.reservation-pass-status{color:#5f3a2e;text-align:center;white-space:nowrap;background:#f3eadf;border:1px solid #d4bfa89e;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:13px;font-weight:850;display:inline-flex}.reservation-pass-status svg{color:#4f7a53}.reservation-pass-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.reservation-pass-fact{background:#ffffffa8;border:1px solid #d4bfa894;border-radius:18px;align-content:space-between;gap:10px;min-height:118px;padding:16px;display:grid}.reservation-pass-fact svg{color:#6b3d2e}.reservation-pass-fact strong{color:#2c2118;overflow-wrap:anywhere;min-width:0;font-size:clamp(18px,2vw,24px);line-height:1.08}.reservation-pass-fact span{color:#8a7563;font-size:13px;font-weight:750}.reservation-pass-note{border:1px solid #d4bfa89e;border-radius:20px;gap:10px;padding:18px;line-height:1.5;display:grid}.reservation-pass-note strong{color:#2c2118;font-size:17px}.reservation-pass-note span{color:#6f5d4d}.reservation-pass-note.success{background:#f1f7ed;border-color:#4f7a5340}.reservation-pass-note.warning{background:#fff3e4;border-color:#c27a3847}.reservation-pass-note .button.full{width:max-content;min-height:48px;margin-top:4px}.reservation-pass-actions{flex-wrap:wrap;gap:12px;display:flex}.reservation-pass-actions form{margin:0}.reservation-pass-actions .button,.reservation-pass-actions .secondary-button,.reservation-pass-footer .small-button,.reservation-pass-footer .ghost{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:850;text-decoration:none;display:inline-flex}.reservation-pass-actions .secondary-button,.reservation-pass-footer .small-button,.reservation-pass-footer .ghost{color:#5f3a2e;background:#fffaf4;border:1px solid #d4bfa8a6}.reservation-pass-footer{border-top:1px solid #d4bfa86b;padding-top:18px}@media (max-width:820px){.home-banner-slider,.catalog-page .restaurant-showcase.home-banner-slider{height:430px!important}.home-banner-slider .banner-copy{grid-template-rows:auto 150px 66px auto 48px;width:calc(100% - 56px);top:30px;left:28px}.home-banner-slider .banner-copy h2{height:150px;min-height:150px;font-size:clamp(38px,11vw,58px)}.home-banner-slider .banner-copy p{height:66px;min-height:66px}.reservation-confirm-page{width:min(100% - 24px,920px);padding:28px 0 64px}.reservation-pass-card{border-radius:24px;padding:22px}.reservation-pass-header,.reservation-pass-topline,.reservation-pass-footer{display:grid}.reservation-pass-status{white-space:normal;justify-self:start}.reservation-pass-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.home-banner-slider,.catalog-page .restaurant-showcase.home-banner-slider{height:390px!important}.home-banner-slider .banner-copy{grid-template-rows:auto 132px 70px auto 46px;gap:12px;width:calc(100% - 44px);top:24px;left:22px}.home-banner-slider .banner-copy h2{height:132px;min-height:132px}.home-banner-slider .banner-copy .showcase-meta{gap:8px;display:grid}.banner-dots{bottom:14px!important;right:16px!important}.reservation-pass-grid{grid-template-columns:1fr}.reservation-pass-actions .button,.reservation-pass-actions .secondary-button,.reservation-pass-footer .small-button,.reservation-pass-footer .ghost,.reservation-pass-note .button.full{width:100%}}.menu-manager .panel{align-self:start}.category-create-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.menu-add-category-button{border-radius:18px;min-width:132px;min-height:48px}.weight-field{grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:10px;display:grid}.weight-field input,.weight-field select{min-height:48px}.weight-field select{text-align:center;font-weight:800}.menu-manager .stack-form input,.menu-manager .stack-form select,.menu-manager .stack-form textarea,.category-create-form input{border-radius:16px}@media (max-width:680px){.category-create-form,.weight-field{grid-template-columns:1fr}.menu-add-category-button{width:100%}}.owner-reservation-panel{gap:18px;display:grid}.owner-reservation-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.owner-reservation-head h2{margin:0}.owner-reservation-head p{margin-top:6px}.reservation-filter-chips{flex-wrap:wrap;gap:10px;display:flex}.reservation-filter-chips a{color:#4b3528;background:#fbf5ed;border:1px solid #75533a2e;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:14px;font-weight:800;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.reservation-filter-chips a:hover,.reservation-filter-chips a.active{color:#fff;background:#6b3d2e;border-color:#6b3d2e6b;transform:translateY(-1px);box-shadow:0 12px 28px #54332629}.reservation-filter-chips a span{color:#6b3d2e;background:#ffffffb3;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;display:inline-grid}.reservation-filter-chips a.active span,.reservation-filter-chips a:hover span{color:#fff;background:#ffffff38}.owner-reservation-filters{background:#fffaf4;border:1px solid #75533a24;border-radius:20px;grid-template-columns:minmax(220px,280px) 190px auto;align-items:end;gap:12px;padding:14px;display:grid}.reservation-search-area{gap:10px;display:grid}.reservation-search-field{gap:8px;display:grid}.reservation-search-input{background:#fffdf9;border:1px solid #75533a2e;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:0 14px;transition:border-color .18s,box-shadow .18s;display:grid;box-shadow:0 14px 32px #3c2a1e0f}.reservation-search-input:focus-within{border-color:#6b3d2e73;box-shadow:0 0 0 4px #6b3d2e1a,0 14px 32px #3c2a1e14}.reservation-search-input svg{color:#8a6a55}.reservation-search-input input{background:0 0;border:0;border-radius:0;min-height:50px;padding:0;font-size:15px;box-shadow:none!important}.reservation-search-input input::-webkit-search-cancel-button{display:none}.reservation-search-input button{color:#6b3d2e;background:#f7efe5;border:1px solid #75533a24;border-radius:999px;place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;display:inline-grid}.reservation-search-empty{gap:4px;display:grid}.reservation-search-empty strong{color:#2c2118}.reservation-search-empty p{margin:0}.owner-reservation-filters .button{border-radius:16px;min-height:46px}.owner-reservation-list{gap:14px;display:grid}.reservation-card{background:#fffdf9;border:1px solid #75533a24;border-left:6px solid #d4bfa8;border-radius:22px;gap:14px;padding:18px;display:grid;box-shadow:0 18px 45px #3c2a1e14}.reservation-card.needs-action{background:linear-gradient(135deg,#fffdf9 0%,#fff6ea 100%);border-left-color:#b66b45}.reservation-card.status-confirmed,.reservation-card.status-confirmed-by-guest,.reservation-card.status-confirmed-by-restaurant,.reservation-card.status-deposit-paid,.reservation-card.status-seated{border-left-color:#6f9b72}.reservation-card.status-cancelled,.reservation-card.status-cancelled-by-guest,.reservation-card.status-cancelled-by-restaurant,.reservation-card.status-rejected,.reservation-card.status-no-show,.reservation-card.status-payment-expired{border-left-color:#b85c50}.reservation-card.payment-awaiting-external-payment{border-left-color:#d49a43}.reservation-card-top,.reservation-card-footer{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.reservation-card-top h3{margin:6px 0 0;font-size:22px}.reservation-card-top p,.reservation-card-note,.reservation-card-comment{color:#77685d;margin:6px 0 0;line-height:1.45}.reservation-action-label{color:#6b3d2e;text-transform:uppercase;background:#efe0cf;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.reservation-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.reservation-meta-grid div{background:#fff8ef;border:1px solid #75533a1f;border-radius:16px;gap:5px;padding:12px;display:grid}.reservation-meta-grid span{color:#8a7a6e;font-size:12px;font-weight:800}.reservation-meta-grid strong{color:#2c2118;font-size:14px;line-height:1.35}.reservation-card-comment{color:#4b3528;background:#f7efe5;border-radius:16px;padding:12px 14px}.reservation-card-links,.reservation-actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:980px){.owner-reservation-filters,.reservation-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.owner-reservation-head,.reservation-card-top,.reservation-card-footer{display:grid}.owner-reservation-filters,.reservation-meta-grid{grid-template-columns:1fr}}.catalog-filter-strip{align-items:center;gap:12px!important}.catalog-search-field{color:#6b3d2e;background:#fffdf9;border:1px solid #75533a29;border-radius:999px;flex:320px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;max-width:420px;min-height:42px;padding:0 14px;display:grid;box-shadow:0 12px 30px #3c2a1e0f}.catalog-search-field:focus-within{border-color:#6b3d2e6b;box-shadow:0 0 0 4px #6b3d2e1a,0 12px 30px #3c2a1e14}.catalog-search-field input{background:0 0;border:0;border-radius:0;min-height:40px;padding:0;font-size:14px;font-weight:700;box-shadow:none!important}.catalog-search-field input::-webkit-search-cancel-button{display:none}.catalog-search-field button{color:#6b3d2e;background:#f5eadc;border:1px solid #75533a1f;border-radius:999px;place-items:center;width:28px;min-width:28px;height:28px;min-height:28px;display:inline-grid}.catalog-empty-state strong{color:#2c2118;font-size:18px}.restaurant-admin-list{gap:10px;display:grid}.restaurant-admin-row{background:#fffdf9;border:1px solid #75533a1f;border-radius:20px;grid-template-columns:minmax(260px,1fr) 130px 90px 90px minmax(330px,auto);align-items:center;gap:14px;padding:16px;display:grid;box-shadow:0 14px 32px #3c2a1e0d}.restaurant-admin-list.compact .restaurant-admin-row{grid-template-columns:minmax(240px,1fr) 130px minmax(260px,auto)}.restaurant-admin-main{gap:5px;min-width:0;display:grid}.restaurant-admin-main strong{color:#2c2118;font-size:18px}.restaurant-admin-main span,.restaurant-admin-stat span{color:#7d6d61;font-size:13px}.restaurant-admin-link{color:inherit;border-radius:16px;text-decoration:none;transition:color .18s,background .18s,transform .18s}.restaurant-admin-link:hover{color:#6b3d2e;background:#fbf2e7;transform:translateY(-1px)}.restaurant-admin-link:hover strong{text-underline-offset:4px;color:#6b3d2e;text-decoration:underline;text-decoration-thickness:1px}.restaurant-admin-stat{justify-items:start;gap:2px;display:grid}.restaurant-admin-stat strong{color:#2c2118;font-size:20px}.restaurant-admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.owner-guest-filters{grid-template-columns:minmax(280px,1fr) auto}.guest-table{gap:10px;display:grid}.guest-row{background:#fffdf9;border:1px solid #75533a1f;border-radius:20px;grid-template-columns:minmax(230px,1.05fr) minmax(220px,1fr) 140px minmax(190px,.8fr) 170px;align-items:center;gap:14px;padding:16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;box-shadow:0 14px 32px #3c2a1e0d}.guest-row:hover{border-color:#6b3d2e3d;transform:translateY(-1px);box-shadow:0 18px 38px #3c2a1e14}.guest-person,.guest-last{gap:5px;min-width:0;display:grid}.guest-person strong{color:#2c2118;font-size:17px}.guest-person span,.guest-last span{color:#7d6d61;font-size:13px}.guest-stats{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 8px;display:grid}.guest-stats strong{color:#2c2118;font-size:18px}.guest-stats span{color:#7d6d61;font-size:13px}.guest-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.guest-tags{align-content:center}.guest-tags-card{background:#fffaf4;border:1px solid #75533a1f;border-radius:18px;gap:12px;margin:16px 0;padding:14px;display:grid}.guest-tags-card h3{margin:0;font-size:18px}.tag-edit-button{color:#6b3d2e;background:#fffdf9;border:1px solid #75533a2e;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-weight:800;display:inline-flex}.tag-edit-button.compact{min-height:34px;padding:0 10px;font-size:13px}.application-list{gap:12px;display:grid}.application-row{background:#fffdf9;border:1px solid #75533a1f;border-radius:20px;grid-template-columns:minmax(260px,1fr) 180px 110px;align-items:center;gap:14px;padding:16px;display:grid;box-shadow:0 14px 32px #3c2a1e0d}.application-main{color:inherit;border-radius:14px;gap:5px;text-decoration:none;transition:background .18s,color .18s;display:grid}.application-main:hover{color:#6b3d2e;background:#fbf2e7}.application-main strong{color:#2c2118;font-size:18px}.application-main span,.application-main small,.application-meta span{color:#7d6d61;font-size:13px}.application-meta{justify-items:start;gap:6px;display:grid}.application-actions{justify-content:flex-end;display:flex}.application-detail-card{gap:16px;display:grid}.application-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;display:grid}.application-detail-grid div{background:#fffaf4;border:1px solid #75533a1a;border-radius:16px;padding:14px}.application-detail-grid dt{color:#7d6d61;text-transform:uppercase;font-size:12px;font-weight:800}.application-detail-grid dd{color:#2c2118;margin:4px 0 0;font-weight:800}.application-actions-grid{grid-template-columns:1.35fr .85fr;gap:16px;display:grid}.application-action-card{margin:0}.application-result{grid-column:1/-1;gap:8px;display:grid}.lead-success{align-items:flex-start;gap:10px;display:flex}.lead-success div{gap:4px;display:grid}.lead-success small{color:#6f6258}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1f1a167a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.tag-editor-modal{background:#fffdf9;border:1px solid #d4bfa873;border-radius:24px;gap:18px;width:min(620px,100%);max-height:min(760px,100vh - 48px);padding:24px;display:grid;overflow:auto;box-shadow:0 28px 80px #1f1a1647}.tag-editor-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.tag-editor-head h2{margin:0}.tag-editor-head p{color:#7d6d61;margin:6px 0 0}.modal-close{color:#6b3d2e;background:#f7efe5;border:1px solid #75533a24;border-radius:999px;place-items:center;width:38px;min-width:38px;height:38px;min-height:38px;display:inline-grid}.tag-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tag-checkbox{color:#2c2118;background:#fffaf4;border:1px solid #75533a1f;border-radius:14px;align-items:center;gap:9px;min-height:42px;padding:0 12px;font-size:14px;font-weight:800;display:flex}.tag-checkbox input{width:18px;min-height:18px}.custom-tag-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.reservation-history-panel{gap:18px;display:grid}.reservation-history-filters{background:#fffaf4;border:1px solid #75533a24;border-radius:20px;grid-template-columns:minmax(260px,1.4fr) repeat(5,minmax(140px,1fr)) auto;align-items:end;gap:12px;padding:14px;display:grid}.reservation-history-filters .button{border-radius:16px;min-height:46px}.reservation-history-list{gap:10px;display:grid}.history-row{background:#fffdf9;border:1px solid #75533a1f;border-radius:20px;grid-template-columns:minmax(240px,1.4fr) 70px minmax(170px,1fr) 110px 120px 150px;align-items:center;gap:14px;padding:16px;display:grid;box-shadow:0 14px 32px #3c2a1e0d}.history-main{gap:5px;display:grid}.history-main p,.history-comment{color:#7d6d61;margin:0;font-size:13px}.history-label{color:#8a7a6d;margin-bottom:4px;font-size:12px;font-weight:800;display:block}.history-status{justify-self:end}.history-comment{border-top:1px solid #75533a1a;grid-column:1/-1;padding-top:10px}@media (max-width:1100px){.restaurant-admin-row,.restaurant-admin-list.compact .restaurant-admin-row,.guest-row,.history-row,.application-row,.application-actions-grid{grid-template-columns:1fr;align-items:start}.restaurant-admin-actions,.guest-actions,.history-status,.application-actions{justify-content:flex-start;justify-self:start}.reservation-history-filters,.application-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.catalog-filter-strip{grid-template-columns:1fr;display:grid!important;overflow:visible!important}.catalog-search-field{width:100%;max-width:none}.owner-guest-filters,.reservation-history-filters,.custom-tag-row,.tag-checkbox-grid,.application-detail-grid{grid-template-columns:1fr}.restaurant-admin-actions,.guest-actions,.modal-actions,.application-actions{justify-content:stretch}.restaurant-admin-actions a,.guest-actions a,.guest-actions button,.modal-actions button,.application-actions a{flex:auto}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-upload-field,.image-gallery-upload-field{background:#fffaf4;border:1px solid #75533a24;border-radius:22px;gap:12px;padding:16px;display:grid}.image-upload-field.compact{padding:14px}.image-upload-label{gap:4px;display:grid}.image-upload-label span{color:#2c2118;font-size:14px;font-weight:900}.image-upload-label small{color:#7d6d61;line-height:1.45}.image-upload-dropzone,.gallery-upload-dropzone{color:#6b3d2e;text-align:center;background:linear-gradient(135deg,#fffdf9 0%,#f7efe5 100%);border:1px dashed #75533a42;border-radius:20px;place-items:center;gap:8px;min-height:190px;padding:18px;transition:border-color .18s,background .18s,box-shadow .18s;display:grid}.image-upload-field.compact .image-upload-dropzone{min-height:150px}.image-upload-dropzone.is-dragging,.gallery-upload-dropzone.is-dragging{background:#fff4e6;border-color:#6b3d2e;box-shadow:0 0 0 4px #6b3d2e1a}.image-upload-dropzone.has-image{background:#1f1a16;border-style:solid;padding:0;overflow:hidden}.image-upload-dropzone img{object-fit:cover;width:100%;height:260px;display:block}.image-upload-field.compact .image-upload-dropzone img{height:180px}.image-upload-placeholder{justify-items:center;gap:7px;display:grid}.image-upload-placeholder strong,.gallery-upload-dropzone strong{color:#2c2118}.image-upload-placeholder span,.gallery-upload-dropzone span,.image-upload-empty{color:#7d6d61}.image-upload-actions,.image-upload-url-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.image-upload-url-row{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.image-upload-url-row input{min-height:44px}.gallery-upload-dropzone{min-height:150px}.gallery-upload-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.gallery-upload-card{aspect-ratio:4/3;background:#f7efe5;border:1px solid #75533a24;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 14px 32px #3c2a1e12}.gallery-upload-card img{object-fit:cover;width:100%;height:100%;display:block}.gallery-upload-card button{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1f1a16b8;border:1px solid #ffffff8c;border-radius:999px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:8px;right:8px}.menu-item-thumb{object-fit:cover;background:#f7efe5;border:1px solid #75533a1f;border-radius:14px;width:76px;min-width:76px;height:62px}@media (max-width:720px){.image-upload-url-row,.image-upload-actions{grid-template-columns:1fr}.image-upload-url-row{display:grid}.image-upload-url-row svg{display:none}.image-upload-url-row .secondary-button,.image-upload-actions .secondary-button,.image-upload-actions .ghost{width:100%}}.hall-editor{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start;gap:24px;display:grid}.hall-editor-tabs .active{color:#fff;background:#7d4a38;border-color:#7d4a38}.layout-status{color:#7b6d5f;margin-top:6px;font-size:13px}.layout-status.dirty{color:#9a5b3d}.layout-status.saved{color:#58744d}.editor-toolbox,.editor-view-options{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;display:flex}.editor-toolbox button{color:#32241c;cursor:pointer;background:#f6eadb;border:1px solid #ead7c0;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-weight:700;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.editor-toolbox button:hover,.editor-view-options .button:hover{background:#fff8ef;border-color:#c9a97f;transform:translateY(-1px)}.editor-view-options label{align-items:center;gap:8px;min-height:38px;margin:0;display:inline-flex}.hall-board-shell{background:#faf7f2b8;border:1px solid #ead7c0;border-radius:24px;padding:18px;overflow:auto}.hall-board{background:#fffaf3;border:1px dashed #d9bf9f;border-radius:22px;min-width:720px;position:relative;box-shadow:inset 0 0 0 1px #ffffffb3}.hall-board.show-grid{background-image:radial-gradient(circle,#845d4221 1.3px,#0000 1.3px),linear-gradient(#845d420b 1px,#0000 1px),linear-gradient(90deg,#845d420b 1px,#0000 1px);background-size:var(--grid-size) var(--grid-size), var(--grid-size) var(--grid-size), var(--grid-size) var(--grid-size)}.hall-board-empty{color:#7b6d5f;text-align:center;width:min(360px,80%);font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hall-neutral-object,.public-neutral-object{background:color-mix(in srgb, var(--object-color,#8a5a44) 15%, #fffaf3);border:1px solid color-mix(in srgb, var(--object-color,#8a5a44) 52%, #fff);color:#2c2118;text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;font-size:12px;font-weight:800;line-height:1.05;display:flex;position:absolute;overflow:hidden}.hall-neutral-object{cursor:grab}.hall-neutral-object:active,.hall-table:active{cursor:grabbing}.hall-neutral-object.selected,.hall-table.selected{outline-offset:4px;outline:3px solid #9a5b3d57}.hall-neutral-object.neutral-line,.hall-neutral-object.neutral-wall,.public-neutral-object.neutral-line,.public-neutral-object.neutral-wall{border-radius:999px}.hall-object-icon,.public-neutral-object span{opacity:.82}.resize-handle{cursor:nwse-resize;background:#7d4a38;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;bottom:-7px;right:-7px}.rotate-handle{color:#7d4a38;cursor:grab;background:#fffaf3;border:1px solid #d8b992;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:absolute;top:-34px;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #462e2029}.rotate-handle:hover,.resize-handle:hover{color:#fff;background:#9a5b3d}.hall-board.preview-mode .hall-neutral-object,.hall-board.preview-mode .hall-table{cursor:default}.table-inspector{position:sticky;top:96px}.inspector-actions{flex-wrap:wrap;gap:10px;display:flex}.layer-actions .button{flex:1}.public-neutral-object{pointer-events:none}.public-booking-board{position:relative}.booking-table{z-index:20}.time-picker-field{position:relative}.time-picker-trigger{color:#2c2118;cursor:pointer;font:inherit;background:#fffaf3;border:1px solid #dfc8ad;border-radius:18px;justify-content:space-between;align-items:center;width:100%;height:54px;padding:0 16px;display:flex}.time-picker-trigger:disabled{cursor:not-allowed;opacity:.55}.time-slot-popover{z-index:60;background:#fffdf8;border:1px solid #ead7c0;border-radius:20px;max-height:248px;margin-top:8px;padding:12px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 24px 70px #462e202e}.time-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.time-slot-option{color:#2c2118;cursor:pointer;background:#f6eadb;border:1px solid #ead7c0;border-radius:12px;min-height:38px;font-weight:800}.time-slot-option:hover,.time-slot-option.selected{color:#fff;background:#7d4a38;border-color:#7d4a38}.time-slot-empty{color:#7b6d5f;margin:0;padding:12px;font-weight:700}.home-banner-slider{cursor:pointer}.home-banner-slider .banner-slide img{transition:opacity .72s,transform .9s}.home-banner-slider:hover .banner-slide.active img{transform:scale(1.035)}.home-banner-slider:hover .showcase-overlay{opacity:.92}.banner-open-hint{color:#fff;background:#fffaf329;border:1px solid #ffffff38;border-radius:999px;align-items:center;width:fit-content;margin-bottom:12px;padding:7px 12px;font-size:13px;font-weight:800;display:inline-flex}.public-reserve-page .page-title h1,.reservation-form h2,.reservation-success-card h2,.guest-reservation-card h2,.restaurant-profile-hero h1{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.guest-reservations-page .secondary-button,.guest-reservations-page .button.secondary{border-radius:999px;width:auto;min-height:42px;padding:0 18px}@media (max-width:980px){.hall-editor{grid-template-columns:1fr}.table-inspector{position:static}.hall-board{min-width:620px}}@media (max-width:640px){.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hall-board-shell{padding:10px}}.home-banner-slider .banner-copy{flex-direction:column!important;grid-template-rows:none!important;justify-content:flex-start!important;gap:clamp(10px,1.25vw,14px)!important;max-height:calc(100% - clamp(102px,13vw,154px))!important;display:flex!important;top:clamp(28px,5vw,58px)!important;bottom:clamp(74px,8vw,96px)!important;overflow:visible!important}.home-banner-slider,.catalog-page .restaurant-showcase.home-banner-slider{height:clamp(500px,42vw,560px)!important}.home-banner-slider .banner-copy h2{overflow-wrap:anywhere;word-break:break-word;height:auto!important;min-height:0!important;max-height:none!important;font-size:clamp(40px,4.4vw,60px)!important;display:block!important;overflow:visible!important}.home-banner-slider .banner-copy p{-webkit-line-clamp:2;-webkit-box-orient:vertical;height:auto!important;min-height:0!important;max-height:none!important;display:-webkit-box!important;overflow:hidden!important}.home-banner-slider .banner-copy .showcase-meta{min-height:0!important}.hero-slide-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;padding-bottom:2px;display:flex}.home-banner-slider .banner-copy .hero-slide-actions .button{place-self:auto;width:auto;min-height:46px;padding:0 20px}.banner-secondary-cta{color:#fffaf2;box-shadow:none;background:#fffaf32e;border:1px solid #ffffff52}.banner-secondary-cta:hover{color:#fff;background:#fffaf347}.guest-login-card{position:relative}.page-close-button{z-index:2;color:#5f3a2c;cursor:pointer;background:#fffaf4f0;border:1px solid #d4bfa8d1;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;transition:background-color .18s,box-shadow .18s,transform .18s;display:inline-flex;position:absolute;top:20px;right:20px;box-shadow:0 10px 24px #4a33221a}.page-close-button:hover{background:#fffaf4;transform:translateY(-1px);box-shadow:0 14px 32px #4a332226}.guest-login-page>.small-button{display:none!important}@media (max-width:760px){.home-banner-slider .banner-copy{width:auto!important;max-height:calc(100% - 96px)!important;inset:24px 20px 72px!important}.home-banner-slider,.catalog-page .restaurant-showcase.home-banner-slider{height:440px!important}.home-banner-slider .banner-copy h2{font-size:clamp(32px,9vw,46px)!important;line-height:.94!important}.home-banner-slider .banner-copy .showcase-meta{gap:8px!important}.home-banner-slider .banner-copy .hero-slide-actions .button{white-space:nowrap;min-height:42px;padding:0 12px;font-size:13px}.hero-slide-actions{flex-wrap:nowrap;gap:8px}.guest-login-card{padding-top:68px}.page-close-button{width:38px;height:38px;top:16px;right:16px}}.public-booking-board-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#6b3d2e59 transparent;border-radius:20px;width:100%;max-width:100%;overflow:auto hidden}.public-booking-board-scroll::-webkit-scrollbar{height:8px}.public-booking-board-scroll::-webkit-scrollbar-thumb{background:#6b3d2e52;border-radius:999px}@media (max-width:640px){.app-header.public-header{position:sticky;top:0;background:#faf7f2f0!important;grid-template-columns:1fr!important;align-items:start!important;gap:10px!important;min-height:0!important;padding:12px 16px 10px!important;display:grid!important}.public-header .brand{white-space:nowrap;min-width:0;gap:9px!important;font-size:clamp(24px,8vw,32px)!important;line-height:1!important}.public-header .brand svg{flex:none;width:30px!important;height:30px!important}.public-header .main-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;max-width:100%;padding:0 0 3px;overflow-x:auto;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:8px!important;display:flex!important}.public-header .main-nav::-webkit-scrollbar{display:none}.public-header .main-nav a{white-space:nowrap;flex:none;color:#2c2118!important;background:#fffaf4!important;border:1px solid #d4bfa8b3!important;border-radius:999px!important;min-height:38px!important;padding:0 16px!important;font-size:15px!important;font-weight:850!important}.public-header .header-actions{display:none!important}.client-page,.page.restaurant-profile-content,.restaurant-profile-content{width:min(100% - 24px,1180px)!important}.catalog-quick-row{scrollbar-width:none;flex-wrap:nowrap!important;gap:8px!important;margin:0 -12px 16px 0!important;padding:2px 12px 4px 0!important;display:flex!important;overflow-x:auto!important}.catalog-quick-row::-webkit-scrollbar{display:none}.catalog-quick-row a{white-space:nowrap;flex:none;min-height:34px!important;padding:0 14px!important;font-size:13px!important}.home-banner-slider,.catalog-page .restaurant-showcase.home-banner-slider{border-radius:22px!important;height:clamp(420px,92svh,560px)!important}.home-banner-slider .banner-copy{inset:auto 18px calc(20px + env(safe-area-inset-bottom)) 18px!important;grid-template-rows:auto auto auto auto auto!important;gap:12px!important;width:auto!important;max-height:none!important;display:grid!important;top:auto!important}.home-banner-slider .banner-copy h2{overflow-wrap:anywhere;height:auto!important;min-height:0!important;max-height:none!important;font-size:clamp(38px,13vw,58px)!important;line-height:.92!important;display:block!important}.home-banner-slider .banner-copy p{-webkit-line-clamp:3;-webkit-box-orient:vertical;height:auto!important;min-height:0!important;max-height:none!important;font-size:16px!important;line-height:1.38!important;display:-webkit-box!important;overflow:hidden!important}.home-banner-slider .banner-copy .showcase-meta{grid-template-columns:1fr!important;gap:9px!important;font-size:14px!important;display:grid!important}.home-banner-slider .banner-copy .showcase-meta span{overflow-wrap:anywhere;min-width:0}.hero-slide-actions{padding-bottom:calc(8px + env(safe-area-inset-bottom));grid-template-columns:1fr!important;gap:8px!important;display:grid!important}.home-banner-slider .banner-copy .hero-slide-actions .button,.home-banner-slider .banner-copy .hero-slide-actions .secondary-button{width:100%!important;min-height:46px!important}.banner-arrow{width:42px!important;height:42px!important}.banner-arrow.left{left:12px!important}.banner-arrow.right{right:12px!important}.banner-dots{bottom:12px!important;right:16px!important}.catalog-filter-strip{scrollbar-width:none;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;margin:0 -12px 28px 0!important;padding:0 12px 3px 0!important;display:flex!important;overflow:auto visible!important}.catalog-filter-strip::-webkit-scrollbar{display:none}.catalog-search-field{flex:0 0 min(260px,82vw)!important;height:40px!important;min-height:40px!important}.catalog-filter-chip,.catalog-filter-reset{flex:none!important}.catalog-filter-chip .catalog-filter-trigger,.catalog-filter-reset{height:40px!important;min-height:40px!important;padding:0 14px!important}.catalog-section .section-heading,.section-heading{place-items:start!important;gap:10px!important;display:grid!important}.catalog-page .section-heading h2,.profile-section h2,.section-heading h2{overflow-wrap:anywhere;font-size:clamp(32px,10vw,46px)!important;line-height:.98!important}.catalog-page .show-all-link{min-height:36px!important;padding:0 14px!important;font-size:13px!important}.restaurant-rail,.restaurants-grid{grid-template-columns:1fr!important;gap:20px!important}.restaurant-card{min-width:0!important}.restaurant-card h2{overflow-wrap:anywhere;font-size:clamp(23px,7vw,30px)!important;line-height:1.05!important}.restaurant-card-gallery,.restaurant-card-compact .card-image-link{aspect-ratio:16/10!important;border-radius:20px!important}.restaurant-profile-hero{min-height:min(720px,100svh - 96px)!important}.profile-hero-content{width:calc(100% - 32px)!important;min-height:min(720px,100svh - 96px)!important;padding:42px 0 calc(28px + env(safe-area-inset-bottom))!important;align-content:end!important}.profile-hero-content h1{overflow-wrap:anywhere;max-width:100%!important;font-size:clamp(42px,14vw,64px)!important;line-height:.93!important}.profile-hero-content p:not(.eyebrow){-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;max-width:100%!important;font-size:16px!important;line-height:1.42!important}.profile-hero-meta,.profile-badge-row{scrollbar-width:none;margin-right:-16px;padding-right:16px;overflow-x:auto;flex-wrap:nowrap!important;gap:8px!important;display:flex!important}.profile-hero-meta::-webkit-scrollbar{display:none}.profile-badge-row::-webkit-scrollbar{display:none}.profile-hero-meta span,.profile-badge-row span{white-space:nowrap;flex:none}.profile-hero-content .button{width:100%!important;min-height:48px!important}.restaurant-anchor-nav{white-space:nowrap;scrollbar-width:none;max-width:100%;overflow-y:hidden;justify-content:flex-start!important;gap:18px!important;min-height:50px!important;padding:0 16px!important;top:0!important;overflow-x:auto!important}.restaurant-anchor-nav::-webkit-scrollbar{display:none}.restaurant-anchor-nav a{white-space:nowrap;flex:none;min-height:50px}.profile-main{gap:30px!important}.profile-section{min-width:0;gap:14px!important}.profile-section>p{overflow-wrap:anywhere;max-width:100%!important;font-size:16px!important;line-height:1.58!important}.public-hall-widget{overflow:hidden;border-radius:26px!important;gap:14px!important;padding:18px!important}.hall-widget-head{gap:10px!important;display:grid!important}.hall-widget-head h3{font-size:clamp(34px,10vw,44px)!important;line-height:.98!important}.hall-widget-head p{color:#756354;margin:0;font-size:16px!important;line-height:1.5!important}.public-booking-board-scroll{margin:2px 0 0;padding-bottom:8px}.public-booking-board{border-radius:24px!important;width:720px!important;min-width:720px!important;max-width:none!important;min-height:500px!important}.booking-table{min-width:82px!important;min-height:66px!important}.booking-table:not(.selected) .seat-dot{display:none!important}.booking-table.selected .seat-dot{width:22px!important;height:22px!important;min-height:22px!important;font-size:10px!important}.booking-table-core strong{font-size:18px!important}.booking-table-core span{font-size:12px!important}.booking-table-core small{font-size:10px!important}.hall-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px!important;font-size:14px!important;display:grid!important}.selected-table-summary,.hall-widget-state,.deposit-next-step{overflow-wrap:anywhere;width:100%;border-radius:18px!important;padding:16px!important}}@media (max-width:360px){.public-header .brand{font-size:24px!important}.public-header .main-nav a{min-height:36px!important;padding:0 13px!important;font-size:14px!important}.home-banner-slider .banner-copy h2,.profile-hero-content h1{font-size:40px!important}.public-booking-board{width:680px!important;min-width:680px!important}}html,body{max-width:100%;overflow-x:hidden}img,video,canvas,svg{max-width:100%}.catalog-mobile-filter-button,.catalog-filter-sheet-head{display:none}.catalog-filter-controls,.catalog-filter-sheet-actions{display:contents}.catalog-filter-sheet-actions .button{display:none}@media (max-width:1024px){.owner-layout,.restaurant-profile-content,.restaurant-profile-content.single-column,.restaurant-detail,.grid-layout.two-columns,.two-columns{grid-template-columns:1fr!important}.profile-booking,.table-inspector{position:static!important;top:auto!important}.admin-row,.reservation-row,.guest-row,.restaurant-admin-row{min-width:0}.admin-table,.reservation-list,.guest-list,.restaurant-admin-list{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:720px){:root{--mobile-page-gutter:16px}body{min-width:0}.app-header.public-header{min-height:62px!important;padding:10px var(--mobile-page-gutter)!important;background:#faf7f2f5!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;display:flex!important}.public-header .brand{white-space:nowrap;flex:auto;min-width:0;font-size:clamp(24px,7.2vw,32px)!important;line-height:1!important}.public-header .brand svg{width:30px!important;height:30px!important}.public-header .main-nav{flex:none;max-width:48vw;width:auto!important;padding:0!important;overflow:visible!important}.public-header .main-nav a{min-height:38px!important;padding:0 14px!important;font-size:14px!important;line-height:1!important}.page,.client-page,.page.client-page,.restaurant-profile-content,.restaurant-profile-content.single-column,.public-reserve-page,.guest-reservations-page,.container{width:min(100% - calc(var(--mobile-page-gutter) * 2), 1180px)!important;max-width:100%!important}.page,.client-page,.page.client-page,.guest-reservations-page{padding-top:18px!important;padding-bottom:calc(42px + env(safe-area-inset-bottom))!important}.catalog-quick-row,.quick-filter-row{white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 calc(var(--mobile-page-gutter) * -1) 16px 0!important;padding:2px var(--mobile-page-gutter) 5px 0!important;flex-wrap:nowrap!important;gap:8px!important;display:flex!important;overflow:auto hidden!important}.catalog-quick-row::-webkit-scrollbar{display:none}.quick-filter-row::-webkit-scrollbar{display:none}.catalog-quick-row a,.quick-filter-row a{white-space:nowrap;flex:none!important;min-height:34px!important;padding:0 14px!important;font-size:13px!important}.home-banner-slider,.catalog-page .restaurant-showcase.home-banner-slider{border-radius:22px!important;height:clamp(420px,78svh,560px)!important;min-height:420px!important;max-height:620px!important;margin-bottom:18px!important}.home-banner-slider .banner-copy{inset:auto 18px calc(20px + env(safe-area-inset-bottom)) 18px!important;align-content:end!important;gap:10px!important;width:auto!important;max-height:calc(100% - 34px)!important;display:grid!important;top:auto!important}.home-banner-slider .banner-copy h2,.profile-hero-content h1{overflow-wrap:anywhere;word-break:break-word;max-width:100%!important;font-size:clamp(38px,12vw,58px)!important;line-height:.92!important}.home-banner-slider .banner-copy p,.profile-hero-content p:not(.eyebrow){-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:100%!important;font-size:16px!important;line-height:1.38!important;display:-webkit-box!important;overflow:hidden!important}.home-banner-slider .banner-copy .showcase-meta{gap:8px!important;font-size:14px!important;display:grid!important}.home-banner-slider .banner-copy .showcase-meta span{overflow-wrap:anywhere;min-width:0}.hero-slide-actions{padding-bottom:calc(6px + env(safe-area-inset-bottom));grid-template-columns:1fr!important;gap:8px!important;display:grid!important}.home-banner-slider .banner-copy .hero-slide-actions .button,.home-banner-slider .banner-copy .hero-slide-actions .secondary-button{width:100%!important;min-height:44px!important;padding:0 14px!important}.banner-arrow{width:40px!important;height:40px!important;top:auto!important;bottom:96px!important;transform:none!important}.banner-arrow.left{left:12px!important}.banner-arrow.right{right:12px!important}.banner-dots{bottom:12px!important;right:16px!important}.catalog-filter-strip{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;margin:0 0 28px!important;padding:0!important;display:grid!important;overflow:visible!important}.catalog-search-field{width:100%!important;min-width:0!important;max-width:none!important;height:44px!important;min-height:44px!important;padding:0 12px!important}.catalog-search-field input{min-width:0;font-size:14px!important}.catalog-mobile-filter-button{color:#2c2118;background:#fffaf4;border:1px solid #d4bfa8e6;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:14px;font-weight:850;display:inline-flex;box-shadow:0 10px 24px #3c2a1e12}.catalog-mobile-filter-button span{color:#fff;background:#7d4a38;border-radius:999px;place-items:center;min-width:22px;height:22px;font-size:12px;display:inline-grid}.catalog-filter-backdrop{z-index:89;cursor:default;background:#1f1a166b;border:0;position:fixed;inset:0}.catalog-filter-controls{z-index:90;max-height:min(82svh,680px);padding:18px 16px calc(18px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;background:#fffaf4;border:1px solid #d4bfa8e6;border-radius:28px 28px 0 0;grid-template-columns:1fr;gap:12px;transition:transform .26s;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(110%);box-shadow:0 -24px 70px #1f1a163d}.catalog-filter-controls.open{transform:translateY(0)!important}.catalog-filter-sheet-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:2px;display:flex}.catalog-filter-sheet-head div{gap:3px;display:grid}.catalog-filter-sheet-head strong{color:#2c2118;font-size:22px;line-height:1}.catalog-filter-sheet-head span{color:#7b6d5f;font-size:13px;font-weight:700}.catalog-filter-sheet-head button{color:#6b3d2e;background:#fff;border:1px solid #d4bfa8e6;border-radius:999px;place-items:center;width:40px;height:40px;min-height:40px;display:inline-grid}.catalog-filter-chip,.catalog-filter-chip .catalog-filter-trigger,.catalog-filter-reset{width:100%!important;min-width:0!important}.catalog-filter-chip .catalog-filter-trigger,.catalog-filter-reset,.catalog-filter-sheet-actions .button{display:inline-flex;justify-content:space-between!important;min-height:48px!important}.catalog-filter-controls.open .catalog-filter-menu{max-height:240px;box-shadow:none;margin-top:8px;overflow:auto;width:100%!important;position:static!important}.catalog-filter-sheet-actions{bottom:calc(env(safe-area-inset-bottom) * -1);background:linear-gradient(#fffaf400,#fffaf4 28%);grid-template-columns:1fr;gap:10px;padding-top:8px;display:grid;position:sticky}.catalog-filter-sheet-actions .button,.catalog-filter-sheet-actions .catalog-filter-reset{width:100%!important}.catalog-section{margin:34px 0 48px!important}.catalog-section .section-heading,.section-heading{place-items:start!important;gap:10px!important;display:grid!important}.catalog-page .section-heading h2,.section-heading h2,.profile-section h2,.guest-reservations-hero h1,.page-title h1{overflow-wrap:anywhere;max-width:100%!important;font-size:clamp(30px,9.5vw,44px)!important;line-height:.98!important}.catalog-page .show-all-link{min-height:36px!important;padding:0 14px!important;font-size:13px!important}.restaurant-rail,.restaurants-grid{grid-template-columns:1fr!important;gap:20px!important}.restaurant-card,.luxury-restaurant-card{width:100%!important;min-width:0!important}.restaurant-card h2,.restaurant-card h3{overflow-wrap:anywhere;max-width:100%;font-size:clamp(23px,7vw,30px)!important;line-height:1.05!important}.restaurant-card p,.restaurant-card-info,.restaurant-card-chips,.restaurant-card-badges{overflow-wrap:anywhere;min-width:0}.restaurant-card-gallery,.restaurant-card-compact .card-image-link,.restaurant-card .card-image-link{min-height:180px;aspect-ratio:16/10!important;border-radius:20px!important}.restaurant-card-book-button,.restaurant-card-actions .button,.restaurant-card-actions .secondary-button{width:100%;min-height:44px}.restaurant-profile-hero{height:auto!important;min-height:min(700px,100svh - 62px)!important}.profile-hero-content{width:calc(100% - 32px)!important;min-height:min(700px,100svh - 62px)!important;padding:42px 0 calc(28px + env(safe-area-inset-bottom))!important;align-content:end!important}.profile-hero-meta,.profile-badge-row{scrollbar-width:none;max-width:100%;margin-right:-16px;padding-right:16px;overflow-x:auto;flex-wrap:nowrap!important;gap:8px!important;display:flex!important}.profile-hero-meta::-webkit-scrollbar{display:none}.profile-badge-row::-webkit-scrollbar{display:none}.profile-hero-meta span,.profile-badge-row span{white-space:nowrap;flex:none}.profile-hero-content .button{width:100%!important;min-height:48px!important}.restaurant-anchor-nav,.tabs,.hall-editor-tabs{white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%;overflow-y:hidden;flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto!important}.restaurant-anchor-nav::-webkit-scrollbar{display:none}.tabs::-webkit-scrollbar{display:none}.hall-editor-tabs::-webkit-scrollbar{display:none}.restaurant-anchor-nav a,.tabs a,.hall-editor-tabs a{white-space:nowrap;flex:none}.profile-gallery{grid-template-columns:1fr!important;gap:12px!important}.profile-gallery .gallery-item,.profile-gallery .gallery-item:first-child{aspect-ratio:16/11!important;grid-row:auto!important}.reservation-form,.booking-workspace .reservation-form,.public-reserve-page .reservation-form,.wide-form,.stack-form,.auth-panel,.panel{max-width:100%;border-radius:24px!important}.form-grid,.form-grid.two,.payment-details-grid,.metric-grid,.hours-row,.inline-form,.hall-create-form,.owner-reservation-filters,.reservation-history-filters,.owner-guest-filters{grid-template-columns:1fr!important}input,select,textarea,.pretty-select-trigger,.time-picker-trigger{min-width:0;min-height:48px;font-size:16px}.time-slot-popover{border-radius:20px;max-height:260px}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.public-hall-widget{max-width:100%;overflow:hidden;border-radius:26px!important;padding:18px!important}.hall-widget-head{gap:10px!important;display:grid!important}.hall-widget-head h3{overflow-wrap:anywhere;font-size:clamp(30px,9vw,42px)!important;line-height:.98!important}.public-booking-board-scroll,.hall-board-shell{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto!important}.public-booking-board{border-radius:24px!important;width:700px!important;min-width:700px!important;max-width:none!important;min-height:500px!important}.booking-table{min-width:82px!important;min-height:66px!important}.booking-table:not(.selected) .seat-dot{display:none!important}.booking-table.selected .seat-dot{width:22px!important;height:22px!important;min-height:22px!important;font-size:10px!important}.selected-table-summary,.hall-widget-state,.deposit-next-step,.form-error,.form-success,.form-note{overflow-wrap:anywhere;width:100%}.guest-reservations-hero,.guest-login-card,.guest-reservation-card,.reservation-success-card{width:100%;max-width:100%;border-radius:24px!important}.guest-reservations-hero p,.guest-reservation-card p,.reservation-success-card p{font-size:16px!important;line-height:1.5!important}.guest-reservations-page .button,.guest-reservations-page .secondary-button,.guest-reservations-page .small-button{max-width:100%}.modal-actions,.reservation-actions,.row-actions,.restaurant-admin-actions,.guest-actions,.inspector-actions{width:100%;grid-template-columns:1fr!important;justify-content:stretch!important;display:grid!important}.modal-actions>*,.reservation-actions>*,.row-actions>*,.restaurant-admin-actions>*,.guest-actions>*,.inspector-actions>*{width:100%}.admin-row,.reservation-row,.menu-item-row,.list-row,.restaurant-admin-row,.guest-row{grid-template-columns:1fr!important;align-items:stretch!important;gap:12px!important;display:grid!important}.hall-editor{grid-template-columns:1fr!important;gap:16px!important}.editor-toolbar,.editor-toolbox,.editor-view-options{grid-template-columns:1fr!important;align-items:stretch!important;display:grid!important}.editor-toolbox{-webkit-overflow-scrolling:touch;max-height:190px;overflow:auto}.hall-board{min-width:680px!important}}@media (max-width:390px){.app-header.public-header{padding-inline:12px!important}.public-header .brand{font-size:23px!important}.public-header .main-nav{max-width:42vw}.public-header .main-nav a{padding:0 12px!important;font-size:13px!important}.home-banner-slider .banner-copy h2,.profile-hero-content h1{font-size:clamp(34px,11vw,44px)!important}.catalog-filter-strip{grid-template-columns:1fr!important}.catalog-mobile-filter-button{width:100%}.public-booking-board,.hall-board{width:660px!important;min-width:660px!important}}.hall-editor-page{width:min(1680px,100% - 36px)}.hall-editor-page .hall-create-form,.hall-editor-page .hall-editor-tabs,.hall-editor-page .hall-editor{max-width:100%}.hall-editor{grid-template-columns:minmax(0,1fr) minmax(300px,340px)!important;gap:20px!important}.hall-board-panel{overflow:hidden}.editor-toolbar{z-index:3;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;position:relative;display:flex!important}.hall-editor-page .toolbar-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex!important}.hall-editor-page .toolbar-actions>*{width:auto!important}.editor-toolbox{z-index:2;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));position:relative;align-items:stretch!important;gap:10px!important;display:grid!important}.editor-toolbox button{white-space:nowrap;justify-content:center;min-height:44px;padding:0 12px}.editor-view-options{background:#fffaf3c7;border:1px solid #ead7c0;border-radius:18px;justify-content:flex-start;padding:10px;align-items:center!important;gap:10px!important;display:flex!important}.editor-view-options>span{color:#5d4a3d;justify-content:center;align-items:center;min-width:58px;font-weight:800;display:inline-flex}.editor-view-options .button{width:auto;min-height:38px}.hall-board-shell{scrollbar-gutter:stable;justify-content:flex-start;align-items:flex-start;height:clamp(620px,70vh,840px);display:flex;overflow:auto}.hall-editor .hall-board{flex:none;overflow:hidden;aspect-ratio:auto!important;height:var(--board-height)!important;min-height:var(--board-height)!important;min-width:var(--board-width)!important;width:var(--board-width)!important}.hall-editor .hall-table,.hall-editor .hall-neutral-object{-webkit-user-select:none;user-select:none}.hall-neutral-object{touch-action:none;min-height:8px;box-shadow:0 12px 24px #462e2014}.hall-neutral-object strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 6px;overflow:hidden}.hall-neutral-object.neutral-zone{background:color-mix(in srgb, var(--object-color,#8a5a44) 8%, #fffaf3);border-style:dashed}.hall-neutral-object.neutral-line strong,.hall-neutral-object.neutral-wall strong,.hall-neutral-object.neutral-partition strong,.hall-neutral-object.neutral-window strong{display:none}.editor-legend{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.editor-legend span{color:#5d4a3d;background:#fffaf3;border:1px solid #ead7c0;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.editor-legend .dot.neutral{background:#8a5a44}.table-inspector{max-height:calc(100vh - 116px);overflow:auto}@media (max-width:1180px){.hall-editor{grid-template-columns:1fr!important}.table-inspector{max-height:none;position:static!important}}@media (max-width:720px){.hall-editor-page{width:min(100% - 20px,1680px)}.hall-editor-page .editor-toolbar{grid-template-columns:1fr!important;align-items:stretch!important;display:grid!important}.hall-editor-page .toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid!important}.hall-editor-page .toolbar-actions>*{width:100%!important}.editor-toolbox{max-height:230px;overflow:auto;grid-template-columns:repeat(2,minmax(0,1fr))!important}.editor-view-options{grid-template-columns:1fr 1fr;align-items:stretch!important;display:grid!important}.editor-view-options label,.editor-view-options .button{width:100%}.hall-board-shell{height:620px;padding:12px}}.menu-site-panel .section-heading{align-items:flex-start}.menu-site-panel .section-heading p{color:var(--muted);margin:6px 0 0}.menu-preview{gap:28px;display:grid}.owner-menu-category{gap:12px;display:grid}.owner-menu-category h3{font-family:var(--display-font,inherit);color:#2c2118;margin:0;font-size:clamp(24px,2.2vw,32px);line-height:1.05}.owner-menu-items{background:#fffdf9;border:1px solid #75533a1f;border-radius:20px;gap:0;display:grid;overflow:hidden}.owner-menu-item-row{background:#fffdf9;grid-template-columns:80px minmax(0,1fr) minmax(104px,132px) 96px;min-width:0;transition:background .16s;border:0!important;border-bottom:1px solid #75533a1a!important;border-radius:0!important;align-items:center!important;gap:20px!important;padding:16px!important;display:grid!important}.owner-menu-item-row:last-child{border-bottom:0!important}.owner-menu-item-row:hover{background:#fbf5ed!important}.menu-item-image-wrap{width:80px;min-width:80px}.menu-item-thumb{object-fit:cover;background:#f7efe5;border:1px solid #75533a1f;display:block;border-radius:16px!important;width:80px!important;min-width:80px!important;height:80px!important}.menu-item-placeholder{color:#8f6c55;background:linear-gradient(135deg,#f7efe5,#fffaf4);place-items:center;display:grid}.menu-item-content{gap:5px;min-width:0;display:grid}.menu-item-title{color:#2c2118;overflow-wrap:anywhere;font-size:17px;font-weight:800;line-height:1.25;display:block}.menu-item-description{color:#766c62;overflow-wrap:anywhere;line-height:1.45;margin:0!important}.menu-item-portion{color:#8a7a68;font-size:13px;font-weight:700}.menu-item-price{white-space:nowrap;color:#6b3d2e;text-align:right;justify-self:end;font-size:17px;font-weight:900}.menu-item-actions{justify-content:flex-end;gap:8px;display:flex}.menu-item-actions .icon-button{border-radius:14px;width:42px;min-width:42px;height:42px;min-height:42px}.menu-item-actions .icon-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #5433261f}.menu-item-actions .icon-button.danger{color:#a4483e;background:#fff7f4;border-color:#a4483e2e}.menu-category-empty,.menu-empty-state p{color:var(--muted);margin:0}.menu-empty-state h3{margin:0 0 8px}.menu-item-edit-modal{background:#fffdf9;border:1px solid #d4bfa873;border-radius:24px;gap:18px;width:min(760px,100%);max-height:min(860px,100vh - 48px);padding:24px;display:grid;overflow:auto;box-shadow:0 28px 80px #1f1a1647}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-head h2{margin:0}.menu-availability-row{justify-content:flex-start;align-items:center}@media (max-width:760px){.owner-menu-item-row{grid-template-areas:"image content""image price""image actions";grid-template-columns:64px minmax(0,1fr)!important;gap:12px!important;padding:14px!important}.menu-item-image-wrap{grid-area:image;width:64px;min-width:64px}.menu-item-thumb{border-radius:14px!important;width:64px!important;min-width:64px!important;height:64px!important}.menu-item-content{grid-area:content}.owner-menu-item-row .menu-item-price{text-align:left;grid-area:price;place-self:center start}.owner-menu-item-row .menu-item-actions{grid-area:actions;justify-self:end}.menu-item-edit-modal{padding:18px}}.hall-editor .hall-table,.hall-editor .hall-neutral-object{transform-origin:50%}.hall-editor .hall-neutral-object.selected,.hall-editor .hall-table.selected{overflow:visible}.hall-editor .hall-neutral-object.layer-back{box-shadow:0 8px 18px #462e200a}.hall-editor .hall-neutral-object.layer-front{box-shadow:0 16px 28px #462e201f}.hall-editor .layer-badge{color:#fffaf3;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;z-index:4;background:#32241ce0;border:1px solid #fffaf37a;border-radius:999px;max-width:140px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:800;line-height:1;position:absolute;bottom:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%)}.hall-editor .rotate-handle{z-index:6}.hall-editor .resize-handle{z-index:5;background:#7d4a38;border:2px solid #fffaf3;border-radius:999px;width:14px;height:14px;transition:background-color .14s,box-shadow .14s,transform .14s;position:absolute;box-shadow:0 6px 14px #462e2038}.hall-editor .resize-handle:hover,.hall-editor .resize-handle:focus-visible{background:#9a5b3d;box-shadow:0 8px 18px #462e2047}.hall-editor .resize-nw{cursor:nwse-resize;top:-7px;left:-7px}.hall-editor .resize-n{cursor:ns-resize;top:-7px;left:50%;transform:translate(-50%)}.hall-editor .resize-ne{cursor:nesw-resize;top:-7px;right:-7px}.hall-editor .resize-e{cursor:ew-resize;top:50%;right:-7px;transform:translateY(-50%)}.hall-editor .resize-se{cursor:nwse-resize;bottom:-7px;right:-7px}.hall-editor .resize-s{cursor:ns-resize;bottom:-7px;left:50%;transform:translate(-50%)}.hall-editor .resize-sw{cursor:nesw-resize;bottom:-7px;left:-7px}.hall-editor .resize-w{cursor:ew-resize;top:50%;left:-7px;transform:translateY(-50%)}.hall-editor .object-layer-panel{background:#fffaf3c7;border:1px solid #ead7c0;border-radius:16px;gap:8px;padding:12px;display:grid}.hall-editor .object-layer-panel>span{color:#7b6d5f;text-transform:uppercase;font-size:12px;font-weight:800}.hall-editor .object-layer-panel>strong{color:#2c2118;font-size:14px}.hall-editor .object-layer-panel p{color:#7b6d5f;margin:0;font-size:12px;line-height:1.45}.hall-editor .layer-segment{background:#f4eadc;border:1px solid #ead7c0;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.hall-editor .layer-segment button{color:#5d4a3d;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:34px;padding:0 8px;font-size:12px;font-weight:800;transition:background-color .16s,color .16s,box-shadow .16s}.hall-editor .layer-segment button:hover,.hall-editor .layer-segment button:focus-visible{color:#2c2118;background:#fffaf3;outline:none}.hall-editor .layer-segment button.active{color:#fffaf3;background:#7d4a38;box-shadow:0 8px 18px #462e2029}.hall-editor .editor-view-options .button,.hall-editor .editor-view-options .button.secondary{color:#fffaf3;background:#7d4a38;border-color:#7d4a38}.hall-editor .editor-view-options .button:hover,.hall-editor .editor-view-options .button.secondary:hover,.hall-editor .editor-view-options .button:focus-visible,.hall-editor .editor-view-options .button.secondary:focus-visible{color:#fffaf3;outline-offset:2px;background:#633827;border-color:#633827;outline:2px solid #7d4a3847}.hall-editor .editor-legend{display:none!important}.hall-editor .table-inspector,.hall-editor-page .table-inspector{max-height:none!important;overflow:visible!important}.hall-editor .table-inspector .stack-form{gap:12px}.hall-editor .table-inspector .form-grid.two{gap:10px}.hall-editor.hall-editor-pro{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:16px!important;display:grid!important}.hall-editor-topbar{background:#fffaf3f0;border:1px solid #ead7c0;border-radius:24px;gap:12px;padding:18px;display:grid;box-shadow:0 18px 42px #462e2014}.hall-editor-topbar .editor-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.hall-editor-topbar h2{color:#2c2118;font-family:var(--font-heading);overflow-wrap:anywhere;margin:4px 0 0;font-size:clamp(30px,3vw,46px);line-height:.96}.hall-editor-meta{color:#7b6d5f;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.hall-editor-meta span,.hall-editor-meta strong{color:#5d4a3d;background:#f4eadc;border:1px solid #ead7c0;border-radius:999px;padding:8px 12px;line-height:1}.hall-editor-meta strong{color:#fffaf3;background:#7d4a38;border-color:#7d4a38}.hall-editor-workspace{grid-template-columns:300px minmax(0,1fr) minmax(310px,360px);align-items:start;gap:16px;display:grid}.hall-editor-left-panel,.hall-editor-right-panel,.hall-editor-pro .table-inspector{background:#fffaf3f0;border:1px solid #ead7c0;border-radius:24px;min-width:0;box-shadow:0 18px 42px #462e2014}.hall-editor-left-panel{gap:14px;padding:14px;display:grid;position:sticky;top:16px}.hall-editor-pro .table-inspector{position:sticky;top:16px}.editor-side-tabs{background:#f4eadc;border:1px solid #ead7c0;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.editor-side-tabs button{color:#5d4a3d;cursor:pointer;background:0 0;border:0;border-radius:14px;min-height:38px;font-size:13px;font-weight:900;transition:background-color .16s,box-shadow .16s,color .16s}.editor-side-tabs button:hover,.editor-side-tabs button:focus-visible{color:#2c2118;background:#fffaf3db;outline:none}.editor-side-tabs button.active{color:#fffaf3;background:#7d4a38;box-shadow:0 8px 18px #462e2029}.editor-side-section{gap:14px;min-width:0;display:grid}.editor-side-heading{justify-content:space-between;align-items:center;display:flex}.editor-side-heading span,.decor-tool-group h3,.layer-list-group h3,.hotkeys-panel h3{color:#7b6d5f;letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.editor-side-heading strong{color:#7d4a38;background:#f4eadc;border:1px solid #ead7c0;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.side-tool-button,.decor-tool-grid button,.side-object-list button,.layer-list-group>button,.layer-row{color:#2c2118;border:1px solid #ead7c0;border-radius:16px}.side-tool-button{color:#fffaf3;cursor:pointer;background:#7d4a38;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 14px;font-size:14px;font-weight:900;display:inline-flex;box-shadow:0 10px 22px #462e2029}.side-tool-button:hover,.side-tool-button:focus-visible{outline-offset:2px;background:#633827;outline:2px solid #7d4a383d}.side-object-list,.layer-list-group{gap:8px;display:grid}.side-object-list button,.layer-list-group>button,.layer-row>button{cursor:pointer;text-align:left;background:#fffaf3db;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:46px;padding:9px 12px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.side-object-list button span,.layer-list-group button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:900;overflow:hidden}.side-object-list button small,.layer-list-group button small{color:#7b6d5f;white-space:nowrap;font-size:11px;font-weight:800}.side-object-list button.active,.layer-list-group>button.active,.layer-row.active{background:#fffaf3;border-color:#7d4a38;box-shadow:0 8px 18px #462e2014}.decor-tool-group{gap:8px;display:grid}.decor-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.decor-tool-grid button{cursor:pointer;background:#fffaf3;place-items:center;gap:6px;min-height:82px;padding:10px 8px;transition:background-color .16s,border-color .16s,transform .16s;display:grid}.decor-tool-grid button:hover,.decor-tool-grid button:focus-visible{background:#f8efe3;border-color:#cda777;outline:none;transform:translateY(-1px)}.decor-tool-grid button span{color:#7d4a38;background:#f4eadc;border-radius:14px;justify-content:center;align-items:center;width:42px;height:34px;font-size:18px;font-weight:900;display:inline-flex}.decor-tool-grid button strong{color:#2c2118;font-size:12px;font-weight:900;line-height:1.15}.layer-row{background:#fffaf3db;gap:8px;padding:8px;display:grid}.layer-row>button{background:0 0;border:0;min-height:32px;padding:0}.mini-layer-actions{background:#f4eadc;border:1px solid #ead7c0;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.mini-layer-actions button{color:#5d4a3d;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:27px;font-size:11px;font-weight:900}.mini-layer-actions button.active{color:#fffaf3;background:#7d4a38}.hotkeys-panel{color:#5d4a3d;font-size:13px;line-height:1.45}.hotkeys-panel p{margin:0}.hotkeys-panel kbd{color:#2c2118;background:#f4eadc;border:1px solid #ead7c0;border-radius:7px;padding:2px 5px;font-family:inherit;font-size:11px;font-weight:900}.hall-editor-canvas-panel{gap:12px;min-width:0;display:grid;padding:14px!important}.editor-canvas-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.editor-canvas-header h3{color:#2c2118;font-family:var(--font-heading);margin:2px 0 0;font-size:clamp(24px,2vw,34px);line-height:1}.editor-view-options{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.editor-view-options label{color:#5d4a3d;background:#f4eadc;border:1px solid #ead7c0;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.editor-view-options input{accent-color:#7d4a38}.editor-view-options>span{color:#5d4a3d;text-align:center;min-width:44px;font-size:13px;font-weight:900}.hall-editor-pro .hall-board-shell{background:radial-gradient(circle at 20% 18%,#d4bfa838,#0000 28%),linear-gradient(135deg,#32261f,#1f1a16 62%,#2f211c);border-color:#ead7c0b8;border-radius:22px;justify-content:center;align-items:center;height:clamp(680px,74vh,920px);padding:24px;display:flex;overflow:auto;box-shadow:inset 0 1px #fffaf314,0 22px 48px #32241c29}.hall-editor-pro .hall-board{flex:none}.hall-editor-pro .table-inspector h2{overflow-wrap:anywhere;font-size:clamp(26px,2vw,36px);line-height:.98}.hall-editor-pro .inspector-actions{gap:8px}.hall-neutral-object.neutral-text{color:var(--object-color);background:#fffaf3c7;border-style:solid}.hall-neutral-object.neutral-text .hall-object-icon{display:none}.hall-neutral-object.neutral-text strong{font-size:14px}.hall-neutral-object.neutral-plant,.hall-neutral-object.neutral-arrow{border-radius:999px}.hall-neutral-object.neutral-arrow .hall-object-icon{font-size:22px}.hall-neutral-object.neutral-stairs{background-image:repeating-linear-gradient(90deg,#7d4a3829 0 8px,#0000 8px 16px)}@media (max-width:1280px){.hall-editor-workspace{grid-template-columns:280px minmax(0,1fr)}.hall-editor-pro .table-inspector{grid-column:1/-1;position:static}}@media (max-width:960px){.hall-editor-topbar .editor-toolbar,.editor-canvas-header{flex-direction:column;align-items:stretch}.hall-editor-topbar .toolbar-actions,.editor-view-options{justify-content:flex-start}.hall-editor-workspace{grid-template-columns:minmax(0,1fr)}.hall-editor-left-panel{position:static}.hall-editor-pro .hall-board-shell{height:min(72vh,720px)}}@media (max-width:640px){.hall-editor-topbar,.hall-editor-left-panel,.hall-editor-pro .table-inspector,.hall-editor-canvas-panel{border-radius:18px}.hall-editor-topbar{padding:14px}.hall-editor-meta span,.hall-editor-meta strong{padding:7px 10px;font-size:12px}.editor-side-tabs,.decor-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hall-editor-pro .hall-board-shell{justify-content:flex-start;height:68vh;padding:14px}.editor-view-options label,.editor-view-options .button{min-height:40px}}.public-booking-board .public-neutral-object{-webkit-user-select:none;user-select:none;pointer-events:none!important}.public-booking-board .public-neutral-object.public-layer-back,.public-booking-board .public-neutral-object.neutral-zone{opacity:.72}.public-booking-board .public-neutral-object.neutral-zone{background:color-mix(in srgb, var(--object-color,#8f7b4d) 10%, #fffaf3);border-style:dashed}.public-booking-board .public-neutral-object.public-layer-front{opacity:.9}.public-booking-board .booking-table{pointer-events:auto}.public-booking-board .booking-table.selected{z-index:1000!important}.banner-secondary-cta{display:none!important}.luxury-restaurant-card{cursor:pointer}.luxury-restaurant-card:focus-visible{outline-offset:4px;outline:3px solid #6b3d2e57}@media (max-width:680px){.catalog-page{width:min(100% - 16px,1240px)!important}.catalog-page .restaurant-showcase.home-banner-slider,.home-banner-slider{border-radius:22px!important;height:clamp(430px,76svh,520px)!important;min-height:430px!important;max-height:540px!important;margin-bottom:16px!important}.home-banner-slider .banner-copy{inset:auto 18px calc(58px + env(safe-area-inset-bottom)) 18px!important;align-content:end!important;gap:9px!important;max-height:calc(100% - 82px)!important;top:auto!important}.home-banner-slider .banner-copy h2{font-size:clamp(35px,11vw,50px)!important;line-height:.94!important}.home-banner-slider .banner-copy p{-webkit-line-clamp:2!important;font-size:15px!important;line-height:1.35!important}.home-banner-slider .banner-copy .showcase-meta{gap:7px!important;font-size:13px!important}.hero-slide-actions{grid-template-columns:1fr!important;gap:0!important;margin-top:4px!important;padding-bottom:0!important;display:grid!important}.home-banner-slider .banner-copy .hero-slide-actions .button{width:100%!important;min-height:46px!important;padding:0 14px!important;font-size:14px!important}.banner-dots{z-index:5!important;padding:6px 8px!important;bottom:16px!important;right:18px!important}.banner-dots button{width:8px!important;height:8px!important;min-height:8px!important}.banner-dots button.active{width:24px!important}.banner-arrow{width:38px!important;height:38px!important;min-height:38px!important;bottom:50%!important;transform:translateY(50%)!important}.catalog-page .catalog-section{margin:30px 0 40px!important}.catalog-page .section-heading{align-items:flex-start!important;gap:10px!important;margin-bottom:14px!important}.catalog-page .section-heading h2{font-size:clamp(31px,9vw,38px)!important;line-height:.98!important}.catalog-page .show-all-link{min-width:136px!important;height:36px!important;min-height:36px!important;padding:0 14px!important;font-size:13px!important}.restaurant-rail,.restaurants-grid{gap:16px!important}.restaurant-card,.luxury-restaurant-card{border-radius:24px!important;box-shadow:0 18px 46px #4c32201c!important}.restaurant-card-gallery,.restaurant-card-compact .card-image-link,.restaurant-card .card-image-link{aspect-ratio:auto!important;border-radius:20px!important;height:168px!important;min-height:0!important}.restaurant-card-cuisine-badge{max-width:calc(100% - 20px)!important;padding:6px 10px!important;font-size:11px!important;top:10px!important;right:10px!important}.restaurant-card-rating-badge{padding:6px 9px!important;font-size:12px!important;bottom:10px!important;left:10px!important}.restaurant-card-rating-badge small{font-size:10px!important}.restaurant-card-photo-dots{gap:5px!important;padding:4px 7px!important;bottom:10px!important;left:50%!important}.restaurant-card-photo-dots span{width:6px!important;height:6px!important}.restaurant-card-photo-dots span.active{width:16px!important}.luxury-card-body,.restaurant-card-compact .luxury-card-body{gap:10px!important;padding:16px!important}.restaurant-card h2,.restaurant-card h3{overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:100%;font-size:clamp(22px,6.5vw,27px)!important;line-height:1.05!important;display:-webkit-box!important;overflow:hidden!important}.restaurant-card-badges,.restaurant-card-chips{gap:6px!important}.restaurant-card-badges span,.restaurant-card-chips span{min-height:24px!important;padding:0 8px!important;font-size:11px!important}.restaurant-card-badges span:nth-child(n+3),.restaurant-card-chips span:nth-child(n+2){display:none!important}.restaurant-card-info{gap:7px!important;font-size:13px!important}.restaurant-card-info span{gap:7px!important}.restaurant-card-info svg{width:15px!important;height:15px!important}.restaurant-card-book-button{min-height:44px!important;margin-top:2px!important;font-size:14px!important}}@media (max-width:420px){.restaurant-card-gallery,.restaurant-card-compact .card-image-link,.restaurant-card .card-image-link{height:150px!important}.home-banner-slider .banner-copy h2{font-size:clamp(32px,10.5vw,44px)!important}}@media (max-width:680px){.home-banner-slider .banner-copy .showcase-meta{flex-wrap:wrap!important;align-items:center!important;gap:8px!important;min-height:0!important;margin:2px 0!important;display:flex!important}.home-banner-slider .banner-copy .showcase-meta span{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);color:#fff8ed!important;overflow-wrap:normal!important;white-space:nowrap!important;background:#48322694!important;border:1px solid #ffffff2e!important;border-radius:999px!important;flex:0 auto!important;justify-content:flex-start!important;align-items:center!important;gap:7px!important;width:fit-content!important;min-width:0!important;max-width:100%!important;min-height:34px!important;padding:0 13px!important;display:inline-flex!important;box-shadow:0 8px 22px #00000024!important}.home-banner-slider .banner-copy .showcase-meta span:first-child{overflow-wrap:anywhere!important;white-space:normal!important;max-width:min(100%,290px)!important}.home-banner-slider .banner-copy .showcase-meta span:last-child{white-space:nowrap!important;flex:none!important}.home-banner-slider .banner-copy .showcase-meta svg{flex:none}.home-banner-slider .banner-copy .hero-slide-actions{margin-top:5px!important}}@media (max-width:420px){.home-banner-slider .banner-copy .showcase-meta span:first-child{max-width:min(100%,250px)!important}}.catalog-layout-bar{justify-content:flex-end;align-items:center;gap:12px;margin:-4px 0 22px;display:flex}.catalog-layout-bar>span{color:#2f3b30ad;font-size:13px;font-weight:800}.catalog-layout-switch{background:#fffbf5d6;border:1px solid #d4bfa8b8;border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex;box-shadow:0 12px 30px #4c322014}.catalog-layout-switch a{color:#6f5c4f;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 14px;font-size:13px;font-weight:900;transition:background .18s,color .18s,box-shadow .18s;display:inline-flex}.catalog-layout-switch a:hover{color:#4b3329;background:#efe0cdbd}.catalog-layout-switch a.active{color:#fffaf2;background:#7d4434;box-shadow:0 10px 22px #6b3d2e38}.catalog-layout-grid .restaurant-rail,.catalog-layout-grid .restaurants-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}.catalog-layout-large .restaurant-rail,.catalog-layout-large .restaurants-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}@media (max-width:980px){.catalog-layout-grid .restaurant-rail,.catalog-layout-grid .restaurants-grid,.catalog-layout-large .restaurant-rail,.catalog-layout-large .restaurants-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:680px){.catalog-layout-bar{justify-content:flex-start;margin:2px 0 18px;padding-bottom:2px;overflow-x:auto}.catalog-layout-bar>span{display:none}.catalog-layout-switch{justify-content:space-between;width:100%}.catalog-layout-switch a{flex:1 1 0;min-height:38px}.catalog-layout-grid .restaurant-rail,.catalog-layout-grid .restaurants-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.catalog-layout-large .restaurant-rail,.catalog-layout-large .restaurants-grid{grid-template-columns:1fr!important;gap:18px!important}.catalog-layout-grid .restaurant-card,.catalog-layout-grid .luxury-restaurant-card{border-radius:18px!important;box-shadow:0 14px 34px #4c32201a!important}.catalog-layout-grid .restaurant-card-gallery,.catalog-layout-grid .restaurant-card-compact .card-image-link,.catalog-layout-grid .restaurant-card .card-image-link{border-radius:16px!important;height:118px!important}.catalog-layout-grid .luxury-card-body,.catalog-layout-grid .restaurant-card-compact .luxury-card-body{gap:7px!important;padding:10px!important}.catalog-layout-grid .restaurant-card h2,.catalog-layout-grid .restaurant-card h3{-webkit-line-clamp:2!important;font-size:clamp(17px,4.6vw,21px)!important;line-height:1.05!important}.catalog-layout-grid .restaurant-card-badges,.catalog-layout-grid .restaurant-card-chips{gap:5px!important}.catalog-layout-grid .restaurant-card-badges span,.catalog-layout-grid .restaurant-card-chips span{min-height:22px!important;padding:0 7px!important;font-size:10px!important}.catalog-layout-grid .restaurant-card-badges span:nth-child(n+2),.catalog-layout-grid .restaurant-card-chips{display:none!important}.catalog-layout-grid .restaurant-card-info{gap:5px!important;font-size:11px!important;line-height:1.25!important}.catalog-layout-grid .restaurant-card-info span{overflow-wrap:anywhere;min-width:0;gap:5px!important}.catalog-layout-grid .restaurant-card-info span:first-child{display:none!important}.catalog-layout-grid .restaurant-card-info svg{width:13px!important;height:13px!important}.catalog-layout-grid .restaurant-card-book-button{min-height:38px!important;margin-top:4px!important;padding:0 8px!important;font-size:12px!important}.catalog-layout-grid .restaurant-card-cuisine-badge{max-width:calc(100% - 16px)!important;padding:5px 8px!important;font-size:9px!important;top:8px!important;right:8px!important}.catalog-layout-grid .restaurant-card-rating-badge{padding:5px 7px!important;font-size:11px!important;bottom:8px!important;left:8px!important}.catalog-layout-grid .restaurant-card-rating-badge small{display:none!important}.catalog-layout-grid .restaurant-card-photo-dots{padding:3px 6px!important;bottom:8px!important}}@media (max-width:380px){.catalog-layout-grid .restaurant-rail,.catalog-layout-grid .restaurants-grid{gap:10px!important}.catalog-layout-grid .restaurant-card-gallery,.catalog-layout-grid .restaurant-card-compact .card-image-link,.catalog-layout-grid .restaurant-card .card-image-link{height:104px!important}.catalog-layout-grid .restaurant-card-book-button{font-size:11px!important}}.catalog-layout-bar{justify-content:flex-end!important;align-items:center!important;margin:-8px 0 20px!important;padding:0!important;display:flex!important}.catalog-layout-toggle{color:#714536;cursor:pointer;background:#fffbf5eb;border:1px solid #d4bfa8b8;border-radius:16px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:inline-flex;box-shadow:0 14px 34px #4c32201a}.catalog-layout-toggle:hover{background:#fffaf2;border-color:#7d443457;transform:translateY(-1px);box-shadow:0 18px 42px #4c322024}.catalog-layout-toggle:focus-visible{outline-offset:3px;outline:3px solid #7d44343d}.catalog-layout-toggle:active{transform:translateY(0)}@media (max-width:680px){.catalog-layout-bar{justify-content:flex-end!important;margin:-4px 0 16px!important;padding:0!important;overflow:visible!important}.catalog-layout-toggle{border-radius:14px;width:42px;min-width:42px;height:42px;min-height:42px}}.public-booking-board-scroll.fit-to-view{width:100%;height:var(--board-viewport-height,auto);min-height:var(--board-viewport-height,240px);touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain;border-radius:20px;display:block;position:relative;overflow:hidden!important}.public-booking-board-scroll.fit-to-view.is-zoomed{-webkit-overflow-scrolling:touch;overflow:auto!important}.public-booking-board-zoom{margin:0 auto;position:relative}.public-booking-board-zoom .public-booking-board{transform-origin:0 0;width:var(--scheme-board-width)!important;min-width:0!important;max-width:none!important;height:var(--scheme-board-height)!important;min-height:0!important}.hall-zoom-controls{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf4e6;border:1px solid #d4bfa8a6;border-radius:999px;align-items:center;gap:5px;width:max-content;padding:5px;display:inline-flex;position:sticky;top:10px;left:calc(100% - 116px);box-shadow:0 12px 28px #4c32201f}.hall-zoom-controls button{color:#6b3d2e;cursor:pointer;background:#ffffffe6;border:0;border-radius:999px;place-items:center;width:30px;height:30px;min-height:30px;font-size:16px;font-weight:900;line-height:1;display:inline-grid}.hall-zoom-controls button:hover:not(:disabled){color:#fffaf4;background:#6b3d2e}.hall-zoom-controls button:disabled{opacity:.45;cursor:default}@media (max-width:640px){.booking-workspace .reservation-form,.public-reserve-page .reservation-form{border-radius:22px!important;gap:12px!important;padding:18px 14px!important}.reservation-form .section-heading.compact-heading{gap:8px!important;margin-bottom:4px!important;display:grid!important}.reservation-form .section-heading.compact-heading svg{display:none}.reservation-form .section-heading.compact-heading h2{overflow-wrap:anywhere;font-size:clamp(30px,9vw,40px)!important;line-height:.96!important}.reservation-form .section-heading.compact-heading p{font-size:14px!important;line-height:1.38!important}.reservation-form .form-grid,.reservation-form .form-grid.two,.booking-contact-fields{grid-template-columns:1fr!important;gap:10px!important}.reservation-form label{gap:5px!important}.reservation-form label>span,.time-picker-field>span{font-size:13px!important;line-height:1.2!important}.reservation-form input,.reservation-form textarea,.reservation-form .time-picker-trigger,.reservation-form .pretty-select-trigger{border-radius:16px!important;min-height:46px!important;font-size:15px!important}.booking-comment{min-height:86px!important}.public-hall-widget{border-radius:22px!important;gap:10px!important;padding:14px!important}.hall-widget-head{gap:7px!important}.hall-widget-head h3{font-size:clamp(24px,7.5vw,32px)!important;line-height:1!important}.hall-widget-head p{font-size:14px!important;line-height:1.35!important}.public-booking-board-scroll.fit-to-view{min-height:var(--board-viewport-height,220px)!important;padding-bottom:0!important}.public-booking-board-zoom .public-booking-board{border-radius:18px!important}.hall-zoom-controls{padding:4px;top:8px;left:calc(100% - 108px)}.hall-zoom-controls button{width:28px;height:28px;min-height:28px;font-size:15px}.booking-table{min-width:0!important;min-height:0!important}.booking-table .seat-dot{min-width:22px!important;min-height:22px!important}.hall-legend{flex-wrap:wrap;gap:6px 10px!important;font-size:12px!important;line-height:1.2!important;display:flex!important}.hall-legend i{width:10px;height:10px}.selected-table-summary,.hall-widget-state{border-radius:16px!important;gap:4px!important;padding:11px 12px!important}.selected-table-summary strong,.hall-widget-state strong{font-size:14px!important;line-height:1.25!important}.selected-table-summary span,.hall-widget-state span{font-size:13px!important;line-height:1.35!important}.booking-link-box,.booking-link-box.soft-box,.deposit-next-step{border-radius:16px!important;gap:4px!important;padding:11px 12px!important}.booking-link-box strong,.deposit-next-step strong{font-size:14px!important;line-height:1.25!important}.booking-link-box span,.deposit-next-step span,.booking-link-box small{font-size:13px!important;line-height:1.35!important}.reservation-form .button.full{border-radius:18px!important;min-height:48px!important}}.scroll-to-top-button{z-index:900;color:#fffaf4;cursor:pointer;opacity:0;pointer-events:none;background:linear-gradient(135deg,#8a4633 0%,#c4774f 100%);border:1px solid #fff8ef6b;border-radius:999px;place-items:center;width:52px;height:52px;transition:opacity .18s,transform .18s,box-shadow .18s,background .18s;display:inline-grid;position:fixed;bottom:24px;left:24px;transform:translateY(12px)scale(.96);box-shadow:0 16px 34px #50281842,inset 0 1px #ffffff3d}.scroll-to-top-button.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.scroll-to-top-button:hover{background:linear-gradient(135deg,#7b3c2d 0%,#b96947 100%);transform:translateY(-2px)scale(1);box-shadow:0 20px 40px #5028184d,inset 0 1px #ffffff42}.scroll-to-top-button:active{transform:translateY(0)scale(.94)}.scroll-to-top-button:focus-visible{outline-offset:3px;outline:3px solid #d4bfa8b8}@media (min-width:768px){.scroll-to-top-button{display:none}}@media (max-width:640px){.scroll-to-top-button{left:18px;bottom:max(18px, env(safe-area-inset-bottom));width:48px;height:48px}}.restaurant-rail,.restaurants-grid{align-items:stretch!important}.restaurant-card,.luxury-restaurant-card{flex-direction:column!important;height:100%!important;display:flex!important}.restaurant-card .card-image-link,.luxury-restaurant-card .card-image-link{flex:none!important}.restaurant-card-body,.luxury-card-body{flex-direction:column!important;flex:auto!important;min-height:0!important;display:flex!important}.restaurant-card-title-block{min-width:0}.restaurant-card-info{margin-top:auto!important}.restaurant-card-book-button{text-align:center!important;white-space:normal!important;justify-content:center!important;align-items:center!important;width:100%!important;margin-top:12px!important;line-height:1.12!important;display:inline-flex!important}.catalog-filter-strip .catalog-layout-bar{margin:0!important}@media (max-width:680px){.catalog-filter-strip{grid-template-columns:minmax(0,1fr) 48px 48px!important;align-items:center!important;gap:8px!important;margin:0 0 24px!important;padding:0!important;display:grid!important;overflow:visible!important}.catalog-search-field{border-radius:999px!important;min-width:0!important;height:48px!important;min-height:48px!important}.catalog-search-field input{min-height:0!important;font-size:13px!important;line-height:1.2!important}.catalog-filter-strip .catalog-layout-bar{justify-content:center!important;align-items:center!important;width:48px!important;height:48px!important;margin:0!important;padding:0!important;display:flex!important;overflow:visible!important}.catalog-mobile-filter-button,.catalog-layout-toggle{position:relative;border-radius:16px!important;justify-content:center!important;align-items:center!important;width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;padding:0!important;font-size:0!important;line-height:0!important;display:inline-flex!important}.catalog-mobile-filter-button svg,.catalog-layout-toggle svg{flex:none;width:21px!important;height:21px!important}.catalog-mobile-filter-button>span{position:absolute;top:-6px;right:-6px;min-width:20px!important;height:20px!important;font-size:11px!important;line-height:20px!important}.catalog-layout-grid .restaurant-card,.catalog-layout-grid .luxury-restaurant-card{min-height:100%!important}.catalog-layout-grid .luxury-card-body,.catalog-layout-grid .restaurant-card-compact .luxury-card-body{min-height:206px!important}.catalog-layout-grid .restaurant-card-title-block{min-height:44px!important}.catalog-layout-grid .restaurant-card h2,.catalog-layout-grid .restaurant-card h3{-webkit-box-orient:vertical;-webkit-line-clamp:2!important;display:-webkit-box!important;overflow:hidden!important}.catalog-layout-grid .restaurant-card-info{min-height:42px!important;margin-top:auto!important}.catalog-layout-grid .restaurant-card-book-button{border-radius:999px!important;min-height:42px!important;margin-top:10px!important;padding:0 8px!important;font-size:clamp(11px,3.1vw,13px)!important}}.date-picker-field{position:relative}.date-picker-trigger{color:#2c2118;cursor:pointer;font:inherit;background:#fffaf3;border:1px solid #dfc8ad;border-radius:18px;justify-content:space-between;align-items:center;width:100%;height:54px;padding:0 16px;display:flex}.date-picker-trigger:hover,.date-picker-trigger:focus-visible,.time-picker-trigger:hover,.time-picker-trigger:focus-visible{border-color:#7d4a3894;outline:none;box-shadow:0 0 0 4px #7d4a381a}.date-picker-trigger svg{color:#6b3d2e}.date-picker-popover{z-index:70;background:#fffdf8;border:1px solid #ead7c0;border-radius:22px;width:min(360px,100vw - 32px);margin-top:8px;padding:14px;position:absolute;top:100%;left:0;box-shadow:0 24px 70px #462e202e}.date-picker-header{grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;margin-bottom:12px;display:grid}.date-picker-header strong{color:#2c2118;text-align:center;text-transform:capitalize;font-size:15px;font-weight:900}.date-picker-header button,.date-picker-footer button{color:#6b3d2e;cursor:pointer;background:#f6eadb;border:1px solid #ead7c0;border-radius:999px;justify-content:center;align-items:center;min-height:38px;font-weight:900;display:inline-flex}.date-picker-header button:disabled,.date-picker-grid button:disabled{cursor:default;opacity:.38}.date-picker-weekdays,.date-picker-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.date-picker-weekdays{color:#8a7566;margin-bottom:6px;font-size:12px;font-weight:900}.date-picker-grid{gap:5px}.date-picker-grid button{aspect-ratio:1;color:#2c2118;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;font-weight:850}.date-picker-grid button:not(:disabled):hover{background:#f6eadb;border-color:#ead7c0}.date-picker-grid button.selected{color:#fff;background:#7d4a38;border-color:#7d4a38}.date-picker-grid button.muted{color:#b9aa9b}.date-picker-footer{justify-content:flex-end;margin-top:12px;display:flex}.date-picker-footer button{min-height:34px;padding:0 14px}.menu-gallery-layout{gap:30px}.menu-gallery-category{background:#fffdf8db;border:1px solid #d4bfa88f;border-radius:30px;padding:24px;overflow:hidden;box-shadow:0 18px 54px #4c322014}.menu-gallery-category h3{color:#6b3d2e;font-size:clamp(28px,3.2vw,40px);line-height:1}.dish-gallery-track{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:stretch}.dish-card{flex-direction:column;min-width:0;display:flex}.dish-card-body{flex:1}.dish-card-body strong{color:#2c2118;font-family:var(--font-serif,Georgia, serif);overflow-wrap:anywhere;font-size:22px;line-height:1.05}.hall-zoom-controls{display:none!important}@media (max-width:680px){.date-picker-trigger,.reservation-form .date-picker-trigger{border-radius:16px!important;min-height:46px!important;font-size:15px!important}.date-picker-field>span{font-size:13px!important;line-height:1.2!important}.date-picker-popover{z-index:1300;width:auto;max-height:min(560px,100svh - 36px);position:fixed;inset:auto 14px 18px;overflow:auto}.menu-gallery-layout{gap:24px}.menu-gallery-category{border-radius:26px;margin-inline:-4px;padding:18px 0 18px 18px}.menu-gallery-category h3{padding-right:18px}.dish-gallery-track,.dish-card-grid.dish-gallery-track{scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 18px 10px 0;scroll-padding-left:0;overflow:auto hidden;grid-template-columns:none!important;gap:14px!important;display:flex!important}.dish-gallery-track::-webkit-scrollbar{display:none}.dish-card{scroll-snap-align:start;flex:0 0 min(78vw,310px)}.dish-card-body p{min-height:0}}.catalog-filter-strip{grid-template-columns:minmax(260px,360px) 44px repeat(3,minmax(130px,max-content));width:100%;max-width:100%;align-items:center!important;gap:10px!important;display:grid!important;overflow:visible!important}.catalog-filter-controls{display:contents!important}.catalog-filter-strip .catalog-layout-bar{order:2;width:44px!important;height:44px!important}.catalog-filter-controls>.catalog-filter-chip{order:4}.catalog-filter-controls>.catalog-filter-sheet-head,.catalog-filter-controls>.catalog-filter-sheet-actions{order:20}.catalog-search-field{order:1;width:100%!important;max-width:none!important}.catalog-search-field input::placeholder{color:#7b7169!important;opacity:1!important}.catalog-filter-chip,.catalog-filter-reset{max-width:100%}.catalog-filter-chip .catalog-filter-trigger{max-width:100%;justify-content:space-between!important;width:100%!important}.catalog-filter-chip .catalog-filter-trigger span{text-overflow:ellipsis;min-width:0;max-width:min(230px,24vw);overflow:hidden;text-align:left!important;justify-content:flex-start!important}.catalog-mobile-filter-button{order:3}.catalog-filter-count{display:inline-grid!important}.restaurant-card-title-block h3{overflow-wrap:anywhere;word-break:normal;max-width:100%}.catalog-layout-grid .restaurant-card-title-block{position:relative;min-height:50px!important;max-height:50px!important;overflow:hidden!important}.catalog-layout-grid .restaurant-card-title-block:after{display:none!important}.catalog-layout-grid .restaurant-card h3{-webkit-box-orient:vertical;-webkit-line-clamp:2!important;max-height:2.08em!important;line-height:1.04!important;display:-webkit-box!important;overflow:hidden!important}.catalog-layout-grid .restaurant-card-title-block p{display:none!important}.public-booking-board-scroll.fit-to-view{touch-action:none!important;overflow:auto!important}.public-booking-board-scroll.fit-to-view.is-fit{height:min(62vh, max(var(--board-viewport-height,360px), 320px))!important;min-height:320px!important}.public-booking-board-scroll.fit-to-view.is-zoomed{height:min(70vh, max(var(--board-viewport-height,420px), 360px))!important}.public-booking-board-zoom{min-width:100%;min-height:100%}.hall-zoom-controls{position:absolute!important;top:12px!important;left:auto!important;right:12px!important}@media (min-width:1180px){.catalog-filter-strip{grid-template-columns:minmax(240px,300px) 44px repeat(6,max-content);gap:8px!important}.catalog-filter-chip .catalog-filter-trigger{gap:6px!important;width:auto!important;min-width:0!important;padding-inline:12px!important}.catalog-filter-chip .catalog-filter-trigger span{max-width:none!important;font-size:12px!important}.catalog-mobile-filter-button,.catalog-filter-controls>.catalog-filter-sheet-head,.catalog-filter-controls>.catalog-filter-sheet-actions{display:none!important}}@media (max-width:1179px) and (min-width:681px){.catalog-filter-strip{grid-template-columns:minmax(240px,1fr) 44px repeat(3,minmax(128px,max-content))}.catalog-filter-controls>.catalog-filter-sheet-head,.catalog-filter-controls>.catalog-filter-sheet-actions{display:none!important}.catalog-filter-chip:nth-of-type(n+5){display:none}}@media (max-width:680px){.catalog-filter-strip{grid-template-columns:minmax(0,1fr) 44px 44px!important;gap:7px!important;width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important;margin-inline:auto!important}.catalog-filter-controls{display:grid!important}.catalog-filter-controls:not(.open){display:none!important}.catalog-filter-controls>.catalog-filter-sheet-head{order:0}.catalog-filter-controls>.catalog-filter-chip{order:1}.catalog-filter-controls>.catalog-filter-sheet-actions{order:2}.catalog-search-field input{font-size:13px!important;font-weight:800!important}.catalog-filter-strip .catalog-layout-bar{width:44px!important;height:44px!important}.catalog-mobile-filter-button,.catalog-layout-toggle{border-radius:15px!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}.catalog-mobile-filter-button .catalog-filter-button-label{clip:rect(0 0 0 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.catalog-layout-grid .restaurant-card-title-block{min-height:48px!important;max-height:48px!important}.catalog-layout-grid .restaurant-card h3{font-size:clamp(17px,4.45vw,20px)!important}.public-booking-board-scroll.fit-to-view.is-zoomed{height:min(62vh, max(var(--board-viewport-height,320px), 260px))!important}.public-booking-board-scroll.fit-to-view.is-fit{height:min(54vh, max(var(--board-viewport-height,300px), 260px))!important;min-height:260px!important}.hall-zoom-controls{top:10px!important;right:10px!important}}.verification-box{background:linear-gradient(135deg,#fffcf7f0,#f6eee2db);border:1px solid #75533a29;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid;box-shadow:0 14px 34px #502d1c14}.verification-copy{align-items:flex-start;gap:12px;min-width:0;display:flex}.verification-icon{color:#6b3d2e;background:#d4bfa83d;border:1px solid #75533a29;border-radius:14px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.verification-copy strong{color:#2c2118;font-size:16px;font-weight:900;display:block}.verification-copy p,.verification-copy small{color:#766b60;margin:5px 0 0;line-height:1.45;display:block}.verification-copy small{color:#6b3d2e;overflow-wrap:anywhere;font-weight:800}.verification-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.verification-code-row{grid-column:1/-1;grid-template-columns:minmax(180px,260px) auto;align-items:end;gap:10px;display:grid}.verification-code-field{gap:7px;display:grid}.verification-code-field span{color:#2c2118;font-size:13px;font-weight:900}.verification-code-submit{min-height:48px}.verification-button,.verification-link{color:#6b3d2e;background:#fffaf4;border:1px solid #75533a2e;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:14px;font-weight:900;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex;box-shadow:0 8px 20px #502d1c14}.verification-button:hover,.verification-link:hover{background:#f5e8d8;transform:translateY(-1px);box-shadow:0 12px 24px #502d1c1f}.verification-confirmed{background:linear-gradient(135deg,#f1faeef5,#f7f2e7e6);border-color:#4a795742}.verification-confirmed .verification-icon{color:#3f6f4a;background:#4a795721}.verification-pending{border-color:#c9a97f66}.verification-expired,.verification-failed{background:linear-gradient(135deg,#fff7f3f5,#f7ece4e0);border-color:#963e2c38}.verification-badge{color:#6b3d2e;background:#fffaf4;border:1px solid #75533a29;border-radius:999px;align-items:center;width:fit-content;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.verification-badge.confirmed{color:#3f6f4a;background:#eef7ec;border-color:#4a79573d}.verification-badge.unverified{color:#766b60}@media (max-width:720px){.verification-box{grid-template-columns:1fr}.verification-actions{justify-content:stretch}.verification-code-row{grid-template-columns:1fr}.verification-button,.verification-link{flex:auto}}.restaurant-card-title-block,.catalog-layout-grid .restaurant-card-title-block{min-width:0!important;min-height:2.44em!important;max-height:none!important;overflow:visible!important}.restaurant-card-title-block h3,.restaurant-card h3,.catalog-layout-grid .restaurant-card h3{overflow-wrap:anywhere!important;word-break:normal!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;max-width:100%!important;min-height:2.44em!important;max-height:2.44em!important;margin:0!important;padding:0 0 .16em!important;line-height:1.14!important;display:-webkit-box!important;overflow:hidden!important}.restaurant-card-title-block p,.catalog-layout-grid .restaurant-card-title-block p{display:none!important}.home-banner-slider,.restaurant-card-gallery{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.restaurant-card-gallery-image{-webkit-user-drag:none}@media (max-width:680px){.restaurant-card-title-block,.catalog-layout-grid .restaurant-card-title-block{min-height:2.5em!important}.restaurant-card-title-block h3,.restaurant-card h3,.catalog-layout-grid .restaurant-card h3{min-height:2.5em!important;max-height:2.5em!important;padding-bottom:.18em!important;line-height:1.16!important}.restaurant-profile main+.app-footer{display:none!important}main:has(.restaurant-profile)+.app-footer{display:none!important}.profile-section#gallery{overflow:hidden;gap:14px!important}.profile-gallery.enhanced-gallery,.profile-gallery.enhanced-gallery.gallery-count-1,.profile-gallery.enhanced-gallery.gallery-count-2,.profile-gallery.enhanced-gallery.gallery-count-3,.profile-gallery.enhanced-gallery.gallery-count-4,.profile-gallery.enhanced-gallery.gallery-count-5,.profile-gallery.enhanced-gallery.gallery-count-6{scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-2px -10px;padding:2px 10px 12px 2px;scroll-padding-left:2px;grid-template-columns:none!important;grid-auto-rows:unset!important;gap:14px!important;display:flex!important;overflow:auto hidden!important}.profile-gallery.enhanced-gallery::-webkit-scrollbar{display:none}.profile-gallery.enhanced-gallery .gallery-item,.profile-gallery.enhanced-gallery .gallery-item:first-child,.profile-gallery.enhanced-gallery.gallery-count-1 .gallery-item{scroll-snap-align:start;aspect-ratio:4/3!important;border-radius:20px!important;flex:0 0 min(78vw,330px)!important;width:min(78vw,330px)!important;min-width:min(78vw,330px)!important;max-width:min(78vw,330px)!important;box-shadow:0 16px 36px #4c32201f!important}.profile-gallery.enhanced-gallery.gallery-count-1 .gallery-item{flex-basis:min(88vw,380px)!important;width:min(88vw,380px)!important;min-width:min(88vw,380px)!important;max-width:min(88vw,380px)!important}}@media (min-width:1180px){.catalog-filter-strip{grid-template-columns:minmax(260px,360px) repeat(6,max-content) minmax(44px,1fr)!important}.catalog-filter-controls>.catalog-filter-chip{order:10!important}.catalog-filter-strip .catalog-layout-bar{order:50!important;justify-self:end!important}}@media (max-width:1179px) and (min-width:681px){.catalog-filter-strip{grid-template-columns:minmax(240px,1fr) repeat(3,minmax(128px,max-content)) minmax(44px,auto)!important}.catalog-filter-controls>.catalog-filter-chip{order:10!important}.catalog-filter-strip .catalog-layout-bar{order:50!important;justify-self:end!important}}@media (max-width:680px){.catalog-filter-controls.open .catalog-filter-chip .catalog-filter-trigger,.catalog-filter-controls.open .catalog-filter-reset,.catalog-filter-controls.open .catalog-filter-sheet-actions .button{min-height:52px!important;padding-inline:18px!important}.catalog-filter-controls.open .catalog-filter-chip .catalog-filter-trigger span{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:calc(100% - 28px)!important;font-size:14px!important;line-height:1.15!important;display:block!important;overflow:hidden!important}.catalog-filter-controls.open .catalog-filter-chip .catalog-filter-trigger svg{flex:none!important}}.working-hours-form{gap:18px;display:grid;border-radius:24px!important}.working-hours-list{background:#fffdf8b3;border:1px solid #d4bfa87a;border-radius:22px;gap:0;display:grid;overflow:hidden}.working-hours-row{border-bottom:1px solid #d4bfa86b!important;grid-template-columns:minmax(120px,160px) minmax(0,1fr) minmax(0,1fr) minmax(105px,auto)!important;align-items:center!important;gap:14px!important;padding:16px 18px!important}.working-hours-row:last-child{border-bottom:0!important}.working-hours-day{color:#2c2118;font-size:15px;font-weight:900}.office-time-field{gap:7px;min-width:0;display:grid}.office-time-field>span:first-child{color:#756a60;font-size:12px;font-weight:900}.office-time-select-wrap{min-width:0;display:block;position:relative}.office-time-select-wrap:after{content:"";pointer-events:none;border-bottom:2px solid #6b3d2e;border-right:2px solid #6b3d2e;width:9px;height:9px;position:absolute;top:50%;right:16px;transform:translateY(-65%)rotate(45deg)}.office-time-select{appearance:none;color:#2c2118;width:100%;min-height:48px;font:inherit;background:linear-gradient(#fffdf9,#fbf5ed);border:1px solid #d4bfa8c7;border-radius:16px;outline:none;padding:0 44px 0 16px;font-size:15px;font-weight:900;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;box-shadow:0 10px 24px #502d1c0f}.office-time-select:hover{background:#fffaf4;border-color:#6b3d2e52}.office-time-select:focus{border-color:#6b3d2e94;box-shadow:0 0 0 4px #6b3d2e1a,0 12px 28px #502d1c14}.working-hours-closed{color:#5f554d;background:#fffaf4b8;border:1px solid #d4bfa88c;border-radius:16px;align-self:end;min-height:48px;padding:0 12px;font-size:14px;font-weight:900}.working-hours-closed input{accent-color:#7d4a38}@media (max-width:820px){.working-hours-row{grid-template-columns:1fr!important;gap:10px!important;padding:16px!important}.working-hours-day{font-size:16px}.working-hours-closed{align-self:stretch}}@media (max-width:680px){.catalog-layout-grid .restaurant-rail,.catalog-layout-grid .restaurants-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;align-items:start!important;gap:14px!important}.catalog-layout-grid .restaurant-card,.catalog-layout-grid .restaurant-card.restaurant-card-compact,.catalog-layout-grid .luxury-restaurant-card{border-radius:18px!important;flex-direction:column!important;align-self:start!important;height:auto!important;min-height:0!important;display:flex!important;overflow:hidden!important}.catalog-layout-grid .restaurant-card-gallery,.catalog-layout-grid .restaurant-card-compact .card-image-link,.catalog-layout-grid .restaurant-card .card-image-link{aspect-ratio:auto!important;border-radius:16px!important;flex:0 0 clamp(104px,28vw,132px)!important;height:clamp(104px,28vw,132px)!important;min-height:clamp(104px,28vw,132px)!important;max-height:clamp(104px,28vw,132px)!important}.catalog-layout-grid .restaurant-card-body,.catalog-layout-grid .luxury-card-body,.catalog-layout-grid .restaurant-card-compact .luxury-card-body{flex-direction:column!important;flex:0 auto!important;gap:8px!important;height:auto!important;min-height:0!important;padding:12px 10px!important;display:flex!important}.catalog-layout-grid .restaurant-card-title-block{min-height:0!important;max-height:none!important;overflow:visible!important}.catalog-layout-grid .restaurant-card h2,.catalog-layout-grid .restaurant-card h3{-webkit-line-clamp:2!important;overflow-wrap:anywhere!important;-webkit-box-orient:vertical!important;min-height:0!important;max-height:2.52em!important;padding-bottom:.12em!important;font-size:clamp(18px,5.2vw,23px)!important;line-height:1.16!important;display:-webkit-box!important;overflow:hidden!important}.catalog-layout-grid .restaurant-card-title-block p,.catalog-layout-grid .restaurant-card-badges span:nth-child(n+2),.catalog-layout-grid .restaurant-card-chips{display:none!important}.catalog-layout-grid .restaurant-card-badges{gap:5px!important;min-height:0!important;margin:0!important}.catalog-layout-grid .restaurant-card-badges span{white-space:nowrap!important;text-overflow:ellipsis!important;max-width:100%!important;min-height:24px!important;padding:0 8px!important;font-size:10px!important;overflow:hidden!important}.catalog-layout-grid .restaurant-card-info{gap:6px!important;min-height:0!important;margin-top:2px!important;font-size:11px!important;line-height:1.25!important}.catalog-layout-grid .restaurant-card-info span:first-child{display:none!important}.catalog-layout-grid .restaurant-card-info span{overflow-wrap:anywhere!important;gap:5px!important;min-width:0!important}.catalog-layout-grid .restaurant-card-info svg{width:13px!important;height:13px!important}.catalog-layout-grid .restaurant-card-book-button{white-space:normal!important;border-radius:999px!important;width:100%!important;min-height:42px!important;margin-top:8px!important;padding:0 8px!important;font-size:clamp(11px,3.1vw,13px)!important;line-height:1.12!important}}
