#asztalfoglalas-page {
  background: var(--color-canvas-ivory);
}

#asztalfoglalas-page .section {
  min-width: 0;
}

#asztalfoglalas-page .booking-hero {
  padding-block: calc(var(--space-10) + var(--space-4)) var(--space-10);
}

#asztalfoglalas-page .booking-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: center;
  gap: var(--space-4);
}

#asztalfoglalas-page .booking-hero__grid > * { min-width: 0; }
#asztalfoglalas-page .booking-hero__copy { grid-column: 1 / span 1; }
#asztalfoglalas-page .booking-hero__media { grid-column: 3 / span 1; }

#asztalfoglalas-page .booking-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

#asztalfoglalas-page .booking-hero__copy > * { min-width: 0; margin: 0; }
#asztalfoglalas-page .booking-hero__copy h1 { max-width: 14ch; }
#asztalfoglalas-page .booking-hero__copy .lead { max-width: 52ch; font-size: clamp(1.0625rem, 1.4vw, 1.125rem); }
#asztalfoglalas-page .booking-hero__detail { max-width: 48ch; color: var(--color-ink-muted); }
#asztalfoglalas-page .booking-hero__actions { width: 100%; }

#asztalfoglalas-page .booking-hero__media {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-clay);
}

#asztalfoglalas-page .booking-hero__media img,
#asztalfoglalas-page .booking-location__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#asztalfoglalas-page .booking-hero__media img { object-position: 62% center; }

#asztalfoglalas-page .booking-media-reveal {
  opacity: 0;
  transform: translateY(4px);
  transition: opacity var(--transition-slow), transform var(--transition-slow);
}

#asztalfoglalas-page .booking-media-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

#asztalfoglalas-page .booking-occasions__intro,
#asztalfoglalas-page .booking-preparation__heading,
#asztalfoglalas-page .booking-form-section__heading,
#asztalfoglalas-page .booking-process__intro,
#asztalfoglalas-page .booking-notes__heading,
#asztalfoglalas-page .booking-location__copy,
#asztalfoglalas-page .booking-information__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

#asztalfoglalas-page .booking-occasions__intro { width: min(100%, 37.5rem); margin-bottom: var(--space-7); }
#asztalfoglalas-page .booking-preparation__heading { width: min(100%, 37.5rem); margin-bottom: var(--space-6); }
#asztalfoglalas-page .booking-form-section__heading { width: min(100%, 48ch); margin-bottom: var(--space-7); }
#asztalfoglalas-page .booking-process__intro { width: min(100%, 55ch); margin-bottom: var(--space-7); }
#asztalfoglalas-page .booking-notes__heading { width: min(100%, 54ch); margin-bottom: var(--space-7); }
#asztalfoglalas-page .booking-location__copy { width: min(100%, 52ch); margin-bottom: var(--space-7); }
#asztalfoglalas-page .booking-information__copy { width: 50%; max-width: 58ch; padding-top: var(--space-5); border-top: 1px solid var(--color-border); }

#asztalfoglalas-page .booking-occasions__intro > *,
#asztalfoglalas-page .booking-preparation__heading > *,
#asztalfoglalas-page .booking-form-section__heading > *,
#asztalfoglalas-page .booking-process__intro > *,
#asztalfoglalas-page .booking-notes__heading > *,
#asztalfoglalas-page .booking-location__copy > *,
#asztalfoglalas-page .booking-information__copy > * { margin: 0; min-width: 0; }

#asztalfoglalas-page .booking-occasions__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

#asztalfoglalas-page .booking-occasions__grid > * { min-width: 0; width: 100%; }

#asztalfoglalas-page .booking-choice {
  display: flex;
  min-width: 0;
  min-height: 100%;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

#asztalfoglalas-page .booking-choice:hover { transform: translateY(-2px); box-shadow: var(--shadow-clay); }
#asztalfoglalas-page .booking-choice--restaurant { background: var(--color-surface-cream); }
#asztalfoglalas-page .booking-choice--salon { border-color: var(--color-sage-border); background: var(--color-sage-deep); color: var(--color-surface-light); }
#asztalfoglalas-page .booking-choice--salon h3,
#asztalfoglalas-page .booking-choice--salon .meta { color: inherit; }
#asztalfoglalas-page .booking-choice--salon .meta { color: rgba(250,247,241,.76); }
#asztalfoglalas-page .booking-choice--salon .button--secondary { border-color: var(--color-surface-light); color: var(--color-surface-light); }
#asztalfoglalas-page .booking-choice--salon .button--secondary:hover { background: rgba(250,247,241,.1); }

