/* Minification failed. Returning unminified contents.
(10,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(25,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(29,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(57,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(68,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(111,28): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(156,22): run-time error CSS1039: Token not allowed after unary operator: '-fatri-ice'
(164,24): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy-mid'
(182,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(200,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(207,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(215,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy-mid'
(249,33): run-time error CSS1039: Token not allowed after unary operator: '-escolar-primary'
(250,22): run-time error CSS1039: Token not allowed after unary operator: '-escolar-bg'
(254,22): run-time error CSS1039: Token not allowed after unary operator: '-escolar-bg-alt'
(255,24): run-time error CSS1039: Token not allowed after unary operator: '-escolar-primary-dark'
(259,17): run-time error CSS1039: Token not allowed after unary operator: '-escolar-primary'
(263,17): run-time error CSS1039: Token not allowed after unary operator: '-escolar-primary'
(285,28): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(294,22): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(349,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(359,22): run-time error CSS1039: Token not allowed after unary operator: '-fatri-ice'
(360,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy-mid'
(377,22): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(395,28): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange-deep'
(418,22): run-time error CSS1039: Token not allowed after unary operator: '-fatri-ice'
(453,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy-mid'
(457,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy-mid'
(462,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(486,22): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy-mid'
(492,22): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(513,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(518,35): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(534,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(538,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy-mid'
(544,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(560,22): run-time error CSS1039: Token not allowed after unary operator: '-fatri-ice'
(566,24): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy-mid'
(606,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy-mid'
(612,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(619,28): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(628,28): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(666,22): run-time error CSS1039: Token not allowed after unary operator: '-fatri-ice'
(686,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(693,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(704,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(719,28): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(735,33): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(743,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(744,29): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(748,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy-mid'
(752,17): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(756,22): run-time error CSS1039: Token not allowed after unary operator: '-fatri-navy'
(760,29): run-time error CSS1039: Token not allowed after unary operator: '-fatri-orange'
(785,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(786,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(787,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(792,22): run-time error CSS1039: Token not allowed after unary operator: '-escolar-primary'
(807,33): run-time error CSS1039: Token not allowed after unary operator: '-escolar-glow'
(811,33): run-time error CSS1039: Token not allowed after unary operator: '-escolar-glow'
(816,24): run-time error CSS1039: Token not allowed after unary operator: '-escolar-primary'
(821,22): run-time error CSS1039: Token not allowed after unary operator: '-escolar-bg'
(822,17): run-time error CSS1039: Token not allowed after unary operator: '-escolar-primary-dark'
(827,24): run-time error CSS1039: Token not allowed after unary operator: '-escolar-primary'
(828,22): run-time error CSS1039: Token not allowed after unary operator: '-escolar-bg'
(834,22): run-time error CSS1039: Token not allowed after unary operator: '-escolar-bg'
 */
/* ============================================================
   Competition Detail Page — Athletic Edge styling
   ============================================================ */

/* ── Competition Header ── */
.carreraheader {
}

