/* sections/request-info-form.css — componente partilhado Request Information (Ninja Forms)
 * Autocontido: fundo azul, decoração (sombra verde + raios), título e campos.
 * Reutilizável em qualquer página; sem dependências de hero-programme ou page-fees.
 */

/* --- Wrapper e decoração --- */
.c-request-info-form {
  position: relative;
  overflow: visible;
}

/* Sombra verde por baixo do azul (projeta-se na borda inferior/direita).
 * Nota: fica no wrapper (por trás), enquanto o fundo azul fica no __inner (por cima).
 */
.c-request-info-form::before {
  content: "";
  position: absolute;
  right: -20px;
  bottom: -20px;
  width: 100%;
  height: 100%;
  min-width: 240px;
  min-height: 240px;
  background: var(--color-green);
  z-index: 0;
  pointer-events: none;
}

/* Raios: removidos por enquanto (aguardando SVG correto do Figma). */

@media (min-width: 768px) {
  .c-request-info-form__inner {
    padding: 20px;
  }
}

/* --- Título e estrutura do form --- */

.c-request-info-form__inner {
  position: relative;
  z-index: 1;
  background: var(--color-blue);
  color: #fff;
  padding: 18px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

.c-request-info-form .c-hero__form-title {
  margin: 0 0 22px;
  font-family: var(--font-sans);
  font-weight: var(--fw-700);
  font-size: 22px;
  line-height: 1.2;
  color: #fff;
  text-align: center;
}

.c-request-info-form .c-hero__form {
  margin: 0;
  display: grid;
  gap: 14px;
}

/* --- Ninja Forms --- */
.c-request-info-form .nf-form-cont,
.c-request-info-form .nf-form-wrap,
.c-request-info-form form,
.c-request-info-form .nf-form-layout,
.c-request-info-form .nf-form-content,
.c-request-info-form nf-fields-wrap {
  margin: 0;
  padding: 0;
}

.c-request-info-form .nf-form-fields-required {
  display: block !important;
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.9);
  text-align: left;
  margin: 0 0 14px;
}

.c-request-info-form .nf-form-fields-required .ninja-forms-req-symbol {
  color: inherit;
}

.c-request-info-form .nf-debug-msg {
  display: none !important;
}

.c-request-info-form .nf-form-content nf-fields-wrap {
  display: grid;
  gap: 12px;
  align-items: start;
}

.c-request-info-form .nf-form-content nf-fields-wrap > nf-field {
  display: contents;
}

.c-request-info-form .nf-field-container {
  margin: 0 !important;
}

.c-request-info-form .nf-field-container.hidden-container,
.c-request-info-form .nf-field-container.user-analytics-browser-container,
.c-request-info-form .nf-field-container.user-analytics-browser-version-container,
.c-request-info-form .nf-field-container.user-analytics-ip-address-container,
.c-request-info-form .nf-field-container.user-analytics-os-container,
.c-request-info-form .nf-field-container.user-analytics-referer-container,
.c-request-info-form .nf-field-container.user-analytics-utm-campaign-container,
.c-request-info-form .nf-field-container.user-analytics-utm-medium-container,
.c-request-info-form .nf-field-container.user-analytics-utm-source-container,
.c-request-info-form .nf-field-container.user-analytics-utm-term-container,
.c-request-info-form .nf-field-container.unknown-container,
.c-request-info-form .nf-field-container:has(input[type="hidden"]) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.c-request-info-form .nf-field-container.html-container:has(.nf-field-element > img) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.c-request-info-form .nf-field-container:not(.checkbox-container) .nf-field-label {
  display: none !important;
}

.c-request-info-form .ninja-forms-field.nf-element:not([type="submit"]):not([type="checkbox"]) {
  width: 100%;
  height: 50px;
  border-radius: 4px !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  background: #fff !important;
  color: var(--color-black) !important;
  padding: 0 12px;
  box-shadow: none !important;
  font-size: 16px;
}

.c-request-info-form .ninja-forms-field.nf-element::placeholder {
  color: rgba(0, 0, 0, 0.55) !important;
}

.c-request-info-form select.ninja-forms-field.nf-element {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2012%2012%27%3E%3Cpath%20fill%3D%27%23111111%27%20fill-opacity%3D%270.55%27%20d%3D%27M2.2%2C4.4%20a1%2C1%200%200%2C1%201.4%2C0%20L6%2C6.8%20l2.4-2.4%20a1%2C1%200%200%2C1%201.4%2C1.4%20l-3.1%2C3.1%20a1%2C1%200%200%2C1-1.4%2C0%20L2.2%2C5.8%20a1%2C1%200%200%2C1%200-1.4z%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 12px;
}

.c-request-info-form input[type="submit"].ninja-forms-field.nf-element {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 44px;
  border: 0 !important;
  border-radius: 4px !important;
  background: var(--color-orange) !important;
  color: #000 !important;
  font-family: var(--font-sans) !important;
  font-weight: var(--fw-700) !important;
  font-size: 14px !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
}

.c-request-info-form .submit-container,
.c-request-info-form .checkbox-container,
.c-request-info-form .html-container {
  grid-column: 1 / -1;
}

.c-request-info-form .checkbox-container .field-wrap {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.c-request-info-form .checkbox-container .nf-field-element {
  order: 1;
  margin-top: 2px;
}

.c-request-info-form .checkbox-container .nf-field-label {
  order: 2;
  display: block !important;
}

.c-request-info-form .checkbox-container input[type="checkbox"].ninja-forms-field {
  width: 18px;
  height: 18px;
  margin: 0;
  border-radius: 3px;
  accent-color: var(--color-orange);
}

.c-request-info-form .checkbox-container label {
  display: inline !important;
  font-size: 12px;
  line-height: 1.3;
  color: #fff;
}

.c-request-info-form .html-container {
  margin-top: 4px !important;
}

.c-request-info-form .html-container :where(p, span),
.c-request-info-form .html-container .nf-field-element,
.c-request-info-form .html-container p,
.c-request-info-form .html-container span {
  font-size: 11px !important;
  line-height: 1.35 !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

.c-request-info-form .html-container p {
  margin: 0 !important;
}

.c-request-info-form .html-container a {
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.c-request-info-form .html-container img {
  display: none !important;
}

.c-request-info-form .nf-error-wrap.nf-error {
  margin-top: 6px;
  font-size: 12px;
  color: #ffd800;
}

@media (min-width: 600px) {
  .c-request-info-form .nf-form-content nf-fields-wrap {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