#asztalfoglalas-page .booking-choice__content {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

#asztalfoglalas-page .booking-choice__content > * { margin: 0; min-width: 0; }
#asztalfoglalas-page .booking-choice__content p { max-width: 34ch; }
#asztalfoglalas-page .booking-choice__link { min-height: 3rem; margin-top: auto; }

#asztalfoglalas-page .booking-occasions__note {
  width: min(100%, 46rem);
  margin: var(--space-6) auto 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
  text-align: center;
}
#asztalfoglalas-page .booking-occasions__note p { margin: 0; }

#asztalfoglalas-page .booking-preparation__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}
#asztalfoglalas-page .booking-preparation__grid > * { min-width: 0; width: 100%; }
#asztalfoglalas-page .booking-preparation__item { border-top: 1px solid var(--color-border); padding-top: var(--space-5); }
#asztalfoglalas-page .booking-preparation__item p { max-width: 32ch; }
#asztalfoglalas-page .booking-preparation__number { margin-bottom: var(--space-4); color: var(--color-amethyst-dust); font-size: var(--text-meta); font-weight: var(--weight-semibold); letter-spacing: .12em; }

#asztalfoglalas-page .booking-form-section { background: linear-gradient(180deg, transparent 0%, rgba(232,222,210,.34) 100%); }
#asztalfoglalas-page .booking-form { width: min(100%, 65rem); margin-inline: auto; border-radius: var(--radius-lg); }
#asztalfoglalas-page .booking-form__inner { display: flex; min-width: 0; flex-direction: column; gap: var(--space-6); padding: clamp(1.25rem, 4vw, 3rem); }
#asztalfoglalas-page .booking-form__inner > * { min-width: 0; margin: 0; }
#asztalfoglalas-page .booking-form__required-note { color: var(--color-ink-muted); font-size: var(--text-caption); }
#asztalfoglalas-page .booking-form__required-note span { color: var(--color-focus-ring); font-weight: var(--weight-semibold); }
#asztalfoglalas-page .booking-form__status:empty { display: none; }
#asztalfoglalas-page .booking-form__status { padding: var(--space-4); border: 1px solid rgba(51,72,63,.25); border-radius: var(--radius-md); background: rgba(51,72,63,.08); color: var(--color-sage-deep); }
#asztalfoglalas-page .booking-form__status.is-error { border-color: rgba(154,93,53,.45); background: rgba(154,93,53,.08); color: var(--color-ink-charcoal); }

#asztalfoglalas-page .booking-form__contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
#asztalfoglalas-page .booking-form__contact-grid > * { min-width: 0; width: 100%; }
#asztalfoglalas-page .booking-field--phone { grid-column: 1 / -1; width: calc((100% - var(--space-5)) / 2); }
#asztalfoglalas-page .booking-form__details-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
#asztalfoglalas-page .booking-form__details-grid > * { min-width: 0; width: 100%; }

#asztalfoglalas-page .booking-field { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
#asztalfoglalas-page .booking-field label { margin: 0; }
#asztalfoglalas-page .booking-field input,
#asztalfoglalas-page .booking-field textarea { min-height: 3rem; border-color: var(--color-border); background: var(--color-surface-light); }
#asztalfoglalas-page .booking-field textarea { min-height: 9rem; }
#asztalfoglalas-page .booking-field__error { min-height: 1.4em; margin: 0; color: #7a3f29; font-size: var(--text-caption); line-height: var(--leading-caption); }
#asztalfoglalas-page .booking-field input[aria-invalid="true"],
#asztalfoglalas-page .booking-field textarea[aria-invalid="true"] { border-color: var(--color-focus-ring); }

