/* =========================================================================
   Fly Sirat Child — Design System  (v2)
   Travel-OTA look inspired by amyweb.amybd.com:
   deep blue (#001ea0) + coral red (#f63854), card-rich, soft section tints.
   Bengali-first typography in Hind Siliguri. Mobile-first.
   ========================================================================= */

:root{
	--blue:        #001ea0;
	--blue-dark:   #00156f;
	--blue-2:      #0030ff;
	--blue-soft:   #e3f3ff;
	--red:         #f63854;
	--red-dark:    #e02845;

	--ink:         #16243a;   /* headings */
	--body:        #3e4957;   /* body text */
	--muted:       #7d7d7d;
	--line:        #e2e8f0;
	--line-2:      #eef2f7;

	--paper:       #ffffff;
	--soft:        #f1f5f9;
	--soft-2:      #f7f9fc;

	--maxw:        1200px;
	--gut:         20px;

	--r-sm: 10px;
	--r-md: 16px;
	--r-lg: 22px;
	--r-pill: 999px;

	--shadow-sm: 0 1px 2px rgba(16,40,80,.05), 0 6px 18px rgba(16,40,80,.06);
	--shadow-md: 0 10px 30px rgba(16,40,80,.10);
	--shadow-blue: 0 14px 40px rgba(0,30,160,.18);

	--ease: cubic-bezier(.22,.61,.36,1);
	--font: "Hind Siliguri", "Noto Sans Bengali", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
	margin:0;
	font-family:var(--font);
	color:var(--body);
	background:var(--paper);
	font-size:16px;
	line-height:1.75;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; transition:color .2s var(--ease), background .2s var(--ease), opacity .2s var(--ease); }
