/* Estilo general del sistema, alineado a la identidad visual del resto de
   sistemas municipales (azul institucional #1F4E78 / #2f6ea3). */

body { background-color: #f4f6f9; }
.card { border: none; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); }
.table thead { background-color: #eef1f5; }

.btn-primary {
    background: linear-gradient(135deg, #1F4E78 0%, #2f6ea3 100%);
    border: none;
}
.btn-primary:hover {
    background: linear-gradient(135deg, #17395a 0%, #245981 100%);
}
.text-primary-municipal { color: #1F4E78; }

.form-control:focus, .form-select:focus {
    border-color: #2f6ea3;
    box-shadow: 0 0 0 0.2rem rgba(31, 78, 120, 0.2);
}

/* ---------- Encabezado público (inscripción / comprobante) ---------- */

.encabezado-publico {
    background: linear-gradient(135deg, #0e2438 0%, #1F4E78 55%, #2f6ea3 100%);
    color: #fff;
    padding: 2rem 1.5rem;
}
.encabezado-publico img {
    height: 72px;
    width: auto;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.25));
}
.encabezado-publico h1 {
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 0.15rem;
}
.encabezado-publico .subtitulo {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.92rem;
}

.ficha-evento {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

/* ---------- Comprobante / número de participante ---------- */

.ticket {
    border: 2px dashed #1F4E78;
    border-radius: 14px;
    padding: 1.75rem;
    text-align: center;
    background: #fff;
}
.ticket .numero {
    font-size: 3.5rem;
    font-weight: 800;
    color: #1F4E78;
    line-height: 1;
}

/* ---------- Resultados / podio ---------- */

.podio-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    font-weight: 700;
    color: #fff;
}
.podio-1 { background: #c9961a; }
.podio-2 { background: #8c8f94; }
.podio-3 { background: #a05a2c; }

@media print {
    .no-imprimir { display: none !important; }
    body { background: #fff !important; }
}
