﻿@font-face{
	font-family:"Principal";
	src:url("/fonts/MabryPro-Regular.woff") format("woff");
	src:url("/fonts/MabryPro-Regular.woff2") format("woff2");
	font-weight:normal;
	font-style:normal;
	font-display:fallback;
}

body
{
    font-family:'Principal' !important;    
}


.boton-login {
    width:100% !important;
    background:#0d6efd aliceblue !important;
    color:#FFF !important;
    border-radius:25px !important;
}

.boton-login:hover {
    background:black !important;
    color:white !important;
}

.boton-recuperapass {
    width:100% !important;
    background:transparent !important;
    color:#0d6efd !important;
    border-radius:25px !important;
}


button.btn_index, input[type="button"].btn_index {
    border: 2px solid #377cbd !important;
    border-radius: 55px !important;
    background:#377cbd !important;
    color:#FFF !important;
    text-transform:uppercase;
}

button.btn_index:hover, input[type="button"].btn_index:hover {
    background:#000 !important;
    border: 2px solid #000 !important;
    color:#FFF !important;
}

button.btn_acc, input[type='button'].btn_acc, input[type='submit'].btn_acc {
    border: 2px solid ##377cbd !important;
    border-radius: 55px !important;
    background: #236AF8 !important;
    color:#FFF !important;
    font-size: 20px !important;
}

button.btn_acc:hover, input[type='button'].btn_acc:hover, input[type='submit'].btn_acc:hover {
    background:#000 !important;
    border: 2px solid #000 !important;
    color:#FFF !important;
}

.MenuIconos{
    color: #FFF;
    font-size: 1.8rem;
}

.MenuIconosDiv a{
    text-decoration:none !important;
    border: 2px solid white;
    border-radius: 30px;
    height: 45px;
    width: 45px;
    display: inline-block;
}

.MenuIconosDiv a:hover{
    border-color:#FD6AA9 !important;
    color:#FD6AA9 !important;
}
.MenuIconosDiv a:hover i{
    color:#FD6AA9 !important;
}

.MenuIconosDiv a.activo{
    border-color:#FD6AA9 !important;
    color:#FD6AA9 !important;
}
.MenuIconosDiv a.activo i{
    color:#FD6AA9 !important;
}



.botonVerde{
            padding: 12px 20px;
    background: #6ED4FF !important;
    color: #0B0C4C !important;
            margin-right: 10px !important;
            border-width:2px;
            font-size:  medium !important;
            border-radius: 50px !important;
        }
        .botonVerde:hover{
            background: #000 !important;
            border-color: #000 !important;
            color:#FFF !important;
        }
        
        .botonLineas{
            border-color: #C1FF03 !important;
            background: transparent !important;
            font-weight: 600 !important;
            text-transform: uppercase !important;
            color: #C1FF03 !important;
            margin-right: 10px !important;
            padding: 10px !important;
            border-width: 2px !important;
        }
        .botonLineas:hover{
            background: #C1FF03 !important;
            color: #C1FF03 !important;
            color: #0C1114 !important;
        }
        
        
        
        
        
        
        .botonVerde100{
            background:  #236AF8 !important;
            color: #FFF !important;
            border-color:  #236AF8 !important;
            /*! text-transform: uppercase !important; */
            /*! font-weight: 600 !important; */
            width:100% !important;
            border-width: 2px !important;
            font-size:20px !important;
            min-height:60px;
        }
        .botonVerde100:hover{
            background: transparent !important;
            border-color: #377cbd !important;
            color:#377cbd !important;
        }
        
        .botonLineas100{
            border-color: #C1FF03 !important;
            background: transparent !important;
            font-weight: 600 !important;
            text-transform: uppercase !important;
            color: #C1FF03 !important;
            width:100% !important;
            border-width:2px !important;
        }
        .botonLineas100:hover{
            background: #C1FF03 !important;
            color: #C1FF03 !important;
            color: #0C1114 !important;
        }


form input, form select {
    color:#0C1114 !important;
    border-radius: 2rem !important;
    border-color: #6ED4FF !important;
}

.titulo h1{
      font-size: 2.2rem !important;
      font-weight: 600;
      text-align: center;
      border-bottom: 2px solid #377cbd;
      padding-bottom: 13px;
      color: #377cbd;
}

.titulo h1 span{
      font-size: 2.2rem !important;
      font-weight: 600;
      text-align: center;
      color: #377cbd;
}

 .tablaInscritos td{
                background:#FFF !important;
                color:#377cbd !important;
                text-transform: capitalize !important;
            }
            .InscritosCategoria th{
                background:#377cbd !important; 
                color:#FFF !important;
            }
            .InscritosDatos th{
                background:#377cbd !important;
                color:#FFF !important;
            }

