/*

Theme Name: Atlas

Theme URI: https://atlas-irangardi.ir

Author: Farshad Samadi

Author URI: https://atlas-irangardi.ir

Description: قالب اختصاصی اطلس ایران گردی - گردشگری و سفر

Version: 1.0

License: GPL v2 or later

Text Domain: my-theme

*/



:root {

    /* رنگ‌های پایه تم */

    --light: #fefefe;

    --green: #028261;

    --darkgray: #111b1a;

    --lightgray: #f9f9f9;

    --shadow: #efefef;

    --gray: rgb(196, 196, 196);

    --lightgreen: #26997c;

    --green-dark: #01513d;

    --green-mid: var(--green);

    --green-accent: var(--lightgreen);

    --green-bg: #eaf6f1;

    --green-pale: #cfe9de;

    --gray-50: #fafafa;

    --gray-100: #f1f1f1;

    --gray-300: var(--gray);

    --gray-700: #4a4a4a;

    --text-main: var(--darkgray);

    --text-light: #6b6b6b;

    --radius: 12px;

    --radius-sm: 8px;

    --shadow-sm: 0 2px 10px rgba(0, 0, 0, .06);

}



*,

*::after,

*::before {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



a {

    text-decoration: none;

    color: inherit;

}



ol,

ul {

    list-style: none;

}



@font-face {
    font-family: 'Farhang2';
    src: url('fonts/FarhangVariable.woff') format('woff-variations'),
         url('fonts/FarhangVariable.woff') format('woff'),
         url('fonts/Farhang2VF.ttf') format('truetype-variations'),
         url('fonts/Farhang2VF.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

body {

    line-height: 1.5;

    -webkit-font-smoothing: antialiased;

    -moz-osx-font-smoothing: grayscale;

    font-family: 'Farhang2', dana, sans-serif;

    font-weight: 600;

    background-color: var(--light);

}



.container-fluid {

    padding-left: 0 !important;

    padding-right: 0 !important;

}



canvas,

img,

picture,

svg,

video {

    display: block;

    max-width: 100%;

    height: auto;

}



button,

input,

select,

textarea {

    font: inherit;

    border: none;

    background: none;

    outline: none;

}



button {

    cursor: pointer;

}



table {

    border-collapse: collapse;

    border-spacing: 0;

}



blockquote,

q {

    quotes: none;

}



blockquote::after,

blockquote::before,

q::after,

q::before {

    content: '';

}



h1,

h2,

h3,

h4,

h5,

h6 {

    line-height: 1.2;

    overflow-wrap: break-word;

    font-weight: 600;

}



audio,

video {

    display: inline-block;

}



input[type="number"]::-webkit-inner-spin-button,

input[type="number"]::-webkit-outer-spin-button {

    -webkit-appearance: none;

    margin: 0;

}



::placeholder {

    opacity: 0.7;

}



:focus-visible {

    outline: 2px solid #000;

    outline-offset: 2px;

}



.light-btn {

    border: 1px solid var(--gray);

    background-color: var(--light);

    color: var(--green);

    border-radius: 10px;

    padding: 8px 20px;

    white-space: nowrap;

}



.dark-btn {

    background-color: var(--green);

    color: var(--light);

    border-radius: 10px;

    padding: 8px 20px;

    box-shadow: 0 0 3px 0 var(--darkgray);

    white-space: nowrap;

}



.login-button {

    flex-shrink: 0;

}



.menu-logo {

    display: flex;

    flex-direction: row;

    justify-content: center;

    align-items: center;

    gap: 10px;

}



.menu-logo img {

    width: 70px;

    margin: 0 auto;

}



.main-menu {

    height: 100px;

    z-index: 999;

    position: relative;

    margin: 0;

    background-color: var(--lightgray);



}



.main-nav ul {

    display: flex;

    justify-content: center;

    margin: 0;

    color: var(--darkgray);

}



.main-nav li {

    margin: 0 20px;

    transition: ease-in-out .5s;

}



.main-nav li:hover {

    color: var(--green);

    text-decoration: underline;

    text-decoration-color: var(--green);

    text-underline-offset: 25px;

    text-decoration-thickness: 1px;

}



.search-box {

    position: relative;

    width: 100%;

}



.search-box input {

    width: 100%;

    height: 40px;

    background: var(--light);

    border-radius: 5px;

    padding: 0 45px 0 15px;

    border: none;

    outline: none;

    box-sizing: border-box;

}



.search-box button {

    position: absolute;

    right: 15px;

    top: 50%;

    transform: translateY(-50%);

    border: none;

    background: transparent;

    cursor: pointer;

    padding: 0;

    font-size: 16px;

}

.login-button{

    display: flex;

        align-items: center;

        justify-content: center;



}



footer {

    background: var(--green);

    color: var(--lightgray);

    padding: 48px 32px 24px;

    margin-top: 40px;

}



.footer-grid {

    max-width: 1140px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 2fr 1fr 1fr 1fr;

    gap: 40px;

    padding-bottom: 40px;

    border-bottom: 1px solid rgba(255, 255, 255, .1);

}



.footer-brand {

    font-size: 18px;

    font-weight: 700;

    color: var(--light);

    margin-bottom: 12px;

}



.footer-desc {

    font-size: 13px;

    line-height: 1.8;

}



.footer-contact-info {

    list-style: none;

    display: flex;

    flex-direction: column;

    gap: 8px;

    margin-top: 14px;

}



.footer-contact-info li {

    display: flex;

    align-items: center;

    gap: 8px;

}



.footer-contact-info i {

    color: var(--green-light);

    font-size: 13px;

    width: 16px;

}



.footer-contact-info a {

    color: rgba(255, 255, 255, .65);

    text-decoration: none;

    font-size: 13px;

    transition: color 0.2s;

}



.footer-contact-info a:hover {

    color: var(--green-light);

}



.footer-col-title {

    font-size: 14px;

    font-weight: 700;

    color: var(--light);

    margin-bottom: 16px;

}



.footer-links {

    list-style: none;

    display: flex;

    flex-direction: column;

    gap: 8px;

}



.footer-links a {

    color: rgba(255, 255, 255, .65);

    text-decoration: none;

    font-size: 13px;

    transition: color 0.2s;

}



.footer-links a:hover {

    color: var(--green-light);

}



.footer-bottom {

    max-width: 1140px;

    margin: 24px auto 0;

    display: flex;

    justify-content: space-between;

    align-items: center;

    font-size: 12px;

}

.footer-credit {

    width: 100%;

    text-align: center;

    padding: 14px 0;

    margin-top: 18px;

    border-top: 1px solid rgba(255, 255, 255, .1);

    font-size: 12px;

}

.footer-credit a {

    color: rgba(255, 255, 255, .55);

    text-decoration: none;

    transition: color .2s;

}

.footer-credit a:hover {

    color: var(--green-light);

}



.mega-slider {

    margin-top: -150px;

    z-index: 1;

    overflow: hidden;

}



.mega-slider-bg {

    background-image: var(--atlas-hero-bg, url("./images/main-banner-atlas-iran-gardi.png"));

    background-position: center;

    background-repeat: no-repeat;

    height: 680px;

    width: 100%;

    background-size: cover;

    display: flex;

    justify-content: center;

    align-items: end;

    padding: 0 40px;

}

.mega-slider-cnt{

display: flex;

    flex-direction: column;

    justify-content: flex-end;

}

.mega-slider-form {

    background-color: color-mix(in srgb, #111b1a, transparent 10%);

    height: 370px;

    border-radius: 10px;

    color: var(--light);

    padding: 20px;

}



.mega-slider-form p,

.mega-slider-form span {

    display: block;

    text-align: right;

}



.mega-slider-form p {

    font-size: 12px;

    color: var(--lightgray);

}



.mega-slider-form label {

    display: block;

    font-weight: 600;

    color: #1e3a34;

    margin-bottom: 8px;

    font-size: 0.9rem;

    cursor: pointer;

    transition: 0.2s;

}



.mega-slider-form label :hover {

    color: #2c9b7a;

}



.mega-slider-form select {

    width: 100%;

    padding: 8px 16px;

    border-radius: 5px;

    background: #3c4242;

    font-size: 14px;

    transition: 0.2s;

    cursor: pointer;

    color: var(--light);

    margin: 5px 0;

}



.mega-slider-form button {

    width: 100%;

    padding: 8px 16px;

    border-radius: 5px;

    background: var(--green);

    font-size: 14px;

    transition: 0.2s;

    cursor: pointer;

    color: var(--light);

    margin: 5px 0;



}



.index-title {

    text-align: center;

    color: var(--light);

}



.index-title h2 {

    font-size: 32px;

}



.index-title h3 {

    font-size: 24px;



}



.search-bar-index form {

    width: 70%;

    display: flex;

    margin: 0 auto;

    position: relative;

    align-items: center;



}



.search-bar-index input {

    background: var(--light);

    width: 100%;

    margin: 0 auto;

    height: 40px;

    border-radius: 5px;

    padding: 20px;

}



.search-bar-index button {

    left: 20px;

    position: absolute;

}



.pin-palce-index {

    width: 80%;

    margin: 20px auto;

    padding: 15px;

    background-color: color-mix(in srgb, #111b1a, transparent 3%);

    border-radius: 10px;

    color: var(--light);

}



.pin-palce-index ul {

    display: flex;

    justify-content: space-between;

    height: 20px;

}



.pin-palce-index li {

    display: flex;

    justify-content: center;

    gap: 20px;

}



.pin-palce-index li:not(:last-child)::after {

    content: '';

    height: 100%;

    width: 1px;

    background-color: #394745;

    margin-right: 10px;

}



.pin-palce-index li span {

    display: block;

}



.pin-place-index-icon i {

    font-size: 20px;

}



.pin-place-index-text {

    font-size: 12px;

}



.map-index {

    margin: 10px;

}



.map {

    background-color: var(--light);

    box-shadow: 0 0 3px 0 var(--darkgray);

    border-radius: 10px;

    padding: 20px;



}



.map-dynamic img {

    margin: 0 auto;

    height: 420px;

}



.map-detail {

    text-align: center;

    justify-content: space-around;

}



.help-map-items ul {

    padding: 0;

}



.help-map-items li {

    display: flex;

    flex-direction: column;

    border-radius: 5px;

    padding: 6px 2px;

    box-shadow: 0 0 3px 0 var(--darkgray);

    align-items: center;

    flex: 1 1 0;

    min-width: 0;

    font-size: 12px;

    background-color: var(--light);

}



.help-map-items li i {

    font-size: 26px;

    margin-bottom: 10px;

}



.map-banner {

    padding-right: 0;

}



.map-banner-1 {

    background-image: url("./images/main-banner-atlas-iran-gardi.png");

    border-radius: 10px;

    background-position: center;

    background-repeat: no-repeat;

    width: 100%;

    height: 180px;

    position: relative;

    margin: 0 0 10px;

}



.map-banner-detail {

    position: absolute;

    left: 0;

    top: 20px;

    text-align: left;

    white-space: normal;

    width: 250px;

    color: #efefef;

}



.map-banner-2 {

    background-image: url("./images/main-banner-atlas-iran-gardi.png");

    border-radius: 10px;

    background-position: center;

    background-repeat: no-repeat;

    width: 100%;

    height: 180px;

    position: relative;

    margin: 0 0 10px;



}



.travel-categories {

    gap: 12px;

}



.travel-categories-slider {

    display: flex;

    align-items: center;

    gap: 10px;

}



.travel-categories-scroll {

    display: flex;

    flex-wrap: nowrap;

    overflow-x: auto;

    scroll-snap-type: x proximity;

    scroll-behavior: smooth;

    padding-bottom: 4px;

    -webkit-overflow-scrolling: touch;

    scrollbar-width: none;

}

.travel-categories-scroll::-webkit-scrollbar {

    display: none;

}



.atlas-cat-arrow {

    flex: 0 0 auto;

    width: 40px;

    height: 40px;

    border-radius: 50%;

    background: var(--light);

    box-shadow: 0 0 3px 0 var(--darkgray);

    color: var(--green);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 15px;

    transition: background .2s, color .2s;

}

.atlas-cat-arrow:hover {

    background: var(--green);

    color: var(--light);

}

.atlas-cat-arrow[disabled] {

    opacity: .35;

    cursor: default;

    pointer-events: none;

}



.travel-categories-icon {

    background-color: var(--light);

    border-radius: 5px;

    padding: 10px 20px;

    box-shadow: 0 0 3px 0 var(--darkgray);

    margin: 10px 0;

    align-items: center;

    text-align: center;

    flex: 0 0 auto;

    min-width: 110px;

    scroll-snap-align: start;

}



.travel-categories-icon i {

    color: var(--green);

    display: block;

    margin: 10px auto;

    font-size: 26px;



}



.travel-categories-icon h3 {

    font-size: 18px;

}



.index-section-title h2 {

    margin: 20px 0;

}



.travel-sugestion-items {

    flex-wrap: wrap;

    gap: 20px;

    justify-content: flex-start;

}



.travel-sugestion-item {

    width: calc(25% - 15px);

    position: relative;

}



.travel-sugestion-item img {

    width: 100%;

    height: 260px;

    object-fit: cover;

    border-radius: 10px;

}



.travel-sugestion-item-detail {

    color: var(--lightgray);

}



.travel-sugestion-item-detail span {

    padding: 4px 12px;

    border-radius: 20px;

    font-size: 14px;

    background-color: var(--lightgray);

    color: var(--darkgray);

    position: absolute;

    top: 12px;

    right: 12px;

}



.travel-sugestion-item-detail h4 {

    position: absolute;

    bottom: 30px;

    right: 12px;

    font-size: 18px;

    padding: 5px 10px;

    background-color: var(--lightgreen);

    border-radius: 5px;

}



.travel-sugestion-item-detail h3 {

    position: absolute;

    bottom: 12px;

    left: 0;

    width: 50%;

    font-size: 15px;

    text-align: center;

}



.travel-sugestion-item-detail h5 {

    position: absolute;

    bottom: 12px;

    right: 12px;

    width: 50%;

    font-size: 15px;



}



/* --- بخش‌های صفحه اصلی (پیشنهاد سفر / مقاصد / بلاگ) و دکمه‌ی گوشه‌ای «مشاهده همه» --- */

.index-section-relative {

    position: relative;

    padding-bottom: 64px;

}



.atlas-view-all-corner {

    position: absolute;

    bottom: 0;

    left: 0;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    background-color: var(--green);

    color: var(--light);

    font-size: 13px;

    font-weight: 700;

    padding: 10px 18px;

    border-radius: 30px;

    box-shadow: 0 6px 16px rgba(1, 81, 61, .25);

    transition: background-color .2s, transform .2s;

}



.atlas-view-all-corner:hover {

    background-color: var(--green-dark);

    transform: translateX(-3px);

}



.atlas-view-all-corner i {

    font-size: 12px;

}



.blog-contents {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 26px;

}



.blog-content {

    background-color: var(--light);

    box-shadow: var(--shadow-sm);

    border-radius: var(--radius);

    overflow: hidden;

    display: flex;

    flex-direction: column;

    height: 100%;

    transition: transform .3s ease, box-shadow .3s ease;

}



.blog-content:hover {

    transform: translateY(-6px);

    box-shadow: 0 16px 30px rgba(1, 81, 61, .14);

}



.blog-content img {

    width: 100%;

    height: 210px;

    object-fit: cover;

    display: block;

    transition: transform .5s ease;

}



.blog-content-thumb {

    position: relative;

    overflow: hidden;

}



.blog-content:hover .blog-content-thumb img {

    transform: scale(1.08);

}



.blog-content-cat {

    position: absolute;

    bottom: 12px;

    right: 12px;

    background: linear-gradient(135deg, var(--green), var(--lightgreen));

    color: var(--light);

    font-size: 11px;

    font-weight: 700;

    padding: 5px 12px;

    border-radius: 20px;

    box-shadow: 0 4px 10px rgba(1, 81, 61, .25);

}



.blog-content-info {

    padding: 22px;

    display: flex;

    flex-direction: column;

    flex: 1;

}



.blog-content-date {

    display: flex;

    align-items: center;

    gap: 6px;

    font-size: 12px;

    color: var(--text-light);

    margin-bottom: 10px;

}



.blog-content-date i {

    color: var(--green);

}



.blog-content-info h3 {

    font-size: 18px;

    font-weight: 700;

    line-height: 1.5;

    margin-bottom: 10px;

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

}



.blog-content-info h3 a {

    color: var(--text-main);

    transition: color .2s;

}



.blog-content-info h3 a:hover {

    color: var(--green);

}



.blog-content-info p {

    font-size: 14px;

    line-height: 1.8;

    color: var(--text-light);

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

}



.blog-content-more {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: 16px;

    padding-top: 14px;

    border-top: 1px solid var(--gray-100);

    font-size: 13px;

    font-weight: 700;

    color: var(--green);

}



.blog-content-more i {

    transition: transform .25s ease;

}



.blog-content-more:hover i {

    transform: translateX(-4px);

}



.side-travel-guid {

    background-color: var(--light);

    border-radius: 10px;

    padding: 20px;

    box-shadow: 0 0 3px 0 var(--darkgray);

}



.side-travel-guid ul {

    padding: 20px;

    margin: 20px 0;

}



.side-travel-guid ul li:not(:last-child) {

    border-bottom: 1px groove var(--shadow);

    margin: 15px 0;

}



.side-travel-guid ul li i {

    color: var(--green);

    margin: 0 0 0 10px;

}



.side-ads {

    margin: 20px auto;

    height: 150px;

}



.side-ads a {

    display: block;

    height: 100%;

}



.side-ads img {

    width: 100%;

    height: 150px;

    object-fit: cover;

    border-radius: 10px;

}



/* --- ویجت‌های سایدبار محتوایی (خبرنامه، آخرین مطالب، مقاصد پیشنهادی، شبکه‌های اجتماعی) --- */

.sidebar-widget {

    background-color: var(--light);

    border-radius: var(--radius);

    padding: 20px;

    box-shadow: var(--shadow-sm);

    margin-bottom: 20px;

}



.sidebar-widget h2 {

    font-size: 16px;

    font-weight: 700;

    color: var(--darkgray);

    margin-bottom: 14px;

}



.sidebar-newsletter {

    background: linear-gradient(135deg, var(--green-dark), var(--green));

    color: var(--light);

    text-align: center;

}



.sidebar-newsletter h2 {

    color: var(--light);

}



.sidebar-newsletter p {

    font-size: 13px;

    line-height: 1.8;

    color: var(--green-pale);

    margin-bottom: 16px;

}



.sidebar-newsletter .dark-btn {

    display: inline-block;

    background-color: var(--light);

    color: var(--green-dark);

}



.sidebar-recent-posts ul,

.sidebar-destinations ul {

    display: flex;

    flex-direction: column;

    gap: 14px;

}



.sidebar-recent-posts li,

.sidebar-destinations li {

    display: flex;

    align-items: center;

    gap: 12px;

}



.sidebar-item-thumb {

    flex: 0 0 64px;

    width: 64px;

    height: 64px;

    border-radius: var(--radius-sm);

    overflow: hidden;

    display: block;

}



.sidebar-item-thumb img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.sidebar-item-info {

    display: flex;

    flex-direction: column;

    gap: 4px;

    min-width: 0;

}



.sidebar-item-info a {

    font-size: 14px;

    font-weight: 600;

    color: var(--text-main);

    line-height: 1.5;

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

    transition: color .2s;

}



.sidebar-item-info a:hover {

    color: var(--green);

}



.sidebar-item-info span {

    font-size: 11px;

    color: var(--text-light);

}



.sidebar-social-follow ul {

    gap: 10px;

}



.sidebar-social-follow a {

    width: 38px;

    height: 38px;

    border-radius: 50%;

    background-color: var(--green-bg);

    color: var(--green);

    display: flex;

    align-items: center;

    justify-content: center;

    transition: background-color .2s, color .2s;

}



.sidebar-social-follow a:hover {

    background-color: var(--green);

    color: var(--light);

}



.single-prod {

    margin-top: 40px;

}



.single-prod > .row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: start;

    gap: 24px;

}



.single-prod > .row > .single-prod-info,

.single-prod > .row > .single-prod-img {

    width: 100%;

    max-width: 100%;

    float: none;

    flex: none;

}



.single-prod-btn .row {

    flex-wrap: nowrap;

    width: 100%;

    margin: 0;

}



.single-prod-btn .row .col-lg-4 {

    width: calc(33.33333% - 10px);

    margin: 0 5px;

}



.single-prod-featur ul {

    align-items: stretch;

    padding: 30px 20px;

    margin-top: 45px;

    border-radius: 10px;

    box-shadow: 0 0 3px 0 var(--darkgray);

}



.single-prod-featur ul li {

    flex: 1;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    gap: 6px;

    padding: 14px 10px;

}



.single-prod-featur ul li:not(:last-child) {

    border-left: 1px solid var(--shadow);

}



.single-prod-featur ul li i {

    color: var(--green);

    font-size: 20px;

    margin: 0;

}



.single-prod-featur-label {

    font-size: 12px;

    color: var(--text-light);

    font-weight: 600;

}



.single-prod-featur-value {

    font-size: 14px;

    font-weight: 700;

    color: var(--darkgray);

}



.single-prod-img img {

    border-radius: 10px;

    width: 100%;

    height: 370px;

    overflow: hidden;

    object-fit: cover;

}



.single-prod-gallery {

    position: relative;

    height: 370px;

    border-radius: 10px;

    overflow: hidden;

}



.single-prod-gallery-track {

    display: flex;

    height: 100%;

    overflow-x: auto;

    scroll-snap-type: x mandatory;

    scroll-behavior: smooth;

    scrollbar-width: none;

}



.single-prod-gallery-track::-webkit-scrollbar {

    display: none;

}



.single-prod-gallery-item {

    flex: 0 0 100%;

    height: 100%;

    scroll-snap-align: start;

}



.single-prod-gallery-item img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}



.single-prod-gallery-prev,

.single-prod-gallery-next {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    z-index: 2;

}



.single-prod-gallery-prev {

    right: 14px;

}



.single-prod-gallery-next {

    left: 14px;

}



.single-prod-thumb {

    width: 130px;

    height: 100px;

    margin-top: 10px;

}



.single-prod-thumb img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    border-radius: 5px;

}



.single-prod-more-wrapper {

    display: grid;

    grid-template-columns: 1fr 1fr 2fr;

    gap: 12px;

    margin-bottom: 40px;

}



.single-prod-side-block {

    display: flex;

    flex-direction: column;

    gap: 16px;

    margin-top: 20px;

}



.single-prod-comments-full {

    width: 100%;

    margin-top: 30px;

    margin-bottom: 40px;

}



.single-prod-more-feature,

.single-prod-more-map {

    padding: 24px;

    border-radius: 12px;

    background: #fff;

    box-shadow: 0 0 10px rgba(0, 0, 0, .08);

}

/* باکس مختصات جغرافیایی محصول */

.atlas-geo-box {

    margin-top: 16px;

    padding: 16px;

    background: var(--green-bg);

    border: 1px solid var(--green-pale);

    border-radius: var(--radius-sm);

}

.atlas-geo-box-title {

    display: flex;

    align-items: center;

    gap: 8px;

    font-size: 14px;

    font-weight: 700;

    color: var(--green-dark);

    margin-bottom: 10px;

}

.atlas-geo-box-title i {

    color: var(--green);

}

.atlas-geo-box-coords {

    display: flex;

    flex-direction: column;

    gap: 4px;

    font-size: 13px;

    color: var(--darkgray);

    margin-bottom: 12px;

}

.atlas-geo-box-coords b {

    font-weight: 700;

    color: var(--green-dark);

    direction: ltr;

    display: inline-block;

}

.atlas-geo-box-link {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    font-size: 13px;

    font-weight: 700;

    color: var(--green-accent);

}

.atlas-geo-box-link:hover {

    text-decoration: underline;

}



.single-prod-more h3 i {

    margin-right: -7px;

    color: var(--green);

}



.single-prod-more-feature ul {

    list-style: none;

    padding: 0;

    margin: 0;

}



.single-prod-more-feature ul li {

    padding: 12px 0;

    border-bottom: 1px solid var(--shadow);

}



.single-prod-more-feature ul li:last-child {

    border-bottom: none;

}



.single-prod-more-feature ul li i {

    margin-left: 12px;

    color: var(--green);

}



.single-prod-nearby-item {

    border-radius: 10px;

    overflow: hidden;

    box-shadow: 0 0 3px 0 var(--darkgray);

}



.single-prod-nearby-item span {

    display: block;

    padding: 10px;

}



.single-prod-nearby-item span:second-child {

    font-size: 8px;

}



.section {

    padding: 26px 0;

}



.about-hero {

    background-image: var(--atlas-hero-bg, url("./images/main-banner-atlas-iran-gardi.png"));

    background-position: center;

    background-repeat: no-repeat;

    background-size: cover;

    padding: 80px 32px;

    text-align: center;

    overflow: hidden;

    height: 480px;



    color: var(--light);

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

}



.about-hero-eyebrow {

    font-size: 34px;

    margin-bottom: 10px;

}



.about-hero h1 {

    font-size: 40px;

    font-weight: 700;

    margin-bottom: 16px;

    line-height: 1.3;

}



.about-hero p {

    font-size: 16px;

    opacity: 0.9;

    max-width: 600px;

    margin: 0 auto 28px;

    line-height: 1.8;

}



.about-hero-btns {

    display: flex;

    gap: 16px;

    justify-content: center;

    flex-wrap: wrap;

}



.stats-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 10px;

}



.stat-item {

    text-align: center;

    padding: 24px 10px;

    background: var(--light);

    border-radius: 10px;

    box-shadow: 0 0 3px 0 var(--gray);



}



.stat-item i {

    color: var(--green);

    font-size: 35px;

    margin-bottom: 10px;

    display: block;

    width: 100%;

}



.stat-item .stat-num {

    font-size: 26px;

    font-weight: 700;

    color: var(--green);

    line-height: 1.5;

}



.stat-item .stat-label {

    font-size: 15px;

    color: var(--darkgray);

    margin-top: 6px;

}



.our-mission-label {

    font-weight: 700;

    color: var(--green);

    margin-bottom: 10px;

}



.our-mission-title {

    font-size: 28px;

    color: var(--darkgray);

    margin-bottom: 16px;

}



.our-mission-text {

    font-size: 15px;

    line-height: 1.9;

    color: var(--darkgray);

}



.our-mission-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 60px;

    align-items: center;

}



