.evento {
    padding: 5px;
}

.evento a img{
    width: 1000%
}

.banner {
    padding: 5px 0 20px 0;
}

.banner img {
    width: auto%;
}

.grid-item {
    padding: 5px;
}

@media (min-width: 992px) {
    .grid-item { 
        width: 33%;
    }
}

@media (max-width: 991px) {
    .grid-item { 
        width: 50%;
    }
}

@media (max-width: 767px) {
    .grid-item { 
        width: 100%;
    }
}

.top-h2 {
    color:white;
    padding:10px;
    background-color:rgb(5, 171, 13);
    border-radius:5px 5px 0 0;
    margin-top: 0px;  
}

.estadistica {
    border-radius: 10px;
    background-color: #08870d;
    color: white;
    padding: 1 10px;
    margin-top: 30px;
}

.estadistica small {
    color:white;
}

.valor {
    margin:0 10px;
}

.table td, .table th {
    text-align: center;   
}

/* RESULTA3 ETAPA 02 - buscador y listado modernos */
:root{
  --r3-bg:#050b08;
  --r3-surface:#0b1511;
  --r3-surface2:#101d18;
  --r3-border:#263a31;
  --r3-green:#72f000;
  --r3-text:#f4f7f5;
  --r3-muted:#9eaaa5;
}

body.top-navigation,
body.top-navigation #wrapper,
body.top-navigation #page-wrapper,
body.top-navigation #page-wrapper.white-bg{
  background:var(--r3-bg)!important;
  color:var(--r3-text);
}

.wrapper.wrapper-content{
  padding-top:26px;
  padding-bottom:45px;
}
.wrapper.wrapper-content>.container{
  width:min(1420px,calc(100% - 36px));
  max-width:none;
  padding:0;
}
.tmt-resulta-main{margin:0}
.tmt-resulta-event{width:100%;padding:0}

.tmt-resulta-banner{
  padding:0;
  margin:0 0 18px;
  border:1px solid var(--r3-border);
  border-radius:16px;
  background:var(--r3-surface);
  overflow:hidden;
}
.tmt-resulta-banner:empty{display:none}
.tmt-resulta-banner img{
  display:block;
  width:100%!important;
  max-height:250px;
  object-fit:cover;
}

