/* Sugerencia de idioma: presentación aislada, detección y redirección nativas. */
#idiomasModal.idiomas-preferencia .modal-dialog { width: auto; max-width: 600px; margin: 24px auto; min-height: calc(100% - 48px); }
#idiomasModal.idiomas-preferencia .modal-content { position: relative; padding: 32px; border: 1px solid #e1eaf0; border-radius: 24px; background: #fff; color: #17364d; box-shadow: 0 24px 80px #15334d30; text-align: left; overflow-wrap: break-word; }
#idiomasModal.idiomas-preferencia .idioma-cerrar { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 36px; height: 36px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: #f2f6f9; color: #526b7b; font: 27px/1 Arial, sans-serif; cursor: pointer; }
#idiomasModal.idiomas-preferencia .idioma-cerrar:hover { background: #e6f4fd; color: #006ca8; }
#idiomasModal.idiomas-preferencia .idioma-saludo { display: flex; align-items: center; gap: 12px; margin: 0 38px 22px 0; }
#idiomasModal.idiomas-preferencia .idioma-globo { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 15px; background: #eaf7ff; color: #007bbd; }
#idiomasModal.idiomas-preferencia .idioma-globo svg { width: 32px; height: 32px; }
#idiomasModal.idiomas-preferencia .idioma-etiqueta { color: #39738e; font-size: 11px; font-weight: 700; line-height: 1.5; letter-spacing: 1.3px; text-transform: uppercase; }
#idiomasModal.idiomas-preferencia h2 { margin: 0 0 12px; padding: 0; color: #17364d; font-family: var(--cl-font-heading, 'Createlow Manrope', Arial, sans-serif); font-size: 30px; font-weight: 700; line-height: 1.2; letter-spacing: -.8px; text-transform: none; }
#idiomasModal.idiomas-preferencia #idiomasModalDescripcion { margin: 0; color: #5b7282; font-size: 15px; font-weight: 400; line-height: 1.65; }
#idiomasModal.idiomas-preferencia .idioma-opciones { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 26px 0 22px; }
#idiomasModal.idiomas-preferencia :is(#aceptarRedirigirIdioma,#cancelarRedirigirIdioma) { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 18px; min-width: 0; width: 100%; margin: 0; padding: 20px; border: 1px solid #d5e1ea; border-radius: 15px; text-align: left; text-transform: none; white-space: normal; font-family: inherit; cursor: pointer; box-shadow: none; transition: border-color .15s, background-color .15s, box-shadow .15s; }
#idiomasModal.idiomas-preferencia #aceptarRedirigirIdioma { border-color: #0078bd; background: #0078bd; color: #fff; }
#idiomasModal.idiomas-preferencia #aceptarRedirigirIdioma:hover { border-color: #006aa7; background: #006aa7; color: #fff; box-shadow: 0 6px 18px #0078bd25; }
#idiomasModal.idiomas-preferencia #cancelarRedirigirIdioma { border-color: #d5e1ea; background: #fff; color: #25485e; }
#idiomasModal.idiomas-preferencia #cancelarRedirigirIdioma:hover { border-color: #97c5df; background: #f4faff; color: #17364d; }
#idiomasModal.idiomas-preferencia .idioma-opcion-etiqueta { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; font-weight: 500; line-height: 1.4; letter-spacing: .15px; }
#idiomasModal.idiomas-preferencia .idioma-opcion-etiqueta svg { flex: 0 0 16px; width: 16px; height: 16px; }
#idiomasModal.idiomas-preferencia .idioma-opcion-actual .idioma-opcion-etiqueta { color: #5b7282; }
#idiomasModal.idiomas-preferencia .idioma-opcion-nombre { display: flex; align-items: center; gap: 10px; color: inherit; font-family: var(--cl-font-heading, 'Createlow Manrope', Arial, sans-serif); font-size: 21px; font-weight: 700; line-height: 1.35; }
#idiomasModal.idiomas-preferencia .idioma-opcion-nombre img { position: static; display: block; flex: 0 0 32px; width: 32px; height: 32px; margin: 0; object-fit: contain; }
#idiomasModal.idiomas-preferencia .idioma-opcion-accion { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; color: inherit; font-size: 12px; font-weight: 500; line-height: 1.5; }
#idiomasModal.idiomas-preferencia .idioma-opcion-accion>span { font-size: 19px; line-height: 1; }
#idiomasModal.idiomas-preferencia .idioma-nota { display: flex; align-items: flex-start; gap: 7px; margin: 0; padding-top: 18px; border-top: 1px solid #e9eff4; color: #5b7282; font-size: 12px; font-weight: 400; line-height: 1.6; }
#idiomasModal.idiomas-preferencia .idioma-nota svg { flex: 0 0 17px; width: 17px; height: 17px; margin-top: 1px; color: #368476; }
#idiomasModal.idiomas-preferencia button:focus-visible { outline: 3px solid #17364d; outline-offset: 4px; }
@media(max-width: 639px) {
    #idiomasModal.idiomas-preferencia .modal-dialog { margin: 12px; min-height: calc(100% - 24px); }
    #idiomasModal.idiomas-preferencia .modal-content { padding: 26px 22px; border-radius: 20px; }
    #idiomasModal.idiomas-preferencia h2 { font-size: 26px; letter-spacing: -.6px; }
    #idiomasModal.idiomas-preferencia #idiomasModalDescripcion { font-size: 14px; }
    #idiomasModal.idiomas-preferencia .idioma-saludo { margin-bottom: 20px; }
    #idiomasModal.idiomas-preferencia .idioma-opciones { grid-template-columns: minmax(0,1fr); gap: 10px; margin-top: 22px; }
    #idiomasModal.idiomas-preferencia :is(#aceptarRedirigirIdioma,#cancelarRedirigirIdioma) { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px 8px; padding: 16px; }
    #idiomasModal.idiomas-preferencia .idioma-opcion-etiqueta { grid-column: 1/-1; }
    #idiomasModal.idiomas-preferencia .idioma-opcion-nombre { font-size: 19px; gap: 8px; }
    #idiomasModal.idiomas-preferencia .idioma-opcion-nombre img { flex-basis: 28px; width: 28px; height: 28px; }
    #idiomasModal.idiomas-preferencia .idioma-opcion-accion { max-width: 130px; margin-top: 0; text-align: right; justify-content: flex-end; }
}
@media(max-width: 359px) {
    #idiomasModal.idiomas-preferencia .modal-content { padding: 24px 18px; }
    #idiomasModal.idiomas-preferencia .idioma-opcion-accion { max-width: 103px; font-size: 11px; }
}
@media(prefers-reduced-motion: reduce) { #idiomasModal.idiomas-preferencia button.idioma-opcion { transition: none; } }
