:root {
    --primary-green: #3fc06b;
    --primary-blue: #0b6bd6;
    --light-bg: #f8f9fa;
    --text-dark: #1a1a1a;
    --text-grey: #555;
    --bg-cream-light: #f7f5ef;
    --primary-yellow: #ffc107;
    --primary-sage: #8E977D;
    --bg-green: #198754;
}

body {
    /*font-family: 'Inter', sans-serif;*/
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    color: var(--text-dark);
   /* overflow-x: hidden;*/
    background-color: #f7f5ef;
    padding-top: 80px; /* فاصله برای هدر فیکس شده */
}

/* Helpers */
.text-blue { color: var(--primary-blue); }
.text-green { color: var(--primary-green); }
.text-yellow { color: var(--primary-yellow); }
.bg-blue-light { background-color: #eaf3fa; }
.bg-cream-light { background-color: var(--bg-cream-light) }
.bg-green { background-color: var(--bg-green) }
/* Buttons */
.btn-green {
    background-color: var(--bg-cream-light);
    color: white;
    font-weight: 700;
    padding: 12px 24px;
    border-radius: 8px;
    border: none;
    transition: transform 0.2s;
}
.btn-green:hover {
    background-color: #36a85d;
    color: white;
    transform: translateY(-2px);
}

.text-justify{
    text-align: justify;
}

/* Header - Fixed positioning */

/* استایل‌های خودتان با یک بهبود کوچک */
.top-bar {
    /* اگر متغیر --bg-cream-light در فایل شما تعریف نشده باشد، رنگ پیش‌فرض سفید/کرمی اعمال می‌شود */
    background-color: var(--bg-cream-light, #fdfbf7);
    border-bottom: 1px solid #eee;
    padding: 10px 0;
    font-size: 0.9rem;
    width: 100%;
}

.logo {
    font-weight: 800;
    font-size: 1.2rem;
    letter-spacing: -0.5px;
}

/* Hero Section */
.hero-section { padding: 60px 0; }
.hero-title { font-weight: 800; font-size: 3rem; line-height: 1.2; margin-bottom: 20px; }
.feature-list li { margin-bottom: 12px; font-weight: 500; }
.check-icon { color: var(--primary-green); margin-right: 10px; }

/* Trust Strip */

.trust-strip {
    background-color: var(--primary-sage);
    color: white;          /* رنگ متن */
    padding: 10px 0;
    overflow: hidden;          /* مخفی کردن بخش‌های بیرون زده */
    white-space: nowrap;       /* جلوگیری از شکستن متن */
    border-bottom: 1px solid #dbeafe;
    position: relative;
}

/* نگهدارنده متن‌ها */
.marquee-wrapper {
    display: flex;
    width: 100%;
    justify-content: center; /* در حالت پیش‌فرض (دسکتاپ) وسط‌چین */
}

/* استایل هر واحد متن */
.marquee-text {
    padding: 0 20px;
    font-size: 0.9rem;
    font-weight: 500;
}

/* --- حالت دسکتاپ (بزرگتر از 992 پیکسل) --- */
@media (min-width: 992px) {
    /* متن دوم را مخفی کن تا تکراری دیده نشود */
    .marquee-text:nth-child(2) {
        display: none;
    }
}

/* --- حالت تبلت و موبایل (کوچکتر از 991 پیکسل) --- */
@media (max-width: 991px) {
    .marquee-wrapper {
        display: inline-flex;  /* اجازه می‌دهد عرض محتوا بیشتر از صفحه باشد */
        justify-content: flex-start;
        /* انیمیشن: نام - مدت زمان - نوع حرکت - تکرار */
        animation: scroll-left 15s linear infinite;
        /* عرض را روی fit-content می‌گذاریم تا جا برای حرکت باشد */
        width: auto;
    }

    /* متن دوم حتما نمایش داده شود تا لوپ کامل شود */
    .marquee-text:nth-child(2) {
        display: inline-block;
    }
}

/* تعریف انیمیشن حرکت به چپ */
@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }
    100% {
        /* حرکت به اندازه 50% (چون دو تا متن داریم، وقتی نصفش رد شد یعنی اولی تمام شده و دومی جایگزین شده) */
        transform: translateX(-50%);
    }
}