.our-mission-img img {

    width: 100%;

    height: 480px;

    object-fit: cover;

    border-radius: 10px;

    box-shadow: 0 0 3px 0 var(--gray);

}



.light-gray-bg {

    background: var(--lightgray);

}



.about-values-label {

    font-size: 30px;

    font-weight: 700;

    color: var(--darkgray);

    text-align: center;

    margin-bottom: 40px;

}



.about-values-label::after,

.about-compare-title::after {

    content: '';

    width: 30px;

    height: 3px;

    background-color: var(--green);

    display: block;

    margin: 0 auto;

    border-radius: 10px;



}



.about-values-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;

}



.about-values-card {

    border-radius: 10px;

    overflow: hidden;

    box-shadow: 0 0 3px 0 var(--gray);

    background: var(--light);

}



.about-values-card img {

    width: 90%;

    height: 160px;

    object-fit: cover;

    margin: 15px auto;

    border-radius: 10px;

}



.about-values-card-body {

    padding: 16px 20px 20px;

}



.about-values-card-body-info {

    display: flex;

    justify-content: space-between;

}



.about-values-icon {

    font-size: 40px;

    color: var(--green);

    margin-bottom: 6px;

    display: block;

}



.about-values-title {

    font-size: 26px;

    color: var(--darkgray);

    margin-bottom: 6px;

}



