/* base.css - CSS Variables, Base Elements, Typography, and Utilities */

/* CSS Custom Properties */
:root {
    --bg-primary: #000000;
    --bg-secondary: #111111;
    --text-primary: #ffffff; 
    --text-secondary: #c0c0c0;
    --accent: #333333;
    --accent-light: #666666;
    --border: #333333;
    --favorite: #ffd700;
    --badge-primary: #007bff;
    --btn-channel: #4da3ff;        /* Blue for TV channels (secondary) */
    --btn-channel-hover: #3d93ef;
    --btn-service: #20b2aa;        /* Teal/Lightseagreen for streaming services (primary) */
    --btn-service-hover: #1a9a93;
    --clock-color: #ffc107; /* Game clock color */
}

/* Base Element Styles */
html {
    height: 100%;
}

body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    margin: 0;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

.container {
    background-color: transparent;
}

/* Main content wrapper to push footer down */
.container[role="main"] {
    flex: 1 0 auto;
}

/* Footer styling */
footer {
    flex-shrink: 0;
    margin-top: auto;
    padding-top: 3rem;
    padding-bottom: 2rem;
}

/* Typography */
.text-white {
    color: var(--text-primary);
}

/* Link Styling - White by default */
a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: inherit;
    text-decoration: none;
}

.text-decoration-none:hover {
    color: var(--accent-light);
}

/* Status Colors */
.text-success { color: #28a745; }
.text-warning { color: #ffc107; }
.text-danger { color: #dc3545; }
.text-info { color: #17a2b8; }
.text-white { color: var(--text-secondary); }

/* Game Clock Styling */
/* Game clock - moved to layouts.css with monospace font */

/* Make scores more prominent */
.text-white.fw-bold {
    font-size: 110%;
    letter-spacing: 0.5px;
}

/* Ensure team names are white and readable */
.text-truncate {
    color: var(--text-primary);
}

/* Background Utility Classes */
.custom-bg-primary {
    background-color: var(--bg-primary);
}

/* Keyframe Animations */
@keyframes pulse-simple {
    0% { opacity: 1; }
    50% { opacity: 0.85; }
    100% { opacity: 1; }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Utility Classes */
.feature-badge {
    background: rgba(255, 255, 255, 0.3);
    color: var(--text-primary);
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.8em;
}

/* Card Headers */
.card h2,
.card h3,
.card h4,
.card h5 {
    color: var(--text-primary);
}

/* Mobile Navigation Horizontal Scrolling */
.navbar-nav-scroll::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.navbar-nav.d-flex.flex-row {
    flex-wrap: nowrap;
    white-space: nowrap;
}

.navbar-nav.d-flex.flex-row .nav-item {
    flex-shrink: 0;
}

.navbar-nav.d-flex.flex-row .nav-link {
    padding: 0.5rem 0.75rem;
    white-space: nowrap;
}

/* Mobile navigation styling */
@media (max-width: 576px) {
    .navbar-nav.d-flex.flex-row .nav-link {
        padding: 0.5rem 0.5rem;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.25rem;
    }
    
    .navbar-nav.d-flex.flex-row .nav-link i {
        font-size: 1.25rem;
        margin-right: 0;
        display: block;
        text-align: center;
    }
    
    .navbar-nav.d-flex.flex-row .nav-link span {
        font-size: 0.75rem;
        line-height: 1;
        display: block;
        text-align: center;
    }
    
    .navbar-nav.d-flex.flex-row .nav-item {
        min-width: 60px;
    }
}