/**
 * RTPC Grâce - Frontend Styles
 */

.rtpc-grace-container {
    font-family: 'Quicksand', sans-serif;
    font-size: 16px;
}

.rtpc-grace-container * {
    font-family: 'Quicksand', sans-serif;
}

/* Base Font Sizes - Larger for better readability */
.rtpc-grace-container h1 {
    font-size: 28px !important;
    font-weight: 800 !important;
}

.rtpc-grace-container h2 {
    font-size: 24px !important;
    font-weight: 700 !important;
}

.rtpc-grace-container h3 {
    font-size: 18px !important;
    font-weight: 600 !important;
}

.rtpc-grace-container p,
.rtpc-grace-container span,
.rtpc-grace-container div {
    font-size: 16px;
}

.rtpc-grace-container table {
    font-size: 15px;
}

/* Header Banner - Much Larger and More Readable */
.rtpc-grace-container .bg-gradient-to-r.from-blue-900 {
    padding: 30px !important;
}

.rtpc-grace-container .bg-gradient-to-r.from-blue-900 h1 {
    font-size: 32px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
    /* Orange vif avec ombre portée pour contraster sur fond bleu */
    color: #fdba74 !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.rtpc-grace-container .bg-gradient-to-r.from-blue-900 p {
    font-size: 18px !important;
    opacity: 0.95;
    color: #dbeafe !important;
}

.rtpc-grace-container .bg-gradient-to-r.from-blue-900 .text-sm {
    font-size: 16px !important;
}

.rtpc-grace-container .bg-gradient-to-r.from-blue-900 .text-xs {
    font-size: 14px !important;
}

/* Mobile Header */
@media (max-width: 768px) {
    .rtpc-grace-container .bg-gradient-to-r.from-blue-900 {
        padding: 20px !important;
    }
    
    .rtpc-grace-container .bg-gradient-to-r.from-blue-900 h1 {
        font-size: 24px !important;
    }
    
    .rtpc-grace-container .bg-gradient-to-r.from-blue-900 p {
        font-size: 15px !important;
    }
}

/* Match Details Animation */
.match-detail {
    display: none;
    animation: slideDown 0.3s ease-out;
}

.match-detail.active {
    display: block;
}

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

/* Tab Content */
.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Tab Button Active State */
.tab-btn.active {
    background: white;
    color: #1e3a8a;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* ========================================
   RESPONSIVE TABLE - MOBILE OPTIMIZED
   ======================================== */

@media (max-width: 768px) {
    /* Standings Container - Full Width Scroll */
    .rtpc-grace-container #standingsContainer {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 12px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }
    
    /* Table Minimum Width for Scroll */
    .rtpc-grace-container #standingsContainer table {
        min-width: 750px;
        font-size: 14px;
    }
    
    /* Table Header - Larger on Mobile */
    .rtpc-grace-container #standingsContainer th {
        padding: 12px 8px !important;
        font-size: 13px !important;
        white-space: nowrap;
    }
    
    /* Table Cells - Larger on Mobile */
    .rtpc-grace-container #standingsContainer td {
        padding: 14px 8px !important;
        font-size: 14px !important;
    }
    
    /* Hide Less Important Columns on Small Screens */
    .rtpc-grace-container #standingsContainer th:nth-child(6),
    .rtpc-grace-container #standingsContainer td:nth-child(6) {
        /* Hide Sets column on very small screens */
    }
    
    /* Match Cards - Full Width */
    .rtpc-grace-container .match-card {
        padding: 20px !important;
    }
    
    /* Team Names - Larger */
    .rtpc-grace-container .text-lg.font-bold {
        font-size: 18px !important;
    }
    
    /* Score Badge - Larger */
    .rtpc-grace-container .rounded-xl.px-4.py-2 {
        padding: 12px 20px !important;
        font-size: 16px !important;
    }
    
    /* Stats Cards - 1 Column on Mobile */
    .rtpc-grace-container .grid.grid-cols-2 {
        grid-template-columns: 1fr;
    }
    
    /* Next Match Card */
    .rtpc-grace-container .next-match-card .text-2xl {
        font-size: 24px !important;
    }
    
    .rtpc-grace-container .next-match-card .text-lg {
        font-size: 16px !important;
    }
    
    /* Tabs - Scrollable */
    .rtpc-grace-container .tab-btn {
        padding: 12px 20px !important;
        font-size: 15px !important;
    }
}

/* Very Small Screens */
@media (max-width: 480px) {
    .rtpc-grace-container {
        font-size: 15px;
    }
    
    .rtpc-grace-container #standingsContainer table {
        min-width: 700px;
        font-size: 13px;
    }
    
    .rtpc-grace-container #standingsContainer th {
        padding: 10px 6px !important;
        font-size: 12px !important;
    }
    
    .rtpc-grace-container #standingsContainer td {
        padding: 12px 6px !important;
        font-size: 13px !important;
    }
}

/* Custom Scrollbar - Larger for Better Touch */
.rtpc-grace-container ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.rtpc-grace-container ::-webkit-scrollbar-track {
    background: #e2e8f0;
    border-radius: 8px;
}

.rtpc-grace-container ::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 8px;
    border: 2px solid #e2e8f0;
}

.rtpc-grace-container ::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* Mobile Scroll Indicator */
.rtpc-grace-container .mobile-scroll-hint {
    display: none;
}

@media (max-width: 768px) {
    .rtpc-grace-container .mobile-scroll-hint {
        display: block;
        text-align: center;
        padding: 10px;
        background: #fef3c7;
        color: #92400e;
        font-weight: 600;
        border-radius: 8px 8px 0 0;
        font-size: 14px;
    }
}

/* Card Hover Effects */
.rtpc-grace-container .hover\:shadow-xl:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Button Animations */
.rtpc-grace-container button {
    transition: all 0.2s ease;
}

.rtpc-grace-container button:hover {
    transform: translateY(-1px);
}

.rtpc-grace-container button:active {
    transform: translateY(0);
}

/* Spin Animation for Refresh */
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

/* Gradient Text Effect */
.gradient-text {
    background: linear-gradient(135deg, #1e3a8a, #f97316);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Mobile Optimizations - Ensure All Text is Readable */
@media (max-width: 768px) {
    .rtpc-grace-container {
        -webkit-text-size-adjust: 100%;
    }
    
    /* Prevent text from being too small on mobile */
    .rtpc-grace-container span,
    .rtpc-grace-container p,
    .rtpc-grace-container div,
    .rtpc-grace-container td,
    .rtpc-grace-container th {
        min-font-size: 14px;
    }
    
    /* Make sure buttons are touch-friendly */
    .rtpc-grace-container button {
        min-height: 44px;
        min-width: 44px;
    }
    
    /* Ensure cards have enough padding on mobile */
    .rtpc-grace-container .rounded-2xl {
        padding: 16px !important;
    }
}

/* Print Styles */
@media print {
    .rtpc-grace-container .tab-btn,
    .rtpc-grace-container button,
    .rtpc-grace-container .bg-gradient-to-r.from-orange-500 {
        display: none !important;
    }
    
    .rtpc-grace-container .tab-content {
        display: block !important;
    }
}
