/* Responsive Styles - Mobile First */

/* Mobile First - Base styles already mobile optimized */

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    .container {
        padding: 0 30px;
    }
    
    .hero-title {
        font-size: 3rem;
    }
    
    .ticker {
        flex-direction: row;
        overflow: hidden;
    }
    
    .ticker-item {
        animation: scroll 20s linear infinite;
        white-space: nowrap;
    }
    
    @keyframes scroll {
        0% { transform: translateX(100%); }
        100% { transform: translateX(-100%); }
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .nav-desktop {
        display: block;
    }
    
    .mobile-menu-toggle {
        display: none;
    }
    
    .nav-mobile {
        display: none !important;
    }
    
    .hero-title {
        font-size: 3.5rem;
    }
    
    .hero-cta {
        flex-wrap: nowrap;
    }
    
    .casino-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .filter-controls {
        flex-wrap: nowrap;
    }
    
    .comparison-table {
        font-size: 0.9rem;
    }
    
    .progress-indicator {
        flex-direction: row;
    }
    
    .calculator-form {
        grid-template-columns: 1fr 1fr;
        align-items: end;
    }
    
    .calculator-form .btn {
        grid-column: 1 / -1;
        justify-self: center;
        width: auto;
    }
    
    .insights-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .mobile-platforms {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .trust-signals {
        gap: 3rem;
    }
    
    .social-links {
        gap: 1.5rem;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .container {
        padding: 0 40px;
    }
    
    .hero {
        padding: 140px 0 80px;
    }
    
    .hero-title {
        font-size: 4rem;
    }
    
    .casino-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .content-grid {
        grid-template-columns: 2fr 1fr;
    }
    
    .advantages-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .comparison-row {
        grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    }
    
    .progress-indicator {
        gap: 3rem;
    }
    
    .process-steps {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    
    .insights-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .rates-row {
        grid-template-columns: 2fr 1fr 1fr 1fr;
    }
    
    .quiz-options {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    
    .footer-main {
        grid-template-columns: 1fr 3fr;
    }
    
    .footer-nav {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .container {
        max-width: 1400px;
        padding: 0 50px;
    }
    
    .hero-title {
        font-size: 4.5rem;
    }
    
    .casino-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 2.5rem;
    }
    
    .advantages-grid {
        grid-template-columns: repeat(6, 1fr);
    }
    
    .insights-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .mobile-platforms {
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }
}

/* Extra extra large devices (1400px and up) */
@media (min-width: 1400px) {
    .container {
        max-width: 1600px;
    }
    
    .casino-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }
}

/* Mobile specific adjustments */
@media (max-width: 767px) {
    body {
        font-size: 0.9rem;
    }
    
    .hero {
        padding: 100px 0 40px;
    }
    
    .hero-title {
        font-size: 2rem;
        line-height: 1.1;
    }
    
    .trust-badges {
        gap: 0.5rem;
    }
    
    .casino-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .casino-actions {
        flex-direction: column;
    }
    
    .filter-controls {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    
    .speed-table,
    .comparison-table,
    .rates-table {
        font-size: 0.8rem;
    }
    
    .speed-row,
    .comparison-row,
    .rates-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
    
    .speed-row > div,
    .comparison-row > div,
    .rates-row > div {
        padding: 0.75rem;
        border-bottom: 1px solid var(--border-color);
    }
    
    .speed-row > div:first-child,
    .comparison-row > div:first-child,
    .rates-row > div:first-child {
        background: var(--primary-color);
        color: white;
        font-weight: 600;
    }
    
    .content-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .timeline {
        margin: 2rem 0;
    }
    
    .advantages-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .advantage-card {
        padding: 1.5rem;
    }
    
    .progress-indicator {
        gap: 1rem;
        flex-wrap: wrap;
    }
    
    .progress-step {
        flex: 1;
        min-width: 80px;
    }
    
    .step-number {
       width: 35px;
       height: 35px;
       font-size: 0.9rem;
   }
   
   .step-title {
       font-size: 0.8rem;
   }
   
   .deposit-step {
       padding: 1.5rem;
   }
   
   .process-steps {
       gap: 1rem;
   }
   
   .calculator-form {
       grid-template-columns: 1fr;
   }
   
   .bonus-stats {
       flex-direction: column;
       align-items: flex-start;
       gap: 0.5rem;
   }
   
   .insights-grid {
       grid-template-columns: 1fr;
       gap: 1.5rem;
   }
   
   .insight-item {
       flex-direction: column;
       align-items: flex-start;
       gap: 0.5rem;
       text-align: left;
   }
   
   .limits-grid {
       gap: 0.75rem;
   }
   
   .limit-item {
       flex-direction: column;
       align-items: flex-start;
       gap: 0.25rem;
       text-align: left;
   }
   
   .quiz-options {
       gap: 0.5rem;
   }
   
   .quiz-option {
       padding: 0.75rem;
   }
   
   .mobile-platforms {
       grid-template-columns: 1fr;
       gap: 1.5rem;
   }
   
   .platform-card {
       padding: 1.5rem;
   }
   
   .mobile-guides {
       flex-direction: column;
       align-items: center;
   }
   
   .metrics-grid,
   .compliance-grid {
       gap: 0.75rem;
   }
   
   .metric-item,
   .compliance-item {
       flex-direction: column;
       align-items: flex-start;
       gap: 0.5rem;
       text-align: left;
   }
   
   .banks-list {
       gap: 0.5rem;
       font-size: 0.9rem;
   }
   
   .security-actions {
       flex-direction: column;
       align-items: center;
   }
   
   .search-container {
       flex-direction: column;
       gap: 0.75rem;
   }
   
   .faq-actions {
       flex-direction: column;
       align-items: center;
   }
   
   .final-cta h2 {
       font-size: 2rem;
   }
   
   .cta-benefits {
       grid-template-columns: 1fr;
       gap: 0.75rem;
       text-align: center;
   }
   
   .cta-buttons {
       flex-direction: column;
       align-items: center;
   }
   
   .trust-signals {
       flex-direction: column;
       gap: 1rem;
       text-align: center;
   }
   
   .trust-item {
       font-size: 0.8rem;
   }
   
   .footer-main {
       grid-template-columns: 1fr;
       gap: 2rem;
       text-align: center;
   }
   
   .footer-nav {
       grid-template-columns: 1fr;
       gap: 2rem;
   }
   
   .social-links {
       flex-direction: column;
       align-items: center;
       gap: 0.75rem;
   }
   
   .legal-links {
       flex-direction: column;
       gap: 1rem;
   }
}

/* Landscape phone adjustments */
@media (max-width: 767px) and (orientation: landscape) {
   .hero {
       padding: 80px 0 30px;
   }
   
   .hero-title {
       font-size: 1.8rem;
   }
   
   .nav-mobile.active {
       max-height: 300px;
       overflow-y: auto;
   }
}

/* Print styles */
@media print {
   .header,
   .nav-mobile,
   .mobile-menu-toggle,
   .live-feed,
   .filter-controls,
   .casino-actions,
   .hero-cta,
   .deposit-cta,
   .bonus-cta,
   .security-actions,
   .faq-search,
   .faq-actions,
   .final-cta,
   .footer-social,
   .mobile-guides {
       display: none !important;
   }
   
   body {
       background: white !important;
       color: black !important;
       font-size: 12pt;
       line-height: 1.4;
   }
   
   .container {
       max-width: none;
       padding: 0;
   }
   
   h1, h2, h3, h4, h5, h6 {
       color: black !important;
       page-break-after: avoid;
   }
   
   .casino-card,
   .advantage-card,
   .insight-card,
   .platform-card {
       background: white !important;
       border: 1px solid #ccc !important;
       box-shadow: none !important;
       page-break-inside: avoid;
       margin-bottom: 1rem;
   }
   
   .casino-grid,
   .advantages-grid,
   .insights-grid,
   .mobile-platforms {
       grid-template-columns: 1fr !important;
       gap: 1rem !important;
   }
   
   .speed-table,
   .comparison-table,
   .rates-table {
       background: white !important;
       border: 1px solid #ccc !important;
   }
   
   .speed-row,
   .comparison-row,
   .rates-row {
       background: white !important;
       border-bottom: 1px solid #ccc !important;
   }
   
   .speed-header,
   .comparison-header,
   .rates-header {
       background: #f0f0f0 !important;
       color: black !important;
   }
}

/* High contrast mode */
@media (prefers-contrast: high) {
   :root {
       --primary-color: #0066cc;
       --secondary-color: #7700cc;
       --accent-color: #cc6600;
       --success-color: #006600;
       --warning-color: #cc6600;
       --danger-color: #cc0000;
       --dark-bg: #000000;
       --card-bg: #1a1a1a;
       --text-primary: #ffffff;
       --text-secondary: #cccccc;
       --text-muted: #999999;
       --border-color: #666666;
   }
   
   .btn {
       border: 2px solid currentColor;
   }
   
   .casino-card:hover,
   .advantage-card:hover {
       border-width: 3px;
   }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
   *,
   *::before,
   *::after {
       animation-duration: 0.01ms !important;
       animation-iteration-count: 1 !important;
       transition-duration: 0.01ms !important;
       scroll-behavior: auto !important;
   }
   
   .ticker-item {
       animation: none;
   }
   
   .btn:hover,
   .casino-card:hover,
   .advantage-card:hover {
       transform: none;
   }
}

/* Focus styles for accessibility */
button:focus,
input:focus,
select:focus,
textarea:focus,
a:focus {
   outline: 3px solid var(--primary-color);
   outline-offset: 2px;
}

.btn:focus {
   outline: 3px solid var(--accent-color);
}

/* Skip link for screen readers */
.skip-link {
   position: absolute;
   top: -40px;
   left: 6px;
   background: var(--primary-color);
   color: white;
   text-decoration: none;
   padding: 8px;
   border-radius: 4px;
   z-index: 10000;
}

.skip-link:focus {
   top: 6px;
}

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

/* Loading states */
.loading {
   position: relative;
   pointer-events: none;
   opacity: 0.6;
}

.loading::after {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   width: 20px;
   height: 20px;
   margin: -10px 0 0 -10px;
   border: 2px solid var(--primary-color);
   border-radius: 50%;
   border-top-color: transparent;
   animation: spin 1s linear infinite;
}

@keyframes spin {
   to {
       transform: rotate(360deg);
   }
}

/* Error states */
.error {
   border-color: var(--danger-color) !important;
   background-color: rgba(239, 68, 68, 0.1) !important;
}

.error-message {
   color: var(--danger-color);
   font-size: 0.9rem;
   margin-top: 0.5rem;
}

/* Success states */
.success {
   border-color: var(--success-color) !important;
   background-color: rgba(16, 185, 129, 0.1) !important;
}

.success-message {
   color: var(--success-color);
   font-size: 0.9rem;
   margin-top: 0.5rem;
}