.about-values-text {

    font-size: 13px;

    color: var(--gray);

    line-height: 1.8;

}



.about-compare {

    text-align: center;

}



.about-compare-title {

    font-size: 24px;

    color: var(--darkgray);

    margin-bottom: 32px;

}



.about-compare-img {

    height: 380px;

    overflow: hidden;

    width: 720px;

    object-fit: cover;

}



.about-compare-img:nth-of-type(1) img {

    height: 380px;

    border-radius: 10px 0 0 10px;

}



.about-compare-img:nth-of-type(3) img {

    border-radius: 0 10px 10px 0;

    height: 380px;

}



.compare-table {

    width: 100%;

    border-radius: 10px;

    overflow: hidden;

    margin: 0 10px;

}



.compare-table-head {

    display: grid;

    grid-template-columns: 1fr 1fr;

}



.compare-table-head span {

    padding: 16px;

    font-size: 14px;

    color: var(--light);

    background-color: var(--darkgray);

}



.compare-table-head span.compare-col-atlas {

    background-color: var(--green);

    font-weight: 700;

}



.compare-table-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    background-color: var(--light);

}



.compare-table-row:nth-child(even) {

    background-color: var(--lightgray);

}



.compare-table-row span {

    padding: 16px;

    font-size: 13px;

    text-align: center;

    border-top: 1px solid var(--shadow);

}



