.reservation-hero{position:relative;overflow:hidden;color:var(--color-text)}.reservation-hero__media{position:absolute;inset:0;z-index:0}.reservation-hero__media img{width:100%;height:100%;object-fit:cover}.reservation-hero__content{position:relative;z-index:1;max-width:640px;padding-top:var(--space-20);padding-bottom:var(--space-20)}.reservation-hero__badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 14px;border-radius:var(--radius-pill);border:1px solid rgba(210,167,84,0.5);background:rgba(6,6,8,0.8);font-size:var(--font-size-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--color-accent-gold);margin-bottom:var(--space-4)}.reservation-hero__lead{font-size:var(--font-size-lg);color:var(--color-text-muted);max-width:32rem}.reservation-hero__cta-group{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6)}.reservation-hero__meta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-muted)}.reservation-section-header{margin-bottom:var(--space-8)}.reservation-section-header--center{text-align:center;max-width:640px;margin-left:auto;margin-right:auto}.reservation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}.reservation-step{display:flex;gap:var(--space-4)}.reservation-step__index{width:36px;height:36px;border-radius:50%;border:1px solid rgba(210,167,84,0.7);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.1rem;color:var(--color-accent-gold);flex-shrink:0}.reservation-step__content h3{font-size:var(--font-size-xl)}.reservation-module__grid{align-items:flex-start;gap:var(--space-10)}.reservation-form{display:flex;flex-direction:column;gap:var(--space-4)}.reservation-form__row{display:flex;flex-wrap:wrap;gap:var(--space-4)}.reservation-form__field{flex:1 1 180px}.reservation-form__submit{margin-top:var(--space-4)}.reservation-form__legal{margin-top:var(--space-3);font-size:var(--font-size-xs)}.guest-counter{display:flex;align-items:stretch;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,0.18);overflow:hidden;background-color:rgba(9,10,13,0.9)}.guest-counter__btn{width:40px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}.guest-counter__btn:hover{background-color:rgba(255,255,255,0.04);color:var(--color-text)}.guest-counter__input{border:none;background:transparent;text-align:center;max-width:70px}.reservation-preview__card{height:100%}.reservation-preview__list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.reservation-preview__list span{color:var(--color-text)}.reservation-layout__grid{align-items:center;gap:var(--space-10)}.reservation-layout__figure{max-width:520px;justify-self:center}.reservation-menu-preview__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}.reservation-menu-item__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.reservation-vip__grid{align-items:flex-start;gap:var(--space-10)}.reservation-vip__list{display:flex;flex-direction:column;gap:var(--space-4)}.reservation-vip__note{align-self:stretch}.reservation-terms__grid{gap:var(--space-10)}.reservation-terms__block{margin-bottom:var(--space-4)}.reservation-terms__block--highlight{align-self:stretch;border-radius:var(--radius-lg);padding:var(--space-8);background:radial-gradient(circle at top left,rgba(210,167,84,0.12),transparent 55%),linear-gradient(145deg,#101218,#060608);border:1px solid rgba(210,167,84,0.4);box-shadow:var(--shadow-subtle)}.reservation-terms__list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.reservation-terms__list span{color:var(--color-text)}.reservation-confirmation__grid{align-items:flex-start;gap:var(--space-10)}.reservation-confirmation__panel{align-self:stretch}.reservation-confirmation__status{color:var(--color-accent-gold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:0.18em;margin-bottom:var(--space-4)}.reservation-confirmation__summary{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.reservation-confirmation__summary span{color:var(--color-text)}.reservation-faq__list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-3)}.reservation-faq__item{border-radius:var(--radius-md);border:1px solid rgba(255,255,255,0.08);background-color:rgba(9,10,13,0.9)}.reservation-faq__trigger{width:100%;text-align:left;padding:var(--space-4);font-size:var(--font-size-md);display:flex;justify-content:space-between;align-items:center;cursor:pointer}.reservation-faq__trigger::after{content:"+";font-family:var(--font-display);margin-left:var(--space-4);transition:transform var(--transition-base)}.reservation-faq__trigger[aria-expanded="true"]::after{content:"−";transform:rotate(180deg)}.reservation-faq__content{padding:0 var(--space-4) var(--space-4)}.reservation-occasion__grid{align-items:flex-start;gap:var(--space-10)}.reservation-occasion-form{display:flex;flex-direction:column;gap:var(--space-4)}.reservation-occasion__note{align-self:stretch}.reservation-contact-cta__grid{align-items:stretch;gap:var(--space-10)}.reservation-contact-cta__visual{border-radius:var(--radius-lg);overflow:hidden;min-height:260px}.reservation-contact-cta__visual img{width:100%;height:100%;object-fit:cover}.reservation-contact-cta__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}.reservation-contact-form{display:flex;flex-direction:column;gap:var(--space-4)}.reservation-contact-form__submit{margin-top:var(--space-2)}.reservation-contact-form__note{font-size:var(--font-size-xs)}@media (max-width:900px){.reservation-hero__content{padding-top:var(--space-16);padding-bottom:var(--space-16)}.reservation-hero__meta{flex-direction:column;align-items:flex-start}.reservation-steps{grid-template-columns:minmax(0,1fr)}.reservation-module__grid,.reservation-layout__grid,.reservation-vip__grid,.reservation-terms__grid,.reservation-confirmation__grid,.reservation-occasion__grid,.reservation-contact-cta__grid{gap:var(--space-8)}.reservation-menu-preview__grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.reservation-hero__badge{font-size:var(--font-size-2xs)}.reservation-form__row{flex-direction:column}.reservation-contact-cta__visual{order:-1}.reservation-hero__cta-group{flex-direction:column;align-items:flex-start}}