#asztalfoglalas-page .booking-form__occasion { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
#asztalfoglalas-page .booking-form__occasion legend { margin: 0; }
#asztalfoglalas-page .booking-form__field-help { margin: 0; color: var(--color-ink-muted); font-size: var(--text-caption); }
#asztalfoglalas-page .booking-form__radio-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
#asztalfoglalas-page .booking-form__radio-grid > * { min-width: 0; width: 100%; }
#asztalfoglalas-page .booking-radio { display: flex; min-width: 0; min-height: 3.5rem; align-items: center; gap: var(--space-3); margin: 0; padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-light); }
#asztalfoglalas-page .booking-radio span { min-width: 0; font-size: var(--text-caption); line-height: var(--leading-caption); }
#asztalfoglalas-page .booking-radio input { flex: 0 0 1rem; }
#asztalfoglalas-page .booking-radio:has(input:checked) { border-color: var(--color-sage-deep); background: rgba(51,72,63,.07); }
#asztalfoglalas-page .booking-form__consent { display: grid; grid-template-columns: 1rem minmax(0, 1fr); column-gap: var(--space-3); align-items: start; }
#asztalfoglalas-page .booking-form__consent > * { min-width: 0; }
#asztalfoglalas-page .booking-form__consent input { grid-column: 1; margin-top: .35rem; }
#asztalfoglalas-page .booking-form__consent label { grid-column: 2; margin: 0; }
#asztalfoglalas-page .booking-form__consent .booking-field__error { grid-column: 2; }
#asztalfoglalas-page .booking-form__submit { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
#asztalfoglalas-page .booking-form__submit > * { min-width: 0; margin: 0; }
#asztalfoglalas-page .booking-form__submit p { max-width: 58ch; color: var(--color-ink-muted); font-size: var(--text-caption); }

#asztalfoglalas-page .booking-process__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
#asztalfoglalas-page .booking-process__grid > * { min-width: 0; width: 100%; }
#asztalfoglalas-page .booking-process__step { position: relative; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-4); }
#asztalfoglalas-page .booking-process__marker { display: flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border: 1px solid var(--color-border-strong); border-radius: 50%; background: var(--color-surface-light); font-family: var(--font-heading); font-size: 1.25rem; }
#asztalfoglalas-page .booking-process__content { min-width: 0; }
#asztalfoglalas-page .booking-process__content p { max-width: 31ch; }
#asztalfoglalas-page .booking-process__address { color: var(--color-amethyst-dust); }

#asztalfoglalas-page .booking-notes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: var(--space-5); }
#asztalfoglalas-page .booking-notes__grid > * { min-width: 0; width: 100%; }
#asztalfoglalas-page .booking-notes__item { padding: var(--space-5); border-top: 1px solid var(--color-border); }
#asztalfoglalas-page .booking-notes__item p { max-width: 32ch; }
#asztalfoglalas-page .booking-notes__item--clay { margin-top: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface-cream); box-shadow: var(--shadow-clay); transition: box-shadow var(--transition-base); }
#asztalfoglalas-page .booking-notes__item--clay:hover { box-shadow: var(--shadow-clay-hover); }
#asztalfoglalas-page .booking-notes__jump { display: inline-flex; min-height: 3rem; align-items: center; }

#asztalfoglalas-page .booking-location__address { max-width: 38ch; color: var(--color-sage-deep); font-weight: var(--weight-semibold); }
#asztalfoglalas-page .booking-location__media { width: 100%; max-width: 100%; aspect-ratio: 16 / 7; overflow: hidden; border-radius: var(--radius-xl); }
#asztalfoglalas-page .booking-location__media img { object-position: center 55%; }
#asztalfoglalas-page .booking-location__media figcaption { padding-left: var(--space-2); }

#asztalfoglalas-page .booking-direct__panel { width: min(58.333%, 45rem); margin-inline: auto; }
#asztalfoglalas-page .booking-direct__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
#asztalfoglalas-page .booking-direct__content > * { min-width: 0; margin: 0; }
#asztalfoglalas-page .booking-direct__content > p { max-width: 48ch; }
#asztalfoglalas-page .booking-direct__links { display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
#asztalfoglalas-page .booking-direct__links > * { display: inline-flex; min-width: 0; min-height: 3rem; align-items: center; font-size: 1.0625rem; font-weight: var(--weight-medium); }
#asztalfoglalas-page .booking-direct__return { color: var(--color-ink-muted); }
#asztalfoglalas-page .booking-direct__form-link { display: inline-flex; min-height: 3rem; align-items: center; }

@media (max-width: 64rem) {
  #asztalfoglalas-page .booking-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  #asztalfoglalas-page .booking-hero__copy,
  #asztalfoglalas-page .booking-hero__media { grid-column: auto; }
  #asztalfoglalas-page .booking-hero__copy h1 { max-width: 11ch; }
  #asztalfoglalas-page .booking-information__copy { width: 66.666%; }
}

