/* ==========================================================================
   RESPONSIVE.CSS — فایل یکپارچه‌ی رسپانسیو (خروجی فاز ۴)

   این فایل همه‌ی @media هایی که قبلاً به‌صورت پراکنده در:
     - css/style.css (۶ بلاک جدا: خطوط ~700, 1149, 1421, 1446, 1564, 1586,
       1668, 1783, 1870, 1907)
     - <style> های inline داخل index.php (خطوط ~1079, 1086, 1328, 1332,
       1336, 1955)
   نوشته شده بودن رو، در یک ساختار منطقی و مرتب جمع کرده:

     ۱) prefers-reduced-motion
     ۲) Tablet  (max-width: 1024px)   ← فعلاً خالی، برای توسعه‌ی آینده
     ۳) Mobile Large (max-width: 768px)
     ۴) Mobile (max-width: 480px)
     ۵) Desktop enhancements (min-width) — هاور/افکت‌هایی که فقط باید
        روی دسکتاپ (غیرلمسی) فعال باشن

   نکته‌ی مهم درباره‌ی ترتیب لود:
   این فایل عمداً درست قبل از </body> لینک شده (آخرین استایل صفحه)، نه
   بالای <head>. چون بخشی از این قوانین قبلاً داخل <style>‌های inline
   در وسط/پایین index.php بودن و اگه فایل رو بالای <head> می‌ذاشتیم،
   توی تساوی specificity، ترتیب غلبه‌ی استایل‌ها نسبت به قبل عوض می‌شد.
   با گذاشتنش در انتهای body، همون اولویت قبلی (آخرین‌بار تعریف‌شده =
   برنده در تساوی specificity) حفظ می‌مونه.

   نکته: هیچ محتوایی حذف یا تغییر داده نشده — فقط جابه‌جا و مرتب شده.
   (پاک‌سازی کدهای مرده‌ی .faq-q/.faq-a طبق فاز ۱/۲ هنوز انجام نشده و
   خارج از محدوده‌ی فاز ۴ هست — پایین‌تر با کامنت مشخص شده.)
   ========================================================================== */


/* ==========================================================================
   ۱) PREFERS-REDUCED-MOTION
   (ادغام‌شده از: style.css ~1870، index.php ~1086، ~1336، ~1955)
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .shimmer-gold-text { animation: none; }

    .package-card { opacity: 1; transform: none; transition: box-shadow 0.2s ease; }
    .package-badge { animation: none; }

    .compare-panel { transition: grid-template-rows 0.2s ease; }
    .compare-hint-arrow { animation: none; }

    .faq-item {
        opacity: 1;
        transform: none;
        transition: box-shadow 0.2s ease;
    }
    .faq-panel { transition: grid-template-rows 0.2s ease; }
    .faq-icon  { transition: none; }
    .faq-panel-inner-text { transition: none; opacity: 1; transform: none; }
}


/* ==========================================================================
   ۲) TABLET  — max-width: 1024px
   فعلاً هیچ قانونی برای این بازه تعریف نشده بود (یکی از مشکلاتی که فاز ۳
   بهش اشاره می‌کنه: بین ۴۸۱ تا ۷۶۸ ریسک اورفلو هست، و بین ۷۶۹ تا ۱۰۲۴
   هیچ override‌ای وجود نداره). این بلاک به‌عنوان جای مشخص برای قوانین
   تبلت در آینده نگه داشته شده — عمداً خالیه، چیزی حذف نشده.
   ========================================================================== */
@media (max-width: 1024px) {
    /* هنوز خالیه — رزرو شده برای فاز ۳ (اصلاح ریسپانسیو تبلت/موبایل) */
}


/* ==========================================================================
   ۳) MOBILE LARGE  — max-width: 768px
   (ادغام‌شده از: style.css ~700، ~1446، ~1783، ~1907
                 index.php ~1079، ~1328)
   ========================================================================== */
@media (max-width: 768px) {

    /* --- Reviews --- */
    .review-item {
        padding: 24px 22px;
    }
    .review-dots {
        margin-top: 300px;
    }

    /* --- Header / Nav --- */
    #header {
        top: calc(10px + var(--rcd-banner-h, 0px));
        right: 4%;
        left: 4%;
    }

    .header-left {
        gap: 15px;
    }

    .menu-toggle {
        display: block;
    }

    #mainMenu ul {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 70px;
        right: 4%;
        width: 220px;
        background: rgba(0,0,0,.9);
        padding: 18px;
        border-radius: 12px;
        gap: 12px;
        z-index: 9999;
    }

    #mainMenu ul.show {
        display: flex;
    }

    nav ul li::after {
        display: none;
    }

    /* --- Hero --- */
    #hero {
        height: 100vh;
    }

    #hero .slide {
        background-size: cover;
        background-position: center;
        height: 100vh;
    }

    .slider-nav {
        bottom: 20px;
        gap: 10px;
    }

    .nav-item {
        font-size: 12px;
    }

    .reserve-btn {
        top: 85%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    /* --- Sections --- */
    #services,
    #about,
    #contact {
        padding: 60px 5%;
    }

    .about-container,
    .contact-container {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .about-image {
        width: 100%;
        height: 260px;
    }

    /* --- Fixed social / whatsapp --- */
    .social-fixed {
        display: none;
    }

    .whatsapp-fixed {
        left: 20px;
        bottom: 20px;
    }

    .whatsapp-fixed a {
        padding: 8px 14px;
        gap: 6px;
    }

    .whatsapp-fixed img {
        width: 22px;
        height: 22px;
    }

    .whatsapp-fixed span {
        font-size: 12px;
    }

    /* --- Gallery --- */
    .gallery {
        column-count: 2;
    }

    /* --- About Hamid --- */
    .hamid-links {
        bottom: 25px;
        left: 20px;
    }

    .hamid-links a {
        font-size: 18px;
    }

    /* --- FAQ ---
       .faq-q / .faq-a اینجا کد مرده هستن (طبق تحلیل فاز ۱/۲) — HTML واقعی
       الان از .faq-btn / .faq-panel استفاده می‌کنه. عمداً حذف نشدن،
       چون پاک‌سازی کد مرده جزو فاز ۱/۲ هست نه فاز ۴. */
    #faq { padding: 60px 5%; }
    .faq-q { font-size: 14px; padding: 16px 18px; }
    .faq-a p { padding: 0 18px 18px; }

    /* --- Packages --- */
    #packages { padding: 60px 5%; }
    .package-gold { transform: none; }
    .package-gold.pkg-visible { transform: none; }
    .package-gold:hover { transform: translateY(-6px); }
    .package-sticky-nav {
        display: flex;
    }

    /* --- Compare panel --- */
    .compare-hint { display: flex; }
}


