/* ==========================================================================
   EVENTS PAGE - RESPONSIVE STYLES
   Mobile and tablet optimizations
   ========================================================================== */

/* Large Tablet (1024px - 1199px) */
@media (max-width: 1199px) {
    .tlv-events-hero__title {
        font-size: 3rem;
    }
    
    .tlv-events-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
    
    .tlv-featured-event {
        flex-direction: column;
    }
    
    .tlv-featured-event__image-wrapper {
        min-height: 350px;
    }
    
    .tlv-featured-event__content {
        padding: var(--tlv-space-2xl);
    }
    
    .tlv-featured-event__title {
        font-size: 1.75rem;
    }
}

/* Tablet (768px - 1023px) */
@media (max-width: 1023px) {
    .tlv-events-container {
        padding: var(--tlv-space-2xl) var(--tlv-space-lg);
    }
    
    .tlv-events-hero {
        padding: 80px var(--tlv-space-lg) 100px;
    }
    
    .tlv-events-hero__title {
        font-size: 2.5rem;
    }
    
    .tlv-events-hero__subtitle {
        font-size: 1.1rem;
    }
    
    .tlv-filter-bar {
        flex-direction: column;
        align-items: stretch;
        gap: var(--tlv-space-md);
    }
    
    .tlv-filter-bar__left {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .tlv-filter-bar__right {
        justify-content: space-between;
    }
    
    .tlv-filter-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: var(--tlv-space-sm);
        margin: 0 calc(-1 * var(--tlv-space-lg));
        padding-left: var(--tlv-space-lg);
        padding-right: var(--tlv-space-lg);
        justify-content: center;
    }
    
    .tlv-countdown__number {
        font-size: 2rem;
        min-width: 60px;
        padding: var(--tlv-space-sm) var(--tlv-space-md);
    }
    
    .tlv-calendar-grid {
        gap: 4px;
    }
    
    .tlv-calendar-day {
        min-height: 70px;
        padding: var(--tlv-space-xs);
    }
    
    .tlv-calendar-tooltip {
        display: none;
    }
}

/* Mobile (< 768px) */
@media (max-width: 767px) {
    .tlv-events-container {
        padding: var(--tlv-space-xl) var(--tlv-space-md);
    }
    
    .tlv-events-hero {
        padding: 60px var(--tlv-space-md) 80px;
    }
    
    .tlv-events-hero__title {
        font-size: 2rem;
    }
    
    .tlv-events-hero__subtitle {
        font-size: 1rem;
        margin-bottom: var(--tlv-space-xl);
    }
    
    .tlv-hero-shapes {
        display: none;
    }
    
    /* Featured Event Mobile */
    .tlv-featured-event-section {
        margin-bottom: var(--tlv-space-2xl);
    }
    
    .tlv-featured-event__image-wrapper {
        min-height: 250px;
    }
    
    .tlv-featured-event__content {
        padding: var(--tlv-space-xl);
    }
    
    .tlv-featured-event__title {
        font-size: 1.5rem;
    }
    
    .tlv-featured-event__excerpt {
        font-size: 1rem;
    }
    
    .tlv-featured-event__meta {
        flex-direction: column;
        gap: var(--tlv-space-md);
    }
    
    .tlv-featured-event__countdown-wrapper {
        padding: var(--tlv-space-lg);
    }
    
    .tlv-countdown {
        gap: var(--tlv-space-sm);
    }
    
    .tlv-countdown__number {
        font-size: 1.5rem;
        min-width: 50px;
        padding: var(--tlv-space-sm);
    }
    
    .tlv-countdown__label {
        font-size: 0.7rem;
    }
    
    .tlv-featured-event__actions {
        flex-direction: column;
    }
    
    /* Filter Bar Mobile */
    .tlv-filter-bar {
        padding: var(--tlv-space-md);
    }
    
    .tlv-filter-bar__left {
        flex-direction: column;
        align-items: stretch;
        gap: var(--tlv-space-md);
    }
    
    .tlv-filter-tabs {
        justify-content: flex-start;
    }
    
    .tlv-filter-tab {
        white-space: nowrap;
        padding: 8px 16px;
        font-size: 0.85rem;
    }
    
    .tlv-filter-dropdown {
        width: 100%;
    }
    
    .tlv-filter-dropdown__trigger {
        width: 100%;
        justify-content: space-between;
    }
    
    .tlv-filter-bar__right {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    /* Events Grid Mobile */
    .tlv-events-grid {
        grid-template-columns: 1fr;
        gap: var(--tlv-space-lg);
    }
    
    .tlv-event-card__image-wrapper {
        height: 200px;
    }
    
    .tlv-event-card__content {
        padding: var(--tlv-space-lg);
    }
    
    .tlv-event-card__title {
        font-size: 1.1rem;
    }
    
    .tlv-event-card__actions {
        flex-wrap: wrap;
    }
    
    .tlv-btn--primary {
        flex: 1;
    }
    
    /* Calendar Mobile */
    .tlv-calendar-view {
        padding: var(--tlv-space-lg);
    }
    
    .tlv-calendar-header {
        flex-direction: column;
        gap: var(--tlv-space-md);
        text-align: center;
    }
    
    .tlv-calendar-title {
        font-size: 1.25rem;
    }
    
    .tlv-calendar-grid {
        gap: 2px;
    }
    
    .tlv-calendar-day-header {
        font-size: 0.7rem;
        padding: var(--tlv-space-sm) 2px;
    }
    
    .tlv-calendar-day {
        min-height: 50px;
        padding: 2px;
    }
    
    .tlv-calendar-day__number {
        font-size: 0.85rem;
    }
    
    .tlv-calendar-day__events {
        gap: 2px;
    }
    
    .tlv-calendar-day__dot {
        width: 6px;
        height: 6px;
    }
    
    /* Pagination Mobile */
    .tlv-events-pagination {
        flex-wrap: wrap;
    }
    
    .tlv-events-pagination .page-numbers {
        min-width: 40px;
        height: 40px;
        font-size: 0.9rem;
    }
    
    /* No Events Mobile */
    .tlv-no-events {
        padding: var(--tlv-space-2xl) var(--tlv-space-md);
    }
    
    .tlv-no-events__icon {
        width: 60px;
        height: 60px;
    }
    
    .tlv-no-events h3 {
        font-size: 1.25rem;
    }
}

/* Small Mobile (< 480px) */
@media (max-width: 479px) {
    .tlv-events-hero__title {
        font-size: 1.75rem;
    }
    
    .tlv-countdown__number {
        font-size: 1.25rem;
        min-width: 40px;
    }
    
    .tlv-countdown__label {
        font-size: 0.65rem;
    }
    
    .tlv-featured-event__actions .tlv-btn {
        width: 100%;
    }
}

/* Touch Device Optimizations */
@media (hover: none) {
    .tlv-event-card:hover {
        transform: none;
    }
    
    .tlv-calendar-day:hover {
        transform: none;
    }
    
    .tlv-filter-tab:hover {
        transform: none;
    }
}

/* High DPI / Retina */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .tlv-event-card__image,
    .tlv-featured-event__image {
        image-rendering: -webkit-optimize-contrast;
    }
}

/* Print Styles */
@media print {
    .tlv-events-hero {
        background: var(--tlv-brand-blue) !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    
    .tlv-filter-bar,
    .tlv-view-toggle,
    .tlv-calendar-nav,
    .tlv-event-card__actions,
    .tlv-featured-event__actions {
        display: none !important;
    }
    
    .tlv-events-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .tlv-event-card {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid var(--tlv-border);
    }
}