.carreraheader .nombre {
    color: var(--fatri-navy, #0b1d3a);
    font-family: 'Outfit', sans-serif;
    font-size: 1.6em;
    font-weight: 800;
    margin-bottom: 0.3em;
    padding-bottom: 0.3em;
    line-height: 1.2;
}

.carreraheader .nombre a {
    color: inherit;
    text-decoration: none;
}

.carreraheader .nombre a:hover {
    color: var(--fatri-orange, #ff4500);
}

.carreraheader .fecha {
    color: var(--fatri-navy, #0b1d3a);
    font-family: 'DM Sans', sans-serif;
    font-size: 1.1em;
    font-weight: bold;
    padding-bottom: 10px;
    background-image: url('/images/date.jpg');
}

.carreraheader .lugar {
    font-family: 'DM Sans', sans-serif;
    color: #444;
    padding-bottom: 10px;
}

.carreraheader .lugar .provincia {
    color: #777;
}

.lugar.pin {
    background-image: url('/images/location-pin.png');
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 13px;
    margin-top: 0.6em;
}

.carreraheader .precio {
    color: var(--fatri-navy, #0b1d3a);
    font-family: 'DM Sans', sans-serif;
    font-size: 1.1em;
    padding-bottom: 10px;
    background-image: url('/images/ico-precio.jpg');
    margin: 0.5em 0;
    border-radius: 4px;
}

.carreraheader .precio-explicacion-collapser {
    cursor: pointer;
    color: var(--fatri-orange, #ff4500);
    font-family: 'DM Sans', sans-serif;
    font-weight: bold;
    outline: none;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 0.5em;
    border-top: 1px solid #dee2e6;
    padding-top: 0.3em;
    margin-top: 0.4em;
}

.carreraheader .precio-explicacion-collapser:focus {
    text-decoration: underline;
}

.carreraheader .precio-explicacion-collapser .arrow {
    font-size: 1.2em;
    transition: transform 0.2s;
}

.carreraheader .precio-explicacion {
    margin-top: 0.5em;
    transition: max-height 0.3s ease;
}

.carreraheader .tramos-precio {
    display: flex;
    flex-direction: column;
    gap: 0.7em;
}

.carreraheader .tramo {
    padding: 0.5em 0.5em;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    transition: border 0.2s, background 0.2s;
    font-family: 'DM Sans', sans-serif;
}

.carreraheader .tramo-actual {
    border: 2px solid var(--fatri-orange, #ff4500);
    background: #fff5f0;
    box-shadow: 0 2px 8px rgba(255,69,0,0.08);
}

.carreraheader .tramo ul {
    margin: 0.5em 0 0 1.5em;
    padding: 0;
}

.carreraheader .tramo li {
    margin-bottom: 0.3em;
}

.carreraheader .nota {
    margin-top: 1em;
    color: #6c757d;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.9em;
}

.carreraheader .fecha, .carreraheader .lugar, .carreraheader .precio {
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: inherit;
    padding-left: 25px;
}


/* ── Previous/Next Navigation ── */
.competicion-nav {
    display: flex;
    justify-content: space-between;
    margin: 0 0 1.5em 0;
    gap: 0.75em;
}

.nav-card {
    display: flex;
    align-items: center;
    gap: 0.75em;
    flex: 1;
    min-width: 0;
    padding: 0.8em 1em;
    border-radius: 8px;
    background: var(--fatri-ice, #f0f4f8);
    border: 1px solid #e0e4ea;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
}

a.nav-card:hover {
    background: #e6ecf3;
    border-color: var(--fatri-navy-mid, #142f5a);
    box-shadow: 0 2px 8px rgba(11, 29, 58, 0.08);
    text-decoration: none;
}

.nav-card.nav-siguiente {
    text-align: right;
    justify-content: flex-end;
}

.nav-card.nav-empty {
    background: transparent;
    border-color: transparent;
}

.nav-arrow {
    font-size: 1.4em;
    font-weight: 700;
    color: var(--fatri-orange, #ff4500);
    flex-shrink: 0;
    line-height: 1;
}

.nav-text {
    display: flex;
    flex-direction: column;
    gap: 0.1em;
    min-width: 0;
}

.nav-label {
    font-family: 'Outfit', 'DM Sans', sans-serif;
    font-size: 0.7em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--fatri-orange, #ff4500);
}

.nav-name {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.88em;
    font-weight: 600;
    color: var(--fatri-navy, #0b1d3a);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.3;
}

a.nav-card:hover .nav-name {
    color: var(--fatri-navy-mid, #142f5a);
}

.nav-date {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.75em;
    color: #6b7a8d;
    font-weight: 400;
}

@media (max-width: 580px) {
    .competicion-nav {
        flex-direction: column;
        gap: 0.5em;
    }

    .nav-card.nav-siguiente {
        text-align: left;
        justify-content: flex-start;
        flex-direction: row-reverse;
    }
}

/* ── Nav card: reset orange inside escolar-theme for non-escolar targets ── */
.escolar-theme .nav-card:not(.nav-escolar) .nav-arrow {
    color: #ff4500;
}

.escolar-theme .nav-card:not(.nav-escolar) .nav-label {
    color: #ff4500;
}

/* ── Escolar nav card accent ── */
.nav-card.nav-escolar {
    border-left: 3px solid var(--escolar-primary, #2e8b57);
    background: var(--escolar-bg, #f0faf5);
}

a.nav-card.nav-escolar:hover {
    background: var(--escolar-bg-alt, #e6f5ec);
    border-color: var(--escolar-primary-dark, #236b43);
}

.nav-card.nav-escolar .nav-arrow {
    color: var(--escolar-primary, #2e8b57);
}

.nav-card.nav-escolar .nav-label {
    color: var(--escolar-primary, #2e8b57);
}


/* ── Suspendida Banner ── */
.carrera .carrera-status-suspendida {
    background-color: #d32f2f;
    text-transform: uppercase;
    font-family: 'Outfit', sans-serif;
    font-size: 1.6em;
    font-weight: 800;
    color: white;
    padding: 0.4em 0.5em;
    border-radius: 4px;
    margin: 0.8em 0;
    letter-spacing: 0.03em;
}


/* ── Inscription Box ── */
.carrera .inscripcionBox {
    padding: 0;
    border: 2px solid var(--fatri-navy, #0b1d3a);
    border-radius: 10px;
    margin: 1.2em 0 1.8em 0;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 20px rgba(11, 29, 58, 0.10);
}

.carrera .inscripcionBox .inscripcionBox-header {
    background: var(--fatri-navy, #0b1d3a);
    padding: 0.65em 1.2em;
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.carrera .inscripcionBox .inscripcionBox-icon {
    font-size: 1.1em;
    opacity: 0.7;
    color: #fff;
}

.carrera .inscripcionBox h3 {
    background: none;
    padding: 0;
    font-family: 'Outfit', sans-serif;
    font-size: 0.85em;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0;
}

.carrera .inscripcionBox .inscripcionBoxContent {
    padding: 1.2em 1.4em 1.4em;
    font-family: 'DM Sans', sans-serif;
}

/* Deadline area */
.carrera .inscripcionBox .inscripcionFinaliza {
    display: flex;
    align-items: center;
    gap: 0.8em;
    flex-wrap: wrap;
}

.carrera .inscripcionBox .inscripcion-deadline {
    display: flex;
    flex-direction: column;
    gap: 0.1em;
}

.carrera .inscripcionBox .inscripcion-deadline-label {
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8899aa;
    font-weight: 600;
}

.carrera .inscripcionBox .inscripcion-deadline-date {
    font-size: 1.05em;
    font-weight: 700;
    color: var(--fatri-navy, #0b1d3a);
}

/* Time-ago badge */
.carrera .inscripcionBox .fechaago {
    display: inline-block;
    font-size: 0.78em;
    font-weight: 600;
    padding: 0.3em 0.7em;
    border-radius: 20px;
    background: var(--fatri-ice, #f0f4f8);
    color: var(--fatri-navy-mid, #142f5a);
}

.carrera .inscripcionBox .fechaago.soon {
    background: #fff0e6;
    color: #cc3700;
    animation: inscripcion-pulse 2s ease-in-out infinite;
}

@keyframes inscripcion-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* CTA button */
.carrera .inscripcionBox .bto {
    display: block;
    background: var(--fatri-orange, #ff4500);
    color: #fff;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.75em 2em;
    border-radius: 8px;
    text-decoration: none;
    text-shadow: none;
    text-align: center;
    margin-top: 1.2em;
    transition: background-color 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 3px 12px rgba(255, 69, 0, 0.25);
}

.carrera .inscripcionBox .bto:hover {
    background-color: var(--fatri-orange-deep, #cc3700);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 69, 0, 0.35);
    text-decoration: none;
}

.carrera .inscripcionBox .bto:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(255, 69, 0, 0.2);
}

/* Status banners (closed / not yet open) */
.carrera .inscripcionBox .inscripcion-status-banner {
    display: flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.7em 1em;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.9em;
}

.carrera .inscripcionBox .inscripcion-status-closed {
    background: var(--fatri-ice, #f0f4f8);
    color: #6b7a8d;
}

.carrera .inscripcionBox .inscripcion-status-finished {
    background: #f5f0f0;
    color: #8a6565;
}

.carrera .inscripcionBox .inscripcion-status-externa {
    background: #f0f4f8;
    color: #6b7a8d;
    font-style: italic;
}

.carrera .inscripcionBox .inscripcion-status-icon {
    font-size: 1.1em;
}

/* Inscritos area */
.carrera .inscripcionBox .inscripcion-inscritos-confirmados {
    margin-top: 1.2em;
    padding-top: 1em;
    border-top: 1px solid #eef1f5;
    font-size: 0.88em;
}

.carrera .inscripcionBox .inscripcion-inscritos-row {
    display: flex;
    align-items: center;
    gap: 0.4em;
}

.carrera .inscripcionBox .inscripcion-inscritos-icon {
    font-size: 1.2em;
    color: var(--fatri-navy-mid, #142f5a);
}

.carrera .inscripcionBox .inscripcion-inscritos-confirmados a {
    color: var(--fatri-navy-mid, #142f5a);
    font-weight: 600;
}

.carrera .inscripcionBox .inscripcion-inscritos-confirmados a:hover {
    color: var(--fatri-orange, #ff4500);
}

.carrera .inscripcionBox .inscripcion-inscritos-max {
    color: #8899aa;
    font-weight: 500;
}

.carrera .inscripcionBox .inscripcion-inscritos-max-only {
    color: #8899aa;
    font-size: 0.9em;
}

/* Capacity progress bar */
.carrera .inscripcionBox .inscripcion-capacity-bar {
    margin-top: 0.6em;
    height: 6px;
    background: #eef1f5;
    border-radius: 3px;
    overflow: hidden;
}

.carrera .inscripcionBox .inscripcion-capacity-fill {
    height: 100%;
    background: var(--fatri-navy-mid, #142f5a);
    border-radius: 3px;
    transition: width 0.6s ease;
}

.carrera .inscripcionBox .inscripcion-capacity-fill.inscripcion-capacity-high {
    background: var(--fatri-orange, #ff4500);
}


/* ── Competition Container ── */
.carrera {
    padding: 0.2em;
}


/* ── Ficha Box (competition details) ── */
.carrera .fichaBox {
    margin-top: 1.5em;
    padding: 0;
    clear: both;
}

.carrera .fichaBox h1 {
    font-family: 'Outfit', sans-serif;
    font-weight: 800;
    font-size: 1.1em;
    color: var(--fatri-navy, #0b1d3a);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 1.5em 0 0.6em 0;
    padding-bottom: 0.4em;
    border-bottom: 3px solid var(--fatri-orange, #ff4500);
    display: inline-block;
}

.carrera .fichaBox h1:first-child {
    margin-top: 0;
}

.carrera .fichaBox .ficha-dato {
    font-family: 'DM Sans', sans-serif;
    margin: 0.5em 0;
    color: #444;
}

.carrera .fichaBox .ficha-label {
    font-weight: 600;
    color: var(--fatri-navy, #0b1d3a);
}

.carrera .fichaBox a {
    color: var(--fatri-navy-mid, #142f5a);
    text-decoration: none;
    font-weight: 500;
}

.carrera .fichaBox a:hover {
    color: var(--fatri-orange, #ff4500);
}


/* ── Competition Image Gallery ── */
.competicion-galeria {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0.75em;
    margin: 1em 0 1.5em 0;
}

.competicion-galeria-item {
    display: block;
    border-radius: 6px;
    overflow: hidden;
    background: var(--fatri-ice, #f0f4f8);
    border: 1px solid #e0e4ea;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.competicion-galeria-item:hover {
    border-color: var(--fatri-navy-mid, #142f5a);
    box-shadow: 0 4px 12px rgba(11, 29, 58, 0.1);
}

.competicion-galeria-item img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.3s;
}

.competicion-galeria-item:hover img {
    transform: scale(1.03);
}

@media (max-width: 480px) {
    .competicion-galeria {
        grid-template-columns: 1fr;
    }
}


/* ── Anexos (downloads) ── */
.carrera .carreraanexos ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.carrera .carreraanexos li {
    padding: 0.5em 0;
    border-bottom: 1px solid #f0f0f0;
    font-family: 'DM Sans', sans-serif;
}

.carrera .carreraanexos li:last-child {
    border-bottom: none;
}

.carrera .carreraanexos a {
    color: var(--fatri-navy-mid, #142f5a);
    text-decoration: none;
    font-weight: 500;
}

.carrera .carreraanexos a:hover {
    color: var(--fatri-orange, #ff4500);
}


/* ── Results Box ── */
.carrera .resultadosBox {
    margin: 1.5em 0 2em 0;
    border: 2px solid var(--fatri-navy, #0b1d3a);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(11, 29, 58, 0.10);
    background: #fff;
}

.carrera .resultadosBox h1 {
    margin: 0;
    background-color: var(--fatri-navy, #0b1d3a);
    padding: 0.65em 1.2em;
    font-family: 'Outfit', sans-serif;
    font-size: 0.85em;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.carrera .resultadosBox .carreraClasificaciones {
    padding: 0.5em 0.8em;
}

.carrera .resultadosBox .carreraClasificaciones ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.carrera .resultadosBox .carreraClasificaciones li.resultado-file {
    font-family: 'DM Sans', sans-serif;
}

.carrera .resultadosBox .resultado-file-link {
    display: flex;
    align-items: center;
    gap: 0.8em;
    padding: 0.65em 0.7em;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s, transform 0.15s;
}

.carrera .resultadosBox .resultado-file-link:hover {
    background: var(--fatri-ice, #f0f4f8);
    transform: translateX(4px);
    text-decoration: none;
}

.carrera .resultadosBox .resultado-file-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    line-height: 1;
}

.carrera .resultadosBox .resultado-file-icon svg {
    display: block;
}

.carrera .resultadosBox .resultado-file-name {
    flex: 1;
    font-weight: 600;
    font-size: 0.92em;
    color: var(--fatri-navy, #0b1d3a);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.carrera .resultadosBox .resultado-file-link:hover .resultado-file-name {
    color: var(--fatri-orange, #ff4500);
}

.carrera .resultadosBox .resultado-file-arrow {
    flex-shrink: 0;
    font-size: 1.1em;
    color: #b0bac6;
    transition: color 0.2s, transform 0.2s;
}

.carrera .resultadosBox .resultado-file-link:hover .resultado-file-arrow {
    color: var(--fatri-orange, #ff4500);
    transform: translate(2px, -2px);
}

.carrera .resultadosBox .resultados-pendientes {
    padding: 1.2em;
    margin: 0;
    color: #666;
    font-family: 'DM Sans', sans-serif;
    font-style: italic;
}


/* ── Status Badge ── */
.carrera .carrera-status {
    background-color: var(--fatri-navy, #0b1d3a);
    border-radius: 4px;
    color: white;
    text-transform: uppercase;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 0.85em;
    letter-spacing: 0.05em;
    padding: 0.5em 0.8em;
    margin-bottom: 1em;
}


/* ── Editor Content overrides for competition page ── */
.carrera .editor-content {
    font-family: 'DM Sans', sans-serif;
    border-left: 4px solid var(--fatri-orange, #ff4500);
    background: #f7f8fa;
    padding: 1.2em 1.5em;
    margin-top: 1.2em;
    border-radius: 0 6px 6px 0;
}

.carrera .editor-content h3 {
    color: var(--fatri-navy, #0b1d3a);
    border-left-color: var(--fatri-orange, #ff4500);
}

.carrera .editor-content a {
    color: var(--fatri-navy-mid, #142f5a);
}

.carrera .editor-content a:hover {
    color: var(--fatri-orange, #ff4500);
}

.carrera .editor-content th {
    background: var(--fatri-navy, #0b1d3a);
}

.carrera .editor-content blockquote {
    border-left-color: var(--fatri-orange, #ff4500);
    background: #fff8f5;
}


/* ── Responsive ── */
@media (max-width: 768px) {
    .carreraheader .nombre {
        font-size: 1.3em;
    }

    .carrera .ImagenesBox {
        float: none;
        max-width: 100%;
        margin: 0.5em 0 1em 0;
    }
}


/* ============================================================
   Escolar Theme -- green palette override for school competitions
   Applied via .escolar-theme on the .carrera wrapper
   ============================================================ */

.escolar-theme {
    --fatri-orange: var(--escolar-primary, #2e8b57);
    --fatri-orange-deep: var(--escolar-primary-dark, #236b43);
    --fatri-orange-warm: var(--escolar-accent, #4ecdc4);
}

/* Escolar banner */
.escolar-banner {
    background: var(--escolar-primary, #2e8b57);
    color: #fff;
    font-family: 'Outfit', sans-serif;
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.5em 1em;
    border-radius: 4px;
    margin-bottom: 1em;
    display: inline-block;
}

/* CTA button glow override */
.escolar-theme .inscripcionBox .bto {
    box-shadow: 0 3px 12px var(--escolar-glow, rgba(46, 139, 87, 0.25));
}

.escolar-theme .inscripcionBox .bto:hover {
    box-shadow: 0 6px 20px var(--escolar-glow, rgba(46, 139, 87, 0.35));
}

/* Inscription box border */
.escolar-theme .inscripcionBox {
    border-color: var(--escolar-primary, #2e8b57);
}

/* Urgency badge override */
.escolar-theme .inscripcionBox .fechaago.soon {
    background: var(--escolar-bg, #f0faf5);
    color: var(--escolar-primary-dark, #236b43);
}

/* Tramo actual override */
.escolar-theme .tramo-actual {
    border-color: var(--escolar-primary, #2e8b57);
    background: var(--escolar-bg, #f0faf5);
    box-shadow: 0 2px 8px rgba(46, 139, 87, 0.08);
}

/* Editor content blockquote */
.escolar-theme .editor-content blockquote {
    background: var(--escolar-bg, #f0faf5);
}