.divTorneo {
    border-radius: 15px;
    background: #236AF8;
}


.tituloTorneo{
    color:#FFF;
}
.fechaTorneo{color:#FFF;}


.anunciante-img {
    display: block;
    width: 100%;
    height: auto;
}
 
/* Móvil (< 768px): solo imagen móvil */
.anunciante-img--desktop { display: block; }
.anunciante-img--movil   { display: none;  }
 
@media (max-width: 767px) {
    .anunciante-img--desktop { display: none;  }
    .anunciante-img--movil   { display: block; }
}




/* ============================================================
   PATROCINADORES — main.css + kader-hacks (versión definitiva)
   ============================================================ */

.patrocinadores-section {
    padding: 100px 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

@media (max-width: 768px) {
    .patrocinadores-section { padding: 40px 0; }
}

.patrocinadores-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: var(--side-margin, 20px);
    right: var(--side-margin, 20px);
    bottom: 0;
    border-radius: 20px;
    background-image: url('../img/bg-3.png');
    background-size: cover;
    background-position: center;
    z-index: 0;
}

@media (max-width: 768px) {
    .patrocinadores-section::before { left: 5px; right: 5px; }
}

.patrocinadores-section > .container {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
}

.patrocinadores-section .section-label,
.patrocinadores-section .section-title { color: #6ed4ff; }
.patrocinadores-section .section-title { margin-bottom: 60px; }

/* ============================================================
   PATROCINADORES — nueva disposición por filas (v3)
   El fondo/forma de .patrocinadores-section NO se toca
   ============================================================ */

.patrocina-titulo {
    color: #fff;
    font-size: clamp(1.2rem, 2vw, 1.8rem);
    font-weight: 500;
    text-align: center;
    margin-bottom: 56px;
    line-height: 1.3;
}

/* Label: alineado a la izquierda dentro de su grupo */
.patrocina-label {
    display: block;
    color: rgba(255,255,255,0.60);
    font-size: 0.70rem;
    letter-spacing: 0.12em;
    width: 100%;
    margin-bottom: 20px;
}

/* ── Separador vertical ── */
.patrocina-vsep {
    width: 1px;
    background: rgba(255,255,255,0.25);
    align-self: stretch;
    flex-shrink: 0;
    margin: 0 48px;
}

/* ── Filas ── */
.patrocina-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom: 56px;
    gap: 0;
}

/* Fila inferior: stretch para que separadores lleguen arriba y abajo */
.patrocina-row--org {
    align-items: stretch;
    margin-bottom: 0;
    padding-top: 40px;
    border-top: 1px solid rgba(255,255,255,0.20);
}

/* Separador dentro de fila org: sin margen lateral, se estira solo */
.patrocina-row--org .patrocina-vsep {
    margin: 0;
    align-self: stretch;
}

/* ── Grupos ── */
.patrocina-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;   /* alinea label a la izquierda */
    width: 100%;
    margin-bottom: 56px;
}

/* Dentro de una row los grupos no tienen margin-bottom propio */
.patrocina-row > .patrocina-group {
    margin-bottom: 0;
}

/* Fila 1 — Title Partner: tamaño fijo */
.patrocina-row--top .patrocina-group--title {
    flex: 0 0 420px;
    min-width: 280px;
    margin-bottom: 0;
    overflow: hidden;   /* nunca desborda al separador */
}

/* Fila 1 — Main Partners: ocupa el resto */
.patrocina-row--top .patrocina-group--main {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
}

/* Fila 3 — Supporting e Institutional a partes iguales */
.patrocina-row--bottom .patrocina-group--supporting,
.patrocina-row--bottom .patrocina-group--institutional {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
}

/* Fila 2 — Official: ancho completo */
.patrocina-group--official {
    margin-bottom: 56px;
}

/* Fila 4 — cada bloque ocupa 1/3 con padding lateral */
.patrocina-org-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 0 32px;
    min-width: 0;
}

/* ── Contenedor de logos ── */
.patrocina-logos {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
    flex-wrap: wrap;
    gap: 20px 0;
    width: 100%;
}

/* Title Partner: logo centrado (solo uno) */
.patrocina-group--title .patrocina-logos {
    justify-content: flex-start;
}

/* Fila org: logos centrados dentro de su bloque */
.patrocina-row--org .patrocina-logos {
    gap: 16px 20px;
}

