/**
 * Arya Tour Theme - Enhanced Main Stylesheet
 * - طراحی مدرن و حرفه‌ای با تمرکز بر تجربه کاربری
 * - بهینه‌سازی برای موبایل و دسکتاپ
 * - حذف کدهای اضافی و بهبود عملکرد
 */
/**
 * تعریف فونت‌های فارسی با پشتیبانی از اعداد فارسی (FaNum)
 * فایل‌ها در زیرپوشه‌های fonts/ (eot, woff, woff2, ttf) قرار دارند
 */

/* فونت IRANSansWeb (FaNum) */
@font-face {
    font-family: 'IRANSansWebFaNum';
    src: url('../fonts/eot/IRANSansWeb(FaNum).eot');
    src: url('../fonts/eot/IRANSansWeb(FaNum).eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/IRANSansWeb(FaNum).woff2') format('woff2'),
         url('../fonts/woff/IRANSansWeb(FaNum).woff') format('woff'),
         url('../fonts/ttf/IRANSansWeb(FaNum).ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANSansWebFaNum';
    src: url('../fonts/eot/IRANSansWeb(FaNum)_Black.eot');
    src: url('../fonts/eot/IRANSansWeb(FaNum)_Black.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/IRANSansWeb(FaNum)_Black.woff2') format('woff2'),
         url('../fonts/woff/IRANSansWeb(FaNum)_Black.woff') format('woff'),
         url('../fonts/ttf/IRANSansWeb(FaNum)_Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANSansWebFaNum';
    src: url('../fonts/eot/IRANSansWeb(FaNum)_Bold.eot');
    src: url('../fonts/eot/IRANSansWeb(FaNum)_Bold.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/IRANSansWeb(FaNum)_Bold.woff2') format('woff2'),
         url('../fonts/woff/IRANSansWeb(FaNum)_Bold.woff') format('woff'),
         url('../fonts/ttf/IRANSansWeb(FaNum)_Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANSansWebFaNum';
    src: url('../fonts/eot/IRANSansWeb(FaNum)_Light.eot');
    src: url('../fonts/eot/IRANSansWeb(FaNum)_Light.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/IRANSansWeb(FaNum)_Light.woff2') format('woff2'),
         url('../fonts/woff/IRANSansWeb(FaNum)_Light.woff') format('woff'),
         url('../fonts/ttf/IRANSansWeb(FaNum)_Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANSansWebFaNum';
    src: url('../fonts/eot/IRANSansWeb(FaNum)_Medium.eot');
    src: url('../fonts/eot/IRANSansWeb(FaNum)_Medium.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/IRANSansWeb(FaNum)_Medium.woff2') format('woff2'),
         url('../fonts/woff/IRANSansWeb(FaNum)_Medium.woff') format('woff'),
         url('../fonts/ttf/IRANSansWeb(FaNum)_Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANSansWebFaNum';
    src: url('../fonts/eot/IRANSansWeb(FaNum)_UltraLight.eot');
    src: url('../fonts/eot/IRANSansWeb(FaNum)_UltraLight.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/IRANSansWeb(FaNum)_UltraLight.woff2') format('woff2'),
         url('../fonts/woff/IRANSansWeb(FaNum)_UltraLight.woff') format('woff'),
         url('../fonts/ttf/IRANSansWeb(FaNum)_UltraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

/* فونت IranYekanWeb (FaNum) */
@font-face {
    font-family: 'IranYekanWebFaNum';
    src: url('../fonts/eot/iranyekanwebregularfanum.eot');
    src: url('../fonts/eot/iranyekanwebregularfanum.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/iranyekanwebregularfanum.woff2') format('woff2'),
         url('../fonts/woff/iranyekanwebregularfanum.woff') format('woff'),
         url('../fonts/ttf/iranyekanwebregularfanum.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IranYekanWebFaNum';
    src: url('../fonts/eot/iranyekanwebthinfanum.eot');
    src: url('../fonts/eot/iranyekanwebthinfanum.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/iranyekanwebthinfanum.woff2') format('woff2'),
         url('../fonts/woff/iranyekanwebthinfanum.woff') format('woff'),
         url('../fonts/ttf/iranyekanwebthinfanum.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IranYekanWebFaNum';
    src: url('../fonts/eot/iranyekanweblightfanum.eot');
    src: url('../fonts/eot/iranyekanweblightfanum.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/iranyekanweblightfanum.woff2') format('woff2'),
         url('../fonts/woff/iranyekanweblightfanum.woff') format('woff'),
         url('../fonts/ttf/iranyekanweblightfanum.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IranYekanWebFaNum';
    src: url('../fonts/eot/iranyekanwebmediumfanum.eot');
    src: url('../fonts/eot/iranyekanwebmediumfanum.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/iranyekanwebmediumfanum.woff2') format('woff2'),
         url('../fonts/woff/iranyekanwebmediumfanum.woff') format('woff'),
         url('../fonts/ttf/iranyekanwebmediumfanum.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IranYekanWebFaNum';
    src: url('../fonts/eot/iranyekanwebboldfanum.eot');
    src: url('../fonts/eot/iranyekanwebboldfanum.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/iranyekanwebboldfanum.woff2') format('woff2'),
         url('../fonts/woff/iranyekanwebboldfanum.woff') format('woff'),
         url('../fonts/ttf/iranyekanwebboldfanum.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IranYekanWebFaNum';
    src: url('../fonts/eot/iranyekanwebblackfanum.eot');
    src: url('../fonts/eot/iranyekanwebblackfanum.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/iranyekanwebblackfanum.woff2') format('woff2'),
         url('../fonts/woff/iranyekanwebblackfanum.woff') format('woff'),
         url('../fonts/ttf/iranyekanwebblackfanum.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IranYekanWebFaNum';
    src: url('../fonts/eot/iranyekanwebextrablackfanum.eot');
    src: url('../fonts/eot/iranyekanwebextrablackfanum.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/iranyekanwebextrablackfanum.woff2') format('woff2'),
         url('../fonts/woff/iranyekanwebextrablackfanum.woff') format('woff'),
         url('../fonts/ttf/iranyekanwebextrablackfanum.ttf') format('truetype');
    font-weight: 950;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IranYekanWebFaNum';
    src: url('../fonts/eot/iranyekanwebextraboldfanum.eot');
    src: url('../fonts/eot/iranyekanwebextraboldfanum.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/iranyekanwebextraboldfanum.woff2') format('woff2'),
         url('../fonts/woff/iranyekanwebextraboldfanum.woff') format('woff'),
         url('../fonts/ttf/iranyekanwebextraboldfanum.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
	font-family: Alibaba;
	font-style: normal;
	font-weight: 900;
    font-feature-settings: "ss01";
	src: url('../fonts/eot/Alibaba-Black.eot');
	src: url('../fonts/eot/Alibaba-Black.eot?#iefix') format('embedded-opentype'),
	url('../fonts/woff2/Alibaba-Black.woff2') format('woff2'),
	url('../fonts/woff/Alibaba-Black.woff') format('woff'),
	url('../fonts/ttf/Alibaba-Black.ttf') format('truetype');
}
@font-face {
	font-family: Alibaba;
	font-style: normal;
	font-weight: bold;
    font-feature-settings: "ss01";
	src: url('../fonts/eot/Alibaba-Bold.eot');
	src: url('../fonts/eot/Alibaba-Bold.eot?#iefix') format('embedded-opentype'),
	url('../fonts/woff2/Alibaba-Bold.woff2') format('woff2'),
	url('../fonts/woff/Alibaba-Bold.woff') format('woff'),
	url('../fonts/ttf/Alibaba-Bold.ttf') format('truetype');
}
@font-face {
	font-family: Alibaba;
	font-style: normal;
	font-weight: 300;
    font-feature-settings: "ss01";
	src: url('../fonts/eot/Alibaba-Light.eot');
	src: url('../fonts/eot/Alibaba-Light.eot?#iefix') format('embedded-opentype'),
	url('../fonts/woff2/Alibaba-Light.woff2') format('woff2'),
	url('../fonts/woff/Alibaba-Light.woff') format('woff'),
	url('../fonts/ttf/Alibaba-Light.ttf') format('truetype');
}
@font-face {
	font-family: Alibaba;
	font-style: normal;
	font-weight: normal;
    font-feature-settings: "ss01";
	src: url('../fonts/eot/Alibaba-Regular.eot');
	src: url('../fonts/eot/Alibaba-Regular.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/woff2/Alibaba-Regular.woff2') format('woff2'),
		 url('../fonts/woff/Alibaba-Regular.woff') format('woff'),
		 url('../fonts/ttf/Alibaba-Regular.ttf') format('truetype');
}


/* ===================================================================
   1. استایل‌های عمومی و متغیرها (پالت رنگ جدید)
   =================================================================== */
:root {
    --primary-color: #4cc1c6;     /* آبی آرام، مناسب برندینگ سفر */
    --secondary-color: #f7c75d;   /* نارنجی پرانرژی برای هاور و CTA */
    --accent-color: #26C485;      /* سبز نخلستانی برای هماهنگی */
    --dark-blue: #0F2D3F;         /* آبی نفتی شیک برای متن‌ها */
    --gray-footer: #e5e5e5;       /* خاکستری ملایم برای فوتر */
    --text-color: #212121;        /* رنگ متن اصلی */
    --text-light: #6C7A89;        /* خاکستری-آبی برای متن‌های کم‌اهمیت */
    --light-gray: #f5f6f5;        /* خاکستری روشن برای پس‌زمینه‌ها */
    --border-color: #D1E9F2;      /* رنگ لبه ملایم، در این نسخه استفاده نمی‌شود */
    --offer-color: #E74C3C;       /* قرمز برای تخفیف‌ها یا حالت هشدار */
    --tab-nav-color: #dcddde;     
    --white: #fff;                
    --white-rgb: 255, 255, 255;
    --font-family: 'Alibaba', 'IRANSansWebFaNum', -apple-system, BlinkMacSystemFont, sans-serif;
    --transition: all 0.3s ease;
}



*, *::before, *::after {
    box-sizing: border-box;
}

body {
    font-family: var(--font-family);
    direction: rtl;
    line-height: 1.6;
    color: var(--text-color);
    background-color: var(--white);
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 16px;
}

.bg-light {
    background-color: var(--light-gray);
}

.text-center {
    text-align: center;
}

.section-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark-blue);
    text-align: center;
    margin-bottom: 20px;
    position: relative;
}

.section-title::after {
    content: '';
    width: 60px;
    height: 3px;
    background: var(--primary-color);
    position: absolute;
    bottom: -8px;
    right: 50%;
    transform: translateX(50%);
}


/* ===================================================================
   2. هدر و فوتر
   =================================================================== */
/* هدر */
.site-header {
    background: var(--white);
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.header-top-bar {
    background: var(--primary-color);
    color: var(--white);
    font-size: 0.85rem;
    padding: 8px 0;
}

.top-bar-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-bar-links {
    display: flex;
    align-items: center;
    gap: 16px;
}

.top-bar-links svg {
    width: 14px;
    height: 14px;
    fill: var(--white);
    margin-left: 6px;
}

.top-bar-menu {
    display: flex;
    align-items: center; /* <<< برای تراز عمودی آیتم‌ها و جداکننده */
    list-style: none;
    margin: 0;
    padding: 0;
}

/* START: Style modification for top bar menu separator */
.top-bar-menu li:not(:last-child)::after {
    content: '|';
    margin: 0 12px;
    opacity: 0.6;
    color: var(--white);
}
/* END: Style modification */

.top-bar-menu a {
    color: var(--white);
    text-decoration: none;
    transition: var(--transition);
}

.top-bar-menu a:hover {
    color: var(--secondary-color);
}

/* ===================================================================
   اصلاح نهایی برای منوی بالای صفحه بر اساس ساختار HTML واقعی
   =================================================================== */

/* هدف‌گیری wrapper اصلی برای اطمینان از اعمال استایل فقط در این بخش */
.top-bar-menu-wrapper ul.menu {
    display: flex;         /* آیتم‌ها را در یک ردیف افقی قرار می‌دهد */
    align-items: center;   /* آیتم‌ها را از نظر عمودی تراز می‌کند */
    list-style: none;      /* نقطه‌های کنار لیست را حذف می‌کند */
    margin: 0;
    padding: 0;
    gap: 0;                /* مهم: حذف فاصله اضافی بین آیتم‌ها */
}

/* اضافه کردن جداکننده | بعد از هر آیتم، به جز آیتم آخر */
.top-bar-menu-wrapper ul.menu > li:not(:last-child)::after {
    content: '|';
    margin: 0 12px;      /* ایجاد فاصله 12 پیکسلی از طرفین جداکننده */
    color: var(--white);
    opacity: 0.5;        /* کمی شفاف‌تر کردن جداکننده برای زیبایی */
}

/* استایل لینک‌های داخل منو */
.top-bar-menu-wrapper ul.menu > li > a {
    color: var(--white);
    text-decoration: none;
    transition: var(--transition);
    font-size: 0.9rem; /* می‌توانید اندازه فونت را در صورت نیاز تنظیم کنید */
}

/* استایل هاور (رفتن ماوس روی لینک) */
.top-bar-menu-wrapper ul.menu > li > a:hover {
    color: var(--secondary-color);
}

.top-bar-menu-wrapper ul.menu > li > a {
    font-size: 1rem;
}
.header-top-bar{
        font-size: 1rem;

}
.header-main {
    padding: 12px 0;
}

.main-header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-branding img {
    max-height: 72px;
    transition: transform 0.3s ease;
    margin-right: 16px;
}
@media (max-width: 768px) {
    .site-branding img {
        max-height: 52px;
    }
}
.site-branding img:hover {
    transform: scale(1.05);
}

.site-branding-bag img {
    display: none;
}
/* فقط روی دسکتاپ و بزرگ‌تر نمایش داده بشه */
@media (min-width: 1024px) {
    .site-branding-bag img {
        display: none; 
        max-height: 120px;
        transition: transform 0.3s ease;
        margin-right: 16px;
        position: absolute;
        top: 28px;
        margin: auto -20px;
    }
}


.main-navigation {
    display: flex;
    align-items: center;
}

.main-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 7px;
}

.main-menu a {
    color: var(--dark-blue);
    text-decoration: none;
    font-weight: 500;
    font-size: 1rem;
    padding: 8px 12px; /* فاصله داخلی برای بکگراند */
    border-radius: 6px; /* گوشه‌های نرم */
    transition: all 0.3s ease; /* انتقال نرم برای رنگ و بکگراند */
}

.main-menu a:hover,
.main-menu .current-menu-item > a {
    color: var(--primary-color);
    background: rgba(255, 255, 255, 0.1); /* بکگراند نیمه شفاف */
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); /* سایه نرم برای جلوه 3D */
}


.iran-bg {
    position: absolute;
    bottom: -156px;
    z-index: -1;
}

.iran-bg img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* نسخه موبایل: جایگزینی تصویر */
@media (max-width: 768px) {
    .iran-bg {
        bottom: -144px; /* کمی بالاتر برای موبایل */
    }
    .iran-bg img {
        content: url('../../assets/images/bg-iran-mobile.png');
    }
    
    .top-bar-menu-wrapper ul.menu > li > a {
    font-size: 1rem;
    }
}


.header-right-side {
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 9999;
}

/* ========================================================== */
/* فرم جستجو */
/* ========================================================== */
.tour-search-form-section {
    padding: 16px 0;
    background: linear-gradient(
        5deg,
        rgba(0, 169, 206, 0.1) 0%,
        rgba(255, 196, 0, 0.1) 100%
    );
    box-shadow: inset 0px -2px 4px rgba(0, 0, 0, 0.05);
}

.tour-search-form {
    background: var(--white);
    padding: 12px;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
}

/* اینجا Grid روی wrapper */
.search-fields-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr auto; /* سه فیلد + دکمه */
    gap: 12px;
    align-items: center;
}

/* رسپانسیو برای موبایل */
@media (max-width: 768px) {
    .search-fields-wrapper {
        grid-template-columns: 1fr; /* در موبایل زیر هم */
    }
}

/* فیلدهای فرم */
.form-field {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 0 12px;
    background: var(--white);
    transition: var(--transition);
}

.form-field:hover {
    border-color: var(--primary-color);
}

.form-field svg {
    width: 16px;
    height: 16px;
    fill: var(--text-light);
}

.form-field select {
    border: none;
    outline: none;
    height: 44px;
    width: 100%;
    background: transparent;
    font-size: 0.9rem;
    color: var(--text-color);
    font-family: var(--font-family);
}

/* دکمه جستجو */
.btn.btn-primary {
    background: var(--primary-color);
    color: var(--white);
    border-radius: 8px;
    padding: 10px 20px;
    font-weight: 600;
    transition: var(--transition);
    font-family: var(--font-family);
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.btn.btn-primary:hover {
    background: var(--secondary-color);
    color: var(--dark-blue);
    transform: translateY(-2px);
}

.btn.btn-primary svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}


/* فوتر */
.site-footer {
    background: var(--gray-footer);
    color: #b0bec5;
    padding: 40px 0 0;
    font-size: 0.9rem;
}

.footer-widgets-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 32px;
}

.widget-title {
    color: var(--white);
    font-size: 1.1rem;
    margin-bottom: 16px;
    font-weight: 600;
}

.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column li {
    margin-bottom: 8px;
}

.footer-column a {
    color: #b0bec5;
    text-decoration: none;
    transition: var(--transition);
}

.footer-column a:hover {
    color: var(--secondary-color);
}

.footer-bottom-bar {
    background: #76949f; /* A darker shade of dark-blue */
    padding: 16px 0;
    text-align: center;
    font-size: 0.85rem;
}

#back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: var(--secondary-color);
    color: var(--white);
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    transition: var(--transition);
}

#back-to-top:hover {
    background: var(--primary-color); /* A darker shade of secondary for hover */
    transform: scale(1.1);
}

/* ===================================================================
   3. کامپوننت‌های عمومی
   =================================================================== */
/* دکمه‌ها */
.btn {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 8px;
    text-align: center;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition);
}

.btn-secondary {
    background: var(--light-gray);
    color: var(--text-color);
}

.btn-secondary:hover {
    background: #e0e0e0;
    transform: translateY(-2px);
}

.btn-block {
    display: block;
    width: 100%;
}

/* کارت تور */
.tours-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

.tour-card {
    background: var(--white);
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: var(--transition);
}
/* رسپانسیو برای موبایل */
@media (max-width: 768px) {
.tour-card {
    background: var(--white);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}
}

.tour-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.card-image-container {
    position: relative;
}

.card-image-container img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.tour-card:hover .card-image-container img {
    transform: scale(1.05);
}

.special-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--secondary-color);
    color: var(--white);
    padding: 6px 12px;
    border-radius: 16px;
    font-size: 0.8rem;
    font-weight: 600;
}

.card-content {
    padding: 16px;
}

.card-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0 0 12px;
}

.card-title a {
    color: var(--dark-blue);
    text-decoration: none;
}

.card-title a:hover {
    color: var(--primary-color);
}

.card-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
    color: var(--text-light);
}

.card-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.card-meta svg {
    width: 16px;
    height: 16px;
}

.capacity-status-badge {
    padding: 4px 10px;
    border-radius: 16px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--white);
}

.status-موجود {
    background: var(--accent-color);
}

.status-محدود {
    background: var(--secondary-color); /* A shade of orange for limited status */
    color: var(--dark-blue) !important;

}

.status-تکمیل {
    background: var(--offer-color); /* Using the new offer color */
}

.card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-top: 1px solid var(--border-color);
}

