#kapcsolat-main {
  background: var(--color-ink-950);
}

#kapcsolat-main .kapcsolat-section-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
  margin-bottom: var(--space-7);
}

#kapcsolat-main .kapcsolat-section-head .eyebrow,
#kapcsolat-main .kapcsolat-section-head h2,
#kapcsolat-main .kapcsolat-section-head p {
  margin: 0;
}

#kapcsolat-main .kapcsolat-section-head p {
  max-width: 62ch;
}

#kapcsolat-main .kapcsolat-hero {
  padding-top: clamp(3rem, 7vw, 6rem);
}

#kapcsolat-main .kapcsolat-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(21.25rem, 5fr);
  align-items: stretch;
  gap: var(--space-6);
}

#kapcsolat-main .kapcsolat-hero__copy,
#kapcsolat-main .kapcsolat-hero__track {
  min-width: 0;
}

#kapcsolat-main .kapcsolat-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-5);
  padding: clamp(1.5rem, 3vw, 3rem);
  border: var(--border-default);
  background: var(--surface-panel);
}

#kapcsolat-main .kapcsolat-hero__copy .eyebrow,
#kapcsolat-main .kapcsolat-hero__copy h1,
#kapcsolat-main .kapcsolat-hero__copy p {
  margin: 0;
}

#kapcsolat-main .kapcsolat-hero__lead {
  max-width: 60ch;
  color: var(--color-white-strong);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

#kapcsolat-main .kapcsolat-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
}

#kapcsolat-main .kapcsolat-hero__microcopy {
  max-width: 44ch;
  margin: 0;
  font-size: var(--text-nav);
  line-height: var(--line-nav);
}

#kapcsolat-main .kapcsolat-hero__track {
  position: relative;
  min-height: 28rem;
  overflow: hidden;
  border: var(--border-default);
  background:
    linear-gradient(135deg, transparent 0 45%, rgba(255, 210, 26, 0.08) 45% 46%, transparent 46% 100%),
    var(--surface-raised);
}

#kapcsolat-main .kapcsolat-hero__track::before,
#kapcsolat-main .kapcsolat-hero__track::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

#kapcsolat-main .kapcsolat-hero__track::before {
  inset: 12% 8% auto auto;
  width: 68%;
  height: 2px;
  background: var(--color-tension-yellow);
  transform: rotate(-28deg);
}

#kapcsolat-main .kapcsolat-hero__track::after {
  inset: auto auto 12% 10%;
  width: 72%;
  height: 2px;
  background: var(--color-steel-600);
  transform: rotate(-28deg);
}

#kapcsolat-main .kapcsolat-hero__track-label,
#kapcsolat-main .kapcsolat-hero__track-number,
#kapcsolat-main .kapcsolat-hero__track-line,
#kapcsolat-main .kapcsolat-hero__track-dot {
  position: absolute;
}

#kapcsolat-main .kapcsolat-hero__track-label {
  top: var(--space-5);
  left: var(--space-5);
  color: var(--color-white-muted);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-style: italic;
  font-weight: 800;
  letter-spacing: 0.1em;
}

#kapcsolat-main .kapcsolat-hero__track-number {
  right: var(--space-5);
  bottom: var(--space-5);
  color: var(--color-white-strong);
  font-family: var(--font-heading);
  font-size: clamp(6rem, 15vw, 10rem);
  font-style: italic;
  font-weight: 800;
  line-height: 0.8;
}

#kapcsolat-main .kapcsolat-hero__track-line {
  height: 2px;
  background: var(--color-white-strong);
  transform: rotate(-28deg);
}

#kapcsolat-main .kapcsolat-hero__track-line--one {
  top: 43%;
  left: -8%;
  width: 72%;
}

#kapcsolat-main .kapcsolat-hero__track-line--two {
  top: 62%;
  left: 40%;
  width: 62%;
  background: var(--color-tension-yellow);
}

#kapcsolat-main .kapcsolat-hero__track-dot {
  width: 14px;
  aspect-ratio: 1;
  background: var(--color-tension-yellow);
}

#kapcsolat-main .kapcsolat-hero__track-dot--one {
  top: 36%;
  left: 38%;
}

#kapcsolat-main .kapcsolat-hero__track-dot--two {
  top: 58%;
  left: 68%;
  background: var(--color-white-strong);
}

#kapcsolat-main .kapcsolat-topics__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-topic-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(3.25rem, auto) minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-default);
  background: var(--surface-panel);
  transition: transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);
}

#kapcsolat-main .kapcsolat-topic-card::after {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  width: 4rem;
  height: 2px;
  background: var(--color-tension-yellow);
  content: "";
  transform: skewX(-24deg);
}

#kapcsolat-main .kapcsolat-topic-card:hover {
  border-color: var(--color-tension-yellow);
  background: var(--surface-raised);
  transform: translate(2px, -2px);
}

