﻿/* ── Estilos de modal compartidos ── */
        .login-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
        .login-modal[hidden] { display: none; }
        .login-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.55); cursor: pointer; }
        .login-modal__panel {
            position: relative; z-index: 1;
            background: #fff; border-radius: 1rem;
            padding: 2.5rem 2rem 2rem;
            max-width: 420px; width: calc(100% - 2rem);
            box-shadow: 0 20px 60px rgba(0,0,0,.25);
            text-align: center;
            animation: modal-in .18s ease;
        }
        @keyframes modal-in { from { opacity:0; transform: scale(.94) translateY(8px); } to { opacity:1; transform: none; } }
        .login-modal__close {
            position: absolute; top: 1rem; right: 1rem;
            background: none; border: none; cursor: pointer;
            color: #6b7280; font-size: 1.1rem; padding: .25rem .4rem;
            border-radius: .4rem; line-height: 1;
            transition: color .15s, background .15s;
        }
        .login-modal__close:hover { color: #111; background: #f3f4f6; }
        .login-modal__icon {
            width: 3.5rem; height: 3.5rem; border-radius: 50%;
            background: #fef2f2; color: #BF0909;
            display: flex; align-items: center; justify-content: center;
            font-size: 1.4rem; margin: 0 auto 1.25rem;
        }
        .login-modal__icon--green { background: #f0fdf4; color: #15803d; }
        .login-modal__title { font-size: 1.15rem; font-weight: 700; color: #111; margin: 0 0 .75rem; }
        .login-modal__body { font-size: .92rem; color: #374151; line-height: 1.6; margin: 0 0 1rem; }
        .login-modal__cta {
            display: inline-flex; align-items: center; gap: .5rem;
            background: #BF0909; color: #fff;
            padding: .65rem 1.4rem; border-radius: .5rem;
            font-size: .9rem; font-weight: 600; text-decoration: none;
            transition: background .15s;
        }
        .login-modal__cta:hover { background: #980707; color: #fff; }
        .login-modal__hint { font-size: .8rem; color: #6b7280; margin: 1rem 0 0; line-height: 1.5; }
        .login-modal__steps { text-align: left; font-size: .9rem; color: #374151; line-height: 1.6; margin: 0 0 1.25rem; padding-left: 1.4rem; }
        .login-modal__steps li { margin-bottom: .4rem; }
        /* Estilo botón-enlace para los triggers de modal */
        .login-form__forgot,
        .login-form__register-link {
            background: none; border: none; padding: 0; cursor: pointer;
            font-family: inherit; font-size: inherit;
        }
        .login-form__forgot { color: var(--login-primary, #BF0909); font-size: .82rem; }
        .login-form__register-link { color: var(--login-primary, #BF0909); font-weight: 600; font-size: .85rem; }
        .login-form__forgot:hover, .login-form__register-link:hover { text-decoration: underline; }