.price-wrapper .price-label {
    font-size: 0.8rem;
    color: var(--text-light);
}

.price-wrapper .price-amount {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--accent-color);
}

/* جدول لیست تورها */
/* ===================================================================
   تب‌های لیست تورها (نسخه بازطراحی شده با آیکون و وسط‌چین)
   =================================================================== */

.tour-list-container {
    background: var(--white);
    /* border-radius: 0px 0px 10px 10px; */
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.tour-tabs-nav {
    display: flex;
    justify-content: center; /* <<< مهم: برای وسط‌چین کردن تب‌ها */
    list-style: none;
    padding: 7px 16px;
    margin: 0;
    background: var(--tab-nav-color);
    border-bottom: 1px solid var(--border-color);
    flex-wrap: wrap; /* اجازه می‌دهد تب‌ها در موبایل زیر هم بروند */
    /* border-radius: 10px 10px 0px 0px; */
}

ul.tour-tabs-nav.main-tour-tabs {
    border-radius: 10px 10px 0px 0px;
}

.tour-tabs-nav li {
    margin: 5px; /* ایجاد فاصله کوچک بین تب‌ها */
}

.tour-tabs-nav a {
    display: flex;
    align-items: center;
    gap: 8px; /* فاصله بین آیکون و متن */
    padding: 10px 14px;
    text-decoration: none;
    color: var(--text-light); /* رنگ متن در حالت عادی */
    font-weight: 500;
    /* font-size: 12px; */
    position: relative;
    border-radius: 10px; /* کپسولی کردن دکمه‌ها */
    background: var(--white);
    border: 1px solid var(--border-color);
    transition: all 0.3s ease;
}

.tour-tabs-nav a svg {
    width: 20px;
    height: 20px;
    fill: currentColor; /* آیکون همیشه رنگ متن را می‌گیرد */
    transition: transform 0.3s ease;
}

.tour-tabs-nav a:hover {
    color: var(--dark-blue);
    border-color: var(--dark-blue);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.tour-tabs-nav a.active {
    background: var(--secondary-color);
    color: var(--dark-blue);
    font-weight: 600;
    border-color: var(--light-gray);
}

.tour-tabs-nav a.active:hover {
    transform: none; /* افکت هاور روی دکمه فعال غیرفعال می‌شود */
}

.tour-tabs-nav a.active svg {
    transform: scale(1.1);
}

/* حذف خط زیر تب فعال (دیگر نیازی به آن نیست) */
.tour-tabs-nav a.active::after {
    display: none;
}

.tour-tab-pane {
    display: none;
}

.tour-tab-pane.active {
    display: block;
}

.tour-list-table-wrapper {
    overflow-x: auto;
}

.tour-list-table {
    width: 100%;
    border-collapse: collapse;
    position: relative;
}

.tour-list-table th,
.tour-list-table td {
    padding: 12px;
    text-align: right;
    border-bottom: 1px solid var(--border-color);
}

.tour-list-table thead {
    background: var(--light-gray);
}

.tour-list-table tbody tr:hover {
    background: #e3f2fd;
}

.capacity-status {
    padding: 4px 10px;
    border-radius: 16px;
    font-size: 0.75rem;
    color: var(--white);
}

h2.tour-category-heading {
    text-align: center;
}
/* ===================================================================
   4. صفحه اصلی
   =================================================================== */
.home-hero-v2 {
    padding: 22px 0;
    background: var(--white);
}

.hero-main-slider-v2 {
    border-radius: 10px;
    overflow: hidden;
    height: 456px;
    position: relative;
}

.hero-main-slider-v2 .slide-background {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.hero-main-slider-v2 .swiper-slide-active .slide-background {
    transform: scale(1.02);
}

.hero-main-slider-v2 .slide-content {
    position: absolute;
    bottom: 24px;
    right: 24px;
    color: var(--white);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    max-width: 50%;
}

.hero-main-slider-v2 .slide-tag {
    background: var(--primary-color);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 600;
}

.hero-main-slider-v2 h2 {
    font-size: 2.2rem;
    margin: 8px 0;
    font-weight: 700;
}

.hero-main-slider-v2 p {
    font-size: 1rem;
    margin: 0;
}

.hero-main-slider-v2 .swiper-pagination-bullet-active {
    background: var(--white);
}

.hero-main-slider-v2 .swiper-button-next,
.hero-main-slider-v2 .swiper-button-prev {
    color: rgba(var(--white-rgb), 0.3);
    /* background: rgba(0, 0, 0, 0.3); */
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.hero-main-slider-v2 .swiper-button-next:hover,
.hero-main-slider-v2 .swiper-button-prev:hover {
    /* background: rgba(0, 0, 0, 0.5); */
    color: rgba(var(--white-rgb), 0.7);
}

/* --- بخش آمار --- */
.stats-bar-section { /*padding: 40px 0;*/ margin-top: -35px; position: relative; z-index: 10; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; width: fit-content; margin: 0 auto; }
.stat-item { padding: 25px; border-radius: 8px; text-align: center; background-color: rgba(255,255,255,0.3); backdrop-filter: blur(5px); border: 1px solid rgba(0,0,0,0.05); color: #444; }
.stat-item .number { font-size: 2.2rem; font-weight: bold; display: block; margin-bottom: 5px; }
.stat-item .label { font-size: 0.9rem; }

.stats-bar-section {
  position: relative;
  /* padding-bottom: 50px;  */
}

.flight-path-wrapper {
  position: absolute;
  /* top: 75px; */
  top: 205px;
  left: -35px;

  width: 1208px;
  height: 150px;
  pointer-events: none;
  z-index: 0;
  margin: 0 auto;
  overflow: hidden; /* مهم: محتوا رو درون خودش نگه‌می‌داره */
}


.flight-path-wrapper::before,
.flight-path-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100px; /* عرض ناحیه فید */
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.flight-path-wrapper::before {
  left: 0;
  background: linear-gradient(to right, #fff 0%, transparent 100%);
}

.flight-path-wrapper::after {
  right: 0;
  background: linear-gradient(to left, #fff 0%, transparent 100%);
}


.flight-path {
  width: 100%;
  height: 100%;
}

.flight-path.mobile {
  display: none;
}

@media (max-width: 768px) {
    .flight-path-wrapper {
    position: absolute;
    top: auto;
    bottom: -80px;
    left: 0;
    width: 100%;
    height: 150px;
    pointer-events: none;
    z-index: 0;
    margin: 0 auto;
    }
        
  .flight-path.desktop {
    display: none;
  }
  .flight-path.mobile {
    display: block;
  }
  .step-inner h4{
    font-size: 16px !important;
  }
}


/* لایه اصلی: گرادینت بالا و پایین */
.stats-bar-section,
.home-hero-v2 {
  position: relative;
  z-index: 0;
  /* دیگه نیازی به background توی المنت اصلی نیست */
}

/* فقط ::before شامل هم پترن و هم گرادینت بالا و پایین */
/* .stats-bar-section::before,
.home-hero-v2::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;

  background-image:
    linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,0) 60%),
    linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,0) 60%),
    url('/wp-content/themes/arya-tour/assets/images/bg-pattern.png');
    
  background-repeat: no-repeat, no-repeat, repeat;
  //background-size: 100% 120px, 100% 80px, 200px;
  background-position: top, bottom, center;
  opacity: 0.5; 
} */




/* ===================================================================
   کارت‌های دسته‌بندی صفحه اصلی (نسخه بازطراحی شده و شیک)
   =================================================================== */

.hero-category-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* کمی عرض حداقل را بیشتر می‌کنیم */
    gap: 20px; /* فاصله بیشتر */
    margin-top: 25px;
}

.category-card {
    text-decoration: none;
    display: block;
    position: relative; /* برای جای‌گذاری عنوان */
    border-radius: 12px; /* گوشه‌های گردتر */
    overflow: hidden; /* برای اینکه تصویر و عنوان از کادر بیرون نزنند */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.category-card .card-image-wrapper {
    /* این دیگر نیازی به استایل خاصی ندارد، چون والد آن (a.category-card) کادر را مدیریت می‌کند */
}

.category-card img {
    width: 100%;
    height: 250px; /* ارتفاع را بیشتر می‌کنیم تا جذاب‌تر شود */
    object-fit: cover;
    display: block; /* برای حذف فضای خالی احتمالی زیر تصویر */
    transition: transform 0.4s ease;
}

.category-card:hover img {
    transform: scale(1.08); /* افکت زوم هنگام هاور */
}

/* این بخش کاملا جدید است */
.category-card .card-title {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    padding: 20px 15px;
    margin: 0;
    
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--white);
    
    /* ایجاد یک پس‌زمینه گرادینت برای خوانایی بهتر متن */
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    
    /* انیمیشن برای افکت هاور */
    transition: transform 0.3s ease;
}

.category-card:hover .card-title {
    transform: translateY(-5px); /* عنوان هنگام هاور کمی به بالا حرکت می‌کند */
}

.upcoming-tours-section,
.latest-blog-section {
    padding: 28px 0;
    /* border-radius: 8px; */
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 32px;
}

.blog-post-card {
    background: var(--white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.06);
    transition: var(--transition);
}

.blog-post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.1);
}

.blog-post-card .card-image-link img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.blog-post-card .card-content {
    padding: 16px;
}

.blog-post-card .card-title {
    font-size: 1.0rem;
    margin-bottom: 8px;
}

.about-us-section {
    position: relative;
    padding: 64px 0;
    background-size: cover;
    background-position: center;
}

.about-us-section .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: linear-gradient(135deg, rgb(76 193 198 / 83%) 0%, rgb(247 199 93 / 83%) 100%);  */
    background: linear-gradient(135deg, rgb(34 33 91 / 44%) 0%, rgb(76 193 198 / 79%) 100%); /* Adjusted to new dark-blue */
}

.about-us-section .content-on-top {
    position: relative;
    z-index: 2;
    color: var(--white);
    max-width: 980px;
    margin: 0 auto;

}

.about-title {
    padding-left: 20px;
    padding-right: 20px;
}
.about-text {
    text-align: justify;
    font-weight: 200;
    padding-left: 20px;
    padding-right: 20px;
}

.about-us-section ul {
    list-style: none;
    padding: 0;
}

.about-us-section li {
    padding: 8px 24px 8px 0;
    position: relative;
    font-size: 1rem;
}

.about-us-section li::before {
    content: '✔';
    color: var(--secondary-color);
    position: absolute;
    right: 0;
    top: 8px;
}

/* ===================================================================
   5. صفحات آرشیو
   =================================================================== */
.archive-header {
    margin-top: 16px;
    margin-bottom: 32px;
}

.archive-banner {
    height: 280px;
    background-size: cover;
    background-position: center;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    position: relative;
    overflow: hidden;
}

.archive-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
}

.archive-banner h1 {
    background: rgba(0, 0, 0, 0.5);
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 2rem;
    z-index: 1;
}

.view-switcher {
    display: flex;
    justify-content: center;
    gap: 8px;
    background: var(--light-gray);
    padding: 8px;
    border-radius: 8px;
    width: fit-content;
    margin: 10px auto 24px;
}

.view-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1px solid var(--border-color);
    background: var(--white);
    color: var(--text-color);
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: var(--transition);
    font-family: var(--font-family);
}

.view-btn:hover {
    background: #e8ecef;
}

.view-btn.active {
    background: var(--primary-color);
    color: var(--white);
    border-color: var(--primary-color);
}

.view-btn.active svg {
    stroke: var(--white);
}

.view-container {
    display: none;
}

.view-container.active {
    display: block;
}

.pagination {
    margin-top: 40px;
    text-align: center;
}

/* ===================================================================
   6. صفحه داخلی تور
   =================================================================== */
.single-tour-page{
    max-width: 1270px;
    margin: 0 auto;
    padding-top: 15px;
}
   
.tour-section {
    padding-right: 15px;
    padding-left: 15px;
}
.concurrent-tours-grid {
  padding-bottom: 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem; /* فاصله بین کارت‌ها */
}
.single-tour-page.style-v2 .tour-hero-header {
    position: relative;
    height: 400px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    padding: 32px 0;
    color: var(--white);
    border-radius: 15px !important;
        margin-right: 15px;
        margin-left: 15px;
}

.single-tour-page.style-v2 .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgb(0 0 0 / 33%) 0%, transparent 60%);
    border-radius: 15px;
}

