/* Mobile Responsive Fixes */

/* Container padding for mobile */
@media (max-width: 768px) {
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    /* Section spacing */
    .content-section {
        padding: 3rem 0;
    }
    
    /* Typography fixes */
    .h2 {
        font-size: 1.75rem;
        line-height: 1.3;
    }
    
    .h3 {
        font-size: 1.5rem;
        line-height: 1.3;
    }
    
    .h4 {
        font-size: 1.25rem;
        line-height: 1.3;
    }
    
    .h5 {
        font-size: 1.125rem;
        line-height: 1.3;
    }
    
    .p-l {
        font-size: 1rem;
        line-height: 1.6;
    }
    
    .p-s {
        font-size: 0.875rem;
        line-height: 1.5;
    }
    
    /* Eyebrow text */
    .eyebrow {
        font-size: 0.8rem;
        margin-bottom: 1rem;
    }
    
    /* Button fixes */
    .btn {
        padding: 0.75rem 1.5rem;
        font-size: 0.875rem;
        min-height: 44px;
    }
    
    .btn-primary {
        padding: 0.875rem 1.75rem;
        font-size: 0.875rem;
        min-height: 48px;
    }
    
    .btn-large {
        padding: 1rem 2rem;
        font-size: 1rem;
        min-height: 52px;
    }
}

@media (max-width: 480px) {
    .container {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    
    /* Section spacing */
    .content-section {
        padding: 2rem 0;
    }
    
    /* Typography fixes */
    .h2 {
        font-size: 1.5rem;
        line-height: 1.25;
        margin-bottom: 1rem;
    }
    
    .h3 {
        font-size: 1.25rem;
        line-height: 1.25;
    }
    
    .h4 {
        font-size: 1.125rem;
        line-height: 1.25;
    }
    
    .h5 {
        font-size: 1rem;
        line-height: 1.25;
    }
    
    .p-l {
        font-size: 0.9rem;
        line-height: 1.5;
    }
    
    .p-s {
        font-size: 0.8rem;
        line-height: 1.4;
    }
    
    /* Eyebrow text */
    .eyebrow {
        font-size: 0.75rem;
        margin-bottom: 0.75rem;
    }
    
    /* Button fixes */
    .btn {
        padding: 0.625rem 1.25rem;
        font-size: 0.8rem;
        min-height: 40px;
    }
    
    .btn-primary {
        padding: 0.75rem 1.5rem;
        font-size: 0.8rem;
        min-height: 44px;
    }
    
    .btn-large {
        padding: 0.875rem 1.75rem;
        font-size: 0.875rem;
        min-height: 48px;
    }
}

/* Services section mobile fixes */
@media (max-width: 768px) {
    .services-overview__header {
        margin-bottom: 2rem;
    }
    
    .services-overview__header .h2 {
        margin-bottom: 1rem;
    }
    
    .services-overview__header .p-l {
        margin-bottom: 0;
    }
}

/* Events section mobile fixes */
@media (max-width: 768px) {
    .events-section__header {
        margin-bottom: 2rem;
    }
    
    .events-section__header .h2 {
        margin-bottom: 1rem;
    }
    
    .events-section__header .p-l {
        margin-bottom: 0;
    }
    
    /* Events slider container */
    .events-slider-container {
        margin: 2rem 0;
    }
    
    .home-events-grid {
        gap: 1.25rem;
        padding: 0 0.5rem;
    }
}

@media (max-width: 480px) {
    .events-section__header {
        margin-bottom: 1.5rem;
    }
    
    .home-events-grid {
        gap: 1rem;
        padding: 0 0.25rem;
    }
}

/* Growing tiles mobile fixes */
@media (max-width: 768px) {
    .growing-tiles {
        margin: 2rem 0;
    }
    
    .growing-tiles__row {
        gap: 1.5rem;
        margin-bottom: 1.5rem;
        grid-template-columns: 1fr;
    }
    
    .growing-tile {
        min-height: 200px;
    }
    
    .growing-tile__start .h5 {
        font-size: 1.125rem;
        margin-bottom: 0.5rem;
    }
    
    .growing-tile__end .p-s {
        font-size: 0.875rem;
        line-height: 1.4;
    }
}

@media (max-width: 480px) {
    .growing-tiles {
        margin: 1.5rem 0;
    }
    
    .growing-tiles__row {
        gap: 1rem;
        margin-bottom: 1rem;
    }
    
    .growing-tile {
        min-height: 180px;
    }
    
    .growing-tile__start .h5 {
        font-size: 1rem;
    }
    
    .growing-tile__end .p-s {
        font-size: 0.8rem;
        line-height: 1.3;
    }
}

/* Text center utility */
.text-center {
    text-align: center;
}

/* Margin utilities for mobile */
@media (max-width: 768px) {
    .mb-4 { margin-bottom: 1rem; }
    .mb-6 { margin-bottom: 1.5rem; }
    .mb-8 { margin-bottom: 2rem; }
    .mt-4 { margin-top: 1rem; }
    .mt-6 { margin-top: 1.5rem; }
    .mt-8 { margin-top: 2rem; }
}

/* Touch targets */
@media (max-width: 768px) {
    a, button, .clickable {
        min-height: 44px;
        min-width: 44px;
    }
    
    /* Ensure interactive elements are large enough */
    .arrow, .slider-btn {
        min-width: 44px;
        min-height: 44px;
    }
}