.compare-table-row span:first-child {

    color: var(--darkgray);

}



.compare-table-row span.compare-col-atlas {

    color: var(--green);

    font-weight: 700;

}



.compare-table-row i {

    color: var(--green);

}



.compare-table-row .fa-xmark {

    color: var(--gray);

}



.about-cta {

    background-image: linear-gradient(rgb(17 27 26 / 55%), rgb(17 27 26 / 70%)), url("./main-banner-atlas-iran-gardi.png");

    background-position: center;

    background-repeat: no-repeat;

    background-size: cover;

    padding: 72px 32px;

    text-align: center;

    color: var(--light);

}



.about-cta h2 {

    font-size: 30px;

    font-weight: 700;

    margin-bottom: 14px;

}



.about-cta p {

    font-size: 15px;

    opacity: 0.9;

    margin-bottom: 32px;

}



.cta-btns {

    display: flex;

    gap: 16px;

    justify-content: center;

    flex-wrap: wrap;

}



.btn-white {

    background: var(--light);

    color: var(--green);

    border: none;

    padding: 14px 32px;

    border-radius: 5px;

    font-size: 15px;

    transition: all 0.2s;

}



.btn-white:hover {

    background: var(--lightgreen);

    color: var(--light);

    transform: translateY(-2px);

}



