/* ========================================
   Aguas Claras - Responsive Styles
   ======================================== */

/* === Tablet Styles (768px and below) === */
@media screen and (max-width: 768px) {
    /* Typography adjustments */
    h1 { font-size: 2rem; }
    h2 { font-size: 1.6rem; }
    h3 { font-size: 1.3rem; }
    
    .lead { font-size: 1.1rem; }
    
    /* Student Banner */
    .student-banner {
        font-size: 0.85rem;
        padding: 0.75rem 0;
    }
    
    /* Header */
    header {
        top: 40px;
    }
    
    header .container {
        flex-direction: column;
        gap: 1rem;
    }
    
    nav ul {
        flex-direction: column;
        gap: 0.5rem;
        width: 100%;
        text-align: center;
    }
    
    nav li {
        width: 100%;
    }
    
    nav a {
        display: block;
        padding: 0.75rem;
    }
    
    /* Hero Section */
    #hero {
        padding: 3rem 0;
        min-height: 60vh;
    }
    
    .hero-content h1 {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
    }
    
    .cta-buttons {
        flex-direction: column;
        gap: 1rem;
    }
    
    .cta-buttons .btn {
        width: 100%;
        text-align: center;
    }
    
    /* Grid Systems */
    .stats-grid,
    .benefits-grid,
    .mv-grid,
    .value-grid,
    .reasons-grid,
    .benefits-grid-sdg,
    .sdg-goals-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .steps {
        flex-direction: column;
    }
    
    /* Cards */
    .stat-card,
    .benefit-card,
    .mv-card,
    .value-card,
    .reason-card,
    .sdg-card {
        padding: 1.5rem;
    }
    
    .stat-number {
        font-size: 2.5rem;
    }
    
    /* Contact Grid */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .contact-info {
        order: 2;
    }
    
    .contact-form-container {
        order: 1;
    }
    
    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }
    
    /* Sections */
    section {
        padding: 3rem 0;
    }
    
    /* Process Steps */
    .process-step {
        padding: 1.5rem;
    }
    
    .step-num {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
    }
    
    /* Tables */
    table {
        font-size: 0.9rem;
    }
    
    th, td {
        padding: 0.75rem 0.5rem;
    }
}

/* === Mobile Styles (480px and below) === */
@media screen and (max-width: 480px) {
    /* Container */
    .container {
        padding: 0 1rem;
    }
    
    /* Typography */
    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.4rem; }
    h3 { font-size: 1.2rem; }
    h4 { font-size: 1.05rem; }
    
    body {
        font-size: 0.95rem;
    }
    
    .lead {
        font-size: 1rem;
    }
    
    /* Student Banner */
    .student-banner {
        font-size: 0.75rem;
        padding: 0.6rem 0;
    }
    
    /* Logo */
    .logo h1 {
        font-size: 1.5rem;
    }
    
    .tagline {
        font-size: 0.8rem;
    }
    
    /* Hero */
    #hero {
        padding: 2rem 0;
        min-height: 50vh;
    }
    
    .hero-content h1 {
        font-size: 1.75rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
    
    /* Buttons */
    .btn {
        padding: 0.75rem 1.5rem;
        font-size: 0.95rem;
    }
    
    .btn-large {
        padding: 1rem 2rem;
        font-size: 1rem;
    }
    
    /* Cards */
    .stat-card,
    .benefit-card,
    .mv-card,
    .value-card,
    .reason-card,
    .sdg-card {
        padding: 1.25rem;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    .stat-label {
        font-size: 0.9rem;
    }
    
    .benefit-icon {
        font-size: 2.5rem;
    }
    
    /* Steps */
    .step {
        padding: 1.25rem;
    }
    
    .step-number {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
    }
    
    /* Forms */
    .form-group {
        margin-bottom: 1.25rem;
    }
    
    input,
    textarea,
    select {
        font-size: 1rem;
    }
    
    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    /* Sections */
    section {
        padding: 2.5rem 0;
    }
    
    /* Process Steps */
    .process-step {
        padding: 1.25rem;
    }
    
    .step-num {
        width: 40px;
        height: 40px;
        font-size: 1.25rem;
    }
    
    /* FAQ */
    .faq-item {
        padding: 1rem;
    }
    
    .faq-question {
        font-size: 1rem;
        padding-right: 2rem;
    }
    
    /* Tables */
    table {
        font-size: 0.85rem;
    }
    
    th, td {
        padding: 0.5rem 0.25rem;
    }
    
    /* Hide table on very small screens and show as cards */
    .responsive-table {
        display: block;
        overflow-x: auto;
    }
    
    /* SDG Specific */
    .sdg-number {
        font-size: 0.8rem;
        padding: 0.4rem 0.8rem;
    }
    
    .sdg-card h3 {
        font-size: 1.1rem;
    }
    
    .benefit-icon-sdg {
        font-size: 2.5rem;
    }
    
    .urgency-box,
    .urgency-box-pitch {
        padding: 1.5rem;
    }
    
    .urgency-box h3 {
        font-size: 1.3rem;
    }
    
    .urgency-box p,
    .urgency-box-pitch p {
        font-size: 1rem;
    }
}

/* === Large Tablet / Small Desktop (769px to 1024px) === */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .stats-grid,
    .benefits-grid,
    .value-grid,
    .reasons-grid,
    .benefits-grid-sdg {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .mv-grid,
    .sdg-goals-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* === Landscape Mobile Optimization === */
@media screen and (max-height: 500px) and (orientation: landscape) {
    #hero {
        min-height: auto;
        padding: 2rem 0;
    }
    
    .hero-content h1 {
        font-size: 1.75rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
    
    section {
        padding: 2rem 0;
    }
}

/* === Print Styles === */
@media print {
    header,
    footer,
    .student-banner,
    .cta-buttons,
    .btn {
        display: none;
    }
    
    body {
        color: #000;
        background: #fff;
    }
    
    section {
        page-break-inside: avoid;
    }
    
    h1, h2, h3 {
        page-break-after: avoid;
    }
}

/* === Accessibility - Reduced Motion === */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    html {
        scroll-behavior: auto;
    }
}

/* === High Contrast Mode === */
@media (prefers-contrast: high) {
    :root {
        --primary-color: #0056b3;
        --secondary-color: #008fb3;
        --text-dark: #000000;
        --text-light: #333333;
        --border-color: #000000;
    }
    
    .btn {
        border: 2px solid currentColor;
    }
    
    a {
        text-decoration: underline;
    }
}

/* === Dark Mode (Optional - commented out for now) === */
/*
@media (prefers-color-scheme: dark) {
    :root {
        --bg-white: #1a1a1a;
        --bg-light: #2a2a2a;
        --text-dark: #ffffff;
        --text-light: #cccccc;
        --border-color: #444444;
    }
    
    body {
        background-color: var(--bg-white);
        color: var(--text-dark);
    }
    
    .card,
    .benefit-card,
    .stat-card,
    .mv-card,
    .value-card {
        background-color: var(--bg-light);
        color: var(--text-dark);
    }
}
*/
