.kapcsolat-page {
  overflow: hidden;
}

.kapcsolat-page .section {
  padding-block: var(--space-10);
}

.kapcsolat-number,
.kapcsolat-card-meta,
.kapcsolat-step-number,
.kapcsolat-theme-meta {
  margin: 0;
  color: var(--color-warm-brass);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.kapcsolat-hero {
  padding-block: var(--space-9) var(--space-10);
}

.kapcsolat-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: center;
}

.kapcsolat-hero__copy {
  grid-column: 1 / span 1;
  min-width: 0;
}

.kapcsolat-hero__copy h1 {
  max-width: 11ch;
  margin-block-start: var(--space-4);
}

.kapcsolat-hero__lead {
  max-width: 52ch;
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.kapcsolat-hero__prompt {
  max-width: 48ch;
  color: var(--color-muted-ink);
}

.kapcsolat-hero__actions {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-3);
  margin-block: var(--space-6);
}

.kapcsolat-hero__actions > * {
  min-width: 0;
}

.kapcsolat-hero__meta {
  margin: 0;
  color: var(--color-muted-ink);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
}

.kapcsolat-hero__media {
  grid-column: 3 / span 1;
  width: 100%;
  min-width: 0;
  aspect-ratio: 4 / 5;
}

.kapcsolat-hero__media img {
  object-position: 62% center;
}

.kapcsolat-page figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--space-3) var(--space-4);
  background: rgba(23, 43, 85, 0.86);
  color: var(--color-white);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
}

.kapcsolat-hero__media,
.kapcsolat-venue__media,
.kapcsolat-poker__visual {
  position: relative;
}

.kapcsolat-occasions__intro {
  width: min(100%, 36rem);
  min-width: 0;
}

.kapcsolat-occasions__intro .text-lead {
  max-width: 57ch;
}

.kapcsolat-occasion-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 5fr);
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.kapcsolat-occasion {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  border: 1px solid var(--color-border);
  padding: var(--space-5);
}

.kapcsolat-occasion > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-occasion h3 {
  font-size: var(--text-card-title);
}

.kapcsolat-occasion p:not(.kapcsolat-card-meta):not(.kapcsolat-theme-meta) {
  max-width: 40ch;
}

.kapcsolat-occasion--company {
  background: var(--color-cream-limestone);
}

.kapcsolat-occasion--private {
  border-top: 2px solid var(--color-warm-brass);
  background: var(--color-willow-cream);
}

.kapcsolat-occasion--theme {
  justify-content: space-between;
  border-inline: 0;
  border-bottom: 0;
  background: rgba(231, 222, 208, 0.38);
}

.kapcsolat-occasion__links {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-block-start: auto;
}

.kapcsolat-occasion__links > a,
.kapcsolat-editorial-link,
.kapcsolat-poker-link,
.kapcsolat-closing__links a {
  display: inline-flex;
  min-width: 44px;
  min-inline-size: 0;
  align-items: center;
  padding-block: var(--space-2);
  font-size: var(--text-utility);
  font-weight: 700;
  line-height: var(--leading-utility);
}

.kapcsolat-venue {
  background: rgba(231, 222, 208, 0.34);
}

.kapcsolat-venue__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
}

.kapcsolat-venue__media {
  grid-column: 1 / span 1;
  width: 100%;
  min-width: 0;
  aspect-ratio: 3 / 2;
}

.kapcsolat-venue__media img {
  object-position: center center;
}

.kapcsolat-venue__copy {
  grid-column: 3 / span 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-7);
}

.kapcsolat-venue__primary,
.kapcsolat-venue__secondary {
  min-width: 0;
}

.kapcsolat-venue__copy h2 {
  margin-block-start: var(--space-4);
}

.kapcsolat-venue__copy h3 {
  margin-block-end: var(--space-4);
}

.kapcsolat-venue__copy p {
  max-width: 50ch;
}

.kapcsolat-venue__secondary {
  border-top: 1px solid var(--color-warm-brass);
  padding-top: var(--space-5);
}

.kapcsolat-poker {
  position: relative;
}

.kapcsolat-poker__heading {
  width: min(100%, 34rem);
  min-width: 0;
}

.kapcsolat-poker__heading p:last-child {
  max-width: 48ch;
}

.kapcsolat-poker__visual {
  width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 9;
  margin-block: var(--space-7);
}

.kapcsolat-poker__visual img {
  object-position: center center;
}