.btn-outline-white {

    background: transparent;

    color: var(--light);

    border: 1px solid var(--light);

    padding: 14px 32px;

    border-radius: 5px;

    font-size: 15px;

    transition: all 0.2s;

}



.btn-outline-white:hover {

    background: rgba(255, 255, 255, 0.15);

}



.about-closing {

    background-image: linear-gradient(rgb(17 27 26 / 55%), rgb(17 27 26 / 70%)), url("./images/main-banner-atlas-iran-gardi.png");

    background-position: center;

    background-repeat: no-repeat;

    background-size: cover;

    padding: 72px 32px;

    text-align: center;

    color: var(--light);

}



.about-closing-title {

    font-size: 24px;

    margin-bottom: 12px;

}



.about-closing-text {

    font-size: 14px;

    color: var(--gray);

    max-width: 500px;

    margin: 0 auto 30px;

    line-height: 1.8;

}



.page-hero {

    background-image: var(--atlas-hero-bg, url("./images/main-banner-atlas-iran-gardi.png"));

    background-position: center;

    background-repeat: no-repeat;

    background-size: cover;

    padding: 80px 32px;

    text-align: center;

    overflow: hidden;

    height: 380px;

    color: var(--light);

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    margin-bottom: 60px;

}



.contact-grid {

    display: grid;

    grid-template-columns: 1fr 1fr 380px;

    gap: 40px;

    padding: 60px 0;

}



.contact-grid-card {

    background: var(--light);

    padding: 36px;

    border-radius: 10px;

    box-shadow: 0 0 3px 0 var(--gray);

}



.contact-grid-card-title {

    font-size: 20px;

    font-weight: 700;

    color: var(--green-dark);

    margin-bottom: 6px;

}



.contact-grid-card-sub {

    font-size: 13px;

    color: var(--text-light);

    margin-bottom: 28px;

}



.form-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 16px;

}





.form-group label {

    display: block;

    font-size: 13px;

    font-weight: 600;

    color: var(--gray-700);

    margin-bottom: 6px;

}



.form-group input,

.form-group select,

.form-group textarea {

    width: 100%;

    padding: 8px 14px;

    border: 1px solid var(--gray);

    border-radius:10px;

    font-size: 14px;

    transition: border-color .2s, box-shadow .2s;

    outline: none;

    

}



.form-group input:focus,

.form-group select:focus,

.form-group textarea:focus {

    border-color: var(--green-accent);

    box-shadow: 0 0 0 3px rgba(58, 140, 98, .12);

}



.form-group textarea {

    resize: vertical;

    min-height: 130px;

}



.btn-submit {

    width: 100%;

    background: var(--green-dark);

    color: var(--light);

    border: none;

    padding: 14px;

    border-radius: var(--radius-sm);

    font-size: 15px;

    font-weight: 700;

    cursor: pointer;

    transition: background .2s, transform .1s;

    margin-top: 8px;

}



.btn-submit:hover {

    background: var(--green-mid);

    transform: translateY(-1px);

}



.btn-submit:active {

    transform: translateY(0);

}



.info-card {

    background: var(--green-bg);

    border: 1px solid var(--green-pale);

    border-radius: var(--radius);

    padding: 24px;

}



.info-card-title {

    font-size: 15px;

    font-weight: 700;

    color: var(--green-dark);

    margin-bottom: 16px;

    display: flex;

    align-items: center;

    gap: 8px;

}



.info-item {

    display: flex;

    align-items: flex-start;

    gap: 12px;

    margin-bottom: 14px;

    padding-bottom: 14px;

    border-bottom: 1px solid var(--green-pale);

}



.info-item:last-child {

    margin-bottom: 0;

    padding-bottom: 0;

    border-bottom: none;

}



.info-icon {

    width: 38px;

    height: 38px;

    background: var(--lightgreen);

    border-radius: 10px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    font-size: 16px;

}

.info-icon i{

    color: var(--green-dark);

}

.info-label {

    font-size: 12px;

    margin-bottom: 2px;

}



.info-value {

    display: block;

    font-size: 14px;

    font-weight: 600;

    transition: color .2s;

}



.info-value:hover {

    color: var(--green);

}



.social-card {

    background: var(--white);

    border: 1px solid var(--gray-100);

    border-radius: var(--radius);

    padding: 24px;

    box-shadow: var(--shadow-sm);

}



.social-links {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;

    margin-top: 14px;

}



.social-btn {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 10px 14px;

    border-radius: var(--radius-sm);

    font-size: 13px;

    font-weight: 600;

    text-decoration: none;

    transition: all .2s;

    border: 1.5px solid var(--gray-300);

    color: var(--gray-700);

}



.social-btn:hover {

    border-color: var(--green-accent);

    color: var(--green-accent);

    background: var(--green-bg);

}



.map-section {

    padding: 0 0 60px;

}



.map-section-title {

    font-size: 22px;

    font-weight: 700;

    color: var(--green-dark);

    margin-bottom: 20px;

}



.map-placeholder {

    width: 100%;

    height: 340px;

    background: linear-gradient(135deg, #e8f5e9, #c8e6c9);

    border-radius: var(--radius);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 14px;

    position: relative;

    overflow: hidden;

}



.map-placeholder::before {

    content: '📍';

    font-size: 48px;

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -70%);

}



.map-placeholder span {

    margin-top: 60px;

}



.faq-section {

    padding: 0 0 60px;

}



.section-header {

    margin-bottom: 32px;

}



.section-label {

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .08em;

    text-transform: uppercase;

    color: var(--green-accent);

    margin-bottom: 8px;

}



.section-title {

    font-size: 24px;

    font-weight: 700;

    color: var(--green-dark);

}



.faq-list {

    display: flex;

    flex-direction: column;

    gap: 12px;

}



.faq-item {

    border: 1.5px solid var(--gray-100);

    border-radius: var(--radius-sm);

    overflow: hidden;

}



.faq-q {

    padding: 16px 20px;

    font-size: 14px;

    font-weight: 600;

    color: var(--text-main);

    cursor: pointer;

    display: flex;

    justify-content: space-between;

    align-items: center;

    background: var(--white);

    transition: background .2s;

}



