/* ========================================
   RESPONSIVE - FUN JUNGLE PARKS
   ======================================== */

/* ===== EXTRA LARGE DEVICES (1400px+) ===== */
@media (min-width: 1400px) {
    :root {
        --container-max-width: 1400px;
    }
}

/* ===== LARGE DEVICES (992px - 1199px) ===== */
@media (max-width: 1199px) {
    :root {
        --fs-h1: 3.5rem;
        --fs-h2: 2.75rem;
        --fs-h3: 2rem;
        --section-padding: 70px 0;
    }
    
    .container {
        max-width: 960px;
    }
}

/* ===== MEDIUM DEVICES - TABLETS (768px - 991px) ===== */
@media (max-width: 991px) {
    :root {
        --fs-h1: 3rem;
        --fs-h2: 2.5rem;
        --fs-h3: 1.875rem;
        --fs-h4: 1.625rem;
        --section-padding: 60px 0;
        --spacing-xl: 40px;
        --spacing-2xl: 56px;
    }
    
    .container {
        max-width: 720px;
    }
    
    /* Grid adjustments */
    .col-lg-6 { 
        flex: 0 0 100%; 
        max-width: 100%; 
    }
    
    .col-lg-4 { 
        flex: 0 0 50%; 
        max-width: 50%; 
    }
    
    .col-lg-3 { 
        flex: 0 0 50%; 
        max-width: 50%; 
    }
    
    /* Hero adjustments */
    .jungle-hero {
        min-height: 600px;
    }
    
    .jungle-hero-title {
        font-size: clamp(2rem, 5vw, 3.5rem);
    }
    
    /* About section */
    .jungle-about-section .row {
        flex-direction: column-reverse;
    }
    
    .jungle-about-section .col-lg-6 {
        margin-bottom: var(--spacing-lg);
    }
    
    /* Footer */
    .jungle-footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .jungle-footer-about {
        grid-column: 1 / -1;
    }
}

/* ===== SMALL DEVICES - TABLETS PORTRAIT (576px - 767px) ===== */
@media (max-width: 767px) {
    :root {
        --fs-h1: 2.5rem;
        --fs-h2: 2rem;
        --fs-h3: 1.625rem;
        --fs-h4: 1.375rem;
        --fs-h5: 1.25rem;
        --fs-body-lg: 1.125rem;
        --section-padding: 50px 0;
        --spacing-lg: 24px;
        --spacing-xl: 32px;
        --spacing-2xl: 48px;
    }
    
    .container {
        max-width: 540px;
    }
    
    /* Grid adjustments */
    .col-md-6,
    .col-md-4,
    .col-md-3 { 
        flex: 0 0 100%; 
        max-width: 100%; 
    }
    
    /* Typography */
    h1, h2, h3, h4, h5 {
        margin-bottom: var(--spacing-md);
    }
    
    p {
        margin-bottom: var(--spacing-md);
    }
    
    /* Buttons */
    .btn {
        padding: 12px 24px;
        font-size: var(--fs-body);
    }
    
    .btn-large {
        padding: 14px 32px;
        font-size: var(--fs-body-lg);
    }
    
    /* Hero */
    .jungle-hero {
        min-height: 500px;
    }
    
    .jungle-hero-content {
        padding: var(--spacing-xl) var(--spacing-md);
    }
    
    .jungle-hero-buttons {
        flex-direction: column;
        gap: var(--spacing-md);
    }
    
    .jungle-hero-buttons .btn {
        width: 100%;
        max-width: 300px;
    }
    
    /* Sedes Grid */
    .jungle-sedes-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-lg);
    }
    
    /* Cards */
    .card-img {
        height: 220px;
    }
    
    /* Section titles */
    .section-title {
        margin-bottom: var(--spacing-xl);
    }
    
    /* Footer */
    .jungle-footer {
        padding-top: var(--spacing-2xl);
    }
    
    .jungle-footer-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-xl);
    }
    
    .jungle-footer-bottom-content {
        flex-direction: column;
        gap: var(--spacing-md);
        text-align: center;
    }
    
    .jungle-footer-legal {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
}

