/* mod_fai_download — fullscreen white lead-capture modal */

.mod-fai-download {
  display: inline-flex;
  align-items: center;
}

.mod-fai-download__modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100%;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: var(--spacing-6, 1.5rem);
  overflow: auto;
  overscroll-behavior: none;
  background-color: #fff;
  transform: translateY(-100%);
  visibility: hidden;
  transition:
    transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    visibility 0.4s ease;
}

.mod-fai-download__modal--open {
  transform: translateY(0);
  visibility: visible;
}

.mod-fai-download__title {
  margin: 0 0 var(--spacing-3, 0.75rem);
  padding-inline-end: var(--spacing-8, 2rem);
  color: var(--color-secondary-500, #05172f);
  font-family: var(--font-serif, "EB Garamond", serif);
  font-size: var(--text-2xl, 1.5rem);
  font-weight: 700;
  line-height: var(--leading-tight, 1.25);
}

.mod-fai-download__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2, 0.5rem);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-secondary-400, #666);
  font-size: var(--text-xl, 1.25rem);
  line-height: 1;
  padding: var(--spacing-2, 0.5rem);
  transition: color 0.2s ease;
}

.mod-fai-download__body > .mod-fai-download__close {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  z-index: 1;
  margin-back-end: var(--spacing-4, 1rem);
}

.mod-fai-download__close:hover,
.mod-fai-download__close:focus-visible {
  color: var(--color-secondary-500, #1a1a1a);
  outline: none;
}

.mod-fai-download__body {
  position: relative;
  width: min(32rem, 100%);
  height: fit-content;
  margin: 0;
  overflow: visible;
  background: #fff;
  padding-block: var(--spacing-20, 5rem);
  padding-inline: 0;
}
.mod-fai-download__header{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  width: min(32rem, 100%);
}

.mod-fai-download__intro {
  margin: 0 0 var(--spacing-6, 1.5rem);
  color: var(--color-text-secondary, #989aa0);
  font-family: var(--font-sans, "Roboto", sans-serif);
  font-size: var(--text-base, 1rem);
  line-height: var(--leading-relaxed, 1.625);
}

.mod-fai-download__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.mod-fai-download__required {
  color: var(--color-primary-500, #c5921f);
  margin-inline-start: 0.15em;
}

.mod-fai-download__privacy {
  margin-block-start: var(--spacing-2, 0.5rem);
}

.mod-fai-download__checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3, 0.75rem);
  cursor: pointer;
  font-family: var(--font-sans, "Roboto", sans-serif);
  font-size: var(--text-sm, 0.875rem);
  font-weight: 400;
  line-height: var(--leading-relaxed, 1.625);
  color: var(--color-text-primary, #1c1e21);
}

.mod-fai-download__checkbox input {
  margin-block-start: 0.25rem;
  flex-shrink: 0;
}

.mod-fai-download__privacy-link {
  color: var(--color-primary-500, #c5921f);
  text-decoration: underline;
}

.mod-fai-download__gdpr {
  margin: var(--spacing-2, 0.5rem) 0 0;
  color: var(--color-text-secondary, #989aa0);
  font-size: var(--text-xs, 0.75rem);
}

.mod-fai-download__actions {
  margin-block-start: var(--spacing-6, 1.5rem);
  display: flex;
  justify-content: flex-start;
}

.mod-fai-download .fai-recaptcha {
  margin-block-start: var(--spacing-4, 1rem);
}

.mod-fai-download__feedback {
  margin-block-start: var(--spacing-4, 1rem);
  font-family: var(--font-sans, "Roboto", sans-serif);
  font-size: var(--text-sm, 0.875rem);
}

.mod-fai-download__feedback.is-error {
  color: #b42318;
}

.mod-fai-download__feedback.is-warning {
  color: #b54708;
}

.mod-fai-download__field.is-invalid .fai-form__control {
  border-color: #b42318;
}

.mod-fai-download__form.is-hidden {
  display: none;
}

.mod-fai-download__success-title {
  margin: 0 0 var(--spacing-3, 0.75rem);
  color: var(--color-secondary-500, #05172f);
  font-family: var(--font-serif, "EB Garamond", serif);
  font-size: var(--text-xl, 1.25rem);
}

.mod-fai-download__success-message {
  margin: 0;
  color: var(--color-text-secondary, #989aa0);
  font-family: var(--font-sans, "Roboto", sans-serif);
}

.mod-fai-download__footer {
  flex: 0 0 auto;
  width: min(32rem, 100%);
  display: flex;
  justify-content: center;
  padding-inline: 0;
}

body.mod-fai-download-open,
html.mod-fai-download-open {
  overflow: hidden;
  overscroll-behavior: none;
}

body.mod-fai-download-open {
  touch-action: none;
}

@media (max-width: 767px) {
  .mod-fai-download__modal {
    padding: var(--spacing-4, 1rem);
  }

  .mod-fai-download__body,
  .mod-fai-download__footer {
    width: min(100%, calc(100% - 0.5rem));
  }
}
