/* Kontakt – PLVikingsGame: page-specific styles */

.contact-page-grid {
  display: grid;
  grid-template-areas:
    "form info"
    "faqs info"
    "feedback office"
    "privacy office"
    "newsletter newsletter";
  grid-template-columns: 2fr 1fr;
  gap: var(--space-8) var(--space-8);
  margin-top: var(--space-12);
  margin-bottom: var(--space-12);
}

@media (max-width: 1080px) {
  .contact-page-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "form"
      "info"
      "faqs"
      "feedback"
      "office"
      "privacy"
      "newsletter";
    gap: var(--space-8);
  }
}

.contact-card { grid-area: form; }
.contact-info-box { grid-area: info; }
.faqs { grid-area: faqs; }
.feedback-form { grid-area: feedback; }
.office-location { grid-area: office; }
.privacy-summary { grid-area: privacy; }
.newsletter-section { grid-area: newsletter; }

.card {
  min-width: 0;
}

.form-row {
  margin-bottom: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 450px;
}

.form-row label {
  font-weight: 600;
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
}

.form-status {
  margin-top: var(--space-2);
  font-size: var(--font-size-sm);
  color: var(--color-success);
  min-height: 1.25em;
}
.form-status.error {
  color: var(--color-danger);
}
#newsletter-form {
  justify-content: center;
}
.contact-info-list {
  list-style: none;
  margin: 0 0 var(--space-4) 0;
  padding: 0;
  font-size: var(--font-size-md);
}

.contact-info-list li {
  margin-bottom: var(--space-2);
  display: flex;
  text-align: left;
  align-items: center;
}

.social-media-section {
  margin-top: var(--space-6);
}
.social-media-heading {
  font-size: var(--font-size-sm);
  margin-bottom: var(--space-2);
  color: var(--color-gray-700);
  font-weight: 600;
}
.social-links {
  display: flex;
  gap: var(--space-3);
  list-style: none;
  padding: 0;
  margin: 0;
}
.social-links a {
  display: inline-block;
  border-radius: 50%;
  transition: background var(--transition);
  outline: none;
}
.social-links a:focus-visible {
  box-shadow: 0 0 0 2px var(--color-primary-light);
  outline: none;
}
.social-links svg {
  display: block;
}

.faqs details {
  background: var(--color-gray-50);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-3);
  padding: var(--space-2) var(--space-3);
  transition: background var(--transition);
}
.faqs details[open] {
  background: var(--color-gray-200);
}
.faqs summary {
  font-weight: 600;
  cursor: pointer;
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}
.faqs summary:focus-visible {
  outline: 2px solid var(--color-primary-light);
  outline-offset: 2px;
}
.faqs details div {
  margin-top: var(--space-1);
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
}

.office-location address {
  font-style: normal;
  margin-bottom: var(--space-3);
}
.map-wrapper {
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: var(--space-2);
  box-shadow: var(--shadow-sm);
}
.map-wrapper iframe {
  min-height: 180px;
  border: none;
}
.map-wrapper a {
  font-size: var(--font-size-sm);
}

.privacy-summary {
  font-size: var(--font-size-md);
}

.newsletter-section {
  text-align: center;
}
.newsletter-info {
  color: var(--color-gray-700);
  margin-top: var(--space-2);
}

@media (max-width: 700px) {
  .contact-page-grid {
    gap: var(--space-4);
    margin-top: var(--space-6);
    margin-bottom: var(--space-6);
  }
  .form-row {
    max-width: 100%;
  }
  .card {
    padding: var(--space-4);
  }
}
