/* core/HELPERS.CSS */

/* Visibility */
.hidden {
    display: none !important;
}

/* Accessibility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Status Messages */
.loading-message,
.error-message,
.empty-state-message {
    padding: 1rem;
    font-size: var(--text-body);
    color: var(--dark-gray);
    text-align: center;
}

.error-message.hidden,
.loading-message.hidden,
.empty-state-message.hidden {
    display: none;
}

/* Section Spacing */
section {
    padding: var(--section-pad) 0;
}

section.pt-0 { padding-top: 0; }
section.pb-0 { padding-bottom: 0; }

/* Centralized Hover Targets */
:is(
    .stat-card, .contact-card, .countdown-box,
    .match-sponsor-link, .player-card, .stat-category,
    .record-category, .modal-section, .goalscorers-section,
    .score-display, #modalSponsorLink, .season-stats-section,
    .all-time-stats-section, .podium-block, .match-card,
    .form-result, .overview-section .stat-card
) {
    --current-hover-scale: var(--hover-scale);
    will-change: transform;
    backface-visibility: hidden;
    transition: var(--t-interact);
}

/* Standard Hover State */
:is(
    .stat-card, .contact-card, .countdown-box,
    .match-sponsor-link, .player-card, .stat-category,
    .record-category, .modal-section, .goalscorers-section,
    .score-display, #modalSponsorLink, .season-stats-section,
    .all-time-stats-section, .podium-block, .match-card,
    .form-result, .overview-section .stat-card
):hover {
    box-shadow: var(--shadow-hover);
    transform: scale(var(--current-hover-scale)) !important;
    z-index: 10;
}

/* Responsive Display Toggles */
.desktop-only {
    display: inline-block;
}

@media (min-width: 769px) {
    .mobile-only {
        display: none !important;
    }

    .header-icon {
        display: none;
    }
}

/* Responsive: Tablet + Mobile */
@media (max-width: 1024px) {
    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        display: inline-block !important;
    }
}

@media (hover: none) {
    :is(
        .stat-card, .contact-card, .countdown-box,
        .match-sponsor-link, .player-card, .stat-category,
        .record-category, .modal-section, .goalscorers-section,
        .score-display, #modalSponsorLink, .season-stats-section,
        .all-time-stats-section, .podium-block, .match-card,
        .form-result, .overview-section .stat-card, .timeline-item
    ):hover {
        box-shadow: var(--shadow-hover);
        transform: none !important;
    }
}