/* Aviso de cookies y ventana del newsletter (consentimiento.js). Funciona en el inicio y en el simulador.
   Las reglas llevan el prefijo .fd- y algunas !important para que los estilos del simulador no las pisen. */
.fd-cookies [hidden], .fd-dialogo [hidden] { display: none !important; }
.fd-cookies, .fd-dialogo {
  --fd-papel: #ffffff; --fd-tinta: #0a1222; --fd-suave: #4b5a70; --fd-linea: #d5ebe0; --fd-acento: #047857; --fd-sobre: #ffffff; --fd-foco: #2563eb;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: var(--fd-tinta); line-height: 1.5;
}
.fd-cookies {
  position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 50; max-width: 40rem; margin: 0 auto;
  background: var(--fd-papel); border: 1px solid var(--fd-linea); border-radius: 12px; padding: 1rem 1.2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .15); font-size: .95rem;
}
.fd-cookies p { margin: 0 0 .75rem; }
.fd-cookies a, .fd-dialogo a { color: var(--fd-acento); }
.fd-preferencias { display: grid; gap: .6rem; margin: 0 0 .9rem; }
.fd-preferencias label { display: flex; gap: .6rem; align-items: flex-start; font-size: .9rem; color: var(--fd-suave); }
.fd-preferencias input { margin-top: .25rem; accent-color: var(--fd-acento); }
.fd-acciones { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
.fd-btn {
  font: inherit; font-weight: 600; cursor: pointer; border-radius: 10px; padding: .6rem 1rem;
  background: var(--fd-acento); color: var(--fd-sobre); border: 2px solid var(--fd-acento);
}
.fd-btn-2 { background: transparent; color: var(--fd-acento); }
.fd-btn:disabled { opacity: .6; cursor: wait; }
.fd-btn:focus-visible, .fd-dialogo input:focus-visible, .fd-x:focus-visible, .fd-cookies a:focus-visible { outline: 3px solid var(--fd-foco); outline-offset: 2px; }

.fd-dialogo {
  border: 1px solid var(--fd-linea); border-top: 5px solid #10b981; border-radius: 14px; padding: 1.5rem; width: min(30rem, calc(100vw - 2rem));
  background: var(--fd-papel); box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
}
.fd-dialogo::backdrop { background: rgba(10, 18, 34, .45); }
.fd-dialogo h2 { margin: .1rem 0 .5rem; font-size: 1.4rem; line-height: 1.2; }
.fd-dialogo > p { margin: 0 0 1rem; color: var(--fd-suave); }
.fd-ante { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--fd-acento) !important; margin: 0 !important; }
.fd-x { position: absolute; top: .6rem; right: .8rem; background: none; border: 0; font-size: 1.6rem; line-height: 1; color: var(--fd-suave); cursor: pointer; }
.fd-dialogo form { display: grid; gap: .35rem; }
.fd-dialogo label { font-weight: 600; font-size: .9rem; }
.fd-dialogo input[type=email], .fd-dialogo input[type=text] {
  font: inherit; padding: .6rem .7rem; border: 1px solid var(--fd-linea); border-radius: 8px; background: transparent; color: inherit; margin-bottom: .5rem;
}
.fd-dialogo input[aria-invalid=true] { border-color: #b42318; }
.fd-acepto { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400 !important; color: var(--fd-suave); margin: .2rem 0 .4rem; }
.fd-acepto input { margin-top: .25rem; accent-color: var(--fd-acento); flex: none; }
.fd-mensaje { min-height: 1.2em; margin: 0; font-size: .9rem; color: #b42318; }
.fd-guias { display: grid; gap: .5rem; margin: 0 0 1rem; padding: .8rem; border: 1px dashed var(--fd-linea); border-radius: 10px; }
.fd-guias p { margin: 0; font-weight: 600; }
.fd-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* Barra del sitio dentro del simulador */
.fd-barra { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; align-items: center; padding: .6rem 1rem; font: .9rem system-ui, sans-serif; background: #ffffff; border-bottom: 3px solid #10b981; }
.fd-barra a { color: #4b5a70; text-decoration: none; }
.fd-barra a:hover { text-decoration: underline; }
.fd-barra .fd-marca { display: inline-flex; align-items: center; gap: .5rem; font-weight: 800; color: #0a1222; margin-right: auto; }
.fd-barra .fd-marca img { width: 1.6rem; height: 1.6rem; }
.fd-barra .fd-wa-nav { background: #25d366; color: #021a12; font-weight: 700; padding: .35rem .85rem; border-radius: 999px; }
.fd-barra .fd-wa-nav:hover { text-decoration: none; filter: brightness(0.95); }
@media print { .fd-cookies, .fd-dialogo, .fd-barra { display: none !important; } }

/* Blindaje frente a los estilos generales del simulador (label, input, button) */
.fd-dialogo label, .fd-cookies label { text-transform: none; letter-spacing: normal; }
.fd-dialogo input[type=checkbox], .fd-cookies input[type=checkbox] { width: auto !important; height: auto !important; min-width: 0 !important; padding: 0 !important; margin: .25rem 0 0 !important; flex: none; box-shadow: none !important; }
.fd-acepto, .fd-preferencias label { display: flex !important; flex-direction: row !important; }
.fd-acepto span, .fd-preferencias span { flex: 1 1 auto; min-width: 0; }
.fd-dialogo input[type=email], .fd-dialogo input[type=text] { width: 100%; box-sizing: border-box; }