h1,h2,h3,h4{ color:var(--ink); font-weight:700; line-height:1.25; margin:0 0 .5em; letter-spacing:-0.01em; }
p{ margin:0 0 1.1em; }
::selection{ background:var(--blue); color:#fff; }

.wafi-skip{ position:absolute; left:-9999px; top:0; background:var(--blue); color:#fff; padding:10px 16px; z-index:1000; }
.wafi-skip:focus{ left:0; }

/* ---- Layout ----------------------------------------------------------- */
.wafi-container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.wafi-section{ padding:clamp(46px,6vw,84px) 0; }
.wafi-section--tight{ padding:clamp(36px,4.5vw,60px) 0; }
.wafi-section--soft{ background:var(--soft-2); }
.wafi-section--blue-soft{ background:var(--blue-soft); }
.wafi-narrow{ max-width:760px; margin-inline:auto; }

.wafi-kicker{
	display:inline-block; font-size:13px; font-weight:700; letter-spacing:.06em;
	color:var(--red); margin:0 0 12px; text-transform:uppercase;
}
.wafi-h-xl{ font-size:clamp(2rem, 5vw, 3.6rem); }
.wafi-h-lg{ font-size:clamp(1.6rem, 3.4vw, 2.5rem); }
.wafi-h-md{ font-size:clamp(1.3rem, 2.4vw, 1.8rem); }
.wafi-lead{ font-size:clamp(1rem, 1.4vw, 1.18rem); color:var(--muted); }

.wafi-shead{ max-width:680px; margin:0 0 clamp(28px,4vw,44px); }
.wafi-shead.center{ margin-inline:auto; text-align:center; }
.wafi-shead h2{ margin:0 0 .25em; }
.wafi-shead p{ color:var(--muted); margin:0; }

/* ---- Buttons ---------------------------------------------------------- */
.wafi-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:.5em;
	font-family:inherit; font-size:15px; font-weight:600; line-height:1;
	padding:13px 26px; border-radius:var(--r-pill); border:1.5px solid transparent;
	cursor:pointer; transition:transform .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease), color .2s var(--ease);
	white-space:nowrap;
}
.wafi-btn:hover{ transform:translateY(-2px); }
.wafi-btn:active{ transform:translateY(0); }
.wafi-btn-primary{ background:var(--blue); color:#fff; box-shadow:0 6px 16px rgba(0,30,160,.22); }
.wafi-btn-primary:hover{ background:var(--blue-dark); }
.wafi-btn-red{ background:var(--red); color:#fff; box-shadow:0 6px 16px rgba(246,56,84,.25); }
.wafi-btn-red:hover{ background:var(--red-dark); }
.wafi-btn-ghost{ background:#fff; color:var(--blue); border-color:var(--line); }
.wafi-btn-ghost:hover{ border-color:var(--blue); }
.wafi-btn-white{ background:#fff; color:var(--blue); }
.wafi-btn-white:hover{ background:#eef2ff; }
.wafi-btn-whatsapp{ background:#25d366; color:#fff; box-shadow:0 6px 16px rgba(37,211,102,.28); }
.wafi-btn-iqama{ background:#0a8f6e; color:#fff; box-shadow:0 6px 16px rgba(10,143,110,.28); }
.wafi-btn-iqama:hover{ background:#077a5d; }
.wafi-btn-link{ padding:0; border:0; background:none; color:var(--blue); font-weight:600; }
.wafi-btn-link .arrow{ display:inline-block; transition:transform .2s var(--ease); }
.wafi-btn-link:hover .arrow{ transform:translateX(4px); }

/* ---- Top utility bar -------------------------------------------------- */
.wafi-topbar{ background:var(--blue-dark); color:#dfe6ff; font-size:13px; }
.wafi-topbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; height:38px; }
.wafi-topbar-greet{ font-weight:600; color:#fff; }
.wafi-topbar-badges{ display:flex; gap:22px; }
.wafi-topbar-badges span{ display:inline-flex; align-items:center; gap:6px; }
.wafi-topbar-badges svg{ width:15px; height:15px; opacity:.9; }

/* ---- Header ----------------------------------------------------------- */
.wafi-header{ position:sticky; top:0; z-index:900; background:#fff; transition:box-shadow .3s var(--ease); }
.wafi-header.is-scrolled{ box-shadow:0 4px 20px rgba(16,40,80,.08); }
.wafi-header-inner{ display:flex; align-items:center; justify-content:space-between; height:70px; gap:24px; }
.wafi-brand{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.wafi-brand-name{ font-weight:800; font-size:24px; letter-spacing:-0.02em; color:var(--blue); }
.wafi-brand-name b{ color:var(--red); }
.wafi-brand img{ max-height:40px; width:auto; }

.wafi-nav{ flex:1 1 auto; display:flex; justify-content:center; }
.wafi-menu{ display:flex; gap:30px; list-style:none; margin:0; padding:0; }
.wafi-menu a{ font-size:15.5px; font-weight:600; color:var(--ink); position:relative; padding:6px 0; }
.wafi-menu a:hover{ color:var(--blue); }
.wafi-menu .current-menu-item>a,.wafi-menu .current_page_item>a{ color:var(--blue); }

.wafi-header-cta{ display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.wafi-burger{ display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:10px; background:#fff; cursor:pointer; padding:11px; }
.wafi-burger span{ display:block; height:2px; background:var(--ink); border-radius:2px; transition:transform .3s var(--ease), opacity .2s var(--ease); }
.wafi-burger span+span{ margin-top:5px; }
.wafi-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.wafi-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.wafi-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.wafi-mobile{ border-top:1px solid var(--line); background:#fff; padding:14px var(--gut) 26px; box-shadow:var(--shadow-md); }
.wafi-mobile-menu{ list-style:none; margin:0 0 16px; padding:0; }
.wafi-mobile-menu li{ border-bottom:1px solid var(--line-2); }
.wafi-mobile-menu a{ display:block; padding:14px 2px; font-size:17px; font-weight:600; color:var(--ink); }
.wafi-mobile-cta{ width:100%; }

/* ---- Hero ------------------------------------------------------------- */
.wafi-hero{
	position:relative; color:#fff;
	background:
		linear-gradient(180deg, rgba(0,18,90,.86), rgba(0,30,160,.78)),
		radial-gradient(1200px 500px at 80% -10%, #2348e0 0%, transparent 60%),
		linear-gradient(135deg, #001a86 0%, #001ea0 50%, #0a2bb5 100%);
	overflow:hidden;
	padding:clamp(40px,6vw,72px) 0 0;
}
.wafi-hero::after{
	content:""; position:absolute; inset:0; pointer-events:none; opacity:.35;
	background-image:url("../img/hero-pattern.svg"); background-size:cover; background-position:center bottom;
}
.wafi-hero-inner{ position:relative; z-index:2; }
.wafi-hero-eyebrow{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22); padding:7px 16px; border-radius:var(--r-pill); font-size:13px; font-weight:600; margin-bottom:18px; }
.wafi-hero h1{ color:#fff; max-width:720px; margin:0 auto .3em; text-align:center; }
.wafi-hero-sub{ color:rgba(255,255,255,.85); max-width:600px; margin:0 auto; text-align:center; font-size:clamp(1rem,1.5vw,1.2rem); }
.wafi-hero-head{ text-align:center; }

/* search-style booking card */
.wafi-searchcard{
	background:#fff; border-radius:var(--r-lg); box-shadow:var(--shadow-blue);
	margin:clamp(28px,4vw,44px) auto 0; max-width:1000px; overflow:hidden;
}
.wafi-searchcard-tabs{ display:flex; gap:4px; padding:10px 10px 0; flex-wrap:wrap; }
.wafi-tab{
	display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border-radius:12px 12px 0 0;
	font-weight:600; font-size:14.5px; color:var(--body); cursor:default;
}
.wafi-tab svg{ width:18px; height:18px; }
.wafi-tab.is-active{ background:var(--blue-soft); color:var(--blue); }
.wafi-searchcard-body{ padding:22px; }
.wafi-searchrow{ display:grid; grid-template-columns:1.4fr 1fr auto; gap:14px; align-items:end; }
.wafi-field-lite{ background:var(--soft); border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 16px; }
.wafi-field-lite label{ display:block; font-size:12px; font-weight:600; color:var(--muted); margin-bottom:4px; }
.wafi-field-lite .val{ font-size:16px; font-weight:700; color:var(--ink); }
.wafi-searchrow .wafi-btn{ height:54px; padding-inline:34px; }
.wafi-searchcard-foot{ padding:0 22px 20px; font-size:13px; color:var(--muted); }

/* ---- Hero two-card row (inquiry + Iqama check) — Apple style --------- */
.wafi-hero-cards{
	display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:18px;
	max-width:1180px; margin:clamp(22px,3vw,40px) auto 0; align-items:stretch; text-align:left;
}

/* Quick-inquiry card */
.wafi-qcard{
	background:rgba(255,255,255,.96); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
	border-radius:24px; padding:18px; box-shadow:0 18px 50px rgba(0,18,90,.22);
	display:flex; flex-direction:column; gap:16px;
}

/* Apple-style segmented control */
.wafi-seg{ display:flex; gap:4px; background:#eef1f6; border-radius:14px; padding:5px; overflow-x:auto; scrollbar-width:none; }
.wafi-seg::-webkit-scrollbar{ display:none; }
.wafi-seg-btn{
	flex:1 1 auto; white-space:nowrap; display:inline-flex; align-items:center; justify-content:center; gap:7px;
	border:0; background:transparent; color:var(--muted); font-family:inherit; font-weight:600; font-size:14.5px;
	padding:11px 14px; border-radius:10px; cursor:pointer; transition:color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease), transform .2s var(--ease);
}
.wafi-seg-btn svg{ width:18px; height:18px; flex:0 0 auto; }
.wafi-seg-btn:hover{ color:var(--ink); }
.wafi-seg-btn.is-active{ background:#fff; color:var(--blue); box-shadow:0 2px 8px rgba(16,40,80,.14); }
.wafi-seg-btn:active{ transform:scale(.96); }

/* Apple-ish fields */
.wafi-qform{ display:grid; grid-template-columns:1fr; gap:12px; align-items:stretch; }
.wafi-qfield{ background:#f4f6fa; border:1.5px solid transparent; border-radius:14px; padding:10px 16px; transition:border-color .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease); }
.wafi-qfield:focus-within{ background:#fff; border-color:var(--blue); box-shadow:0 0 0 4px rgba(0,30,160,.08); }
.wafi-qfield label{ display:block; font-size:12px; font-weight:600; color:var(--muted); margin-bottom:2px; }
.wafi-qfield select,.wafi-qfield input{ width:100%; border:0; background:transparent; padding:0; font-family:inherit; font-size:15.5px; font-weight:700; color:var(--ink); outline:none; }
.wafi-qfield select{ -webkit-appearance:none; appearance:none; padding-right:20px; cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237d7d7d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right center; }
.wafi-qsubmit{ height:52px; width:100%; }
.wafi-qfoot{ font-size:12.5px; color:var(--muted); margin-top:-2px; }

/* Iqama check card — designed to stand out */
.wafi-iqcard{
	position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:8px;
	background:linear-gradient(150deg,#0ba07c,#066d54); color:#fff; border-radius:24px; padding:26px 24px;
	box-shadow:0 18px 50px rgba(10,143,110,.32); overflow:hidden;
	transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.wafi-iqcard::after{ content:""; position:absolute; right:-34px; top:-34px; width:140px; height:140px; border-radius:50%; background:rgba(255,255,255,.08); }
.wafi-iqcard:hover{ transform:translateY(-5px); box-shadow:0 26px 64px rgba(10,143,110,.42); opacity:1; }
.wafi-iqcard-badge{ position:absolute; top:16px; right:16px; background:rgba(255,255,255,.22); color:#fff; font-size:12px; font-weight:700; padding:4px 12px; border-radius:999px; }
.wafi-iqcard-ic{ width:58px; height:58px; border-radius:16px; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.wafi-iqcard-ic svg{ width:30px; height:30px; }
.wafi-iqcard h3{ color:#fff; font-size:1.4rem; margin:6px 0 0; }
.wafi-iqcard p{ color:rgba(255,255,255,.92); font-size:14.5px; margin:0; flex:1; line-height:1.6; }
.wafi-iqcard-go{ display:inline-flex; align-items:center; gap:8px; background:#fff; color:#066d54; font-weight:700; font-size:14.5px; padding:12px 22px; border-radius:999px; margin-top:8px; transition:gap .25s var(--ease); }
.wafi-iqcard:hover .wafi-iqcard-go{ gap:13px; }

/* Latest-news card (hero, card #1) — Apple-polished */
.wafi-newscard{
	background:rgba(255,255,255,.96); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
	border-radius:24px; padding:20px; box-shadow:0 18px 50px rgba(0,18,90,.22);
	display:flex; flex-direction:column; gap:14px; min-width:0; overflow:hidden;
}
.wafi-newscard-head{ display:flex; align-items:center; gap:12px; }
.wafi-newscard-ic{ width:46px; height:46px; flex:0 0 auto; border-radius:14px; display:flex; align-items:center; justify-content:center; background:linear-gradient(150deg,#eaf0ff,#d7e3ff); color:var(--blue); }
.wafi-newscard-ic svg{ width:23px; height:23px; }
.wafi-newscard-head h3{ font-size:1.3rem; margin:0; color:var(--ink); line-height:1.2; }
.wafi-newscard-sub{ font-size:12.5px; color:var(--muted); }
.wafi-newslist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; flex:1 1 auto; overflow-y:auto; max-height:300px; scrollbar-width:thin; scrollbar-color:#cdd8ee transparent; }
.wafi-newslist::-webkit-scrollbar{ width:5px; }
.wafi-newslist::-webkit-scrollbar-thumb{ background:#cdd8ee; border-radius:9px; }
.wafi-newslist li + li a{ border-top:1px solid #eef1f6; }
.wafi-newslist a{ display:flex; align-items:center; gap:11px; padding:12px 8px; border-radius:12px; color:var(--ink); font-weight:600; font-size:15.5px; line-height:1.5; transition:background .2s var(--ease), padding-left .2s var(--ease); }
.wafi-newslist a:hover{ background:#f3f7ff; padding-left:13px; }
.wafi-news-dot{ width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:var(--red); }
.wafi-news-t{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; }
.wafi-news-arrow{ flex:0 0 auto; color:var(--muted); font-weight:700; transition:transform .2s var(--ease), color .2s var(--ease); }
.wafi-newslist a:hover .wafi-news-arrow{ transform:translateX(3px); color:var(--blue); }
.wafi-news-empty{ padding:18px 8px; color:var(--muted); font-size:14px; text-align:center; }
.wafi-newscard-all{ display:inline-flex; align-items:center; gap:7px; margin-top:auto; padding-top:4px; color:var(--blue); font-weight:700; font-size:14px; }
.wafi-newscard-all .arrow{ transition:transform .2s var(--ease); }
.wafi-newscard-all:hover .arrow{ transform:translateX(4px); }

/* IqamaService showcase card — white / black / gold (brand-matched) */
.wafi-iqsite{
	position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:13px;
	background:#fff; color:#1d1d1f; border-radius:24px; padding:22px; overflow:hidden;
	border:1px solid #efe6cf; box-shadow:0 18px 50px rgba(70,50,0,.10);
	transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.wafi-iqsite::before{ content:""; position:absolute; left:0; top:0; right:0; height:4px; background:linear-gradient(90deg,#b8860b,#e6c15c,#b8860b); }
.wafi-iqsite::after{ content:""; position:absolute; right:-40px; top:-28px; width:150px; height:150px; border-radius:50%;
	background:radial-gradient(circle, rgba(184,134,11,.10), transparent 70%); pointer-events:none; }
.wafi-iqsite:hover{ transform:translateY(-5px); box-shadow:0 26px 60px rgba(70,50,0,.16); }
.wafi-iqsite-top{ display:flex; align-items:center; gap:12px; position:relative; z-index:1; }
.wafi-iqsite-logo{ width:46px; height:46px; flex:0 0 auto; }
.wafi-iqsite-brand{ display:flex; flex-direction:column; }
.wafi-iqsite-title{ font-size:1.65rem; margin:0; color:#1d1d1f; line-height:1.12; letter-spacing:-.01em; }
.wafi-iqsite-title span{ color:#b8860b; }
.wafi-iqsite-sub{ font-size:11.5px; font-weight:600; color:#9a8850; }
.wafi-iqsite-slogan{ font-size:15px; line-height:1.72; color:#4a4638; margin:0; position:relative; z-index:1; }
.wafi-iqsite-tags{ display:flex; flex-wrap:wrap; gap:7px; position:relative; z-index:1; }
.wafi-iqsite-tags a{ font-size:13.5px; font-weight:600; color:#5a4a1a;
	background:#faf6ea; border:1px solid #ecdcae; padding:8px 15px; border-radius:999px;
	transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .15s var(--ease); }
.wafi-iqsite-tags a:hover{ background:#1d1d1f; color:#e6c15c; border-color:#1d1d1f; transform:translateY(-1px); }
.wafi-iqsite-btn{ display:inline-flex; align-items:center; gap:8px; margin-top:auto; position:relative; z-index:1;
	background:linear-gradient(90deg,#b8860b,#d9a92e); color:#fff; font-weight:800; font-size:15.5px;
	padding:15px 26px; border-radius:999px; box-shadow:0 8px 22px rgba(184,134,11,.3);
	transition:gap .25s var(--ease), transform .2s var(--ease), box-shadow .25s var(--ease); }
.wafi-iqsite-btn:hover{ gap:13px; transform:translateY(-1px); box-shadow:0 12px 30px rgba(184,134,11,.45); }
.wafi-iqsite-link{ display:inline-flex; align-items:center; gap:7px; position:relative; z-index:1;
	color:#1d1d1f; font-weight:600; font-size:14px; transition:color .2s var(--ease); }
.wafi-iqsite-link svg{ width:15px; height:15px; }
.wafi-iqsite-link:hover{ color:#b8860b; }

@media (max-width: 1000px){
	.wafi-hero-cards{ grid-template-columns:1fr; max-width:540px; }
}

/* hero stat strip */
.wafi-hero-strip{ position:relative; z-index:2; display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(20px,5vw,64px); padding:clamp(26px,3.5vw,40px) 0 clamp(36px,5vw,56px); }
.wafi-hero-strip .s-num{ font-size:clamp(1.6rem,3vw,2.4rem); font-weight:800; color:#fff; }
.wafi-hero-strip .s-lab{ font-size:13.5px; color:rgba(255,255,255,.8); }
.wafi-hero-strip > div{ text-align:center; }
.wafi-hero-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px; }

/* ---- Hero 3D animated scene (plane → Makkah) ------------------------- */
.wafi-scene{ margin:clamp(16px,3vw,30px) auto 0; max-width:1000px; }
.wafi-scene-stage{
	position:relative; width:100%; height:clamp(180px,25vw,290px);
	perspective:1000px; transform-style:preserve-3d; overflow:hidden;
	border-radius:var(--r-lg);
	background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
}
.wafi-sun{
	position:absolute; right:12%; top:10%; width:140px; height:140px; border-radius:50%;
	background:radial-gradient(circle, rgba(255,228,160,.85), rgba(255,205,120,.18) 58%, transparent 72%);
	filter:blur(2px); animation:wafi-pulse 6s ease-in-out infinite;
}
.wafi-route{ position:absolute; inset:0; width:100%; height:100%; }

.wafi-cloud{ position:absolute; background:rgba(255,255,255,.9); border-radius:50px; box-shadow:0 10px 22px rgba(0,10,60,.12); }
.wafi-cloud::before,.wafi-cloud::after{ content:""; position:absolute; background:inherit; border-radius:50%; }
.wc1{ width:96px; height:24px; top:24%; left:9%;  opacity:.92; animation:wafi-floatA 16s ease-in-out infinite alternate; }
.wc1::before{ width:42px; height:42px; top:-18px; left:14px; }
.wc1::after{ width:30px; height:30px; top:-11px; left:50px; }
.wc2{ width:64px; height:18px; top:58%; left:28%; opacity:.7; transform:scale(.9); animation:wafi-floatB 22s ease-in-out infinite alternate; }
.wc2::before{ width:28px; height:28px; top:-12px; left:10px; }
.wc2::after{ width:22px; height:22px; top:-7px; left:34px; }
.wc3{ width:116px; height:28px; top:72%; left:58%; opacity:.5; animation:wafi-floatA 28s ease-in-out infinite alternate; }
.wc3::before{ width:48px; height:48px; top:-20px; left:18px; }
.wc3::after{ width:34px; height:34px; top:-12px; left:60px; }
.wc4{ width:48px; height:14px; top:14%; left:62%; opacity:.6; animation:wafi-floatB 18s ease-in-out infinite alternate; }
.wc4::before{ width:22px; height:22px; top:-9px; left:8px; }
.wc4::after{ width:18px; height:18px; top:-6px; left:26px; }

.wafi-mecca{
	position:absolute; right:3%; bottom:0; width:clamp(150px,23vw,244px);
	transform:rotateY(-14deg); transform-origin:bottom center;
	filter:drop-shadow(0 16px 22px rgba(0,8,40,.45));
	animation:wafi-bob 7s ease-in-out infinite;
}
.wafi-mecca svg{ width:100%; height:auto; display:block; }

.wafi-plane{
	position:absolute; top:50%; left:-12%; width:clamp(66px,9vw,110px);
	transform:translate(-50%,-50%);
	filter:drop-shadow(0 12px 14px rgba(0,8,40,.4));
	animation:wafi-fly 9s ease-in-out infinite;
}
.wafi-plane svg{ width:100%; height:auto; display:block; }
.wafi-trail{ position:absolute; right:78%; top:48%; width:130px; height:3px; border-radius:3px; background:linear-gradient(90deg, transparent, rgba(255,255,255,.6)); }

@keyframes wafi-fly{
	0%   { left:-12%; top:66%; transform:translate(-50%,-50%) rotate(-9deg) scale(.78); opacity:0; }
	12%  { opacity:1; }
	46%  { left:46%; top:30%; transform:translate(-50%,-50%) rotate(-2deg) scale(1.06); }
	80%  { left:72%; top:44%; transform:translate(-50%,-50%) rotate(5deg) scale(.92); opacity:1; }
	100% { left:88%; top:55%; transform:translate(-50%,-50%) rotate(8deg) scale(.72); opacity:0; }
}
@keyframes wafi-floatA{ from{ transform:translateX(-18px); } to{ transform:translateX(28px); } }
@keyframes wafi-floatB{ from{ transform:translateX(20px) scale(.9); } to{ transform:translateX(-26px) scale(.9); } }
@keyframes wafi-bob{ 0%,100%{ transform:rotateY(-14deg) translateY(0); } 50%{ transform:rotateY(-14deg) translateY(-9px); } }
@keyframes wafi-pulse{ 0%,100%{ opacity:.8; transform:scale(1); } 50%{ opacity:1; transform:scale(1.05); } }

@media (prefers-reduced-motion: reduce){
	.wafi-plane{ animation:none; left:50%; top:32%; }
	.wafi-cloud,.wafi-mecca,.wafi-sun{ animation:none; }
}
@media (max-width:600px){
	.wafi-trail{ display:none; }
	.wafi-scene-stage{ height:200px; }
}

/* ---- Iqama-check highlight banner ------------------------------------ */
.wafi-iqama-banner{
	display:flex; align-items:center; gap:26px; flex-wrap:wrap;
	background:linear-gradient(135deg,#0a8f6e,#066d54); color:#fff;
	border-radius:var(--r-lg); padding:32px 40px; box-shadow:0 14px 40px rgba(10,143,110,.25);
}
.wafi-iqama-ic{ width:66px; height:66px; border-radius:18px; background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.wafi-iqama-txt{ flex:1 1 320px; }
.wafi-iqama-txt h2{ color:#fff; font-size:clamp(1.3rem,2.4vw,1.7rem); margin:0 0 6px; }
.wafi-iqama-txt p{ color:rgba(255,255,255,.9); margin:0; }
.wafi-iqama-banner .wafi-btn-white{ color:#066d54; }
.wafi-card-feat{ border-color:#bfe7db; background:linear-gradient(180deg,#f3fbf8,#fff); }
.wafi-card-feat .wafi-card-icon{ background:#dff5ee; color:#0a8f6e; }
.wafi-card-feat .wafi-btn-link{ color:#0a8f6e; }

/* ---- Info cards (Umrah info) ----------------------------------------- */
.wafi-info{ background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:26px 22px; text-align:center; height:100%; }
.wafi-info-ic{ width:54px; height:54px; border-radius:14px; background:var(--blue-soft); color:var(--blue); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.wafi-info h3{ font-size:1.15rem; margin:0 0 .3em; color:var(--blue); }
.wafi-info p{ color:var(--muted); font-size:14px; margin:0; }

/* ---- Document note --------------------------------------------------- */
.wafi-doc-note{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:32px 30px; box-shadow:var(--shadow-sm); }
.wafi-doc-note h3{ display:flex; align-items:center; gap:10px; font-size:1.2rem; color:var(--blue); margin-bottom:14px; }
.wafi-doc-note p{ color:var(--body); font-size:14.5px; }
.wafi-doc-note .wafi-btn{ margin-top:10px; }

/* ---- Notice / terms cards -------------------------------------------- */
.wafi-notice{ background:#fff; border:1px solid var(--line); border-left:4px solid var(--blue); border-radius:var(--r-md); padding:28px 28px; height:100%; }
.wafi-notice.wafi-notice-warn{ border-left-color:var(--red); }
.wafi-notice h3{ font-size:1.2rem; margin:0 0 14px; }
.wafi-notice ul{ margin:0; padding-left:1.2em; }
.wafi-notice li{ margin-bottom:10px; color:var(--body); font-size:14.5px; line-height:1.6; }
.wafi-notice-foot{ margin:14px 0 0; font-weight:700; color:#0a8f6e; }

@media (max-width: 600px){
	.wafi-iqama-banner{ padding:26px 24px; text-align:center; justify-content:center; }
}

/* ---- Offer / deal cards ---------------------------------------------- */
.wafi-offers{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.wafi-offer{
	position:relative; border-radius:var(--r-md); overflow:hidden; min-height:150px;
	display:flex; flex-direction:column; justify-content:flex-end; padding:22px;
	color:#fff; box-shadow:var(--shadow-sm); isolation:isolate;
}
.wafi-offer::before{ content:""; position:absolute; inset:0; z-index:-1; background:var(--g, linear-gradient(135deg,#001ea0,#0030ff)); }
.wafi-offer.g1{ --g:linear-gradient(135deg,#0b2fb8,#001a86); }
.wafi-offer.g2{ --g:linear-gradient(135deg,#f63854,#b3203a); }
.wafi-offer.g3{ --g:linear-gradient(135deg,#0a8f6e,#066d54); }
.wafi-offer-tag{ font-size:12px; font-weight:700; background:rgba(255,255,255,.2); align-self:flex-start; padding:4px 12px; border-radius:var(--r-pill); margin-bottom:auto; }
.wafi-offer h3{ color:#fff; font-size:1.25rem; margin:14px 0 2px; }
.wafi-offer p{ color:rgba(255,255,255,.85); font-size:14px; margin:0; }

/* ---- Service cards ---------------------------------------------------- */
.wafi-grid{ display:grid; gap:18px; }
.wafi-grid-3{ grid-template-columns:repeat(3,1fr); }
.wafi-grid-2{ grid-template-columns:repeat(2,1fr); }
.wafi-grid-4{ grid-template-columns:repeat(4,1fr); }

.wafi-card{
	background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
	padding:28px 26px; transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
	display:flex; flex-direction:column; height:100%;
}
.wafi-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:transparent; }
.wafi-card-icon{ width:56px; height:56px; border-radius:14px; background:var(--blue-soft); color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.wafi-card h3{ font-size:1.2rem; margin-bottom:.3em; }
.wafi-card p{ color:var(--muted); font-size:14.5px; margin-bottom:1.2em; }
.wafi-card .wafi-btn-link{ margin-top:auto; font-size:14.5px; }

/* media card (services archive / news) */
.wafi-mcard{ background:#fff; border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; display:flex; flex-direction:column; height:100%; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.wafi-mcard:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.wafi-mcard .thumb{ aspect-ratio:16/10; background:var(--soft); overflow:hidden; position:relative; }
.wafi-mcard .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.wafi-mcard:hover .thumb img{ transform:scale(1.05); }
.wafi-mcard .thumb .ico{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--blue); background:linear-gradient(135deg,#eef3ff,#e3f3ff); }
.wafi-mcard .body{ padding:22px 22px 24px; display:flex; flex-direction:column; flex:1; }
.wafi-mcard h3{ font-size:1.15rem; margin-bottom:.3em; }
.wafi-mcard p{ color:var(--muted); font-size:14px; margin-bottom:1em; }
.wafi-mcard .meta{ font-size:13px; color:var(--muted); margin-bottom:8px; }

/* ---- Destination cards (image overlay) -------------------------------- */
.wafi-dest{ position:relative; border-radius:var(--r-md); overflow:hidden; aspect-ratio:3/4; box-shadow:var(--shadow-sm); display:block; }
.wafi-dest .bg{ position:absolute; inset:0; background:var(--g,linear-gradient(160deg,#0b2fb8,#001a86)); transition:transform .6s var(--ease); }
.wafi-dest:hover .bg{ transform:scale(1.06); }
.wafi-dest::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(0,10,50,.72)); }
.wafi-dest .label{ position:absolute; left:18px; bottom:16px; z-index:2; color:#fff; }
.wafi-dest .label b{ display:block; font-size:1.25rem; font-weight:700; }
.wafi-dest .label span{ font-size:13px; opacity:.85; }

/* ---- Stats band (dark) ------------------------------------------------ */
.wafi-band{
	position:relative; color:#fff; text-align:center; overflow:hidden;
	background:linear-gradient(180deg, rgba(0,15,75,.9), rgba(0,21,111,.92)), linear-gradient(135deg,#001a86,#0030ff);
	padding:clamp(48px,6vw,84px) 0;
}
.wafi-band::after{ content:""; position:absolute; inset:0; background-image:url("../img/hero-pattern.svg"); background-size:cover; opacity:.25; }
.wafi-band-inner{ position:relative; z-index:2; }
.wafi-band h2{ color:#fff; }
.wafi-band p{ color:rgba(255,255,255,.82); max-width:560px; margin:0 auto 2em; }
.wafi-band-stats{ display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(24px,5vw,72px); }
.wafi-band-stats .n{ font-size:clamp(2rem,4vw,3.2rem); font-weight:800; }
.wafi-band-stats .l{ font-size:14px; color:rgba(255,255,255,.8); }

/* ---- Split / about ---------------------------------------------------- */
.wafi-split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,64px); align-items:center; }
.wafi-split-media{ border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/3; background:var(--soft); box-shadow:var(--shadow-sm); }
.wafi-split-media img{ width:100%; height:100%; object-fit:cover; }
.wafi-checks{ list-style:none; margin:1.4em 0 0; padding:0; }
.wafi-checks li{ position:relative; padding:0 0 14px 34px; color:var(--body); font-weight:500; }
.wafi-checks li::before{
	content:""; position:absolute; left:0; top:3px; width:22px; height:22px; border-radius:50%;
	background:var(--blue-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23001ea0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 6'/%3E%3C/svg%3E") center/14px no-repeat;
}

/* ---- Testimonials ----------------------------------------------------- */
.wafi-quote{ background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:28px 26px; box-shadow:var(--shadow-sm); }
.wafi-quote .stars{ color:#ffb400; letter-spacing:2px; margin-bottom:10px; }
.wafi-quote p{ color:var(--ink); font-size:1.02rem; }
.wafi-quote-by{ display:flex; align-items:center; gap:12px; margin-top:16px; }
.wafi-quote-avatar{ width:44px; height:44px; border-radius:50%; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.wafi-quote-name{ font-size:14.5px; font-weight:700; color:var(--ink); }
.wafi-quote-role{ font-size:13px; color:var(--muted); }

/* ---- Partners --------------------------------------------------------- */
.wafi-partners{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 18px; }
.wafi-partner{ background:#fff; border:1px solid var(--line); border-radius:var(--r-pill); padding:10px 22px; font-weight:700; color:var(--blue); font-size:15px; }

/* ---- News ------------------------------------------------------------- */
.wafi-news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

/* ---- CTA band --------------------------------------------------------- */
.wafi-cta{ background:linear-gradient(135deg,var(--blue),var(--blue-2)); color:#fff; border-radius:var(--r-lg); padding:clamp(40px,6vw,72px) clamp(24px,5vw,64px); text-align:center; box-shadow:var(--shadow-blue); }
.wafi-cta h2{ color:#fff; }
.wafi-cta p{ color:rgba(255,255,255,.85); max-width:560px; margin:0 auto 1.8em; }
.wafi-cta-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ---- Article (single/page) ------------------------------------------- */
.wafi-pagehead{ background:linear-gradient(135deg,var(--blue),var(--blue-2)); color:#fff; padding:clamp(50px,7vw,92px) 0 clamp(40px,5vw,64px); text-align:center; }
.wafi-pagehead .wafi-kicker{ color:#ffd6dd; }
.wafi-pagehead h1{ color:#fff; }
.wafi-pagehead p{ color:rgba(255,255,255,.85); max-width:620px; margin:.4em auto 0; }
.wafi-breadcrumb{ font-size:13px; color:rgba(255,255,255,.8); margin-bottom:10px; }
.wafi-breadcrumb a{ color:#fff; }

.wafi-article{ padding:clamp(40px,6vw,80px) 0; }
.wafi-article-hero{ max-width:1000px; margin:0 auto clamp(28px,4vw,48px); border-radius:var(--r-lg); overflow:hidden; aspect-ratio:16/8; background:var(--soft); box-shadow:var(--shadow-sm); }
.wafi-article-hero img{ width:100%; height:100%; object-fit:cover; }
.wafi-prose{ max-width:760px; margin-inline:auto; font-size:17px; color:var(--body); }
.wafi-prose h2{ font-size:1.5rem; margin-top:1.4em; }
.wafi-prose h3{ font-size:1.25rem; margin-top:1.2em; }
.wafi-prose img{ border-radius:var(--r-md); margin:1.4em 0; }
.wafi-prose ul,.wafi-prose ol{ padding-left:1.3em; margin:0 0 1.2em; }
.wafi-prose blockquote{ margin:1.4em 0; padding:14px 22px; border-left:4px solid var(--red); background:var(--soft); border-radius:0 var(--r-sm) var(--r-sm) 0; color:var(--ink); }
.wafi-price-tag{ display:inline-block; font-size:14px; font-weight:700; color:#fff; background:var(--red); border-radius:var(--r-pill); padding:7px 16px; margin-bottom:12px; }

.wafi-inquire-box{ max-width:760px; margin:clamp(32px,5vw,60px) auto 0; padding:40px 34px; background:linear-gradient(135deg,var(--blue),var(--blue-2)); color:#fff; border-radius:var(--r-lg); text-align:center; box-shadow:var(--shadow-blue); }
.wafi-inquire-box h3{ color:#fff; font-size:1.5rem; }
.wafi-inquire-box p{ color:rgba(255,255,255,.85); }
.wafi-inquire-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:6px; }

/* ---- Contact ---------------------------------------------------------- */
.wafi-contact-grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(28px,4vw,56px); align-items:start; }
.wafi-contact-list{ list-style:none; margin:0; padding:0; }
.wafi-contact-list li{ display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); align-items:flex-start; }
.wafi-contact-list .ic{ width:42px; height:42px; flex:0 0 auto; border-radius:12px; background:var(--blue-soft); color:var(--blue); display:flex; align-items:center; justify-content:center; }
.wafi-contact-k{ font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.wafi-contact-list a,.wafi-contact-list span.v{ font-size:1.05rem; color:var(--ink); font-weight:600; }
.wafi-form-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(24px,3vw,40px); box-shadow:var(--shadow-sm); }
.wafi-form-card input,.wafi-form-card textarea,.wafi-form-card select{
	width:100%; padding:13px 15px; margin-bottom:13px; font-family:inherit; font-size:15px;
	border:1px solid var(--line); border-radius:var(--r-sm); background:#fff; color:var(--ink);
	transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.wafi-form-card input:focus,.wafi-form-card textarea:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,30,160,.1); }
.wafi-form-card textarea{ min-height:130px; resize:vertical; }
.wafi-form-card .wafi-btn,.wafi-form-card input[type=submit]{ width:100%; background:var(--red); color:#fff; border:0; border-radius:var(--r-pill); padding:15px; font-weight:700; cursor:pointer; }

/* ---- Floating WhatsApp ------------------------------------------------ */
.wafi-fab{ position:fixed; right:20px; bottom:20px; z-index:850; width:56px; height:56px; border-radius:50%; background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(37,211,102,.4); transition:transform .2s var(--ease); }
.wafi-fab:hover{ transform:scale(1.08); }

/* ---- Footer ----------------------------------------------------------- */
.wafi-footer{ background:var(--blue-dark); color:#c8d2f5; padding:clamp(48px,6vw,80px) 0 0; }
.wafi-footer a{ color:#c8d2f5; }
.wafi-footer a:hover{ color:#fff; }
.wafi-footer-grid{ display:grid; grid-template-columns:1.8fr 1fr 1fr 1.2fr; gap:clamp(24px,3vw,48px); padding-bottom:clamp(32px,4vw,52px); }
.wafi-footer .wafi-brand-name{ color:#fff; }
.wafi-footer .wafi-brand-name b{ color:var(--red); }
.wafi-footer-desc{ font-size:14px; line-height:1.7; margin:14px 0 18px; max-width:300px; }
.wafi-footer-col h4{ color:#fff; font-size:14px; letter-spacing:.04em; text-transform:uppercase; margin:0 0 16px; }
.wafi-footer-menu{ list-style:none; margin:0; padding:0; }
.wafi-footer-menu li{ margin:0 0 10px; }
.wafi-footer-menu a{ font-size:14.5px; }
.wafi-footer-contact li{ display:flex; gap:10px; margin-bottom:12px; font-size:14.5px; align-items:flex-start; }
.wafi-footer-contact svg{ width:17px; height:17px; flex:0 0 auto; margin-top:3px; color:var(--red); }
.wafi-social{ display:flex; gap:10px; margin-top:6px; }
.wafi-social a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; transition:transform .2s var(--ease), background .2s var(--ease); }
.wafi-social a:hover{ background:var(--red); transform:translateY(-2px); }
.wafi-social a[aria-label="Facebook"]{ background:#1877f2; }
.wafi-social a[aria-label="Facebook"]:hover{ background:#0d63d1; }
.wafi-social svg{ width:18px; height:18px; }
.wafi-footer-bottom{ border-top:1px solid rgba(255,255,255,.12); padding:20px 0; font-size:13px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }

/* ---- Pagination ------------------------------------------------------- */
.wafi-pagination{ display:flex; gap:8px; justify-content:center; margin-top:48px; flex-wrap:wrap; }
.wafi-pagination .page-numbers{ padding:10px 16px; border:1px solid var(--line); border-radius:10px; font-size:14px; color:var(--ink); font-weight:600; }
.wafi-pagination .page-numbers.current{ background:var(--blue); color:#fff; border-color:var(--blue); }

/* ---- Scroll reveal ---------------------------------------------------- */
/* Reveal hiding applies ONLY when JS is active (html.wafi-js); without JS the
   content is fully visible — never stuck invisible. */
.wafi-js .reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.wafi-js .reveal.is-in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.07s; }
.reveal[data-d="2"]{ transition-delay:.14s; }
.reveal[data-d="3"]{ transition-delay:.21s; }
@media (prefers-reduced-motion: reduce){ .wafi-js .reveal{ opacity:1!important; transform:none!important; } }

/* ---- Responsive ------------------------------------------------------- */
@media (max-width: 1000px){
	.wafi-grid-4{ grid-template-columns:repeat(2,1fr); }
	.wafi-grid-3,.wafi-news-grid,.wafi-offers{ grid-template-columns:repeat(2,1fr); }
	.wafi-searchrow{ grid-template-columns:1fr 1fr; }
	.wafi-searchrow .wafi-btn{ grid-column:1 / -1; width:100%; }
}
@media (max-width: 880px){
	.wafi-nav{ display:none; }
	.wafi-burger{ display:block; }
	.wafi-header-btn{ display:none; }
	.wafi-split{ grid-template-columns:1fr; }
	.wafi-contact-grid{ grid-template-columns:1fr; }
	.wafi-footer-grid{ grid-template-columns:1fr 1fr; }
	.wafi-topbar-badges{ display:none; }
	.wafi-topbar-inner{ justify-content:center; }
}
@media (max-width: 600px){
	.wafi-grid-3,.wafi-grid-2,.wafi-grid-4,.wafi-news-grid,.wafi-offers{ grid-template-columns:1fr; }
	.wafi-searchrow{ grid-template-columns:1fr; }
	.wafi-footer-grid{ grid-template-columns:1fr; }
	.wafi-footer-bottom{ flex-direction:column; }
	.wafi-dest{ aspect-ratio:16/10; }
}
