/* Homepage polish layer, loaded after v3.css: hero skyline, trust-card proofs, tighter section rhythm. */

/* Hero: dusk sky over a skyline of Iranian landmarks (default «ocean» background only; a custom image or slider keeps its own look) */
.home .px-hero.bg-ocean:not(.has-slides){background:radial-gradient(70% 55% at 50% 100%,rgba(255,140,50,.4),transparent 70%),radial-gradient(110% 80% at 85% 0%,#1d4fd8 0%,transparent 55%),linear-gradient(180deg,#061331 0%,#0a2766 55%,#163f9e 100%)}
.home .px-hero:not(.has-slides){padding-bottom:150px}
.home .px-hero .px-grid-bg{display:none}
.px-skyline{position:absolute;inset:auto 0 0;width:100%;height:240px;z-index:0;pointer-events:none}
.px-skyline .far{fill:rgba(170,200,255,.1)}
.px-skyline .snow{fill:rgba(255,255,255,.3)}
.px-skyline .near{fill:#071636}
.px-skyline .lights{fill:#ffc56b;opacity:.8}
.px-skyline .lights circle{fill:#ff5a4f;animation:px-beacon 2.4s ease-in-out infinite}
@keyframes px-beacon{50%{opacity:.25}}
@media (max-width:640px){.home .px-hero:not(.has-slides){padding-bottom:110px}.px-skyline{height:150px}}

/* Phones: search first, like the big booking sites. Headline stays, the promo pill and subtitle go, trust line becomes one swipeable row */
@media (max-width:640px){
  .home .px-hero:not(.has-slides){padding-top:18px}
  .home .px-hero .px-pill,.home .px-hero-in>p{display:none}
  .home .px-hero h1{font-size:1.7rem;line-height:1.45;margin-bottom:10px}
  .home .px-hero .px-trust{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;white-space:nowrap}
  .home .px-hero .px-trust::-webkit-scrollbar{display:none}
}

/* Trust cards: each small card ends with a concrete detail instead of empty space */
.px-bento .px-b:not(.big){display:flex;flex-direction:column}
.px-bento .px-b:not(.big) p{margin-bottom:16px}
.px-proof{margin-top:auto;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--c-primary-soft);font-size:13px}
.px-proof .dot{grid-row:1/3;width:10px;height:10px;border-radius:50%;background:var(--c-primary);box-shadow:0 0 0 4px rgba(10,88,202,.15)}
.px-proof .dot.ok{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.18)}
.px-proof b{font-size:13.5px;line-height:1.6}
.px-proof small{grid-column:2;color:var(--c-muted);font-size:12px;line-height:1.6}
.px-proof.steps{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.px-proof.steps span{padding:3px 10px;border-radius:99px;background:var(--c-card);border:1px solid var(--c-line);white-space:nowrap;font-size:12.5px}
.px-proof.steps span:last-child{background:var(--c-primary);border-color:transparent;color:#fff}
.px-proof.steps i{flex:1;min-width:10px;border-top:2px dashed var(--c-line)}

/* Popular destinations: real photos, 3x2 grid on desktop, swipeable row on phones */
.px-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.px-city{position:relative;border-radius:20px;overflow:hidden;background:var(--c-line)}
.px-city .ph{display:block;position:relative;aspect-ratio:3/2;color:#fff;text-decoration:none}
.px-city img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.px-city .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,12,32,0) 40%,rgba(4,12,32,.78) 100%)}
.px-city .tx{position:absolute;z-index:1;inset-inline-start:18px;bottom:16px;display:flex;flex-direction:column}
.px-city .tx b{font-size:22px;font-weight:800;line-height:1.3}
.px-city .tx small{font-size:13px;opacity:.85}
.px-city .go{position:absolute;z-index:1;inset-inline-end:16px;bottom:18px;display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);font-size:12.5px;font-weight:600;transition:background .2s}
.px-city .go .icon{width:14px;height:14px}
.px-city .ph:hover img,.px-city .ph:focus-visible img{transform:scale(1.06)}
.px-city .ph:hover .go{background:var(--c-accent,#ff7a00);border-color:transparent}
.px-city .cr{position:absolute;z-index:2;top:8px;left:10px;font-size:10px;line-height:1.4;color:rgba(255,255,255,.75);text-shadow:0 1px 2px rgba(0,0,0,.6)}
.px-city .cr a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4)}
@media (max-width:900px){.px-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .px-city-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}
  .px-city-grid::-webkit-scrollbar{display:none}
  .px-city{flex:0 0 78%;scroll-snap-align:start}
}

/* Popular flights: destination photo on top, a boarding-pass style route line, price + CTA */
body .sm-deal2 .art{height:120px;background:#0a2766 center/cover no-repeat}
body .sm-deal2 .art[data-to="MHD"]{background-image:url(img/cities/mashhad.webp)}
body .sm-deal2 .art[data-to="SYZ"]{background-image:url(img/cities/shiraz.webp)}
body .sm-deal2 .art[data-to="KIH"]{background-image:url(img/cities/kish.webp)}
body .sm-deal2 .art[data-to="IFN"]{background-image:url(img/cities/isfahan.webp)}
body .sm-deal2 .art[data-to="THR"],body .sm-deal2 .art[data-to="IKA"]{background-image:url(img/cities/tehran.webp)}
body .sm-deal2 .art[data-to="GSM"]{background-image:url(img/cities/qeshm.webp)}
body .sm-deal2 .art:is([data-to="MHD"],[data-to="SYZ"],[data-to="KIH"],[data-to="IFN"],[data-to="THR"],[data-to="IKA"],[data-to="GSM"]) .sm-artsvg{display:none}
body .sm-deal2 .art{transition:background-size .8s}
body .sm-deal2 .art .lbl small{font-size:12px;opacity:.85}
body .sm-deal2 .art .lbl b{font-size:20px;font-weight:800}
body .sm-deal2 .b{gap:12px;padding:14px 16px 16px}
body .sm-deal2 .tl{display:flex;align-items:center;gap:10px}
body .sm-deal2 .tl .pt{display:flex;flex-direction:column;line-height:1.35}
body .sm-deal2 .tl .pt:last-child{text-align:end}
body .sm-deal2 .tl .pt b{font-size:19px;font-weight:800;color:var(--c-text,#10233f)}
body .sm-deal2 .tl .pt small{font-size:12px;color:var(--m,#6b7280)}
body .sm-deal2 .tl .pt small i{font-style:normal;font-size:11px;opacity:.75}
body .sm-deal2 .tl .ln{flex:1;position:relative;height:18px;display:grid;place-items:center;color:var(--p,#0a58ca)}
body .sm-deal2 .tl .ln::before{content:"";position:absolute;inset-inline:0;top:50%;border-top:2px dashed var(--l,#dbe3ef)}
body .sm-deal2 .tl .ln svg{position:relative;width:18px;height:18px;padding:0 4px;box-sizing:content-box;background:var(--c-card,#fff);transform:scaleX(-1)}
body .sm-deal2 .h{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--m,#6b7280);padding-bottom:12px;border-bottom:1px dashed var(--l,#dbe3ef)}
body .sm-deal2 .h small{margin:0}
body .sm-deal2 .p{display:flex;align-items:center;justify-content:space-between;margin:0}
body .sm-deal2 .p>span:first-child{display:flex;flex-direction:column;line-height:1.3}
body .sm-deal2 .p>span:first-child small{font-size:11.5px;color:var(--m,#6b7280)}
body .sm-deal2 .p b{font-size:18px;color:#0f7a4f;font-weight:800}
body .sm-deal2 .p b small{font-size:11.5px;font-weight:500;color:var(--m,#6b7280)}
body .sm-deal2 .p .go{padding:7px 14px;border-radius:99px;background:var(--c-primary-soft,#e8f0fe);color:var(--p,#0a58ca);font-size:12.5px;font-weight:700;transition:background .2s,color .2s}
body .sm-deal2:hover .p .go{background:var(--c-accent,#ff7a00);color:#fff}

/* Dark theme: keep the price and route readable on dark cards */
[data-theme=dark] body .sm-deal2 .p b{color:#4ade80}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body .sm-deal2 .p b{color:#4ade80}}

/* Phone tab bar (like the big booking apps) + footer accordion */
.bnav{display:none}
@media (max-width:640px){
  .bnav{position:fixed;z-index:900;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:var(--c-card,#fff);border-top:1px solid var(--c-line,#e3e8f2);box-shadow:0 -8px 24px -18px rgba(10,30,70,.35)}
  .bnav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:12px;color:var(--c-muted,#5b6478);font-size:11px;font-weight:600;text-decoration:none;-webkit-tap-highlight-color:transparent}
  .bnav a .icon{width:22px;height:22px}
  .bnav a.on{color:var(--c-primary,#0a58ca)}
  .bnav a.on .icon{background:var(--c-primary-soft,#e8f0fd);border-radius:10px;padding:3px 12px;box-sizing:content-box;margin-block:-3px}
  .bnav a:active{transform:scale(.94)}
  body.has-bnav{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  body.has-bnav .to-top{display:none}
  body.nav-open .bnav,body.sm-noscroll .bnav{display:none} /* menu, bottom sheets and drawers sit above the tab bar */
  .site-footer .f-col>h4{display:flex;align-items:center;justify-content:space-between;margin:0!important;padding:14px 0!important;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.08)}
  .site-footer .f-col>h4::after{content:"";display:block!important;position:static;width:8px;height:8px;background:none;border-radius:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-inline-end:4px;opacity:.6;transition:transform .2s}
  .site-footer .f-col.open>h4::after{transform:rotate(-135deg)}
  .site-footer .f-col>h4+*{display:none;padding-block:8px 12px}
  .site-footer .f-col.open>h4+*{display:block}
  .site-footer .footer-grid{gap:0!important;grid-template-columns:1fr!important}
  .site-footer .f-about{padding-bottom:16px}
}

/* Section rhythm: less dead space between homepage sections */
.home .section,.home .px-sec{padding-block:56px}
.home .px-icons-sec{padding-bottom:20px}
.home .sm-sec-h{margin-top:24px}
@media (max-width:640px){.home .section,.home .px-sec{padding-block:40px}}

@media (prefers-reduced-motion:reduce){.px-skyline .lights circle{animation:none}.px-city img{transition:none}}