.single-tour-page.style-v2 .tour-hero-header .container {
    position: relative;
    z-index: 2;
}

.single-tour-page.style-v2 .tour-hero-header h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.single-tour-page.style-v2 .tour-meta-header {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 0.9rem;
}

.single-tour-page.style-v2 .tour-meta-header svg {
    width: 16px;
    height: 16px;
    fill: var(--white);
    margin-left: 6px;
}

.single-tour-page.style-v2 .tour-main-content-wrapper {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px;
    padding: 40px 0;
}

.single-tour-page.style-v2 .sidebar-box {
    background: var(--white);
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.single-tour-page.style-v2 .sticky-sidebar {
    position: sticky;
    top: 155px;
}

.single-tour-page.style-v2 .price-box {
    text-align: right;
    margin-bottom: 16px;
}

.single-tour-page.style-v2 .price-from {
    font-size: 0.9rem;
    color: var(--text-light);
}

.single-tour-page.style-v2 .price-amount {
    font-size: 2rem;
    font-weight: 700;
    color: var(--accent-color);
}

.single-tour-page.style-v2 .tour-dates {
    font-size: 0.9rem;
    margin-bottom: 16px;
    color: var(--text-light);
}

.single-tour-page.style-v2 .sidebar-highlights {
    list-style: none;
    padding: 16px 0 0;
    margin: 16px 0 0;
    border-top: 1px solid var(--border-color);
}

.single-tour-page.style-v2 .sidebar-highlights li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
    font-size: 0.9rem;
}

.single-tour-page.style-v2 .sidebar-highlights svg {
    width: 20px;
    height: 20px;
    fill: var(--primary-color);
}

.single-tour-page.style-v2 .sidebar-highlights strong {
    color: var(--dark-blue);
    font-weight: 600;
}

.single-tour-page.style-v2 .sidebar-highlights span {
    color: var(--text-light);
}

.single-tour-page.style-v2 .content-box {
    background: var(--white);
    padding: 0px 20px 20px 20px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    line-height: 1.7;
    margin-top: 0px !important;
}

p {
    margin-block-start: 0em;
    /* margin-block-end: 0em; */
}
.single-tour-page.style-v2 .gallery-grid-v2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.single-tour-page.style-v2 .gallery-grid-v2 img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.single-tour-page.style-v2 .gallery-grid-v2 img:hover {
    transform: scale(1.05);
}

.single-tour-page.style-v2 .itinerary-accordion .accordion-item {
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 8px;
}

.single-tour-page.style-v2 .accordion-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 0;
    cursor: pointer;
    background: none;
    border: none;
    text-align: right;
    width: 100%;
    font-family: var(--font-family);
}

.single-tour-page.style-v2 .accordion-header .day-indicator {
    font-weight: 600;
    color: var(--primary-color);
}

.single-tour-page.style-v2 .accordion-header .day-title {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--dark-blue);
    flex-grow: 1;
}

.single-tour-page.style-v2 .accordion-header .accordion-icon {
    width: 12px;
    height: 12px;
    border-left: 2px solid var(--text-color);
    border-bottom: 2px solid var(--text-color);
    transform: rotate(-45deg);
    transition: transform 0.3s ease;
}

.single-tour-page.style-v2 .accordion-item.is-active .accordion-header .accordion-icon {
    transform: rotate(135deg);
}

.single-tour-page.style-v2 .accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
}

.single-tour-page.style-v2 .accordion-content .day-description {
    padding: 0 0 20px;
    line-height: 1.7;
    color: var(--text-light);
}

.single-tour-page.style-v2 .items-needed-wrapper-v2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.single-tour-page.style-v2 .items-column h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--dark-blue);
    margin-bottom: 12px;
}

.single-tour-page.style-v2 .items-column h4 svg {
    width: 20px;
    height: 20px;
    fill: var(--primary-color);
}

.single-tour-page.style-v2 .items-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.single-tour-page.style-v2 .items-tags .tag {
    background: var(--light-gray);
    border: 1px solid var(--border-color);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.85rem;
    color: var(--text-color);
    transition: var(--transition);
}