.tmt-search-card{
  margin:0 0 22px;
  padding:24px;
  border:1px solid var(--r3-border);
  border-radius:16px;
  background:radial-gradient(circle at 100% 0%,rgba(114,240,0,.07),transparent 31%),var(--r3-surface);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.tmt-kicker{
  display:block;
  color:var(--r3-green);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.7px;
}
.tmt-search-card h1,
.tmt-results-heading h2{
  color:var(--r3-text);
  font-weight:800;
  letter-spacing:-.3px;
}
.tmt-search-card h1{margin:5px 0 4px;font-size:30px}
.tmt-search-card p{margin:0;color:var(--r3-muted);font-size:15px}
.tmt-search-card-head{margin-bottom:20px}

.tmt-search-fields{
  display:grid;
  grid-template-columns:minmax(130px,.65fr) minmax(240px,1.35fr) minmax(270px,1.6fr) 135px;
  gap:14px;
  align-items:end;
}
.tmt-field label{
  display:block;
  margin:0 0 7px;
  color:#dfe6e2;
  font-size:13px;
  font-weight:700;
}
.tmt-field .form-control,
.tmt-search-card .chosen-container-multi .chosen-choices{
  min-height:48px;
  border:1px solid #30473c!important;
  border-radius:10px!important;
  background:#07100d!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tmt-field .form-control{padding:11px 13px;font-size:15px}
.tmt-field .form-control::placeholder{color:#74837d}
.tmt-field .form-control:focus,
.tmt-search-card .chosen-container-active .chosen-choices{
  border-color:var(--r3-green)!important;
  box-shadow:0 0 0 2px rgba(114,240,0,.1)!important;
}
.tmt-search-card .chosen-container-multi .chosen-choices{padding:5px 8px!important}
.tmt-search-card .chosen-container-multi .chosen-choices li.search-field input[type=text]{
  height:36px!important;
  color:#dfe6e2!important;
}
.tmt-search-card .chosen-container-multi .chosen-choices li.search-choice{
  margin:5px 5px 2px 0!important;
  border:1px solid rgba(114,240,0,.35)!important;
  border-radius:7px!important;
  background:#16261f!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tmt-search-btn{
  width:100%;
  min-height:48px;
  margin:0!important;
  border:1px solid var(--r3-green)!important;
  border-radius:10px!important;
  background:var(--r3-green)!important;
  color:#071006!important;
  font-size:15px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.tmt-search-btn:hover,.tmt-search-btn:focus{
  background:#83ff12!important;
  border-color:#83ff12!important;
  color:#071006!important;
}
.tmt-search-tip{
  display:flex;
  gap:8px;
  align-items:center;
  margin-top:14px;
  color:#7f9089;
  font-size:12px;
}
.tmt-search-tip i{color:var(--r3-green)}

.tmt-loading-card{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:110px;
  margin-bottom:22px;
  border:1px solid var(--r3-border);
  border-radius:16px;
  background:var(--r3-surface);
  color:#cbd4d0;
  font-weight:700;
}
.tmt-loading-card i{color:var(--r3-green);font-size:20px}

.tmt-results-card{
  margin:0 0 26px!important;
  border:1px solid var(--r3-border)!important;
  border-radius:16px!important;
  background:var(--r3-surface)!important;
  overflow:hidden;
}
.tmt-results-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px!important;
  border-bottom:1px solid var(--r3-border)!important;
  background:linear-gradient(90deg,rgba(114,240,0,.07),transparent)!important;
  color:var(--r3-text)!important;
}
.tmt-results-heading h2{margin:5px 0 0;font-size:22px}
.tmt-results-hint{color:#83928c;font-size:12px;text-align:right}
.tmt-results-body{padding:18px!important;background:var(--r3-surface)!important}
.tmt-results-body .table-responsive{
  border:1px solid #21342b;
  border-radius:12px;
  overflow-x:auto;
  background:#07100d;
}

.tmt-results-table{
  width:100%!important;
  margin:0!important;
  color:#dce5e1!important;
  background:#07100d!important;
}
.tmt-results-table thead th{
  padding:14px 12px!important;
  border-bottom:1px solid #31483d!important;
  background:#101d18!important;
  color:#f6f8f7!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap;
}
.tmt-results-table tbody td{
  padding:13px 12px!important;
  border-top:1px solid #17271f!important;
  color:#d6dfdb!important;
  vertical-align:middle!important;
  white-space:nowrap;
}
.tmt-results-table.table-striped>tbody>tr:nth-of-type(odd){background:#08120e!important}
.tmt-results-table.table-striped>tbody>tr:nth-of-type(even){background:#0b1511!important}
.tmt-results-table tbody tr:hover{background:#11241a!important}
.tmt-results-table a{color:var(--r3-green)!important;font-weight:800;text-decoration:none!important}
.tmt-results-table a:hover{color:#9cff47!important;text-decoration:underline!important}

/* DataTables */
.tmt-results-card .dataTables_wrapper{color:#b7c2bd!important}
.tmt-results-card .dataTables_length,
.tmt-results-card .dataTables_filter{margin-bottom:14px;color:#aeb9b4!important}
.tmt-results-card .dataTables_filter input,
.tmt-results-card .dataTables_length select{
  border:1px solid #30473c!important;
  border-radius:8px!important;
  background:#07100d!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tmt-results-card .dataTables_filter input{min-height:36px;padding:7px 10px}
.tmt-results-card .dataTables_info{color:#81918a!important}
.tmt-results-card .dataTables_paginate .paginate_button{
  border:1px solid #2a4136!important;
  border-radius:7px!important;
  background:#0b1511!important;
  color:#d9e2de!important;
}
.tmt-results-card .dataTables_paginate .paginate_button.current,
.tmt-results-card .dataTables_paginate .paginate_button:hover{
  border-color:var(--r3-green)!important;
  background:var(--r3-green)!important;
  color:#071006!important;
}

/* Tops: solo visual */
.tmt-resulta-tops-zone{margin-top:12px}
.panel-top{
  border:1px solid var(--r3-border)!important;
  border-radius:14px!important;
  overflow:hidden;
  background:var(--r3-surface)!important;
}
.top-h2{
  margin:0!important;
  padding:13px 15px!important;
  border-radius:0!important;
  background:#102017!important;
  color:#fff!important;
  font-size:17px!important;
  border-bottom:1px solid #254033;
}
.panel-top table{color:#dbe3df!important;background:#09120f!important}
.panel-top td{border-top:1px solid #17281f!important}

/* Neutralizar reglas antiguas erróneas */
.evento a img{width:100%!important}
.banner img{width:100%!important}

@media(max-width:991px){
  .tmt-search-fields{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .wrapper.wrapper-content{padding-top:14px;padding-bottom:30px}
  .wrapper.wrapper-content>.container{width:calc(100% - 22px)}
  .tmt-resulta-banner{margin-bottom:12px;border-radius:12px}
  .tmt-resulta-banner img{min-height:92px;max-height:155px;object-fit:cover}
  .tmt-search-card{padding:18px 15px;border-radius:13px}
  .tmt-search-card h1{font-size:25px}
  .tmt-search-fields{grid-template-columns:1fr;gap:12px}
  .tmt-search-tip{align-items:flex-start;line-height:1.4}
  .tmt-results-heading{align-items:flex-start;flex-direction:column;padding:16px!important}
  .tmt-results-heading h2{font-size:20px}
  .tmt-results-hint{text-align:left}
  .tmt-results-body{padding:12px!important}
  .tmt-results-card .dataTables_length,
  .tmt-results-card .dataTables_filter{
    float:none!important;
    width:100%;
    text-align:left!important;
  }
  .tmt-results-card .dataTables_filter input{
    width:100%;
    margin:6px 0 0!important;
  }
  .tmt-results-table{min-width:760px}
  .grid-item{width:100%!important;padding-left:0!important;padding-right:0!important}
}


/* =========================================================
   RESULTA3 ETAPA 02B
   Ajustes móvil, banner, tops, indicaciones y footer
   ========================================================= */

/* Banner: mostrar la imagen completa en TODAS las resoluciones */
.tmt-resulta-banner{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:0;
    background:#07100d;
}
.tmt-resulta-banner img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
}

/* CHOSEN / categorías: contraste correcto en móvil y escritorio */
.tmt-search-card .chosen-container{
    width:100%!important;
}
.tmt-search-card .chosen-container .chosen-drop{
    border:1px solid #365246!important;
    border-top:0!important;
    border-radius:0 0 10px 10px!important;
    background:#08120e!important;
    color:#f3f7f5!important;
    box-shadow:0 12px 28px rgba(0,0,0,.35)!important;
}
.tmt-search-card .chosen-container .chosen-results{
    margin:0!important;
    padding:5px!important;
    background:#08120e!important;
    color:#eef4f1!important;
}
.tmt-search-card .chosen-container .chosen-results li{
    padding:10px 11px!important;
    border-radius:7px;
    color:#e7eeea!important;
    background:transparent!important;
    line-height:1.3!important;
}
.tmt-search-card .chosen-container .chosen-results li.highlighted{
    background:#17311f!important;
    color:#92ff35!important;
}
.tmt-search-card .chosen-container .chosen-results li.result-selected{
    color:#7b8b84!important;
}
.tmt-search-card .chosen-container-multi .chosen-choices li.search-field input[type=text]{
    color:#eef4f1!important;
}
.tmt-search-card .chosen-container-multi .chosen-choices li.search-field input[type=text]::placeholder{
    color:#83918b!important;
}

/* Instrucción visible para abrir la ficha completa */
.tmt-results-hint{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border:1px solid rgba(114,240,0,.24);
    border-radius:9px;
    background:rgba(114,240,0,.06);
    color:#cbd8d2!important;
    font-weight:600;
}
.tmt-results-hint i{
    color:var(--r3-green);
}

/* TOPS - texto más legible y moderno */
.panel-top table{
    width:100%;
    table-layout:fixed;
}
.panel-top table td{
    padding:12px 9px!important;
    vertical-align:middle!important;
    color:#dce7e1!important;
    font-size:14px;
}
.panel-top table td:nth-child(1){width:48px}
.panel-top table td:nth-child(2){width:66px}
.panel-top table td:nth-child(4){width:88px;text-align:right}

.tmt-top-number,
.tmt-top-time,
.tmt-top-name{
    color:#87ee47!important;
    font-weight:750!important;
}
.tmt-top-name{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    line-height:1.25;
    text-decoration:none!important;
}
.tmt-top-name:hover{
    color:#a2ff68!important;
}
.tmt-top-time{
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}

/* Propuesta moderna para lugares 1/2/3: medallones CSS */
.tmt-rank-cell{
    text-align:center;
}
.tmt-rank-badge{
    display:inline-grid;
    place-items:center;
    width:31px;
    height:31px;
    border-radius:50%;
    font-size:14px;
    font-weight:900;
    line-height:1;
    color:#071006;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),0 5px 12px rgba(0,0,0,.2);
}
.tmt-rank-1{
    background:linear-gradient(145deg,#fff2a4,#e8b92e 55%,#9f7010);
}
.tmt-rank-2{
    background:linear-gradient(145deg,#ffffff,#c4cbd0 55%,#7e878d);
}
.tmt-rank-3{
    background:linear-gradient(145deg,#ffd0aa,#c77a3d 55%,#83471f);
}
.tmt-rank-other{
    border:1px solid #385044;
    background:#15231d;
    color:#93a29b;
    box-shadow:none;
}

/* Footer original: evitar solape y llevarlo al estilo moderno */
.footer{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:auto!important;
    clear:both!important;
    width:100%!important;
    min-height:0!important;
    margin:36px 0 0!important;
    padding:22px 24px!important;
    border-top:1px solid #263a31!important;
    background:#07100d!important;
    color:#9eaaa5!important;
    box-shadow:none!important;
}
.footer a{
    color:#83ef3d!important;
    font-weight:700;
}
.footer strong,
.footer b{
    color:#eaf0ed!important;
}
.footer .pull-right,
.footer .pull-left{
    float:none!important;
}
.footer > div,
.footer p{
    margin-bottom:5px;
}

/* Evita que Masonry/últimos tops choquen con el footer */
.tmt-resulta-tops-zone{
    padding-bottom:28px;
}
.tmt-resulta-tops-zone:after{
    content:"";
    display:block;
    clear:both;
}

/* Móvil: resultados compactos y útiles sin scroll lateral */
@media(max-width:767px){
    .tmt-resulta-banner img{
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        object-fit:contain!important;
    }

    .tmt-search-card .chosen-container .chosen-drop{
        position:absolute!important;
        z-index:1000!important;
    }

    .tmt-results-hint{
        width:100%;
        font-size:12px;
        line-height:1.35;
    }

    .tmt-results-body .table-responsive{
        overflow-x:hidden!important;
    }

    .tmt-results-table{
        width:100%!important;
        min-width:0!important;
        table-layout:fixed!important;
    }

    /* En móvil priorizamos Número + Nombre + Categoría + Tiempo Oficial */
    .tmt-results-table th:nth-child(1),
    .tmt-results-table td:nth-child(1){
        width:17%!important;
    }
    .tmt-results-table th:nth-child(2),
    .tmt-results-table td:nth-child(2){
        width:43%!important;
    }
    .tmt-results-table th:nth-child(3),
    .tmt-results-table td:nth-child(3){
        width:17%!important;
    }
    .tmt-results-table th:nth-child(4),
    .tmt-results-table td:nth-child(4){
        width:23%!important;
    }

    .tmt-results-table th:nth-child(n+5),
    .tmt-results-table td:nth-child(n+5){
        display:none!important;
    }

    .tmt-results-table thead th{
        padding:11px 5px!important;
        font-size:10px!important;
        text-align:center!important;
        overflow:hidden;
    }
    .tmt-results-table tbody td{
        padding:12px 5px!important;
        font-size:12px!important;
        text-align:center!important;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .tmt-results-table tbody td:nth-child(2){
        text-align:left!important;
    }
    .tmt-results-table tbody td:nth-child(2) a{
        display:block;
        overflow:hidden;
        white-space:nowrap;
        text-overflow:ellipsis;
        font-size:13px;
        font-weight:850!important;
    }
    .tmt-results-table tbody td:nth-child(4){
        font-variant-numeric:tabular-nums;
        white-space:nowrap;
    }

    .panel-top table td{
        padding:12px 7px!important;
        font-size:13px!important;
    }
    .panel-top table td:nth-child(1){width:42px}
    .panel-top table td:nth-child(2){width:54px}
    .panel-top table td:nth-child(4){width:78px}

    .tmt-rank-badge{
        width:28px;
        height:28px;
        font-size:13px;
    }
    .tmt-top-name{
        -webkit-line-clamp:2;
        line-clamp:2;
        font-size:13px!important;
    }
    .tmt-top-time{
        font-size:13px!important;
    }

    .footer{
        margin-top:28px!important;
        padding:20px 16px!important;
        text-align:center!important;
        font-size:13px!important;
        line-height:1.5!important;
    }
}


/* RESULTA3 ETAPA 02C */

/* Banner compacto en escritorio, completo en móvil */
@media(min-width:768px){
    .tmt-resulta-banner{
        min-height:220px!important;
        padding:0 18px!important;
    }
    .tmt-resulta-banner img{
        width:auto!important;
        max-width:82%!important;
        height:auto!important;
        max-height:250px!important;
        object-fit:contain!important;
    }
}
@media(max-width:767px){
    .tmt-resulta-banner{
        min-height:0!important;
        padding:0!important;
    }
    .tmt-resulta-banner img{
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        object-fit:contain!important;
    }
}

/* Forzar Chosen en móvil; ocultar select nativo blanco */
@media(max-width:767px){
    .tmt-search-card select.chosen-select{
        display:none!important;
        visibility:hidden!important;
        position:absolute!important;
        left:-9999px!important;
        width:1px!important;
        height:1px!important;
    }
    .tmt-search-card .chosen-container{
        display:block!important;
        visibility:visible!important;
        width:100%!important;
        min-height:48px!important;
    }
    .tmt-search-card .chosen-container-multi .chosen-choices{
        display:flex!important;
        align-items:center!important;
        flex-wrap:wrap!important;
        width:100%!important;
        min-height:50px!important;
        max-height:96px!important;
        overflow-y:auto!important;
        background:#07100d!important;
        border:1px solid #30473c!important;
        color:#f2f6f4!important;
    }
    .tmt-search-card .chosen-container .chosen-drop{
        z-index:5000!important;
        background:#08120e!important;
    }
    .tmt-search-card .chosen-container .chosen-results{
        max-height:220px!important;
        overflow-y:auto!important;
        background:#08120e!important;
    }
    .tmt-search-card .chosen-container .chosen-results li{
        color:#edf4f0!important;
        background:#08120e!important;
    }
    .tmt-search-card .chosen-container .chosen-results li.highlighted{
        color:#081006!important;
        background:#72f000!important;
        font-weight:700!important;
    }
}

/* Popup de guía */
.tmt-help-overlay{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}
.tmt-help-modal{
    position:relative;
    width:min(470px,100%);
    padding:28px 26px 24px;
    border:1px solid #355045;
    border-radius:18px;
    background:radial-gradient(circle at 100% 0%,rgba(114,240,0,.10),transparent 34%),#0b1511;
    color:#eef4f1;
    box-shadow:0 24px 70px rgba(0,0,0,.46);
    text-align:center;
}
.tmt-help-close{
    position:absolute;
    top:10px;
    right:12px;
    width:34px;
    height:34px;
    border:0;
    background:transparent;
    color:#98a7a0;
    font-size:28px;
}
.tmt-help-icon{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    margin:0 auto 14px;
    border-radius:50%;
    background:#72f000;
    color:#071006;
    font-size:26px;
}
.tmt-help-modal h3{
    margin:6px 0 10px;
    color:#fff;
    font-size:26px;
    font-weight:850;
}
.tmt-help-modal p{
    margin:0 auto 20px;
    color:#b5c1bb;
    font-size:15px;
    line-height:1.55;
}
.tmt-help-modal p strong{color:#83f33c}
.tmt-help-ok{
    min-width:180px;
    border-color:#72f000!important;
    border-radius:10px!important;
    background:#72f000!important;
    color:#071006!important;
    font-weight:850!important;
}

/* Footer distribuido */
.footer.tmt-footer-modern{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:24px!important;
    flex-wrap:nowrap!important;
    padding:22px 28px!important;
}
.footer.tmt-footer-modern > *{
    margin:0!important;
}
.tmt-footer-whatsapp{
    display:inline-flex!important;
    align-items:center!important;
    gap:9px!important;
    color:#78ee35!important;
    text-decoration:none!important;
    font-weight:750!important;
}
.tmt-footer-whatsapp i{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:#25d366;
    color:#fff;
    font-size:18px;
}
.footer.tmt-footer-modern > *:last-child{
    margin-left:auto!important;
    text-align:right!important;
}

/* Móvil */
@media(max-width:767px){
    .footer.tmt-footer-modern{
        flex-direction:column!important;
        align-items:stretch!important;
        gap:14px!important;
        flex-wrap:wrap!important;
        padding:20px 16px!important;
    }
    .footer.tmt-footer-modern > *{
        width:100%!important;
        text-align:center!important;
        margin:0!important;
    }
    .tmt-footer-whatsapp{
        justify-content:center!important;
    }
    .footer.tmt-footer-modern > *:last-child{
        margin-left:0!important;
        text-align:center!important;
    }
    .tmt-help-modal{
        padding:25px 20px 21px;
    }
    .tmt-help-modal h3{
        font-size:23px;
    }
}


/* =========================================================
   RESULTA3 ETAPA 02D
   Corrección de proporción del icono WhatsApp en móvil
   ========================================================= */
@media(max-width:767px){
    .tmt-footer-whatsapp{
        align-items:center!important;
        justify-content:center!important;
        gap:10px!important;
    }

    .tmt-footer-whatsapp i{
        flex:0 0 34px!important;
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
        min-height:34px!important;
        max-width:34px!important;
        max-height:34px!important;
        aspect-ratio:1 / 1!important;
        border-radius:50%!important;
        line-height:34px!important;
        padding:0!important;
        margin:0!important;
    }

    .tmt-footer-whatsapp span{
        display:inline-block!important;
        width:auto!important;
        max-width:calc(100% - 48px)!important;
    }
}


/* =========================================================
   RESULTA3 ETAPA 03
   Ficha individual del corredor - modernización visual
   ========================================================= */

.tmt-runner-modal{
    padding-right:0!important;
}

.tmt-runner-dialog{
    width:min(960px,calc(100% - 34px))!important;
    margin:32px auto!important;
}

.tmt-runner-content{
    overflow:hidden;
    border:1px solid #2a4036!important;
    border-radius:20px!important;
    background:#07100d!important;
    color:#eef4f1!important;
    box-shadow:0 28px 90px rgba(0,0,0,.55)!important;
}

.tmt-runner-header{
    position:relative;
    padding:25px 30px 23px!important;
    border-bottom:1px solid #263a31!important;
    background:
        radial-gradient(circle at 100% 0%,rgba(114,240,0,.10),transparent 34%),
        linear-gradient(90deg,#0b1812,#07100d)!important;
    text-align:left!important;
}

.tmt-runner-name{
    margin:6px 48px 5px 0!important;
    color:#fff!important;
    font-size:28px!important;
    font-weight:850!important;
    line-height:1.15!important;
}

.tmt-runner-number{
    color:#72f000;
    font-weight:900;
}

.tmt-runner-category{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 11px;
    border:1px solid rgba(114,240,0,.28);
    border-radius:999px;
    background:rgba(114,240,0,.07);
    color:#cfe1d7;
    font-size:13px;
    font-weight:700;
}

.tmt-runner-close{
    position:absolute!important;
    top:16px!important;
    right:18px!important;
    z-index:5;
    width:38px;
    height:38px;
    margin:0!important;
    padding:0!important;
    border:1px solid #344b40!important;
    border-radius:50%;
    background:#0d1814!important;
    color:#eaf1ed!important;
    font-size:27px!important;
    font-weight:400!important;
    line-height:34px!important;
    opacity:1!important;
    text-shadow:none!important;
}

.tmt-runner-body{
    padding:25px 28px 10px!important;
    background:#07100d!important;
}

.tmt-time-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-bottom:20px;
}

.tmt-time-card{
    position:relative;
    min-height:146px;
    padding:22px;
    overflow:hidden;
    border:1px solid #2c4037;
    border-radius:16px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.015),rgba(255,255,255,0)),
        #0b1712;
}

.tmt-time-card:after{
    content:"";
    position:absolute;
    right:-35px;
    bottom:-52px;
    width:130px;
    height:130px;
    border:24px solid rgba(114,240,0,.035);
    border-radius:50%;
}

.tmt-time-primary{
    border-color:rgba(114,240,0,.42);
    background:
        radial-gradient(circle at 100% 0%,rgba(114,240,0,.10),transparent 45%),
        #0b1712;
}

.tmt-time-label{
    display:block;
    margin-bottom:8px;
    color:#8d9c95;
    font-size:11px;
    font-weight:850;
    letter-spacing:1.5px;
}

.tmt-time-value{
    position:relative;
    z-index:2;
    display:block;
    color:#fff;
    font-size:42px;
    font-weight:850;
    line-height:1.05;
    font-variant-numeric:tabular-nums;
    letter-spacing:.5px;
}

.tmt-time-primary .tmt-time-value{
    color:#82f52f;
}

.tmt-time-card small{
    position:relative;
    z-index:2;
    display:block;
    margin-top:9px;
    color:#7f9089;
    font-size:12px;
}

.tmt-hidden-compatible{
    display:none!important;
}

.tmt-runner-section{
    margin:0 0 20px;
    padding:21px;
    border:1px solid #253a31;
    border-radius:16px;
    background:#0a1511;
}

.tmt-section-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:15px;
}

.tmt-section-title h3,
.tmt-section-copy h3{
    margin:4px 0 0;
    color:#f4f7f5;
    font-size:20px;
    font-weight:820;
}

.tmt-section-note{
    max-width:310px;
    color:#778981;
    font-size:11px;
    line-height:1.4;
    text-align:right;
}

.tmt-position-content .col-xs-12{
    float:none!important;
    width:100%!important;
    padding:0!important;
}

.tmt-position-content .ibox,
.tmt-position-content .ibox-content{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.tmt-position-content table{
    margin:0!important;
    border:1px solid #263c32;
    border-radius:12px;
    overflow:hidden;
    background:#07100d;
}

.tmt-position-content table thead{
    display:none;
}

.tmt-position-content table tbody{
    display:grid;
    grid-template-columns:repeat(3,1fr);
}

.tmt-position-content table tr{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:94px;
    padding:14px 10px;
    border-right:1px solid #22352c;
}

.tmt-position-content table tr:last-child{
    border-right:0;
}

.tmt-position-content table th,
.tmt-position-content table td{
    display:block!important;
    width:100%!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#fff!important;
    text-align:center!important;
}

.tmt-position-content table th{
    order:2;
    margin-top:6px;
    color:#8f9d97!important;
    font-size:12px!important;
    font-weight:700!important;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.tmt-position-content table td{
    order:1;
    color:#82f52f!important;
    font-size:28px!important;
    font-weight:900!important;
    line-height:1!important;
}

.tmt-diploma-section{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    background:
        linear-gradient(90deg,rgba(114,240,0,.075),transparent 45%),
        #0a1511;
}

.tmt-section-copy p{
    margin:6px 0 0;
    color:#879790;
    font-size:13px;
}

.tmt-diploma-action{
    min-width:190px;
}

.tmt-diploma-action .btn{
    width:100%;
    min-height:48px;
    margin:0!important;
    border:1px solid #72f000!important;
    border-radius:10px!important;
    background:#72f000!important;
    color:#071006!important;
    font-size:14px!important;
    font-weight:900!important;
}

.tmt-parciales-content > .col-xs-12{
    float:none!important;
    width:100%!important;
    padding:0!important;
}

.tmt-parciales-content .ibox,
.tmt-parciales-content .ibox-content{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.tmt-parciales-content h2{
    display:none!important;
}

.tmt-parciales-content table{
    margin:0!important;
    border:1px solid #263c32;
    border-radius:12px;
    overflow:hidden;
    background:#07100d!important;
}

.tmt-parciales-content table th,
.tmt-parciales-content table td{
    padding:13px 11px!important;
    border-color:#1d3027!important;
    background:transparent!important;
    color:#dbe5e0!important;
    vertical-align:middle!important;
}

.tmt-parciales-content .fa-youtube-play{
    color:#ff3d3d!important;
    font-size:42px!important;
    transition:transform .15s ease;
}

.tmt-parciales-content a:hover .fa-youtube-play{
    transform:scale(1.07);
}

.tmt-fotos-content{
    padding:0!important;
}

.tmt-fotos-content .slider-for{
    margin-right:0!important;
}

.tmt-fotos-content img{
    border-radius:12px!important;
    padding-top:0!important;
}

.tmt-fotos-content .slider-nav{
    margin-top:10px;
}

.tmt-fotos-content .slider-nav img{
    padding:4px!important;
    border-radius:9px!important;
    opacity:.7;
}

.tmt-fotos-content .slick-current img{
    outline:2px solid #72f000;
    opacity:1;
}

.tmt-video-view{
    padding:24px!important;
    background:#07100d!important;
}

.tmt-video-head{
    position:relative;
    display:flex;
    justify-content:flex-start;
    margin-bottom:15px;
}

.tmt-video-back{
    border:1px solid #30473c!important;
    border-radius:9px!important;
    background:#0b1712!important;
    color:#e9f0ec!important;
    font-weight:750!important;
}

.tmt-video-frame{
    overflow:hidden;
    border:1px solid #2a4036;
    border-radius:14px;
    background:#000;
}

.tmt-video-frame iframe{
    display:block;
    width:100%!important;
    min-height:460px;
}

.tmt-runner-footer{
    display:flex!important;
    justify-content:center!important;
    padding:17px 28px 22px!important;
    border-top:0!important;
    background:#07100d!important;
}

.tmt-close-result{
    min-width:190px;
    min-height:44px;
    border:1px solid #385047!important;
    border-radius:10px!important;
    background:#0d1914!important;
    color:#dce6e1!important;
    font-weight:800!important;
}

@media(max-width:767px){
    .tmt-runner-dialog{
        width:calc(100% - 18px)!important;
        margin:10px auto!important;
    }

    .tmt-runner-content{
        border-radius:16px!important;
    }

    .tmt-runner-header{
        padding:21px 18px 18px!important;
    }

    .tmt-runner-name{
        margin-right:42px!important;
        font-size:21px!important;
        line-height:1.22!important;
    }

    .tmt-runner-category{
        max-width:calc(100% - 2px);
        font-size:11px;
        line-height:1.3;
    }

    .tmt-runner-body{
        padding:16px 13px 4px!important;
    }

    .tmt-time-grid{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }

    .tmt-time-card{
        min-height:118px;
        padding:15px 11px;
        border-radius:13px;
    }

    .tmt-time-label{
        font-size:9px;
        letter-spacing:1px;
    }

    .tmt-time-value{
        font-size:26px;
    }

    .tmt-time-card small{
        font-size:10px;
        line-height:1.25;
    }

    .tmt-runner-section{
        margin-bottom:13px;
        padding:15px 12px;
        border-radius:13px;
    }

    .tmt-section-title{
        flex-direction:column;
        gap:4px;
        margin-bottom:12px;
    }

    .tmt-section-title h3,
    .tmt-section-copy h3{
        font-size:18px;
    }

    .tmt-section-note{
        max-width:none;
        text-align:left;
    }

    .tmt-position-content table tbody{
        grid-template-columns:repeat(3,1fr);
    }

    .tmt-position-content table tr{
        min-height:82px;
        padding:11px 4px;
    }

    .tmt-position-content table td{
        font-size:23px!important;
    }

    .tmt-position-content table th{
        font-size:9px!important;
        letter-spacing:.1px;
    }

    .tmt-diploma-section{
        align-items:flex-start;
        flex-direction:column;
        gap:14px;
    }

    .tmt-diploma-action{
        width:100%;
        min-width:0;
    }

    .tmt-parciales-content table th,
    .tmt-parciales-content table td{
        padding:10px 5px!important;
        font-size:11px!important;
    }

    .tmt-parciales-content .fa-youtube-play{
        font-size:34px!important;
    }

    .tmt-video-view{
        padding:14px!important;
    }

    .tmt-video-frame iframe{
        min-height:240px;
        height:240px!important;
    }

    .tmt-runner-footer{
        padding:12px 13px 18px!important;
    }

    .tmt-close-result{
        width:100%;
    }
}


/* =========================================================
   RESULTA3 ETAPA 03B
   Hover oscuro + video completo + nueva galería + compartir
   ========================================================= */

/* Evitar el hover blanco heredado de Bootstrap en parciales/video */
.tmt-parciales-content .table-hover > tbody > tr:hover,
.tmt-parciales-content .table-hover > tbody > tr:hover > td,
.tmt-parciales-content .table-hover > tbody > tr:hover > th{
    background:#102219!important;
    color:#f2f7f4!important;
}
.tmt-parciales-content .table-hover > tbody > tr:hover a{
    color:#fff!important;
}

/* La fila de video siempre conserva fondo oscuro */
.tmt-parciales-content table tbody tr:last-child,
.tmt-parciales-content table tbody tr:last-child th,
.tmt-parciales-content table tbody tr:last-child td{
    background:#0c1813!important;
    color:#dbe5e0!important;
}

/* Reproductor en relación 16:9, sin cortar controles inferiores */
.tmt-video-frame{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden!important;
}
.tmt-video-frame iframe{
    position:absolute;
    inset:0;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
}

/* Nueva propuesta de galería:
   foto protagonista + tira limpia de miniaturas + acciones */
.tmt-photo-stage{
    overflow:hidden;
    border:1px solid #263c32;
    border-radius:15px;
    background:#050b08;
}

.tmt-fotos-content{
    padding:0!important;
}

.tmt-fotos-content .slider-for{
    margin:0!important;
    background:#020504;
}

.tmt-fotos-content .slider-for .slick-slide{
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-height:420px;
    background:#020504;
}

.tmt-fotos-content .slider-for .slick-slide > div,
.tmt-fotos-content .slider-for .slick-slide a{
    display:block;
    width:100%;
}

.tmt-fotos-content .slider-for img{
    display:block;
    width:100%!important;
    max-height:620px;
    margin:0 auto;
    padding:0!important;
    border-radius:0!important;
    object-fit:contain;
    background:#020504;
}

.tmt-fotos-content .slider-nav{
    margin:0!important;
    padding:11px 42px 12px;
    border-top:1px solid #1d3027;
    background:#09130f;
}

.tmt-fotos-content .slider-nav .slick-slide{
    padding:0 5px;
}

.tmt-fotos-content .slider-nav img{
    width:100%!important;
    height:76px!important;
    padding:0!important;
    border:2px solid transparent;
    border-radius:9px!important;
    object-fit:cover;
    opacity:.48;
    transition:opacity .16s ease,border-color .16s ease,transform .16s ease;
}

.tmt-fotos-content .slider-nav .slick-current img{
    border-color:#72f000!important;
    outline:none!important;
    opacity:1;
    transform:scale(1.02);
}

.tmt-fotos-content .slider-nav .slick-prev,
.tmt-fotos-content .slider-nav .slick-next{
    z-index:2;
    width:30px;
    height:44px;
}

.tmt-fotos-content .slider-nav .slick-prev{left:8px}
.tmt-fotos-content .slider-nav .slick-next{right:8px}

.tmt-photo-sharebar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:13px 14px;
    border-top:1px solid #1d3027;
    background:#0b1712;
}

.tmt-photo-tip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#93a39b;
    font-size:12px;
    font-weight:650;
}

.tmt-photo-tip i{
    color:#72f000;
}

.tmt-photo-share-actions{
    display:flex;
    align-items:center;
    gap:7px;
}

.tmt-share-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:37px;
    height:37px;
    padding:0 10px;
    border:1px solid #30483c;
    border-radius:9px;
    background:#101d18;
    color:#eef4f1;
    font-weight:750;
    transition:transform .14s ease,background .14s ease,border-color .14s ease;
}

.tmt-share-btn:hover,
.tmt-share-btn:focus{
    transform:translateY(-1px);
    border-color:#72f000;
    background:#173020;
    color:#fff;
}

.tmt-share-wa{color:#50e783}
.tmt-share-fb{color:#7eafff}
.tmt-share-x{color:#fff}
.tmt-share-copy{color:#b9c7c0}

@media(max-width:767px){
    .tmt-fotos-content .slider-for .slick-slide{
        min-height:250px;
    }

    .tmt-fotos-content .slider-for img{
        max-height:430px;
    }

    .tmt-fotos-content .slider-nav{
        padding:8px 34px 9px;
    }

    .tmt-fotos-content .slider-nav img{
        height:58px!important;
    }

    .tmt-photo-sharebar{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
        padding:12px;
    }

    .tmt-photo-share-actions{
        width:100%;
        justify-content:space-between;
    }

    .tmt-share-btn{
        flex:1 1 0;
        min-width:0;
        padding:0 7px;
    }

    .tmt-share-native span{
        display:none;
    }
}


/* =========================================================
   RESULTA3 ETAPA 03C
   Fondos coherentes + fotos normales + stats + lightbox
   ========================================================= */

/* Efecto visual de la tarjeta de Tiempo Oficial aplicado al sistema de cajas */
.tmt-search-card,
.tmt-results-card,
.panel-top,
.tmt-runner-section,
.tmt-time-card,
.tmt-photo-stage{
    background:
        radial-gradient(circle at 100% 100%,rgba(114,240,0,.055) 0 58px,transparent 59px),
        radial-gradient(circle at 100% 100%,transparent 0 83px,rgba(114,240,0,.025) 84px 112px,transparent 113px),
        #0a1511!important;
}

.tmt-time-primary{
    background:
        radial-gradient(circle at 100% 100%,rgba(114,240,0,.07) 0 58px,transparent 59px),
        radial-gradient(circle at 100% 100%,transparent 0 83px,rgba(114,240,0,.035) 84px 112px,transparent 113px),
        #0b1712!important;
}

/* Miniaturas SIN oscurecer */
.tmt-fotos-content .slider-nav img,
.tmt-fotos-content .slider-nav .slick-slide img{
    opacity:1!important;
    filter:none!important;
    -webkit-filter:none!important;
}

.tmt-fotos-content .slider-nav .slick-current img{
    opacity:1!important;
    filter:none!important;
}

/* Las miniaturas usan la foto original, recortada visualmente, no archivo mini */
.tmt-fotos-content .slider-nav img{
    object-fit:cover!important;
    background:#07100d!important;
}

/* Botones DataTables: eliminar blanco de Bootstrap */
.tmt-results-card .dataTables_wrapper .dataTables_paginate .paginate_button,
.tmt-results-card .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.tmt-results-card .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.tmt-results-card .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{
    border:1px solid #30473c!important;
    background:#0b1712!important;
    color:#c8d3ce!important;
    box-shadow:none!important;
}

.tmt-results-card .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.tmt-results-card .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.tmt-results-card .dataTables_wrapper .dataTables_paginate .paginate_button:hover{
    border-color:#72f000!important;
    background:#173020!important;
    color:#91fb47!important;
}

.tmt-results-card .dataTables_wrapper .dataTables_paginate .paginate_button.disabled{
    opacity:.42!important;
}

/* Estadísticas */
.tmt-stats-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.tmt-stat-card{
    padding:16px;
    border:1px solid #294138;
    border-radius:13px;
    background:#07100d;
}

.tmt-stat-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
    color:#9baba3;
}

.tmt-stat-card-head span{
    color:#a5b3ad;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.tmt-stat-card-head strong{
    color:#72f000;
    font-size:20px;
}

.tmt-stat-place{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
}

.tmt-stat-place span{
    color:#7f9089;
    font-size:11px;
}

.tmt-stat-place b{
    color:#fff;
    font-size:25px;
    font-weight:850;
}

.tmt-stat-place small{
    color:#84958d;
    font-size:12px;
    font-weight:650;
}

.tmt-stat-metrics{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:13px;
}

.tmt-stat-metrics>div{
    padding:9px;
    border-radius:9px;
    background:#0d1b15;
}

.tmt-stat-metrics span{
    display:block;
    margin-bottom:4px;
    color:#71837a;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.4px;
}

.tmt-stat-metrics b{
    color:#dfe7e3;
    font-size:13px;
    font-variant-numeric:tabular-nums;
}

.tmt-stat-progress{
    height:5px;
    overflow:hidden;
    border-radius:99px;
    background:#17271f;
}

.tmt-stat-progress-bar{
    height:100%;
    border-radius:99px;
    background:#72f000;
}

.tmt-stat-foot{
    display:block;
    margin-top:8px;
    color:#71837a;
    font-size:9px;
    line-height:1.35;
}

/* Lightbox moderno */
#blueimp-gallery{
    background:rgba(2,7,4,.96)!important;
}

#blueimp-gallery .slides .slide{
    overflow:auto!important;
}

#blueimp-gallery .slides .slide .slide-content{
    max-width:94vw!important;
    max-height:88vh!important;
    object-fit:contain;
}

#blueimp-gallery>.prev,
#blueimp-gallery>.next,
#blueimp-gallery>.close{
    border:1px solid rgba(114,240,0,.3)!important;
    background:rgba(8,18,13,.82)!important;
    color:#eaf2ee!important;
    text-shadow:none!important;
    opacity:1!important;
}

#blueimp-gallery>.prev:hover,
#blueimp-gallery>.next:hover,
#blueimp-gallery>.close:hover{
    border-color:#72f000!important;
    color:#72f000!important;
}

.tmt-lightbox-toolbar{
    position:absolute;
    z-index:20;
    left:50%;
    bottom:22px;
    display:flex;
    align-items:center;
    gap:7px;
    transform:translateX(-50%);
    padding:7px;
    border:1px solid rgba(114,240,0,.22);
    border-radius:12px;
    background:rgba(7,16,13,.88);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

.tmt-lightbox-btn{
    display:grid;
    place-items:center;
    min-width:38px;
    height:38px;
    padding:0 10px;
    border:1px solid #30483c;
    border-radius:9px;
    background:#102019;
    color:#edf4f0;
    font-weight:800;
}

.tmt-lightbox-btn:hover{
    border-color:#72f000;
    background:#173020;
    color:#72f000;
}

.tmt-lightbox-share{
    color:#72f000;
}

/* Ocultar el modal Bootstrap secundario de blueimp: usamos modo limpio */
#blueimp-gallery>.modal{
    display:none!important;
}

/* Indicadores blueimp más discretos */
#blueimp-gallery>.indicator{
    bottom:74px!important;
}

/* Teclado: mensaje discreto en escritorio */
@media(min-width:768px){
    .tmt-photo-tip:after{
        content:" · También puedes usar ← →";
        color:#667870;
    }
}

@media(max-width:767px){
    .tmt-stats-grid{
        grid-template-columns:1fr;
    }

    .tmt-stat-card{
        padding:14px;
    }

    .tmt-lightbox-toolbar{
        bottom:14px;
        width:auto;
        max-width:calc(100% - 24px);
    }

    #blueimp-gallery .slides .slide .slide-content{
        max-width:96vw!important;
        max-height:82vh!important;
    }
}


/* RESULTA3 ETAPA 03D */
@media(max-width:767px){
  .tmt-search-card select.tmt-native-category{
    display:block!important;visibility:visible!important;position:static!important;left:auto!important;
    width:100%!important;height:50px!important;min-height:50px!important;padding:0 42px 0 13px!important;
    border:1px solid #30473c!important;border-radius:10px!important;background:#07100d!important;color:#eef4f1!important;
    font-size:15px!important;line-height:50px!important;-webkit-appearance:menulist!important;appearance:auto!important;
  }
  .tmt-search-card select.tmt-native-category option{background:#07100d!important;color:#eef4f1!important}
}

.tmt-stats-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;
  border:1px solid rgba(114,240,0,.35);border-radius:9px;background:#0d1b15;color:#b8c6bf;font-size:12px;font-weight:800}
.tmt-stats-toggle i{color:#72f000}.tmt-stats-toggle:hover,.tmt-stats-toggle.is-open{border-color:#72f000;background:#173020;color:#fff}
.tmt-stats-toggle.is-loading{opacity:.65;pointer-events:none}
.tmt-stats-loading{display:flex;align-items:center;justify-content:center;gap:9px;min-height:82px;color:#91a098;font-size:13px}

.tmt-results-card .pagination>li>a,.tmt-results-card .pagination>li>span{
  border:1px solid #30473c!important;background:#0b1712!important;color:#b9c7c0!important;box-shadow:none!important}
.tmt-results-card .pagination>.active>a,.tmt-results-card .pagination>.active>a:hover,.tmt-results-card .pagination>.active>a:focus,
.tmt-results-card .pagination>.active>span,.tmt-results-card .pagination>.active>span:hover,.tmt-results-card .pagination>.active>span:focus{
  border-color:#72f000!important;background:#173020!important;color:#8dff3b!important}
.tmt-results-card .pagination>.disabled>a,.tmt-results-card .pagination>.disabled>a:hover,.tmt-results-card .pagination>.disabled>span{
  border-color:#263a31!important;background:#08110e!important;color:#596a62!important}

.tmt-video-launch{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-width:172px;padding:8px 12px 8px 8px;
  border:1px solid rgba(255,73,73,.30);border-radius:12px;background:linear-gradient(90deg,rgba(255,58,58,.10),rgba(255,58,58,.035));
  color:#f5f7f6;text-align:left;cursor:pointer}
.tmt-video-launch:hover,.tmt-video-launch:focus{border-color:#ff4a4a;background:rgba(255,58,58,.14);color:#fff}
.tmt-video-launch-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:#ff4141;color:#fff}
.tmt-video-launch-copy{display:flex;flex-direction:column;line-height:1.15}
.tmt-video-launch-copy strong{color:#fff;font-size:12px;font-weight:900}
.tmt-video-launch-copy small{margin-top:4px;color:#9daba4;font-size:9px}
.tmt-video-launch.is-small{min-width:145px}.tmt-video-launch.is-small .tmt-video-launch-icon{flex-basis:34px;width:34px;height:34px}
.tmt-parciales-content table td:last-child,.tmt-parciales-content table th:last-child{text-align:center!important}

body.tmt-viewer-open{overflow:hidden!important}.tmt-photo-viewer{position:fixed;inset:0;z-index:120000;display:none}
.tmt-photo-viewer.is-open{display:block}.tmt-photo-viewer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.92);backdrop-filter:blur(5px)}
.tmt-photo-viewer-shell{position:absolute;inset:24px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #294238;border-radius:18px;background:#050b08}
.tmt-photo-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:12px 16px 12px 20px;border-bottom:1px solid #20352b;background:#0a1511}
.tmt-photo-viewer-title{display:flex;flex-direction:column;gap:2px}.tmt-photo-viewer-title strong{color:#f4f7f5;font-size:17px}
.tmt-photo-viewer-close{width:42px;height:42px;padding:0;border:1px solid #334c40;border-radius:50%;background:#0e1b16;color:#fff;font-size:28px;line-height:38px}
.tmt-photo-viewer-stage{position:relative;flex:1 1 auto;min-height:0;background:#020504}
.tmt-photo-viewer-canvas{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:18px 72px}
.tmt-photo-viewer-canvas img{display:block;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;transition:transform .16s ease;user-select:none}
.tmt-photo-viewer-canvas.is-zoomed{align-items:flex-start;justify-content:flex-start}.tmt-photo-viewer-canvas.is-zoomed img{margin:auto}
.tmt-photo-viewer-arrow{position:absolute;top:50%;z-index:5;width:48px;height:58px;margin-top:-29px;border:1px solid rgba(114,240,0,.28);border-radius:12px;background:rgba(9,20,15,.82);color:#72f000;font-size:19px}
.tmt-photo-viewer-arrow.is-prev{left:14px}.tmt-photo-viewer-arrow.is-next{right:14px}
.tmt-photo-viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;padding:10px 16px;border-top:1px solid #20352b;background:#0a1511}
.tmt-photo-viewer-tools,.tmt-photo-viewer-share{display:flex;align-items:center;gap:7px}
.tmt-viewer-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:40px;height:40px;padding:0 11px;border:1px solid #30483c;border-radius:9px;background:#102019;color:#eef4f1;font-weight:800}
.tmt-viewer-btn:hover{border-color:#72f000;background:#173020;color:#72f000}.tmt-viewer-zoom-label{min-width:68px;color:#72f000}.tmt-viewer-share-main{color:#72f000}
#blueimp-gallery{display:none!important}

@media(max-width:767px){
  .tmt-position-section .tmt-section-title{flex-direction:row!important;align-items:center!important}
  .tmt-stats-toggle{flex:0 0 auto;padding:0 10px}.tmt-stats-toggle span{display:none}
  .tmt-video-launch{min-width:0;width:100%;max-width:172px;padding-right:9px}.tmt-video-launch-copy small{display:none}
  .tmt-photo-viewer-shell{inset:8px;border-radius:15px}.tmt-photo-viewer-top{min-height:58px;padding:8px 10px 8px 13px}
  .tmt-photo-viewer-title strong{font-size:14px}.tmt-photo-viewer-canvas{padding:10px 44px}
  .tmt-photo-viewer-arrow{width:36px;height:50px;margin-top:-25px;border-radius:10px}.tmt-photo-viewer-arrow.is-prev{left:5px}.tmt-photo-viewer-arrow.is-next{right:5px}
  .tmt-photo-viewer-bottom{flex-wrap:wrap;justify-content:center;min-height:112px;padding:9px}
  .tmt-photo-viewer-tools,.tmt-photo-viewer-share{width:100%;justify-content:center}.tmt-viewer-share-main span{display:none}
}


/* =========================================================
   RESULTA3 ETAPA 03E
   Carrusel estable + visor compacto + estadísticas visuales
   ========================================================= */

/* Galería: Slick debe controlar la disposición; evita filas apiladas */
.tmt-fotos-content #foto:not(.slick-initialized),
.tmt-fotos-content #fotoThumbs:not(.slick-initialized){
    visibility:hidden!important;
    max-height:1px!important;
    overflow:hidden!important;
}

.tmt-fotos-content #foto.slick-initialized,
.tmt-fotos-content #fotoThumbs.slick-initialized{
    visibility:visible!important;
    max-height:none!important;
}

.tmt-fotos-content .slider-for img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:620px!important;
    min-height:0!important;
    object-fit:contain!important;
    background:#030806!important;
}

.tmt-fotos-content .slider-nav img{
    display:block!important;
    width:100%!important;
    height:92px!important;
    object-fit:cover!important;
    border-radius:8px!important;
}

/* Si no hay video, la celda queda limpia; no mostramos guiones */
.tmt-parciales-content table td:last-child:empty,
.tmt-parciales-content table th:last-child:empty{
    min-width:0!important;
}

/* Estadística visual: anillo de percentil */
.tmt-stat-visual-row{
    display:grid;
    grid-template-columns:76px 1fr;
    align-items:center;
    gap:13px;
    margin-bottom:13px;
}

.tmt-stat-ring{
    --pct: calc(var(--tmt-pct) * 1%);
    position:relative;
    width:72px;
    height:72px;
    border-radius:50%;
    background:conic-gradient(#72f000 0 var(--pct), #173020 var(--pct) 100%);
    display:grid;
    place-items:center;
    box-shadow:0 0 18px rgba(114,240,0,.08);
}

.tmt-stat-ring:after{
    content:"";
    position:absolute;
    inset:7px;
    border-radius:50%;
    background:#08120e;
    border:1px solid #20382d;
}

.tmt-stat-ring-center{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    line-height:1;
}

.tmt-stat-ring-center strong{
    color:#72f000;
    font-size:18px;
    font-weight:900;
}

.tmt-stat-ring-center small{
    margin-top:5px;
    color:#7f9088;
    font-size:7px;
    text-transform:uppercase;
    letter-spacing:.3px;
}

.tmt-stat-visual-row .tmt-stat-place{
    margin:0!important;
}

/* Visor: ventana emergente centrada y proporcionada alrededor de la foto */
.tmt-photo-viewer-shell{
    inset:50% auto auto 50%!important;
    width:min(1120px,94vw)!important;
    height:min(820px,90vh)!important;
    transform:translate(-50%,-50%)!important;
    border-radius:16px!important;
}

.tmt-photo-viewer-stage{
    min-height:0!important;
}

.tmt-photo-viewer-canvas{
    padding:12px 58px!important;
}

.tmt-photo-viewer-canvas img{
    max-width:100%!important;
    max-height:100%!important;
    width:auto!important;
    height:auto!important;
}

.tmt-photo-viewer-bottom{
    min-height:58px!important;
    padding:8px 12px!important;
}

/* Video disponible visualmente centrado */
.tmt-parciales-content table tr td:last-child,
.tmt-parciales-content table tr th:last-child{
    vertical-align:middle!important;
    text-align:center!important;
}

@media(max-width:767px){
    .tmt-fotos-content .slider-nav img{
        height:72px!important;
    }

    .tmt-photo-viewer-shell{
        width:96vw!important;
        height:88vh!important;
    }

    .tmt-photo-viewer-canvas{
        padding:8px 34px!important;
    }

    .tmt-stat-visual-row{
        grid-template-columns:68px 1fr;
    }

    .tmt-stat-ring{
        width:64px;
        height:64px;
    }
}


/* =========================================================
   RESULTA3 ETAPA 03F
   TOPS compactos + estadísticas circulares + felicitación
   ========================================================= */

/* TOPS: reemplazo visual de Masonry por CSS Grid.
   Esto evita el gran espacio vacío que podía quedar antes del footer. */
.tmt-resulta-tops-zone.tmt-tops-css-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:start!important;
    gap:14px!important;
    height:auto!important;
    min-height:0!important;
    margin:12px 0 0!important;
    padding:0 0 12px!important;
}

.tmt-resulta-tops-zone.tmt-tops-css-grid .grid-item{
    position:static!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
}

.tmt-resulta-tops-zone.tmt-tops-css-grid .panel-top{
    height:auto!important;
    margin:0!important;
}

.footer.tmt-footer-modern,
.footer{
    margin-top:14px!important;
}

/* Estadísticas: gráfico circular visible también en escritorio */
.tmt-stats-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
}

.tmt-stat-card{
    min-width:0!important;
}

.tmt-stat-visual-row{
    display:grid!important;
    grid-template-columns:84px minmax(0,1fr)!important;
    align-items:center!important;
    gap:14px!important;
}

.tmt-stat-ring{
    --pct: calc(var(--tmt-pct) * 1%);
    display:grid!important;
    place-items:center!important;
    width:80px!important;
    height:80px!important;
    flex:0 0 80px!important;
    border-radius:50%!important;
    background:conic-gradient(#72f000 0 var(--pct),#263a31 var(--pct) 100%)!important;
}

.tmt-stat-ring:after{
    inset:8px!important;
}

.tmt-stat-ring-center strong{
    font-size:19px!important;
}

.tmt-stat-ring-center small{
    font-size:7px!important;
}

/* Confeti: capa visual sin bloquear clics */
.tmt-confetti-layer{
    position:fixed;
    inset:0;
    z-index:130000;
    overflow:hidden;
    pointer-events:none;
}

.tmt-confetti-piece{
    --x:50vw;
    --dx:0px;
    --delay:0s;
    --duration:1.8s;
    --rotate:720deg;
    --size:8px;
    position:absolute;
    top:-22px;
    left:var(--x);
    width:var(--size);
    height:calc(var(--size) * 1.8);
    border-radius:2px;
    opacity:0;
    animation:tmtConfettiFall var(--duration) cubic-bezier(.15,.58,.35,1) var(--delay) forwards;
}

.tmt-confetti-piece.is-circle{
    height:var(--size);
    border-radius:50%;
}

.tmt-confetti-piece.is-ribbon{
    width:calc(var(--size) * .55);
    height:calc(var(--size) * 2.5);
    border-radius:99px;
}

.tmt-confetti-piece.tone-green{background:#72f000}
.tmt-confetti-piece.tone-lime{background:#b9ff62}
.tmt-confetti-piece.tone-white{background:#f5fff0}
.tmt-confetti-piece.tone-gold{background:#ffd24d}

@keyframes tmtConfettiFall{
    0%{
        transform:translate3d(0,-25px,0) rotate(0deg);
        opacity:0;
    }
    10%{opacity:1}
    100%{
        transform:translate3d(var(--dx),105vh,0) rotate(var(--rotate));
        opacity:.88;
    }
}

@media(max-width:991px){
    .tmt-resulta-tops-zone.tmt-tops-css-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .tmt-stats-grid{
        grid-template-columns:1fr!important;
    }
}

@media(max-width:767px){
    .tmt-resulta-tops-zone.tmt-tops-css-grid{
        grid-template-columns:1fr!important;
        gap:12px!important;
        padding-bottom:8px!important;
    }

    .tmt-stat-visual-row{
        grid-template-columns:72px minmax(0,1fr)!important;
    }

    .tmt-stat-ring{
        width:68px!important;
        height:68px!important;
        flex-basis:68px!important;
    }

    .tmt-confetti-piece{
        animation-duration:calc(var(--duration) * .9);
    }
}

@media(prefers-reduced-motion:reduce){
    .tmt-confetti-layer{display:none!important}
}


/* =========================================================
   RESULTA3 ETAPA 03G
   Footer final + visor grande escritorio
   ========================================================= */

/* Evita que la plantilla antigua reserve altura debajo del footer. */
html,
body.top-navigation,
body.top-navigation #wrapper,
body.top-navigation #page-wrapper,
body.top-navigation #page-wrapper.white-bg{
    min-height:0!important;
    height:auto!important;
}

body.top-navigation{
    padding-bottom:0!important;
    margin-bottom:0!important;
}

body.top-navigation #page-wrapper{
    padding-bottom:0!important;
    margin-bottom:0!important;
}

.footer.tmt-footer-modern{
    margin-bottom:0!important;
}

/* En escritorio la foto abierta aprovecha casi todo el viewport.
   La barra y botones siguen juntos dentro de la ventana emergente. */
@media(min-width:992px){
    .tmt-photo-viewer-shell{
        width:min(1540px,97vw)!important;
        height:94vh!important;
        max-height:94vh!important;
    }

    .tmt-photo-viewer-top{
        min-height:58px!important;
        padding:8px 14px 8px 18px!important;
    }

    .tmt-photo-viewer-canvas{
        padding:8px 62px!important;
    }

    .tmt-photo-viewer-canvas img{
        max-width:100%!important;
        max-height:100%!important;
        width:auto!important;
        height:auto!important;
    }

    .tmt-photo-viewer-bottom{
        min-height:54px!important;
        padding:7px 12px!important;
    }
}

/* Posición y total en estadísticas siempre en una línea coherente. */
.tmt-stat-place{
    align-items:center!important;
}

.tmt-stat-place b{
    display:flex!important;
    align-items:baseline!important;
    gap:6px!important;
    white-space:nowrap!important;
}


/* =========================================================
   RESULTA3 ETAPA 03H
   Optimización de altura inicial en escritorio
   Objetivo: que a 100% de zoom ya se alcance a insinuar
   la sección inferior / TOPS sin perder claridad.
   ========================================================= */

@media(min-width:992px){

    /* Menos aire general arriba y entre bloques */
    .wrapper.wrapper-content{
        padding-top:18px!important;
        padding-bottom:26px!important;
    }

    .tmt-resulta-banner{
        margin-bottom:12px!important;
        border-radius:14px!important;
    }

    /* Banner más bajo, conservando el contenido centrado */
    .tmt-resulta-banner img{
        max-height:205px!important;
        object-fit:contain!important;
    }

    /* Buscador más compacto */
    .tmt-search-card{
        padding:16px 22px 14px!important;
        margin-bottom:14px!important;
        border-radius:14px!important;
    }

    .tmt-search-card-head{
        margin-bottom:12px!important;
    }

    .tmt-search-card h1{
        margin:3px 0 2px!important;
        font-size:28px!important;
        line-height:1.05!important;
    }

    .tmt-search-card p{
        font-size:14px!important;
        line-height:1.25!important;
    }

    .tmt-kicker{
        font-size:10px!important;
        line-height:1.1!important;
    }

    .tmt-search-fields{
        gap:12px!important;
        align-items:end!important;
    }

    .tmt-field label{
        margin-bottom:5px!important;
        font-size:12px!important;
    }

    .tmt-field .form-control,
    .tmt-search-card .chosen-container-multi .chosen-choices{
        min-height:42px!important;
    }

    .tmt-field .form-control{
        padding:8px 12px!important;
        font-size:14px!important;
    }

    .tmt-search-button{
        min-height:42px!important;
        height:42px!important;
        padding-top:8px!important;
        padding-bottom:8px!important;
    }

    /* La ayuda inferior del buscador ocupa menos altura */
    .tmt-search-hint,
    .tmt-search-card .tmt-help-inline{
        margin-top:8px!important;
        font-size:11px!important;
        line-height:1.2!important;
    }

    /* Resultados encontrados también arranca un poco antes */
    .tmt-results-card,
    .tmt-results-shell{
        margin-top:14px!important;
    }
}

/* Pantallas de laptop típicas: compactamos un poco más */
@media(min-width:992px) and (max-height:900px){
    .wrapper.wrapper-content{
        padding-top:14px!important;
    }

    .tmt-resulta-banner img{
        max-height:185px!important;
    }

    .tmt-search-card{
        padding:14px 20px 12px!important;
        margin-bottom:12px!important;
    }

    .tmt-search-card-head{
        margin-bottom:10px!important;
    }

    .tmt-search-card h1{
        font-size:26px!important;
    }

    .tmt-field .form-control,
    .tmt-search-card .chosen-container-multi .chosen-choices{
        min-height:40px!important;
    }

    .tmt-search-button{
        min-height:40px!important;
        height:40px!important;
    }
}


/* =========================================================
   RESULTA3 ETAPA 03I - Parciales / Video dinámico
   ========================================================= */
.tmt-parciales-content table tbody tr.tmt-partial-no-video > th:nth-child(1),
.tmt-parciales-content table tbody tr.tmt-partial-no-video > td:nth-child(1),
.tmt-parciales-content table tbody tr.tmt-partial-no-video > th:nth-child(2),
.tmt-parciales-content table tbody tr.tmt-partial-no-video > td:nth-child(2){
    width:50%!important;
    text-align:center!important;
}
.tmt-parciales-content table tbody tr.tmt-partial-no-video > th:nth-child(3),
.tmt-parciales-content table tbody tr.tmt-partial-no-video > td:nth-child(3){
    display:none!important;
}


/* =========================================================
   RESULTA3 ETAPA 03J
   Corrección puntual: parciales sin video a todo el ancho
   ========================================================= */

/* La tabla completa conserva 3 columnas para las filas que sí tienen video.
   Solo las filas SIN video pasan visualmente a una rejilla de 2 columnas
   que ocupa el 100% del ancho disponible. */
.tmt-parciales-content table tbody tr.tmt-partial-no-video{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    width:100%!important;
    table-layout:auto!important;
}

.tmt-parciales-content table tbody tr.tmt-partial-no-video > th:nth-child(1),
.tmt-parciales-content table tbody tr.tmt-partial-no-video > td:nth-child(1),
.tmt-parciales-content table tbody tr.tmt-partial-no-video > th:nth-child(2),
.tmt-parciales-content table tbody tr.tmt-partial-no-video > td:nth-child(2){
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    text-align:center!important;
}

.tmt-parciales-content table tbody tr.tmt-partial-no-video > th:nth-child(3),
.tmt-parciales-content table tbody tr.tmt-partial-no-video > td:nth-child(3){
    display:none!important;
}

/* Conserva la fila con video exactamente en sus 3 columnas actuales. */
.tmt-parciales-content table tbody tr:not(.tmt-partial-no-video){
    display:table-row!important;
}


/* =========================================================
   RESULTA3 ETAPA 03K
   Corrección definitiva: parciales sin video en tabla mixta
   ========================================================= */
.tmt-parciales-content table tbody tr.tmt-partial-no-video{
    display:table-row!important;
}

.tmt-parciales-content table tbody tr.tmt-partial-no-video > .tmt-partial-no-video-cell{
    display:table-cell!important;
    width:100%!important;
    padding:0!important;
    text-align:initial!important;
}

.tmt-partial-no-video-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
}

.tmt-partial-no-video-grid > div{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    padding:13px 11px!important;
    color:#dbe5e0!important;
    font-weight:700!important;
    text-align:center!important;
}

.tmt-partial-no-video-grid .tmt-partial-name{
    border-right:0!important;
}


/* =========================================================
   RESULTA3 ETAPA 03L
   Parciales y Video separados físicamente
   ========================================================= */

.tmt-parciales-separated{
    width:100%;
    overflow:hidden;
    border-radius:12px;
    background:#07100d;
}

.tmt-partial-list,
.tmt-video-list{
    width:100%;
}

.tmt-partial-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    width:100%;
    min-height:72px;
    border-top:1px solid #20372d;
}

.tmt-partial-row:first-child{
    border-top:1px solid #20372d;
}

.tmt-partial-label,
.tmt-partial-value{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    padding:14px 20px;
    color:#dce6e1;
    font-size:19px;
    font-weight:800;
    text-align:center;
}

.tmt-video-list{
    border-top:1px solid #20372d;
    background:rgba(14,31,23,.45);
}

.tmt-video-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(190px,.9fr);
    align-items:center;
    min-height:92px;
}

.tmt-video-label,
.tmt-video-time,
.tmt-video-action{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    padding:14px 20px;
    text-align:center;
}

.tmt-video-label,
.tmt-video-time{
    color:#dce6e1;
    font-size:19px;
    font-weight:800;
}

.tmt-video-action .tmt-video-launch{
    margin:0 auto;
}

@media(max-width:767px){
    .tmt-partial-row{
        min-height:58px;
    }

    .tmt-partial-label,
    .tmt-partial-value{
        padding:11px 8px;
        font-size:15px;
    }

    .tmt-video-row{
        grid-template-columns:1fr 1fr auto;
        min-height:72px;
    }

    .tmt-video-label,
    .tmt-video-time,
    .tmt-video-action{
        padding:10px 7px;
    }

    .tmt-video-label,
    .tmt-video-time{
        font-size:14px;
    }
}


/* =========================================================
   RESULTA3 + DIPLOMA D02H
   Diploma en ventana emergente responsiva
   ========================================================= */
body.tmt-modal-open{overflow:hidden!important}
.tmt-diploma-overlay{
    position:fixed;inset:0;z-index:2147483000;
    display:flex;align-items:center;justify-content:center;
    padding:22px;background:rgba(0,7,5,.82);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;
}
.tmt-diploma-overlay.is-visible{opacity:1;visibility:visible}
.tmt-diploma-modal{
    position:relative;width:min(1500px,96vw);height:min(900px,92vh);
    border:1px solid #24483a;border-radius:20px;overflow:hidden;
    background:#020806;box-shadow:0 30px 90px rgba(0,0,0,.72);
    transform:translateY(10px) scale(.985);transition:transform .18s ease;
}
.tmt-diploma-overlay.is-visible .tmt-diploma-modal{transform:none}
.tmt-diploma-frame{display:block;width:100%;height:100%;border:0;background:#020806}
.tmt-diploma-close{
    position:absolute;top:10px;right:10px;z-index:6;width:42px;height:42px;
    border:1px solid #315649;border-radius:50%;background:rgba(4,15,10,.92);
    color:#fff;font-size:30px;line-height:36px;font-weight:400;cursor:pointer;
    box-shadow:0 6px 20px rgba(0,0,0,.35)
}
.tmt-diploma-close:hover{color:#70ff00;border-color:#70ff00;background:#0b1b13}
@media(max-width:760px){
    .tmt-diploma-overlay{padding:0;align-items:stretch}
    .tmt-diploma-modal{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0}
    .tmt-diploma-close{top:7px;right:7px;width:38px;height:38px;font-size:27px}
}


/* =========================================================
   RESULTA2 PRODUCCION + DIPLOMA D02I
   Cierre del diploma sin superposición con Compartir
   ========================================================= */
@media (min-width:761px){
    .tmt-diploma-overlay{
        padding:22px 76px 22px 22px!important;
    }
    .tmt-diploma-modal{
        width:min(1500px,calc(96vw - 58px))!important;
        overflow:visible!important;
    }
    .tmt-diploma-frame{
        border-radius:20px!important;
        overflow:hidden!important;
    }
    .tmt-diploma-close{
        top:0!important;
        right:-56px!important;
        width:46px!important;
        height:46px!important;
        line-height:40px!important;
    }
}
@media (max-width:760px){
    .tmt-diploma-modal{
        box-sizing:border-box!important;
        padding-top:48px!important;
        background:#020806!important;
    }
    .tmt-diploma-frame{
        height:calc(100% - 48px)!important;
    }
    .tmt-diploma-close{
        top:5px!important;
        right:8px!important;
        z-index:20!important;
    }
}


/* =========================================================
   RESULTA2 PRODUCCION + DIPLOMA D02J
   Cabecera de cierre independiente + gestos táctiles + retry
   ========================================================= */
.tmt-stats-retry{
    margin-left:10px;padding:7px 13px;border:1px solid #70ff00;border-radius:10px;
    background:#0b1b13;color:#70ff00;font-weight:800;cursor:pointer;
}
.tmt-stats-retry:hover{background:#70ff00;color:#061008}

@media (min-width:761px){
    .tmt-diploma-overlay{
        padding:22px!important;
    }
    .tmt-diploma-modal{
        width:min(1500px,96vw)!important;
        height:min(930px,92vh)!important;
        overflow:hidden!important;
        padding-top:56px!important;
        box-sizing:border-box!important;
        background:#020806!important;
    }
    .tmt-diploma-frame{
        display:block!important;
        width:100%!important;
        height:calc(100% - 0px)!important;
        border-radius:0 0 20px 20px!important;
    }
    .tmt-diploma-close{
        top:7px!important;
        right:12px!important;
        width:42px!important;
        height:42px!important;
        line-height:36px!important;
        z-index:30!important;
    }
}
@media (max-width:760px){
    .tmt-diploma-modal{
        padding-top:54px!important;
    }
    .tmt-diploma-frame{
        height:calc(100% - 0px)!important;
    }
    .tmt-diploma-close{
        top:7px!important;
        right:12px!important;
    }
}
#tmtPhotoViewerCanvas, #foto{
    touch-action:pan-y pinch-zoom;
}

/* =========================================================
   RESULTA2 PRODUCCION + DIPLOMA D02K
   Cierre compacto en escritorio sin perder altura
   ========================================================= */
@media (min-width:761px){
    .tmt-diploma-overlay{
        padding:22px 84px 22px 22px!important;
    }
    .tmt-diploma-modal{
        width:min(1500px,calc(100vw - 128px))!important;
        height:min(930px,92vh)!important;
        padding-top:0!important;
        overflow:visible!important;
        border-radius:20px!important;
    }
    .tmt-diploma-frame{
        width:100%!important;
        height:100%!important;
        border-radius:20px!important;
        overflow:hidden!important;
    }
    .tmt-diploma-close{
        top:12px!important;
        right:-62px!important;
        width:46px!important;
        height:46px!important;
        line-height:40px!important;
        z-index:40!important;
        background:rgba(4,15,10,.96)!important;
    }
}
@media (max-width:760px){
    .tmt-diploma-modal{
        padding-top:54px!important;
    }
    .tmt-diploma-frame{
        height:100%!important;
    }
    .tmt-diploma-close{
        top:7px!important;
        right:12px!important;
    }
}
