:root { --azul-marino: #15395e; --azul-marino-2: #1e4b7a; }

.bg-navy   { background-color: var(--azul-marino) !important; }
.text-navy { color: var(--azul-marino) !important; }

.btn-navy { background-color: var(--azul-marino); border-color: var(--azul-marino); color: #fff; }
.btn-navy:hover, .btn-navy:focus { background-color: var(--azul-marino-2); border-color: var(--azul-marino-2); color: #fff; }

.btn-outline-navy { color: var(--azul-marino); border-color: var(--azul-marino); }
.btn-outline-navy:hover, .btn-outline-navy:focus { background-color: var(--azul-marino); border-color: var(--azul-marino); color: #fff; }

body { -webkit-text-size-adjust: 100%; }

/* Transiciones generales */
.btn { transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .08s ease; }
.btn:active { transform: scale(.97); }
.card { transition: box-shadow .2s ease, transform .2s ease; }
.card:hover { box-shadow: 0 .5rem 1rem rgba(0,0,0,.12) !important; }

/* Snackbar / toast de confirmación */
.snackbar {
    visibility: hidden; opacity: 0;
    position: fixed; left: 50%; bottom: 30px;
    transform: translateX(-50%) translateY(20px);
    min-width: 240px; max-width: 90%;
    background: var(--azul-marino); color: #fff; text-align: center;
    padding: 14px 20px; border-radius: 10px; font-size: 1.1rem; z-index: 1080;
    box-shadow: 0 6px 18px rgba(0,0,0,.3);
    transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
}
.snackbar.show { visibility: visible; opacity: 1; transform: translateX(-50%) translateY(0); }

/* Accesibilidad (usuarios mayores): texto y controles grandes en el detalle */
.participar-wrap { font-size: 1.15rem; }
.participar-wrap .form-label { font-size: 1.15rem; font-weight: 600; }
.participar-wrap .form-control { font-size: 1.15rem; padding: .75rem 1rem; }
.paso-num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2rem; height: 2rem; border-radius: 50%;
    background: #fff; color: var(--azul-marino); font-weight: 700; margin-right: .5rem;
}
.btn-participar { font-size: 1.35rem; padding: .9rem 1rem; }
.btn-participar:disabled { opacity: .55; cursor: not-allowed; }