.faq-q:hover {

    background: var(--gray-50);

}



.faq-q .arrow {

    font-size: 18px;

    color: var(--green-accent);

    transition: transform .2s;

}



.faq-a {

    padding: 0 20px;

    max-height: 0;

    overflow: hidden;

    font-size: 13px;

    color: var(--text-light);

    line-height: 1.8;

    transition: max-height .3s ease, padding .3s;

    background: var(--gray-50);

}



.faq-item.open .faq-q {

    background: var(--green-bg);

    color: var(--green-dark);

}



.faq-item.open .faq-q .arrow {

    transform: rotate(45deg);

}



.faq-item.open .faq-a {

    max-height: 200px;

    padding: 14px 20px;

}



.footer-social-icons {

    margin-top: 20px;

}



.footer-social-icons ul {

    display: flex;

    gap: 12px;

}



.footer-social-icons a {

    width: 34px;

    height: 34px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .12);

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--light);

    transition: background .2s;

}



.footer-social-icons a:hover {

    background: rgba(255, 255, 255, .25);

}



.form-alert {

    margin: 20px 0;

    padding: 14px 18px;

    border-radius: var(--radius-sm);

    font-size: 14px;

    font-weight: 600;

}



.form-alert-success {

    background: var(--green-bg);

    color: var(--green-dark);

    border: 1px solid var(--green-pale);

}



.form-alert-error {

    background: #fdecec;

    color: #b3261e;

    border: 1px solid #f3c2c2;

}



.social-card-title {

    font-size: 15px;

    font-weight: 700;

    color: var(--green-dark);

}



.atlas-breadcrumb {

    font-size: 13px;

    color: var(--text-light);

    margin: 16px 0;

}



.atlas-breadcrumb a {

    color: var(--green-accent);

}



.single-prod-desc {

    font-size: 14px;

    line-height: 1.9;

    color: var(--darkgray);

    margin: 14px 0;

}



.single-prod-rating {

    display: block;

    margin: 8px 0;

}



.single-post-thumbnail img {

    width: 100%;

    max-height: 480px;

    object-fit: cover;

    border-radius: 10px;

    margin-bottom: 24px;

}



.single-post-content {

    font-size: 15px;

    line-height: 2;

    color: var(--darkgray);

}



.single-post-content h2,

.single-post-content h3 {

    margin: 24px 0 12px;

}



.single-post-content p {

    margin-bottom: 16px;

}



.single-post-content img {

    border-radius: 10px;

    margin: 16px 0;

}



.single-post-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin: 24px 0;

}



.menu-toggle {

    display: none;

    flex-direction: column;

    justify-content: center;

    gap: 5px;

    width: 40px;

    height: 40px;

    padding: 0;

}



.menu-toggle span {

    display: block;

    width: 100%;

    height: 2px;

    background-color: var(--darkgray);

    border-radius: 2px;

    transition: transform .2s, opacity .2s;

}



.menu-toggle[aria-expanded="true"] span:nth-child(1) {

    transform: translateY(7px) rotate(45deg);

}



.menu-toggle[aria-expanded="true"] span:nth-child(2) {

    opacity: 0;

}



.menu-toggle[aria-expanded="true"] span:nth-child(3) {

    transform: translateY(-7px) rotate(-45deg);

}



@media (max-width: 1200px) {

    .travel-sugestion-item {

        width: calc(33.33% - 15px);

    }



    .blog-contents {

        grid-template-columns: repeat(3, 1fr);

    }



    .contact-grid {

        grid-template-columns: 1fr 1fr;

    }



    .map-section {

        grid-column: 1 / -1;

    }

}



@media (max-width: 991px) {



    .single-prod > .row {

        grid-template-columns: 1fr;

    }



    .main-menu {

        height: auto;

        padding: 15px 0;

        display: flex;

        flex-wrap: wrap;

        align-items: center;

    }



    /* ردیف اول: همبرگری (راست) - لوگو (وسط) - دکمه ورود (چپ)، هر سه توی یک خط */

    .menu-toggle {

        display: flex !important;

        visibility: visible !important;

        opacity: 1 !important;

        order: 1;

        width: auto;

        flex: 0 0 auto;

    }



    .menu-logo {

        order: 2;

        width: auto;

        max-width: none;

        flex: 1 1 auto;

        display: flex;

        flex-direction: column;

        align-items: center;

        text-align: center;

    }



    .login-button {

        order: 3;

        width: auto;

        max-width: none;

        flex: 0 0 auto;

        margin: 0;

    }



    /* ردیف دوم: نوار جستجو، تمام عرض */

    .search-bar-main {

        order: 4;

        width: 100%;

        max-width: none;

        flex: 0 0 100%;

        margin-top: 12px;

    }



    .main-nav {

        order: 5;

        width: 100%;

        max-height: 0;

        overflow: hidden;

        transition: max-height .3s ease;

    }



    .main-nav.is-open {

        max-height: 500px;

        margin-top: 12px;

    }



    .main-nav ul,

    .header-menu {

        flex-direction: column;

        align-items: flex-start;

        gap: 4px;

    }



    .main-nav li {

        margin: 0;

        width: 100%;

        padding: 10px 0;

        border-bottom: 1px solid var(--shadow);

    }



    .footer-grid {

        grid-template-columns: 1fr 1fr;

        gap: 24px;

    }



    .mega-slider {

        margin-top: 0;

    }



    .mega-slider-bg {

        height: auto;

    }



    .mega-slider-form {

        height: auto;

        margin-bottom: 20px;

    }



    .index-title h2 {

        font-size: 26px;

    }



    .index-title h3 {

        font-size: 18px;

    }



    .pin-palce-index {

        width: 100%;

    }



    .pin-palce-index ul {

        flex-wrap: wrap;

        height: auto;

        gap: 12px;

        justify-content: space-around;

    }



    .blog-contents {

        grid-template-columns: repeat(2, 1fr);

    }



    .travel-sugestion-item {

        width: calc(50% - 15px);

    }



    .stats-grid {

        grid-template-columns: repeat(2, 1fr);

    }



    .our-mission-grid {

        grid-template-columns: 1fr;

        gap: 24px;

    }



    .about-values-grid {

        grid-template-columns: repeat(2, 1fr);

    }



    .compare-table-head,

    .compare-table-row {

        grid-template-columns: 1fr;

        text-align: center;

    }



    .about-compare-sections {

        flex-wrap: wrap;

    }



    .single-prod-more-wrapper {

        grid-template-columns: 1fr 1fr;

    }



    .single-prod-img {

        height: auto;

        margin-top: 24px;

    }



    .single-prod-img img {

        height: auto;

    }



    .single-prod-gallery,

    .single-prod-gallery-item {

        height: 280px;

    }



    .single-prod-gallery {

        margin-top: 24px;

    }



    .contact-grid {

        grid-template-columns: 1fr;

    }



    .map-dynamic img {

        height: auto;

    }

}



