﻿/* TICOPA split from original style.css lines 4802-5376. Keep import order in css/main.css. */
.portal-admin-editor { max-width: 900px; padding: 24px; border: 1px solid rgba(0,229,255,.25); border-radius: 12px; background: rgba(0,0,0,.25); }
.portal-admin-editor textarea { width: 100%; max-width: none; margin: 18px 0 12px; resize: vertical; }
.portal-admin-redes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 16px; }
.portal-admin-redes .search-input { width: 100%; max-width: none; }
.portal-admin-planes { margin: 24px 0; }
.portal-admin-planes h4 { margin-bottom: 5px; color: var(--secondary); font: 800 .9rem 'Orbitron', sans-serif; }
.portal-admin-planes > p { margin: 0 0 14px; color: var(--text-muted); font-size: .8rem; }
.portal-admin-plan-role { margin: 12px 0; padding: 14px; border: 1px solid rgba(139,92,246,.27); border-radius: 8px; background: rgba(9,14,30,.35); }
.portal-admin-plan-role h5 { margin: 0 0 10px; color: var(--gold); font: 800 .72rem 'Orbitron', sans-serif; }
.portal-admin-plan-fields { display: grid; grid-template-columns: 120px minmax(180px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr); gap: 9px; align-items: start; margin-top: 8px; }
.portal-admin-plan-fields strong { padding-top: 11px; font: 800 .62rem 'Orbitron', sans-serif; }
.portal-admin-plan-fields textarea.search-input { min-height: 95px; margin: 0; }
.portal-admin-plan-fields .search-input { width: 100%; max-width: none; margin: 0; }

@media (max-width: 800px) {
  .portal-contenido { grid-template-columns: 1fr; padding-top: 35px; }
  .portal-topbar b { display: none; }
  .portal-presentacion h1 { font-size: clamp(2.2rem, 11vw, 4rem); }
  .portal-planes-head { align-items: flex-start; flex-direction: column; }
  .portal-plan-switch { width: 100%; }
  .portal-plan-switch button { flex: 1; }
  .team-chat-head { flex-direction: column; }
  .team-chat-head p { text-align: left; }
  .team-chat-head-actions { align-items: flex-start; }
  .team-chat-message { width: 90%; }
  .team-chat-compose, .portal-admin-redes { grid-template-columns: 1fr; }
  .portal-admin-plan-fields { grid-template-columns: 1fr; }
  .portal-admin-plan-fields strong { padding-top: 0; }
}

.club-profile-match-card {
  box-sizing: border-box;
  grid-template-columns: minmax(0, 1fr) minmax(92px, 118px) minmax(0, 1fr) !important;
  min-height: 112px;
}

.club-profile-match-card .match-team {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.club-profile-match-card .club-match-name,
.club-profile-match-card .club-link {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: clamp(0.68rem, 1.35vw, 0.95rem) !important;
  line-height: 1.15 !important;
}

.club-profile-match-card .match-score {
  width: 100% !important;
  min-width: 92px !important;
  max-width: 118px !important;
  justify-self: center !important;
}

/* Iconografia limpia para acciones y secciones */
.ticopa-ui-icon {
  display: inline-flex;
  width: 1.05em;
  height: 1.05em;
  align-items: center;
  justify-content: center;
  margin-right: 0.45em;
  color: currentColor;
  flex: 0 0 auto;
  vertical-align: -0.14em;
}

.ticopa-ui-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  stroke-width: 2.2;
}

button .ticopa-ui-icon,
.tab-btn .ticopa-ui-icon,
.hero-btn .ticopa-ui-icon,
.btn-primary .ticopa-ui-icon,
.btn-secondary .ticopa-ui-icon,
.btn-danger .ticopa-ui-icon,
.sidebar-menu a .ticopa-ui-icon {
  margin-right: 0.42em;
}

.news-badge .ticopa-ui-icon,
.section-title .ticopa-ui-icon,
.card h2 .ticopa-ui-icon,
.card h3 .ticopa-ui-icon {
  color: var(--secondary);
}

#ticopa-global-refresh .ticopa-ui-icon {
  width: 1.15em;
  height: 1.15em;
  margin-right: 0;
}

/* Colores semanticos para acciones, aplicados tambien a botones dinamicos */
.ticopa-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.2em;
}