.kapcsolat-poker__units {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.kapcsolat-poker-unit {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  border-top: 1px solid var(--color-border-dark);
  padding-top: var(--space-5);
}

.kapcsolat-poker-unit > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-poker-unit h3 {
  color: var(--color-white);
  font-size: var(--text-card-title);
}

.kapcsolat-poker-unit p:not(.kapcsolat-card-meta) {
  max-width: 43ch;
}

.kapcsolat-poker-link {
  margin-top: auto;
  color: var(--color-dusty-coral);
}

.kapcsolat-poker-link:hover {
  color: var(--color-white);
}

.kapcsolat-process__intro {
  width: min(100%, 36rem);
  min-width: 0;
}

.kapcsolat-process__intro .text-lead {
  max-width: 55ch;
}

.kapcsolat-process__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.kapcsolat-process-step {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  border-top: 1px solid var(--color-border);
  padding-top: var(--space-5);
}

.kapcsolat-process-step > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-process-step--two {
  margin-top: var(--space-5);
}

.kapcsolat-process-step--three {
  margin-top: var(--space-8);
  border-top-color: var(--color-dusty-coral);
}

.kapcsolat-process-step h3 {
  font-size: var(--text-card-title);
}

.kapcsolat-process-step > p:not(.kapcsolat-step-number) {
  max-width: 38ch;
}

.kapcsolat-process-step .kapcsolat-editorial-link {
  margin-top: auto;
}

.kapcsolat-details__heading {
  width: min(100%, 31rem);
  min-width: 0;
}

.kapcsolat-details__heading .text-lead {
  max-width: 52ch;
}

.kapcsolat-details__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.kapcsolat-detail {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  border: 1px solid var(--color-border);
  padding: var(--space-5);
}

.kapcsolat-detail > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-detail--email {
  background: var(--color-willow-cream);
}

.kapcsolat-detail--phone {
  background: rgba(255, 253, 248, 0.5);
}

.kapcsolat-detail--address {
  background: var(--color-cream-limestone);
}

.kapcsolat-detail h3,
.kapcsolat-detail address {
  color: var(--color-deep-cobalt);
  font-family: var(--font-body);
  font-size: clamp(1.125rem, 1.7vw, 1.35rem);
  font-style: normal;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.kapcsolat-detail h3 a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.kapcsolat-detail > p:last-child {
  max-width: 42ch;
  color: var(--color-muted-ink);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.kapcsolat-form-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr);
  align-items: start;
}

.kapcsolat-form-section__intro {
  grid-column: 1 / span 1;
  min-width: 0;
}

.kapcsolat-form-section__intro p:not(.eyebrow) {
  max-width: 54ch;
}

.kapcsolat-form {
  grid-column: 3 / span 1;
  min-width: 0;
  border: 1px solid rgba(255, 253, 248, 0.58);
  border-radius: var(--radius-panel);
  padding: var(--space-6);
  background: var(--color-cream-limestone);
  color: var(--color-ink);
}

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

.kapcsolat-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-2);
}

.kapcsolat-field--full {
  grid-column: 1 / -1;
}