@media (max-width: 767px) {



    .container,

    .container-fluid {

        padding-left: 16px !important;

        padding-right: 16px !important;

    }



    .about-hero,

    .page-hero {

        height: auto;

        min-height: 260px;

        padding: 48px 16px;

    }



    .about-hero h1 {

        font-size: 28px;

    }



    .about-hero-eyebrow {

        font-size: 22px;

    }



    .footer-grid {

        grid-template-columns: 1fr;

        gap: 20px;

        text-align: center;

    }



    .footer-bottom {

        flex-direction: column;

        gap: 8px;

        text-align: center;

    }



    .footer-social-icons ul {

        justify-content: center;

    }



    .blog-contents {

        grid-template-columns: 1fr;

    }



    .travel-sugestion-items {

        justify-content: center;

    }



    .travel-sugestion-item {

        width: 100%;

    }



    .stats-grid {

        grid-template-columns: 1fr;

    }



    .about-values-grid {

        grid-template-columns: 1fr;

    }



    .single-prod-btn .row {

        flex-wrap: wrap;

    }



    .single-prod-btn .row .col-lg-4 {

        width: 100%;

        margin: 5px 0;

    }



    .single-prod-featur ul {

        flex-wrap: wrap;

    }



    .single-prod-featur ul li {

        flex: 1 1 50%;

        border-left: none !important;

        border-bottom: 1px solid var(--shadow);

    }



    .single-prod-more-wrapper {

        grid-template-columns: 1fr;

    }



    .single-prod-nearby {

        flex-wrap: wrap;

    }



    .single-prod-nearby-item {

        flex: 1 1 45%;

    }



    .form-row {

        grid-template-columns: 1fr;

    }



    .social-links {

        grid-template-columns: 1fr;

    }



    .map-banner-detail {

        width: 100%;

        padding: 0 16px;

    }

}



@media (max-width: 575px) {

    .menu-logo img {

        width: 56px;

    }



    .index-title h2 {

        font-size: 22px;

    }



    .index-title h3 {

        font-size: 15px;

    }



    .travel-sugestion-item {

        width: 100%;

    }



    .travel-sugestion-item img {

        width: 100%;

        height: auto;

        aspect-ratio: 1/1;

    }



    .our-mission-title,

    .about-values-label,

    .section-title {

        font-size: 20px;

    }



    .about-compare-img img {

        height: 220px;

        object-fit: cover;

    }



    .single-prod-nearby-item {

        flex: 1 1 100%;

    }



    .contact-grid-card {

        padding: 20px;

    }



    .map-placeholder {

        height: 220px;

    }

}



@media (max-width: 480px) {

    body {

        font-size: 14px;

    }



    .about-hero h1 {

        font-size: 22px;

    }



    .page-hero h1 {

        font-size: 22px;

    }



    .light-btn,

    .dark-btn,

    .btn-white,

    .btn-outline-white {

        padding: 8px 14px;

        font-size: 13px;

    }



    .search-bar-main input,

    .search-bar-index input {

        height: 38px;

        padding: 0 40px 0 12px;

        font-size: 13px;

    }



    .footer-col-title {

        margin-bottom: 10px;

    }



    .single-prod-featur ul li {

        flex: 1 1 100%;

        justify-content: flex-start;

    }



    .pin-palce-index {

        padding: 10px;

    }



    .pin-palce-index ul {

        gap: 10px;

    }



    .pin-palce-index li {

        gap: 8px;

    }



    .pin-place-index-text {

        font-size: 11px;

    }



    .about-compare-img,

    .about-compare-img img,

    .compare-table {

        width: 100%;

    }



    .menu-logo span {

        display: none;

    }

    .help-map-items{

        margin-top: 20px;

    }

}



.atlas-pagination {

    margin: 40px 0 20px;

}



.atlas-pagination ul.page-numbers {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    gap: 8px;

    list-style: none;

    padding: 0;

}



.atlas-pagination .page-numbers a,

.atlas-pagination .page-numbers span {

    display: flex;

    align-items: center;

    justify-content: center;

    min-width: 40px;

    height: 40px;

    padding: 0 12px;

    border-radius: 8px;

    background-color: var(--lightgray);

    color: var(--darkgray);

    text-decoration: none;

    font-size: 14px;

    transition: background-color .2s, color .2s;

}



.atlas-pagination .page-numbers a:hover {

    background-color: var(--green);

    color: var(--light);

}



.atlas-pagination .page-numbers .current {

    background-color: var(--green);

    color: var(--light);

    font-weight: 700;

}



.atlas-pagination .page-numbers .dots {

    background: transparent;

}



@media (max-width: 575px) {



    .atlas-pagination .page-numbers a,

    .atlas-pagination .page-numbers span {

        min-width: 34px;

        height: 34px;

        padding: 0 8px;

        font-size: 13px;

    }

}



.side-travel-guid ul li.active a {

    color: var(--green);

    font-weight: 700;

}



.atlas-result-type {

    display: inline-block;

    font-size: 11px;

    font-weight: 700;

    color: var(--green);

    background: var(--green-bg);

    padding: 3px 10px;

    border-radius: 20px;

    margin-bottom: 8px;

}



body.has-hero-image .page-hero,

body.has-hero-image .about-hero,

body.has-hero-image .mega-slider-bg {

    background-image: linear-gradient(rgba(17, 27, 26, .35), rgba(17, 27, 26, .65)), var(--atlas-hero-bg);

}

.atlas-comments {

    margin-top: 40px;

    padding-top: 32px;

    border-top: 1px solid var(--shadow);

}

.atlas-comments-title {

    font-size: 20px;

    font-weight: 700;

    color: var(--darkgray);

    margin-bottom: 24px;

}

.atlas-comments{

    background-color: var(--green-pale);

    padding: 10px;

    margin: 5px 0;

    border-radius: 10px;

}

.atlas-comment-list {

    list-style: none;

    padding: 0;

    margin: 0 0 32px;

}

.atlas-comment-list .children {

    list-style: none;

    padding-inline-start: 40px;

    margin: 16px 0 0;

}

.atlas-comment {

    display: flex;

    gap: 14px;

    padding: 20px 0;

    border-bottom: 1px solid var(--shadow);

}

.atlas-comment:last-child {

    border-bottom: none;

}

.atlas-comment-avatar img {

    width: 56px;

    height: 56px;

    border-radius: 50%;

    object-fit: cover;

}

.atlas-comment-body {

    flex: 1;

    min-width: 0;

}

.atlas-comment-meta {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;

    margin-bottom: 8px;

}

.atlas-comment-author {

    font-weight: 700;

    color: var(--darkgray);

    font-size: 15px;

}

.atlas-comment-date {

    font-size: 12px;

    color: var(--text-light);

    text-decoration: none;

}

.atlas-comment-date:hover {

    color: var(--green);

}

.atlas-comment-content {

    font-size: 14px;

    line-height: 1.9;

    color: var(--darkgray);

}

.atlas-comment-content p {

    margin: 0 0 10px;

}

.atlas-comment-reply {

    margin-top: 8px;

}

.atlas-comment-reply a {

    font-size: 13px;

    font-weight: 700;

    color: var(--green);

    text-decoration: none;

}

.atlas-comment-reply a:hover {

    text-decoration: underline;

}

.atlas-comment-awaiting-moderation {

    font-size: 13px;

    color: #b3781e;

    background: #fff6e6;

    border: 1px solid #f3dfb0;

    border-radius: var(--radius-sm);

    padding: 8px 12px;

    margin-bottom: 10px;

}



.atlas-comment-nav {

    display: flex;

    justify-content: space-between;

    gap: 12px;

    margin-bottom: 32px;

    font-size: 14px;

}

.atlas-comment-nav a {

    color: var(--green);

    text-decoration: none;

    font-weight: 600;

}

.atlas-comment-nav a:hover {

    text-decoration: underline;

}



