main.foglalas-page { background: var(--color-night-purple); }

.foglalas-page .booking-hero { padding-block: clamp(4rem, 8vw, 7rem); }
.foglalas-page .booking-hero__grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(2rem,4vw,3rem); align-items:center; min-height:43rem; }
.foglalas-page .booking-hero__copy { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-5); }
.foglalas-page .booking-hero__copy > * { min-width:0; margin:0; }
.foglalas-page .booking-hero__title { max-width:14ch; hyphens:auto; text-shadow:3px 3px 0 rgba(113,55,216,.35); }
.foglalas-page .booking-hero__lead { max-width:38ch; color:var(--color-paper-lilac); font-size:var(--text-intro); font-weight:500; line-height:var(--leading-intro); }
.foglalas-page .booking-hero__actions { display:flex; flex-wrap:wrap; gap:var(--space-3); width:100%; }
.foglalas-page .booking-hero__actions > * { min-width:0; }
.foglalas-page .booking-hero__offline { max-width:40ch; padding:var(--space-3) var(--space-4); border-inline-start:2px solid var(--color-offline-red); background:rgba(255,107,120,.08); color:var(--color-paper-lilac); font-size:var(--text-small); overflow-wrap:anywhere; }
.foglalas-page .booking-hero__offline strong { color:var(--color-offline-red); }
.foglalas-page .booking-hero__media { width:100%; min-width:0; margin:0; padding:10px; border:1px solid var(--color-chrome-silver); border-radius:var(--radius-frame); background:var(--color-plum-surface); box-shadow:var(--shadow-offset); position:relative; }
.foglalas-page .booking-hero__media::before { content:""; position:absolute; inset:-2px; z-index:-1; background:var(--gradient-neon); border-radius:15px; opacity:.7; }
.foglalas-page .booking-hero__media img { width:100%; aspect-ratio:4 / 5; object-fit:cover; object-position:center; border-radius:8px; }

.foglalas-page .section-heading { display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); margin-bottom:var(--space-7); }
.foglalas-page .section-heading > * { min-width:0; margin:0; }
.foglalas-page .section-heading h2 { hyphens:auto; }
.foglalas-page .process-heading { max-width:58ch; }
.foglalas-page .process-heading p { max-width:58ch; color:var(--color-muted-lilac); }
.foglalas-page .process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); position:relative; }
.foglalas-page .process-grid > * { min-width:0; width:100%; }
.foglalas-page .process-card { display:flex; flex-direction:column; gap:var(--space-4); min-width:0; padding:var(--space-6); border:1px solid var(--color-border); border-radius:var(--radius-card); background:var(--color-plum-surface); box-shadow:var(--shadow-offset); }
.foglalas-page .process-card > * { min-width:0; margin:0; }
.foglalas-page .process-card__number { color:var(--color-warm-yellow); font-family:var(--font-display); font-size:var(--text-index); font-weight:700; line-height:var(--leading-index); }
.foglalas-page .process-card p { max-width:34ch; color:var(--color-muted-lilac); }
.foglalas-page .process-card__meta { display:flex; flex-wrap:wrap; gap:var(--space-2); color:var(--color-signal-turquoise); font-family:var(--font-display); font-size:var(--text-label); font-weight:700; letter-spacing:var(--tracking-label); line-height:var(--leading-label); text-transform:uppercase; }
.foglalas-page .process-card__offline { color:var(--color-offline-red); font-size:var(--text-small); }

