/* --- قوانین عمومی --- */
/* اضافه کردن box-sizing برای مدیریت بهتر ابعاد */
*, *::before, *::after {
    box-sizing: border-box;
}

/* --- بخش Testimonials --- */
.testimonials{
    width:100%;
    background:var(--section-bg, #f8f8f8); /* مقدار پیش‌فرض برای رنگ پس‌زمینه */
    padding:45px 20px;
    direction:rtl;
    text-align:center;
    overflow: hidden; /* جلوگیری از سرریز احتمالی */
}

.testimonials .section-title{
    margin-bottom:12px;
}

.testimonial-action{
    text-align:center;
    margin:32px 0 38px;
}

.testimonials-container{
    width:100%;
    max-width:1150px;
    margin:0 auto;
    display: grid;
    /* چیدمان اصلی برای دسکتاپ */
    grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
    gap:22px;
    /* min-height پیش‌فرض برای زمانی که مدیا کوئری‌ها اعمال نشده‌اند */
    min-height: 400px;
    transition: min-height 0.3s ease-in-out; /* انیمیشن نرم برای تغییر ارتفاع */
}

.testimonial-card{
    position:relative;
    background:#fff;
    border:1px solid rgba(111,143,114,.16);
    border-radius:18px;
    padding:22px;
    text-align:right;
    overflow: hidden; /* محتوا داخل کارت باقی بماند */
    box-shadow:0 8px 24px rgba(111,143,114,.10);
    transition:all .3s ease;

    /* --- تنظیمات Flexbox برای مدیریت ارتفاع و چیدمان داخلی کارت --- */
    display: flex;
    flex-direction: column; /* چیدمان عمودی محتوا (quote, feedback, client-info) */
    height: 100%; /* کارت تمام ارتفاع موجود در گرید را بگیرد */
    justify-content: space-between; /* توزیع فضا بین المان‌ها */
}

.testimonial-card::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:5px;
    height:100%;
    background:linear-gradient(var(--primary, #007bff), var(--accent, #17a2b8)); /* مقادیر پیش‌فرض */
}

.testimonial-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 35px rgba(111,143,114,.18);
}

.quote-icon{
    position:absolute;
    left:18px;
    top:12px;
    font-size:52px;
    color:rgba(111,143,114,.18);
    line-height:1;
    /* جلوگیری از تاثیر بر ارتفاع کلی */
    flex-shrink: 0;
}

.stars{
    color:#FDBA12;
    font-size:16px;
    letter-spacing:2px;
    margin-bottom:10px;
    /* جلوگیری از تاثیر بر ارتفاع کلی */
    flex-shrink: 0;
}

.feedback{
    font-size:14px;
    line-height:2;
    color:#555;
    margin:0 0 18px;
    /* اجازه رشد به متن بازخورد تا فضای موجود را پر کند */
    flex-grow: 1;
    /* اگر متن خیلی طولانی شد، اسکرول بار برای خود متن ایجاد شود */
    overflow-y: auto;
    /* برای برخی مرورگرها که auto را درست مدیریت نمی‌کنند */
    min-height: 80px; /* حداقل ارتفاع برای فیدبک */
}

.client-info{
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid rgba(111,143,114,.10);
    /* جلوگیری از تاثیر بر ارتفاع کلی */
    flex-shrink: 0;
}

.client-info h4{
    margin:0;
    font-size:16px;
    color:var(--text, #333); /* مقدار پیش‌فرض */
    font-weight:800;
}

.client-info span{
    display:block;
    margin-top:4px;
    color:#888;
    font-size:13px;
}

/* ==========================================
   Tablet
========================================== */
@media (max-width:992px){
    .testimonials{
        padding:50px 16px;
    }
    .testimonial-action{
        margin:26px 0 30px;
    }
    .testimonials-container{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:16px;
        max-width:100%;
        min-height: 450px; /* تنظیم min-height برای تبلت */
    }
    .testimonial-card{
        border-radius:16px;
        padding:20px 18px;
    }
    .quote-icon{
        left:16px;
        top:10px;
        font-size:44px;
    }
    .feedback{
        font-size:13.5px;
        line-height:1.95;
        min-height: 70px; /* تنظیم حداقل ارتفاع */
    }
    .client-info h4{
        font-size:15px;
    }
    .client-info span{
        font-size:12.5px;
    }
}

/* ==========================================
   Mobile
========================================== */
@media (max-width:768px){
    .testimonials{
        padding:30px 16px; /* حذف !important */
    }
    .testimonials .section-title{
        margin-bottom:10px;
    }
    .testimonial-action{
        margin:22px 0 24px;
    }
    .testimonials-container{
        width:90%;
        grid-template-columns: 1fr; /* هر کارت در یک ردیف */
        gap:14px;
        min-height: 560px; /* مقدار پیشنهادی برای موبایل - ممکن است نیاز به تنظیم دقیق‌تر داشته باشد */
    }
    .testimonial-card{
        border-radius:14px;
        padding:14px 12px;
        box-shadow:0 6px 18px rgba(111,143,114,.10);
        /* در موبایل hover معمولا لازم نیست و Transform را حذف می‌کنیم */
    }
    .testimonial-card:hover{
        transform:none;
        box-shadow:0 10px 22px rgba(111,143,114,.14);
    }
    .testimonial-card::before{
        width:4px;
    }
    .quote-icon{
        left:14px;
        top:10px;
        font-size:38px;
    }
    .stars{
        font-size:15px;
        letter-spacing:1.5px;
        margin-bottom:8px;
    }
    .feedback{
        font-size:12px;
        line-height:1.8;
        margin:0 0 16px;
        min-height: 60px; /* تنظیم حداقل ارتفاع */
    }
    .client-info{
        margin-top:12px;
        padding-top:10px;
    }
    .client-info h4{
        font-size:13px;
    }
    .client-info span{
        font-size:11px;
    }
}

/* ==========================================
   Small Mobile
========================================== */
@media (max-width:480px){
    .testimonials{
        padding:28px 10px;
    }
    .testimonials-container{
        gap:12px;
        width:92%;
        min-height: 500px; /* تنظیم min-height برای موبایل‌های کوچکتر */
    }
    .testimonial-card{
        border-radius:12px;
        padding:12px 10px;
    }
    .quote-icon{
        left:12px;
        top:10px;
        font-size:32px;
    }
    .feedback{
        font-size:12.5px;
        line-height:1.85;
        min-height: 50px; /* تنظیم حداقل ارتفاع */
    }
    .client-info h4{
        font-size:13.5px;
    }
    .client-info span{
        font-size:11.5px;
    }
}

/* --- بخش تستی برای title --- */
/* این خط را به کد CSS اصلی خودت اضافه کن یا مطمئن شو وجود دارد */
/* @media (max-width:768px){
    .testimonials .section-title {
        padding-top: 50px !important;
    }
} */
/* --- پایان CSS اصلاح شده --- */