/* Comparison Section */
.comparison-badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 0.8rem;
    margin-bottom: 15px;
}
.badge-red { background-color: #ffebee; color: #d32f2f; }
.badge-green { background-color: #e8f5e9; color: var(--primary-green); }

/* Before/After Slider Container */
.ba-slider {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-radius: 12px;
    cursor: col-resize;
}
.ba-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}
/* Using placeholder colors/images for demonstration */
.img-before { background-image: url('https://placehold.co/600x400/e0e0e0/555?text=Bad+Posture'); }
.img-after {
    background-image: url('https://placehold.co/600x400/3fc06b/fff?text=Correct+Alignment');
    width: 50%; /* Initial state */
    border-right: 3px solid white;
}
.slider-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    z-index: 10;
}

/* Testimonials */
.testimonial-card {
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    height: 100%;
}
.stars { color: var(--primary-yellow); margin-bottom: 10px; }

/* Comparison Table */
.comparison-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.comparison-table th, .comparison-table td { padding: 15px; text-align: center; border-bottom: 1px solid #eee; }
.comparison-table th { background: #f8f9fa; }
.col-flourix { background-color: #eaf3fa; border: 2px solid var(--primary-green); border-bottom: none; border-top-left-radius: 10px; border-top-right-radius: 10px;}
.cell-flourix { background-color: #eaf3fa; border-left: 2px solid var(--primary-green); border-right: 2px solid var(--primary-green); }
.cell-flourix-bottom { border-bottom: 2px solid var(--primary-green); border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; }

/* Product Section */
.product-price-box {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s;
}
.product-price-box.active {
    border: 2px solid var(--primary-green);
    background-color: #f0fdf4;
}
.strike-price { text-decoration: line-through; color: #999; }
.final-price { font-weight: 700; font-size: 1.1rem; }

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-title { font-size: 2rem; }
    .ba-slider { height: 250px; }
}

/* حذف آیکون پیش‌فرض بوت‌استرپ */
.accordion-button::after {
    background-image: none !important;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f067"; /* کد آیکون مثبت (+) */
    transform: none !important; /* جلوگیری از چرخش */
    color: #999;
}

/* آیکون وقتی منو باز است */
.accordion-button:not(.collapsed)::after {
    content: "\f068"; /* کد آیکون منفی (-) */
    color: #333;
}

/* تنظیم فاصله متن سوال */
.accordion-button {
    justify-content: space-between;
}
.hover-white:hover {
    color: #fff !important;
    padding-left: 5px; /* Small movement effect */
}
.transition-all {
    transition: all 0.3s ease;
}
.hover-primary:hover {
    color: var(--primary-blue) !important; /* Uses the blue defined in header */
}
.hover-white:hover {
    color: #fff !important;
    padding-left: 5px; /* افکت حرکت کوچک */
}
.hover-primary:hover {
    color: var(--primary-blue, #0d6efd) !important;
}
.transition-all {
    transition: all 0.3s ease;
}


/* استایل کوچک برای دکمه‌های ناوبری Swiper */
.swiper-button-next::after, .swiper-button-prev::after {
    font-size: 18px;
    font-weight: bold;
}

/* استایل بردر سبز برای تامنیل فعال */
.thumb-trigger {
    border: 2px solid transparent;
    transition: all 0.3s;
}
.thumb-trigger.active-thumb {
    border-color: #198754 !important; /* سبز */
    opacity: 1;
    transform: scale(1.05);
}

@media (min-width: 768px) {
    .w-md-auto {
        width: auto !important;
        display: inline-block !important; /* برای اطمینان از قرارگیری صحیح */
    }
}
.swiper-button-next{
    color: #198754;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    right: 10px;
}

.swiper-button-prev{
    color: #198754; width: 40px; height: 40px; border-radius: 50%; left: 10px;
}
/* Comparison Section Styles */
.section-subtitle {
    letter-spacing: 1px;
    font-size: 0.75rem;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.section-title{
    font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}

/* Black transparent filter for images - apply directly to img tag */
.img-black-filter {
    filter: brightness(0.6) contrast(1.1); /* Darken and add contrast */
    transition: filter 0.3s ease;
}

/*.img-black-filter:hover {
    filter: brightness(0.7) contrast(1.05); !* Slightly lighter on hover *!
}*/

.text-relaxed {
    line-height: 1.7;
}

.link-brand {
    color: #0b6bd6;
}
/* Testimonials Section Styles */
.testimonial-avatar {
    object-fit: cover;
}

.testimonial-title {
    font-size: 0.95rem;
}

.testimonial-text {
    line-height: 1.6;
}

/* Utility for star rating color if not already defined */
.text-blue {
    color: #0b6bd6; /* Or your brand primary color */
}
/* Desk Pain & Stats Section Styles */
.bg-pale-blue {
    background-color: #F0F6FF;
}

.stat-circle {
    width: 60px;
    height: 60px;
    border-width: 2px;
    border-style: solid;
    font-weight: 700;
    font-size: 1.1rem;
    /* Center content flex settings are in HTML (d-flex),
       but strictly style-related attributes are here */
}

.stat-circle-danger {
    border-color: #dc3545;
    color: #dc3545;
}

.stat-circle-brand {
    border-color: #0b6bd6;
    color: #0b6bd6;
}

.stat-label {
    font-size: 0.75rem;
}
/* Science & Expert Section Styles */
.expert-subtitle {
    letter-spacing: 1px;
}

.expert-avatar {
    object-fit: cover;
}

.expert-quote-text {
    line-height: 1.6;
}
/* Biomechanics & Specs Section Styles */
.bg-soft-blue {
    background-color: #F4F9FF;
}

/* Typography Colors */
.text-brand-blue {
    color: #0b6bd6;
}

.text-brand-green {
    color: #3fc06b;
}

/* Slider Components */
.slider-track-wrapper {
    height: 20px;
}

.slider-track {
    height: 4px;
}

/* Common Dot Styles */
.slider-dot-base {
    width: 14px;
    height: 14px;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* Specific Dot Variations (Position & Color) */
.slider-dot-blue {
    left: 25%; /* Hardness Position */
    box-shadow: 0 0 0 2px #0b6bd6;
}

.slider-dot-green {
    left: 60%; /* Height Position */
    box-shadow: 0 0 0 2px #3fc06b;
}

/* Tiny Labels */
.text-tiny {
    font-size: 10px;
}

/* Benefits Section Styles */
.bg-benefits {
    background-color: #FFFFFF;
}

.benefit-title {
    font-size: 0.8rem;
    letter-spacing: 0.5px;
}

.icon-zzz-small {
    font-size: 0.8rem;
}

.icon-slash-overlay {
    font-size: 2rem;
    opacity: 0.5;
}
/* Product Section Custom Styles */

/* تنظیمات نگهدارنده چسبان گالری */
.gallery-sticky-top {
    top: 20px;
    z-index: 1;
}

/* تنظیمات تصویر اصلی اسلایدر */
.product-main-img {
    height: 450px;
    object-fit: cover;
}

/* تنظیمات تصاویر کوچک (Thumbnails) */
.product-thumb-img {
    cursor: pointer;
    height: 60px;
    object-fit: cover;
    width: 100%;
}

/*
   نکته: کلاس‌های زیر در HTML شما استفاده شده بودند اما استاندارد بوت‌استرپ نیستند.
   برای اینکه ظاهر دقیقاً حفظ شود، من استایل‌های احتمالی آن‌ها را هم اضافه کردم.
   اگر این‌ها را در فایل CSS دیگری دارید، می‌توانید این بخش پایین را حذف کنید.
*/
.text-green {
    color: #198754; /* رنگ سبز استاندارد موفقیت */
}

.btn-green {
    background-color: #214f43;
    color: white;
    border: none;
}
.btn-green:hover {
    background-color: #1d6351;
    color: white;
}

.product-price-box {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.product-price-box.active {
    border-color: #198754;
    background-color: #f8fffb;
    box-shadow: 0 0 0 1px #198754;
}

.strike-price {
    text-decoration: line-through;
    color: #6c757d;
}
/* Custom Background Color */
.bg-soft-blue {
    background-color: #F0F6FF;
}

/*
   نکته اضافی برای بهبود جزئیات:
   تصاویر شما کلاس shadow-sm دارند. اگر بخواهید دقیقاً طبق دیزاین‌های مدرن
   سایه نرم‌تری داشته باشید، می‌توانید این کلاس را هم اضافه کنید (اختیاری):
*/
.shadow-soft {
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.05) !important;
}
/* Feature Diagram Image */
.feature-diagram-img {
    object-fit: cover;
}

/* Video Testimonial Card Wrapper */
.testimonial-video-card {
    height: 450px;
    /* این کلاس جایگزین style="height: 450px;" شده است */
}

/* Play Button Overlay Container */
.play-btn-container {
    z-index: 10;
    /* این کلاس جایگزین style="z-index: 10;" شده است */
}

/* Play Icon Style */
.play-btn-icon {
    opacity: 0.9;
    /* این کلاس جایگزین style="opacity: 0.9;" شده است */
}
/* محدود کردن عرض بخش نظرات برای خوانایی بهتر */
.reviews-limit-container {
    max-width: 900px;
}

/* استایل خاص برای تاریخ ثبت نظر */
.review-date {
    font-size: 0.85rem;
}

/* استایل تصاویر بندانگشتی کاربران */
.review-thumb-img {
    width: 80px;
    height: 80px;
    /* اطمینان از اینکه عکس دفرمه نمی‌شود (اگر کلاس بوت‌استرپ کار نکرد) */
    object-fit: cover;
}
/* رنگ پس‌زمینه آبی خیلی روشن مخصوص بخش FAQ */
.section-bg-light {
    background-color: #F4F9FF;
}

/* محدود کردن عرض کانتینر برای خوانایی بهتر پرسش و پاسخ‌ها */
.container-narrow {
    max-width: 800px;
}

/* رنگ خاص متن برای دکمه‌های آکاردئون (خاکستری تیره) */
.accordion-btn-custom {
    color: #333;
}

/* دکمه سبز رنگ CTA (دعوت به اقدام) */
.btn-green-cta {
    background-color: #5cb85c;
    border: none;
    font-size: 1.1rem;
    transition: background-color 0.3s ease;
}

/* هاور دکمه سبز (اختیاری برای تعامل بهتر) */
.btn-green-cta:hover {
    background-color: #4cae4c; /* کمی تیره‌تر هنگام هاور */
    color: #fff;
}

/* --- استایل‌های سفارشی برای آکاردیون محصول --- */

/* استایل هر آیتم آکاردیون (کارت مانند) */
.product-accordion-item {
    border: 1px solid #e0e0e0;
    border-radius: 12px !important; /* گرد کردن گوشه‌ها */
    margin-bottom: 1rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    overflow: hidden; /* برای اینکه محتوا از گوشه‌های گرد بیرون نزند */
    transition: box-shadow 0.3s ease;
}
.product-accordion-item:hover {
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}

/* استایل دکمه (هدر) آکاردیون */
.product-accordion-button {
    background-color: #ffffff !important;
    color: var(--text-dark) !important;
    font-size: 1.05rem;
    padding: 1.25rem 1.5rem;
}

/* وقتی آکاردیون باز است، هدر کمی رنگ بگیرد */
.product-accordion-button:not(.collapsed) {
    background-color: #f8f9fa !important;
    box-shadow: inset 0 -1px 0 #e0e0e0; /* خط جداکننده داخلی */
}

/* حذف سایه پیش‌فرض بوت‌استرپ */
.product-accordion-button:focus {
    box-shadow: none !important;
    border-color: transparent !important;
}

/* استایل بدنه آکاردیون */
.accordion-body {
    padding: 0.5rem 1.5rem 1.5rem !important;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.75rem; /* فاصله بین دکمه‌ها */
}

/* --- استایل دکمه‌های لینک‌دار داخلی --- */
.course-link-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0.8rem 1rem;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    text-decoration: none;
    color: var(--text-dark);
    font-weight: 500;
    transition: all 0.2s ease-in-out;
}

.course-link-btn:hover {
    background-color: #eaf3fa; /* رنگ آبی روشن */
    border-color: var(--primary-blue);
    color: var(--primary-blue);
    transform: translateY(-2px); /* افکت شناور شدن */
    box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}

/* استایل عنوان لینک */
.link-title {
    display: flex;
    align-items: center;
}

/* استایل مدت زمان */
.link-duration {
    font-size: 0.85rem;
    color: var(--text-grey);
    font-weight: 400;
}

/* تغییر رنگ آیکون‌ها و مدت زمان در حالت هاور */
.course-link-btn:hover .link-duration {
    color: var(--primary-blue);
}

/* تعریف انیمیشن */
@keyframes blink-opacity {
    0% { opacity: 1; }
    50% { opacity: 0.6; } /* تا 0 نروید تا دکمه کاملا غیب نشود */
    100% { opacity: 1; }
}

/* کلاس برای اعمال به دکمه */
.btn-blink-soft {
    animation: blink-opacity 1s linear infinite;
}
/* تنظیمات پایه دایره */
.stat-circle {
    width: 80px; /* سایز دایره را اینجا تنظیم کنید */
    height: 80px;
    border-radius: 50%;
    /* متغیر پیش‌فرض روی صفر است و خاکستری روشن پس‌زمینه */
    background: conic-gradient(var(--circle-color) var(--progress, 0%), #e9ecef 0deg);
    position: relative;
    font-weight: bold;
    font-size: 1.2rem;
    z-index: 1;
}

/* توخالی کردن وسط دایره تا شبیه یک حلقه (Ring) شود */
.stat-circle::before {
    content: "";
    position: absolute;
    /* ضخامت حلقه را با این عدد تنظیم کنید. هرچه بیشتر باشد، حلقه نازک‌تر است */
    inset: 6px;
    background-color: #ffffff; /* رنگ بک‌گراند سایت شما (معمولا سفید) */
    border-radius: 50%;
    z-index: -1;
}



/* Massage Hero Section - Separate from regular hero */
.hero-section-massage {
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 80vh; /* Usually 100vh or 90vh is good for mobile */
}

.hero-section-massage .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Gradient balanced for mobile readability */
    background: linear-gradient(to right, rgba(15, 15, 15, 0.9) 0%, rgba(15, 15, 15, 0.4) 100%);
    z-index: 1;
}

.hero-section-massage .hero-content {
    position: relative;
    z-index: 2;
}

.hero-section-massage .hero-title {
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1.1;
}

.hero-section-massage .hero-subtitle {
    letter-spacing: 1.5px;
    font-size: 0.85rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

.text-orange {
    color: #d88126;
}

.info-row {
    font-size: 0.9rem;
}

.info-row-location {
    font-size: 0.8rem;
    letter-spacing: 1px; /* در موبایل فاصله حروف رو کمی کمتر کردم */
}

.btn-spa {
    background-color: #214f43;
    color: white;
    border: none;
    letter-spacing: 1.5px;
    font-size: 0.8rem;
    transition: all 0.3s ease;
}

.btn-spa:hover {
    background-color: #15352c;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

/* --- Mobile Responsive Styles --- */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2.2rem; /* Slightly smaller for mobile */
    }
    .hero-section-massage {
        /* Start from bottom on mobile so text stays at bottom */
        align-items: flex-end !important;
        padding-bottom: 20px !important;
    }
    .hero-section-massage .hero-overlay {
        /* For vertical mobile images, gradient from bottom to top for readability */
        background: linear-gradient(to top, rgba(15, 15, 15, 0.9) 0%, rgba(15, 15, 15, 0.2) 100%);
    }
    .hero-section-massage .hero-content {
        padding-bottom: 30px !important; /* More space from bottom on mobile */
    }
}

header.fixed-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important; /* بالاترین لایه ممکن */
    background-color: var(--bg-cream-light, #f7f5ef) !important; /* رنگ پس‌زمینه */
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important; /* یک سایه خیلی ملایم که هدر از محتوا جدا بشه */
    transition: all 0.3s ease;
}
.transition-all {
    transition: all 0.3s ease;
}

/* --- General Typography & Utilities --- */
.font-serif {
    font-family: Georgia, 'Times New Roman', Times, serif;
}
.tracking-widest-custom {
    letter-spacing: 0.2em;
}
.animate-pulse-custom {
    animation: pulse-animation 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-animation {
    0%, 100% { opacity: 1; }
    50% { opacity: .5; }
}

/* --- Teams Section --- */
.team-avatar-wrapper {
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    border: 1px solid rgba(198, 168, 124, 0.5); /* معادل تم */
    padding: 4px;
    overflow: hidden;
    transition: border-color 0.5s ease;
}
.team-avatar-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    opacity: 0.8;
    filter: grayscale(30%);
    transition: transform 0.7s ease, opacity 0.5s ease, filter 0.5s ease;
}
/* افکت هاور کارت تیم */
.team-card:hover .team-avatar-wrapper img {
    transform: scale(1.05);
    opacity: 1;
    filter: grayscale(0%);
}
.team-card:hover h3 {
    color: inherit !important; /* استفاده از رنگ داینامیک */
}
.team-name {
    font-size: 1.125rem;
    transition: color 0.3s ease;
}
.team-specialty {
    font-size: 9px;
    color: #adb5bd; /* text-gray-400 */
}

@media (min-width: 768px) {
    .team-avatar-wrapper {
        width: 8rem;
        height: 8rem;
    }
}

/* --- Location Section --- */
.divider-line {
    width: 5rem;
    height: 2px;
    background-color: #e9ecef;
    position: relative;
    overflow: hidden;
    margin: 1.5rem auto 0;
}
.divider-line-inner {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}
.location-content p {
    color: #495057; /* text-gray-700 */
    line-height: 1.625;
}
.map-container {
    border: 1px solid #dee2e6;
    background-color: #f8f9fa;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
    min-height: 350px;
    height: 100%;
}
.map-container iframe {
    width: 100%;
    height: 100%;
    min-height: 350px; /* برای موبایل */
}
@media (min-width: 992px) {
    .map-container iframe {
        min-height: 450px; /* برای دسکتاپ */
    }
}

.btn-custom {
    padding: 0.875rem 1.5rem;
    border-radius: 50rem; /* rounded-full */
    font-weight: 500;
    transition: opacity 0.3s ease, color 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
}
.btn-custom:hover {
    opacity: 0.8;
    color: #fff !important;
}

     /* استایل‌های اختصاصی بخش CTA */
 .cta-section {
     padding-top: 8rem; /* معادل py-32 در تایلویند */
     padding-bottom: 8rem;
     background-color: #111827; /* معادل bg-gray-900 */
 }

.cta-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.4;
    z-index: 1;
}

.cta-content {
    position: relative;
    z-index: 2;
    max-width: 56rem; /* معادل max-w-4xl */
    margin: 0 auto;
}

.cta-title {
    line-height: 1.2;
}

.cta-desc {
    color: #e5e7eb; /* معادل text-gray-200 */
    line-height: 1.625; /* معادل leading-relaxed */
}

.cta-btn {
    padding: 1rem 2.5rem; /* معادل px-10 py-4 */
    border-radius: 50rem; /* معادل rounded-full */
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* معادل shadow-lg */
    border: 2px solid transparent;
    display: inline-block;
}

.cta-btn-solid {
    color: #ffffff;
}

.cta-btn-solid:hover {
    opacity: 0.9;
    color: #ffffff;
}

.cta-footer-text {
    color: #d1d5db; /* معادل text-gray-300 */
    opacity: 0.8;
}