.foglalas-page .formats-heading { max-width:62ch; }
.foglalas-page .formats-heading p { max-width:62ch; color:var(--color-muted-lilac); }
.foglalas-page .formats-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-5); }
.foglalas-page .formats-grid > * { min-width:0; width:100%; }
.foglalas-page .format-card { display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); min-width:0; padding:var(--space-6); border:1px solid var(--color-border); border-top:3px solid var(--format-accent,var(--color-signal-turquoise)); border-radius:var(--radius-card); background:var(--color-plum-surface); box-shadow:var(--shadow-offset); text-align:left; }
.foglalas-page .format-card > * { min-width:0; margin:0; }
.foglalas-page .format-card[data-format="Kurált vacsora"] { --format-accent:var(--color-warm-yellow); }
.foglalas-page .format-card[data-format="Lounge-találkozó"] { --format-accent:var(--color-signal-turquoise); }
.foglalas-page .format-card[data-format="Privát asztaligény"] { --format-accent:var(--color-hot-pink); }
.foglalas-page .format-card[data-format="Tematikus asztali élmény"] { --format-accent:var(--color-electric-violet); }
.foglalas-page .format-card__index { color:var(--format-accent,var(--color-signal-turquoise)); font-family:var(--font-display); font-size:var(--text-meta); font-weight:700; letter-spacing:var(--tracking-meta); line-height:var(--leading-meta); }
.foglalas-page .format-card p { max-width:42ch; color:var(--color-muted-lilac); }
.foglalas-page .format-card__action { display:flex; align-items:center; gap:var(--space-2); color:var(--color-signal-turquoise); font-family:var(--font-display); font-size:var(--text-label); font-weight:700; letter-spacing:var(--tracking-label); line-height:var(--leading-label); text-transform:uppercase; }
.foglalas-page .format-card__action::before { content:"▸"; color:var(--format-accent,var(--color-signal-turquoise)); }
.foglalas-page .format-card__selected { display:none; color:var(--color-paper-lilac); font-family:var(--font-display); font-size:var(--text-label); font-weight:700; letter-spacing:var(--tracking-label); line-height:var(--leading-label); text-transform:uppercase; }
.foglalas-page .format-card.is-selected { border-color:var(--color-paper-lilac); box-shadow:var(--shadow-offset-accent); }
.foglalas-page .format-card.is-selected .format-card__selected { display:block; }
.foglalas-page .format-card__notice { padding-top:var(--space-3); border-top:1px solid rgba(255,107,120,.5); color:var(--color-offline-red); font-size:var(--text-small); }
.foglalas-page .format-card:hover { border-color:var(--color-signal-turquoise); box-shadow:var(--shadow-offset-accent); }

.foglalas-page .booking-console { background:linear-gradient(180deg,rgba(113,55,216,.12),transparent 18%),var(--color-night-purple); }
.foglalas-page .booking-console__panel { width:min(100%,67.5rem); margin-inline:auto; padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--color-chrome-silver); outline:1px solid rgba(185,183,201,.44); outline-offset:6px; border-radius:var(--radius-card); background:var(--color-plum-surface); box-shadow:var(--shadow-offset); position:relative; }
.foglalas-page .booking-console__panel::before,.foglalas-page .booking-console__panel::after { content:""; position:absolute; width:38px; height:38px; border-color:var(--color-electric-violet); pointer-events:none; }
.foglalas-page .booking-console__panel::before { top:12px; left:12px; border-top:2px solid; border-left:2px solid; }
.foglalas-page .booking-console__panel::after { right:12px; bottom:12px; border-right:2px solid; border-bottom:2px solid; }
.foglalas-page .booking-console__header { display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); max-width:60ch; margin-bottom:var(--space-7); }
.foglalas-page .booking-console__header > * { min-width:0; margin:0; }
.foglalas-page .booking-console__header p:last-child { color:var(--color-muted-lilac); }
.foglalas-page .booking-form { display:grid; grid-template-columns:repeat(2,minmax(250px,1fr)); gap:var(--space-5); }
.foglalas-page .booking-form > * { min-width:0; width:100%; }
.foglalas-page .form-field { display:flex; flex-direction:column; gap:var(--space-2); }
.foglalas-page .form-field label { margin:0; }
.foglalas-page .form-field input,.foglalas-page .form-field select,.foglalas-page .form-field textarea { border-radius:var(--radius-control); }
.foglalas-page .form-field textarea { min-height:9rem; }
.foglalas-page .form-field--full,.foglalas-page .form-submit { grid-column:1 / -1; }
.foglalas-page .form-helper,.foglalas-page .form-examples { margin:0; max-width:52ch; color:var(--color-muted-lilac); font-size:var(--text-small); line-height:var(--leading-small); }
.foglalas-page .form-error { min-height:1.2em; margin:0; color:var(--color-offline-red); font-size:var(--text-small); line-height:var(--leading-small); overflow-wrap:anywhere; }
.foglalas-page .form-conditional { display:none; }
.foglalas-page .form-conditional.is-open { display:flex; }
.foglalas-page .form-consent { display:flex; align-items:flex-start; gap:var(--space-3); margin:0; color:var(--color-muted-lilac); font-family:var(--font-body); font-size:var(--text-small); font-weight:400; letter-spacing:0; line-height:var(--leading-small); text-transform:none; }
.foglalas-page .form-consent input { width:1.125rem; min-width:1.125rem; min-height:1.125rem; margin-top:.18rem; }
.foglalas-page .form-submit { display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); }
.foglalas-page .form-submit > * { min-width:0; margin:0; }
.foglalas-page .form-submit .notice-offline { max-width:60ch; font-size:var(--text-small); }
.foglalas-page .form-success { display:none; grid-column:1 / -1; padding:var(--space-5); border:1px solid var(--color-signal-turquoise); background:rgba(56,224,208,.08); color:var(--color-paper-lilac); overflow-wrap:anywhere; }
.foglalas-page .form-success.is-visible { display:block; }

