body{display:block;min-height:100vh;position:relative}.page-hero{padding:120px 0 60px;text-align:center;background:var(--color-black)}.page-title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:900;margin-bottom:var(--space-md);line-height:1.1;text-transform:uppercase;letter-spacing:.02em}.page-subtitle{font-family:var(--font-body);font-size:clamp(1rem,2vw,1.25rem);color:var(--color-gray-light);max-width:600px;margin:0 auto}.floor-plan-section{padding:var(--space-2xl) 0;background:var(--color-black);min-height:100vh}.floor-plan-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding:var(--space-lg);background:#ffffff08;border-radius:var(--radius-lg);border:var(--border-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);flex-wrap:wrap;gap:var(--space-md);position:relative;z-index:20}.date-selector{display:flex;align-items:center;gap:var(--space-md)}.date-input-wrapper{display:flex;align-items:center;gap:var(--space-sm)}.calendar-toggle-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-gold);border-radius:var(--radius-sm);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.calendar-toggle-btn:hover{background:#fbbf241a;border-color:var(--color-gold);transform:scale(1.05)}.calendar-toggle-btn.active{background:var(--color-gold);color:var(--color-black)}.date-selector-wrapper{display:flex;flex-direction:column;gap:var(--space-lg);position:relative}.availability-calendar{background:#000000f2;border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--color-gold-dim);min-width:280px;position:absolute;top:100%;left:0;z-index:9999;box-shadow:0 10px 40px #00000080;animation:dropdownSlideIn .2s ease}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.availability-calendar.hidden{display:none}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.cal-nav-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-white);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.cal-nav-btn:hover{background:#ffffff1a;border-color:var(--color-gold)}.cal-month-label{font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--color-white);text-transform:uppercase;letter-spacing:.03em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-header{font-family:var(--font-body);font-size:.7rem;color:var(--color-gray);text-align:center;padding:4px 0;font-weight:600}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:.75rem;border-radius:4px;cursor:pointer;transition:all .2s;color:var(--color-gray);background:transparent;border:none;position:relative}.cal-day.other-month{opacity:.3}.cal-day.past{opacity:.3;cursor:not-allowed}.cal-day.open{background:#22c55e33;color:#4ade80;font-weight:600;cursor:pointer}.cal-day.open:hover{background:#22c55e66;transform:scale(1.1)}.cal-day.today{border:2px solid var(--color-gold)}.cal-day.selected{background:var(--color-gold)!important;color:var(--color-black)!important;font-weight:700}.calendar-legend-mini{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid rgba(255,255,255,.05)}.legend-mini{font-family:var(--font-body);font-size:.7rem;color:var(--color-gray)}.legend-mini.open{color:#4ade80}.legend-mini.today{color:var(--color-gold)}.date-selector label{font-family:var(--font-display);font-weight:700;color:var(--color-white);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.date-input{padding:12px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-white);font-family:var(--font-body);font-size:1rem;transition:all var(--transition-base);cursor:pointer}.date-input:hover{border-color:var(--color-gold);background:#ffffff14}.date-input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px #fbbf2426}.date-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;opacity:.7;transition:opacity .2s}.date-input:hover::-webkit-calendar-picker-indicator{opacity:1}.legend{display:flex;gap:var(--space-lg);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--space-sm);font-size:.95rem;color:var(--color-gray-light);font-family:var(--font-body)}.legend-color{width:16px;height:16px;border-radius:4px;position:relative}.legend-color.available{background:#22c55e33;border:1px solid rgba(34,197,94,.6);box-shadow:0 0 8px #22c55e33}.legend-color.reserved{background:#ef444433;border:1px solid rgba(239,68,68,.6);box-shadow:0 0 8px #ef444433}.legend-color.selected{background:#fbbf2433;border:1px solid var(--color-gold);box-shadow:0 0 8px #fbbf244d}.floor-plan-container{background:var(--color-black-light);border-radius:var(--radius-xl);padding:var(--space-xl);border:1px solid var(--color-black-lighter);position:relative;z-index:10;overflow:hidden}.floor-plan-container:after{content:"";position:absolute;inset:0;border-radius:var(--radius-xl);box-shadow:inset 0 0 40px #00000080;pointer-events:none}.floor-plan{width:100%;height:auto;max-width:1000px;margin:0 auto;display:block;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5))}.table{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.table-shape{fill:var(--color-black-lighter);stroke:#fff3;stroke-width:1.5;transition:all .3s ease}.table:hover .table-shape{stroke:var(--color-white);filter:drop-shadow(0 0 8px rgba(255,255,255,.3))}.table.reserved{cursor:not-allowed}.table.reserved .table-shape{fill:#ef44441a;stroke:#ef444466}.table.reserved:hover .table-shape{stroke:#ef444499}.table.blocked{cursor:not-allowed}.table.blocked .table-shape{fill:#f59e0b26;stroke:#f59e0b80;stroke-dasharray:4 2}.table.blocked:hover .table-shape{stroke:#f59e0bb3}.table.selected .table-shape{fill:#fbbf2433;stroke:var(--color-gold);stroke-width:2;filter:drop-shadow(0 0 15px rgba(251,191,36,.4))}.table-label{fill:#ffffffb3;font-family:var(--font-body);font-size:18px;font-weight:600;text-anchor:middle;dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none;transition:fill .3s}.table:hover .table-label,.table.selected .table-label{fill:var(--color-white)}.bar-label{fill:var(--color-gold);font-family:var(--font-display);font-size:24px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none;text-transform:uppercase;letter-spacing:.05em}.area-label{fill:#ffffff26;font-family:var(--font-display);font-size:20px;font-weight:900;text-anchor:middle;dominant-baseline:middle;pointer-events:none;text-transform:uppercase;letter-spacing:.15em}.dj-label{fill:var(--color-neon-yellow);font-family:var(--font-display);font-size:24px;font-weight:900;text-anchor:middle;dominant-baseline:middle;pointer-events:none;text-transform:uppercase;letter-spacing:.1em;filter:drop-shadow(0 0 5px var(--color-neon-yellow-glow))}.modal{display:none;position:fixed;inset:0;z-index:10000;align-items:center;justify-content:center}.modal.active{display:flex}.modal-backdrop{position:absolute;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content{position:relative;background:var(--color-black);border-radius:var(--radius-lg);padding:var(--space-2xl);max-width:600px;width:90%;max-height:90vh;overflow:hidden;border:1px solid var(--color-gold-dim);box-shadow:0 20px 60px #000c,0 0 0 1px #fbbf241a;animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:var(--space-md);right:var(--space-md);background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--color-gray);border-radius:50%;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.modal-close:hover{background:var(--color-white);color:var(--color-black);transform:rotate(90deg)}.modal-title{font-family:var(--font-display);font-size:2rem;font-weight:900;margin-bottom:var(--space-lg);padding-right:40px;color:var(--color-white);text-transform:uppercase}.modal-body{display:flex;flex-direction:column;gap:var(--space-xl);max-height:calc(90vh - 120px);overflow-y:auto;padding-right:8px}.table-info{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);padding:var(--space-lg);background:#ffffff08;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08)}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:.75rem;color:var(--color-gray);text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-display)}.info-value{font-size:1.1rem;font-weight:700;color:var(--color-gold);font-family:var(--font-body)}.reservation-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:var(--font-display);font-weight:700;color:var(--color-white);font-size:.9rem;text-transform:uppercase;letter-spacing:.02em}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;background:var(--color-black-light);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--color-white);font-family:var(--font-body);font-size:.95rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-gold);background:var(--color-black-light);box-shadow:0 0 0 2px #fbbf241a}.form-group textarea{resize:vertical;min-height:80px}.form-group select{cursor:pointer}.btn-full{width:100%;margin-top:var(--space-sm);background:var(--color-white);color:var(--color-black);border:none;font-family:var(--font-display);font-weight:900;text-transform:uppercase;letter-spacing:.1em;padding:16px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.btn-full:hover{background:var(--color-gold);transform:translateY(-2px);box-shadow:0 5px 20px #0000004d}.btn-full:disabled{opacity:.7;cursor:not-allowed;transform:none}@media(max-width:768px){.floor-plan-controls,.date-selector{flex-direction:column;align-items:stretch}.date-input{width:100%}.legend{justify-content:center;margin-top:var(--space-md)}.floor-plan-container{padding:var(--space-md)}.modal-content{padding:var(--space-lg);width:95%}.modal-title{font-size:1.5rem}.table-info{grid-template-columns:1fr 1fr}}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:#ffffff0d}.modal-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.modal-body::-webkit-scrollbar-thumb:hover{background:#fff6}.selection-bar{display:none;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);position:fixed;bottom:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,#140f0afa,#1e140ffa);border-top:1px solid var(--color-gold-dim);box-shadow:0 -10px 40px #00000080;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:slideUpFixed .3s ease}.selection-bar.active{display:flex}@keyframes slideUpFixed{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDownFixed{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.selection-bar.exiting{animation:slideDownFixed .3s ease forwards}.selection-info{display:flex;flex-direction:column;gap:4px}.selection-count{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--color-white);text-transform:uppercase;letter-spacing:.02em}.selection-capacity{font-family:var(--font-body);font-size:.9rem;color:var(--color-gold)}.reserve-selected-btn{padding:14px 28px;font-size:.95rem;white-space:nowrap}.reserve-selected-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:768px){.selection-bar{flex-direction:column;gap:var(--space-md);text-align:center}.selection-info{align-items:center}.reserve-selected-btn{width:100%}}
