/* ============================================
   SERVIZI PAGE - MOBILE RESPONSIVE FIXES
   ============================================ */

/* Mobile Spacing Variables */
:root {
    --mobile-spacing-xs: 0.5rem;
    --mobile-spacing-sm: 1rem;
    --mobile-spacing-md: 1.5rem;
    --mobile-spacing-lg: 2rem;
    --mobile-spacing-xl: 2.5rem;
    
    --mobile-font-base: 16px;
    --mobile-font-lg: 18px;
    --mobile-line-height: 1.7;
    --mobile-heading-line-height: 1.3;
    
    --mobile-touch-min: 44px;
    --mobile-image-aspect: 3/4;
}

/* ======================
   MOBILE FIRST FIXES
   ====================== */

/* Service Items - Single Column Layout */
@media (max-width: 768px) {
    .service-item {
        display: flex;
        flex-direction: column !important;
        gap: var(--mobile-spacing-lg);
        padding: var(--mobile-spacing-lg);
        margin-bottom: var(--mobile-spacing-xl);
        background: rgba(255, 255, 255, 0.85);
        border-radius: 16px;
        box-shadow: 0 4px 16px rgba(62, 56, 48, 0.08);
    }
    
    /* FIX #1: Image Squashing - Preserve Aspect Ratio */
    .service-image {
        width: 100% !important;
        height: auto !important;  /* Critical: auto instead of fixed */
        max-height: 420px;
        aspect-ratio: var(--mobile-image-aspect);
        object-fit: cover;
        object-position: center;
        border-radius: 16px;
        box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
        order: 1;  /* Image always first on mobile */
    }
    
    /* Service Content - Always After Image */
    .service-content {
        order: 2;
        padding: 0 var(--mobile-spacing-sm);
        line-height: var(--mobile-line-height);  /* 1.7 instead of 1.4 */
    }
    
    /* FIX #2: Typography - Bigger, More Readable */
    .service-content h3 {
        font-size: 1.625rem !important;  /* 26px instead of 20px */
        line-height: var(--mobile-heading-line-height);
        margin-bottom: var(--mobile-spacing-md);
        color: var(--color-text-dark);
    }
    
    .service-content h3 i {
        font-size: 1.375rem;  /* Icon slightly smaller than text */
        margin-right: 0.625rem;
        color: var(--color-gold);
    }
    
    .service-content > p {
        font-size: var(--mobile-font-lg) !important;  /* 18px */
        line-height: var(--mobile-line-height) !important;
        margin-bottom: var(--mobile-spacing-lg);
        color: var(--color-text-light);
    }
    
    /* FIX #3: List Items - Generous Spacing */
    .service-benefits {
        margin-bottom: var(--mobile-spacing-lg);
        padding-left: 0;
    }
    
    .service-benefits li {
        font-size: var(--mobile-font-base) !important;  /* 16px minimum */
        line-height: var(--mobile-line-height) !important;
        padding: var(--mobile-spacing-sm) 0;
        padding-left: 2.25rem;  /* Space for larger bullet */
        margin-bottom: var(--mobile-spacing-xs);
        position: relative;
    }
    
    /* Larger, More Visible Bullets */
    .service-benefits li::before {
        content: '✦';
        position: absolute;
        left: 0;
        color: var(--color-gold);
        font-size: 1.25rem !important;  /* Bigger bullet icon */
        line-height: inherit;
        top: var(--mobile-spacing-sm);
    }
    
    /* CTA Button - Touch-Friendly */
    .service-content .btn {
        width: 100%;
        min-height: var(--mobile-touch-min);  /* 44px minimum */
        padding: var(--mobile-spacing-md) var(--mobile-spacing-lg);
        font-size: 1rem;
        border-radius: 50px;
        margin-top: var(--mobile-spacing-md);
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    
    /* Reset RTL Direction on Mobile */
    .service-item:nth-child(even) {
        direction: ltr !important;
        flex-direction: column !important;
    }
    
    .service-item:nth-child(even) .service-image {
        order: 1 !important;
    }
    
    .service-item:nth-child(even) .service-content {
        order: 2 !important;
    }
}

/* Small Mobile (< 480px) - Extra Compact */
@media (max-width: 480px) {
    .service-item {
        padding: var(--mobile-spacing-md);
        margin-bottom: var(--mobile-spacing-lg);
    }
    
    .service-image {
        max-height: 350px;
        border-radius: 12px;
    }
    
    .service-content {
        padding: 0 var(--mobile-spacing-xs);
    }
    
    .service-content h3 {
        font-size: 1.5rem !important;  /* 24px on very small screens */
    }
    
    .service-benefits li {
        padding-left: 2rem;
    }
}

/* Tablet (768px - 1024px) - Transitional */
@media (min-width: 768px) and (max-width: 1024px) {
    .service-item {
        display: grid !important;
        grid-template-columns: 1fr 1.2fr;
        gap: var(--spacing-xl);
        align-items: start;
    }
    
    .service-image {
        height: auto;
        max-height: 450px;
        aspect-ratio: 3/4;
    }
    
    .service-content h3 {
        font-size: 2rem;
    }
}

/* Desktop (1024px+) - Full Layout */
@media (min-width: 1024px) {
    .service-item {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--spacing-xl);
        padding: var(--spacing-xl);
        align-items: center;
    }
    
    .service-image {
        height: 500px;
        max-height: none;
    }
    
    .service-content h3 {
        font-size: 2.5rem;
    }
}

/* Hero Section Mobile Adjustments */
@media (max-width: 768px) {
    .hero {
        min-height: 50vh !important;
    }
    
    .hero-title {
        font-size: clamp(2rem, 8vw, 3rem) !important;
        margin-bottom: 1rem;
    }
    
    .hero-subtitle {
        font-size: clamp(1.125rem, 4vw, 1.375rem) !important;
        line-height: 1.6;
    }
}

/* CTA Section - Mobile */
@media (max-width: 768px) {
    .section-alt .btn-primary {
        width: 100%;
        max-width: 300px;
        min-height: var(--mobile-touch-min);
        padding: var(--mobile-spacing-md) var(--mobile-spacing-lg);
    }
}