.foglalas-page .arrival-heading { max-width:55ch; }
.foglalas-page .arrival-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); }
.foglalas-page .arrival-grid > * { min-width:0; width:100%; }
.foglalas-page .arrival-card { display:flex; flex-direction:column; gap:var(--space-4); min-width:0; padding:var(--space-6); border:1px solid var(--color-border); border-radius:var(--radius-card); background:rgba(37,20,67,.72); }
.foglalas-page .arrival-card > * { min-width:0; margin:0; }
.foglalas-page .arrival-card p { max-width:38ch; color:var(--color-muted-lilac); }
.foglalas-page .arrival-card__mark { color:var(--color-warm-yellow); font-family:var(--font-display); font-size:var(--text-index); font-weight:700; line-height:var(--leading-index); }
.foglalas-page .arrival-card--offline { border-top:3px solid var(--color-offline-red); }
.foglalas-page .arrival-card--offline .arrival-card__mark { color:var(--color-offline-red); }
.foglalas-page .arrival-card__note { color:var(--color-offline-red); font-size:var(--text-small); }

.foglalas-page .venue-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,4fr); gap:clamp(2rem,5vw,4rem); align-items:center; }
.foglalas-page .venue-grid > * { min-width:0; width:100%; }
.foglalas-page .venue-media { margin:0; padding:8px; border:1px solid var(--color-border); border-radius:var(--radius-frame); background:var(--color-plum-surface); }
.foglalas-page .venue-media img { width:100%; aspect-ratio:3 / 2; object-fit:cover; border-radius:8px; }
.foglalas-page .venue-copy { display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); }
.foglalas-page .venue-copy > * { min-width:0; margin:0; }
.foglalas-page .venue-copy p { max-width:50ch; color:var(--color-muted-lilac); }
.foglalas-page .venue-tags { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.foglalas-page .venue-tags span { min-width:0; padding:var(--space-2) var(--space-3); border:1px solid rgba(56,224,208,.6); color:var(--color-signal-turquoise); font-family:var(--font-display); font-size:var(--text-label); font-weight:700; letter-spacing:var(--tracking-label); line-height:var(--leading-label); text-transform:uppercase; }
.foglalas-page .venue-callout { max-width:45ch; padding:var(--space-4); border:1px solid var(--color-signal-turquoise); background:rgba(56,224,208,.07); color:var(--color-paper-lilac); }
.foglalas-page .venue-callout a { color:var(--color-signal-turquoise); }

.foglalas-page .clarity-panel { width:min(100%,64rem); margin-inline:auto; padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--color-border); border-top:3px solid var(--color-offline-red); border-radius:var(--radius-card); background:var(--color-plum-surface); }
.foglalas-page .clarity-panel__intro { display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); max-width:66ch; margin-bottom:var(--space-6); }
.foglalas-page .clarity-panel__intro > * { min-width:0; margin:0; }
.foglalas-page .clarity-panel__intro p { color:var(--color-muted-lilac); }
.foglalas-page .exclusion-list { display:grid; grid-template-columns:repeat(2,minmax(300px,1fr)); gap:var(--space-3) var(--space-5); margin:0 0 var(--space-6); padding:0; list-style:none; }
.foglalas-page .exclusion-list > li { display:flex; align-items:center; min-width:0; min-height:2.75rem; gap:var(--space-3); padding:var(--space-2) 0; color:var(--color-paper-lilac); }
.foglalas-page .exclusion-list > li::before { content:"×"; flex:0 0 auto; color:var(--color-offline-red); font-family:var(--font-display); font-size:1.25rem; font-weight:700; }
.foglalas-page .clarity-panel__prop { max-width:50ch; margin:0; padding:var(--space-4); border:1px solid var(--color-border); color:var(--color-muted-lilac); font-size:var(--text-small); }

.foglalas-page .faq-heading { align-items:center; max-width:58ch; margin-inline:auto; text-align:center; }
.foglalas-page .faq-heading p { max-width:58ch; color:var(--color-muted-lilac); }
.foglalas-page .faq-list { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-3); width:min(100%,51.5rem); margin-inline:auto; }
.foglalas-page .faq-list > * { min-width:0; width:100%; }
.foglalas-page .faq-item { border-bottom:1px solid var(--color-border); }
.foglalas-page .faq-question { display:flex; width:100%; min-width:0; min-height:3.5rem; align-items:center; justify-content:space-between; gap:var(--space-4); padding:var(--space-4) 0; border:0; background:transparent; color:var(--color-paper-lilac); font-family:var(--font-display); font-size:var(--text-small); font-weight:700; letter-spacing:var(--tracking-display); line-height:1.35; text-align:left; }
.foglalas-page .faq-question > span:first-child { min-width:0; }
.foglalas-page .faq-question__state { flex:0 0 auto; color:var(--color-signal-turquoise); font-size:var(--text-label); letter-spacing:var(--tracking-label); text-transform:uppercase; }
.foglalas-page .faq-answer { display:none; max-width:64ch; padding-bottom:var(--space-5); color:var(--color-muted-lilac); }
.foglalas-page .faq-answer p { margin:0; }
.foglalas-page .faq-item.is-open .faq-answer { display:block; }
.foglalas-page .faq-item.is-open .faq-question__state { color:var(--color-warm-yellow); }

