.hero-reservation-shell{display:grid;grid-template-columns:minmax(0,1.5fr)minmax(0,1fr);gap:var(--space-20);align-items:flex-end}.hero-reservation-left{max-width:720px}.hero-reservation-right{max-width:440px;padding:var(--space-16);box-shadow:var(--shadow-soft)}.hero-reservation-meta{margin-top:var(--space-12)}.hero-reservation-cta{display:flex;flex-direction:column;gap:var(--space-4)}.hero-reservation-cta .btn-primary{width:100%}.reservation-layout{display:grid;grid-template-columns:minmax(0,2.1fr)minmax(0,1.2fr);gap:var(--space-20);align-items:flex-start}.reservation-main{padding:var(--space-20)}.reservation-header{margin-bottom:var(--space-16);max-width:720px}.reservation-steps{display:flex;flex-wrap:wrap;gap:var(--space-6);list-style:none;padding:0;margin:0 0 var(--space-16)}.reservation-step-item{display:flex;align-items:center;gap:var(--space-4);padding:6px 12px;border-radius:var(--radius-pill);background:rgba(0,0,0,.3);color:var(--color-text-soft);font-size:var(--font-size-xs);letter-spacing:.12em;text-transform:uppercase}.reservation-step-item--active{background:radial-gradient(circle at top left,rgba(227,193,111,.6),rgba(71,55,23,.95));color:var(--color-text-inverse);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.reservation-step-index{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;background:rgba(0,0,0,.6)}.reservation-form{display:flex;flex-direction:column;gap:var(--space-10)}.reservation-step-panel[hidden]{display:none}.reservation-summary{padding:var(--space-16)}.reservation-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8);margin:0}.reservation-summary-grid div{display:flex;flex-direction:column;gap:var(--space-2)}.reservation-summary-grid dt{font-size:var(--font-size-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-soft)}.reservation-summary-grid dd{margin:0;font-size:var(--font-size-md);color:var(--color-text-main)}.reservation-summary-note{margin-top:var(--space-8)}.reservation-nav{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-6)}.reservation-status{font-size:var(--font-size-sm)}.reservation-contact{padding:var(--space-16)}.reservation-contact-block{display:flex;flex-direction:column}.reservation-contact-main{font-size:var(--font-size-lg);font-weight:600;color:var(--color-primary-strong)}.reservation-links{display:flex;flex-direction:column;gap:var(--space-4)}.reservation-map{padding:var(--space-16)}.reservation-map-figure{margin:var(--space-8)0 0;border-radius:var(--radius-lg);overflow:hidden}.reservation-map-figure img{width:100%;height:auto}.availability-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-16)}.availability-toggle{display:flex;flex-wrap:wrap;gap:var(--space-6)}.availability-grid{padding:var(--space-16);display:flex;flex-direction:column;gap:var(--space-10)}.availability-legend{display:flex;flex-wrap:wrap;gap:var(--space-6)}.availability-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px}.availability-dot--free{background:var(--color-success)}.availability-dot--limited{background:var(--color-warning)}.availability-dot--full{background:var(--color-danger)}.availability-table{display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:hidden;border:1px solid rgba(255,255,255,.06)}.availability-row{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1.2fr));gap:var(--space-8);align-items:center;padding:10px var(--space-10);background:rgba(0,0,0,.4);cursor:pointer;text-align:left;transition:background-color var(--transition-med),box-shadow var(--transition-med),transform var(--transition-med)}.availability-row:nth-child(even){background:rgba(0,0,0,.6)}.availability-row:hover{background:radial-gradient(circle at top left,rgba(227,193,111,.15),rgba(0,0,0,.85));box-shadow:var(--shadow-soft);transform:translateY(-1px)}.availability-row--header{background:rgba(0,0,0,.9);font-size:var(--font-size-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-soft);cursor:default}.availability-row--header:hover{transform:none;box-shadow:none}.availability-row--header>div{padding-inline:2px}.availability-cell-label{font-weight:500}.availability-badge{display:inline-flex;align-items:center;justify-content:flex-start;padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--font-size-xs);white-space:nowrap}.availability-badge--free{background:rgba(79,209,165,.16);color:var(--color-success)}.availability-badge--limited{background:rgba(246,173,85,.16);color:var(--color-warning)}.availability-badge--full{background:rgba(245,101,101,.16);color:var(--color-danger)}.availability-note{font-size:var(--font-size-sm)}.vip-layout{display:grid;grid-template-columns:minmax(0,1.4fr)minmax(0,1.1fr);gap:var(--space-20);align-items:center;padding:var(--space-20)}.vip-content{max-width:720px}.vip-list{margin:var(--space-6)0 0;padding-left:1.25rem;color:var(--color-text-muted);font-size:var(--font-size-md)}.vip-list li+li{margin-top:var(--space-4)}.vip-cta{margin-top:var(--space-10);display:flex;flex-wrap:wrap;gap:var(--space-6)}.vip-media{margin:0;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-soft)}.vip-media img{width:100%;height:100%;object-fit:cover}.gallery-layout{display:grid;grid-template-columns:minmax(0,1.2fr)minmax(0,1.1fr);gap:var(--space-16);align-items:center;padding:var(--space-16)}.gallery-media{margin:0;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-soft)}.gallery-media img{width:100%;height:100%;object-fit:cover}.conditions-layout{display:grid;grid-template-columns:minmax(0,2fr)minmax(0,1.2fr);gap:var(--space-20);align-items:flex-start}.conditions-text{padding:var(--space-20)}.conditions-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-16);margin-top:var(--space-10)}.conditions-columns p{font-size:var(--font-size-md)}.contact-short{padding:var(--space-16);display:flex;flex-direction:column;gap:var(--space-8)}.contact-short-form{display:flex;flex-direction:column;gap:var(--space-6)}.contact-short-note{font-size:var(--font-size-sm)}.faq-layout{padding:var(--space-20);display:flex;flex-direction:column;gap:var(--space-16)}.faq-header{max-width:760px}.faq-list{border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.04);overflow:hidden}.faq-item+.faq-item{border-top:1px solid rgba(255,255,255,.06)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:var(--space-10) var(--space-14);font-size:var(--font-size-md);color:var(--color-text-main);background:rgba(0,0,0,.6);cursor:pointer;transition:background-color var(--transition-med)}.faq-question:hover{background:radial-gradient(circle at top left,rgba(227,193,111,.12),rgba(0,0,0,.9))}.faq-icon{font-size:1.1rem;color:var(--color-primary-soft);transition:transform var(--transition-med)}.faq-question[aria-expanded="true"] .faq-icon{transform:rotate(45deg)}.faq-answer{padding:0 var(--space-14) var(--space-10);background:rgba(0,0,0,.75)}.faq-footer{border-top:1px solid rgba(255,255,255,.06);padding-top:var(--space-10)}.reservation-link{text-decoration:underline;text-decoration-color:rgba(227,193,111,.6);text-underline-offset:3px}.reservation-link:hover{text-decoration-color:var(--color-primary-strong)}@media(max-width:1200px){.reservation-layout{grid-template-columns:minmax(0,1.8fr)minmax(0,1.2fr)}.conditions-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.hero-reservation-shell{grid-template-columns:minmax(0,1fr);gap:var(--space-16)}.hero-reservation-right{max-width:none}.reservation-layout{grid-template-columns:minmax(0,1fr)}.reservation-main{order:1}.reservation-sidebar{order:2}.vip-layout{grid-template-columns:minmax(0,1fr)}.gallery-layout{grid-template-columns:minmax(0,1fr)}.conditions-layout{grid-template-columns:minmax(0,1fr)}.conditions-columns{grid-template-columns:minmax(0,1fr)}.availability-row{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-row--header{display:none}}@media(max-width:640px){.reservation-summary-grid{grid-template-columns:minmax(0,1fr)}.reservation-nav{flex-direction:column;align-items:stretch}.reservation-nav .btn{width:100%}.vip-cta{flex-direction:column}.faq-question{padding-inline:var(--space-10)}.reservation-main,.conditions-text,.vip-layout,.gallery-layout{padding:var(--space-16)}}