#kapcsolat-main .kapcsolat-topic-card--restaurant { grid-column: 1 / span 4; }
#kapcsolat-main .kapcsolat-topic-card--tables { grid-column: 5 / span 8; }
#kapcsolat-main .kapcsolat-topic-card--private { grid-column: 1 / span 7; }
#kapcsolat-main .kapcsolat-topic-card--general { grid-column: 8 / span 5; }

#kapcsolat-main .kapcsolat-topic-card__number {
  min-width: 0;
  color: var(--color-tension-yellow);
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-style: italic;
  font-weight: 800;
  line-height: 0.85;
}

#kapcsolat-main .kapcsolat-topic-card__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-topic-card__content > * { margin: 0; }
#kapcsolat-main .kapcsolat-topic-card__content p { max-width: 46ch; }
#kapcsolat-main .kapcsolat-topic-card--tables .kapcsolat-topic-card__content p { max-width: 58ch; }

#kapcsolat-main .kapcsolat-topic-card__choices {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-topic-card__choices > * {
  min-width: 0;
}

#kapcsolat-main .kapcsolat-topic-card__choices button,
#kapcsolat-main .kapcsolat-text-button,
#kapcsolat-main .kapcsolat-faq__inline-action {
  border: 0;
  background: transparent;
  color: var(--color-white-strong);
  font-family: var(--font-heading);
  font-size: var(--text-nav);
  font-style: italic;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-decoration: underline;
  text-decoration-color: var(--color-tension-yellow);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.3em;
}

#kapcsolat-main .kapcsolat-topic-card__choices button:hover,
#kapcsolat-main .kapcsolat-text-button:hover,
#kapcsolat-main .kapcsolat-faq__inline-action:hover {
  color: var(--color-tension-yellow);
}

#kapcsolat-main .kapcsolat-direct__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-direct__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-default);
  background: var(--surface-panel);
}

#kapcsolat-main .kapcsolat-direct__card--phone {
  border-inline-start: var(--border-accent);
}

#kapcsolat-main .kapcsolat-direct__card > * { margin: 0; }
#kapcsolat-main .kapcsolat-direct__card p { max-width: 48ch; }

#kapcsolat-main .kapcsolat-direct__value {
  overflow-wrap: anywhere;
  color: var(--color-tension-yellow);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-style: italic;
  font-weight: 800;
  line-height: 1;
}

#kapcsolat-main .kapcsolat-form-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(32.5rem, 7fr);
  align-items: start;
  gap: var(--space-6);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-form-section__guide {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-form-section__guide > * { margin: 0; }
#kapcsolat-main .kapcsolat-form-section__guide > p { max-width: 62ch; }

#kapcsolat-main .kapcsolat-process {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

#kapcsolat-main .kapcsolat-process li {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  padding-top: var(--space-4);
  border-top: var(--border-default);
}

#kapcsolat-main .kapcsolat-process li > span {
  color: var(--color-tension-yellow);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-style: italic;
  font-weight: 800;
  line-height: 1;
}

#kapcsolat-main .kapcsolat-process li > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-process p { margin: 0; }

#kapcsolat-main .kapcsolat-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-default);
  border-top: var(--border-accent);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
}

#kapcsolat-main .kapcsolat-form__intro,
#kapcsolat-main .kapcsolat-form__field,
#kapcsolat-main .kapcsolat-form__after {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-form__intro > *,
#kapcsolat-main .kapcsolat-form__field > *,
#kapcsolat-main .kapcsolat-form__after > * { margin: 0; }

#kapcsolat-main .kapcsolat-form__intro p { max-width: 52ch; }
#kapcsolat-main .kapcsolat-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-form__row > * { min-width: 0; }
#kapcsolat-main .kapcsolat-form input,
#kapcsolat-main .kapcsolat-form select { min-height: 3rem; }
#kapcsolat-main .kapcsolat-form textarea { min-height: 9rem; }
#kapcsolat-main .kapcsolat-form__optional { color: var(--color-white-muted); font-weight: 400; }

#kapcsolat-main .kapcsolat-form__privacy {
  max-width: 58ch;
  margin: 0;
  font-size: var(--text-nav);
  line-height: var(--line-nav);
}

#kapcsolat-main .kapcsolat-form__after {
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-steel-600);
}

#kapcsolat-main .kapcsolat-form__after p { max-width: 52ch; }

#kapcsolat-main .kapcsolat-location__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-6);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-location__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-address-card,
#kapcsolat-main .kapcsolat-location__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-address-card {
  padding: var(--space-5);
  border: var(--border-default);
  background: var(--surface-panel);
}

#kapcsolat-main .kapcsolat-address-card > *,
#kapcsolat-main .kapcsolat-location__aside > * { margin: 0; }