.ticopa-action-success:not(.tab-btn):not(.filtro-btn) {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #03120a !important;
}

.ticopa-action-danger:not(.tab-btn):not(.filtro-btn) {
  background: rgba(255, 0, 85, 0.1) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

.ticopa-action-warning:not(.tab-btn):not(.filtro-btn) {
  background: rgba(250, 204, 21, 0.12) !important;
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

.ticopa-action-info:not(.tab-btn):not(.filtro-btn) {
  background: rgba(0, 184, 255, 0.1) !important;
  border-color: var(--secondary) !important;
  color: var(--secondary) !important;
}

.ticopa-action-neutral:not(.tab-btn):not(.filtro-btn) {
  border-color: var(--border-light);
}

.admin-row-actions {
  display: flex;
  gap: 6px;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  min-width: 250px;
}

.admin-row-action-btn {
  min-width: 72px;
  min-height: 30px;
  padding: 6px 9px !important;
  border-radius: 5px;
  font-family: "Orbitron", sans-serif;
  font-size: 0.58rem !important;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0.25px;
  white-space: nowrap;
}

/* Ajuste final movil: partidos con logo y nombre completo en una linea */
@media (max-width: 760px) {
  #contenedor-partidos .calendar-container .match-card,
  .club-match-list .club-profile-match-card,
  .club-profile-match-card {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  #contenedor-partidos .calendar-container .match-team,
  .club-match-list .club-profile-match-card .match-team,
  .club-profile-match-card .match-team {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    column-gap: 9px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
    justify-content: stretch !important;
    flex-direction: row !important;
  }

  #contenedor-partidos .calendar-container .match-team.visita,
  .club-match-list .club-profile-match-card .match-team.visita,
  .club-profile-match-card .match-team.visita {
    direction: ltr !important;
    text-align: left !important;
  }

  #contenedor-partidos .calendar-container .club-badge-logo,
  .club-match-list .club-profile-match-card .club-badge-logo,
  .club-profile-match-card .club-badge-logo {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    grid-column: 1 !important;
  }

  #contenedor-partidos .calendar-container .club-link,
  .club-match-list .club-profile-match-card .club-match-name,
  .club-match-list .club-profile-match-card .club-link,
  .club-profile-match-card .club-match-name,
  .club-profile-match-card .club-link {
    grid-column: 2 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(0.58rem, 2.7vw, 0.84rem) !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
  }
}

/* Noticias: texto completo y titulares fluidos */
#news-slider-container .news-title,
#news-slider-container .dt-declaration-title {
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: initial !important;
}

#news-slider-container .news-title {
    font-size: clamp(1.8rem, 4.2vw, 3rem) !important;
    line-height: .96 !important;
}

#news-slider-container .dt-declaration-title {
    font-size: clamp(1.25rem, 2.35vw, 2.05rem) !important;
    line-height: 1.05 !important;
}

#news-slider-container .news-body,
#news-slider-container .dt-declaration-copy p {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: initial !important;
}

#news-slider-container .dt-declaration-panel {
    overflow-y: auto !important;
}

@media (max-width: 768px) {
    #news-slider-container .news-title {
        font-size: clamp(1.18rem, 6vw, 1.75rem) !important;
        line-height: 1.05 !important;
    }
    #news-slider-container .dt-declaration-title {
        font-size: clamp(1.06rem, 5.4vw, 1.55rem) !important;
        line-height: 1.08 !important;
    }
}

@media (max-width: 768px) {
    .nav-tabs {
        justify-content: flex-start !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch;
    }

    .admin-row-actions,
    .pro-table td > div[style*="display:flex"] {
        flex-wrap: wrap !important;
    }

    .admin-inbox-content .hero-btn,
    .admin-inbox-content .btn-secondary,
    .admin-inbox-content .btn-danger,
    .admin-inbox-content .btn-primary {
        min-height: 38px;
        white-space: normal !important;
    }

    #panel-fichajes-admin > div:first-of-type {
        justify-content: stretch !important;
    }

    #panel-fichajes-admin > div:first-of-type button {
        flex: 1 1 160px !important;
    }
}

/* Matches y fixture: orden visual estable y sin desborde */
#contenedor-partidos .calendar-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

.club-match-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

