:root{--green:#78d400;--green2:#9be51a;--bg:#070a0d;--panel:#10151a;--panel2:#151b21;--line:#283039;--text:#f5f7f8;--muted:#a5afb7;--orange:#ff9f1a;--max:1420px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#05080a,#0b1014);color:var(--text);font-family:Arial,Helvetica,sans-serif}.tmt-shell{width:min(calc(100% - 48px),var(--max));margin:auto}.tmt-header{height:82px;border-bottom:1px solid #20262c;background:#05080af5;position:sticky;top:0;z-index:50}.tmt-nav{height:82px;display:flex;align-items:center;justify-content:space-between}.tmt-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.tmt-brand-clock{width:44px;height:44px;border:3px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:27px;font-weight:900}.tmt-brand strong{display:block;font-size:30px;line-height:.9;font-style:italic;color:var(--green)}.tmt-brand small{display:block;font-size:11px;letter-spacing:1.2px;font-weight:700;margin-top:4px}.tmt-menu{display:flex;gap:36px}.tmt-menu a{color:#fff;text-decoration:none;font-size:14px;font-weight:800;padding:32px 0 28px;border-bottom:3px solid transparent}.tmt-menu a:hover,.tmt-menu a.active{color:var(--green2);border-bottom-color:var(--green)}.event-hero{padding:40px 0;background:radial-gradient(circle at 80% 10%,rgba(120,212,0,.09),transparent 33%);border-bottom:1px solid #242c32}.event-hero-grid{display:grid;grid-template-columns:minmax(420px,760px) 1fr;gap:42px;align-items:center}.event-image{border-radius:16px;overflow:hidden;background:#111820;min-height:260px;position:relative;border:1px solid #303b42}.event-image img{width:100%;height:100%;min-height:260px;max-height:440px;object-fit:cover;display:block}.event-fallback{display:none;position:absolute;inset:0;place-items:center;color:#6e9a3b;font-size:28px;font-weight:900}.event-image.missing .event-fallback{display:grid}.event-status{display:inline-block;padding:7px 11px;border-radius:6px;font-size:11px;font-weight:900;letter-spacing:.4px;margin-bottom:13px}.event-status-proximamente{background:var(--orange);color:#171006}.event-status-abiertas{background:var(--green);color:#071006}.event-status-ultimos{background:#ffb000;color:#171006}.event-status-agotado{background:#e04b4b;color:#fff}.event-summary h1{font-size:42px;line-height:1.08;margin:0 0 22px}.event-meta{display:grid;gap:13px;color:#d7dde1}.event-meta>div{display:flex;gap:12px;align-items:flex-start}.event-meta span{color:var(--green);font-size:19px}.event-meta strong{font-size:15px;line-height:1.45}.event-quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.event-quick-links a{color:#dfffc0;border:1px solid #47751f;background:#17230f;text-decoration:none;padding:8px 11px;border-radius:20px;font-size:11px;font-weight:800}.event-content{padding:34px 0 55px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.content-main{display:grid;gap:18px}.info-card,.aside-card{background:linear-gradient(180deg,#141a1f,#0e1317);border:1px solid #303941;border-radius:14px;padding:24px}.info-card{scroll-margin-top:100px}.info-card h2,.aside-card h3{margin:0 0 18px}.info-card h2{font-size:22px;border-left:4px solid var(--green);padding-left:12px}.rich-content{color:#d5dbe0;line-height:1.7;font-size:15px;overflow-wrap:anywhere}.rich-content p{margin:0 0 14px}.rich-content img{max-width:100%!important;height:auto!important;border-radius:10px}.rich-content a{color:var(--green2)}.rich-content table{max-width:100%;display:block;overflow-x:auto}.event-aside{display:grid;gap:18px}.sticky-card{position:sticky;top:104px}.aside-card dl{margin:0}.aside-card dl>div{border-top:1px solid #293138;padding:14px 0}.aside-card dt{font-size:11px;color:var(--green);font-weight:900;text-transform:uppercase;margin-bottom:5px}.aside-card dd{margin:0;color:#d6dde1;font-size:14px;line-height:1.45}.back-button{display:flex;align-items:center;justify-content:center;margin-top:10px;height:43px;border-radius:6px;background:linear-gradient(180deg,#82df0b,#63b600);color:#071006;text-decoration:none;font-size:12px;font-weight:900}.map-card iframe{width:100%;height:300px;border:0;border-radius:9px;background:#0b1014}.tmt-error-wrap{padding:80px 0}.tmt-error{text-align:center;padding:50px;background:#10151a;border:1px solid #3c444c;border-radius:14px;color:#d9dfe3}.tmt-footer{border-top:1px solid #242c32;padding:28px 0;color:#737e86;text-align:center;font-size:12px}@media(max-width:980px){.event-hero-grid{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr}.sticky-card{position:static}.tmt-menu{gap:20px}}@media(max-width:700px){.tmt-shell{width:min(calc(100% - 24px),var(--max))}.tmt-header,.tmt-nav{height:auto;min-height:68px}.tmt-menu{display:none}.tmt-brand strong{font-size:24px}.event-hero{padding-top:24px}.event-summary h1{font-size:32px}.event-image{min-height:190px}.event-image img{min-height:190px}.info-card,.aside-card{padding:18px}.event-quick-links{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.event-quick-links a{flex:0 0 auto}}

.registration-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.registration-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 18px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:900;transition:transform .18s ease,filter .18s ease}.registration-button:hover{transform:translateY(-2px);filter:brightness(1.08)}.registration-button-primary{background:linear-gradient(180deg,#8cf000,#65c000);color:#071006;border:1px solid #99ff10}.registration-button-secondary{background:#17230f;color:#e8ffd2;border:1px solid #5c952c}.registration-button span{font-size:17px}@media(max-width:700px){.registration-actions{display:grid;grid-template-columns:1fr}.registration-button{width:100%}}

/* ETAPA 6: rutas y reducción de información repetida */
.route-section{scroll-margin-top:100px}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.route-card{background:#0b1014;border:1px solid #313a41;border-radius:12px;padding:16px}.route-card h3{margin:0 0 12px;font-size:18px;color:#f2f6f8}.route-card img{width:100%;height:auto;max-height:580px;object-fit:contain;display:block;border-radius:10px;background:#070a0d}.route-card a,.route-side-button{display:flex;align-items:center;justify-content:center;min-height:43px;margin-top:13px;border-radius:7px;background:#17230f;border:1px solid #5c952c;color:#e8ffd2;text-decoration:none;font-size:12px;font-weight:900}.route-card a:hover,.route-side-button:hover{filter:brightness(1.1)}.aside-note{color:#aeb8bf;font-size:14px;line-height:1.55;margin:0 0 16px}.route-side-button{background:linear-gradient(180deg,#82df0b,#63b600);color:#071006;border-color:#86e20c}.event-aside .sticky-card h3{margin-bottom:10px}@media(max-width:800px){.route-grid{grid-template-columns:1fr}}


/* ETAPA 6B: rutas activables + contenido por pestañas */
.route-grid.single{grid-template-columns:minmax(280px,680px);justify-content:center}.route-grid.single .route-card{width:100%;margin-inline:auto}.event-panel{display:none}.event-panel.active{display:block}.event-quick-links a.active{background:linear-gradient(180deg,#82df0b,#63b600);border-color:#86e20c;color:#071006}.event-content{scroll-margin-top:92px}@media(max-width:800px){.route-grid.single{grid-template-columns:minmax(0,1fr)}}

/* ETAPA 6C: corrección responsive + cabecera sin recortes + nuevo logo */
html,body{max-width:100%;overflow-x:hidden}
.tmt-shell,.event-hero-grid,.event-image,.event-summary,.content-grid,.content-main,.event-aside,.info-card,.aside-card{min-width:0}
.tmt-brand img{width:56px;height:56px;object-fit:cover;border-radius:14px;display:block;box-shadow:0 0 0 1px rgba(120,212,0,.45)}
.tmt-brand-copy strong{font-size:25px}.tmt-brand-copy small{font-size:10px}
.tmt-mobile-menu{display:none;position:relative}.tmt-mobile-menu summary{list-style:none;cursor:pointer;color:var(--green2);font-size:30px;font-weight:900;padding:10px}.tmt-mobile-menu summary::-webkit-details-marker{display:none}.tmt-mobile-menu-panel{position:absolute;right:0;top:58px;min-width:210px;background:#0c1115;border:1px solid #303941;border-radius:12px;padding:8px;box-shadow:0 16px 35px rgba(0,0,0,.4);z-index:80}.tmt-mobile-menu-panel a{display:block;padding:12px 14px;color:#fff;text-decoration:none;font-size:13px;font-weight:900;border-radius:8px}.tmt-mobile-menu-panel a.active,.tmt-mobile-menu-panel a:hover{background:#17230f;color:var(--green2)}
.event-image{min-height:0;aspect-ratio:1000/370}.event-image picture{display:block;width:100%;height:100%}.event-image img{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;background:#090d10}
.event-summary h1{overflow-wrap:anywhere;word-break:normal}.event-meta strong{min-width:0;overflow-wrap:anywhere}.registration-actions,.event-quick-links{max-width:100%}
.rich-content,.rich-content *{max-width:100%}.rich-content iframe,.rich-content video{max-width:100%!important}.rich-content table{width:100%!important;max-width:100%!important;overflow-x:auto}
.route-card{min-width:0}.route-card img{max-width:100%;height:auto}

@media(max-width:980px){
  .event-hero-grid{grid-template-columns:minmax(0,1fr);gap:26px}
  .event-image{width:100%;aspect-ratio:1000/370}
  .event-summary{width:100%}
}

@media(max-width:700px){
  .tmt-shell{width:calc(100% - 28px)}
  .tmt-header{position:sticky;top:0;height:auto;min-height:74px}
  .tmt-nav{height:74px;min-height:74px;gap:12px}
  .tmt-menu{display:none}
  .tmt-mobile-menu{display:block;margin-left:auto}
  .tmt-brand{gap:9px;min-width:0}
  .tmt-brand img{width:48px;height:48px;border-radius:12px}
  .tmt-brand-copy strong{font-size:23px}.tmt-brand-copy small{font-size:9px}
  .event-hero{padding:18px 0 24px}
  .event-hero-grid{gap:22px}
  .event-image{border-radius:12px;aspect-ratio:1000/370;min-height:0}
  .event-image img{object-fit:contain;min-height:0}
  .event-status{margin-bottom:10px}
  .event-summary h1{font-size:clamp(27px,8.2vw,36px);line-height:1.06;margin-bottom:18px}
  .event-meta{gap:11px}.event-meta>div{gap:10px}.event-meta span{font-size:17px;flex:0 0 20px}.event-meta strong{font-size:14px;line-height:1.4}
  .registration-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
  .registration-button{width:100%;min-height:50px;padding:12px 16px;text-align:center;white-space:normal}
  .event-quick-links{margin-top:20px;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:10px}
  .event-quick-links a{scroll-snap-align:start;white-space:nowrap}
  .event-content{padding:22px 0 40px}
  .content-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .info-card,.aside-card{padding:16px;border-radius:12px}
  .info-card h2{font-size:20px}
  .rich-content{font-size:14px;line-height:1.6}
  .event-aside{gap:14px}
  .map-card iframe{height:250px}
  .route-grid,.route-grid.single{grid-template-columns:minmax(0,1fr)}
  .route-card{padding:12px}.route-card h3{font-size:16px}
}

@media(max-width:420px){
  .tmt-shell{width:calc(100% - 20px)}
  .tmt-brand-copy small{display:none}
  .event-summary h1{font-size:27px}
  .event-meta strong{font-size:13px}
  .registration-button{font-size:12px}
}


/* ETAPA 6D: navegación más limpia, sin scroll horizontal y marca simplificada */
.tmt-brand-copy strong{font-size:20px;line-height:1.1;white-space:nowrap;text-transform:none}
.registration-button{gap:0}
.registration-button span{display:none!important}
.event-quick-links{display:flex;flex-wrap:wrap;overflow:visible;gap:8px;max-width:100%}
.event-quick-links a{flex:0 1 auto;white-space:normal;text-align:center;line-height:1.2}
.back-only-card{padding:14px}
.back-only-card .back-button{margin-top:0}
.map-card .back-button{margin-top:14px}
@media(max-width:700px){
  .tmt-brand-copy strong{font-size:18px;white-space:normal}
  .event-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding-bottom:0;scroll-snap-type:none}
  .event-quick-links a{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;padding:8px 9px;border-radius:12px;white-space:normal}
}
@media(max-width:390px){
  .event-quick-links{grid-template-columns:1fr 1fr}
  .event-quick-links a{font-size:10px}
  .tmt-brand-copy strong{font-size:16px}
}


/* ETAPA 10D: reloj LED verde estilo cronómetro de carrera */
.event-visual{
    min-width:0;
    display:grid;
    gap:13px;
    align-self:center;
}
.event-countdown{
    width:100%;
    padding:10px 12px 12px;
    border:2px solid #242b27;
    border-radius:9px;
    background:
        linear-gradient(180deg,#101412 0%,#050806 52%,#020402 100%);
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.035),
        inset 0 4px 12px rgba(255,255,255,.025),
        inset 0 -8px 18px rgba(0,0,0,.65),
        0 8px 22px rgba(0,0,0,.28);
    position:relative;
    overflow:hidden;
}
.event-countdown:before,
.event-countdown:after{
    content:"";
    position:absolute;
    top:50%;
    width:7px;
    height:26px;
    margin-top:-13px;
    border-radius:2px;
    background:#1a211d;
    box-shadow:inset 0 0 3px #000;
}
.event-countdown:before{left:3px}
.event-countdown:after{right:3px}

.countdown-heading{
    margin:0 0 7px;
    text-align:center;
    color:#83a47c;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.6px;
}
.countdown-display{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
    gap:6px;
    align-items:center;
}
.countdown-unit{
    min-width:0;
    text-align:center;
}
.led-window{
    min-height:47px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:3px 8px 2px;
    border:1px solid #253128;
    border-radius:4px;
    background:
        repeating-linear-gradient(
            0deg,
            rgba(255,255,255,.015) 0px,
            rgba(255,255,255,.015) 1px,
            transparent 1px,
            transparent 3px
        ),
        radial-gradient(circle at 50% 50%,rgba(60,255,23,.045),transparent 70%),
        #020502;
    box-shadow:
        inset 0 0 10px rgba(0,0,0,.95),
        inset 0 0 4px rgba(75,255,30,.08);
}
.countdown-unit strong{
    display:block;
    font-family:"Courier New",Consolas,"Lucida Console",monospace;
    font-size:clamp(30px,3.15vw,47px);
    line-height:.9;
    font-weight:900;
    letter-spacing:1.5px;
    color:#72ff2d;
    font-variant-numeric:tabular-nums;
    -webkit-font-smoothing:none;
    text-shadow:
        0 0 2px #72ff2d,
        0 0 5px rgba(114,255,45,.95),
        0 0 11px rgba(72,255,20,.6),
        0 0 19px rgba(39,200,10,.3);
}
.countdown-unit-days strong{
    letter-spacing:1px;
}
.countdown-unit span{
    display:block;
    margin-top:5px;
    color:#64805e;
    font-size:7px;
    font-weight:900;
    letter-spacing:1.15px;
}
.countdown-separator{
    align-self:center;
    margin-top:-10px;
    color:#72ff2d;
    font-family:"Courier New",Consolas,monospace;
    font-size:clamp(31px,3vw,44px);
    line-height:1;
    font-weight:900;
    text-shadow:
        0 0 3px #72ff2d,
        0 0 9px rgba(72,255,20,.65);
    animation:tmt-led-colon 1s steps(1,end) infinite;
}
@keyframes tmt-led-colon{
    0%,49%{opacity:1}
    50%,100%{opacity:.32}
}
.countdown-finished{
    padding:12px 0 9px;
    text-align:center;
    color:#72ff2d;
    font-family:"Courier New",Consolas,monospace;
    font-size:clamp(26px,3vw,42px);
    font-weight:900;
    letter-spacing:2px;
    text-shadow:
        0 0 3px #72ff2d,
        0 0 10px rgba(72,255,20,.65);
}

@media(max-width:980px){
    .event-visual{width:100%}
}
@media(max-width:700px){
    .event-visual{gap:9px}
    .event-countdown{
        padding:9px 7px 10px;
        border-radius:8px;
    }
    .countdown-display{gap:3px}
    .led-window{
        min-height:42px;
        padding:3px 4px 2px;
    }
    .countdown-unit strong{
        font-size:clamp(22px,7.4vw,35px);
        letter-spacing:.5px;
    }
    .countdown-separator{
        font-size:clamp(22px,6.6vw,33px);
        margin-top:-9px;
    }
    .countdown-unit span{
        font-size:6px;
        margin-top:4px;
        letter-spacing:.8px;
    }
    .countdown-heading{
        font-size:8px;
        letter-spacing:1.1px;
    }
}
@media(max-width:390px){
    .event-countdown{padding-left:5px;padding-right:5px}
    .led-window{padding-left:2px;padding-right:2px}
    .countdown-unit strong{font-size:21px}
    .countdown-separator{font-size:21px}
}