#kapcsolat-main .kapcsolat-address-card address {
  color: var(--color-white-strong);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-style: italic;
  font-weight: 800;
  line-height: 1.05;
}

#kapcsolat-main .kapcsolat-address-card p { max-width: 52ch; }

#kapcsolat-main .kapcsolat-location__aside {
  padding: var(--space-5);
  border: var(--border-default);
  background: transparent;
}

#kapcsolat-main .kapcsolat-location__aside p { max-width: 56ch; }

#kapcsolat-main .kapcsolat-location__media {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  align-self: stretch;
  border-radius: var(--radius-md);
}

#kapcsolat-main .kapcsolat-location__media::after {
  position: absolute;
  right: -6px;
  bottom: -6px;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: var(--color-tension-yellow);
  content: "";
}

#kapcsolat-main .kapcsolat-location__media img {
  width: 100%;
  height: 100%;
  min-height: 28rem;
  object-fit: cover;
  object-position: center center;
  filter: saturate(0.72) contrast(1.08);
}

#kapcsolat-main .kapcsolat-location__media figcaption {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  max-width: 28ch;
  margin: 0;
  padding: var(--space-2) var(--space-3);
  background: rgba(8, 10, 12, 0.86);
}

#kapcsolat-main .kapcsolat-private__panel {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-6);
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-default);
  background: var(--surface-panel);
}

#kapcsolat-main .kapcsolat-private__panel::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 7rem;
  height: 7rem;
  background: var(--color-tension-yellow);
  content: "";
  clip-path: polygon(100% 0, 100% 100%, 0 0);
}

#kapcsolat-main .kapcsolat-private__copy {
  display: grid;
  grid-template-columns: minmax(4rem, auto) minmax(0, 1fr);
  align-items: start;
  gap: var(--space-4);
  flex: 1 1 0;
  min-width: 0;
}

#kapcsolat-main .kapcsolat-private__number {
  color: var(--color-tension-yellow);
  font-family: var(--font-heading);
  font-size: clamp(3.5rem, 7vw, 5rem);
  font-style: italic;
  font-weight: 800;
  line-height: 0.85;
}

#kapcsolat-main .kapcsolat-private__copy > div,
#kapcsolat-main .kapcsolat-private__action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-private__copy > div > *,
#kapcsolat-main .kapcsolat-private__action > * { margin: 0; }
#kapcsolat-main .kapcsolat-private__copy p { max-width: 68ch; }

#kapcsolat-main .kapcsolat-private__action {
  flex: 0 1 18.75rem;
  width: min(100%, 18.75rem);
}

#kapcsolat-main .kapcsolat-private__action p {
  max-width: 48ch;
  font-size: var(--text-nav);
  line-height: var(--line-nav);
}

#kapcsolat-main .kapcsolat-faq__list {
  display: flex;
  flex-direction: column;
  width: min(100%, 53.75rem);
  gap: var(--space-3);
  min-width: 0;
}

#kapcsolat-main .kapcsolat-faq__item {
  min-width: 0;
  border: var(--border-default);
  background: var(--surface-panel);
}

#kapcsolat-main .kapcsolat-faq__button {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 2.75rem;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  min-height: 4rem;
  padding: var(--space-3) var(--space-4);
  border: 0;
  background: transparent;
  color: var(--color-white-strong);
  font-weight: 700;
  text-align: left;
}

#kapcsolat-main .kapcsolat-faq__button:hover { background: var(--surface-raised); }

#kapcsolat-main .kapcsolat-faq__index {
  color: var(--color-tension-yellow);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 800;
}

#kapcsolat-main .kapcsolat-faq__icon {
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--color-steel-600);
}

#kapcsolat-main .kapcsolat-faq__icon::before,
#kapcsolat-main .kapcsolat-faq__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background: var(--color-tension-yellow);
  content: "";
  transform: translate(-50%, -50%);
}

#kapcsolat-main .kapcsolat-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
#kapcsolat-main .kapcsolat-faq__button[aria-expanded="true"] .kapcsolat-faq__icon::after { transform: translate(-50%, -50%) rotate(0deg); }

#kapcsolat-main .kapcsolat-faq__panel {
  padding: 0 var(--space-5) var(--space-5) 5.25rem;
}

#kapcsolat-main .kapcsolat-faq__panel p {
  max-width: 66ch;
  margin: 0;
}

#kapcsolat-main .kapcsolat-close__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  width: min(100%, 38.75rem);
  min-width: 0;
  margin-inline: auto;
  padding: var(--space-6);
  border: var(--border-default);
  border-top: var(--border-accent);
  background: var(--surface-panel);
  text-align: center;
}

#kapcsolat-main .kapcsolat-close__panel > * { margin: 0; }
#kapcsolat-main .kapcsolat-close__panel p { max-width: 56ch; }