/* ===== EXTRA SMALL DEVICES - MOBILE (< 576px) ===== */
@media (max-width: 575px) {
    :root {
        --fs-h1: 2rem;
        --fs-h2: 1.75rem;
        --fs-h3: 1.5rem;
        --fs-h4: 1.25rem;
        --fs-h5: 1.125rem;
        --fs-body-lg: 1rem;
        --fs-body: 0.9375rem;
        --section-padding: 40px 0;
        --spacing-md: 20px;
        --spacing-lg: 24px;
        --spacing-xl: 30px;
        --spacing-2xl: 40px;
        --spacing-3xl: 60px;
        --container-padding: 0 15px;
    }
    
    html {
        font-size: 15px;
    }
    
    /* Container */
    .container,
    .container-fluid {
        padding: 0 15px;
    }
    
    /* Typography */
    .jungle-hero-title {
        font-size: clamp(1.75rem, 8vw, 2.5rem);
        line-height: 1.2;
    }
    
    .jungle-hero-subtitle {
        font-size: var(--fs-body);
    }
    
    /* Buttons */
    .btn {
        padding: 10px 20px;
        font-size: var(--fs-body);
    }
    
    .btn-large {
        padding: 12px 28px;
    }
    
    /* Hero */
    .jungle-hero {
        min-height: 450px;
    }
    
    .jungle-hero-badge {
        font-size: 0.75rem;
        padding: 6px 14px;
    }
    
    .jungle-slider-arrow {
        display: none;
    }
    
    .jungle-scroll-indicator {
        display: none;
    }
    
    /* Navigation */
    .jungle-nav {
        width: 100%;
        top: 70px;
    }
    
    /* Sede Cards */
    .jungle-sede-image {
        height: 200px;
    }
    
    .jungle-sede-content {
        padding: var(--spacing-md);
    }
    
    .jungle-sede-info {
        flex-direction: column;
        gap: var(--spacing-sm);
        align-items: flex-start;
    }
    
    .jungle-sede-btn {
        width: 100%;
        justify-content: center;
    }
    
    .jungle-sedes-filters {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
    
    .jungle-filter-btn {
        width: 100%;
        text-align: center;
    }
    
    /* Footer */
    .jungle-social-links {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .jungle-newsletter-form {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
    
    .jungle-newsletter-input,
    .jungle-newsletter-btn {
        border-radius: var(--border-radius-md);
        width: 100%;
    }
    
    /* Back to top button */
    .jungle-back-to-top {
        bottom: 20px;
        right: 20px;
        width: 45px;
        height: 45px;
        font-size: 18px;
    }
    
    /* Cards */
    .card-body {
        padding: var(--spacing-md);
    }
    
    /* Modals */
    .jungle-sede-modal-content {
        width: 95%;
        max-height: 85vh;
    }
    
    /* Hide scroll animations on mobile for performance */
    .scroll-reveal {
        opacity: 1;
        transform: translateY(0);
    }

    .jungle-popup{
        width: 370px !important;
    }
}

/* ===== VERY SMALL DEVICES (< 400px) ===== */
@media (max-width: 399px) {
    :root {
        --fs-h1: 1.75rem;
        --fs-h2: 1.5rem;
        --fs-h3: 1.375rem;
        --spacing-xl: 24px;
        --spacing-2xl: 32px;
    }
    
    .jungle-hero {
        min-height: 400px;
    }
    
    .jungle-logo img {
        height: 40px;
    }
    
    .jungle-footer-logo img {
        height: 50px;
    }
}

/* ===== LANDSCAPE MODE ADJUSTMENTS ===== */
@media (max-height: 600px) and (orientation: landscape) {
    .jungle-hero {
        min-height: 500px;
    }
    
    .jungle-hero-content {
        padding: var(--spacing-lg) var(--spacing-md);
    }
    
    .jungle-scroll-indicator {
        display: none;
    }
}

/* ===== PRINT STYLES ===== */
@media print {
    .jungle-header,
    .jungle-footer,
    .jungle-back-to-top,
    .jungle-slider-controls,
    .jungle-slider-arrow,
    .btn {
        display: none !important;
    }
    
    body {
        font-size: 12pt;
        line-height: 1.5;
        color: #000;
    }
    
    a {
        text-decoration: underline;
        color: #000;
    }
    
    .container {
        max-width: 100%;
    }
}