/* contact.html ONLY — affidavit §8.3 grid + §8.4 split layout
   Glass → contact-page-body-glass.css */

html[data-contact-page] main#contact-page-body {
  --map-purple: #481b82;
  --map-purple-deep: #2e0c5e;
  --map-gold: #facc15;
}

html[data-contact-page] main#contact-page-body .contact-page-map-section {
  padding-top: clamp(56px, 7vw, 72px) !important;
  padding-bottom: clamp(64px, 8vw, 84px) !important;
}

html[data-contact-page] main#contact-page-body .contact-page-map-head {
  margin: 0 auto clamp(40px, 5vw, 56px);
  max-width: 760px;
}

html[data-contact-page] main#contact-page-body .contact-page-map-intro {
  text-align: center;
}

html[data-contact-page] main#contact-page-body .contact-page-map-intro .glass-caption {
  text-align: center;
}

html[data-contact-page] main#contact-page-body .contact-page-map-intro .eyebrow {
  margin-left: auto;
  margin-right: auto;
}

html[data-contact-page] main#contact-page-body .contact-page-map-intro h2 {
  margin-left: auto;
  margin-right: auto;
}

html[data-contact-page] main#contact-page-body .contact-page-map-intro__meta {
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

html[data-contact-page] main#contact-page-body .grid {
  display: grid !important;
  gap: 22px;
  width: 100%;
}

html[data-contact-page] main#contact-page-body .grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

html[data-contact-page] main#contact-page-body .contact-page-info-cards {
  margin-bottom: clamp(28px, 4vw, 40px);
}

html[data-contact-page] main#contact-page-body .contact-page-info-card {
  height: 100%;
}

html[data-contact-page] main#contact-page-body .contact-page-info-card__caption {
  flex-direction: row;
  align-items: flex-start;
  gap: 14px;
}

html[data-contact-page] main#contact-page-body .contact-page-info-card__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #facc15;
  border: 2px solid #2c0e53;
  color: #2e0c5e !important;
  font-size: 1rem;
}

html[data-contact-page] main#contact-page-body .contact-page-info-card__icon i,
html[data-contact-page] main#contact-page-body .contact-page-info-card__icon i::before {
  color: #2e0c5e !important;
  -webkit-text-fill-color: #2e0c5e !important;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
}

html[data-contact-page] main#contact-page-body .contact-page-info-card__copy {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  min-height: 100%;
}

html[data-contact-page] main#contact-page-body .contact-page-info-card__copy a {
  color: var(--map-purple) !important;
  -webkit-text-fill-color: var(--map-purple) !important;
  font-weight: 600;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}

html[data-contact-page] main#contact-page-body .contact-page-info-card__copy a:hover {
  color: var(--map-purple-deep) !important;
  -webkit-text-fill-color: var(--map-purple-deep) !important;
  text-decoration: underline;
}

html[data-contact-page] main#contact-page-body .contact-page-info-card__meta {
  display: block;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid rgba(72, 27, 130, 0.1);
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(72, 27, 130, 0.75) !important;
  -webkit-text-fill-color: rgba(72, 27, 130, 0.75) !important;
}

html[data-contact-page] main#contact-page-body .contact-page-info-card__email-shop-text {
  text-transform: lowercase !important;
}

html[data-contact-page] main#contact-page-body .split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 22px;
  align-items: stretch;
}

html[data-contact-page] main#contact-page-body .contact-page-map-frame {
  height: 100%;
  min-height: 480px;
  grid-template-rows: minmax(360px, 1fr) auto;
  gap: 16px;
}

html[data-contact-page] main#contact-page-body .contact-page-map-frame .media-frame__visual {
  min-height: 360px;
  height: auto;
}

html[data-contact-page] main#contact-page-body .contact-page-map-frame .media-frame__visual iframe {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 360px;
  border: 0;
  border-radius: inherit;
}

html[data-contact-page] main#contact-page-body #contact-form-section {
  scroll-margin-top: 140px;
  height: 100%;
}

html[data-contact-page] main#contact-page-body .form-card__header {
  display: grid;
  gap: 10px;
  text-align: center;
  margin-bottom: 4px;
}

html[data-contact-page] main#contact-page-body .form-card__header .eyebrow {
  margin-left: auto;
  margin-right: auto;
}

html[data-contact-page] main#contact-page-body .contact-page-form-card__status {
  display: none;
  margin-top: 10px;
  font-weight: 600;
  color: var(--map-purple-deep) !important;
  -webkit-text-fill-color: var(--map-purple-deep) !important;
}

html[data-contact-page] main#contact-page-body .contact-page-form-card__status.is-visible {
  display: block;
}

html[data-contact-page] main#contact-page-body .contact-page-form-card__feedback {
  margin-top: 14px;
  font-weight: 700;
  text-align: center;
  color: var(--map-purple-deep) !important;
  -webkit-text-fill-color: var(--map-purple-deep) !important;
}

html[data-contact-page] main#contact-page-body .contact-page-form-card__honeypot {
  position: absolute;
  left: -5000px;
}

html[data-contact-page] main#contact-page-body .contact-page-form-card .cmn--btn {
  display: flex;
  width: 100%;
  justify-content: center;
  margin-top: 4px;
  background-color: #facc15 !important;
  border: 2px solid #2c0e53 !important;
  border-radius: 12px !important;
}

html[data-contact-page] main#contact-page-body .contact-page-form-card .cmn--btn span {
  color: #2e0c5e !important;
  -webkit-text-fill-color: #2e0c5e !important;
  font-weight: 700;
}

html[data-contact-page] main#contact-page-body .contact-page-form-card .cmn--btn:hover {
  background-color: #2e0c5e !important;
  border-color: #2e0c5e !important;
}

html[data-contact-page] main#contact-page-body .contact-page-form-card .cmn--btn:hover span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html[data-contact-page] main#contact-page-body div.map__section {
  background-color: transparent !important;
}

@media (max-width: 1199px) {
  html[data-contact-page] main#contact-page-body .grid--3 {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 1080px) {
  html[data-contact-page] main#contact-page-body .split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  html[data-contact-page] main#contact-page-body .contact-page-info-card__caption {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  html[data-contact-page] main#contact-page-body .contact-page-info-card__copy p {
    text-align: center !important;
  }

  html[data-contact-page] main#contact-page-body .contact-page-map-frame {
    min-height: 300px;
  }

  html[data-contact-page] main#contact-page-body .contact-page-map-frame .media-frame__visual {
    min-height: 280px;
  }

  html[data-contact-page] main#contact-page-body .contact-page-map-frame .media-frame__visual iframe {
    min-height: 260px;
  }

  html[data-contact-page] main#contact-page-body .contact-page-map-frame {
    gap: 12px;
  }
}