.single-tour-page.style-v2 .items-tags .tag:hover {
    background: var(--primary-color);
    color: var(--white);
    border-color: var(--primary-color);
}


/* حالت دسکتاپ */
.single-tour-page.style-v2 .info-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 16px;
}

.single-tour-page.style-v2 .info-table th,
.single-tour-page.style-v2 .info-table td {
    padding: 12px;
    text-align: right;
    border: 1px solid var(--border-color);
}

.single-tour-page.style-v2 .info-table th {
    background: var(--dark-blue);
    color: var(--white);
    font-weight: 600;
}

.single-tour-page.style-v2 .info-table tbody tr:nth-child(even) {
    background: var(--light-gray);
}

/* ----------------------------- */
/*        حالت موبایل (کارت کارت)         */
/* ----------------------------- */
@media (max-width: 768px) {
    .single-tour-page.style-v2 .info-table,
    .single-tour-page.style-v2 .info-table thead,
    .single-tour-page.style-v2 .info-table tbody,
    .single-tour-page.style-v2 .info-table th,
    .single-tour-page.style-v2 .info-table td,
    .single-tour-page.style-v2 .info-table tr {
        display: block;
    }

    /* مخفی کردن هدینگ اصلی جدول */
    .single-tour-page.style-v2 .info-table thead {
        display: none;
    }

    .single-tour-page.style-v2 .info-table tr {
        margin-bottom: 16px;
        border: 1px solid var(--border-color);
        border-radius: 8px;
        padding: 12px;
        background: #fff;
    }

    .single-tour-page.style-v2 .info-table td {
        border: none;
        padding: 8px 0;
        position: relative;
        padding-right: 110px; /* جای عنوان */
        white-space: normal;
    }

    /* عنوان هر سلول در موبایل */
    .single-tour-page.style-v2 .info-table td::before {
        content: attr(data-label);
        position: absolute;
        right: 0;
        top: 8px;
        font-weight: bold;
        color: var(--dark-blue);
    }
}


.single-tour-page.style-v2 .tour-map-section .map-container {
    width: 100%;
    max-width: 775px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.single-tour-page.style-v2 .tour-map-section .map-container img {
    width: 100%;
    height: auto;
    display: block;
}


.single-tour-page.style-v2 .tour-map-section iframe {
    width: 100%;
    height: 360px;
    border: none;
}

.single-tour-page.style-v2 .related-tours-section,
.single-tour-page.style-v2 .concurrent-tours-section {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--border-color);
}

.single-tour-page.style-v2 .other-runs-table {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.single-tour-page.style-v2 .run-item a {
    display: grid;
    grid-template-columns: 3fr 1fr auto;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
    background: var(--light-gray);
    border-radius: 8px;
    text-decoration: none;
    color: var(--text-color);
    transition: var(--transition);
}

.single-tour-page.style-v2 .run-item a:hover {
    background: #e3f2fd;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.06);
}

.single-tour-page.style-v2 .run-title {
    font-weight: 500;
}

.single-tour-page.style-v2 .run-date {
    font-size: 0.9rem;
    color: var(--text-light);
}

.single-tour-page.style-v2 .run-status {
    padding: 4px 12px;
    border-radius: 16px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--white);
}

/* ===================================================================
   7. استایل‌های ریسپانسیو
   =================================================================== */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
}

.mobile-menu-toggle span {
    display: block;
    width: 24px;
    height: 3px;
    background: var(--dark-blue);
    margin: 5px 0;
    transition: var(--transition);
}

.mobile-menu-toggle.is-active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.mobile-menu-toggle.is-active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.is-active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

@media (max-width: 992px) {
    .mobile-menu-toggle {
        display: block;
    }

    .main-navigation {
        display: none;
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(8px);
        z-index: 1000;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        transform: translateX(100%);
        transition: transform 0.4s ease-in-out;
    }

    .main-navigation.is-active {
        display: flex;
        transform: translateX(0);
    }

    .main-menu {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }

    .main-menu a {
        font-size: 1.8rem;
        font-weight: 600;
        padding: 12px;
    }

    .top-bar-menu,
    .header-social {
        display: none;
    }

    .top-bar-menu,
    .header-social {
        display: none; /* <<< این خط مهم است */
    }

    .tour-search-form {
        grid-template-columns: 1fr;
    }

    .single-tour-page.style-v2 .tour-main-content-wrapper {
        grid-template-columns: 1fr;
    }

    .sticky-sidebar {
        position: static;
        margin-top: 24px;
    }

    .stats-bar-section { margin-top: 30px; }
    .stats-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); width: 100%; }

    .footer-widgets-grid {
        grid-template-columns: 1fr 1fr;
    }

    .blog-grid {
        grid-template-columns: 1fr;
    }

    .hero-main-slider-v2 {
        height: 360px;
    }
    
    .single-tour-page.style-v2 .tour-hero-header {
        height: 280px;
    }    
}

@media (max-width: 768px) {

    .container {
        padding: 0 12px;
    }

    .home-hero-v2 > .container {
        padding: 0;
    }

    .section-title,
    .single-tour-page.style-v2 .tour-hero-header h1 {
        font-size: 1.8rem;
    }

    .archive-banner h1 {
        font-size: 1.6rem;
    }

    .footer-widgets-grid {
        grid-template-columns: 1fr;
    }

    .items-needed-wrapper-v2 {
        grid-template-columns: 1fr;
    }

    .run-item a {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 8px;
    }

    .run-date,
    .run-status {
        justify-content: center;
    }

    .tour-search-form-section {
        padding: 12px 0;
        display: none;
    }

    .tour-search-form {
        grid-template-columns: 1fr;
        padding: 8px;
    }

    .hero-main-slider-v2 {
        height: 320px;
        border-radius: 0;
    }

    .hero-main-slider-v2 .slide-content {
        bottom: 16px;
        right: 16px;
        max-width: 80%;
    }

    .hero-main-slider-v2 h2 {
        font-size: 1.8rem;
    }

    .hero-category-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 0 12px;
    }

    .single-tour-page.style-v2 .tour-hero-header {
        height: 280px;
    }

    .single-tour-page.style-v2 .tour-hero-header h1 {
        font-size: 2rem;
    }

    .single-tour-page.style-v2 .gallery-grid-v2 {
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        margin-bottom: 15px;
    }

    .single-tour-page.style-v2 .tour-map-section iframe {
        height: 280px;
    }

    .swiper {
        margin-left: 15px !important;
        margin-right: 15px !important;
        border-radius: 15px !important;
    }

    .tour-tabs-nav {
        /* مهم: جلوگیری از شکستن خط و فعال کردن اسکرول افقی */
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: right; /* <<< مهم: برای وسط‌چین کردن تب‌ها */

        /* مهم: برای اینکه اسکرول در iOS روان باشد */
        -webkit-overflow-scrolling: touch;

        /* مهم: برای زیبایی بیشتر، خود نوار اسکرول را پنهان می‌کنیم */
        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;  /* Firefox */
    }

    /* پنهان کردن نوار اسکرول در مرورگرهای Webkit (Chrome, Safari) */
    .tour-tabs-nav::-webkit-scrollbar {
        display: none;
    }

    /* جلوگیری از کوچک شدن بیش از حد آیتم‌ها */
    .tour-tabs-nav li {
        flex-shrink: 0;
    }

    

}

@media (max-width: 480px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }

    .tour-tabs-nav a {
        padding: 8px 16px;
        font-size: 0.9rem;
    }

    .top-bar-links span:not(.seperator) {
        display: none;
    }

    .top-bar-content {
        justify-content: center;
    }

    .hero-category-cards {
        grid-template-columns: 1fr;
    }

    .hero-main-slider-v2 h2 {
        font-size: 1.5rem;
    }

    .category-card img {
        height: 100px;
    }
}


@media (max-width: 1024px) {
  .concurrent-tours-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .concurrent-tours-grid {
    grid-template-columns: 1fr;
  }
}















/* .singlepage{
    height: 300px !important;
} */


.content-area {
    display: flex;
    gap: 30px;
    margin-top: 20px;
    margin-bottom: 40px;
}
.content-area.full-width {
    display: block;
}
.content-area.full-width .main-content {
    width: 100%;
}
.main-content {
    flex: 1;
    background: #fff;
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.sidebar-area {
    width: 320px;
}
.sidebar-widgets .widget {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}







/* ========================================= */
/* استایل کارت‌های تور جدید (Tour Packages) */
/* ========================================= */

.tour-package-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.tour-item.style-2 {
    background-color: #f7f7f7;
    border-radius: 16px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.tour-item.style-2:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.tour-item.style-2 .tour-image {
    position: relative;
    width: 100%;
    padding-top: 66.66%; /* نسبت تصویر 2:3 */
    overflow: hidden;
}

.tour-item.style-2 .tour-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    border-radius: 16px 16px 0 0; /* گوشه‌های گرد برای بالای تصویر */
}

.tour-item.style-2:hover .tour-image img {
    transform: scale(1.05);
}

.tour-item.style-2 .tour-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}

.tour-item.style-2 .tour-badge {
    position: absolute;
    bottom: 15px;
    right: 15px;
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 6px 15px;
    border-radius: 25px;
    font-size: 14px;
    z-index: 10;
    font-weight: 500;
}

.tour-item.style-2 .tour-content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    color: #333;
}

.tour-item.style-2 .tour-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 15px;
}

.tour-item.style-2 .tour-title a {
    color: #222;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tour-item.style-2 .tour-title a:hover {
    color: #ff5722; /* رنگ اصلی نارنجی */
}

.tour-details-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
    border-top: 1px solid #eee;
    padding-top: 15px;
}

.tour-details-list li {
    font-size: 15px;
    color: #555;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.tour-details-list li i {
    font-size: 17px;
    color: #ff5722; /* رنگ اصلی نارنجی */
    width: 25px;
    text-align: center;
}

.tour-details-list li span {
    flex: 1;
    font-weight: 400;
}

.tour-price-box {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: auto;
    border-top: 1px solid #eee;
    padding-top: 20px;
}

.tour-price-box .price-label {
    font-size: 15px;
    color: #777;
}

.tour-price-box .tour-price {
    font-size: 26px;
    font-weight: 800;
    color: #222;
    direction: ltr; /* برای نمایش صحیح قیمت */
}

.tour-price-box .tour-price::before {
    content: "تومان";
    font-size: 16px;
    font-weight: 400;
    margin-right: 5px;
}

.button.primary-button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 14px;
    background-color: #ff5722;
    color: #fff;
    border-radius: 12px;
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.2s ease;
    font-weight: bold;
    font-size: 16px;
}

.button.primary-button:hover {
    background-color: #e64a19;
    transform: translateY(-2px);
}

/* ========================================= */
/* استایل پاپ‌آپ جدید */
/* ========================================= */

.mfp-bg {
    z-index: 1042;
}

.tour-popup-container {
    padding: 30px;
    background-color: #fff;
    border-radius: 16px;
    max-width: 550px;
    position: relative; /* برای دکمه بستن */
}

.tour-popup-container .popup-header {
    border-bottom: 2px solid var(--secondary-color);
    padding-bottom: 15px;
    margin-bottom: 25px;
}

.tour-popup-container h3 {
    margin: 0;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}

.tour-booking-form .form-group {
    margin-bottom: 20px;
}

.tour-booking-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #444;
}

.tour-booking-form input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 15px;
    transition: border-color 0.3s ease;
}

.tour-booking-form input:focus {
    outline: none;
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 3px rgba(255, 251, 34, 0.2);
}

.tour-booking-form button.secondary-button {
    width: 100%;
    padding: 15px;
    background-color: var(--secondary-color);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
    font-weight: bold;
}

.tour-booking-form button.secondary-button:hover {
    background-color: var(--primary-color);
    transform: translateY(-2px);
}

/* RTL adjustments */
body.rtl .tour-details-list li i {
    margin-left: 10px;
    margin-right: 0;
}

body.rtl .tour-price-box {
    justify-content: flex-start;
}

