/* ====================                       Esto de abajo trabaja en el Header de Horarios de nuestra aplicacion                            ==================== */
.app-header{
position: sticky;
top: 0;
z-index: 100;
background: linear-gradient(180deg, rgba(10,15,13,0.9) 0%, rgba(10,15,13,0.72) 100%);
padding-bottom: 2px;
}
.app-header .header-inner { padding-bottom: 2px; }
.app-header .brand-subtitle { line-height: 1.45; padding-bottom: 2px; }
.horarios-hero{
padding: 28px 32px 10px;
max-width: 1200px;
margin: 0 auto;
text-align: center;
}
.horarios-capsule{
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.03em;
color: var(--dorado-premium);
background: rgba(212,175,55,0.1);
border: 1px solid rgba(212,175,55,0.3);
padding: 8px 18px;
border-radius: 999px;
white-space: nowrap;
}
/* ====================                       Esto de abajo trabaja en el grid de Horarios de nuestra aplicacion                            ==================== */
.matches-section{
padding: 10px 32px 90px;
max-width: 1200px;
margin: 0 auto;
}
.matches-grid{
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 22px;
}
/* ====================                       Esto de abajo trabaja en las tarjetas de Horarios de nuestra aplicacion                            ==================== */
.match-card{
position: relative;
background: linear-gradient(160deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03));
border: 1px solid var(--glass-border);
border-radius: var(--radius-lg);
padding: 20px 22px 22px 26px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0,0,0,0.35);
animation: matchFadeIn 0.6s ease both;
transform: translateZ(0);
will-change: transform;
}
.match-card::before{
content: "";
position: absolute;
top: 0; left: 0;
width: 5px;
height: 100%;
background: linear-gradient(180deg, #00A36C, #007a4f);
box-shadow: 0 0 12px rgba(0,163,108,0.6);
}
@keyframes matchFadeIn{
from{ opacity: 0; transform: translateY(16px); }
to{ opacity: 1; transform: translateY(0); }
}
.matches-grid .match-card:nth-child(1){ animation-delay: 0.02s; }
.matches-grid .match-card:nth-child(2){ animation-delay: 0.08s; }
.matches-grid .match-card:nth-child(3){ animation-delay: 0.14s; }
.matches-grid .match-card:nth-child(4){ animation-delay: 0.20s; }
.matches-grid .match-card:nth-child(5){ animation-delay: 0.26s; }
.matches-grid .match-card:nth-child(6){ animation-delay: 0.32s; }
.matches-grid .match-card:nth-child(7){ animation-delay: 0.38s; }
.matches-grid .match-card:nth-child(8){ animation-delay: 0.44s; }
.matches-grid .match-card:nth-child(n+9){ animation-delay: 0.50s; }
/* ====================            Esto de abajo trabaja en la franja superior de cada tarjeta de Horarios de nuestra aplicacion                 ==================== */
.match-league{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:18px}
.match-league-header span{
display: inline-flex;
align-items: center;
flex-direction: row-reverse;
gap: 6px;
font-size: 0.92rem;
font-weight: 800;
color: var(--text-main);
background: rgba(255,255,255,0.05);
border: 1px solid var(--glass-border);
padding: 6px 16px;
border-radius: 999px;
letter-spacing: 0.02em;
}
.match-league-header span::before{
content: "🕐";
font-size: 0.85rem;
}
/* ====================            Esto de abajo trabaja en el enfrentamiento de los Horarios de nuestra aplicacion                          ==================== */
.match-teams{
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 4px 0 14px;
}
.match-team{
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
flex: 1;
text-align: center;
}
.match-team .team-logo{
width: 56px !important;
height: 56px !important;
object-fit: contain;
filter: drop-shadow(0 4px 10px rgba(0,0,0,0.4));
}
.match-team span{
font-size: 0.92rem;
font-weight: 700;
color: var(--text-main);
line-height: 1.2;
}
.match-vs{
font-size: 0.8rem;
font-weight: 900;
letter-spacing: 0.05em;
color: var(--text-muted);
background: rgba(255,255,255,0.06);
border: 1px solid var(--glass-border);
width: 34px;
height: 34px;
min-width: 34px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
}
/* ====================            Esto de abajo trabaja en el marcador y television de los Horarios de nuestra aplicacion                          ==================== */
.match-bottom{display:flex;align-items:center;justify-content:center;padding-top:16px;border-top:1px solid var(--glass-border)}
.match-marcador{display:flex;flex-direction:column;align-items:center;gap:3px}
.marcador-label{
display: inline-flex;
align-items: center;
flex-direction: row-reverse;
gap: 5px;
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.05em;
color: var(--text-muted);
opacity: 0.8;
}
.marcador-label::before{
content: "🎯";
font-size: 0.68rem;
}
.marcador-score{
font-size: 1.4rem;
font-weight: 900;
color: var(--text-main);
letter-spacing: 0.03em;
}
.match-tv{
display: flex;
align-items: center;
justify-content: center;
}
.match-tv-logo{
width: 52px !important;
height: 52px !important;
object-fit: contain;
filter: drop-shadow(0 4px 10px rgba(0,0,0,0.35));
}
.match-tv-unavailable{
font-size: 0.78rem;
color: var(--text-muted);
opacity: 0.5;
}
/* ====================                 Esto de abajo trabaja en el estado vacio de los horarios                                                ==================== */
.empty-state-msg{
padding: 60px 20px;
text-align: center;
font-size: 0.95rem;
color: var(--text-muted-soft);
background: var(--glass-bg);
border: 1px dashed var(--glass-border);
border-radius: var(--radius-lg);
grid-column: 1 / -1;
}
/* ====================                      Esto de abajo trabaja con el boton de ir a inicio nuevamente                                     ==================== */
.adm-fab-inicio {
position: fixed;
bottom: 22px;
left: 50%;
transform: translateX(-50%);
z-index: 9500;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 14px 18px;
border-radius: 999px;
background: linear-gradient(135deg, #006341, #00a36c);
color: #fff;
text-decoration: none;
font-size: 0.8rem;
font-weight: 800;
box-shadow: 0 10px 28px rgba(0,0,0,0.45), 0 0 0 1px rgba(212,175,55,0.25);
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), filter 0.25s var(--ease);
}
.adm-fab-inicio:active {
transform: translateX(-50%) scale(0.95);
}
.adm-fab-label {
white-space: nowrap;
}
.adm-fab-icon {
font-size: 1.1rem;
line-height: 1;
flex-shrink: 0;
display: inline-flex;
align-items: center;
transform: translateY(-1px);
}
@media (max-width: 640px) {
.adm-fab-inicio {
bottom: 16px;
padding: 13px;
gap: 0;
}}
/* ====================                 Esto de abajo trabaja en los tamaños del celular de los horarios                                                ==================== */
@media (max-width: 640px){
.horarios-hero{ padding: 20px 18px 10px; flex-direction: column; align-items: flex-start; }
.matches-section{ padding: 10px 18px 70px; }
.matches-grid{ grid-template-columns: 1fr; gap: 16px; }
.match-card{ padding: 18px 16px 18px 20px; }
.match-team .team-logo{ width: 46px !important; height: 46px !important; }
.match-tv-logo{ width: 44px !important; height: 44px !important; }
}