/* Ligas Central | Portada refinada v3.4
   Solo presentación. Conserva el fondo global v3.3 y los módulos existentes. */
html body:has(.lc-home) .lc-home {
  --home-ink:#101b4b;
  --home-blue:#0001c5;
  --home-yellow:#ffe100;
  --home-line:#e2e6f0;
  --home-muted:#52617b;
  width:100%;max-width:1240px!important;margin-inline:auto;
  padding:24px 24px 28px!important;
  display:flex;flex-direction:column;gap:0;
  background:transparent!important;
}
/* Una navegación discreta, sin agregar más accesos al panel. */
html body:has(.lc-home) .lc-home-topbar {
  background:#fff!important;border-bottom:1px solid #e5e9f2!important;
  box-shadow:0 3px 18px rgba(7,27,64,.06)!important;
}
html body:has(.lc-home) .lc-home-nav-inner {max-width:1240px;min-height:70px}
html body:has(.lc-home) .lc-home-nav .lc-home-nav-login {
  background:var(--home-blue,#0001c5)!important;color:#fff!important;
  border-radius:10px;padding:11px 19px;
}
/* Reducir el hero: el estadio sigue detrás de toda la página. */
html body:has(.lc-home) .lc-home-hero {
  order:0;display:grid;grid-template-columns:minmax(0,1fr)!important;
  align-items:center;gap:0;min-height:0!important;
  margin:0!important;padding:34px 42px!important;
  background:rgba(7,27,64,.90)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:20px!important;overflow:hidden;
  box-shadow:0 12px 34px rgba(0,12,45,.16)!important;
}
html body:has(.lc-home) .lc-home-hero::before,
html body:has(.lc-home) .lc-home-hero::after {content:none!important;display:none!important}
html body:has(.lc-home) .lc-home-hero-art {display:none!important}
html body:has(.lc-home) .lc-home-hero-copy {
  width:100%;max-width:880px;min-width:0;padding:0!important;
  align-items:flex-start;justify-content:center;
}
html body:has(.lc-home) .lc-home-kicker {
  padding:8px 12px;font-size:10px;letter-spacing:1.1px;
  background:rgba(255,225,0,.11)!important;color:#ffe100!important;
  border:1px solid rgba(255,225,0,.35)!important;
}
html body:has(.lc-home) .lc-home-kicker-dot {background:#ffe100!important;box-shadow:0 0 0 4px rgba(255,225,0,.12)!important}
html body:has(.lc-home) .lc-home-hero h1 {
  max-width:850px;margin:16px 0 14px!important;
  font-size:clamp(34px,4vw,52px)!important;line-height:1.1;
  letter-spacing:-1.9px;font-weight:850;color:#fff!important;
}
html body:has(.lc-home) .lc-home-hero h1 span {color:#ffe100!important}
html body:has(.lc-home) .lc-home-hero-copy>p {
  max-width:650px;margin:0 0 22px!important;
  color:#e4ecff!important;font-size:14px;line-height:1.7;
}
html body:has(.lc-home) .lc-home-hero-actions {gap:12px}
html body:has(.lc-home) .lc-home-primary {
  min-height:46px;padding:12px 19px;border-radius:10px;
  background:#ffe100!important;color:#101b4b!important;
  font-size:13px;font-weight:850;box-shadow:none!important;
  transition:background .18s,transform .18s;
}
html body:has(.lc-home) .lc-home-primary:hover {background:#fff08a!important;color:#101b4b!important;transform:translateY(-2px)}
html body:has(.lc-home) .lc-home-hero-actions .lc-home-text-link {display:none!important}
html body:has(.lc-home) .lc-home-hero-bottom {
  margin-top:0;padding-top:17px!important;color:#cbd8f3!important;
  font-size:11px;
}
html body:has(.lc-home) .lc-home-live-dot {background:#83e200!important;box-shadow:0 0 0 4px rgba(131,226,0,.12)!important}
/* El directorio es la acción principal. Se coloca antes de los beneficios. */
html body:has(.lc-home) .lc-home-directory {
  order:1;display:block;margin:14px 0 0!important;padding:28px!important;
  background:rgba(255,255,255,.985)!important;
  border:1px solid rgba(255,255,255,.75)!important;
  border-radius:20px!important;
  box-shadow:0 12px 35px rgba(4,17,53,.12)!important;
  scroll-margin-top:24px;
}
html body:has(.lc-home) .lc-home-section-head {
  display:flex;align-items:center;justify-content:space-between;
  gap:18px;flex-wrap:wrap;margin:0 0 22px!important;padding:0!important;
  background:transparent!important;box-shadow:none!important;
}
html body:has(.lc-home) .lc-home-overline {color:#0001c5!important;font-size:10px;letter-spacing:1.35px}
html body:has(.lc-home) .lc-home-section-head h2 {
  margin:7px 0 6px;font-size:clamp(25px,2.5vw,31px);line-height:1.18;
  letter-spacing:-1px;color:#101b4b!important;
}
html body:has(.lc-home) .lc-home-section-head p:not(.lc-home-overline) {margin:0;color:#52617b!important;font-size:13px;line-height:1.55}
html body:has(.lc-home) .lc-home-count {
  background:#fff8d5!important;border:1px solid #e9d775!important;
  color:#101b4b!important;border-radius:10px;padding:11px 13px;
}
html body:has(.lc-home) .lc-home-filters {display:flex;gap:12px;margin-bottom:14px}
html body:has(.lc-home) .lc-home-search,
html body:has(.lc-home) .lc-home-sort {
  min-height:52px;background:#f8faff!important;border:1px solid #dce2ef!important;
  border-radius:10px;color:#52617b!important;
}
html body:has(.lc-home) .lc-home-search {flex:1;min-width:0}
html body:has(.lc-home) .lc-home-sort {flex:0 0 225px;min-width:0}
html body:has(.lc-home) .lc-home-search input,
html body:has(.lc-home) .lc-home-sort select {min-width:0;background:transparent!important;color:#101b4b!important}
html body:has(.lc-home) .lc-home-search-hint {display:none!important}
html body:has(.lc-home) .lc-home-search:focus-within,
html body:has(.lc-home) .lc-home-sort:focus-within {border-color:#0001c5!important;box-shadow:0 0 0 3px rgba(0,1,197,.10)!important}
html body:has(.lc-home) .lc-home-results {color:#52617b!important;font-size:11px;margin-bottom:12px}
/* Tarjetas: menos espacio vacío, logos fijos y una acción clara. */
html body:has(.lc-home) .lc-home-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
html body:has(.lc-home) .lc-home-card {
  min-width:0;overflow:hidden;background:#fff!important;
  border:1px solid #e2e6f0!important;border-radius:16px!important;
  box-shadow:0 3px 14px rgba(16,27,75,.05)!important;
  transition:transform .18s,box-shadow .18s,border-color .18s;
}
html body:has(.lc-home) .lc-home-card:hover {transform:translateY(-3px);border-color:#c4c9e8!important;box-shadow:0 12px 28px rgba(16,27,75,.12)!important}
html body:has(.lc-home) .lc-home-card-banner {
  height:78px;padding:14px 17px;
  background:linear-gradient(115deg,#101b4b,#0001c5)!important;
  border-bottom:3px solid #ffe100;
}
html body:has(.lc-home) .lc-home-card:nth-child(n) .lc-home-card-banner {background:linear-gradient(115deg,#101b4b,#0001c5)!important}
html body:has(.lc-home) .lc-home-card-category {color:#fff7c6;border-color:rgba(255,255,255,.24)}
html body:has(.lc-home) .lc-home-card-body {padding:0 20px 20px;min-width:0}
html body:has(.lc-home) .lc-home-card-logo {
  width:68px;height:68px;margin-top:-34px;border:4px solid #fff;
  border-radius:14px;box-shadow:0 4px 15px rgba(16,27,75,.13);
}
html body:has(.lc-home) .lc-home-card-logo img {max-width:100%;max-height:100%;object-fit:contain}
html body:has(.lc-home) .lc-home-card h3 {margin:14px 0 8px;font-size:18px;line-height:1.32;letter-spacing:-.4px}
html body:has(.lc-home) .lc-home-card h3 a {color:#101b4b!important}
html body:has(.lc-home) .lc-home-card-location {margin-bottom:11px;color:#596781;font-size:12px}
html body:has(.lc-home) .lc-home-card-description {
  margin:0 0 17px;min-height:0;color:#52617b;font-size:12.5px;line-height:1.65;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;
}
html body:has(.lc-home) .lc-home-card-link {padding-top:14px;color:#0001c5!important;font-size:13px;border-color:#e8ecf4}
html body:has(.lc-home) .lc-home-card-link span {background:#fff2a6;color:#101b4b;border-radius:9px}
html body:has(.lc-home) .lc-home-card-link:hover span {background:#ffe100}
/* Beneficios al final: útiles, pero no desplazan las ligas. */
html body:has(.lc-home) .lc-home-benefits {order:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 0!important}
html body:has(.lc-home) .lc-home-benefits>div {
  min-width:0;padding:16px;background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(255,255,255,.7)!important;border-radius:14px;
  box-shadow:0 5px 17px rgba(7,27,64,.07);
}
html body:has(.lc-home) .lc-home-benefits svg {width:39px;height:39px;padding:9px;flex:0 0 39px;background:#fff3ad;border-radius:10px;color:#0001c5}
html body:has(.lc-home) .lc-home-benefits b {color:#101b4b;font-size:12px}
html body:has(.lc-home) .lc-home-benefits small {color:#596781;font-size:11px}
/* Cierre sencillo, sin otro botón de ingreso. */
html body:has(.lc-home) .lc-home-footer {
  order:3;display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:15px;margin:18px 0 0!important;padding:23px 25px!important;
  background:rgba(7,27,64,.94)!important;border:1px solid rgba(255,255,255,.15)!important;
  border-radius:17px!important;color:#e4ecff!important;
}
html body:has(.lc-home) .lc-home-footer-brand,
html body:has(.lc-home) .lc-home-footer-brand strong,
html body:has(.lc-home) .lc-home-footer p,
html body:has(.lc-home) .lc-home-footer a,
html body:has(.lc-home) .lc-home-footer small {color:#e4ecff!important}
html body:has(.lc-home) .lc-home-footer p {margin-top:6px}
html body:has(.lc-home) .lc-home-footer>small {padding-top:10px;border-top:1px solid rgba(255,255,255,.13)}
html body:has(.lc-home) :where(a,button,input,select):focus-visible {outline:3px solid #0001c5;outline-offset:3px}
html body:has(.lc-home) .lc-home-hero :where(a,button):focus-visible,
html body:has(.lc-home) .lc-home-footer :where(a,button):focus-visible {outline-color:#ffe100}
@media(max-width:900px){
  html body:has(.lc-home) .lc-home {padding:20px 18px 24px!important}
  html body:has(.lc-home) .lc-home-hero {padding:29px 30px!important}
  html body:has(.lc-home) .lc-home-hero h1 {font-size:clamp(32px,5vw,45px)!important}
  html body:has(.lc-home) .lc-home-directory {padding:24px!important}
  html body:has(.lc-home) .lc-home-benefits {gap:10px}
  html body:has(.lc-home) .lc-home-benefits>div {padding:13px;gap:9px}
}
@media(max-width:760px){
  html body:has(.lc-home) .lc-home {padding:14px 14px 22px!important}
  html body:has(.lc-home) .lc-home-nav-inner {min-height:64px}
  html body:has(.lc-home) .lc-home-hero {padding:27px 22px!important;border-radius:17px!important}
  html body:has(.lc-home) .lc-home-hero h1 {font-size:clamp(31px,7.5vw,39px)!important;letter-spacing:-1.3px;margin:15px 0 13px!important}
  html body:has(.lc-home) .lc-home-hero-copy>p {font-size:13px;line-height:1.65;margin-bottom:20px!important}
  html body:has(.lc-home) .lc-home-hero-bottom {padding-top:16px!important}
  html body:has(.lc-home) .lc-home-directory {padding:21px 17px!important;margin-top:12px!important;border-radius:17px!important}
  html body:has(.lc-home) .lc-home-section-head {align-items:flex-start;gap:12px;margin-bottom:18px!important}
  html body:has(.lc-home) .lc-home-section-head h2 {font-size:26px}
  html body:has(.lc-home) .lc-home-filters {flex-direction:column;gap:10px}
  html body:has(.lc-home) .lc-home-search,html body:has(.lc-home) .lc-home-sort {flex:1 1 auto;width:100%;max-width:none;min-height:49px}
  html body:has(.lc-home) .lc-home-grid {grid-template-columns:1fr;gap:14px}
  html body:has(.lc-home) .lc-home-card-body {padding:0 18px 18px}
  html body:has(.lc-home) .lc-home-card h3 {font-size:17px}
  html body:has(.lc-home) .lc-home-benefits {grid-template-columns:1fr;gap:9px;margin-top:12px!important}
  html body:has(.lc-home) .lc-home-benefits>div {padding:13px 15px}
  html body:has(.lc-home) .lc-home-footer {grid-template-columns:1fr;padding:21px!important;gap:14px;margin-top:12px!important}
  html body:has(.lc-home) .lc-home-footer>small {grid-column:1}
}
@media(max-width:380px){
  html body:has(.lc-home) .lc-home {padding-inline:10px!important}
  html body:has(.lc-home) .lc-home-hero {padding:24px 18px!important}
  html body:has(.lc-home) .lc-home-directory {padding:18px 13px!important}
  html body:has(.lc-home) .lc-home-hero h1 {font-size:30px!important}
}
@media(prefers-reduced-motion:reduce){
  html body:has(.lc-home) .lc-home-card,
  html body:has(.lc-home) .lc-home-primary {transition:none!important;transform:none!important}
}
/* Portada: superficies de cristal sobre el estadio */

/* Directorio donde se buscan las ligas */
html body:has(.lc-home) .lc-home-directory {
    background: rgba(255, 255, 255, .15) !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* Tarjetas individuales de las ligas */
html body:has(.lc-home) .lc-home-card {
    background: rgba(255, 255, 255, .45) !important;
    border: 1px solid rgba(255, 255, 255, .60) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Bloques informativos */
html body:has(.lc-home) .lc-home-benefits > div {
    background: rgba(255, 255, 255, .65) !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Buscador y selector: un poco más opacos para facilitar la lectura */
html body:has(.lc-home) .lc-home-search,
html body:has(.lc-home) .lc-home-sort {
    background: rgba(255, 255, 255, .90) !important;
}

/* Barra superior con transparencia suave */
html body:has(.lc-home) .lc-home-topbar {
    background: rgba(255, 255, 255, .92) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
/* Escudos más grandes en las tarjetas de ligas */

html body:has(.lc-home) .lc-home-card-banner {
    height: 100px;
}

html body:has(.lc-home) .lc-home-card-logo {
    width: 100px;
    height: 100px;
    margin-top: -50px;
    border: 4px solid #ffffff;
    border-radius: 18px;
    flex: 0 0 100px;
    box-shadow: 0 8px 22px rgba(16, 27, 75, .16);
}

html body:has(.lc-home) .lc-home-card-logo img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    padding: 5px;
}

html body:has(.lc-home) .lc-home-card-logo-fallback {
    font-size: 23px;
}

/* Espacio equilibrado entre escudo y nombre */
html body:has(.lc-home) .lc-home-card h3 {
    margin-top: 16px;
}

/* Tamaño adaptable para teléfonos */
@media (max-width: 600px) {
    html body:has(.lc-home) .lc-home-card-logo {
        width: 88px;
        height: 88px;
        margin-top: -44px;
        flex-basis: 88px;
    }
}
/* Escudos grandes en las tarjetas de ligas */
/* Solo afecta la portada principal */

html body:has(.lc-home) .lc-home-card .lc-home-card-banner {
    height: 120px !important;
}

html body:has(.lc-home) .lc-home-card .lc-home-card-logo {
    width: 128px !important;
    height: 128px !important;
    min-width: 128px !important;
    min-height: 128px !important;
    max-width: 128px !important;
    max-height: 128px !important;
    flex: 0 0 128px !important;

    margin-top: -64px !important;
    padding: 0 !important;

    background: #ffffff !important;
    border: 4px solid #ffffff !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 28px rgba(16, 27, 75, .20) !important;
}

/* La imagen debe ocupar todo el espacio disponible */
html body:has(.lc-home) .lc-home-card .lc-home-card-logo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    object-fit: contain !important;
}

/* Iniciales cuando la liga no tiene logo */
html body:has(.lc-home) .lc-home-card .lc-home-card-logo-fallback {
    font-size: 28px !important;
}

/* Espacio entre el escudo y el nombre */
html body:has(.lc-home) .lc-home-card h3 {
    margin-top: 18px !important;
}

/* Tamaño para teléfonos */
@media (max-width: 600px) {
    html body:has(.lc-home) .lc-home-card .lc-home-card-banner {
        height: 100px !important;
    }

    html body:has(.lc-home) .lc-home-card .lc-home-card-logo {
        width: 104px !important;
        height: 104px !important;
        min-width: 104px !important;
        min-height: 104px !important;
        max-width: 104px !important;
        max-height: 104px !important;
        flex-basis: 104px !important;
        margin-top: -52px !important;
    }
}
/* Barra superior de cristal */

html body:has(.lc-home) .lc-home-topbar {
    background: rgba(255, 255, 255, .50) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .35) !important;

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    box-shadow: 0 4px 20px rgba(0, 15, 65, .08);
}

/* Mantener legibles el logo y los enlaces */
html body:has(.lc-home) .lc-home-topbar a {
    color: #101b4b;
}

/* El botón Ingresar conserva su azul */
html body:has(.lc-home) .lc-home-topbar .btn-primary {
    background: #0001c5 !important;
    color: #ffffff !important;
}
/* =========================================
   FOOTER MÁS LIMPIO Y MENOS CUADRADO
   ========================================= */

html body .lc-home-footer{
  margin-top: 28px;
  padding: 22px 26px;
  border-radius: 24px;
  background: linear-gradient(135deg,
    rgba(7, 28, 92, 0.88),
    rgba(14, 45, 126, 0.78)
  ) !important;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 18px 45px rgba(0,0,0,.20);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

/* bloque izquierdo */
html body .lc-home-footer > div:first-child{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 260px;
}

/* marca/logo del footer */
html body .lc-home-footer-brand{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 1.55rem;
  font-weight: 900;
  color: #ffffff !important;
  text-decoration: none;
  letter-spacing: -.02em;
}

/* si el logo está como imagen */
html body .lc-home-footer-brand img,
html body .lc-home-footer .lc-home-main-logo{
  width: 48px !important;
  height: 48px !important;
  object-fit: contain;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  padding: 4px;
}

/* texto descriptivo */
html body .lc-home-footer p{
  margin: 0;
  color: rgba(255,255,255,.86) !important;
  font-size: .98rem;
  line-height: 1.45;
}

/* enlace derecho */
html body .lc-home-footer > div:last-child,
html body .lc-home-footer > a:last-child{
  margin-left: auto;
}

html body .lc-home-footer a{
  color: #ffffff !important;
  text-decoration: none;
}

/* botón/enlace explorar */
html body .lc-home-footer > div:last-child a,
html body .lc-home-footer > a:last-child{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  background: rgba(255, 225, 0, 0.96);
  color: #0d2460 !important;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(255,225,0,.20);
}

/* línea inferior */
html body .lc-home-footer small{
  width: 100%;
  display: block;
  margin-top: 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.72) !important;
  font-size: .88rem;
}

/* quitar sensación de bloque duro */
html body .lc-home-footer::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

/* asegurar posición */
html body .lc-home-footer{
  position: relative;
  overflow: hidden;
}

/* móvil */
@media (max-width: 768px){
  html body .lc-home-footer{
    padding: 18px 18px;
    border-radius: 20px;
    align-items: flex-start;
  }

  html body .lc-home-footer-brand{
    font-size: 1.25rem;
  }

  html body .lc-home-footer > div:last-child,
  html body .lc-home-footer > a:last-child{
    margin-left: 0;
    width: 100%;
  }

  html body .lc-home-footer > div:last-child a,
  html body .lc-home-footer > a:last-child{
    width: 100%;
  }
}
/* Footer minimalista con efecto cristal */

html body .lc-home-footer {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;

    margin-top: 28px;
    padding: 22px 26px;
    border-radius: 22px;

    background: rgba(10, 25, 85, .65) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    box-shadow: 0 10px 30px rgba(0, 15, 65, .12);
    overflow: hidden;
}

/* Mensaje principal */
html body .lc-home-footer p {
    margin: 0;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

/* Enlace Explorar ligas */
html body .lc-home-footer a[href="#ligas"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;

    background: rgba(255, 225, 0, .95) !important;
    color: #10244d !important;
    font-weight: 800;
    text-decoration: none;
}

/* Copyright */
html body .lc-home-footer small {
    display: block;
    width: 100%;
    margin-top: 4px;
    padding-top: 14px;

    border-top: 1px solid rgba(255, 255, 255, .20);
    color: rgba(255, 255, 255, .85) !important;
    font-size: 12px;
}

/* Teléfonos */
@media (max-width: 768px) {
    html body .lc-home-footer {
        padding: 18px;
        border-radius: 18px;
    }

    html body .lc-home-footer a[href="#ligas"] {
        width: 100%;
    }
}
