/*
Theme Name: SafarMarket
Description: قالب اختصاصی سفرمارکت - فروش آنلاین بلیط هواپیما (راست‌چین، واکنش‌گرا)
Version: 1.1.0
Author: SafarMarket
Text Domain: safarmarket
Requires PHP: 8.1
*/
@font-face{font-family:Vazirmatn;src:url(assets/fonts/Vazirmatn-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(assets/fonts/Vazirmatn-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(assets/fonts/Vazirmatn-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(assets/fonts/Vazirmatn-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}

/* ---- design tokens (single source of truth: theme + plugin + admin all read these names) ---- */
:root{
  --c-primary:#0a58ca;--c-primary-dark:#083f91;--c-primary-light:#4c86dd;--c-primary-soft:#e8f0fd;
  --c-accent:#ff7a00;--c-accent-dark:#e06a00;--c-accent-soft:#fff1e0;
  --c-text:#10182b;--c-muted:#5b6478;--c-line:#e3e8f2;--c-bg:#eef2f9;--c-card:#fff;--c-cloud:#f4f7fc;
  --c-ok:#198754;--c-ok-soft:#e6f4ec;--c-warn:#9a5b00;--c-warn-soft:#fff4e0;--c-err:#c62828;--c-err-soft:#fdecec;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:56px;
  --r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-full:999px;
  --sh-1:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.05);
  --sh-2:0 8px 20px rgba(16,24,40,.09);
  --sh-3:0 16px 36px rgba(16,24,40,.14);
  --sh-brand:0 16px 32px rgba(10,88,202,.2);
  --fs-xs:.75rem;--fs-sm:.85rem;--fs-md:1.1rem;--fs-lg:1.3rem;--fs-xl:1.6rem;--fs-2xl:2rem;--fs-3xl:2.5rem;
  /* destination-card gradients — each tied to a real place's character, cycled across route cards */
  --g-teal:linear-gradient(135deg,#0e7490,#06b6d4);
  --g-gold:linear-gradient(135deg,#92400e,#f59e0b);
  --g-violet:linear-gradient(135deg,#6d28d9,#a78bfa);
  --g-rose:linear-gradient(135deg,#9d174d,#fb7185);
  --g-sunset:linear-gradient(135deg,#9a3412,#fb923c);
  --g-forest:linear-gradient(135deg,#166534,#4ade80);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Vazirmatn,Tahoma,sans-serif;background:var(--c-bg);color:var(--c-text);font-size:15px;line-height:1.85}
a{color:var(--c-primary);text-decoration:none}a:hover{color:var(--c-primary-dark)}
img,svg{max-width:100%;height:auto}
h1,h2,h3,h4{line-height:1.5;margin:0 0 .6em;text-wrap:balance}
button,input,select,textarea{font-family:inherit}
:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.container{max-width:1200px;margin:0 auto;padding:0 var(--sp-4)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.icon{width:1.15em;height:1.15em;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex:none}
.icon.flip{transform:scaleX(-1)}

/* header */
.site-header{background:var(--c-card);border-bottom:1px solid var(--c-line);position:sticky;top:0;z-index:100}
.admin-bar .site-header{top:32px}
.site-header .container{display:flex;align-items:center;gap:var(--sp-6);height:68px}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:var(--fs-xl);color:var(--c-text);white-space:nowrap}
.brand .mark{width:32px;height:32px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--c-primary),var(--c-primary-light));display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.brand .mark .icon{width:17px;height:17px;stroke:#fff}
.brand span{color:var(--c-accent)}
.brand img{max-height:44px;width:auto}
.main-nav{flex:1}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.main-nav a{display:block;padding:8px 14px;border-radius:var(--r-md);color:var(--c-text);font-weight:600;font-size:var(--fs-sm)}
.main-nav a:hover,.main-nav .current-menu-item>a{background:var(--c-primary-soft);color:var(--c-primary)}
.header-actions{display:flex;gap:8px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--r-full);font-weight:700;font-size:var(--fs-sm);background:var(--c-primary);color:#fff!important;border:0;cursor:pointer}
.btn:hover{background:var(--c-primary-dark)}
.btn-ghost{background:var(--c-cloud);color:var(--c-text)!important;border:1px solid var(--c-line)}
.btn-ghost:hover{background:var(--c-primary-soft);border-color:var(--c-primary-soft);color:var(--c-primary)!important}
.nav-toggle{display:none;background:none;border:0;padding:4px;cursor:pointer;color:var(--c-text)}
.nav-toggle .icon{width:24px;height:24px}

/* hero */
.hero{background:linear-gradient(175deg,var(--c-primary-dark),var(--c-primary) 65%);color:#fff;padding:var(--sp-8) 0 130px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto -10% -60px -10%;height:140px;background:var(--c-bg);border-radius:50% 50% 0 0}
.hero-routes{position:absolute;inset:0;opacity:.55;z-index:0}
.hero .container{position:relative;z-index:1}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);padding:6px 14px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:700;margin-bottom:var(--sp-4)}
.hero-eyebrow .icon{width:14px;height:14px}
.hero h1{font-size:clamp(1.6rem,3.4vw,var(--fs-2xl));font-weight:800;margin-bottom:8px;max-width:640px}
.hero p{opacity:.85;margin:0;font-size:1.02rem;max-width:520px}
.hero-search{margin-top:-108px;position:relative;z-index:5}
.smf-services{display:flex;gap:4px;position:relative;z-index:4;padding-inline:8px}
.smf-services__tab{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:var(--r-md) var(--r-md) 0 0;font-weight:700;font-size:.88rem;background:rgba(255,255,255,.14);color:#fff}
.smf-services__tab.is-active{background:var(--c-card);color:var(--c-primary)}
.smf-services__tab.is-soon{opacity:.8}
.smf-services__tab em{font-style:normal;font-size:.66rem;font-weight:700;background:rgba(255,255,255,.28);padding:2px 7px;border-radius:var(--r-full);margin-inline-start:2px}
.smf-services__tab.is-active em{background:var(--c-cloud);color:var(--c-muted)}
.hero-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,0,.35),transparent 70%);top:-160px;left:-120px;z-index:0;pointer-events:none}

/* trust row — bold colored tiles, not pale boxes */
.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);margin-top:var(--sp-6)}
.trust-card{border-radius:var(--r-lg);padding:16px;box-shadow:var(--sh-2);display:flex;align-items:center;gap:12px;color:#fff;transition:transform .15s}
.trust-card:hover{transform:translateY(-3px)}
.trust-card.g-teal{background:var(--g-teal)}.trust-card.g-gold{background:var(--g-gold)}
.trust-card.g-violet{background:var(--g-violet)}.trust-card.g-rose{background:var(--g-rose)}
.trust-card.g-sunset{background:var(--g-sunset)}.trust-card.g-forest{background:var(--g-forest)}
.trust-card .ic{width:42px;height:42px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.22);color:#fff;flex:none}
.trust-card b{display:block;font-size:var(--fs-sm);color:#fff}
.trust-card span{font-size:var(--fs-xs);color:rgba(255,255,255,.85)}

/* sections */
.section{padding:var(--sp-8) 0}
.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:var(--sp-5);gap:var(--sp-3);flex-wrap:wrap}
.section-title h2{margin:0;font-size:var(--fs-lg);font-weight:800}
.section-title p{margin:4px 0 0;color:var(--c-muted);font-size:var(--fs-sm)}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}
.feature{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-5);text-align:center}
.feature .ico{width:46px;height:46px;border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--c-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.feature .ico .icon{width:22px;height:22px}
.feature b{display:block;margin-bottom:4px}
.feature p{margin:0;color:var(--c-muted);font-size:var(--fs-sm)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.post-card{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;color:var(--c-text);transition:.15s}
.post-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2);color:var(--c-text)}
.post-card .thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--c-primary-light),var(--c-primary));display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}
.post-card .thumb .icon{width:32px;height:32px}
.post-card .thumb img{width:100%;height:100%;object-fit:cover}
.post-card .body{padding:14px 16px}
.post-card small{color:var(--c-muted)}
.faq details{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-md);padding:14px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:700}
.faq p{color:var(--c-muted);margin:.6em 0 0}
.app-cta{background:linear-gradient(120deg,var(--c-accent),#ff9a3c 70%);color:#fff;border-radius:var(--r-xl);padding:var(--sp-6) var(--sp-7);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;box-shadow:0 16px 32px rgba(255,122,0,.22)}
.app-cta h3{margin:0;display:flex;align-items:center;gap:8px;font-size:var(--fs-lg)}
.app-cta .smf-btn{flex:none;font-weight:800}

.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.step-card{position:relative;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-6) var(--sp-5) var(--sp-5);text-align:center}
.step-no{position:absolute;top:14px;left:16px;font-size:var(--fs-sm);font-weight:800;color:var(--c-line)}
.step-card .ico{width:50px;height:50px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.step-card .ico .icon{width:24px;height:24px}
.step-card b{display:block;margin-bottom:6px;font-size:var(--fs-md)}
.step-card p{margin:0;color:var(--c-muted);font-size:var(--fs-sm)}

/* content */
.page-wrap{padding:var(--sp-7) 0 var(--sp-5)}
.page-head{margin-bottom:var(--sp-4)}
.page-head h1{font-size:var(--fs-xl);margin:0}
.entry{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-6)}
.entry-plain{background:none;border:0;padding:0}
.entry p{margin:0 0 1em}
.breadcrumb{font-size:var(--fs-sm);color:var(--c-muted);margin-bottom:6px}
.e404-ico{width:64px;height:64px;margin:0 auto 8px;color:var(--c-muted)}
.e404-ico .icon{width:100%;height:100%;stroke-width:1.3}

/* footer */
.site-footer{background:#0d1526;color:#b8c2d6;padding:var(--sp-8) 0 var(--sp-4);margin-top:var(--sp-7)}
.site-footer a{color:#dbe3f2}.site-footer a:hover{color:#fff}
.site-footer h4{color:#fff;font-size:1rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-6)}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:6px}
.f-brand{display:flex;align-items:center;gap:8px;color:#fff;font-weight:800;font-size:var(--fs-xl);margin-bottom:10px}
.copyright{border-top:1px solid #22324f;margin-top:var(--sp-6);padding-top:var(--sp-4);text-align:center;font-size:var(--fs-sm)}
.trust{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.trust span{background:#fff;border-radius:var(--r-md);width:80px;height:80px;display:flex;align-items:center;justify-content:center;color:var(--c-muted);font-size:var(--fs-xs);text-align:center}

@media (max-width:960px){
  .features,.posts,.steps-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .trust-row{grid-template-columns:1fr 1fr;margin-top:var(--sp-4)}
  .hero-glow{display:none}
}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:720px){
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;top:68px;inset-inline:0;background:var(--c-card);border-bottom:1px solid var(--c-line);padding:8px 16px;box-shadow:var(--sh-2)}
  .main-nav.is-open{display:block}
  .main-nav ul{flex-direction:column}
  .site-header .container{gap:12px}
  .header-actions .hide-sm{display:none}
  .hero{padding:var(--sp-5) 0 110px}.hero h1{font-size:1.4rem}
  .features,.posts,.footer-grid,.steps-grid{grid-template-columns:1fr}
  .trust-row{grid-template-columns:1fr}
  .app-cta{padding:var(--sp-5)}
}