/* ── Imágenes ── */
.patrocina-logos img {
    display: block;
    width: auto;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.88;
    transition: opacity .3s ease;
    max-width: none;
}
.patrocina-logos img:hover   { opacity: 1; }
.patrocina-logos a:hover img { opacity: 1; }

/* ── Tamaños por grupo ── */
.patrocina-group--title         .patrocina-logos img { height: 130px; }
.patrocina-group--main          .patrocina-logos img { height: 75px; }
.patrocina-group--official      .patrocina-logos img { height: 58px; }
.patrocina-group--supporting    .patrocina-logos img { height: 38px; }
.patrocina-group--institutional .patrocina-logos img { height: 38px; }
.patrocina-org-item             .patrocina-logos img { height: 36px; }


/* ── Responsive tablet (≤ 1100px) ── */
@media (max-width: 1100px) {
    .patrocina-vsep { margin: 0 24px; }
    .patrocina-row--org .patrocina-vsep { margin: 0; }
    .patrocina-row--top .patrocina-group--title { flex: 0 0 320px; }
    .patrocina-group--title      .patrocina-logos img { height: 100px; }
    .patrocina-group--main       .patrocina-logos img { height: 60px; }
    .patrocina-group--official   .patrocina-logos img { height: 48px; }
    .patrocina-group--supporting    .patrocina-logos img { height: 38px; }
    .patrocina-group--institutional .patrocina-logos img { height: 38px; }
    .patrocina-logos { gap: 16px 0; }
    .patrocina-org-item { padding: 0 20px; }
}

/* ── Responsive móvil (≤ 768px): todo apilado ── */
@media (max-width: 768px) {
    .patrocina-titulo { margin-bottom: 32px; }

    /* Labels centrados en móvil */
    .patrocina-label { text-align: center; }

    .patrocina-row,
    .patrocina-row--top,
    .patrocina-row--bottom {
        flex-direction: column;
        align-items: center;
        gap: 28px;
        margin-bottom: 32px;
    }

    /* Fila org: mantiene los 3 en horizontal también en móvil */
    .patrocina-row--org {
        flex-direction: row;
        align-items: stretch;
        gap: 0;
        margin-bottom: 0;
    }

    /* Separador horizontal en móvil */
    .patrocina-vsep {
        width: 50%;
        height: 1px;
        margin: 0;
        align-self: auto;
    }
    .patrocina-row--org .patrocina-vsep {
        width: 50%;
        height: 1px;
        margin: 0;
        align-self: auto;
    }

    /* Grupos apilados */
    .patrocina-group,
    .patrocina-row--top  .patrocina-group--title,
    .patrocina-row--top  .patrocina-group--main,
    .patrocina-row--bottom .patrocina-group--supporting,
    .patrocina-row--bottom .patrocina-group--institutional {
        flex: none;
        width: 100%;
        margin-bottom: 0;
        align-items: center;
    }

    .patrocina-group--official { margin-bottom: 0; }

    /* Fila org en móvil: items más compactos */
    .patrocina-org-item {
        padding: 0 8px;
        align-items: flex-start;
    }
    .patrocina-row--org .patrocina-vsep {
        width: 1px;
        height: auto;
        margin: 0;
        align-self: stretch;
    }
    .patrocina-row--org .patrocina-logos {
        /*! justify-content: flex-start; */
        gap: 8px 8px;
    }
    .patrocina-org-item .patrocina-logos img { height: 22px; }
    .patrocina-label { font-size: 0.60rem; letter-spacing: 0.08em; }

    /* Logos: centrados en móvil */
    .patrocina-logos {
        justify-content: center;
        gap: 16px 20px;
    }
    .patrocina-group--title .patrocina-logos { justify-content: center; }

    /* Official: 3 por fila en móvil */
    .patrocina-group--official .patrocina-logos {
        justify-content: center;
        gap: 16px;
    }
    .patrocina-group--official .patrocina-logos img {
        width: calc(33.333% - 12px);
        height: auto;
        max-height: 34px;
    }

    /* Alturas móvil */
    .patrocina-group--title         .patrocina-logos img { height: 60px; width: auto; }
    .patrocina-group--main          .patrocina-logos img { height: 38px; }
    .patrocina-group--supporting    .patrocina-logos img,
    .patrocina-group--institutional .patrocina-logos img { height: 28px; }
    .patrocina-org-item             .patrocina-logos img { height: 28px; }

    .patrocina-row--org { padding-top: 28px; gap: 20px; }
}