@media (max-width: 61.25rem) {
  #asztalfoglalas-page .booking-form__details-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #asztalfoglalas-page .booking-form__details-grid > :last-child { grid-column: 1 / span 1; }
  #asztalfoglalas-page .booking-location__copy { width: min(87.5%, 52ch); }
  #asztalfoglalas-page .booking-location__media { aspect-ratio: 3 / 2; }
}

@media (max-width: 57.5rem) {
  #asztalfoglalas-page .booking-occasions__grid { grid-template-columns: minmax(0, 1fr); }
  #asztalfoglalas-page .booking-preparation__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #asztalfoglalas-page .booking-preparation__grid > :last-child { grid-column: 1 / span 1; }
  #asztalfoglalas-page .booking-notes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #asztalfoglalas-page .booking-notes__grid > :last-child { grid-column: 1 / span 1; }
  #asztalfoglalas-page .booking-notes__item--clay { margin-top: 0; }
}

@media (max-width: 53.75rem) {
  #asztalfoglalas-page .booking-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #asztalfoglalas-page .booking-process__grid > :last-child { grid-column: 1 / span 1; }
}

@media (max-width: 50rem) {
  #asztalfoglalas-page .booking-direct__panel { width: min(83.333%, 45rem); }
}

@media (max-width: 47.9375rem) {
  #asztalfoglalas-page .booking-hero { padding-block-start: var(--space-8); }
  #asztalfoglalas-page .booking-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  #asztalfoglalas-page .booking-hero__copy { grid-row: 1; }
  #asztalfoglalas-page .booking-hero__media { grid-row: 2; aspect-ratio: 4 / 3; border-radius: var(--radius-lg); }
  #asztalfoglalas-page .booking-hero__copy h1 { max-width: 12ch; }
  #asztalfoglalas-page .booking-hero__copy .lead { max-width: 52ch; }
  #asztalfoglalas-page .booking-occasions__intro,
  #asztalfoglalas-page .booking-preparation__heading,
  #asztalfoglalas-page .booking-form-section__heading,
  #asztalfoglalas-page .booking-process__intro,
  #asztalfoglalas-page .booking-notes__heading,
  #asztalfoglalas-page .booking-location__copy { margin-bottom: var(--space-6); }
  #asztalfoglalas-page .booking-preparation__grid,
  #asztalfoglalas-page .booking-notes__grid,
  #asztalfoglalas-page .booking-process__grid { grid-template-columns: minmax(0, 1fr); }
  #asztalfoglalas-page .booking-preparation__grid > :last-child,
  #asztalfoglalas-page .booking-notes__grid > :last-child,
  #asztalfoglalas-page .booking-process__grid > :last-child { grid-column: auto; }
  #asztalfoglalas-page .booking-preparation__item p,
  #asztalfoglalas-page .booking-choice__content p,
  #asztalfoglalas-page .booking-process__content p,
  #asztalfoglalas-page .booking-notes__item p { max-width: none; }
  #asztalfoglalas-page .booking-form { width: 100%; }
  #asztalfoglalas-page .booking-form__contact-grid,
  #asztalfoglalas-page .booking-form__details-grid,
  #asztalfoglalas-page .booking-form__radio-grid { grid-template-columns: minmax(0, 1fr); }
  #asztalfoglalas-page .booking-field--phone,
  #asztalfoglalas-page .booking-form__details-grid > :last-child { grid-column: auto; width: 100%; }
  #asztalfoglalas-page .booking-form__submit { align-items: stretch; }
  #asztalfoglalas-page .booking-form__submit .button { width: 100%; }
  #asztalfoglalas-page .booking-process__step { grid-template-columns: 2rem minmax(0, 1fr); }
  #asztalfoglalas-page .booking-process__marker { width: 2rem; height: 2rem; }
  #asztalfoglalas-page .booking-location__copy,
  #asztalfoglalas-page .booking-information__copy { width: 100%; }
  #asztalfoglalas-page .booking-location__media { aspect-ratio: 4 / 3; border-radius: var(--radius-lg); }
  #asztalfoglalas-page .booking-direct__panel { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  #asztalfoglalas-page .booking-media-reveal,
  #asztalfoglalas-page .booking-media-reveal.is-visible { opacity: 1; transform: none; transition: none; }
  #asztalfoglalas-page .booking-choice:hover { transform: none; }
}
