/* Modal de inscrição: Da Prescrição ao Desmame (LP2) */

.fmodal { position: fixed; inset: 0; z-index: 90; display: flex; align-items: flex-end; justify-content: center; }
.fmodal[hidden] { display: none; }
.fmodal__overlay { position: absolute; inset: 0; background: rgba(0, 44, 42, 0.62); backdrop-filter: blur(3px); }

.fmodal__card {
  position: relative; width: 100%; max-width: 560px; max-height: 92dvh;
  overflow-y: auto; -webkit-overflow-scrolling: touch;
  background: #fff; border-radius: 22px 22px 0 0;
  padding: 30px 24px 28px; box-shadow: 0 -12px 50px rgba(0, 0, 0, 0.25);
  animation: fmodal-sobe .32s ease both;
}
@media (min-width: 640px) {
  .fmodal { align-items: center; padding: 24px; }
  .fmodal__card { border-radius: 22px; padding: 38px 40px 34px; }
}
@keyframes fmodal-sobe { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .fmodal__card { animation: none; } }

.fmodal__fechar {
  position: absolute; top: 14px; right: 14px; width: 38px; height: 38px;
  border: 0; border-radius: 50%; background: #EAEAEA; color: #005C58;
  font-size: 19px; line-height: 1; cursor: pointer;
}
.fmodal__fechar:hover { background: #ddd; }

.fmodal__kicker {
  font-family: "Outfit", sans-serif; font-size: 12px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: #5DA99B; margin: 0 0 10px;
}
.fmodal__titulo {
  font-family: "Fraunces", serif; font-size: clamp(22px, 4.6vw, 28px);
  line-height: 1.2; color: #005C58; margin: 0 0 12px; font-weight: 600;
}
.fmodal__texto { font-family: "Outfit", sans-serif; font-size: 15.5px; line-height: 1.6; color: #3c4b49; margin: 0 0 18px; }
.fmodal__texto strong { color: #005C58; }

.fstep[hidden] { display: none; }

/* Botões */
.fbtn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; padding: 15px 22px; border: 0; border-radius: 999px;
  background: #F2724D; color: #fff; font-family: "Outfit", sans-serif;
  font-size: 16px; font-weight: 600; cursor: pointer; transition: filter .15s ease;
}
.fbtn:hover { filter: brightness(1.06); }
.fbtn:disabled { opacity: .55; cursor: wait; }
.fbtn--claro { background: #EAEAEA; color: #005C58; }
.fbtn--claro:hover { background: #dfe6e5; filter: none; }
.fbtn + .fbtn { margin-top: 10px; }

/* Campos */
.fcampo { margin: 0 0 16px; }
.fcampo label { display: block; font-family: "Outfit", sans-serif; font-size: 13.5px; font-weight: 600; color: #005C58; margin-bottom: 6px; }
.fcampo input, .fcampo select {
  width: 100%; padding: 13px 14px; border: 1.5px solid #d6dedd; border-radius: 12px;
  font-family: "Outfit", sans-serif; font-size: 16px; color: #22312f; background: #fff;
}
.fcampo input:focus, .fcampo select:focus { outline: 2px solid #5DA99B; outline-offset: 1px; border-color: #5DA99B; }
.fcampo .fajuda { display: block; font-family: "Outfit", sans-serif; font-size: 12.5px; color: #6b7c79; margin-top: 5px; line-height: 1.45; }
.fcampo--erro input, .fcampo--erro select { border-color: #d24a2a; }

.flinha { display: flex; gap: 10px; }
.flinha > .fcampo { flex: 1; min-width: 0; }
.flinha > .fcampo--ddi { flex: 0 0 86px; }
.flinha > .fcampo--uf { flex: 0 0 108px; }

/* Rádios (é médico / especialidade / método) */
.fopcoes { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 16px; }
.fopcao { flex: 1; min-width: 130px; }
.fopcao input { position: absolute; opacity: 0; pointer-events: none; }
.fopcao span {
  display: flex; align-items: center; justify-content: center; padding: 13px 14px;
  border: 1.5px solid #d6dedd; border-radius: 12px; font-family: "Outfit", sans-serif;
  font-size: 15px; font-weight: 600; color: #3c4b49; cursor: pointer; text-align: center;
  transition: all .12s ease;
}
.fopcao input:checked + span { border-color: #005C58; background: #eef6f4; color: #005C58; }
.fopcao input:focus-visible + span { outline: 2px solid #5DA99B; outline-offset: 2px; }

/* Resumo do pedido */
.fresumo {
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  background: #eef6f4; border-radius: 14px; padding: 14px 16px; margin: 0 0 18px;
  font-family: "Outfit", sans-serif;
}
.fresumo span { font-size: 14px; color: #3c4b49; }
.fresumo strong { font-family: "Fraunces", serif; font-size: 24px; color: #005C58; white-space: nowrap; }

/* Mensagens */
.ferro {
  display: none; font-family: "Outfit", sans-serif; font-size: 14px; line-height: 1.5;
  color: #a33517; background: #fdeee8; border-radius: 12px; padding: 12px 14px; margin: 0 0 14px;
}
.ferro.is-on { display: block; }

.fnota { font-family: "Outfit", sans-serif; font-size: 12.5px; line-height: 1.55; color: #6b7c79; margin: 14px 0 0; text-align: center; }
.fnota a { color: #005C58; font-weight: 600; }

/* Tela do Pix */
.fpix { text-align: center; }
.fpix img { width: 210px; height: 210px; border: 1.5px solid #d6dedd; border-radius: 14px; padding: 8px; background: #fff; }
.fpix__codigo {
  width: 100%; font-family: "Outfit", sans-serif; font-size: 12px; color: #3c4b49;
  background: #f4f7f6; border: 1.5px dashed #c6d2d0; border-radius: 12px;
  padding: 10px 12px; margin: 14px 0 10px; word-break: break-all; text-align: left;
  max-height: 74px; overflow: hidden;
}
.fpix__aguarde {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  font-family: "Outfit", sans-serif; font-size: 13.5px; color: #005C58; margin-top: 14px;
}
.fpix__aguarde::before {
  content: ""; width: 14px; height: 14px; border-radius: 50%;
  border: 2.5px solid #5DA99B; border-top-color: transparent;
  animation: fgira 0.9s linear infinite;
}
@keyframes fgira { to { transform: rotate(360deg); } }

/* Sucesso */
.fsucesso { text-align: center; padding: 8px 0; }
.fsucesso__selo {
  width: 66px; height: 66px; margin: 0 auto 16px; border-radius: 50%;
  background: #eef6f4; color: #005C58; display: flex; align-items: center; justify-content: center;
}
.fsucesso__selo svg { width: 32px; height: 32px; }
