/* Kapcsolat page-owned styles */

#kapcsolat-main {
  padding-block: var(--space-3xl);
}

@media (max-width: 767px) {
  #kapcsolat-main {
    padding-block: var(--space-2xl);
  }
}

/* 1. Kapcsolatfelvételi bevezető */
.kapcsolat-intro {
  display: flex;
  justify-content: center;
  padding-inline: var(--container-padding-mobile);
}

.kapcsolat-intro__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  max-width: 70ch;
  width: 100%;
  text-align: center;
  margin-inline: auto;
}

.kapcsolat-intro__title {
  color: var(--color-glowing-gold);
  margin-block-end: 0;
}

.kapcsolat-intro__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  color: var(--color-ice-white);
  margin-block-end: 0;
}

.kapcsolat-intro__support {
  color: var(--color-frost);
  margin-block-end: 0;
}

.kapcsolat-intro__divider {
  width: 100%;
  max-width: 70ch;
  height: 1px;
  background-color: var(--color-deep-gray);
  margin-block-start: var(--space-md);
}

@media (min-width: 768px) {
  .kapcsolat-intro {
    padding-inline: var(--container-padding-tablet);
  }
}

@media (min-width: 1024px) {
  .kapcsolat-intro {
    padding-inline: var(--container-padding-desktop);
  }
}

/* 2. Elérhetőségek */
.kapcsolat-contact {
  margin-block-start: var(--space-3xl);
  padding-inline: var(--container-padding-mobile);
}

.kapcsolat-contact__container {
  max-width: var(--container-max-width);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.kapcsolat-contact__title {
  margin-block-end: 0;
  text-align: left;
}

.kapcsolat-contact__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
}

.kapcsolat-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  background-color: var(--surface-steel);
  border: var(--border-width-thin) solid var(--border-color-default);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  padding: var(--space-md);
  min-width: 0;
  transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
}

.kapcsolat-card:hover {
  border-color: var(--border-color-accent);
  box-shadow: var(--shadow-large);
  transform: translateY(-4px);
}

.kapcsolat-card__icon {
  width: 2.5rem;
  height: 2.5rem;
  color: var(--color-electric-teal);
  flex-shrink: 0;
}

.kapcsolat-card__icon svg {
  width: 100%;
  height: 100%;
}

.kapcsolat-card__title {
  margin-block-end: 0;
  color: var(--color-ice-white);
}

.kapcsolat-card__message {
  color: var(--color-ice-white);
  max-width: 30ch;
  margin-block-end: 0;
}

.kapcsolat-card__detail,
.kapcsolat-card__address {
  color: var(--color-ice-white);
  font-weight: 600;
  max-width: 30ch;
  margin-block-end: 0;
}

.kapcsolat-card__link {
  color: var(--color-electric-teal);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.kapcsolat-card__link:hover {
  color: var(--color-lightning-yellow);
}

.kapcsolat-card__meta {
  color: var(--color-frost);
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-line-height);
  max-width: 30ch;
  margin-block-end: 0;
}

@media (min-width: 768px) {
  .kapcsolat-contact {
    padding-inline: var(--container-padding-tablet);
  }

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

@media (min-width: 1024px) {
  .kapcsolat-contact {
    padding-inline: var(--container-padding-desktop);
  }
}

/* 3. Kapcsolatfelvételi űrlap */
.kapcsolat-form-section {
  margin-block-start: var(--space-3xl);
  padding-inline: var(--container-padding-mobile);
}

.kapcsolat-form-section__container {
  max-width: 600px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.kapcsolat-form-section__title {
  margin-block-end: 0;
  text-align: left;
}

.kapcsolat-form-section__lead {
  color: var(--color-frost);
  margin-block-end: 0;
}

.kapcsolat-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  background-color: var(--surface-steel);
  border: var(--border-width-thin) solid var(--border-color-default);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  padding: var(--space-md);
  min-width: 0;
}

.kapcsolat-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  min-width: 0;
}

.kapcsolat-form__field label {
  margin-block-end: 0;
}

.kapcsolat-form__required {
  color: var(--color-blood-ember);
}

.kapcsolat-form__error {
  color: var(--color-blood-ember);
  font-size: var(--text-body-small-size);
  line-height: var(--text-body-small-line-height);
  min-height: 1.2em;
  margin-block-end: 0;
}

.kapcsolat-form__actions {
  display: flex;
  justify-content: flex-end;
  margin-block-start: var(--space-2xs);
}

.kapcsolat-form__submit {
  min-width: 140px;
}

.kapcsolat-form__success {
  background-color: var(--surface-steel);
  border: var(--border-width-thin) solid var(--color-electric-teal);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.kapcsolat-form__success[hidden] {
  display: none;
}

.kapcsolat-form__success-title {
  color: var(--color-glowing-gold);
  margin-block-end: 0;
}

.kapcsolat-form__success-text {
  color: var(--color-ice-white);
  margin-block-end: 0;
}

@media (max-width: 767px) {
  .kapcsolat-form-section {
    padding-inline: var(--container-padding-mobile);
  }

  .kapcsolat-form {
    gap: var(--space-xs);
    padding: var(--space-sm);
  }

  .kapcsolat-form__actions {
    justify-content: stretch;
  }

  .kapcsolat-form__submit {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .kapcsolat-form-section {
    padding-inline: var(--container-padding-tablet);
  }
}

@media (min-width: 1024px) {
  .kapcsolat-form-section {
    padding-inline: var(--container-padding-desktop);
  }
}

/* 4. Válaszidő és elérhetőség */
.kapcsolat-response {
  margin-block-start: var(--space-3xl);
  padding-inline: var(--container-padding-mobile);
}

.kapcsolat-response__inner {
  max-width: 70ch;
  margin-inline: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: left;
}

.kapcsolat-response__title {
  color: var(--color-glowing-gold);
  margin-block-end: 0;
}

.kapcsolat-response__text {
  color: var(--color-frost);
  margin-block-end: 0;
}

.kapcsolat-response__divider {
  width: 100%;
  max-width: 70ch;
  height: 1px;
  background-color: var(--color-deep-gray);
  margin-block-start: var(--space-md);
}

@media (min-width: 768px) {
  .kapcsolat-response {
    padding-inline: var(--container-padding-tablet);
  }
}

@media (min-width: 1024px) {
  .kapcsolat-response {
    padding-inline: var(--container-padding-desktop);
  }
}

@media (max-width: 767px) {
  .kapcsolat-contact,
  .kapcsolat-form-section,
  .kapcsolat-response {
    margin-block-start: var(--space-2xl);
  }
}