body.rtl .tour-price-box .price-label {
    margin-right: 5px;
    margin-left: 0;
}


/* Custom CSS for new tour card style */
.tour-card-flex {
    display: flex;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    overflow: hidden;
    margin-bottom: 20px; /* اضافه شده برای فاصله بین کارت‌ها */
}

.tour-card-flex .tour-section {
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.tour-card-flex .tour-section + .tour-section {
    border-right: 1px dashed #ddd;
}

.tour-card-flex .section-image {
    flex: 1.2;
    padding: 0;
}
.tour-card-flex .section-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.tour-card-flex .section-info {
    flex: 1;
}
.tour-card-flex .tour-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
}
.tour-card-flex .meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
    color: #444;
}
.tour-card-flex .meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}
.tour-card-flex .section-price {
    flex: 0.8;
    text-align: center;
}
.tour-card-flex .price {
    font-size: 18px;
    font-weight: bold;
    color: #000;
}
.tour-card-flex .price span {
    font-size: 13px;
    font-weight: normal;
    color: #777;
}
.tour-card-flex .info-text {
    font-size: 13px;
    color: #666;
    margin-top: 5px;
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: center;
}
.tour-card-flex .logo {
    margin-top: 10px;
}
.tour-card-flex .logo img {
    width: 30px;
    height: 30px;
}
.tour-card-flex .btn {
    display: inline-block;
    background: #d63384;
    color: #fff;
    text-align: center;
    padding: 8px 20px;
    border-radius: 25px;
    font-size: 14px;
    text-decoration: none;
    margin-top: 15px;
}
.tour-card-flex .btn:hover {
    background: #a9266a;
}

/* Media Queries for Responsiveness */
@media (max-width: 900px) {
    .tour-card-flex {
        flex-direction: column;
    }
    .tour-card-flex .tour-section + .tour-section {
        border-right: none;
        border-top: 1px dashed #ddd;
    }
    .tour-card-flex .section-image {
        height: 200px;
    }
}


/* Custom CSS for the new card style */
.tour-card-package {
    background-color: #ffffff;
    border-radius: 16px;
    /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); */
    display: flex;
    align-items: stretch;
    /* max-width: 900px; */
    width: 100%;
    border: 1px solid #e8e8e8;
    position: relative;
    margin-bottom: 20px;
}

/* --- Right Section (Image) --- */
.card-image {
    width: 30%;
    padding: 20px;
}

.image-container {
    width: 100%;
    height: 100%;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
}

.image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.image-container:hover img {
    transform: scale(1.05);
}

.special-offer-banner, .podcast-banner {
    position: absolute;
    color: white;
    padding: 5px 12px;
    font-size: 0.8rem;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 5px;
    z-index: 1;
}

.special-offer-banner {
    background-color: #c02a90;
    top: 10px;
    left: 10px;
}

.special-offer-banner svg { width: 16px; height: 16px; fill: white; }

.podcast-banner {
    background-color: rgba(0, 0, 0, 0.6);
    bottom: 10px;
    right: 10px;
    backdrop-filter: blur(2px);
}
.podcast-banner svg { width: 16px; height: 16px; fill: white; }

/* --- Middle Section (Details) --- */
.card-details {
    width: 40%;
    padding: 25px;
    /* display: flex; */
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    position: relative;
}

/* The Dashed Divider Lines */
.card-details::before, .card-details::after {
    content: '';
    position: absolute;
    top: 25px;
    bottom: 25px;
    border-left: 2px dashed #e8e8e8;
    z-index: 1;
}
.card-details::before { right: 0; }
.card-details::after { left: 0; }

/* Cutouts */
.top-cutout, .bottom-cutout {
    content: '';
    position: absolute;
    width: 24px;
    height: 24px;
    background-color: #fff;
    border-radius: 50%;
    z-index: 2;
    border: 2px solid #e8e8e8;
    box-sizing: border-box;
}

.top-cutout { top: -13px; 
    border-right: none;
    border-left: none;
    border-top: none;
}
.bottom-cutout { bottom: -13px; 
    border-right: none;
    border-left: none;
    border-bottom: none;
}

.left-divider .top-cutout, .left-divider .bottom-cutout { left: 0; transform: translateX(-50%); }
.right-divider .top-cutout, .right-divider .bottom-cutout { right: 0; transform: translateX(50%); }

.logo-container {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 3;
    border: 1px solid #e8e8e8;
}

.logo-container img { max-width: 32px; max-height: 32px; }
.logo-container svg { width: 28px; height: 28px; fill: #666; }

.static-label {
    position: absolute;
    left: 0;
    top: calc(50% + 40px);
    transform: translateX(-50%);
    background-color: #fff;
    border: 1px solid #e0e0e0;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    color: #444;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    z-index: 3;
}

.info-section h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #333;
    margin: 0 0 10px 0;
}

.info-line {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #555;
    font-size: 0.95rem;
}

.info-line svg { width: 22px; height: 22px; fill: #888; }

/* --- Left Section (Price & Offer) --- */
.card-offer {
    width: 30%;
    padding: 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.price-section { width: 100%; }
.price-section .from { font-size: 0.85rem; color: #777; }
.price-section .price-value { text-align: left; }
.price-section .price { font-size: 1.6rem; font-weight: 700; color: #333; margin-left: 4px; }
.price-section .currency { font-size: 1rem; color: #333; }

.includes-text {
    font-size: 0.8rem;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    width: 100%;
    margin-bottom: 15px;
}

.includes-text .info-icon {
    display: inline-flex;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #bbb;
    color: white;
    align-items: center;
    justify-content: center;
    font-style: italic;
    font-weight: bold;
    line-height: 16px;
    cursor: pointer;
    order: 2;
    margin-right: 5px;
}

.view-tour-btn {
    background: var(--primary-color);
    color: white;
    text-decoration: none;
    padding: 12px 0;
    width: 100%;
    text-align: center;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 500;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.view-tour-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(42, 132, 192, 0.4);
    color: white;
}

/* Tooltip for Logo */
.tooltip { position: absolute; }
.tooltip .tooltiptext {
    visibility: hidden;
    width: max-content;
    background-color: #333;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 10px;
    position: absolute;
    z-index: 20;
    bottom: 125%;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.3s;
    font-size: 0.8rem;
}
.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
}
.tooltip:hover .tooltiptext { visibility: visible; opacity: 1; }

/* --- Mobile Responsive --- */
@media (max-width: 800px) {
    .tour-card-package {
        flex-direction: column;
    }

    .card-image, .card-details, .card-offer {
        width: 100%;
        box-sizing: border-box;
    }
    
    .card-image {
        padding: 15px 15px 0 15px;
        height: 220px;
    }
    
    .card-details {
        padding: 20px 15px;
    }

    /* Hide vertical dividers on mobile */
    .card-details::before, .card-details::after,
    .right-divider, .left-divider, .static-label, .logo-container {
        display: none;
    }
    
    .card-offer {
        position: relative;
        margin-top: 15px;
        padding-top: 30px;
        border-top: 2px dashed #e0e0e0;
    }

    /* Create the new horizontal cutouts between details and offer */
    .card-offer::before, .card-offer::after {
        content: '';
        position: absolute;
        top: 0;
        transform: translateY(-50%);
        width: 24px;
        height: 24px;
        background-color: #fff;
        border-radius: 50%;
        display: block;
        border: 2px solid #e0e0e0;
    }

    .card-offer::before {
        left: -10px;
        border-left: none;
        border-bottom: none;
        border-top: none;
    }

    .card-offer::after {
        right: -10px;
        border-right: none;
        border-bottom: none;
        border-top: none;        
    }
    
    .info-section {
       align-items: center;
    }
}

/* Additional styles for new ACF fields */
.info-section .info-line.hotel-stars {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.95rem;
    color: #555;
}

.info-section .info-line.hotel-stars svg {
    width: 20px;
    height: 20px;
    fill: #ffc107; /* رنگ زرد برای ستاره‌ها */
}

.info-section .info-line.tour-services-list svg {
    width: 22px;
    height: 22px;
    fill: #28a745; /* رنگ سبز برای آیکون تیک */
}


.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
    width: auto !important;
}
.mfp-close{
    color: #888 !important;
}

.popup-content {
    direction: rtl;
    text-align: right;
}

.tour-booking-form button.secondary-button {
    font-family: var(--font-family);
}

.bg-gray {
    background: #f0f2f5;
}




.tour-features-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px; /* فاصله بین برچسب‌ها */
    margin: 5px 0;
}

/* استایل عمومی برای برچسب‌ها */
.tour-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 15px; /* گرد کردن لبه‌ها */
    font-size: 13px;
    font-weight: bold;
    color: var(--text-color);
    white-space: nowrap; /* جلوگیری از شکستن متن */
}

/* رنگ‌های خاص برای هر نوع برچسب */
.special-offer-badge {
    background-color: #e53935; /* قرمز */
    color: #fff;
}

.podcast-badge {
    background-color: #6a1b9a; /* بنفش تیره */
    color: #fff;
}

.service-badge {
    background-color: var(--light-gray); /* سبز */
}

img.emoji {
    height: 0.7rem !important;
    width: 0.7rem !important;
}




/* ==========================================================
   استایل‌های سایدبار و محتوای اصلی در صفحات آرشیو پکیج‌ها
   ========================================================== */

/* ظرف اصلی که شامل محتوا و سایدبار است */
.tour-package-container {
    display: flex;
    gap: 30px; /* فاصله بین محتوای اصلی و سایدبار */
    margin-top: 30px;
}

/* ستون محتوای اصلی (لیست پکیج‌های تور) */
.tour-package-container .main-content {
    flex: 3; /* محتوای اصلی ۳ واحد از فضا را می‌گیرد */
}

/* ستون سایدبار */
.tour-package-container .sidebar-wrapper {
    flex: 1; /* سایدبار ۱ واحد از فضا را می‌گیرد */
    min-width: 280px; /* حداقل عرض برای سایدبار */
}

/* استایل‌های مربوط به ابزارک‌ها (ویجت‌ها) در سایدبار */
.sidebar-wrapper .widget {
    /* background-color: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    margin-bottom: 25px; */
    background-color: #fff;
    padding: 0px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    margin-bottom: 25px;
    margin-top: -15px;    
}

.sidebar-wrapper .widget .widget-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #333;
    margin-top: 0;
    border-bottom: 2px solid #ff5722;
    padding-bottom: 10px;
    margin-bottom: 15px;
}


/* ==========================================================
   استایل‌های سایدبار چسبان (Sticky)
   ========================================================== */

/* استایل‌دهی به ظرف سایدبار */
.tour-package-container .sidebar-wrapper {
    flex: 1; /* سایدبار ۱ واحد از فضا را می‌گیرد */
    min-width: 280px;
    
    /* ویژگی چسبان شدن */
    position: sticky;
    top: 140px; /* فاصله از بالای صفحه هنگام چسبیدن */
    align-self: flex-start; /* جلوگیری از کشیده شدن سایدبار به کل ارتفاع */

    /* استایل‌های ظاهری برای بهبود نمایش */
    /* padding: 20px;
    background-color: #f7f7f7;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); */
}

/* ==========================================================
   مدیای کوئری برای نمایش در دستگاه‌های کوچک‌تر
   ========================================================== */
@media (max-width: 991px) {
    .tour-package-container {
        flex-direction: column; /* تغییر جهت چیدمان به عمودی */
        gap: 0;
    }
    
    .tour-package-container .main-content,
    .tour-package-container .sidebar-wrapper {
        flex: auto; /* عرض کامل برای هر دو ستون */
        min-width: auto;
        align-self: center;       
    }

    .tour-package-container .sidebar-wrapper {
        margin-top: 0px; /* فاصله بین محتوا و سایدبار در موبایل */
        position: static;
    }
}


ul.elementor-icon-list-items {
    direction: ltr;
    width: 85%;
}



p.text-sm.text-gray-600 {
    text-align: justify;
    font-size: 0.9rem;
    padding: 5px 20px 10px 20px;
    margin: 0px !important;
}

