/**
 * Responsive Dimensions
 * حذف Fixed Heights/Widths و استفاده از aspect-ratio و clamp()
 */

/* ====================================
   Food Boxes - بدون Height ثابت
   ==================================== */
.food-box {
    min-height: 150px;
    height: clamp(150px, 20vh, 200px);
}

/* ====================================
   Images با Aspect Ratio
   ==================================== */

/* Food Images */
.food-image,
img[class*="food"] {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* Gallery Images */
.gallery-image img,
.home-gallery-slider img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Review Center Image */
.review-center-image {
    width: clamp(200px, 40vw, 288px) !important;
    height: clamp(200px, 40vw, 288px) !important;
    aspect-ratio: 1 / 1;
}

/* Review Avatar Images */
.review-avatar {
    width: clamp(48px, 8vw, 80px) !important;
    height: clamp(48px, 8vw, 80px) !important;
}

/* Service Images با aspect ratio */
.service-item img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

/* ====================================
   Hero Slider - Responsive Heights
   ==================================== */
.hero-slider {
    min-height: clamp(300px, 50vh, 600px);
    height: auto;
}

.hero-slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ====================================
   Packages Image
   ==================================== */
.package-image {
    width: 100%;
    max-height: clamp(250px, 40vh, 400px);
    object-fit: cover;
}

/* ====================================
   Landing Page Slider
   ==================================== */
.landing-page-slider {
    min-height: clamp(100px, 20vh, 200px);
}

.landing-page-slider img {
    height: clamp(148px, 25vh, 200px);
    object-fit: cover;
}

/* ====================================
   Service Border - Responsive Size
   ==================================== */
.service-border-img {
    max-width: 100%;
    height: auto;
}

/* ====================================
   Logo Sizing
   ==================================== */
.logo-image {
    max-width: clamp(100px, 15vw, 180px);
    height: auto;
}

/* ====================================
   Min Heights با clamp
   ==================================== */
.min-h-card {
    min-height: clamp(200px, 30vh, 350px);
}

.min-h-section {
    min-height: clamp(400px, 60vh, 800px);
}

/* ====================================
   Responsive Adjustments by Breakpoint
   ==================================== */

/* موبایل */
@media (max-width: 767px) {
    .food-box {
        height: clamp(150px, 25vh, 180px);
    }
    
    .hero-slider {
        min-height: clamp(250px, 40vh, 350px);
    }
    
    .service-item img {
        aspect-ratio: 4 / 5;
    }
}

/* تبلت */
@media (min-width: 768px) and (max-width: 1023px) {
    .food-box {
        height: clamp(160px, 22vh, 190px);
    }
    
    .hero-slider {
        min-height: clamp(350px, 45vh, 500px);
    }
    
    .package-image {
        max-height: clamp(280px, 35vh, 350px);
    }
}

/* Desktop */
@media (min-width: 1024px) {
    .food-box {
        height: clamp(170px, 20vh, 200px);
    }
    
    .hero-slider {
        min-height: clamp(400px, 50vh, 600px);
    }
}

/* ====================================
   Gallery Heights - بدون Fixed
   ==================================== */
.gallery-item {
    height: auto;
}

.gallery-item img {
    width: 100%;
    height: clamp(200px, 30vh, 320px);
    object-fit: cover;
}

@media (min-width: 768px) {
    .gallery-item img {
        height: clamp(250px, 35vh, 400px);
    }
}

/* ====================================
   Video Container - Aspect Ratio
   ==================================== */
.video-container {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.video-container iframe,
.video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ====================================
   Card Heights - Flexible
   ==================================== */
.card {
    min-height: clamp(280px, 35vh, 450px);
    height: auto;
}

.card-image {
    height: clamp(150px, 20vh, 250px);
    object-fit: cover;
}

/* ====================================
   Form Elements - Responsive Padding
   ==================================== */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
    padding: clamp(10px, 2vw, 16px) !important;
}

button,
.button {
    padding: clamp(10px, 2vw, 15px) clamp(20px, 4vw, 40px) !important;
}

/* ====================================
   Container Widths - Fluid
   ==================================== */
.container-responsive {
    width: clamp(320px, 95vw, 1280px);
    margin: 0 auto;
}

/* ====================================
   Spacing - Responsive Gaps
   ==================================== */
.gap-responsive {
    gap: clamp(16px, 3vw, 32px);
}

.gap-responsive-small {
    gap: clamp(8px, 1.5vw, 16px);
}

.gap-responsive-large {
    gap: clamp(24px, 5vw, 48px);
}

/* ====================================
   Padding/Margin Responsive
   ==================================== */
.p-responsive {
    padding: clamp(16px, 4vw, 48px);
}

.px-responsive {
    padding-left: clamp(16px, 4vw, 48px);
    padding-right: clamp(16px, 4vw, 48px);
}

.py-responsive {
    padding-top: clamp(16px, 4vw, 48px);
    padding-bottom: clamp(16px, 4vw, 48px);
}

/* ====================================
   Max Width Constraints
   ==================================== */
.max-w-responsive {
    max-width: clamp(320px, 90vw, 1536px);
}

.max-w-responsive-sm {
    max-width: clamp(280px, 85vw, 768px);
}

.max-w-responsive-md {
    max-width: clamp(300px, 88vw, 1024px);
}

/* ====================================
   Reserve Section - Desktop Image Fix
   ==================================== */
.reserve-container-desktop {
    height: clamp(500px, 60vh, 700px);
}

.reserve-desktop-image {
    max-height: clamp(500px, 60vh, 700px);
    height: auto;
    object-fit: contain;
    object-position: center;
}

@media (min-width: 1024px) and (max-width: 1279px) {
    .reserve-container-desktop {
        height: clamp(450px, 55vh, 600px);
    }
    
    .reserve-desktop-image {
        max-height: clamp(450px, 55vh, 600px);
    }
}

@media (min-width: 1536px) {
    .reserve-container-desktop {
        height: 700px;
    }
    
    .reserve-desktop-image {
        max-height: 700px;
    }
}