.atlas-comments-closed {

    font-size: 14px;

    color: var(--text-light);

    background: var(--lightgray);

    padding: 14px 18px;

    border-radius: var(--radius-sm);

}



.atlas-comment-form {

    max-width: 640px;

}

#reply-title,

.comment-reply-title {

    font-size: 18px;

    font-weight: 700;

    color: var(--darkgray);

    margin-bottom: 16px;

}

#reply-title small a {

    font-size: 12px;

    font-weight: 400;

    color: var(--text-light);

    margin-right: 8px;

}

.atlas-comment-field label,

.atlas-comment-form .form-group label {

    display: block;

    font-size: 13px;

    font-weight: 600;

    color: var(--darkgray);

    margin-bottom: 6px;

}

.atlas-comment-field textarea {

    width: 100%;

    min-height: 130px;

    padding: 12px 14px;

    border: 1px solid var(--gray-300);

    border-radius: var(--radius-sm);

    font-family: inherit;

    font-size: 14px;

    resize: vertical;

}

.atlas-comment-form input[type="text"],

.atlas-comment-form input[type="email"],

.atlas-comment-form input[type="url"] {

    width: 100%;

    height: 44px;

    padding: 0 14px;

    border: 1px solid var(--gray-300);

    border-radius: var(--radius-sm);

    font-size: 14px;

}

.atlas-comment-form .form-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 16px;

    margin-bottom: 16px;

}

.atlas-comment-form .comment-form-cookies-consent {

    display: flex;

    align-items: center;

    gap: 8px;

    font-size: 13px;

    color: var(--light);

    margin-bottom: 16px;

}



@media (max-width: 575px) {

    .atlas-comment {

        gap: 10px;

    }

    .atlas-comment-avatar img {

        width: 42px;

        height: 42px;

    }

    .atlas-comment-list .children {

        padding-inline-start: 20px;

    }

    .atlas-comment-form .form-row {

        grid-template-columns: 1fr;

        gap: 10px;

    }

}



/* ===================== نقشه تعاملی استان‌های ایران ===================== */



.atlas-map-wrap {

    position: relative;

    width: 100%;

}



.atlas-map-wrap svg {

    width: 100%;

    height: auto;

    display: block;

}



.atlas-map-wrap svg path {

    fill: var(--green-pale);

    stroke: var(--light);

    stroke-width: 1;

    cursor: pointer;

    transition: fill .2s;

}



.atlas-map-wrap svg path:hover,

.atlas-map-wrap svg path.is-active {

    fill: var(--green);

}



.atlas-map-missing {

    background-color: var(--lightgray);

    border: 1px dashed var(--gray);

    border-radius: var(--radius);

    padding: 50px 20px;

    text-align: center;

    color: var(--text-light);

}



.atlas-map-missing i {

    font-size: 30px;

    color: var(--green);

    margin-bottom: 10px;

    display: block;

}



.atlas-map-missing-hint {

    font-size: 12px;

    margin-top: 6px;

    direction: ltr;

    font-family: monospace;

}



/* --- تولتیپ هاور (نسخه صفحه اصلی) --- */

.atlas-map-tooltip {

    position: absolute;

    z-index: 20;

    top: 0;

    right: 0;

    min-width: 190px;

    background-color: var(--light);

    border-radius: var(--radius-sm);

    box-shadow: var(--shadow-sm);

    padding: 14px;

    pointer-events: none;

    transform: translate(0, -8px);

}



.atlas-map-tooltip-title {

    font-size: 14px;

    font-weight: 700;

    margin-bottom: 8px;

    color: var(--green-dark);

}



.atlas-map-tooltip ul {

    display: flex;

    flex-direction: column;

    gap: 5px;

}



.atlas-map-tooltip li {

    display: flex;

    align-items: center;

    justify-content: space-between;

    font-size: 12px;

    color: var(--text-light);

}



.atlas-map-tooltip li b {

    color: var(--green);

    font-weight: 700;

}



/* --- صفحه‌ی اختصاصی نقشه (حالت کلیک) --- */

.atlas-map-page {

    padding: 30px 0 60px;

}



.atlas-map-page .atlas-map-wrap {

    max-width: 620px;

    margin: 0 auto 30px;

}



.atlas-map-hint,

.atlas-map-empty-msg {

    text-align: center;

    color: var(--text-light);

    font-size: 14px;

    margin-top: 20px;

}



.atlas-map-selected-title {

    text-align: center;

    margin-bottom: 20px;

}



.atlas-map-selected-title h2 {

    font-size: 22px;

    font-weight: 700;

    color: var(--green-dark);

}



.atlas-carousel-block {

    margin-bottom: 40px;

}



.atlas-carousel-block-head {

    margin-bottom: 16px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    flex-wrap: wrap;

    gap: 10px;

}



.atlas-carousel-block-head h3 {

    font-size: 18px;

    font-weight: 700;

}



.atlas-carousel-block-head h3 i {

    color: var(--green);

    margin-left: 8px;

}

.atlas-carousel-viewall {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    font-size: 13px;

    font-weight: 700;

    color: var(--green);

    transition: gap .2s;

}

.atlas-carousel-viewall:hover {

    gap: 10px;

}



.atlas-carousel {

    display: flex;

    align-items: center;

    gap: 12px;

    width: 100%;

}



.atlas-carousel-track {

    display: flex;

    flex-wrap: nowrap;

    overflow-x: auto;

    scroll-snap-type: x proximity;

    scroll-behavior: smooth;

    padding-bottom: 4px;

    -webkit-overflow-scrolling: touch;

    scrollbar-width: none;

    gap: 12px;

    width: 100%;

}

.atlas-carousel-track::-webkit-scrollbar {

    display: none;

}

/* کارت کوچک عکس+عنوان توی کروسل - هم‌سایز و هم‌استایل با اسلایدر دسته‌بندی مقاصد صفحه اصلی
   سایز به‌صورت درصدی از عرض کل تنظیم شده تا دقیقاً تعداد مشخصی توی هر ردیف/نما جا بشه: */
.atlas-carousel-photo-item {

    background-color: var(--light);

    border-radius: 8px;

    padding: 12px;

    box-shadow: 0 0 3px 0 var(--darkgray);

    margin: 10px 0;

    text-align: center;

    flex: 0 0 auto;

    /* دسکتاپ بزرگ: ۶ آیتم در هر نما */
    width: calc(16.666% - 10px);

    scroll-snap-align: start;

    display: block;

}

.atlas-carousel-photo-item img {

    width: 100%;

    height: 150px;

    object-fit: cover;

    border-radius: 6px;

    display: block;

}

.atlas-carousel-photo-item h3 {

    font-size: 16px;

    margin-top: 10px;

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

}

/* ریسپانسیو: تعداد آیتم قابل‌مشاهده در هر ردیف بسته به عرض صفحه کم می‌شه */
@media (max-width: 1200px) {
    .atlas-carousel-photo-item {
        /* دسکتاپ معمولی: ۵ آیتم */
        width: calc(20% - 10px);
    }
}

@media (max-width: 991px) {
    .atlas-carousel-photo-item {
        /* تبلت: ۳ آیتم */
        width: calc(33.333% - 9px);
    }

    .atlas-carousel-photo-item img {
        height: 130px;
    }
}

@media (max-width: 575px) {
    .atlas-carousel-photo-item {
        /* موبایل: ۲ آیتم */
        width: calc(50% - 6px);
    }

    .atlas-carousel-photo-item img {
        height: 110px;
    }
}