h3.text-lg.font-semibold.mb-2{
    padding: 10px 20px 0px 20px;
    margin: 0px !important;
}

.swiper-pagination {
    position: static !important;
}

.p-4 {
    min-height: 76px;
}

.elementor-6 .elementor-element.elementor-element-bb1ae93 {
    --display: auto !important;
}

h2.wp-block-heading {
    padding: 0px;
    margin: 0px;
    font-size: 16px;
    color: var(--dark-blue);
}


.footer-column p {
    color: var(--text-light);
}


div#nav_menu-2 li a {
    color: var(--text-light);
}
div#nav_menu-2 li a:hover {
    color: var(--text-color);
}

div#nav_menu-3 li a {
    color: var(--text-light);
}
div#nav_menu-3 li a:hover {
    color: var(--text-color);
}
/* ===============================
   FOOTER LOGO GRID (Desktop)
================================= */
#footer-column-4 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 20px !important;
    padding-top: 10px;
}

#footer-column-4 figure.wp-block-image.size-full {
    width: 95px !important;
/*     height: 95px !important; */
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#footer-column-4 img {
    width: 85px !important;
    height: auto !important;
    object-fit: contain !important;
}


@media (max-width: 768px) {
    #footer-column-1 {
        text-align: center;
    }    
    #footer-column-2, #footer-column-3 {
        display: none;
    }
    #footer-column-4 {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        justify-content: center !important;
        gap: 16px !important;
        padding-bottom: 20px !important;
    }

/*     #footer-column-4 figure.wp-block-image.size-full {
        width: 100% !important;
        max-width: 120px !important;
        height: 100px !important;
        margin: 0 auto !important;
        border-radius: 10px;
        display: flex !important;
        align-items: center;
        justify-content: center;
        padding: 10px;
    }

    #footer-column-4 img {
        width: 80%;
        height: auto;
        object-fit: contain;
    } */
	#footer-column-4 img {
		width: 80px !important;
	}	
    .social-list{

    justify-content: center !important;
}


.modal-container {
    bottom: 30px !important;
    right: 10px !important;
    position: relative !important;
}

div#block-12 p, div#block-12 a {
    font-size: 1.1rem !important;
}

}






/* ==========================================================
   1. ویجت مراحل (Steps Section)
   ========================================================== */
.steps-section {
  max-width: 1240px;
  margin: 0 auto;
  padding: 10px 20px;
  box-sizing: border-box;
  /* پس‌زمینه ملایم */
  /* background: #f5f6f5;  */
  border-radius: 8px;
}

.steps-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
}

.step {
  flex: 0 0 14%; /* کمی بزرگتر برای محتوای داخل */
  min-width: 100px; /* حداقل عرض */
}

.step a {
  text-decoration: none;
  color: #212121; /* رنگ متن اصلی */
}

.step-inner {
  background: #fff;
  padding: 25px 20px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0px 0px 15px -9px rgba(50.00000000000001, 51.99999999999999, 68, 0.2);
  /* box-shadow: 0 6px 18px rgba(255, 255, 255, 0.1); */
  text-align: center;
  transition: all 0.3s ease;
  font-family: 'IRANSansWebFaNum', -apple-system, BlinkMacSystemFont, sans-serif;
}

.step-inner i {
  font-size: 36px;
  margin-bottom: 15px;
  color: var(--secondary-color); /* رنگ آیکون */
  transition: all 0.3s ease;
}

.step-inner h4 {
  margin: 0;
  font-size: 12px; /* سایز کوچک */
  color: #0F2D3F; /* رنگ متن */
  font-weight: 600;
  line-height: 1.3em;
}

.step-inner:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(255, 255, 255, 0.2);
}

.step-inner:hover i {
  color: #f7c75d; /* رنگ آیکون در هاور */
}

/* ==========================================================
   2. خطوط SVG
   ========================================================== */
.dashline {
  flex: 0 0 auto;
  width: 6%; /* طول کوتاه SVG */
}

.dashline svg {
  width: 100%;
  height: 30px; /* کوتاه‌تر برای باکس کوچک */
  transform: scaleX(-1); /* حرکت راست به چپ */
}

.dashline svg path {
  fill: none;
  stroke: var(--gray-footer);
  stroke-width: 1;
  stroke-dasharray: 8;
  stroke-dashoffset: 0;   /* شروع از صفر */
  animation: dashmoveRTL 40s linear infinite;
}

@keyframes dashmoveRTL {
  to {
    stroke-dashoffset: 1000;  /* حرکت به سمت چپ */
  }
}
@keyframes dashmove {
  to {
    stroke-dashoffset: -1000;  /* حرکت به سمت چپ */
  }
}

.title-steps{
    width: 380px;
    display: block;
    margin: 0 auto;
    padding-bottom: 10px;
    top: -20px;
    position: relative;
}

/* ==========================================================
   3. ریسپانسیو تبلت
   ========================================================== */
@media (max-width: 1024px) {
  .steps-container {
    flex-wrap: wrap; /* دو باکس در هر خط */
    justify-content: center;
    gap: 20px;
  }
  
  .step {
    flex: 0 0 45%; /* دو باکس در هر خط */
    margin-bottom: 20px;
  }

  .dashline { display: none; } /* حذف خطوط SVG در تبلت */
}

/* ==========================================================
   4. ریسپانسیو موبایل
   ========================================================== */
@media (max-width: 768px) {
  .steps-container {
    flex-direction: column;
    align-items: center;
    gap: 25px;
  }

  .step {
    width: 100%;
    max-width: 320px;
  }

  .step-inner { width: 100%; }
}










/* ==========================================================
   تصاویر بالای لیست تورها
   ========================================================== */
.group-tourists {
    position: absolute;
    right: 25px;
}
.couple-tourists {
    position: absolute;
    left: 25px;
}

.img-group-tourists{
    width: 280px;
    display: block;
    margin: 0 auto;
    padding-bottom: 10px;
    bottom: 135px;
    position: relative;
    filter: grayscale(100%) brightness(100%) contrast(100%);    
}

.img-group-tourists.active{
    filter: grayscale(0%) brightness(100%) contrast(100%);  
}

.img-couple-tourists{
    width: 170px;
    display: block;
    margin: 0 auto;
    padding-bottom: 10px;
    bottom: 119px;
    position: relative;
    filter: grayscale(100%) brightness(100%) contrast(100%);
}

.img-couple-tourists.active{
    filter: grayscale(0%) brightness(100%) contrast(100%);
}

@media (max-width: 768px) {
  .group-tourists {
    display: none;
  }

  .couple-tourists {
    display: none;
  }
}






/* ==========================================================
   تیتر نقطه چین برای سکشن ها
   ========================================================== */
.custom-divider {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.custom-title {
  margin: 0;
  white-space: nowrap;
  font-size: 16px;
  font-weight: bold;
  color: #1c2c44;
}

.custom-line {
  flex: 1;
  border-top: 1px dotted #afafaf;
  height: 0;
}

.custom-text {
  font-size: 14px;
  color: #333;
  white-space: nowrap;
    border-radius: 18px;
    /* background: linear-gradient(135deg, rgb(247 199 9 / 9%) 0%, rgb(76 193 198 / 23%) 100%);   */
    background-color: var(--secondary-color);
    padding: 3px 7px 3px 7px;
}

.custom-text a{
  color: #333;
}

.custom-text strong {
  color: #e53935;
}


@media screen and (max-width: 768px) {
    .custom-line {
        display: none;
    }
    .custom-text {
        display: none;
    }
    .sub-title-blog {
        /* display: none; */
        font-size: 1rem !important;
        margin: 15px;
    }    
}

.img-title-blog {
    width: 280px;
    display: block;
    margin: 0 auto;
    padding-bottom: 10px;
    position: relative;
    top: -10px;
}






/* ==========================================================
   استایل کارت های ویجت بلاگ
   ========================================================== */

.arya-blog-latest-section {
    background: #f1f3f6;
    padding: 2.5rem 0;
}

.arya-blog-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.arya-blog-card {
    width: 23rem;
    height: auto;
    background: #fff;
    border-radius: 1.5rem;
    padding: 1.5rem;
    overflow: hidden;
    position: relative;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .arya-blog-card {
        /* width: 25rem; */
        width: auto;
    }
}

.arya-blog-card-img-holder {
    width: 100%;
    height: auto;
    position: relative;
}

.arya-blog-card-img-holder img {
    width: 100%;
    height: auto;
    max-height: 15rem;
    object-fit: cover;
    border-radius: 1.5rem !important;
}

.arya-blog-title {
    color: #22215B;
    padding: 1rem 0;
    margin: 0;
    font-size: 1.0rem;
    font-weight: 500;
}

.arya-blog-title a {
    color: #22215B;
    text-decoration: none;
}

.arya-blog-title a:hover {
    color: #5F7FFF;
}

.arya-blog-description {
    padding: 1rem 0;
    color: #22215B80;
    font-size: 1rem;
    margin: 0;
    display: none;
}

.arya-blog-time {
    font-size: .8rem;
    color: #22215B;
}

.arya-blog-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1rem;
}

.arya-blog-options span a {
    font-weight: 600;
    color: #22215B;
    text-decoration: none;
}

.arya-blog-options span a:hover {
    color: #5F7FFF;
}

.arya-blog-btn {
    font-size: 0.8rem;
    font-family: var(--font-family);
    padding: .4rem .7rem;
    border-radius: .5rem;
    font-weight: 400;
    background: var(--light-gray);
    color: #22215B !important;
    cursor: pointer;
    border: 1px solid #eee;
}

.swiper-button-next,
.swiper-button-prev {
    color: var(--gray-footer) !important;
}

.swiper-pagination-bullet-active {
    background: #22215B !important;
}

.sub-title-blog {
    font-size: 1rem;
    margin-top: 0px;
    color: var(--dark-blue);
    /* background: var(--text-light); */
    text-align: center;
    padding: 7px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgb(247 199 9 / 9%) 0%, rgb(76 193 198 / 23%) 100%);
}



/* استایل زیرمنو در منو اصلی */
.main-menu li {
  position: relative; /* لازم برای قرارگیری زیرمنو */
}

.main-menu li ul.sub-menu {
  display: none; /* مخفی پیش‌فرض */
  position: absolute;
  top: 100%; /* زیر آیتم اصلی */
  right: 0; /* چون RTL هست از راست باز بشه */
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  min-width: 200px;
  padding: 8px 0;
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  z-index: 999;
}

.main-menu li:hover > ul.sub-menu {
  display: block; /* نمایش هنگام هاور */
}

.main-menu li ul.sub-menu li {
  display: block;
}

.main-menu li ul.sub-menu li a {
  display: block;
  padding: 10px 16px;
  font-size: 0.95rem;
  color: var(--dark-blue);
  text-decoration: none;
  transition: var(--transition);
}

.main-menu li ul.sub-menu li a:hover {
  background: var(--light-gray);
  color: var(--primary-color);
}

/* استایل زیرمنوی تو در تو (سطح دوم به بعد) */
.main-menu li ul.sub-menu li ul.sub-menu {
  top: 0;
  right: 100%;
  margin-right: 2px;
  border-radius: 8px;
}

/* زیرمنو در نسخه موبایل */
@media (max-width: 992px) {
  .main-menu li {
    position: relative;
    width: 100%;
  }

  .main-menu li ul.sub-menu {
    position: static; /* مطلق نباشه، بیاد زیر آیتم */
    display: none; /* اول مخفی باشه */
    background: #f9f9f9;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
  }

  .main-menu li ul.sub-menu li a {
    padding: 10px 20px;
    font-size: 1rem;
    border-bottom: 1px solid #eee;
    display: block;
  }

  /* وقتی کلاس active به li داده میشه زیرمنو باز بشه */
  .main-menu li.active > ul.sub-menu {
    display: block;
  }

  /* فلش کنار آیتم‌هایی که زیرمنو دارن */
  .main-menu li.menu-item-has-children > a::after {
    content: "▾";
    font-size: 0.8rem;
    margin-right: 6px;
    transition: transform 0.3s ease;
  }
  .main-menu li.active.menu-item-has-children > a::after {
    transform: rotate(180deg);
  }
}



