@font-face{font-family:TAY Birdie;src:url(/fonts/TAYBirdie.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg-main:#000;--bg-card:#0a0a0a;--bg-sidebar:#0a0a0a;--bg-hover:#171717;--bg-active:#262626;--text-main:#fff;--text-muted:#a3a3a3;--text-inverse:#000;--brand:#fff;--brand-dark:#e5e5e5;--brand-light:#1a1a1a;--wine:#fff;--border-light:#171717;--border-mod:#262626;--border-hover:#404040;--bg-tertiary:#262626;--focus-ring:#ffffff1a;--success:#10b981;--success-bg:#10b98126;--success-text:#34d399;--warning:#f59e0b;--warning-bg:#f59e0b26;--warning-text:#fbbf24;--danger:#ef4444;--danger-bg:#ef444426;--danger-text:#f87171;--info:#3b82f6;--info-bg:#3b82f626;--info-text:#60a5fa;--radius-sm:8px;--radius-md:12px;--radius-lg:24px;--radius-xl:32px;--radius-full:9999px;--shadow-sm:0 4px 24px #0006;--shadow-md:0 8px 32px #0009;--shadow-lg:0 16px 48px #000c;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-serif:"Playfair Display",Georgia,serif}[data-theme=light]{--bg-main:#f4f5f7;--bg-card:#fff;--bg-sidebar:#fff;--bg-hover:#f8f9fa;--bg-active:#eef2f6;--text-main:#191c1f;--text-muted:#848a95;--text-inverse:#fff;--brand:#000;--brand-dark:#1a1a1a;--brand-light:#f3f4f6;--wine:#191c1f;--border-light:#f4f5f7;--border-mod:#eaecef;--border-hover:#d1d5db;--bg-tertiary:#e5e7eb;--focus-ring:#00000014;--success-bg:#d1fae5;--success-text:#065f46;--warning-bg:#fef3c7;--warning-text:#92400e;--danger-bg:#fee2e2;--danger-text:#991b1b;--info-bg:#dbeafe;--info-text:#1e40af;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 4px 16px #0000000f;--shadow-lg:0 12px 32px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{--font-sans:"TAY Birdie",Georgia,"Times New Roman",serif;--font-serif:"TAY Birdie",Georgia,"Times New Roman",serif;font-family:var(--font-sans);color:var(--text-main);background:var(--bg-main);letter-spacing:-.01em;font-size:15px;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--text-main);letter-spacing:-.03em;font-weight:600;line-height:1.25}h1{font-size:32px}h2{font-size:24px}h3{font-size:18px}a{color:var(--text-main);text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1)}button,input,select,textarea{letter-spacing:inherit;font-family:inherit}.text-muted{color:var(--text-muted)}.text-xs{letter-spacing:0;font-size:13px}.text-sm{font-size:14px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-serif{font-family:var(--font-serif)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.btn{border-radius:var(--radius-full);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;padding:12px 24px;font-size:15px;font-weight:600;line-height:1;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:var(--brand);color:var(--text-inverse);box-shadow:0 4px 12px #ffffff1a}.btn-primary:hover{background:var(--brand-dark);transform:translateY(-1px);box-shadow:0 6px 16px #ffffff26}.btn-primary:active{box-shadow:none;transform:translateY(0)}.btn-secondary{background:var(--bg-active);color:var(--text-main)}.btn-secondary:hover{background:var(--border-hover)}.btn-outline{border:1px solid var(--border-mod);color:var(--text-main);background:0 0}.btn-outline:hover{background:var(--bg-hover);border-color:#525252}.btn-ghost{color:var(--text-muted);background:0 0;padding:8px 16px}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-main)}.btn-sm{padding:8px 16px;font-size:14px}.btn-lg{padding:16px 32px;font-size:16px}.btn-danger{background:var(--danger-bg);color:var(--danger-text)}.btn-danger:hover{background:#ef444440}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-mod);box-shadow:var(--shadow-sm);padding:32px;transition:box-shadow .3s,border-color .3s}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover)}.card-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.form-input,.form-select,.form-textarea{border:1px solid var(--border-mod);border-radius:var(--radius-md);background:var(--bg-hover);width:100%;color:var(--text-main);padding:14px 16px;font-size:15px;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{background:var(--bg-card);border-color:var(--text-main);box-shadow:none;outline:none}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.form-label{color:var(--text-muted);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.badge{border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-confirmed{background:var(--success-bg);color:var(--success-text);border:1px solid #10b98133}.badge-pending{background:var(--warning-bg);color:var(--warning-text);border:1px solid #f59e0b33}.badge-cancelled{background:var(--danger-bg);color:var(--danger-text);border:1px solid #ef444433}.badge-seated{background:var(--info-bg);color:var(--info-text);border:1px solid #3b82f633}.badge-completed{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border-mod)}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border-mod);text-transform:uppercase;letter-spacing:.05em;background:0 0;padding:16px 20px;font-size:13px;font-weight:600}.data-table td{border-bottom:1px solid var(--border-mod);vertical-align:middle;padding:24px 20px}.data-table tr{transition:background-color .2s}.data-table tr:hover td{background:var(--bg-hover)}.admin-layout{background:var(--bg-main);zoom:.9;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-serif:"Playfair Display",Georgia,serif;min-height:100vh;display:flex}.admin-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-mod);flex-direction:column;width:280px;padding:32px 24px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{align-items:center;gap:16px;margin-bottom:32px;padding-bottom:32px;display:flex}.sidebar-logo img{border-radius:4px;width:40px;height:40px}.sidebar-logo h2{color:var(--text-main);letter-spacing:-.02em;margin:0;font-size:16px;font-weight:700}.sidebar-logo span{color:var(--text-muted);font-size:12px;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:8px;display:flex}.sidebar-group{margin-bottom:32px}.sidebar-group-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px;padding:0 16px;font-size:12px;font-weight:600}.sidebar-link{border-radius:var(--radius-md);color:var(--text-muted);align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.sidebar-link:hover{background:var(--bg-hover);color:var(--text-main)}.sidebar-link.active{background:var(--bg-active);color:var(--text-main)}.sidebar-link.active svg{color:var(--brand)}.sidebar-link svg{stroke-width:2px;width:20px;height:20px;transition:color .2s}.admin-main{flex:1;margin-left:280px;padding:48px}@media (max-width:1180px){.admin-main{padding:32px}}@media (max-width:900px){.admin-main{padding:24px 20px}}.admin-header{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.admin-header h1{margin-bottom:8px;font-size:36px}.admin-header-sub{color:var(--text-muted);font-size:16px}.tabs{background:var(--bg-hover);border-radius:var(--radius-full);gap:8px;padding:6px;display:inline-flex}.tab{color:var(--text-muted);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:none;padding:8px 24px;font-size:15px;font-weight:600;transition:all .2s}.tab:hover{color:var(--text-main)}.tab.active{background:var(--bg-tertiary);color:var(--text-main);box-shadow:var(--shadow-sm)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.text-center{text-align:center}.customer-nav{z-index:1000;background:rgba(var(--bg-main-rgb,0,0,0),.8);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-mod);justify-content:space-between;align-items:center;padding:16px 48px;transition:all .3s;display:flex;position:sticky;top:0}[data-theme=light] .customer-nav{background:#f4f5f7cc}.nav-brand{font-family:var(--font-serif);color:var(--text-main);align-items:center;gap:12px;font-size:22px;font-weight:700;text-decoration:none;display:flex}.nav-brand img{border-radius:4px}.nav-links{align-items:center;gap:40px;display:flex}.nav-links a{color:var(--text-muted);font-size:15px;font-weight:600}.nav-links a:hover{color:var(--text-main)}.mobile-menu-btn{cursor:pointer;background:0 0;border:none;font-size:24px;display:none}.booking-hero{text-align:center;background:radial-gradient(circle at 50% 0%,var(--bg-hover)0%,var(--bg-main)70%);border-bottom:1px solid var(--border-mod);padding:80px 24px}.booking-hero-logo{box-shadow:var(--shadow-md);border-radius:12px;margin:0 auto 32px}.booking-hero h1{color:var(--text-main);letter-spacing:.01em;text-transform:uppercase;margin-bottom:16px;font-size:clamp(36px,8vw,64px);font-weight:700;line-height:1.1}.tagline{color:var(--text-muted);font-size:clamp(16px,3.5vw,22px);font-style:italic;font-family:var(--font-serif);margin-bottom:12px}.location{color:var(--text-muted);font-size:16px;font-weight:500}.customer-footer{text-align:center;background:var(--bg-sidebar);border-top:1px solid var(--border-mod);color:var(--text-muted);padding:80px 24px}.footer-brand{letter-spacing:.02em;text-transform:uppercase;color:var(--text-main);margin-bottom:16px;font-size:28px;font-weight:700}.stats-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:40px;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-mod);box-shadow:var(--shadow-sm);padding:32px;transition:all .3s}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover);transform:translateY(-2px)}.stat-icon{border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:24px;font-size:24px;display:flex}.stat-value{letter-spacing:-.03em;margin-bottom:8px;font-size:32px;font-weight:700}.stat-label{color:var(--text-muted);margin-bottom:8px;font-size:14px;font-weight:600}.stat-change{align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.stat-change.positive{color:var(--success-text)}.stat-change.negative{color:var(--danger-text)}.stock-bar{background:var(--bg-hover);border-radius:var(--radius-full);width:100%;height:8px;margin-top:12px;overflow:hidden}.stock-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .4s cubic-bezier(.16,1,.3,1)}.stock-bar-fill.ok{background:var(--success)}.stock-bar-fill.low{background:var(--warning)}.stock-bar-fill.critical{background:var(--danger)}.booking-container{max-width:600px;margin:0 auto;padding:0 24px 80px}.booking-form-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-mod);box-shadow:var(--shadow-sm);padding:40px}.booking-step{border-bottom:1px solid var(--border-mod);margin-bottom:48px;padding-bottom:48px}.booking-step:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.booking-step-title{color:var(--text-main);align-items:center;gap:16px;margin-bottom:24px;font-size:20px;font-weight:600;display:flex}.booking-step-number{background:var(--text-main);width:32px;height:32px;color:var(--bg-main);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.date-grid,.time-grid,.party-size-grid{gap:8px;display:grid}.date-grid{text-align:center;grid-template-columns:repeat(7,1fr)}.time-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.party-size-grid{grid-template-columns:repeat(4,1fr)}.day-header{color:var(--text-muted);text-transform:uppercase;padding-bottom:8px;font-size:12px;font-weight:600}.date-cell,.time-btn,.party-btn{background:var(--bg-hover);border:1px solid var(--border-mod);color:var(--text-main);border-radius:var(--radius-md);cursor:pointer;padding:12px 8px;font-size:15px;font-weight:600;transition:all .2s}.date-cell:not(.selected):hover:not(:disabled),.time-btn:not(.selected):hover,.party-btn:not(.selected):hover{background:var(--bg-active);border-color:var(--text-muted)}.date-cell.selected,.time-btn.selected,.party-btn.selected{background:var(--text-main);color:var(--bg-main);border-color:var(--text-main)}.date-cell:disabled{opacity:.3;cursor:not-allowed}.pref-toggle{gap:8px;display:flex}.pref-btn{background:var(--bg-hover);border:1px solid var(--border-mod);color:var(--text-main);border-radius:var(--radius-md);cursor:pointer;flex:1;padding:12px;font-size:15px;font-weight:600;transition:all .2s}.pref-btn.selected{background:var(--text-main);color:var(--bg-main);border-color:var(--text-main)}.form-group{margin-bottom:20px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.mb-xl{margin-bottom:32px}.mt-xl{margin-top:32px}.animate-in{animation:.4s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.confirmation-card{text-align:center;padding:24px 0}.confirmation-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;font-size:32px;display:flex}.confirmation-ref{letter-spacing:4px;margin:24px 0 8px;font-family:monospace;font-size:32px;font-weight:700}.confirmation-row{border-bottom:1px solid var(--border-mod);justify-content:space-between;padding:12px 0;display:flex}.confirmation-row:last-child{border-bottom:none}.confirmation-row .label{color:var(--text-muted);font-weight:500}.confirmation-row .value{color:var(--text-main);font-weight:600}.fp-container{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-mod);grid-template-columns:1fr 1fr;gap:32px;min-height:700px;padding:32px;display:grid;position:relative;overflow:hidden}.fp-zone{background:var(--bg-hover);border-radius:var(--radius-md);border:1px dashed var(--border-mod);height:600px;position:relative}.fp-zone>span{text-transform:uppercase;color:var(--text-muted);letter-spacing:.1em;pointer-events:none;font-size:12px;font-weight:700}.fp-indoor{border-right:1px solid var(--border-mod)}.fp-bar{background:var(--bg-active);border:1px solid var(--border-mod);width:200px;height:40px;color:var(--text-muted);letter-spacing:.1em;border-radius:4px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;top:50px;left:20px}.fp-table{cursor:pointer;box-shadow:var(--shadow-sm);z-index:10;flex-direction:column;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:absolute}.fp-table:hover{box-shadow:var(--shadow-md);z-index:20;transform:scale(1.05)}.fp-table.round{border-radius:50%}.fp-table.rect,.fp-table.square{border-radius:8px}.fp-table.available{background:var(--success-bg);border:2px solid var(--success)}.fp-table.occupied{background:var(--danger-bg);border:2px solid var(--danger)}.fp-table.reserved{background:var(--warning-bg);border:2px solid var(--warning)}.fp-table-name{color:var(--text-main);text-align:center;pointer-events:none;font-size:12px;font-weight:700}.fp-table-seats{color:var(--text-muted);pointer-events:none;margin-top:2px;font-size:9px;font-weight:800}.fp-seat{background:var(--bg-active);border:1px solid var(--border-mod);border-radius:4px;width:16px;height:16px;position:absolute}.side-panel-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;background:#0006;transition:opacity .3s;position:fixed;inset:0}.side-panel-overlay.open{opacity:1;pointer-events:auto}.side-panel{background:var(--bg-card);border-left:1px solid var(--border-mod);z-index:1001;width:400px;box-shadow:var(--shadow-lg);flex-direction:column;padding:32px;transition:right .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;right:-400px}.side-panel.open{right:0}@media (max-width:640px){.booking-hero{padding:48px 16px 64px!important}.booking-hero-logo{width:64px!important;height:64px!important;margin-bottom:20px!important}.booking-container{padding:0 12px 48px}.booking-form-card{border-radius:var(--radius-md);padding:20px!important}.booking-step{margin-bottom:32px;padding-bottom:32px}.booking-step-title{gap:12px;margin-bottom:16px;font-size:17px}.booking-step-number{width:28px;height:28px;font-size:13px}.date-grid,.time-grid,.party-size-grid{gap:6px}.date-cell,.time-btn,.party-btn{padding:10px 4px;font-size:14px}.time-grid{grid-template-columns:repeat(3,1fr)}.party-size-grid{grid-template-columns:repeat(4,1fr)}.pref-toggle{flex-wrap:wrap}.pref-btn{flex:calc(50% - 8px);padding:10px;font-size:14px}.booking-form-card .form-grid-two-col{grid-template-columns:1fr!important}.form-input,.form-textarea{font-size:16px}.customer-footer{padding:48px 16px 64px}.footer-brand{font-size:22px}.confirmation-ref{letter-spacing:3px;font-size:26px}}@media (max-width:380px){.time-grid{grid-template-columns:repeat(2,1fr)}}.bookings-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.bookings-meta{align-items:center;gap:16px;display:flex}.date-nav{background:var(--bg-hover);border:1px solid var(--border-mod);border-radius:14px;align-items:center;gap:4px;padding:4px;display:inline-flex}.date-nav-arrow{width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.date-nav-arrow:hover{background:var(--bg-card);color:var(--text-main)}.date-nav-arrow:active{transform:scale(.95)}.date-nav-label{flex-direction:column;justify-content:center;align-items:center;min-width:180px;padding:4px 18px;line-height:1.2;display:flex}.date-nav-primary{color:var(--text-main);font-size:15px;font-weight:700}.date-nav-secondary{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:500}.date-nav-today{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;margin-left:4px;padding:8px 14px;font-size:13px;font-weight:600}.date-nav-today:hover{background:var(--bg-card);color:var(--text-main)}.timeline-card{cursor:pointer;border-radius:10px;flex:240px;min-width:240px;max-width:340px;padding:10px 14px;transition:transform .15s,box-shadow .15s}.timeline-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.bookings-list tbody tr.bookings-list-row td{vertical-align:middle;padding:18px 20px}.bookings-list tbody tr.bookings-list-row{height:76px}.month-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.month-grid-head{margin-bottom:6px}.month-weekday{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:center;padding:6px 0;font-size:11px;font-weight:700}.month-cell{border:1px solid var(--border-mod);border-radius:var(--radius-md);background:var(--bg-card);min-height:96px;color:var(--text-main);cursor:pointer;text-align:left;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:10px 12px;font-family:inherit;transition:background .15s,border-color .15s,transform .1s;display:flex}.month-cell:hover{background:var(--bg-hover);border-color:var(--border-hover)}.month-cell:active{transform:scale(.98)}.month-cell.out-of-month{opacity:.35}.month-cell.today{border-color:var(--text-main);box-shadow:inset 0 0 0 1px var(--text-main)}.month-cell-day{font-size:15px;font-weight:700}.month-cell.today .month-cell-day{color:var(--text-main)}.month-cell-meta{flex-direction:column;gap:2px;width:100%;margin-top:auto;display:flex}.month-cell-count{background:var(--text-main);color:var(--bg-main);border-radius:var(--radius-full);width:fit-content;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.month-cell-sub{color:var(--text-muted);font-size:10px;font-weight:500}@media (max-width:900px){.month-cell{min-height:80px;padding:8px}.month-cell-day{font-size:13px}.month-cell-sub{display:none}}@media (max-width:1180px){.timeline-card{min-width:200px;max-width:none}}@media (max-width:900px){.bookings-toolbar{align-items:stretch}.date-nav-label{min-width:140px;padding:4px 10px}.date-nav-primary{font-size:14px}.timeline-card{min-width:100%}}.section-block{padding:96px 0}.menu-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.menu-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-mod);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;padding:48px 32px;display:flex}.menu-card-emoji{margin-bottom:24px;font-size:48px;line-height:1}.menu-card h3{color:var(--text-main);margin-bottom:16px;font-size:24px}.menu-card p{line-height:1.6}@media (max-width:860px){.section-block{padding:56px 0}.menu-grid{grid-template-columns:1fr;gap:16px}}@media (max-width:640px){.section-block{padding:40px 0}.menu-card{border-radius:var(--radius-md);padding:24px 20px}.menu-card-emoji{margin-bottom:12px;font-size:32px}.menu-card h3{margin-bottom:8px;font-size:19px}.menu-card p{font-size:14px}}.gallery-section{background:var(--bg-main);border-top:1px solid var(--border-mod);padding:48px 16px 64px}.gallery-strip+.gallery-heading,.gallery-heading{text-align:center;margin-top:32px}.gallery-heading p{color:var(--text-muted);letter-spacing:.02em;margin:0;font-size:13px}.gallery-heading a{color:var(--text-main);border-bottom:1px solid var(--text-muted);font-weight:600}.gallery-strip{flex-wrap:wrap;justify-content:center;align-items:center;max-width:1100px;margin:0 auto;display:flex}.gallery-track{display:contents}.polaroid.polaroid-clone{display:none}.polaroid{background:#fff;border-radius:2px;flex-shrink:0;padding:10px 10px 36px;transition:transform .25s cubic-bezier(.16,1,.3,1);display:block;box-shadow:0 12px 28px #00000024,0 4px 10px #00000014}.polaroid:hover{z-index:10!important;transform:translateY(-4px)rotate(0)!important}.polaroid-img{object-fit:cover;background:#f5f5f5;width:220px;height:220px;display:block}@media (max-width:1080px){.polaroid-img{width:180px;height:180px}}@media (max-width:820px){.polaroid-img{width:150px;height:150px}}@media (max-width:640px){.gallery-section{padding:48px 0 64px}.gallery-heading{margin-bottom:28px;padding:0 16px}.gallery-strip{flex-wrap:nowrap;justify-content:flex-start;padding:36px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 40px calc(100% - 40px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 40px calc(100% - 40px),#0000 100%)}.gallery-track{flex-shrink:0;gap:22px;width:max-content;animation:28s linear infinite gallery-marquee;display:flex}.polaroid.polaroid-clone{display:block}.polaroid{flex-shrink:0;margin-left:0!important}.polaroid-img{width:200px;height:200px}}@keyframes gallery-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce) and (max-width:640px){.gallery-track{width:auto;animation:none}.gallery-strip{scroll-snap-type:x mandatory;padding-left:16px;padding-right:16px;overflow-x:auto;-webkit-mask-image:none;mask-image:none}.polaroid{scroll-snap-align:center}.polaroid.polaroid-clone{display:none}}.our-story-inner{grid-template-columns:1fr;align-items:center;gap:32px;display:grid}.our-story-heading{color:var(--text-main);font-size:clamp(32px,7vw,48px);font-family:var(--font-serif);letter-spacing:-.02em;margin-bottom:24px}.our-story-body{color:var(--text-muted);flex-direction:column;gap:20px;font-size:clamp(15px,3.5vw,18px);line-height:1.8;display:flex}@media (max-width:640px){.our-story-heading{margin-bottom:16px;font-size:26px}.our-story-body{gap:14px;font-size:14px;line-height:1.65}.our-story>.container{padding:0 28px}}:root{--cb-cream:#f2d6c1;--cb-cream-deep:#e8c6ae;--cb-cream-blended:#edd1bd;--cb-grain:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}html:has(.landing-page){background-color:var(--cb-cream)}html:has(.landing-page) body{background-color:var(--cb-cream)}html:has(.booking-landing){background-color:var(--cb-cream)}html:has(.booking-landing) body{background-color:var(--cb-cream)}html:has(.landing-page) body:before{content:"";pointer-events:none;z-index:0;background-image:var(--cb-grain);mix-blend-mode:multiply;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000 0,#000 60px calc(100% - 60px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 60px calc(100% - 60px),#0000 100%)}html:has(.booking-landing) body:before{content:"";pointer-events:none;z-index:0;background-image:var(--cb-grain);mix-blend-mode:multiply;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000 0,#000 60px calc(100% - 60px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 60px calc(100% - 60px),#0000 100%)}.landing-page,.booking-landing{z-index:1;position:relative}.landing-page{--landing-bg:var(--cb-cream);--landing-ink:#1a1714;--landing-ink-soft:#6b5c52;--landing-accent:#d98976;height:100dvh;color:var(--landing-ink);background-color:#0000;justify-content:center;align-items:stretch;padding:32px 24px;display:flex;overflow:hidden}.landing-inner{flex-direction:column;justify-content:space-between;align-items:stretch;gap:24px;width:100%;max-width:960px;margin:0 auto;display:flex}.landing-header{text-align:center}.landing-tagline-top{font-family:var(--font-serif);letter-spacing:.06em;color:var(--landing-ink);opacity:.9;margin-bottom:4px;font-size:clamp(10px,1.1vw,12px);font-style:italic;font-weight:500}.landing-title{text-transform:uppercase;letter-spacing:.02em;color:var(--landing-ink);margin-bottom:6px;font-size:clamp(26px,4.6vw,46px);font-weight:700;line-height:1.05}.landing-subtitle{font-family:var(--font-serif);color:var(--landing-ink);max-width:420px;margin:0 auto;font-size:clamp(12px,1.4vw,15px);font-style:italic;font-weight:500;line-height:1.4}.landing-hours-row{flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(20px,5vw,60px);width:100%;max-width:720px;margin:0 auto;padding:0;display:grid}.landing-hours-col{font-family:var(--font-serif);color:var(--landing-ink);opacity:0;font-size:clamp(11px,1.2vw,13px);font-weight:500;line-height:1.55;transition:opacity .35s}.landing-hours-ready .landing-hours-col{opacity:1}.landing-hours-col p{margin:0}.landing-hours-left{text-align:right}.landing-hours-right{text-align:left}.landing-hours-group+.landing-hours-group-extra{margin-top:12px}.landing-icon{color:var(--landing-ink);flex-shrink:0;justify-content:center;align-items:center;display:flex}.landing-icon-img{object-fit:contain;width:clamp(70px,11vw,120px);height:auto;max-height:32vh;display:block}.landing-footer{text-align:center;font-family:var(--font-serif);color:var(--landing-ink);flex-direction:column;align-items:center;gap:8px;font-weight:500;display:flex}.landing-address{margin:0;font-size:clamp(11px,1.2vw,13px);line-height:1.5}.landing-reservation-note{color:var(--landing-ink-soft);margin:2px 0 4px;font-size:clamp(10px,1.1vw,12px);font-style:italic}.landing-book-btn{font-family:var(--font-serif);border:1px solid var(--landing-ink);color:var(--landing-ink);letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:999px;margin-top:2px;padding:6px 22px;font-size:clamp(11px,1.3vw,13px);font-weight:500;transition:background .2s,color .2s;display:inline-block}.landing-book-btn:hover,.landing-book-btn:focus-visible{background:var(--landing-ink);color:var(--landing-bg);outline:none}.landing-book-btn:active{transform:translateY(.5px)}.landing-booking-sub{color:var(--landing-ink-soft);margin:0;font-size:clamp(10px,1.1vw,12px)}.landing-cta-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:2px;display:flex}.landing-contact{flex-flow:wrap;justify-content:center;align-items:center;gap:10px;margin-top:4px;font-size:clamp(10px,1.1vw,12px);display:flex}.landing-contact-sep{color:var(--landing-ink-soft);-webkit-user-select:none;user-select:none}.landing-contact a{color:var(--landing-ink);text-underline-offset:3px;-webkit-tap-highlight-color:transparent;text-decoration:underline;text-decoration-thickness:1px}.landing-contact a:hover,.landing-contact a:focus-visible{color:var(--landing-ink);opacity:.7;outline:none}.landing-back-btn{z-index:10;background:var(--bg-card);width:40px;height:40px;color:var(--text-main);border:1px solid var(--border-mod);box-shadow:var(--shadow-sm);border-radius:10px;justify-content:center;align-items:center;transition:background .2s,transform .2s;display:inline-flex;position:fixed;top:24px;left:24px}.landing-back-btn:hover{background:var(--bg-hover);transform:translate(-2px)}.booking-minimal-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:32px 16px 48px;display:flex}.booking-landing{--landing-bg:var(--cb-cream);--landing-ink:#1a1714;--landing-ink-soft:#6b5c52;--landing-border:#1a171429;--landing-accent:#d98976;min-height:100vh;color:var(--landing-ink);font-family:var(--font-serif);background-color:#0000;padding:32px 24px 80px;font-weight:500}.booking-landing-hero{max-width:640px;margin:0 auto 36px}.landing-title-link{color:inherit;cursor:pointer;text-decoration:none;display:inline-block}.landing-title-link:hover .landing-title{opacity:.85}.booking-landing .booking-container{max-width:640px;margin:0 auto;padding:0}.booking-landing .booking-form-card{border:1px solid var(--landing-border);border-radius:var(--radius-lg);color:var(--landing-ink);background:#fff;padding:40px;box-shadow:0 10px 32px #1a17140f}.booking-landing .booking-step{border-bottom:1px solid var(--landing-border)}.booking-landing .booking-step:last-child{border-bottom:none}.booking-landing .booking-step-title{font-family:var(--font-sans);color:var(--landing-ink);letter-spacing:-.005em;font-size:18px;font-weight:600}.booking-landing .booking-step-number{background:var(--landing-ink);color:#fff;font-family:var(--font-sans);font-weight:700}.booking-landing .calendar-header strong{color:var(--landing-ink);font-family:var(--font-sans)}.booking-landing .btn-ghost{color:var(--landing-ink-soft)}.booking-landing .btn-ghost:hover{color:var(--landing-ink);background:#1a17140a}.booking-landing .calendar-nav-btn{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.booking-landing .day-header{color:var(--landing-ink-soft);font-family:var(--font-sans)}.booking-landing .date-cell,.booking-landing .time-btn,.booking-landing .party-btn,.booking-landing .pref-btn{border:1px solid var(--landing-border);color:var(--landing-ink);font-family:var(--font-sans);background:#fff;font-weight:600}.booking-landing .date-cell:not(.selected):hover:not(:disabled),.booking-landing .time-btn:not(.selected):hover,.booking-landing .party-btn:not(.selected):hover,.booking-landing .pref-btn:not(.selected):hover{border-color:var(--landing-ink);color:var(--landing-ink);background:#fff}.booking-landing .date-cell.selected,.booking-landing .time-btn.selected,.booking-landing .party-btn.selected,.booking-landing .pref-btn.selected{background:var(--landing-ink);color:#fff;border-color:var(--landing-ink)}.booking-landing .date-cell.today:not(.selected){box-shadow:inset 0 0 0 1px var(--landing-ink)}.booking-landing .form-label{color:var(--landing-ink);font-family:var(--font-sans);letter-spacing:.01em}.booking-landing .form-input,.booking-landing .form-select,.booking-landing .form-textarea{border:1px solid var(--landing-border);color:var(--landing-ink);font-family:var(--font-sans);background:#fff;font-weight:500}.booking-landing .form-input::placeholder,.booking-landing .form-textarea::placeholder{color:#b8a798}.booking-landing .form-input:focus,.booking-landing .form-select:focus,.booking-landing .form-textarea:focus{border-color:var(--landing-ink);background:#fff;box-shadow:0 0 0 3px #1a171414}.booking-landing .booking-form-card div[style*=bg-hover]{border:1px solid var(--landing-border);background:#faf1e9!important}.booking-landing .booking-summary-title{font-family:var(--font-sans);letter-spacing:-.005em;color:var(--landing-ink);text-transform:none;margin:0 0 12px;font-size:18px;font-weight:600}.booking-landing .booking-privacy-note{font-family:var(--font-sans);color:var(--landing-ink-soft);text-align:center;margin-top:16px;font-size:13px;font-weight:400;line-height:1.6}.booking-landing .confirmation-row{border-bottom-color:var(--landing-border)}.booking-landing .confirmation-row .label{color:var(--landing-ink-soft);font-family:var(--font-sans)}.booking-landing .confirmation-row .value{color:var(--landing-ink);font-family:var(--font-sans)}.booking-landing .btn-primary{background:var(--landing-ink);color:#fff;box-shadow:none;font-family:var(--font-sans);letter-spacing:.01em;font-weight:600;transition:background .15s,transform .1s}.booking-landing .btn-primary:hover,.booking-landing .btn-primary:focus-visible{background:var(--landing-ink);color:#fff;box-shadow:none;filter:brightness(1.08);outline:none;transform:none}.booking-landing .btn-primary:active{filter:none;transform:translateY(.5px)}.booking-landing .btn-primary:disabled{opacity:.45;cursor:not-allowed;filter:none}.booking-landing .btn-outline{border:1px solid var(--landing-border);color:var(--landing-ink);font-family:var(--font-sans);background:#fff;font-weight:600}.booking-landing .btn-outline:hover{background:#faf1e9;border-color:#1a17144d}.booking-landing .btn-secondary{color:var(--landing-ink);font-family:var(--font-sans);background:#faf1e9;font-weight:600}.booking-landing .btn-secondary:hover{color:var(--landing-ink);background:#f3e3d3}.booking-landing .badge{font-family:var(--font-sans)}.booking-landing .confirmation-ref{color:var(--landing-ink)!important}.booking-landing .confirmation-card h2{font-family:var(--font-sans);color:var(--landing-ink);text-transform:none;letter-spacing:-.005em}.booking-landing .booking-form-card div[style*=danger-bg]{font-family:var(--font-sans);color:#b91c1c!important;background:#ef44441a!important}.booking-landing-footer{max-width:640px;font-family:var(--font-serif);color:var(--landing-ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:40px auto 0;font-size:13px;font-weight:500;display:flex}.booking-landing-footer a{color:var(--landing-ink);text-underline-offset:3px;-webkit-tap-highlight-color:transparent;text-decoration:underline}.booking-landing-footer a:hover,.booking-landing-footer a:focus-visible{color:var(--landing-ink);opacity:.7;outline:none}.booking-landing .booking-form-card h2{font-family:var(--font-sans);color:var(--landing-ink);letter-spacing:-.005em;text-transform:none;font-weight:600}.booking-landing .text-muted{color:var(--landing-ink-soft)}@media (max-width:640px){.booking-landing{padding:16px 14px 64px}.booking-landing .booking-form-card{border-radius:var(--radius-md);padding:24px}.booking-landing-hero{margin-bottom:24px}.landing-page{padding:16px 14px}.landing-inner{gap:12px}.landing-hours-row{grid-template-columns:1fr auto 1fr;justify-content:stretch;gap:10px;max-width:none}.landing-hours-left{text-align:left}.landing-hours-right{text-align:right}.landing-hours-col{font-size:11.5px;line-height:1.45}.landing-icon-img{width:clamp(80px,22vw,110px);max-height:32vh}.landing-back-btn{top:16px;left:16px}}@media (max-width:400px){.landing-inner{gap:8px}.landing-hours-col{font-size:11px}.landing-icon-img{width:80px}.landing-footer{gap:6px}.landing-contact{margin-top:4px}}.events-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.event-card{border:1px solid var(--landing-border);border-radius:var(--radius-lg);color:var(--landing-ink);background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;text-decoration:none;transition:border-color .18s,transform .12s,box-shadow .18s;display:flex}.event-card:hover,.event-card:focus-visible{border-color:var(--landing-ink);outline:none;transform:translateY(-1px);box-shadow:0 6px 20px #1a171414}.event-card-main{flex:1;min-width:0}.event-card-date{font-family:var(--font-sans);color:var(--landing-ink-soft);text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:12px;font-weight:600}.event-card-title{font-family:var(--font-sans);letter-spacing:-.005em;color:var(--landing-ink);margin:0 0 8px;font-size:18px;font-weight:600}.event-card-meta{font-family:var(--font-sans);color:var(--landing-ink-soft);flex-wrap:wrap;gap:8px;margin:0 0 10px;font-size:13px;display:flex}.event-card-description{font-family:var(--font-sans);color:var(--landing-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.event-card-chevron{color:var(--landing-ink-soft);flex-shrink:0}.event-card:hover .event-card-chevron,.event-card:focus-visible .event-card-chevron{color:var(--landing-ink)}@media (max-width:640px){.event-card{padding:18px 20px}.event-card-title{font-size:17px}}.allergen-desktop{display:block}.allergen-mobile{display:none}.allergen-table{border-collapse:collapse;width:100%;font-size:13px}.allergen-table th,.allergen-table td{border:none;padding:0}.allergen-dish-col{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;min-width:180px;padding:10px 20px;font-size:12px;font-weight:600}.allergen-abbr-col{text-align:center;color:var(--text-muted);white-space:nowrap;width:40px;padding:10px 6px;font-size:11px;font-weight:700}.allergen-dish-cell{border-top:1px solid var(--border-light);vertical-align:middle;padding:12px 20px}.allergen-cell{text-align:center;border-top:1px solid var(--border-light);vertical-align:middle;width:40px;padding:12px 6px}.allergen-dot{color:var(--warning-text);font-size:20px;line-height:1}@media (max-width:760px){.allergen-desktop{display:none}.allergen-mobile{display:block}}.journal-body h1,.journal-body h2,.journal-body h3,.journal-body h4{color:var(--landing-ink,#1a1714);margin:2em 0 .6em;font-weight:500;line-height:1.2}.journal-body h1{font-size:1.6em}.journal-body h2{font-size:1.3em}.journal-body h3{font-size:1.1em}.journal-body p{margin:0 0 1.2em}.journal-body ul,.journal-body ol{margin:0 0 1.2em;padding-left:1.5em}.journal-body li{margin-bottom:.4em}.journal-body blockquote{border-left:3px solid var(--landing-border,#1a171426);color:var(--landing-ink-soft,#6b5c52);margin:1.5em 0;padding:.5em 0 .5em 1em;font-style:italic}.journal-body code{background:#1a17140f;border-radius:4px;padding:.15em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em}.journal-body pre{background:#1a17140f;border-radius:6px;margin:0 0 1.2em;padding:1em;overflow-x:auto}.journal-body pre code{background:0 0;padding:0}.journal-body hr{border:none;border-top:1px solid var(--landing-border,#1a17141f);margin:2em 0}.journal-body a{color:var(--landing-ink,#1a1714);text-decoration:underline}.journal-body img{border-radius:6px;max-width:100%;margin:1em 0}.journal-body strong{font-weight:600}.admin-layout .journal-body h1,.admin-layout .journal-body h2,.admin-layout .journal-body h3,.admin-layout .journal-body h4{color:var(--admin-ink)}.admin-layout .journal-body a{color:var(--primary)}