#kapcsolat-main .kapcsolat-close__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
}

#kapcsolat-main .kapcsolat-close__actions > * { min-width: 0; }

@media (max-width: 64rem) {
  #kapcsolat-main .kapcsolat-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(17rem, 4fr); }
  #kapcsolat-main .kapcsolat-hero__copy h1 { font-size: clamp(3.25rem, 6vw, 4rem); }
}

@media (max-width: 61.25rem) {
  #kapcsolat-main .kapcsolat-form-section__grid { grid-template-columns: minmax(0, 1fr); }
  #kapcsolat-main .kapcsolat-form { width: 100%; }
}

@media (max-width: 56.25rem) {
  #kapcsolat-main .kapcsolat-topics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #kapcsolat-main .kapcsolat-topic-card--restaurant,
  #kapcsolat-main .kapcsolat-topic-card--tables,
  #kapcsolat-main .kapcsolat-topic-card--private,
  #kapcsolat-main .kapcsolat-topic-card--general { grid-column: auto; }
}

@media (max-width: 53.125rem) {
  #kapcsolat-main .kapcsolat-location__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}

@media (max-width: 51.25rem) {
  #kapcsolat-main .kapcsolat-private__panel { flex-direction: column; align-items: flex-start; }
  #kapcsolat-main .kapcsolat-private__action { flex-basis: auto; width: min(100%, 18.75rem); }
}

@media (max-width: 48rem) {
  #kapcsolat-main .kapcsolat-hero__grid { grid-template-columns: minmax(0, 1fr); }
  #kapcsolat-main .kapcsolat-hero__track { order: -1; min-height: auto; aspect-ratio: 16 / 7; }
  #kapcsolat-main .kapcsolat-hero__copy { padding: var(--space-5); }
  #kapcsolat-main .kapcsolat-hero__copy h1 { font-size: 2.25rem; line-height: 1.05; }
  #kapcsolat-main .kapcsolat-hero__lead { font-size: var(--text-body); line-height: var(--line-body); }
  #kapcsolat-main .kapcsolat-hero__actions { align-items: stretch; }
  #kapcsolat-main .kapcsolat-hero__track-number { font-size: 5rem; }
  #kapcsolat-main .kapcsolat-topics__grid,
  #kapcsolat-main .kapcsolat-direct__grid,
  #kapcsolat-main .kapcsolat-location__grid { grid-template-columns: minmax(0, 1fr); }
  #kapcsolat-main .kapcsolat-topic-card { grid-template-columns: 2.5rem minmax(0, 1fr); padding: var(--space-4); }
  #kapcsolat-main .kapcsolat-topic-card__number { font-size: 2.5rem; }
  #kapcsolat-main .kapcsolat-direct__card { padding: var(--space-4); }
  #kapcsolat-main .kapcsolat-form { padding: var(--space-4); }
  #kapcsolat-main .kapcsolat-form__row { grid-template-columns: minmax(0, 1fr); }
  #kapcsolat-main .kapcsolat-location__media { order: -1; }
  #kapcsolat-main .kapcsolat-location__media img { min-height: 0; aspect-ratio: 4 / 3; }
  #kapcsolat-main .kapcsolat-private__panel { padding: var(--space-5); }
  #kapcsolat-main .kapcsolat-private__copy { grid-template-columns: minmax(0, 1fr); }
  #kapcsolat-main .kapcsolat-private__action { width: 100%; }
  #kapcsolat-main .kapcsolat-private__action .button { width: 100%; }
  #kapcsolat-main .kapcsolat-faq__list { width: 100%; }
  #kapcsolat-main .kapcsolat-faq__button { grid-template-columns: 2rem minmax(0, 1fr) 2.75rem; padding-inline: var(--space-3); }
  #kapcsolat-main .kapcsolat-faq__panel { padding: 0 var(--space-4) var(--space-4); }
  #kapcsolat-main .kapcsolat-close__panel { width: 100%; padding: var(--space-5); }
  #kapcsolat-main .kapcsolat-close__actions { flex-direction: column; align-items: stretch; }
  #kapcsolat-main .kapcsolat-close__actions a { display: flex; align-items: center; justify-content: center; min-height: 2.75rem; }
}

@media (max-width: 43.75rem) {
  #kapcsolat-main .kapcsolat-close__actions { gap: var(--space-3); }
}

@media (max-width: 29rem) {
  #kapcsolat-main .kapcsolat-topic-card__choices { flex-direction: column; align-items: flex-start; }
  #kapcsolat-main .kapcsolat-direct__value { font-size: 1.35rem; }
}

@media (prefers-reduced-motion: reduce) {
  #kapcsolat-main .kapcsolat-topic-card { transition: none; }
}