/* blogs style */
/* استایل کلاسیک برای دسکتاپ */
.elementor-widget-posts .elementor-post {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
  border-bottom: 1px solid #eee;
}

/* تصویر شاخص */
.elementor-widget-posts .elementor-post__thumbnail {
  flex: 0 0 35%;
  border-radius: 12px;
  overflow: hidden;
}

.elementor-widget-posts .elementor-post__thumbnail img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* بخش محتوا */
.elementor-widget-posts .elementor-post__text {
  flex: 1;
}

/* عنوان و خلاصه */
.elementor-widget-posts .elementor-post__title {
  font-size: 20px;
  margin-bottom: 8px;
}
.elementor-widget-posts .elementor-post__excerpt {
  color: #555;
  line-height: 1.6;
}

/* حالت کارتی برای موبایل */
@media (max-width: 767px) {
  .elementor-widget-posts .elementor-post {
    flex-direction: column !important;
    border: 1px solid #eee;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 20px;
  }

  .elementor-widget-posts .elementor-post__thumbnail {
    flex: unset;
    width: 100%;
    border-radius: 16px 16px 0 0;
  }

  .elementor-widget-posts .elementor-post__text {
    padding: 16px;
  }
}









h2.elementor-heading-title.elementor-size-default {
    padding: 12px !important;
}
h2.section-heading, .main-content h2 {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-top: 10px;
    color: var(--dark-blue);
    /* background: var(--text-light); */
    text-align: right;
    padding: 7px !important;
    padding-right: 15px !important;
    border-radius: 10px;
    background: linear-gradient(135deg, rgb(247 199 9 / 9%) 0%, rgb(76 193 198 / 23%) 100%);
}


/*.arya-blog-title a {*/
/*    color: #ffffff;*/
/*    position: absolute !important;*/
/*    text-decoration: none;*/
/*    top: 205px  !important;*/
/*    right: 45px  !important;*/
/*}*/

/*.arya-blog-card-img-holder img {*/
/*    height: 220px !important;*/
/*}*/



/* ــــــــــــــــ کارت کلی ــــــــــــــــ */
.elementor-post {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    border: none !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    transition: .25s ease-in-out;
    padding: 0 !important;
}

.elementor-post:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

/* ــــــــــــــــ تصویر دقیقاً مثل arya-blog ــــــــــــــــ */
.elementor-post__thumbnail {
    position: relative !important;
    height: 220px !important;
    overflow: hidden;
    border-radius: 1rem;
    margin: 0 !important;
}

.elementor-post__thumbnail img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 1rem;
    display: block;
}

/* ــــــــــــــــ گرادینت روی تصویر ــــــــــــــــ */
.elementor-post__thumbnail:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 50%);
    border-radius: 1rem;
    z-index: 1;
}

/* ــــــــــــــــ عنوان روی تصویر مثل arya-blog ــــــــــــــــ */
.elementor-post__title,
.elementor-post__title a {
    position: absolute;
    bottom: 12px;
    right: 16px;
    left: 16px;
    z-index: 3;
    color: #ffffff !important;
    font-size: 1.125rem !important;
    line-height: 1.75rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
}

/* ــــــــــــــــ تگ دسته (اختیاری اگر بخواهی نمایش بدهم) ــــــــــــــــ */
.elementor-post__terms-links {
    position: absolute;
    bottom: 12px;
    left: 16px;
    z-index: 3;
    background-color: #ffc107;
    color: #000 !important;
    padding: 0.25rem 0.5rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: bold;
    text-decoration: none !important;
}

/* ــــــــــــــــ حذف کامل بخش‌های اضافی المنتور ــــــــــــــــ */
.elementor-post__read-more,
.elementor-post__excerpt,
.elementor-post__meta,
.elementor-post__meta-data,
.elementor-post__avatar,
.elementor-post__comments {
    display: none !important;
}

/* زیر بخش محتوا (اگر بخواهی چیزی نمایش داده شود) */
.elementor-post__text {
    display: none !important; /* مثل arya-blog که محتوا زیر تصویر ندارد */
}

/* موبایل */
@media (max-width: 600px) {
    .elementor-post__thumbnail {
        height: 180px !important;
    }
    .elementor-post__title {
        font-size: 1rem !important;
        bottom: 10px;
    }
}




/* ===== لیست مقاصد تصویری ===== */
.tour-destination-icons-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 28px;
    margin: 30px 0 30px;
}

.destination-icon-item {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none !important;
    color: #222;
}

.destination-icon-image {
    width: 150px;
    height: 150px;
    border: 4px solid var(--primary-color);
    border-radius: 50%;
    overflow: hidden;
    transition: .3s;
}

.destination-icon-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.destination-icon-item:hover .destination-icon-image {
    transform: scale(1.08);
    border-color: var(--secondary-color);
}

.destination-icon-title {
    font-size: 15px;
    font-weight: 600;
    margin-top: 4px;
}

/* موبایل */
@media (max-width: 550px) {
    .tour-destination-icons-wrapper {
        gap: 20px;
    }
    .destination-icon-image {
        width: 100px;
        height: 100px;
    }
    .destination-icon-title {
        font-size: 14px;
    }
}



.tour-list-table td a {
    color: inherit;
    text-decoration: none;
    display: block;
}

.tour-list-table td a:hover {
    /* text-decoration: underline; */
}


.td-link-wrap,
.tour-list-table td a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.tour-list-table td a:hover {
    /* text-decoration: underline; */
}







/* استایل ویجت پست های حرفه ای بلاگ */

/* ---------------- GRID (نمایش شبکه‌ای صحیح چندتایی) ---------------- */

.advanced-blog-widget.layout-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* ۴ کارت در هر ردیف دسکتاپ */
    gap: 22px;
}

/* لپ‌تاپ */
@media (max-width: 1200px) {
    .advanced-blog-widget.layout-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* تبلت */
@media (max-width: 900px) {
    .advanced-blog-widget.layout-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* موبایل */
@media (max-width: 600px) {
    .advanced-blog-widget.layout-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* ظاهر کارت Grid مثل قبل */
.blog-grid-item {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    transition: .25s ease;
}
.blog-grid-item:hover { transform: translateY(-4px); }

.blog-grid-item .blog-thumbnail {
    position: relative;
    height: 220px;
    overflow: hidden;
    border-radius: 1rem;
}
.blog-grid-item .blog-thumbnail img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.blog-grid-item .blog-thumbnail:after {
    content: "";
    position: absolute;
    bottom: 0; left: 0;
    width: 100%; height: 25%;
    background: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,0));
    z-index: 1;
}
.blog-grid-item .blog-title {
    position: absolute;
    bottom: 14px;
    right: 16px; left: 16px;
    z-index: 2;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 0.1rem;
    text-shadow: 0 2px 6px rgba(0,0,0,.7);
}

.blog-category {
    position: absolute;
    bottom: 14px;
    left: 16px;
    z-index: 3;
    background: #ffc107;
    color: #000;
    padding: 4px 10px;
    border-radius: .5rem;
    font-size: .75rem;
    font-weight: bold;
}

/* ---------------- LIST VIEW (تصویر کنار تیتر و خلاصه) ---------------- */
/* ---------- حالت لیست حرفه‌ای ---------- */

.advanced-blog-widget.layout-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* هر آیتم لیست */
.advanced-blog-widget.layout-list .blog-list-item {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.advanced-blog-widget.layout-list .blog-list-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.09);
}

/* لینک کلی روی کارت */
.advanced-blog-widget.layout-list .list-wrapper {
    display: flex;
    gap: 16px;
    padding: 12px 14px;
    text-decoration: none;
    color: inherit;
    align-items: flex-start;
}

/* تصویر کنار متن */
.advanced-blog-widget.layout-list .list-thumb {
    flex: 0 0 160px; /* عرض ثابت برای تصویر */
}

.advanced-blog-widget.layout-list .list-thumb img {
    width: 160px;
    height: 110px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

/* بخش متن کنار تصویر */
.advanced-blog-widget.layout-list .list-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* تیتر */
.advanced-blog-widget.layout-list .list-title {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 6px 0;
    line-height: 1.6;
    color: #111;
}

/* خلاصه (اختیاری) */
.advanced-blog-widget.layout-list .list-excerpt {
    margin: 0;
    font-size: .9rem;
    color: #555;
    line-height: 1.7;
}

/* حالت هاور روی تیتر (اختیاری) */
.advanced-blog-widget.layout-list .blog-list-item:hover .list-title {
    color: var(--primary-color);
}

/* موبایل: تبدیل به کارت عمودی */
@media (max-width: 600px) {
    .advanced-blog-widget.layout-list .list-wrapper {
        flex-direction: column;
    }

    .advanced-blog-widget.layout-list .list-thumb {
        flex: 0 0 auto;
    }

    .advanced-blog-widget.layout-list .list-thumb img {
        width: 100%;
        height: 190px;
    }
}


/* ---------- صفحه‌بندی بلاگ ---------- */

.blog-pagination {
    margin-top: 24px;
    text-align: center;
}

.blog-pagination ul {
    display: inline-flex;
    gap: 6px;
    padding: 0;
    margin: 0;
}

.blog-pagination li {
    list-style: none;
}

.blog-pagination a,
.blog-pagination span {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 8px;
    background: #f1f3f5;
    color: #333;
    font-size: .9rem;
    text-decoration: none;
    min-width: 32px;
}

.blog-pagination a:hover {
    background: #e2e6ea;
}

.blog-pagination .current {
    background: #111827;
    color: #ffffff;
    font-weight: 600;
}






















/* ==========================================================
   MOBILE APP CARD DESIGN — SUPER CLEAN UI
=========================================================== */
@media (max-width: 768px) {

    /* ساختار کلی کارت */
    .tour-list-table,
    .tour-list-table thead,
    .tour-list-table tbody,
    .tour-list-table tr,
    .tour-list-table td,
    .tour-list-table th {
        display: block;
        width: 100%;
    }


    .tour-list-table thead {
        display: none !important;
    }

    /* ========= کارت ========= */
    .tour-list-table tr {
        background: #ffffff;
        margin-bottom: 22px;
        padding: 18px 18px 12px;
        border-radius: 18px;
        border: 1px solid #efefef;
        box-shadow: 0 6px 20px rgba(0,0,0,0.08);
        position: relative;
        overflow: hidden;
    }

    /* ========= تیتر کارت ========= */
    .tour-list-table td:first-child {
        font-size: 1.25rem;
        font-weight: 800;
        color: #0F2D3F;
        line-height: 1.7rem;
        padding-bottom: 14px;
        margin-bottom: 16px;
        border-bottom: 1px solid #e9e9e9;
    }
    .tour-list-table td:first-child::before,
    .tour-list-table td:first-child::after {
        display: none !important;
    }

    /* ========= هر ردیف اطلاعات ========= */
    .tour-list-table td {
        padding: 10px 0 10px 42px;
        border-bottom: 1px solid #f5f5f5;
        font-size: 0.95rem;
        color: #37474F;
        position: relative;
        line-height: 1.45rem;
    }

    .tour-list-table td:last-child {
        border-bottom: none !important;
    }

    /* ========= آیکون‌ها ========= */
    .tour-list-table td:not(:first-child)::before {
        content: "";
        width: 24px;
        height: 24px;
        background: #e3f2fd;
        border-radius: 6px;
        position: absolute;
        left: 0;
        top: 8px;
    }

    /* آیکون‌ها با توجه به ستون */
.tour-list-table tr td:nth-child(2)::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%234cc1c6" viewBox="0 0 24 24"><path d="M7 10c1.66 0 3-1.34 3-3S8.66 4 7 4 4 5.34 4 7s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V20h2v-2h16v2h2v-4.5C20 13.17 15.33 12 13 12H7zm7-8c-1.66 0-3 1.34-3 3h6c0-1.66-1.34-3-3-3z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
}

.tour-list-table tr td:nth-child(3)::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%234cc1c6" viewBox="0 0 24 24"><path d="M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm1 11.46l3.53 3.54-1.41 1.41L11 13V6h2z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
}