/* ==========================================================================
   ۴) MOBILE  — max-width: 480px
   (ادغام‌شده از: style.css ~1149، ~1564، ~1668)
   ========================================================================== */
@media (max-width: 480px) {
    .footer-nav a {
        font-size: 12px;
        padding: 3px 8px;
    }

    .gallery {
        column-count: 1;
    }

    .hero-text .big {
        font-size: 32px;
    }

    .hero-text .small {
        font-size: 12px;
        letter-spacing: 4px;
    }

    .stats-wrapper { gap: 20px; }
    .stat-num { font-size: 36px; }
}


/* ==========================================================================
   ۵) DESKTOP ENHANCEMENTS  — min-width
   این‌ها فنی هاور/افکت‌هایی هستن که باید فقط روی دسکتاپ (نه موبایل/تاچ)
   فعال بشن. (ادغام‌شده از: style.css ~1421، ~1586، index.php ~1332)
   ========================================================================== */
@media (min-width: 769px) {
    #portfolio img,
    .portfolio img,
    .portfolio-item img,
    .work img {
        width: 100%;
        height: auto;
        display: block;
        filter: grayscale(100%);
        transition: filter 0.4s ease, transform 0.4s ease;
    }

    #portfolio img:hover,
    .portfolio img:hover,
    .portfolio-item img:hover,
    .work img:hover {
        filter: grayscale(0%);
        transform: scale(1.06);
    }

    body { cursor: none; }

    .cursor-dot {
        position: fixed;
        width: 8px;
        height: 8px;
        background: var(--color-primary);
        border-radius: 50%;
        pointer-events: none;
        z-index: 999999;
        transform: translate(-50%, -50%);
        transition: transform 0.1s ease;
    }

    .cursor-ring {
        position: fixed;
        width: 36px;
        height: 36px;
        border: 2px solid rgba(var(--color-primary-rgb), 0.6);
        border-radius: 50%;
        pointer-events: none;
        z-index: 999998;
        transform: translate(-50%, -50%);
        transition: left 0.12s ease, top 0.12s ease, width 0.2s ease, height 0.2s ease, border-color 0.2s ease;
    }

    .cursor-ring.hover {
        width: 54px;
        height: 54px;
        border-color: rgba(var(--color-primary-rgb), 0.9);
    }
}

@media (min-width: 1150px) {
    .compare-hint { display: none; }
}


/* ===== Mobile Fix ===== */

@media (max-width:768px){

#hero{
    min-height:100vh;
    height:100vh;
}

#hero .slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    background-size:cover;
    background-position:center center;
}

.hero-text{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:90%;
    max-width:420px;
    z-index:30;
}

.hero-glass-box{
    width:100%;
}

#header{
    position:absolute;
    top:calc(15px + var(--rcd-banner-h, 0px));
    right:15px;
    left:15px;
}

.logo-container img{
    height:55px;
}

.menu-toggle{
    display:block;
}

#mainMenu ul{
    display:none;
    position:absolute;
    right:0;
    top:55px;
    width:260px;
    background:#111;
    border-radius:16px;
    padding:18px;
    flex-direction:column;
    gap:15px;
    z-index:999999;
}

#mainMenu ul.show{
    display:flex;
}

#mainMenu ul li{
    width:100%;
}

#mainMenu ul li a{
    display:block;
    width:100%;
    color:#fff;
}

.slider-nav{
    bottom:18px;
}

.reserve-btn{
    bottom:90px;
    top:auto;
    left:50%;
    transform:translateX(-50%);
}

.social-fixed{
    display:none;
}

}



@media (max-width:768px){

.nav-links{
    display:none;
    position:absolute;
    top:70px;
    right:15px;
    width:260px;
    background:#111;
    border-radius:16px;
    padding:20px;
    flex-direction:column;
    gap:15px;
    z-index:999999;
}

.nav-links.show{
    display:flex;
}

}


@media (max-width:768px){

.main-nav{
    display:none;
}

.main-nav.mobile-open{
    display:flex !important;
    flex-direction:column;
    position:absolute;
    top:75px;
    right:15px;
    width:260px;
    padding:20px;
    background:#111;
    border-radius:16px;
    z-index:999999;
}

.main-nav.mobile-open ul{
    display:flex;
    flex-direction:column;
    gap:15px;
}

}