#contenedor-partidos .match-card,
.club-match-list .club-profile-match-card {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.club-match-list .club-profile-match-card {
    grid-template-columns: minmax(0, 1fr) minmax(104px, 118px) minmax(0, 1fr) !important;
}

.club-match-list .club-match-name,
#contenedor-partidos .match-card .club-link {
    min-width: 0 !important;
    max-width: 100% !important;
}

@media (max-width: 1180px) {
    .club-match-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    #contenedor-partidos .calendar-container,
    .club-match-list {
        grid-template-columns: 1fr !important;
    }
}

/* Detalle de partido: el campo 3D debe caber en movil y permitir deslizar la vista */
.match-3d-section {
    max-width: 100%;
    touch-action: pan-y;
}

.match-3d-pitch {
    max-width: 100%;
}

@media (max-width: 768px) {
    .match-3d-section {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        height: auto !important;
        overflow: visible !important;
        touch-action: pan-y !important;
    }

    .match-3d-pitch {
        min-width: 0 !important;
        width: 100% !important;
        min-height: 430px !important;
        height: clamp(430px, 122vw, 560px) !important;
        transform: none !important;
        transform-origin: center top !important;
        touch-action: pan-y !important;
    }

    .match-3d-player,
    .match-3d-player:hover {
        width: 112px !important;
        min-height: 42px !important;
        transform: translate(-50%, -50%) !important;
    }
}
.fmt-shell {
    --fmt-oro: #f5c542;
    --fmt-azul: #00aaff;
    --fmt-plata: #cfd6df;
    --fmt-panel: rgba(12, 18, 28, 0.9);
    color: #fff;
    background: #080b10;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    padding: 22px;
}
.fmt-hero {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 18px;
    align-items: center;
    border: 1px solid rgba(245,197,66,0.35);
    background: linear-gradient(135deg, rgba(245,197,66,0.1), rgba(0,170,255,0.08));
    padding: 22px;
    border-radius: 8px;
    margin-bottom: 18px;
}
.fmt-hero span, .fmt-group h4, .fmt-bracket h4, .fmt-admin h3 {
    color: var(--fmt-oro);
    font-family: var(--font-tech);
    text-transform: uppercase;
    letter-spacing: 0;
}
.fmt-hero h2 { margin: 4px 0 8px; font-family: var(--font-tech); font-size: 1.8rem; }
.fmt-hero p, .fmt-condition, .fmt-empty { color: var(--text-muted); margin: 0; }
.fmt-crown {
    border: 1px solid rgba(245,197,66,0.45);
    color: var(--fmt-oro);
    padding: 14px 18px;
    border-radius: 8px;
    font-weight: 900;
    text-align: center;
}
.fmt-admin, .fmt-alert, .fmt-condition, .fmt-zone, .fmt-bracket, .fmt-group {
    background: var(--fmt-panel);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
}
.fmt-admin { padding: 18px; margin-bottom: 18px; }
.fmt-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
}
.fmt-structure-field { grid-column: span 2; }
.fmt-structure-field small {
    display: block;
    margin-top: 6px;
    color: var(--text-muted);
    font-size: 0.68rem;
    line-height: 1.35;
    text-transform: none;
}
.fmt-admin label {
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}
.fmt-admin input, .fmt-admin select {
    width: 100%;
    margin-top: 6px;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,0.16);
    background: rgba(0,0,0,0.35);
    color: #fff;
}
.fmt-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.fmt-livebar, .fmt-wo-box, .fmt-presets {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 14px;
    padding: 10px;
    border: 1px solid rgba(245,197,66,0.18);
    border-radius: 8px;
    background: rgba(255,255,255,0.04);
}
.fmt-switch {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #fff !important;
    margin: 0;
}
.fmt-switch input, .fmt-wo-box input {
    width: auto;
    margin: 0;
    accent-color: var(--fmt-oro);
}
.fmt-wo-box {
    margin-top: 12px;
}
.fmt-wo-box b {
    width: 100%;
    color: var(--fmt-oro);
    font-family: var(--font-tech);
    text-transform: uppercase;
}
.fmt-wo-box label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #fff;
}
.fmt-presets button {
    border: 1px solid rgba(255,255,255,0.15);
    background: rgba(0,0,0,0.35);
    color: #fff;
    padding: 8px 10px;
    border-radius: 6px;
    font-weight: 800;
    cursor: pointer;
}
.fmt-presets button:hover {
    border-color: var(--fmt-oro);
    color: var(--fmt-oro);
}
.fmt-alert {
    padding: 12px 16px;
    margin-bottom: 18px;
    border-color: rgba(255,77,77,0.5);
    color: #ffb0b0;
}
.fmt-alert p { margin: 4px 0; }
.fmt-vars {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.fmt-vars div {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    padding: 14px;
    text-align: center;
}
.fmt-vars b { display:block; font-family:var(--font-tech); font-size:1.55rem; color:var(--fmt-oro); }
.fmt-vars div:first-child b { font-size:1rem; overflow-wrap:anywhere; }
.fmt-vars span { color:var(--text-muted); font-size:0.75rem; text-transform:uppercase; font-weight:800; }
.fmt-condition { padding: 14px; margin-bottom: 18px; }
.fmt-zones { display: grid; gap: 18px; }
.fmt-zone { padding: 18px; }
.fmt-zone h3 { margin-top:0; color:#fff; font-family:var(--font-tech); text-transform:uppercase; }
.fmt-groups {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}
.fmt-group { padding: 12px; }
.fmt-group h4, .fmt-bracket h4 { margin: 0 0 10px; font-size: 0.88rem; }
.fmt-team {
    padding: 10px;
    border-radius: 8px;
    background: rgba(0,0,0,0.28);
    border: 1px solid rgba(255,255,255,0.12);
    margin-bottom: 8px;
}
.fmt-team.oro { border-color: rgba(245,197,66,0.75); }
.fmt-team.azul { border-color: rgba(0,170,255,0.65); }
.fmt-team.plata { border-color: rgba(207,214,223,0.45); }
.fmt-team strong { display:block; margin-bottom:6px; }
.fmt-team small { display:block; color:var(--text-muted); margin-top:6px; }
.fmt-badge {
    display:inline-block;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 900;
    color: #05070b;
}
.fmt-gold { background: var(--fmt-oro); }
.fmt-blue { background: var(--fmt-azul); }
.fmt-silver { background: var(--fmt-plata); }
.fmt-bad { background: #ff4d4d; color: #fff; }
.fmt-brackets-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.fmt-brackets-grid.wide { margin-top: 18px; }
.fmt-bracket { padding: 12px; }
.fmt-match {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: 8px;
    padding: 9px;
    border-radius: 8px;
    border: 1px solid rgba(245,197,66,0.22);
    background: rgba(0,0,0,0.25);
    margin-bottom: 8px;
}
.fmt-match span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fmt-match b { color:var(--fmt-oro); font-size:0.75rem; }
.fmt-bye {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 9px;
    border-radius: 8px;
    border: 1px dashed rgba(245,197,66,0.55);
    background: rgba(245,197,66,0.07);
    margin-bottom: 8px;
}
.fmt-bye span { color:var(--fmt-oro); font-size:0.68rem; font-weight:800; text-transform:uppercase; }
@media (max-width: 700px) {
    .fmt-shell { padding: 12px; }
    .fmt-hero { grid-template-columns: 1fr; }
    .fmt-structure-field { grid-column: span 1; }
    .fmt-match { grid-template-columns: 1fr; text-align:center; }
}
@media (max-width: 720px) {
  .solicitud-inscripcion-form {
    grid-template-columns: 1fr !important;
  }

  .sol-ins-row {
    grid-template-columns: 1fr !important;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background: rgba(0,0,0,.22);
  }

  .sol-ins-row .btn-secondary,
  .sol-ins-row .btn-danger {
    width: 100%;
  }
}

/* Pedidos de Aldair: torneos activos y tarjeta de Ticopa World en el inicio */
.torneos-activos-section { width: min(1180px, 94vw); margin: 0 auto 28px; }
.torneos-activos-section h3 { font-family: var(--font-tech, 'Orbitron'); color: var(--secondary); letter-spacing: 2px; margin: 0 0 12px; }
.torneos-activos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.torneo-activo-card { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; text-align: left; padding: 12px; border-radius: 12px; border: 1px solid rgba(0,184,255,.35); background: rgba(10,15,29,.85); color: #fff; cursor: pointer; }
.torneo-activo-card img { grid-row: 1 / 3; object-fit: contain; border-radius: 8px; background: rgba(0,0,0,.35); }
.torneo-activo-card .ta-nombre { font-weight: 800; font-size: .95rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.torneo-activo-card .ta-estado { font-size: .68rem; letter-spacing: 1px; font-weight: 900; color: var(--primary); }
.torneo-activo-card.inscripcion { border-color: rgba(255,200,0,.45); }
.torneo-activo-card.inscripcion .ta-estado { color: var(--gold); }
.home-mundo-card { width: min(1180px, 94vw); margin: 0 auto 28px; }
.home-mundo-link { display: flex; flex-direction: column; gap: 6px; padding: 18px 22px; border-radius: 14px; text-decoration: none; border: 1px solid var(--secondary); background: linear-gradient(120deg, rgba(0,184,255,.18), rgba(0,255,135,.12)); }
.home-mundo-link .hm-titulo { font-family: var(--font-tech, 'Orbitron'); font-weight: 900; color: #fff; letter-spacing: 2px; }
.home-mundo-link .hm-texto { color: #ccc; }
.home-mundo-link .hm-boton { color: var(--primary); font-weight: 800; }

/* MI CUENTA */
.cuenta-pagina { width: min(760px, 94vw); margin: 0 auto; display: grid; gap: 16px; }
.cuenta-cabecera { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.cuenta-titulo { font-family: var(--font-tech, 'Orbitron'); color: var(--primary); letter-spacing: 2px; margin: 0; }
.cuenta-seccion h3 { font-family: var(--font-tech, 'Orbitron'); color: var(--secondary); letter-spacing: 1px; }
.cuenta-form { display: grid; gap: 10px; margin-top: 12px; }
.cuenta-form label { display: grid; gap: 4px; font-size: .85rem; color: var(--text-muted); }
.cuenta-form input, .cuenta-form select { padding: 10px; border-radius: 8px; border: 1px solid rgba(255,255,255,.2); background: rgba(0,0,0,.35); color: #fff; }
.cuenta-form .cuenta-check { display: flex; align-items: center; gap: 8px; }
.cuenta-lista { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; }
.cuenta-rol { font-weight: 800; color: var(--gold); font-size: .75rem; }
.cuenta-club { background: none; border: 0; color: #fff; font-weight: 800; cursor: pointer; padding: 0; text-decoration: underline; }
.cuenta-ok { color: var(--primary); font-weight: 800; font-size: .8rem; }
.cuenta-aviso { color: var(--gold); min-height: 1.2em; }
.cuenta-nota { color: var(--text-muted); font-size: .85rem; }
.cuenta-botones { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
.cuenta-entrada { text-align: center; padding: 28px; width: min(560px, 94vw); margin: 0 auto; }

/* ===== Inicio reorganizado (mobile first) ===== */
.home-stack { display: flex; flex-direction: column; gap: 22px; width: min(1180px, 94vw); margin: 0 auto; padding-bottom: 40px; }
.home-stack > section { width: 100%; margin: 0; }
.home-streams { order: 3; }
.home-streams.en-vivo { order: 0; }
.torneos-activos-section { order: 1; width: 100%; margin: 0; }
.home-transfer-home { order: 2; }
.home-noticias { order: 4; }
#equipos-registrados-home { order: 5; }
.home-comunidad { order: 6; }
.seccion-cabecera { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 0 0 10px; }
.seccion-cabecera h3 { margin: 0; font-family: var(--font-tech, 'Orbitron'); font-size: .95rem; letter-spacing: 2px; color: var(--secondary); }
.seccion-cuenta { font-size: .75rem; font-weight: 800; color: var(--text-muted); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 1px 8px; }
.seccion-enlace { font-size: .8rem; font-weight: 700; color: var(--primary); text-decoration: none; }
/* torneos activos: compactos; en móvil, una tira que se desliza */
.torneos-activos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
.torneo-activo-card { display: flex; align-items: center; gap: 10px; text-align: left; padding: 8px 10px; border-radius: 10px; min-width: 0; }
.torneo-activo-card img, .ta-inicial { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 8px; }
.ta-inicial { display: inline-flex; align-items: center; justify-content: center; font: 800 .85rem var(--font-tech, 'Orbitron'); background: rgba(0,184,255,.15); color: var(--secondary); }
.ta-texto { display: flex; flex-direction: column; min-width: 0; }
.torneo-activo-card .ta-nombre { font-size: .85rem; }
.torneo-activo-card .ta-estado { font-size: .65rem; letter-spacing: .4px; font-weight: 700; display: flex; align-items: center; gap: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ta-punto { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: 0 0 6px; }
@media (max-width: 640px) {
  .torneos-activos-grid { display: flex; overflow-x: auto; scroll-snap-type: x proximity; gap: 8px; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
  .torneo-activo-card { flex: 0 0 74%; scroll-snap-align: start; }
}
/* transmisiones */
.home-streams { border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 12px; background: rgba(10,15,29,.7); }
.home-streams.en-vivo { border-color: rgba(255,60,90,.55); }
.hs-chips { display: flex; gap: 6px; }
.hs-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--hs-color); background: transparent; color: #fff; font-weight: 800; font-size: .8rem; cursor: pointer; }
.hs-chip.activo { background: var(--hs-color); color: #000; }
.hs-vivo { display: inline-flex; align-items: center; gap: 4px; font-size: .62rem; letter-spacing: .5px; color: #fff; background: #e11d48; border-radius: 999px; padding: 1px 6px; }
.hs-vivo i, .hs-punto { width: 6px; height: 6px; border-radius: 50%; background: #fff; display: inline-block; animation: hs-pulso 1.2s infinite; }
.hs-punto { background: #e11d48; margin-right: 6px; }
@keyframes hs-pulso { 50% { opacity: .3; } }
.hs-reproductor { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: 60vh; border-radius: 10px; overflow: hidden; background: #000; }
.hs-reproductor iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hs-pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; font-size: .85rem; }
.hs-compacto p { margin: 0 0 8px; color: var(--text-muted); font-size: .88rem; }
.hs-botones { display: flex; flex-wrap: wrap; gap: 8px; }
.hs-boton { display: inline-block; padding: 8px 14px; border-radius: 8px; border: 1px solid var(--hs-color, #fff); color: #fff; text-decoration: none; font-weight: 800; font-size: .8rem; }
.hs-boton:hover { background: var(--hs-color); color: #000; }
/* noticias y comunidad */
.home-noticias #news-slider-container { width: 100% !important; }
.home-comunidad { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.home-comunidad .home-mundo-link, .home-membresia { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: 14px; text-decoration: none; text-align: left; cursor: pointer; border: 1px solid var(--secondary); background: linear-gradient(120deg, rgba(0,184,255,.14), rgba(0,255,135,.08)); font: inherit; }
.home-membresia { border-color: rgba(139,92,246,.7); background: linear-gradient(120deg, rgba(139,92,246,.18), rgba(10,15,29,.8)); }
.home-comunidad .hm-titulo { font-family: var(--font-tech, 'Orbitron'); font-weight: 900; color: #fff; letter-spacing: 1.5px; font-size: .85rem; }
.home-comunidad .hm-texto { color: #ccc; font-size: .85rem; }
.home-comunidad .hm-boton { color: var(--primary); font-weight: 800; font-size: .8rem; }
@media (max-width: 720px) { .home-comunidad { grid-template-columns: 1fr; } }
/* botón de cuenta en la cabecera: camino principal para entrar */
.btn-cuenta-cabecera { display: inline-flex; align-items: center; margin: 0; padding: 8px 14px; font: 800 .72rem 'Orbitron', sans-serif; letter-spacing: .06em; color: #04130c; background: var(--primary); border: 0; border-radius: 999px; white-space: nowrap; box-shadow: 0 0 14px rgba(0,255,135,.35); }
.btn-cuenta-cabecera:hover { background: #fff; color: #000; }
.btn-cuenta-cabecera.sesion-activa { background: transparent; color: var(--primary); border: 1px solid var(--primary); box-shadow: none; }
.cuenta-planes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cuenta-planes article { border: 1px solid rgba(255,255,255,.15); border-radius: 12px; padding: 12px; }
.cuenta-planes article.pro { border-color: rgba(139,92,246,.7); }
.cuenta-planes p { margin: 6px 0 0; font-size: .85rem; color: var(--text-muted); }
@media (max-width: 560px) { .cuenta-planes { grid-template-columns: 1fr; } }

@media (max-width: 768px) {
  .btn-cuenta-cabecera { padding: 7px 10px; font-size: .6rem; }
  .nav-actions.search-container { gap: 8px !important; flex-wrap: nowrap; min-width: 0; }
  .search-input { max-width: 92px !important; min-width: 0; }
  .logo-text-box .logo-text { font-size: 1.3rem; }
}
.torneo-activo-card .ta-estado { white-space: normal; }

.hs-reproductor { max-width: 860px; margin: 0 auto; }
.hs-pie { max-width: 860px; margin-left: auto; margin-right: auto; }
.mobile-toggle { white-space: nowrap; }
@media (max-width: 560px) {
  .logo-text-box { display: none; }
  .nav-container { gap: 8px; }
}
@media (max-width: 760px) {
  .nav-container { grid-template-columns: auto minmax(0, 1fr) !important; }
  .nav-actions.search-container { min-width: 0; width: 100%; justify-content: flex-end; }
  #input-buscador { flex: 1 1 60px; width: auto !important; max-width: none !important; min-width: 60px !important; }
  .mobile-toggle { width: auto !important; flex: 0 0 auto; font-size: .95rem !important; padding: 0 4px !important; }
}

/* ===== Ajustes del inicio (segunda ronda) ===== */
.home-fila-top { order: 1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
.home-fila-top .torneos-activos-section, .home-fila-top .home-streams { order: 0; }
.home-fila-top .home-streams.en-vivo { order: -1; }
@media (min-width: 900px) {
  .home-fila-top { grid-template-columns: minmax(0, 1fr) 480px; }
  .home-fila-top .home-streams.en-vivo { order: 0; }
}
.home-streams { padding: 12px; max-width: 100%; }
.hs-marco { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: #05070d; }
.hs-marco iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hs-poster { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; padding: 10px; background: radial-gradient(circle at 50% 35%, rgba(139,92,246,.22), rgba(5,7,13,.96) 70%); }
.hs-poster img { width: 64px; height: 64px; object-fit: contain; opacity: .95; }
.hs-poster strong { color: #fff; font-size: .95rem; }
.hs-poster > span { color: var(--text-muted); font-size: .75rem; letter-spacing: .5px; }
.hs-poster-botones { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.hs-play { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.1); color: #fff; font-size: 1rem; cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.hs-play:hover { background: #fff; color: #000; }
.hs-canales { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.hs-canal { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 6px; border: 1px solid rgba(255,255,255,.2); background: transparent; color: #cfd8e6; font-size: .68rem; font-weight: 700; cursor: pointer; }
.hs-canal.activo { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.5); }
.hs-enlace { color: var(--primary); font-weight: 700; font-size: .8rem; text-decoration: none; }
.hs-reproductor, .hs-compacto { display: none; }
.hs-pie { margin-top: 8px; font-size: .78rem; }

/* resumen de jornada: tira horizontal, tarjetas compactas de la misma altura */
.editorial-resumen { margin: 30px 0 34px; }
.editorial-resumen .editorial-section-title { margin: 0 0 12px; }
.editorial-resumen-tira { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; align-items: stretch; -webkit-overflow-scrolling: touch; }
.editorial-resumen-card { flex: 0 0 min(300px, 82%); scroll-snap-align: start; border: 1px solid #29384b; border-radius: 12px; padding: 12px 14px; background: rgba(13,20,33,.9); display: flex; flex-direction: column; }
.editorial-resumen-card h4 { margin: 0 0 4px; font-size: .95rem; display: flex; flex-direction: column; gap: 2px; }
.editorial-resumen-card h4 small { font-size: .7rem; font-weight: 600; color: var(--text-muted); letter-spacing: .4px; }
.editorial-resumen-card .editorial-resumen-partido { margin-top: 0; padding-top: 8px; padding-bottom: 2px; font-size: .8rem; }
.editorial-resumen-partido em { color: var(--text-muted); font-style: normal; font-size: .7rem; }
.editorial-resumen-mas { margin-top: 8px; font-size: .72rem; color: var(--text-muted); }

/* equipos registrados: contenedor propio, cabecera clara y cuadrícula */
.home-stack .registered-teams-section { border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(10,15,29,.7); padding: 14px; margin: 6px 0 0; }
.home-stack .registered-teams-section .seccion-cabecera h3 { color: var(--secondary); }
.home-stack .registered-teams-section .seccion-cabecera { justify-content: flex-start; }
#equipos-registrados-todos { margin-left: auto; background: none; border: 0; cursor: pointer; }
.home-stack .registered-teams-carousel { overflow: visible !important; mask-image: none !important; touch-action: auto; }
.rt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; }
.rt-club { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 6px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.035); color: #fff; cursor: pointer; font: inherit; }
.rt-club img, .rt-inicial { width: 46px; height: 46px; object-fit: contain; }
.rt-inicial { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(0,184,255,.15); color: var(--secondary); font: 800 .9rem var(--font-tech, 'Orbitron'); }
.rt-nombre { font-size: .7rem; font-weight: 700; text-transform: uppercase; text-align: center; line-height: 1.2; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; max-width: 100%; }
@media (max-width: 640px) { .rt-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; } .rt-club img, .rt-inicial { width: 40px; height: 40px; } }

/* Ticopa World: botón fijo en la cabecera y tarjeta compacta bajo torneos/transmisiones */
.btn-world-cabecera { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--secondary); color: var(--secondary); background: rgba(0,184,255,.1); font: 800 .72rem 'Orbitron', sans-serif; letter-spacing: .06em; text-decoration: none; white-space: nowrap; }
.btn-world-cabecera:hover { background: var(--secondary); color: #000; }
.btn-world-cabecera .bw-corto { display: none; }
@media (max-width: 560px) { .btn-world-cabecera { padding: 7px 9px; font-size: .58rem; } .btn-world-cabecera .bw-largo { display: none; } .btn-world-cabecera .bw-corto { display: inline; } }
.home-world-compacto { order: 2; }
.home-world-link { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 12px 16px; border-radius: 12px; text-decoration: none; border: 1px solid var(--secondary); background: linear-gradient(120deg, rgba(0,184,255,.18), rgba(0,255,135,.10)); }
.hw-marca { font: 900 .9rem 'Orbitron', sans-serif; letter-spacing: 2px; color: #fff; }
.hw-texto { flex: 1 1 200px; color: #cbd5e1; font-size: .85rem; }
.hw-boton { font-weight: 800; font-size: .8rem; color: #04130c; background: var(--primary); padding: 6px 14px; border-radius: 999px; }
.home-comunidad { grid-template-columns: 1fr; }
/* sin hueco vacío al final del inicio: el contenedor de vistas solo ocupa espacio cuando tiene contenido */
#tabla-contenedor:empty { min-height: 0 !important; padding: 0 !important; margin: 0 !important; }

/* tarjeta de Ticopa World con imagen (archivo único: img/ticopa-world.webp, reemplazable) */
.home-world-link { position: relative; overflow: hidden; min-height: 150px; padding: 0; align-items: stretch; background: #0b1220; }
.hw-imagen { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hw-velo { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,10,20,.88) 0%, rgba(5,10,20,.55) 55%, rgba(5,10,20,.15) 100%); }
.hw-contenido { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 6px; padding: 18px 22px; }
.hw-marca { font-size: 1.15rem; text-shadow: 0 2px 8px #000; }
.hw-texto { flex: 0 0 auto; color: #e5edf8; font-size: 1rem; font-weight: 600; text-shadow: 0 2px 8px #000; }
.hw-boton { margin-top: 4px; }
@media (max-width: 560px) { .home-world-link { min-height: 130px; } }
/* las noticias del inicio crecen con su contenido (antes un tope de altura las montaba sobre el bloque siguiente) */
#news-slider-container.editorial-portada, .home-noticias #news-slider-container { max-height: none !important; height: auto !important; min-height: 0 !important; aspect-ratio: auto !important; margin-bottom: 0 !important; }
.home-noticias { margin-bottom: 8px; }
@media (max-width: 560px) {
  .nav-actions.search-container { flex-wrap: wrap; row-gap: 8px; justify-content: flex-end; }
  #input-buscador { order: 5; flex: 0 0 100% !important; width: 100% !important; }
  .nav-container { align-items: start !important; }
}