.tour-list-table tr td:nth-child(4)::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%234cc1c6" viewBox="0 0 24 24"><path d="M19 4h-1V2h-2v2H8V2H6v2H5C3.9 4 3 4.9 3 6v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
}

.tour-list-table tr td:nth-child(5)::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%234cc1c6" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
}

.tour-list-table tr td:nth-child(6)::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%234cc1c6" viewBox="0 0 24 24"><path d="M9 11l3 3L22 4l-1.41-1.41L12 12.17l-1.59-1.59L9 11zM3 5h6v2H3V5zm0 6h6v2H3v-2zm0 6h6v2H3v-2z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
}

.tour-list-table tr td:nth-child(7)::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%234cc1c6" viewBox="0 0 24 24"><path d="M20.59 13.41L11 3H3v8l10.41 9.59c.78.78 2.05.78 2.83 0l4.35-4.35c.78-.78.78-2.05 0-2.83zM7.5 7C6.67 7 6 6.33 6 5.5S6.67 4 7.5 4 9 4.67 9 5.5 8.33 7 7.5 7z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
}


    /* ========= فوتر وضعیت ========= */
    .card-footer-status {
        position: absolute;
        bottom: 0;
        left: 0; 
        right: 0;
        padding: 12px 16px;
        background: #FAFAFA;
        border-top: 1px solid #e0e0e0;
        border-radius: 0 0 18px 18px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    /* وضعیت */
    .card-footer-status .capacity-status {
        font-size: 0.85rem;
        padding: 6px 14px;
        border-radius: 10px;
        color: #fff;
        font-weight: 600;
    }

    .capacity-status.status-موجود { background: #00C853 !important; }
    .capacity-status.status-محدود { background: #FF9100 !important; }
    .capacity-status.status-تکمیل { background: #FF3D00 !important; }
    span.tour-price-amount {font-size: 1.6rem;}
}

    .tour-list-table th, .tour-list-table td {
        font-size: 0.9rem !important;
    }












/* --------------------------------------------------------------------
   HERO BANNER – FINAL VERSION (V4)
-------------------------------------------------------------------- */
.tour-hero-banner-v3 {
    width: 100%;
    margin-bottom: -3rem;
}

/* ================= IMAGE BOX (Desktop + Mobile Base) ================= */
.banner-img-box {
    position: relative;
    width: 100%;
    height: 370px;
    border-radius: 26px;
    overflow: hidden;
    top: -85px;
}

.banner-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ===================== BOX پایین تصویر (DESKTOP) ===================== */
.banner-bottom-box {
position: relative;
    /* bottom: 0; */
    /* left: 50%; */
    /* transform: translateX(-50%); */
    width: 85%;
    padding: 10px 40px;
    display: flex;
    align-items: center;
    background: rgba(0, 173, 173, 0.83);
    /* border-top-left-radius: 26px; */
    border-radius: 26px;
    backdrop-filter: blur(6px);
    z-index: 5;
    top: 330px;
    margin: auto;
    justify-content: space-between;
}

/* ---------------- سمت راست ---------------- */
.banner-right {
    text-align: right;
}

.banner-right .tour-title {
    color: #fff;
    font-size: 2rem;
    font-weight: 800;
    margin: 0;
    padding: 0;
    text-shadow: 0 0 6px rgba(0,0,0,0.35);
}

.banner-right .tour-duration {
    color: #fff;
    margin-top: 1px;
    margin-bottom: 5px;
    font-size: 1.1rem;
    opacity: 0.9;
}

/* ---------------- سمت چپ ---------------- */
.banner-left {
    text-align: left;
}

.banner-left .tour-duration {
    color: #fff;
}

.banner-left .hotel-name {
    color: #fff;
    font-size: 1.3rem;
    font-weight: 700;
}

.hotel-stars-badge {
    margin-top: 6px;
    font-size: 1rem;
    padding: 4px 10px;
    background: rgba(0,0,0,0.25);
    color: #fff;
    border-radius: 8px;
    display: inline-block;
}

/* =====================================================================
   RESPONSIVE (MOBILE) — FIXED FOR REAL iPHONE / ANDROID DISPLAY
===================================================================== */
@media (max-width: 768px) {

    /* مهم‌ترین قسمت – Safari ارتفاع را اشتباه می‌گیرد بدون height ثابت */
    .banner-img-box {
        position: relative;
        height: 320px !important;
        overflow: hidden;
    }

    /* باکس پایین، روی تصویر — کاملاً فیکس و استاندارد */
    .banner-bottom-box {
        position: relative;
        top: 300px;
        /* left: 50%; */
        /* transform: translateX(-50%); */
        width: 90%;
        padding: 12px 20px;
        display: flex;
        flex-direction: column;
        text-align: center;
        /* gap: 8px; */
        background: rgba(255, 255, 255, 0.82);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        border-radius: 22px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
        z-index: 10;
        margin: auto;
    }

    /* جلوگیری از overlap */
    .tour-hero-banner-v3 {
        /* margin-bottom: 20px; */
        padding-left: 10px;
        padding-right: 10px;
        /* margin-top: -85px; */
    }

    /* متن‌ها – بدون تغییر ظاهر */
    .banner-right {
        text-align: center;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: -webkit-fill-available;        
    }

    .banner-right .tour-title {
        /* font-size: 1.45rem; */
        font-size: 1.2rem;
        color: #0F2D3F;
        text-shadow: none;

        white-space: nowrap;       /* یک خط */
        overflow: hidden;          /* مخفی کردن اضافه */
        text-overflow: ellipsis;   /* سه نقطه */
        width: 100%;               /* یا هر عرض دلخواه */        
    }

    .banner-right .tour-duration {
        margin-top: 6px;
        font-size: .95rem;
        color: #444;
    }

    .banner-left {
        text-align: center;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: -webkit-fill-available;
    }
    .banner-left .tour-duration {
        color: #0F2D3F;
    }
    .banner-left .hotel-name {
        color: #0F2D3F;
        font-size: 1.1rem;
        margin-top: 6px;
    }

    .hotel-stars-badge {
        background: #00a6a6;
        color: #fff;
        padding: 4px 12px;
        font-size: .9rem;
        border-radius: 10px;
        margin-top: 6px;
    }
    .banner-left .tour-duration {
        margin: auto;
    }
}












/* ==========================================
   DESKTOP MODE (منوی اصلی فعال)
========================================== */
@media (min-width: 993px) {
    .main-navigation {
        display: flex !important;
    }
    .mobile-app-menu,
    .mobile-menu-overlay {
        display: none !important;
    }
    .mobile-menu-toggle {
        display: none !important;
    }
}

/* ==========================================
   MOBILE MODE (فقط منوی اپلیکیشنی فعال)
========================================== */
@media (max-width: 992px) {

    /* جلوگیری کامل از منوی موبایل قدیمی */
    .main-navigation {
        display: none !important;
        position: static !important;
        transform: none !important;
        height: auto !important;
        background: none !important;
    }

    /* دکمه همبرگری */
    .mobile-menu-toggle {
        display: block !important;
        background: none;
        border: none;
        cursor: pointer;
        padding: 8px;
        z-index: 99999;
        position: relative;
    }

    .mobile-menu-toggle span {
        display: block;
        width: 24px;
        height: 3px;
        background: var(--dark-blue, #0F2D3F);
        margin: 4px 0;
        border-radius: 4px;
        transition: 0.3s ease;
    }

    /* ❌ جلوگیری از تولید X اضافه توسط قالب */
    .mobile-menu-toggle::after,
    .mobile-menu-toggle::before,
    .mobile-menu-toggle.is-active::after,
    .mobile-menu-toggle.is-active::before {
        display: none !important;
        content: "" !important;
    }

    /* ==========================================
       FULLSCREEN MOBILE APP MENU
    ========================================== */
    .mobile-app-menu {
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        height: 100vh;
        background: #ffffff;
        z-index: 99999;
        padding: 24px 20px;
        box-shadow: 0 0 30px rgba(0,0,0,0.25);
        transform: translateX(100%);
        transition: transform 0.35s ease-in-out;
        display: flex;
        flex-direction: column;
        overflow-y: auto;
    }

    .mobile-app-menu.is-open {
        transform: translateX(0);
    }

    /* بک‌دراپ تار */
    .mobile-menu-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.45);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        z-index: 999;
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s ease, visibility .3s ease;
    }

    .mobile-menu-overlay.is-active {
        opacity: 1;
        visibility: visible;
    }

    /* ==========================================
       HEADER INSIDE MOBILE MENU
    ========================================== */
    .mobile-menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 20px;
        padding-bottom: 10px;
        border-bottom: 1px solid #f0f0f0;
    }

    .mobile-menu-logo {
        max-height: 52px;
    }

    .mobile-close-btn {
        background: none;
        border: none;
        font-size: 36px;
        line-height: 1;
        cursor: pointer;
        color: #0F2D3F;
        margin-top: -5px;
        font-weight: 400;
        z-index: 1001;
    }

    /* ==========================================
       MENU LIST STYLE
    ========================================== */
    .mobile-app-menu-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .mobile-app-menu-list > li > a {
        display: block;
        padding: 14px 4px;
        font-size: 1.18rem;
        font-weight: 600;
        color: #0F2D3F;
        border-bottom: 1px solid #f0f0f0;
        text-decoration: none;
        transition: background .2s ease;
    }

    .mobile-app-menu-list > li > a:hover {
        background: #F7F9FB;
        color: #0088A9;
    }

    /* زیرمنوها */
    .mobile-app-menu-list li.menu-item-has-children > a::after {
        content: "›";
        float: left;
        font-size: 1.1rem;
        transition: transform 0.3s ease;
        margin-top: 4px;
    }

    .mobile-app-menu-list li.is-open > a::after {
        transform: rotate(90deg);
    }

    .mobile-app-menu-list li ul.sub-menu {
        display: none;
        padding-right: 12px;
        border-right: 2px solid #4cc1c6;
        margin: 0;
        background: #fafafa;
    }

    .mobile-app-menu-list li.is-open > ul.sub-menu {
        display: block;
    }

    .mobile-app-menu-list li ul.sub-menu li a {
        display: block;
        padding: 10px 4px;
        font-size: 1rem;
        border-bottom: 1px dashed #e2e2e2;
        color: #333;
    }
    /* حذف X خودکار قالب روی دکمه همبرگری */
.mobile-menu-toggle::after,
.mobile-menu-toggle::before,
.mobile-menu-toggle.is-active::after,
.mobile-menu-toggle.is-active::before {
    content: "" !important;
    display: none !important;
}

    .saman-col select {
        font-size: 15px;
        padding: 12px 14px;
        height: 55px;
    }
}

figure {
    display: block;
    margin-block-start: 0.1em !important;
    margin-block-end: 0.1em !important;
    margin-inline-start: 10px;
    margin-inline-end: 10px;
    unicode-bidi: isolate;
}

.iframe-scale-wrapper {
  /* width: 90px; */
  height: 90px;
      /* جلوگیری از بیرون‌زدگی */
  /* overflow: hidden;   */
  display: flex;
  align-items: center;
  justify-content: center;
}

.iframe-scale-wrapper iframe {
  width: 160px;
  height: 170px;
  border: none;
  transform: scale(0.60);          /* 👈 مقدار scale */
  transform-origin: center center; /* مرکز */
}

@media (max-width: 768px) {
  .iframe-scale-wrapper iframe {
    transform: scale(0.6);
  }

  .wp-block-columns {
    text-align: -webkit-center;
}
}

h2.elementor-heading-title.elementor-size-default {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-top: 0px;
    color: var(--dark-blue);
    /* background: var(--text-light); */
    text-align: right;
    padding: 7px !important;
    padding-right: 15px !important;
    border-radius: 10px;
    background: linear-gradient(135deg, rgb(247 199 9 / 9%) 0%, rgb(76 193 198 / 23%) 100%);
}

.hide-on-menu-open {
    display: none !important;
}