.kapcsolat-field label {
  margin: 0;
  font-size: var(--text-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.kapcsolat-field input,
.kapcsolat-field select,
.kapcsolat-field textarea {
  min-height: 48px;
  background: var(--color-white);
}

.kapcsolat-field textarea {
  min-height: 10rem;
}

.kapcsolat-field-help,
.kapcsolat-field-error {
  min-height: 1.25rem;
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.45;
}

.kapcsolat-field-help {
  color: var(--color-muted-ink);
}

.kapcsolat-field-error {
  color: #8a2f29;
  font-weight: 700;
}

.kapcsolat-field [aria-invalid="true"] {
  border-color: #8a2f29;
}

.kapcsolat-form__footer {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-6);
  border-top: 1px solid var(--color-border);
  padding-top: var(--space-5);
}

.kapcsolat-form__footer > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-form__footer button {
  min-height: 48px;
}

.kapcsolat-form__footer > p:not(.kapcsolat-form-status) {
  max-width: 58ch;
  color: var(--color-muted-ink);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.kapcsolat-form-status {
  width: 100%;
  color: var(--color-deep-cobalt);
  font-size: var(--text-utility);
  font-weight: 700;
  line-height: var(--leading-utility);
}

.kapcsolat-form-status.is-error {
  color: #8a2f29;
}

.kapcsolat-closing {
  position: relative;
}

.kapcsolat-closing::before {
  position: absolute;
  top: var(--space-7);
  right: 7%;
  width: 9rem;
  height: 9rem;
  border: 1px solid rgba(73, 100, 87, 0.42);
  border-radius: 56% 44% 55% 45%;
  content: "";
  transform: rotate(-28deg);
}

.kapcsolat-closing__copy {
  width: min(100%, 40rem);
  min-width: 0;
  margin-left: 16.666%;
}

.kapcsolat-closing__copy p:not(.eyebrow) {
  max-width: 54ch;
}

.kapcsolat-closing__links {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  margin-top: var(--space-5);
}

.kapcsolat-closing__links > * {
  min-width: 0;
}

.kapcsolat-scroll-link:focus-visible,
.kapcsolat-occasion a:focus-visible,
.kapcsolat-editorial-link:focus-visible,
.kapcsolat-poker-link:focus-visible,
.kapcsolat-closing__links a:focus-visible {
  outline: 2px solid var(--color-warm-brass);
  outline-offset: 3px;
}

@media (max-width: 64rem) {
  .kapcsolat-page .section {
    padding-block: var(--space-9);
  }

  .kapcsolat-hero__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .kapcsolat-hero__copy,
  .kapcsolat-hero__media {
    grid-column: auto;
  }

  .kapcsolat-hero__copy h1 {
    max-width: 10ch;
  }

  .kapcsolat-occasion-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kapcsolat-occasion--theme {
    grid-column: 1 / -1;
  }

  .kapcsolat-venue__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
    gap: var(--space-5);
  }

  .kapcsolat-venue__media,
  .kapcsolat-venue__copy {
    grid-column: auto;
  }

  .kapcsolat-venue__copy {
    gap: var(--space-5);
  }

  .kapcsolat-poker__units,
  .kapcsolat-process__steps,
  .kapcsolat-details__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kapcsolat-poker-unit:last-child,
  .kapcsolat-process-step--three,
  .kapcsolat-detail--address {
    grid-column: 1 / -1;
  }

  .kapcsolat-process-step--three {
    margin-top: 0;
  }

  .kapcsolat-form-section__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .kapcsolat-form-section__intro,
  .kapcsolat-form {
    grid-column: auto;
  }

  .kapcsolat-closing__copy {
    width: min(100%, 38rem);
    margin-left: 12.5%;
  }
}

@media (max-width: 48rem) {
  .kapcsolat-page .section {
    padding-block: var(--space-8);
  }

  .kapcsolat-hero {
    padding-block: var(--space-6) var(--space-8);
  }

  .kapcsolat-hero__grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-6);
    padding-inline: 0;
  }

  .kapcsolat-hero__media {
    order: 1;
    width: 100%;
  }

  .kapcsolat-hero__copy {
    order: 2;
    width: 100%;
    padding-inline: var(--container-padding);
  }

  .kapcsolat-hero__copy h1 {
    max-width: 12ch;
    font-size: clamp(2.75rem, 12vw, 3rem);
    line-height: 1;
  }

  .kapcsolat-hero__lead,
  .kapcsolat-hero__prompt {
    max-width: none;
  }

  .kapcsolat-hero__actions,
  .kapcsolat-hero__actions .button {
    width: 100%;
  }

  .kapcsolat-occasions__intro,
  .kapcsolat-process__intro,
  .kapcsolat-details__heading,
  .kapcsolat-poker__heading {
    width: 100%;
  }

  .kapcsolat-occasion-grid,
  .kapcsolat-poker__units,
  .kapcsolat-process__steps,
  .kapcsolat-details__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .kapcsolat-occasion--theme,
  .kapcsolat-poker-unit:last-child,
  .kapcsolat-process-step--three,
  .kapcsolat-detail--address {
    grid-column: auto;
  }

  .kapcsolat-occasion {
    padding: var(--space-5);
  }

  .kapcsolat-venue__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .kapcsolat-venue__media,
  .kapcsolat-venue__copy {
    grid-column: auto;
  }

  .kapcsolat-venue__copy {
    gap: var(--space-5);
  }

  .kapcsolat-venue__copy p,
  .kapcsolat-poker-unit p:not(.kapcsolat-card-meta),
  .kapcsolat-process-step > p:not(.kapcsolat-step-number),
  .kapcsolat-detail > p:last-child {
    max-width: none;
  }

  .kapcsolat-poker__visual {
    margin-block: var(--space-6);
  }

  .kapcsolat-process-step--two,
  .kapcsolat-process-step--three {
    margin-top: 0;
  }

  .kapcsolat-detail {
    padding: var(--space-5);
  }

  .kapcsolat-form {
    padding: var(--space-5);
  }

  .kapcsolat-form__fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .kapcsolat-field--full {
    grid-column: auto;
  }

  .kapcsolat-form__footer,
  .kapcsolat-form__footer button {
    width: 100%;
  }

  .kapcsolat-closing__copy {
    width: 100%;
    margin-left: 0;
  }

  .kapcsolat-closing__copy p:not(.eyebrow) {
    max-width: none;
  }

  .kapcsolat-closing__links,
  .kapcsolat-closing__links a {
    width: 100%;
  }

  .kapcsolat-page figcaption {
    padding: var(--space-2) var(--space-3);
    font-size: 0.68rem;
  }
}

@media (max-width: 30rem) {
  .kapcsolat-hero__meta {
    font-size: 0.68rem;
  }

  .kapcsolat-form {
    padding: var(--space-4);
  }

  .kapcsolat-detail h3,
  .kapcsolat-detail address {
    font-size: 1.05rem;
  }
}
