@import "../../../../themes/recast2025/style.css";

/* Contact Section Component */
.contact-section {
  display: flex;
  width: 100%;
  padding: var(--margins-base-vert, 100px) var(--margins-base-hori, 100px);
  justify-content: center;
  align-items: flex-start;
  gap: var(--gap-base, 64px);
  background: var(--neutrals-white, #ffffff);
}

.contact-section__wrapper {
  display: flex;
  max-width: var(--global-maxwidth-maxwidth-m, 1200px);
  align-items: flex-start;
  align-content: flex-start;
  gap: var(--gap-xl, 56px);
  flex: 1 0 0;
  flex-wrap: wrap;
}

/* Content Area */
.contact-section__content {
  display: flex;
  min-width: var(--global-card-minwidth, 300px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gap-l, 32px);
  flex: 1 0 0;
}

/* Title Styling */
.contact-section__title {
  align-self: stretch;
  color: var(--neutrals-black, #161f5b);
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: var(--font-family-headings, "Host Grotesk");
  font-size: var(--size-heading-l, 48px);
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.96px;
}

.contact-section__title span {
  color: var(--primary-recast-blue, #0372ff);
}

/* Embed Section */
.contact-section__embed {
  display: flex;
  padding: var(--gap-m);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--gap-m, 24px);
  align-self: stretch;
  background: var(--neutrals-grey-1, #e1e9f9);
}

.contact-section__embed:has(iframe) {
  padding:0;
}

.contact-section__embed-content {
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}

.contact-section__embed-content--active {
  display: flex;
}

.contact-section__embed-iframe {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact-section__embed-iframe iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.contact-section__embed-placeholder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--gap-m, 24px);
  width: 100%;
  height: 100%;
}

.contact-section__embed-icon {
  width: 120px;
  height: 97px;
  flex-shrink: 0;
  color: var(--neutrals-grey-2, #b2b5e5);
}

.contact-section__embed-text {
  color: var(--neutrals-grey-2, #b2b5e5);
  text-align: center;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: var(--font-family-headings, "Host Grotesk");
  font-size: var(--size-heading-m, 40px);
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 1.2px;
}

/* Location Area */
.contact-section__location-area {
  display: flex;
  min-width: var(--global-card-minwidth, 300px);
  max-width: 400px;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 0 0;
}

/* Tabs */
.contact-section__tabs {
  display: flex;
  align-items: flex-start;
  align-self: stretch;
  flex-direction: column;
}

.contact-section__tab-headers {
  display: flex;
  align-items: flex-start;
  align-self: stretch;
}

.contact-section__tab-header {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 0 0;
  height: 40px;
  padding: 0 var(--gap-xxs, 8px);
  border: var(--stroke-width, 2px) solid var(--neutrals-grey-1, #e1e9f9);
  border-radius: 0;
  background: var(--neutrals-white, #ffffff);
  color: var(--neutrals-black, #161f5b);
  text-align: center;
  font-feature-settings: 'liga' off, 'clig' off;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--font-family-body, "Host Grotesk");
  font-size: var(--size-body-sub, 14px);
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  cursor: pointer;
  transition: all 0.3s ease;
}

.contact-section__tab-header--active {
  background: var(--primary-royal-blue, #1f289c);
  color: var(--neutrals-white, #ffffff);
  border-color: var(--primary-royal-blue, #1f289c);
}

.contact-section__tab-header:focus,
.contact-section__tab-header--active:focus{
  background: var(--primary-royal-blue, #1f289c);
}

.contact-section__tab-header:hover {
  background: var(--neutrals-grey-1, #e1e9f9);
  color: var(--neutrals-black, #161f5b);
}

.contact-section__tab-header--active:hover {
  background: var(--primary-royal-blue, #1f289c);
  color: var(--neutrals-white, #ffffff);
}

/* Tab Content */
.contact-section__tab-content {
  align-self: stretch;
}

.contact-section__tab-panel {
  display: none;
}

.contact-section__tab-panel--active {
  display: block;
}

.contact-section__map-image {
    width: 100%;
}

/* Map Info */
.contact-section__map-info {
  display: flex;
  padding: var(--margins-s, 20px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gap-m, 24px);
  align-self: stretch;
  border: var(--stroke-width, 2px) solid var(--neutrals-grey-1, #e1e9f9);
  background: var(--neutrals-white, #ffffff);
  border-top:none;
}

.contact-section__map-area {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  aspect-ratio: 4/3;
  background: var(--neutrals-grey-1, #e1e9f9);
  overflow: hidden;
}

.contact-section__map-iframe {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact-section__map-iframe iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.contact-section__map-placeholder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--gap-m, 24px);
  width: 100%;
  height: 100%;
  padding: 0 90px;
}

/* Contact Links */
.contact-section__contact-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gap-m, 24px);
  align-self: stretch;
}

.contact-section__contact-link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--gap-xs, 16px);
  align-self: stretch;
}

.contact-section__contact-icon {
  width: 32px;
  height: 32px;
  color: var(--neutrals-black, #161f5b);
  flex-shrink: 0;
}
.contact-section__contact-icon path {
  transition: all 0.2s ease;
}
.contact-section__contact-text {
  flex: 1 0 0;
  color: var(--neutrals-black, #161f5b);
  font-family: var(--font-family-body, "Host Grotesk");
  font-size: var(--size-body-xs, 18px);
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-decoration: none;
  transition: all 0.2s ease;
}

.contact-section__contact-link:hover  .contact-section__contact-text{
  color: var(--primary-recast-blue, #0372ff);
}

.contact-section__contact-link:hover  .contact-section__contact-icon path{
  fill: var(--primary-recast-blue, #0372ff);
}

/* Responsive Design */

/* Tablet */
@media (min-width: 601px) and (max-width: 1200px) {
  .contact-section {
    padding: var(--margins-base-vert, 56px) var(--margins-base-hori, 40px);
    gap: var(--gap-base, 32px);
  }

  .contact-section__wrapper {
    gap: var(--gap-xl, 32px);
  }

  .contact-section__content {
    gap: var(--gap-l, 26px);
    width: 50%;
  }

  .contact-section__embed {
    padding: var(--margins-base-vert, 56px) var(--margins-base-hori, 40px);
    gap: var(--gap-m, 18px);
  }

  .contact-section__title {
    font-size: var(--size-heading-l, 40px);
  }

  .contact-section__embed-text {
    font-size: var(--size-heading-m, 36px);
  }

  .contact-section__location-area {
    max-width: 100%;
    width: 100%;
  }

  /* .contact-section__map-area {
    height: 200px;
  } */

  .contact-section__map-placeholder {
    padding: 0 var(--margins-l, 24px);
  }

  .contact-section__contact-links {
    gap: var(--gap-m, 18px);
  }

  .contact-section__contact-text {
    font-size: var(--size-body-xs, 16px);
  }
}

/* Mobile */
@media (max-width: 600px) {
  .contact-section {
    padding: var(--margins-base-vert, 40px) var(--margins-base-hori, 20px);
    gap: var(--gap-base, 24px);
  }

  .contact-section__wrapper {
    gap: var(--gap-xl, 24px);
    flex-direction: column;
  }

  .contact-section__content {
    gap: var(--gap-l, 20px);
    width: 100%;
  }

  .contact-section__embed {
    padding: var(--margins-base-vert, 40px) var(--margins-base-hori, 20px);
    gap: var(--gap-m, 16px);
  }

  .contact-section__title {
    font-size: var(--size-heading-m, 32px);
    letter-spacing: 0.64px;
  }

  .contact-section__embed-icon {
    width: 80px;
    height: 65px;
  }

  .contact-section__embed-text {
    font-size: var(--size-heading-s, 24px);
    letter-spacing: 0.72px;
  }

  .contact-section__location-area {
    max-width: 100%;
    width: 100%;

  }

  .contact-section__map-info {
    padding: var(--gap-xs, 16px);
    gap: var(--gap-s, 16px);
  }

  .contact-section__map-placeholder {
    padding: 0 var(--margins-s, 20px);
  }

  .contact-section__contact-links {
    padding: var(--gap-s, 16px);
  }

  .contact-section__contact-link {
    gap: var(--gap-s, 12px);
  }

  .contact-section__contact-icon {
    width: 24px;
    height: 24px;
  }

  .contact-section__contact-text {
    font-size: var(--size-body-sub, 14px);
  }


}

/* some fixes for Marketo form */
.mktoForm {
  width: 100% !important;
  font-family: var(--font-family-body) !important;
  color: var(--neutrals-black) !important;
}
.mktoForm .mktoFormRow {
  clear: none !important;
  margin-bottom: 0 !important;
}

/* you cannot style the Marketo form fields here, because the injects CSS overrides everything */
