/*
Theme Name: Iran Health Tour
Theme URI: https://iranhealthtour.com
Author: Iran Health Tour
Description: A fast, multilingual and RTL-ready medical tourism theme.
Version: 3.5.1
Text Domain: iran-health-tour
Requires at least: 6.5
Requires PHP: 8.1
*/

:root {
  --iht-ink: #12332f;
  --iht-muted: #60726f;
  --iht-primary: #087f72;
  --iht-primary-dark: #055b53;
  --iht-mint: #dff5ee;
  --iht-gold: #d7a84a;
  --iht-secondary: #d7a84a;
  --iht-secondary-dark: #a87516;
  --iht-secondary-soft: #fff6dc;
  --iht-sand: #f4eee5;
  --iht-cream: #fbfaf6;
  --iht-white: #fff;
  --iht-border: #dce9e5;
  --iht-shadow: 0 20px 60px rgba(18, 51, 47, .1);
  --iht-radius: 28px;
  --iht-font: "Tahoma", "Arial", sans-serif;
}

@font-face { font-family: "Cairo IHT"; src: url("assets/fonts/cairo-arabic-variable.woff2") format("woff2"); font-style: normal; font-weight: 200 1000; font-display: swap; }
[lang="ar"], [dir="rtl"] { font-family: "Cairo IHT", Tahoma, Arial, sans-serif; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--iht-ink); background: var(--iht-white); font-family: var(--iht-font); line-height: 1.75; }
body.rtl { text-align: right; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.iht-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.iht-section { padding: 92px 0; }
.iht-section--soft { background: linear-gradient(135deg, var(--iht-cream), var(--iht-sand)); }
.iht-kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--iht-primary); font-weight: 700; font-size: .88rem; letter-spacing: .02em; }
.iht-kicker::before { content: ""; width: 28px; height: 2px; background: var(--iht-secondary); }
.iht-title { max-width: 760px; margin: 12px 0 18px; font-size: clamp(2rem, 4.8vw, 4.75rem); line-height: 1.15; letter-spacing: -.035em; }
.iht-section-title { margin: 8px 0 14px; font-size: clamp(1.8rem, 3.3vw, 3.1rem); line-height: 1.3; letter-spacing: -.025em; }
.iht-lead { max-width: 690px; margin: 0; color: var(--iht-muted); font-size: 1.12rem; }
.iht-btn { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 9px; padding: 11px 24px; border: 1px solid transparent; border-radius: 999px; background: var(--iht-primary); color: #fff; font-weight: 700; cursor: pointer; transition: .2s ease; }
.iht-btn:hover { background: var(--iht-primary-dark); transform: translateY(-2px); }
.iht-btn--outline { border-color: rgba(18,51,47,.2); background: transparent; color: var(--iht-ink); }
.iht-btn--outline:hover { border-color: var(--iht-primary); background: var(--iht-mint); color: var(--iht-ink); }
.iht-btn--light { background: #fff; color: var(--iht-primary-dark); }
.iht-btn--light:hover, .iht-btn--light:focus-visible { background: var(--iht-secondary); color: var(--iht-ink); }
.iht-btn--light:active { background: var(--iht-secondary-dark); color: #fff; transform: translateY(0); }
.iht-hero--immersive .iht-btn:not(.iht-btn--outline), .iht-page-hero .iht-btn:not(.iht-btn--outline) { background: var(--iht-secondary); color: var(--iht-ink); }
.iht-hero--immersive .iht-btn:not(.iht-btn--outline):hover, .iht-page-hero .iht-btn:not(.iht-btn--outline):hover { background: #e3b958; color: var(--iht-ink); }

.iht-topbar { padding: 7px 0; background: var(--iht-ink); color: rgba(255,255,255,.82); font-size: .78rem; }
.iht-topbar__inner, .iht-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.iht-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(18,51,47,.08); background: rgba(255,255,255,.94); backdrop-filter: blur(16px); }
.iht-header__inner { min-height: 82px; }
.iht-logo { display: flex; align-items: center; min-width: 210px; }
.iht-logo img { width: auto; max-width: 225px; max-height: 62px; object-fit: contain; }
.iht-nav ul { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.iht-nav a { font-size: .92rem; font-weight: 700; }
.iht-header__actions { display: flex; align-items: center; gap: 10px; }
.iht-header__actions > .iht-btn { background: var(--iht-secondary); color: var(--iht-ink); }
.iht-header__actions > .iht-btn:hover { background: #e3b958; color: var(--iht-ink); }
.iht-lang { padding: 8px 10px; border: 1px solid var(--iht-border); border-radius: 999px; font-size: .8rem; }
.iht-menu-toggle { display: none; border: 0; background: transparent; color: var(--iht-ink); font-size: 1.5rem; }

.iht-hero { position: relative; overflow: hidden; padding: 84px 0 74px; background: radial-gradient(circle at 15% 10%, #e6f8f2, transparent 35%), linear-gradient(145deg, #fbfaf6 0%, #fff 55%, #edf8f4 100%); }
.iht-hero::after { content: ""; position: absolute; inset-inline-end: -8vw; top: 8%; width: 42vw; height: 42vw; border: 1px solid rgba(8,127,114,.12); border-radius: 50%; box-shadow: 0 0 0 55px rgba(8,127,114,.035), 0 0 0 110px rgba(8,127,114,.02); }
.iht-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 70px; }
.iht-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.iht-trustline { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 34px; color: var(--iht-muted); font-size: .85rem; }
.iht-trustline span::before { content: "\f00c"; margin-inline-end: 7px; color: var(--iht-primary); font-family: "Font Awesome 7 Free"; font-weight: 900; }
.iht-hero-card { position: relative; min-height: 500px; padding: 38px; border: 1px solid rgba(255,255,255,.7); border-radius: 44px; background: linear-gradient(155deg, #0b8b7d, #075b55); color: #fff; box-shadow: var(--iht-shadow); }
.iht-hero-card::before { content: "\f0f1"; position: absolute; inset-inline-end: 34px; top: 38px; color: rgba(255,255,255,.11); font-family: "Font Awesome 7 Free"; font-size: 7rem; font-weight: 900; line-height: 1; }
.iht-hero-card__eyebrow { color: #b9e9dc; font-size: .86rem; font-weight: 700; }
.iht-hero-card h2 { max-width: 430px; margin: 18px 0; font-size: clamp(2rem, 3.3vw, 3.3rem); line-height: 1.35; }
.iht-hero-card__steps { display: grid; gap: 13px; margin-top: 34px; }
.iht-hero-card__step { display: flex; align-items: center; gap: 13px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.07); }
.iht-hero-card__step b { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #fff; color: var(--iht-primary-dark); }
.iht-hero--immersive { position: relative; min-height: 700px; display: flex; align-items: center; overflow: hidden; padding: 70px 0; background: #e9f1ed url("assets/images/home-hero-medical-travel-v2.webp") center center / cover no-repeat; }
.iht-hero--immersive::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(246,250,248,.34) 0%, rgba(246,250,248,.16) 43%, transparent 68%); pointer-events: none; }
.iht-hero--immersive .iht-container { position: relative; z-index: 1; display: flex; justify-content: flex-start; direction: ltr; }
.iht-hero__panel { width: min(650px, 58%); padding: 38px 40px; border: 1px solid rgba(255,255,255,.7); border-radius: 32px; background: rgba(255,255,255,.58); box-shadow: 0 24px 75px rgba(18,51,47,.14); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); }
[dir="rtl"] .iht-hero__panel { direction: rtl; text-align: right; }
.iht-hero--immersive .iht-title { max-width: 620px; margin-bottom: 18px; font-size: clamp(2.4rem, 4.5vw, 4.25rem); }
.iht-hero--immersive .iht-lead { max-width: 610px; color: #344f4a; }
.iht-hero__signals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 30px; }
.iht-hero__signal { display: flex; align-items: center; gap: 9px; min-height: 58px; padding: 10px 12px; border: 1px solid rgba(8,127,114,.13); border-radius: 15px; background: rgba(238,249,245,.82); color: var(--iht-ink); font-size: .78rem; font-weight: 700; }
.iht-hero__signal i { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border-radius: 10px; background: var(--iht-primary); color: #fff; }
.iht-hero__signal:nth-child(2) i, .iht-hero__signal:nth-child(3) i { background: var(--iht-primary); }
.iht-hero__care-badge { position: absolute; z-index: 2; right: 4%; bottom: 42px; display: flex; align-items: center; gap: 12px; max-width: 280px; padding: 15px 18px; border: 1px solid rgba(255,255,255,.72); border-radius: 18px; background: rgba(18,51,47,.88); color: #fff; box-shadow: var(--iht-shadow); backdrop-filter: blur(12px); }
.iht-hero__care-badge i { color: #78dec8; font-size: 1.4rem; }
.iht-hero__care-badge strong, .iht-hero__care-badge small { display: block; }
.iht-hero__care-badge small { color: rgba(255,255,255,.67); }

.iht-destination-band { position: relative; z-index: 3; border-bottom: 1px solid var(--iht-border); background: var(--iht-primary-dark); color: #fff; }
.iht-destination-band__grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; align-items: stretch; }
.iht-destination-band__intro, .iht-destination-band__item { display: flex; align-items: center; gap: 14px; min-height: 108px; padding: 20px 28px; }
.iht-destination-band__item { border-inline-start: 1px solid rgba(255,255,255,.14); }
.iht-destination-band__mark { display: grid; flex: 0 0 56px; width: 56px; height: 56px; place-items: center; border-radius: 18px; background: var(--iht-secondary); color: var(--iht-ink); font-size: 1.45rem; }
.iht-destination-band__item > i { color: var(--iht-secondary); font-size: 1.35rem; }
.iht-destination-band strong, .iht-destination-band b, .iht-destination-band small { display: block; }
.iht-destination-band strong { font-size: 1.15rem; }
.iht-destination-band b { font-size: .94rem; }
.iht-destination-band small { color: rgba(255,255,255,.68); font-size: .76rem; line-height: 1.5; }

.iht-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 42px; }
.iht-card { position: relative; min-height: 250px; padding: 28px; overflow: hidden; border: 1px solid var(--iht-border); border-radius: var(--iht-radius); background: #fff; transition: .25s ease; }
.iht-card:hover { border-color: rgba(8,127,114,.35); box-shadow: var(--iht-shadow); transform: translateY(-5px); }
.iht-card__icon { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 16px; background: var(--iht-mint); color: var(--iht-primary); font-size: 1.4rem; }
.iht-service-grid .iht-card:nth-child(n) .iht-card__icon { background: var(--iht-secondary-soft); color: var(--iht-primary); }
.iht-card h3 { margin: 24px 0 8px; font-size: 1.32rem; }
.iht-card p { margin: 0; color: var(--iht-muted); font-size: .94rem; }
.iht-card__link { display: inline-block; margin-top: 20px; color: var(--iht-primary); font-weight: 700; }
.iht-card[href] .iht-card__link::after { content: "\f061"; margin-inline-start: 8px; font-family: "Font Awesome 7 Free"; font-size: .78em; font-weight: 900; }
[dir="rtl"] .iht-card[href] .iht-card__link::after { content: "\f060"; }
.iht-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 42px; }
.iht-process__item { padding: 25px; border-radius: 22px; background: #fff; box-shadow: 0 12px 40px rgba(18,51,47,.06); }
.iht-process__number { color: var(--iht-secondary-dark); font-weight: 800; font-size: .8rem; }
.iht-process__item:nth-child(n) { border-top: 3px solid var(--iht-primary); }
.iht-process__item h3 { margin: 10px 0 6px; }
.iht-process__item p { margin: 0; color: var(--iht-muted); font-size: .9rem; }
#process.iht-section--soft { position: relative; overflow: hidden; border-block: 1px solid rgba(8,127,114,.1); background: linear-gradient(145deg, #edf8f4 0%, #f8fcfa 55%, #fff6dc 140%); }
#process.iht-section--soft::before { content: ""; position: absolute; width: 420px; height: 420px; inset-inline-end: -180px; top: -230px; border: 70px solid rgba(8,127,114,.045); border-radius: 50%; pointer-events: none; }
#process .iht-container { position: relative; z-index: 1; }
#process .iht-process { position: relative; gap: 24px; margin-top: 54px; counter-reset: iht-step; }
#process .iht-process::before { content: ""; position: absolute; z-index: 0; inset-inline: 8%; top: 38px; height: 3px; background: linear-gradient(90deg, var(--iht-primary), var(--iht-secondary)); opacity: .28; }
[dir="rtl"] #process .iht-process::before { background: linear-gradient(270deg, var(--iht-primary), var(--iht-secondary)); }
#process .iht-process__item { position: relative; z-index: 1; min-height: 245px; padding: 68px 26px 28px; border: 1px solid rgba(8,127,114,.13); border-top: 1px solid rgba(8,127,114,.13); border-radius: 26px; background: rgba(255,255,255,.9); box-shadow: 0 18px 50px rgba(18,51,47,.08); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
#process .iht-process__item:hover { border-color: rgba(8,127,114,.32); box-shadow: 0 24px 58px rgba(18,51,47,.13); transform: translateY(-7px); }
#process .iht-process__number { position: absolute; top: -1px; inset-inline-start: 24px; display: grid; width: 76px; height: 76px; place-items: center; border: 7px solid #edf8f4; border-radius: 50%; background: var(--iht-primary); color: #fff; box-shadow: 0 10px 26px rgba(8,127,114,.22); font-size: 1rem; letter-spacing: .06em; }
#process .iht-process__item:nth-child(even) .iht-process__number { background: var(--iht-secondary); color: var(--iht-ink); box-shadow: 0 10px 26px rgba(167,117,22,.18); }
#process .iht-process__item h3 { margin: 16px 0 9px; font-size: 1.18rem; }
#process .iht-process__item p { font-size: .91rem; line-height: 1.75; }
#process .iht-process__item::after { content: "\f061"; position: absolute; inset-inline-end: -21px; top: 28px; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(8,127,114,.15); border-radius: 50%; background: #fff; color: var(--iht-primary); font-family: "Font Awesome 7 Free"; font-size: .75rem; font-weight: 900; }
[dir="rtl"] #process .iht-process__item::after { content: "\f060"; }
#process .iht-process__item:last-child::after { display: none; }
.iht-packages { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 22px; margin-top: 52px; }
.iht-package { position: relative; display: flex; min-width: 0; flex-direction: column; padding: 32px; border: 1px solid var(--iht-border); border-radius: 30px; background: #fff; box-shadow: 0 16px 46px rgba(18,51,47,.07); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.iht-package:hover { border-color: rgba(8,127,114,.3); box-shadow: 0 24px 60px rgba(18,51,47,.12); transform: translateY(-6px); }
.iht-package--featured { overflow: hidden; border-color: var(--iht-secondary); background: linear-gradient(145deg, var(--iht-ink), var(--iht-primary-dark)); color: #fff; transform: translateY(-12px); }
.iht-package--featured:hover { transform: translateY(-18px); }
.iht-package--featured::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: var(--iht-secondary); }
.iht-package__icon { display: grid; width: 64px; height: 64px; margin-bottom: 20px; place-items: center; border-radius: 20px; background: var(--iht-secondary-soft); color: var(--iht-primary); font-size: 1.65rem; }
.iht-package--featured .iht-package__icon { background: var(--iht-secondary); color: var(--iht-ink); }
.iht-package__label { color: var(--iht-primary); font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
[dir="rtl"] .iht-package__label { letter-spacing: 0; }
.iht-package--featured .iht-package__label { color: var(--iht-secondary); }
.iht-package__badge { position: absolute; inset-inline-end: 22px; top: 22px; padding: 6px 11px; border-radius: 999px; background: var(--iht-secondary); color: var(--iht-ink); font-size: .7rem; font-weight: 800; }
.iht-package h3 { margin: 8px 0 8px; font-size: 1.65rem; }
.iht-package p { color: var(--iht-muted); }
.iht-package--featured p { color: rgba(255,255,255,.68); }
.iht-package ul { display: grid; gap: 10px; margin: 18px 0 28px; padding: 0; list-style: none; }
.iht-package li { position: relative; padding-inline-start: 25px; color: var(--iht-muted); font-size: .88rem; line-height: 1.6; }
.iht-package li::before { content: "\f00c"; position: absolute; inset-inline-start: 0; top: .18em; color: var(--iht-primary); font-family: "Font Awesome 7 Free"; font-size: .78rem; font-weight: 900; }
.iht-package--featured li { color: rgba(255,255,255,.8); }
.iht-package--featured li::before { color: var(--iht-secondary); }
.iht-package__action { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 17px; border-top: 1px solid var(--iht-border); color: var(--iht-primary); font-weight: 800; }
.iht-package--featured .iht-package__action { border-color: rgba(255,255,255,.14); color: var(--iht-secondary); }
.iht-package__action i { transition: transform .2s ease; }
.iht-package__action:hover i { transform: translateX(4px); }
[dir="rtl"] .iht-package__action:hover i { transform: translateX(-4px); }
.iht-reasons { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 38px; }
.iht-reason { padding: 28px; border: 1px solid var(--iht-border); border-radius: 24px; background: #fff; }
.iht-reason__number { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: var(--iht-mint); color: var(--iht-primary); font-weight: 800; }
.iht-reason:nth-child(2n) .iht-reason__number { background: var(--iht-secondary-soft); color: var(--iht-primary); }
.iht-reason:nth-child(2n) { border-color: rgba(215,168,74,.38); box-shadow: 0 12px 34px rgba(167,117,22,.06); }
.iht-reason h3 { margin: 18px 0 8px; }
.iht-reason p { margin: 0; color: var(--iht-muted); }
.iht-sources { margin-top: 28px; padding: 18px 22px; border-inline-start: 3px solid var(--iht-gold); background: rgba(215,168,74,.08); color: var(--iht-muted); font-size: .82rem; }
.iht-sources a { color: var(--iht-primary-dark); text-decoration: underline; text-underline-offset: 3px; }

.iht-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.iht-visual { position: relative; min-height: 460px; overflow: hidden; border-radius: 38px; background: linear-gradient(135deg, #dff5ee, #f7e9c8); }
.iht-visual::before, .iht-visual::after { content: ""; position: absolute; border-radius: 50%; }
.iht-visual::before { width: 330px; height: 330px; inset-inline-start: 12%; top: 14%; border: 55px solid rgba(8,127,114,.18); }
.iht-visual::after { width: 160px; height: 160px; inset-inline-end: 10%; bottom: 8%; background: rgba(215,168,74,.35); }
.iht-visual--photo { min-height: 0; aspect-ratio: 4 / 3; background: #e8f2ef; box-shadow: var(--iht-shadow); }
.iht-visual--photo::before, .iht-visual--photo::after { display: none; }
.iht-visual--photo img { width: 100%; height: 100%; object-fit: cover; }
.iht-checks { display: grid; gap: 12px; margin: 28px 0; padding: 0; list-style: none; }
.iht-checks li { position: relative; padding-inline-start: 30px; }
.iht-checks li::before { content: "\f058"; position: absolute; inset-inline-start: 0; color: var(--iht-primary); font-family: "Font Awesome 7 Free"; font-weight: 900; }
.iht-cta { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 30px; overflow: hidden; padding: 48px; border-radius: 34px; background: linear-gradient(120deg, var(--iht-primary-dark) 0%, var(--iht-primary) 72%, var(--iht-secondary-dark) 150%); color: #fff; }
.iht-cta::after { content: ""; position: absolute; inset-inline-end: -55px; top: -95px; width: 230px; height: 230px; border: 42px solid rgba(215,168,74,.4); border-radius: 50%; pointer-events: none; }
.iht-cta > * { position: relative; z-index: 1; }
.iht-cta .iht-btn--light { flex: 0 0 auto; background: #fff; color: var(--iht-primary-dark); }
.iht-cta .iht-btn--light:hover, .iht-cta .iht-btn--light:focus-visible { background: var(--iht-secondary); color: var(--iht-ink); }
.iht-cta .iht-btn--light:active { background: var(--iht-secondary-dark); color: #fff; }
.iht-cta > div { min-width: 0; }
.iht-cta h2 { margin: 0 0 8px; font-size: clamp(1.55rem, 2.15vw, 2.2rem); line-height: 1.35; white-space: nowrap; }
.iht-cta p { margin: 0; color: rgba(255,255,255,.75); }

.iht-page-hero { padding: 76px 0; background: linear-gradient(145deg, #f6fbf9, #fff); }
.iht-page-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: center; }
.iht-stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 28px; }
.iht-stat { padding: 15px; border: 1px solid var(--iht-border); border-radius: 16px; background: #fff; }
.iht-stat b { display: block; color: var(--iht-primary); }
.iht-stat:nth-child(2) b, .iht-stat:nth-child(3) b { color: var(--iht-primary); }
.iht-stat small { color: var(--iht-muted); }
.iht-form-card { padding: 30px; border: 1px solid var(--iht-border); border-radius: 30px; background: #fff; box-shadow: var(--iht-shadow); }
.iht-form-card h2 { margin-top: 0; }
.iht-form { display: grid; gap: 13px; }
.iht-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.iht-field label { display: block; margin-bottom: 5px; font-size: .83rem; font-weight: 700; }
.iht-field input, .iht-field select, .iht-field textarea { width: 100%; border: 1px solid var(--iht-border); border-radius: 13px; background: #fbfdfc; padding: 11px 13px; color: var(--iht-ink); outline: none; }
.iht-field input:focus, .iht-field select:focus, .iht-field textarea:focus { border-color: var(--iht-primary); box-shadow: 0 0 0 3px rgba(8,127,114,.1); }
.iht-form-card .iht-btn[type="submit"] { background: var(--iht-secondary); color: var(--iht-ink); }
.iht-form-card .iht-btn[type="submit"]:hover { background: #e3b958; color: var(--iht-ink); }
.iht-field textarea { min-height: 110px; resize: vertical; }
.iht-consent { color: var(--iht-muted); font-size: .76rem; }
.iht-form__message { padding: 10px; border-radius: 10px; font-size: .85rem; }
.iht-form__message--success { background: var(--iht-mint); color: var(--iht-primary-dark); }
.iht-content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 38px; }
.iht-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 38px; }
.iht-result { overflow: hidden; margin: 0; border: 1px solid var(--iht-border); border-radius: 22px; background: #fff; box-shadow: 0 10px 35px rgba(18,51,47,.07); }
.iht-result img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .3s ease; }
.iht-result:hover img { transform: scale(1.025); }
.iht-result__link { position: relative; display: block; cursor: zoom-in; }
.iht-result__link::after { content: "\f31e"; position: absolute; inset-inline-end: 13px; bottom: 13px; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: rgba(18,51,47,.82); color: #fff; font-family: "Font Awesome 7 Free"; font-size: 1rem; font-weight: 900; opacity: 0; transform: translateY(5px); transition: .2s ease; }
.iht-result__link:hover::after, .iht-result__link:focus-visible::after { opacity: 1; transform: none; }
.iht-result figcaption { padding: 12px 15px; color: var(--iht-muted); font-size: .82rem; }
.iht-results-note { margin-top: 18px; color: var(--iht-muted); font-size: .82rem; }
.iht-lightbox { width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: #fff; }
.iht-lightbox::backdrop { background: rgba(5,25,23,.72); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.iht-lightbox[open] { display: grid; grid-template-columns: 76px minmax(0,1fr) 76px; align-items: center; }
.iht-lightbox__figure { display: grid; max-width: min(1100px, calc(100vw - 180px)); max-height: calc(100vh - 70px); margin: auto; place-items: center; }
.iht-lightbox__image { max-width: 100%; max-height: calc(100vh - 115px); width: auto; height: auto; border-radius: 14px; box-shadow: 0 25px 80px rgba(0,0,0,.4); }
.iht-lightbox__caption { margin-top: 12px; color: rgba(255,255,255,.82); text-align: center; }
.iht-lightbox__close, .iht-lightbox__nav { display: grid; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; cursor: pointer; }
.iht-lightbox__close { position: fixed; z-index: 2; inset-inline-end: 22px; top: 20px; width: 48px; height: 48px; font-size: 1.8rem; }
.iht-lightbox__nav { width: 52px; height: 52px; margin: auto; font-size: 1.7rem; }
.iht-lightbox__close:hover, .iht-lightbox__nav:hover { background: rgba(255,255,255,.22); }
body.iht-lightbox-open { overflow: hidden; }
.iht-info-box { padding: 28px; border: 1px solid var(--iht-border); border-radius: 24px; }
.iht-info-box h3 { margin-top: 0; }
.iht-faq { max-width: 850px; margin-top: 32px; }
.iht-faq details { padding: 18px 0; border-bottom: 1px solid var(--iht-border); }
.iht-faq summary { cursor: pointer; font-weight: 700; }
.iht-faq p { color: var(--iht-muted); }

.iht-iran-panorama { display: flex; height: 300px; align-items: flex-end; justify-content: center; overflow: hidden; background: #fff; }
.iht-iran-panorama__silhouette { display: block; width: min(700px, calc(100% - 30px)); height: 300px; background: var(--iht-ink); -webkit-mask: url("assets/images/iran-landmarks-silhouette-v2.png") center bottom / contain no-repeat; mask: url("assets/images/iran-landmarks-silhouette-v2.png") center bottom / contain no-repeat; }

.iht-footer { padding: 68px 0 24px; background: var(--iht-ink); color: rgba(255,255,255,.78); }
.iht-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 50px; }
.iht-footer .iht-logo { width: max-content; padding: 8px 12px; border-radius: 14px; background: #fff; }
.iht-footer .iht-logo img { filter: none; }
.iht-footer h3 { color: #fff; }
.iht-footer ul { padding: 0; list-style: none; }
.iht-footer li { margin: 9px 0; }
.iht-footer__bottom { margin-top: 45px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: .8rem; }
.iht-footer a:hover { color: #f0ca73; }
.iht-whatsapp { position: fixed; z-index: 70; inset-inline-end: 24px; bottom: 24px; display: grid; width: 62px; height: 62px; place-items: center; border: 2px solid rgba(255,255,255,.9); border-radius: 50%; background: #25d366; color: #fff; box-shadow: 0 12px 32px rgba(0,0,0,.22); font-size: 2rem; transition: .2s ease; }
.iht-whatsapp:hover { background: #1ebe5d; transform: translateY(-3px) scale(1.03); }
.iht-whatsapp__label { position: absolute; inset-inline-end: 72px; padding: 7px 11px; border-radius: 9px; background: var(--iht-ink); color: #fff; font-family: var(--iht-font); font-size: .75rem; font-weight: 700; opacity: 0; pointer-events: none; transform: translateX(5px); transition: .2s ease; white-space: nowrap; }
[dir="rtl"] .iht-whatsapp__label { font-family: "Cairo IHT", Tahoma, sans-serif; }
.iht-whatsapp:hover .iht-whatsapp__label, .iht-whatsapp:focus-visible .iht-whatsapp__label { opacity: 1; transform: none; }

@media (max-width: 960px) {
  .iht-nav { display: none; position: absolute; inset: 82px 20px auto; padding: 22px; border: 1px solid var(--iht-border); border-radius: 18px; background: #fff; box-shadow: var(--iht-shadow); }
  .iht-nav.is-open { display: block; }
  .iht-nav ul { align-items: stretch; flex-direction: column; }
  .iht-menu-toggle { display: block; }
  .iht-header__actions .iht-btn { display: none; }
  .iht-hero__grid, .iht-page-hero__grid, .iht-split { grid-template-columns: 1fr; }
  .iht-service-grid, .iht-reasons { grid-template-columns: repeat(2, 1fr); }
  .iht-results { grid-template-columns: repeat(2, 1fr); }
  .iht-process { grid-template-columns: repeat(2, 1fr); }
  #process .iht-process::before { display: none; }
  #process .iht-process__item::after { display: none; }
  .iht-hero-card { min-height: auto; }
  .iht-hero--immersive { min-height: 660px; background-position: 50% center; }
  .iht-hero__panel { width: min(690px, 78%); }
  .iht-hero__care-badge { display: none; }
  .iht-destination-band__grid { grid-template-columns: 1fr 1fr; }
  .iht-destination-band__intro { grid-column: 1 / -1; }
  .iht-destination-band__item:first-of-type { border-inline-start: 0; }
  .iht-cta h2 { white-space: normal; }
}

@media (max-width: 640px) {
  .iht-container { width: min(100% - 26px, 1180px); }
  .iht-section { padding: 64px 0; }
  .iht-topbar__inner span:last-child { display: none; }
  .iht-logo { min-width: 0; }
  .iht-logo img { width: auto; max-width: 178px; max-height: 58px; }
  .iht-header__inner { min-height: 72px; }
  .iht-hero { padding-top: 55px; }
  .iht-service-grid, .iht-process, .iht-packages, .iht-content-grid, .iht-footer__grid, .iht-form__row, .iht-results, .iht-reasons { grid-template-columns: 1fr; }
  #process .iht-process { gap: 18px; margin-top: 42px; padding-inline-start: 24px; }
  #process .iht-process::before { display: block; inset: 12px auto 12px 0; width: 3px; height: auto; background: linear-gradient(180deg, var(--iht-primary), var(--iht-secondary)); }
  [dir="rtl"] #process .iht-process { padding-inline-start: 24px; }
  [dir="rtl"] #process .iht-process::before { inset: 12px 0 12px auto; background: linear-gradient(180deg, var(--iht-primary), var(--iht-secondary)); }
  #process .iht-process__item { min-height: 0; padding: 58px 22px 24px; }
  #process .iht-process__number { inset-inline-start: -18px; width: 62px; height: 62px; border-width: 6px; }
  .iht-package--featured { transform: none; }
  .iht-package--featured:hover { transform: translateY(-6px); }
  .iht-cta { align-items: stretch; flex-direction: column; padding: 30px; }
  .iht-stat-row { grid-template-columns: 1fr; }
  .iht-hero-card { padding: 26px; border-radius: 30px; }
  .iht-hero--immersive { min-height: auto; padding: 49vw 0 24px; background-position: center top; background-size: 100% auto; background-color: #f7faf8; }
  .iht-hero--immersive::before { height: 49vw; background: linear-gradient(180deg, transparent 62%, #f7faf8 100%); }
  .iht-hero__panel { width: 100%; padding: 26px 20px; border-radius: 26px; background: rgba(255,255,255,.94); }
  .iht-hero--immersive .iht-title { font-size: clamp(2.35rem, 11vw, 3.4rem); }
  .iht-hero__signals { grid-template-columns: 1fr; }
  .iht-destination-band__grid { grid-template-columns: 1fr; }
  .iht-destination-band__intro { grid-column: auto; }
  .iht-destination-band__item { min-height: 88px; border-inline-start: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .iht-lightbox[open] { grid-template-columns: 48px minmax(0,1fr) 48px; }
  .iht-lightbox__figure { max-width: calc(100vw - 104px); }
  .iht-lightbox__nav { width: 40px; height: 40px; }
  .iht-lightbox__close { inset-inline-end: 12px; top: 12px; width: 42px; height: 42px; }
  .iht-iran-panorama { height: min(300px, 44vw); }
  .iht-iran-panorama__silhouette { width: min(700px, calc(100% - 20px)); height: min(300px, 44vw); }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