.foglalas-page .closing-panel { width:min(100%,64rem); margin-inline:auto; padding:clamp(1.5rem,4vw,3rem); border-radius:var(--radius-frame); background:var(--color-warm-yellow); color:var(--color-ink-purple); text-align:center; }
.foglalas-page .closing-panel__content { display:flex; flex-direction:column; align-items:center; gap:var(--space-4); max-width:60ch; margin-inline:auto; }
.foglalas-page .closing-panel__content > * { min-width:0; margin:0; }
.foglalas-page .closing-panel .eyebrow,.foglalas-page .closing-panel h2 { color:var(--color-ink-purple); }
.foglalas-page .closing-panel p { max-width:60ch; }
.foglalas-page .closing-panel__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-3); width:100%; margin-top:var(--space-2); }
.foglalas-page .closing-panel__actions > * { min-width:0; }
.foglalas-page .closing-panel .button { border-color:var(--color-ink-purple); background:var(--color-ink-purple); color:var(--color-warm-yellow); }
.foglalas-page .closing-panel .button-secondary { border-color:var(--color-ink-purple); color:var(--color-ink-purple); }
.foglalas-page .closing-panel .button-secondary:hover { background:rgba(33,18,53,.12); color:var(--color-ink-purple); box-shadow:4px 4px 0 rgba(33,18,53,.28); }
.foglalas-page .closing-panel__note { font-size:var(--text-small); }

@media (max-width: 980px) {
  .foglalas-page .booking-hero__grid { grid-template-columns:minmax(0,1fr); min-height:0; }
  .foglalas-page .booking-hero__copy { max-width:42rem; }
  .foglalas-page .booking-hero__media img { aspect-ratio:3 / 2; }
  .foglalas-page .venue-grid { grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
  .foglalas-page .venue-copy { max-width:50ch; }
}
@media (max-width: 900px) {
  .foglalas-page .process-grid,.foglalas-page .arrival-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .foglalas-page .process-grid > :nth-child(3),.foglalas-page .arrival-grid > :nth-child(3) { grid-column:1 / -1; }
}
@media (max-width: 820px) { .foglalas-page .booking-form { grid-template-columns:minmax(0,1fr); } .foglalas-page .form-field--full,.foglalas-page .form-submit,.foglalas-page .form-success { grid-column:1; } }
@media (max-width: 760px) { .foglalas-page .exclusion-list { grid-template-columns:minmax(0,1fr); } .foglalas-page .closing-panel__actions { flex-direction:column; align-items:stretch; } .foglalas-page .closing-panel__actions > * { width:100%; } }
@media (max-width: 699px) {
  .foglalas-page .booking-hero { padding-top:var(--space-8); }
  .foglalas-page .booking-hero__title { max-width:12ch; font-size:clamp(2.875rem,13vw,4.25rem); }
  .foglalas-page .booking-hero__actions { flex-direction:column; align-items:stretch; }
  .foglalas-page .booking-hero__actions > * { width:100%; }
  .foglalas-page .section-heading { margin-bottom:var(--space-6); }
  .foglalas-page .process-grid,.foglalas-page .formats-grid,.foglalas-page .arrival-grid { grid-template-columns:minmax(0,1fr); gap:var(--space-4); }
  .foglalas-page .process-grid > :nth-child(3),.foglalas-page .arrival-grid > :nth-child(3) { grid-column:1; }
  .foglalas-page .process-card,.foglalas-page .format-card,.foglalas-page .arrival-card { padding:var(--space-5); }
  .foglalas-page .booking-console__panel { padding:var(--space-5); outline-offset:4px; }
  .foglalas-page .booking-console__header { margin-bottom:var(--space-6); }
  .foglalas-page .form-submit .button { width:100%; }
  .foglalas-page .clarity-panel { padding:var(--space-5); }
  .foglalas-page .faq-heading { align-items:flex-start; margin-inline:0; text-align:left; }
  .foglalas-page .faq-list { width:100%; }
  .foglalas-page .closing-panel { padding:var(--space-5); }
}
@media (prefers-reduced-motion: no-preference) { .foglalas-page .booking-hero__media img,.foglalas-page .venue-media img { transition:transform var(--transition-image); } .foglalas-page .booking-hero__media:hover img,.foglalas-page .venue-media:hover img { transform:scale(1.015); } }
