@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

/*==================================================================================

	WIZTOOLS — DESIGN SYSTEM

	Bootstrap 5.3 ke upar. Dark mode Bootstrap ke apne data-bs-theme
	se chalta hai, is liye alag koi class nahi chahiye.

		<html data-bs-theme="light">   ya   "dark"

	Radius:  input/button 5px, chhote dabbe 6px, card 8px, modal 10px


	DO HISSE

		001 – 013     website: navbar, hero, footer, search, coffee …
		101 – 122     TOOL APP: har module ka mushtarak dhancha

	Doosra hissa file ke aakhir me hai. Naya tool module banate waqt wahi
	classes istemal karen — module ki apni custom.css me sirf wo cheez
	likhen jo sirf usi module ki ho.

==================================================================================*/

:root{
	--wiz-primary:			#7c3aed;
	--wiz-primary-dark:		#6d28d9;
	--wiz-primary-light:	#a78bfa;
	--wiz-secondary:		#2563eb;
	--wiz-accent:			#f97316;

	--wiz-radius-input:		5px;
	--wiz-radius-btn:		5px;
	--wiz-radius-sm:		6px;
	--wiz-radius-card:		8px;
	--wiz-radius-modal:		10px;

	--wiz-font-sans:		"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--wiz-font-display:		"Space Grotesk", "Inter", sans-serif;
	--wiz-font-mono:		ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

	--wiz-body-bg:			#fcfbfe;
	--wiz-surface:			#ffffff;
	--wiz-surface-2:		#f6f5fb;
	--wiz-border:			#eceaf4;
	--wiz-border-strong:	#d9d5e8;
	--wiz-text:				#0f0920;
	--wiz-text-muted:		#5c6472;

	/*
		HAALAT KE RANG.

		Ye chhe variables poore project ke tool modules pehle se istemal
		kar rahe the, magar kahin define hi nahi the.

		--wiz-success / --wiz-danger / --wiz-warning har jagah fallback
		ke sath likhe gaye the, is liye wo chalte rahe. Magar
		--wiz-border-strong (34 jagah) aur --wiz-radius-sm (52 jagah)
		bina fallback ke the — yani un ki har declaration khamoshi se
		nakaam ho rahi thi. Border ka rang lagta hi nahi tha aur wo saare
		gol kinare bilkul chokor reh jate the.

		Ab yahan define hain, ek bar, sab ke liye.
	*/
	--wiz-success:			#16a34a;
	--wiz-danger:			#dc2626;
	--wiz-warning:			#d97706;

	--wiz-shadow-sm:		0 4px 20px -2px rgba(124, 58, 237, .05), 0 2px 8px -1px rgba(0, 0, 0, .02);
	--wiz-shadow-md:		0 12px 30px -4px rgba(124, 58, 237, .10), 0 4px 12px -2px rgba(0, 0, 0, .04);

	--wiz-glow-1:			rgba(99, 102, 241, .15);
	--wiz-glow-2:			rgba(168, 85, 247, .15);
	--wiz-glow-3:			rgba(236, 72, 153, .13);
	--wiz-glow-4:			rgba(34, 197, 94, .12);

	--bs-primary:			#7c3aed;
	--bs-primary-rgb:		124, 58, 237;
	--bs-link-color:		#7c3aed;
	--bs-link-color-rgb:	124, 58, 237;
	--bs-link-hover-color:	#6d28d9;
	--bs-border-radius:		8px;
	--bs-body-font-family:	"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

[data-bs-theme="dark"]{
	--wiz-body-bg:			#090514;
	--wiz-surface:			#120b24;
	--wiz-surface-2:		#171029;
	--wiz-border:			#251a3c;
	--wiz-border-strong:	#3b2b5c;
	--wiz-text:				#f3f1f6;
	--wiz-text-muted:		#9aa1b1;

	/* dark par wahi rang halke chahiyen, warna kaale par parhe nahi jate */
	--wiz-success:			#4ade80;
	--wiz-danger:			#f87171;
	--wiz-warning:			#fbbf24;

	--wiz-shadow-sm:		0 4px 24px -2px rgba(0, 0, 0, .40), 0 2px 10px -1px rgba(124, 58, 237, .06);
	--wiz-shadow-md:		0 16px 36px -4px rgba(0, 0, 0, .50), 0 4px 16px -2px rgba(124, 58, 237, .14);

	--wiz-glow-1:			rgba(99, 102, 241, .12);
	--wiz-glow-2:			rgba(168, 85, 247, .12);
	--wiz-glow-3:			rgba(236, 72, 153, .10);
	--wiz-glow-4:			rgba(34, 197, 94, .08);

	--bs-body-bg:			#090514;
	--bs-body-color:		#f3f1f6;
	--bs-emphasis-color:	#ffffff;
}


/*----------------------------------------------------------
	001 — BASE
----------------------------------------------------------*/

*{
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html{
	scroll-behavior: smooth;

	/* sticky navbar ke neeche anchor chhup na jaye */
	scroll-padding-top: calc(var(--wiz-nav-h, 72px) + 18px);

	/*
		`clip`, `hidden` NAHI.

		Pehle yahan body par `overflow: scroll / hidden / auto` tha aur
		usi wajah se sticky navbar chipakta hi nahi tha: overflow set
		karte hi body khud ek scroll container ban jata hai, aur uske
		andar position:sticky ka koi matlab nahi rehta.

		`overflow-x: clip` wahi kaam karta hai (side scrollbar nahi aata)
		magar naya scroll container nahi banata — is liye sticky zinda
		rehta hai.
	*/
	overflow-x: clip;
}

body{
	overflow-x: clip;

	font-family: var(--wiz-font-sans);
	font-size: .95rem;
	line-height: 1.65;
	color: var(--wiz-text);
	background: var(--wiz-body-bg);

	/*
		Charon rangon ka halka glow — old-project ka "frosted-bg".
		fixed rakha hai taake scroll par patch na banen.
	*/
	background-image:
		radial-gradient(at 0% 0%,		var(--wiz-glow-1) 0px, transparent 50%),
		radial-gradient(at 100% 0%,		var(--wiz-glow-2) 0px, transparent 50%),
		radial-gradient(at 100% 100%,	var(--wiz-glow-3) 0px, transparent 50%),
		radial-gradient(at 0% 100%,		var(--wiz-glow-4) 0px, transparent 50%);
	background-attachment: fixed;
	background-repeat: no-repeat;

	transition: background-color .25s ease, color .25s ease;
}

h1, h2, h3, h4, .wiz-display{
	font-family: var(--wiz-font-display);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.2;
	color: var(--wiz-text);
}

h5, h6{
	font-family: var(--wiz-font-sans);
	font-weight: 600;
	color: var(--wiz-text);
}

p{
	color: var(--wiz-text-muted);
}

.wiz-muted{
	color: var(--wiz-text-muted) !important;
}

.wiz-eyebrow{
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--wiz-primary);
}

.wiz-section{
	padding: 3.5rem 0;
}

.wiz-section-alt{
	background: color-mix(in srgb, var(--wiz-surface-2) 70%, transparent);
	border-block: 1px solid var(--wiz-border);
}

@media (min-width: 768px){
	.wiz-section{
		padding: 4.5rem 0;
	}
}


/*----------------------------------------------------------
	002 — BOOTSTRAP OVERRIDES
----------------------------------------------------------*/

.btn{
	--bs-btn-border-radius: var(--wiz-radius-btn);
	font-weight: 600;
	padding: .5rem 1.1rem;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.btn-lg{
	padding: .75rem 1.75rem;
	font-size: 1rem;
}

.btn-primary{
	--bs-btn-bg:			var(--wiz-primary);
	--bs-btn-border-color:	var(--wiz-primary);
	--bs-btn-hover-bg:		var(--wiz-primary-dark);
	--bs-btn-hover-border-color: var(--wiz-primary-dark);
	--bs-btn-active-bg:		var(--wiz-primary-dark);
	--bs-btn-active-border-color: var(--wiz-primary-dark);
	--bs-btn-disabled-bg:	var(--wiz-primary);
	--bs-btn-disabled-border-color: var(--wiz-primary);
}

.btn-outline-primary{
	--bs-btn-color:			var(--wiz-primary);
	--bs-btn-border-color:	color-mix(in srgb, var(--wiz-primary) 40%, transparent);
	--bs-btn-hover-bg:		var(--wiz-primary);
	--bs-btn-hover-border-color: var(--wiz-primary);
	--bs-btn-active-bg:		var(--wiz-primary-dark);
	--bs-btn-active-border-color: var(--wiz-primary-dark);
}

.btn-gradient{
	background: linear-gradient(135deg, var(--wiz-primary) 0%, #4f46e5 100%);
	border: 0;
	color: #fff;
	box-shadow: 0 10px 25px -6px rgba(124, 58, 237, .45);
}

.btn-gradient:hover,
.btn-gradient:focus{
	color: #fff;
	background: linear-gradient(135deg, #6d28d9 0%, #4338ca 100%);
	transform: translateY(-2px);
	box-shadow: 0 14px 30px -6px rgba(124, 58, 237, .55);
}

.btn-coffee{
	color: var(--wiz-accent);
	border: 1px solid color-mix(in srgb, var(--wiz-accent) 40%, transparent);
	background: transparent;
}

.btn-coffee:hover{
	color: #fff;
	background: var(--wiz-accent);
	border-color: var(--wiz-accent);
}

.form-control,
.form-select,
.input-group-text{
	border-radius: var(--wiz-radius-input);
	border-color: var(--wiz-border);
	background-color: var(--wiz-surface);
	color: var(--wiz-text);
	padding: .6rem .85rem;
	font-size: .9rem;
}

.form-control::placeholder{
	color: color-mix(in srgb, var(--wiz-text-muted) 75%, transparent);
}

.form-control:focus,
.form-select:focus{
	border-color: var(--wiz-primary);
	box-shadow: 0 0 0 3px rgba(124, 58, 237, .15);
	background-color: var(--wiz-surface);
	color: var(--wiz-text);
}

.modal-content{
	border-radius: var(--wiz-radius-modal);
	border: 1px solid var(--wiz-border);
	background: var(--wiz-surface);
}

.dropdown-menu{
	border-radius: var(--wiz-radius-card);
	border: 1px solid var(--wiz-border);
	background: var(--wiz-surface);
	box-shadow: var(--wiz-shadow-md);
	padding: .4rem;
}

.dropdown-item{
	border-radius: var(--wiz-radius-btn);
	padding: .55rem .7rem;
	font-size: .85rem;
	font-weight: 600;
	color: var(--wiz-text);
}

.dropdown-item:hover,
.dropdown-item:focus{
	background: color-mix(in srgb, var(--wiz-primary) 10%, transparent);
	color: var(--wiz-primary);
}

.dropdown-item.disabled{
	color: var(--wiz-text-muted);
	opacity: 1;
}

/* category ke andar module ka seedha link */
.wiz-dropdown-sub{
	padding-left: 2.6rem;
	font-size: .8rem;
	font-weight: 500;
	color: var(--wiz-text-muted);
}

.wiz-dropdown-sub i{
	font-size: .7rem;
	margin-right: .2rem;
}

.badge{
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: .01em;
}

.offcanvas{
	background: var(--wiz-surface);
	color: var(--wiz-text);
}


/*----------------------------------------------------------
	003 — SURFACES
----------------------------------------------------------*/

.wiz-card{
	display: block;
	background: var(--wiz-surface);
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	padding: 1.5rem;
	box-shadow: var(--wiz-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

a.wiz-card{
	color: inherit;
}

a.wiz-card:hover{
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--wiz-primary) 45%, transparent);
	box-shadow: var(--wiz-shadow-md);
}

.wiz-card-title{
	font-family: var(--wiz-font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wiz-text);
	margin-bottom: .4rem;
	transition: color .2s ease;
}

a.wiz-card:hover .wiz-card-title{
	color: var(--wiz-primary);
}

/* card ka title khud link ho (jaise home par category ka naam) */
.wiz-card-title-link{
	color: inherit;
	text-decoration: none;
}

.wiz-card-title-link:hover,
.wiz-card-title-link:focus-visible{
	color: var(--wiz-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wiz-card-text{
	font-size: .85rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
	margin: 0;
}

.wiz-card-foot{
	margin-top: 1.25rem;
	padding-top: .9rem;
	border-top: 1px solid var(--wiz-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: .78rem;
	font-weight: 700;
	color: var(--wiz-primary);
}

.wiz-card-foot i{
	transition: transform .2s ease;
}

a.wiz-card:hover .wiz-card-foot i{
	transform: translateX(4px);
}

.wiz-icon-box{
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--wiz-radius-card);
	font-size: 1.25rem;
	background: color-mix(in srgb, var(--wiz-primary) 12%, transparent);
	color: var(--wiz-primary);
	transition: transform .2s ease;
}

.wiz-icon-box-fill{
	background: linear-gradient(135deg, var(--wiz-primary) 0%, #4f46e5 100%);
	color: #fff;
	box-shadow: 0 8px 18px -6px rgba(124, 58, 237, .55);
}

a.wiz-card:hover .wiz-icon-box{
	transform: scale(1.08);
}

.wiz-glass{
	background: color-mix(in srgb, var(--wiz-surface) 72%, transparent);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--wiz-border);
}


/*----------------------------------------------------------
	004 — NAVBAR
----------------------------------------------------------*/

.wiz-navbar{
	padding-block: .55rem;
	z-index: 1030;
}


/*----------------------------------------------------------
	004b — MEGA MENU

	Har khana ek category hai: unwan us category ke main page ka link
	(hub, warna akela module), aur neeche usi ke tools.
----------------------------------------------------------*/

.wiz-mega{
	width: 100%;
	left: 0;
	right: 0;
	padding: 1.25rem 0;
	border-radius: 0 0 var(--wiz-radius-card) var(--wiz-radius-card);
	box-shadow: var(--wiz-shadow-md);

	/*
		Menu navbar ke neeche se le kar screen ke akhir tak.

		--wiz-nav-h navbar ki asli oonchai hai, jo global-custom-web.js
		load aur resize par naapta hai; yahan likhi 72px sirf us ek lamhe
		ke liye hai jab tak JS na chale.

		dvh (vh nahi) — mobile par address bar chhupte hi 100vh screen se
		bara ho jata hai aur menu ka aakhri hissa neeche kat jata hai.
	*/
	max-height: calc(100dvh - var(--wiz-nav-h, 72px));
	overflow-y: auto;
	overscroll-behavior: contain;
}

/* dvh purane browser me nahi hai — un ke liye seedha vh */
@supports not (height: 100dvh){

	.wiz-mega{
		max-height: calc(100vh - var(--wiz-nav-h, 72px));
	}
}

/*
	DO SUTOON — baayen category, dayen us ke tools.

	PEHLE KYA THA: saari categories apne poore tool ki fehrist ke sath ek
	sath khuli hoti thin, masonry columns me. Gyarah tools wali site par
	wo theek tha. Chaar sau se ooper par wo ek deewar ban gaya jis me se
	koi kuch nahi dhoondta, aur poora menu screen se bahar chala jata
	tha.

	AB: baayen taraf sirf naam, dayen taraf jo chuna gaya us ke tools.
	Dono ke apne apne scroll hain — yehi asal faida hai. Ek hi scroll ho
	to lambi category ka aakhri tool dekhne ke liye category ki fehrist
	bhi ooper chali jati hai, aur aadmi ko pata hi nahi chalta ke wo
	kahan hai.
*/

.wiz-mega-split{
	display: grid;
	grid-template-columns: 1fr;
	gap: .75rem;
}

@media (min-width: 992px){

	.wiz-mega-split{
		grid-template-columns: 17rem 1fr;
		gap: 1.25rem;
	}
}

/*
	OONCHAI EK JAGAH LIKHI HAI.

	Menu navbar ke neeche se screen ke akhir tak jata hai — 2.5rem us
	padding ka hai jo ooper neeche menu ke andar hai, warna aakhri qatar
	kinare se chipak jati.

	max-height nahi, height: dono sutoon hamesha itne hi lambe rehte
	hain. Bagair is ke chhoti category (Typing, ek tool) khulte hi menu
	simat jata tha aur bara khana dobara khulte hi phail jata tha — har
	click par safha hilta hua lagta tha.
*/
.wiz-mega{
	--wiz-mega-h: calc(100dvh - var(--wiz-nav-h, 72px) - 3rem);

	/* andar ke sutoon khud scroll karte hain, is liye bahar wala nahi */
	overflow: hidden;
}

@supports not (height: 100dvh){

	.wiz-mega{
		--wiz-mega-h: calc(100vh - var(--wiz-nav-h, 72px) - 3rem);
	}
}

.wiz-mega-side,
.wiz-mega-main{
	height: var(--wiz-mega-h);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
}

/*
	Chhoti screen par dono sutoon ek doosre ke neeche aate hain, is liye
	wahan ek ki poori oonchai lena theek nahi — aadha aadha.
*/
@media (max-width: 991.98px){

	.wiz-mega-side,
	.wiz-mega-main{
		height: auto;
		max-height: calc(var(--wiz-mega-h) * .5);
	}
}

.wiz-mega-side{
	padding-right: .35rem;
}

@media (min-width: 992px){

	.wiz-mega-side{
		border-right: 1px solid var(--wiz-border);
		padding-right: .75rem;
	}
}

.wiz-mega-main{
	padding-right: .35rem;
}


/*----------------------------------------------------------
	BAAYEN TARAF KA NAAM

	Ye button hai, link nahi. Click karne par safha nahi badalta, sirf
	dayan khana badalta hai — aur category ka apna safha dayen khane ke
	ooper se khulta hai. Agar ye link hota to har baar dekhne ke liye
	safha chhorna parta.
----------------------------------------------------------*/

.wiz-mega-cat{
	display: flex;
	align-items: center;
	gap: .55rem;
	width: 100%;
	padding: .5rem .6rem;

	/*
		Border hamesha mojood hai, sirf rang badalta hai. Agar wo sirf
		active haalat me lagta to har click par qatar ek pixel khisak
		jati.
	*/
	border: 1px solid transparent;
	border-radius: var(--wiz-radius-sm, .5rem);
	background: transparent;
	color: var(--wiz-text);
	font-size: .88rem;
	font-weight: 600;
	text-align: left;
	line-height: 1.25;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}

.wiz-mega-cat + .wiz-mega-cat{
	margin-top: .12rem;
}

.wiz-mega-cat:hover{
	background: var(--wiz-surface-2, rgba(124, 58, 237, .07));
}

.wiz-mega-cat.is-on{
	background: var(--wiz-primary-soft, rgba(124, 58, 237, .12));
	border-color: var(--wiz-primary, #7c3aed);
	color: var(--wiz-primary, #7c3aed);

	/* baayen kinare par gehri lakeer — chuni hui qatar door se nazar aati hai */
	box-shadow: inset 3px 0 0 0 var(--wiz-primary, #7c3aed);
}

.wiz-mega-cat:focus-visible{
	outline: 2px solid var(--wiz-primary, #7c3aed);
	outline-offset: 2px;
}

.wiz-mega-cat-name{
	flex: 1 1 auto;
	min-width: 0;
}

/* ginti — har waqt sach, kyunke wo tools-list.php se ginti jati hai */
.wiz-mega-count{
	flex: none;
	font-size: .7rem;
	font-weight: 700;
	color: var(--wiz-text-muted);
	background: var(--wiz-surface-2, rgba(0, 0, 0, .05));
	border-radius: 999px;
	padding: .05rem .4rem;
}

.wiz-mega-cat.is-on .wiz-mega-count{
	color: var(--wiz-primary, #7c3aed);
	background: rgba(124, 58, 237, .16);
}

.wiz-mega-cat .wiz-mega-arrow{
	flex: none;
	font-size: .7rem;
	opacity: 0;
	transform: translateX(-.2rem);
	transition: opacity .15s ease, transform .15s ease;
}

.wiz-mega-cat.is-on .wiz-mega-arrow,
.wiz-mega-cat:hover .wiz-mega-arrow{
	opacity: .8;
	transform: translateX(0);
}


/*----------------------------------------------------------
	DAYEN TARAF KA KHANA
----------------------------------------------------------*/

.wiz-mega-pane{
	display: none;
}

.wiz-mega-pane.is-on{
	display: block;
}

.wiz-mega-pane-top{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	flex-wrap: wrap;
	margin-bottom: .6rem;
	padding-bottom: .5rem;
	border-bottom: 1px solid var(--wiz-border);

	/*
		Unwan scroll ke sath ooper hi chipka rehta hai. Bagair is ke
		lambi fehrist me neeche ja kar pata nahi chalta ke ye kis
		category ke tools hain.
	*/
	position: sticky;
	top: 0;
	z-index: 2;
	background: var(--wiz-surface, #fff);
}

.wiz-mega-pane-head{
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-size: .95rem;
	font-weight: 700;
	color: var(--wiz-text);
	text-decoration: none;
}

.wiz-mega-pane-head:hover{
	color: var(--wiz-primary, #7c3aed);
}

.wiz-mega-pane-head i{
	font-size: .75rem;
	opacity: .7;
}

.wiz-mega-pane-head.is-soon{
	color: var(--wiz-text-muted);
}

.wiz-mega-pane-note{
	font-size: .75rem;
	color: var(--wiz-text-muted);
}

/*
	Tools khud multi-column me. Yahan masonry theek hai: har link ek hi
	satar ka hai, is liye column ke beech me koi bara khali gap nahi
	banta.
*/
.wiz-mega-grid{
	column-gap: 1.25rem;
	column-count: 1;
}

@media (min-width: 576px){
	.wiz-mega-grid{ column-count: 2; }
}

@media (min-width: 992px){
	.wiz-mega-grid{ column-count: 3; }
}

@media (min-width: 1400px){
	.wiz-mega-grid{ column-count: 4; }
}

.wiz-mega-grid > li{
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
}


.wiz-mega-col{
	height: auto;
}

/*
	Home page "Tool Categories" grid — wahi masonry (CSS multi-column) jaisa
	mega menu. Bootstrap ki flex .row har card ko sab se lambe card jitna
	tall bana deti thi, is liye kam-tools wali categories (QR, Barcode) ke
	andar bara khaali space reh jata tha. Ab har card apni asli lambai leta
	hai aur agle column me tightly pack ho jata hai.
*/
.wiz-cat-grid{
	display: block;
	column-gap: 1.5rem;
	column-count: 1;
}

@media (min-width: 576px){
	.wiz-cat-grid{ column-count: 2; }
}

@media (min-width: 992px){
	.wiz-cat-grid{ column-count: 3; }
}

.wiz-cat-grid > [class*="col-"]{
	width: 100%;
	max-width: 100%;
	flex: none;
	padding-right: 0;
	padding-left: 0;
	margin-bottom: 1.5rem;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
}

.wiz-cat-grid .wiz-card{
	height: auto;
}

.wiz-mega-head{
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .45rem .5rem;
	margin-bottom: .25rem;
	border-radius: var(--wiz-radius-btn);
	font-family: var(--wiz-font-display);
	font-size: .92rem;
	font-weight: 700;
	color: var(--wiz-text);
	transition: color .15s ease, background .15s ease;
}

.wiz-mega-head:hover{
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 8%, transparent);
}

.wiz-mega-head.is-soon{
	color: var(--wiz-text-muted);
	cursor: default;
}

.wiz-mega-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	border-radius: var(--wiz-radius-btn);
	font-size: .9rem;
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 12%, transparent);
}

.wiz-mega-head:hover .wiz-mega-icon{
	color: #fff;
	background: linear-gradient(135deg, var(--wiz-primary) 0%, #4f46e5 100%);
}

/* teer sirf hover par — warna nau khanon me shor ban jata hai */
.wiz-mega-arrow{
	font-size: .7rem;
	opacity: 0;
	transform: translateX(-3px);
	transition: opacity .15s ease, transform .15s ease;
}

.wiz-mega-head:hover .wiz-mega-arrow{
	opacity: 1;
	transform: translateX(0);
}

.wiz-mega-list{
	/* icon ke barabar khisak kar — tools apne unwan ke neeche lagte hain */
	padding-left: 2.4rem;
}

.wiz-mega-link{
	display: flex;
	align-items: center;
	gap: .35rem;
	padding: .22rem .3rem;
	border-radius: var(--wiz-radius-btn);
	font-size: .8rem;
	font-weight: 500;
	color: var(--wiz-text-muted);
	transition: color .15s ease, background .15s ease;
}

.wiz-mega-link:hover{
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 8%, transparent);
}

.wiz-mega-link i{
	font-size: .62rem;
	flex-shrink: 0;
	color: var(--wiz-primary);
	opacity: .7;
}

/*
	MODULE KA APNA ICON.

	20px: icon do hisson ka hai (asal naqsha aur kone par chhota nishan),
	is liye 18 par nishan gudmud ho jata tha. 20 par dono saaf, aur qatar
	ki oonchai phir bhi nahi barhti. Naap HTML me bhi likhi hai
	(width/height), taake icon aane se pehle jagah ghir jaye aur fehrist
	aankhon ke samne hile nahi.
*/
.wiz-mega-ico{
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	object-fit: contain;
}

.wiz-mega-link.is-soon .wiz-mega-ico{
	filter: grayscale(1);
	opacity: .55;
}

.wiz-mega-link.is-soon{
	cursor: default;
	opacity: .6;
}

.wiz-mega-link.is-soon:hover{
	color: var(--wiz-text-muted);
	background: transparent;
}

.wiz-mega-link .badge{
	font-size: .55rem;
	padding: .12rem .3rem;
}

/*
	KHULA HUA TOOL.

	Jis safhe par aadmi abhi hai, us ka link menu me nishan zada rehta
	hai — dono jagah, desktop ke khane me bhi aur phone ki fehrist me
	bhi. Border is liye ke sirf rang badalna un logon ke liye kaafi
	nahi hota jinhen rang ka farq nazar nahi aata.
*/
.wiz-mega-link.is-here{
	color: var(--wiz-primary);
	font-weight: 700;
	background: color-mix(in srgb, var(--wiz-primary) 10%, transparent);
	box-shadow: inset 2px 0 0 0 var(--wiz-primary);
}

.wiz-mega-link.is-here i{
	opacity: 1;
}

/* category ka apna safha — khane ki pehli qatar */
.wiz-mega-link.is-all{
	font-weight: 700;
	color: var(--wiz-primary);
}


/* mobile offcanvas — wahi tarteeb, sirf ek column me */
.wiz-mega-mobile .wiz-mega-col + .wiz-mega-col{
	margin-top: .35rem;
	padding-top: .35rem;
	border-top: 1px solid var(--wiz-border);
}

.wiz-mega-mobile .wiz-mega-list{
	padding-left: 2.1rem;
	padding-bottom: .25rem;
}

/*
	PHONE KA MENU POORI CHAURAI LETA HAI.

	Pehle 300px ka tha, jis me har tool ka naam do teen satron me tootta
	tha ("Bulk Image Brightness and Contrast Adjuster") aur fehrist bevajah
	lambi ho jati thi. Ab dayen se baayen kinare tak.

	576px se ooper (bare phone, tablet) tool do sutoon me aate hain —
	poori chaurai me ek sutoon rakhna sirf khali jagah chhorta hai.
*/
.wiz-mobile-nav{
	width: 100% !important;
	max-width: 100%;
}

@media (min-width: 576px){

	.wiz-mobile-nav .wiz-mega-mobile .wiz-mega-list{
		column-count: 2;
		column-gap: 1rem;
	}

	.wiz-mobile-nav .wiz-mega-mobile .wiz-mega-list > li{
		break-inside: avoid;
		-webkit-column-break-inside: avoid;
	}
}


/*
	PHONE KE BAND KHANE.

	Unwan ab link nahi, button hai. Button apni marzi se apna hi andaz
	le aata hai (browser ka border, background aur beech me lagi hui
	tehreer), is liye wo sab yahan wapas saaf karna parta hai.
*/
.wiz-mega-toggle{
	width: 100%;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
}

.wiz-mega-toggle:focus-visible{
	outline: 2px solid var(--wiz-primary);
	outline-offset: 2px;
}

.wiz-mega-toggle[aria-expanded="true"]{
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 8%, transparent);
}

.wiz-mega-toggle[aria-expanded="true"] .wiz-mega-icon{
	color: #fff;
	background: linear-gradient(135deg, var(--wiz-primary) 0%, #4f46e5 100%);
}

/* teer khulte waqt ghoom jata hai — khana khula hai ya band, ek nazar me */
.wiz-mega-chev{
	flex-shrink: 0;
	font-size: .8rem;
	opacity: .6;
	transition: transform .2s ease;
}

.wiz-mega-toggle[aria-expanded="true"] .wiz-mega-chev{
	transform: rotate(180deg);
	opacity: 1;
}

.wiz-brand{
	display: inline-flex;
	align-items: center;
	gap: .6rem;
}

.wiz-brand img{
	width: 38px;
	height: 38px;
	object-fit: contain;
}

.wiz-brand-text{
	font-family: var(--wiz-font-display);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -.02em;
	background: linear-gradient(135deg, var(--wiz-primary) 0%, var(--wiz-secondary) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height:23px;
}
.wiz-brand-domain{
	font-family: var(--wiz-font-display);
	font-size: 11px;
	letter-spacing:0.2px;
	color:#000;
}

.wiz-nav-link{
	font-size: .88rem;
	font-weight: 600;
	color: var(--wiz-text-muted);
	padding: .45rem .85rem !important;
	border-radius: var(--wiz-radius-btn);
	transition: color .18s ease, background .18s ease;
}

.wiz-nav-link:hover,
.wiz-nav-link:focus{
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 9%, transparent);
}

.wiz-nav-link.active{
	color: var(--wiz-primary);
	font-weight: 700;
}

.wiz-search-trigger{
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .42rem .7rem;
	font-size: .8rem;
	font-weight: 500;
	color: var(--wiz-text-muted);
	background: var(--wiz-surface-2);
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-btn);
	transition: border-color .18s ease;
}

.wiz-search-trigger:hover{
	border-color: color-mix(in srgb, var(--wiz-primary) 45%, transparent);
	color: var(--wiz-text);
}

.wiz-search-trigger i{
	color: var(--wiz-primary);
}

.wiz-kbd{
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .65rem;
	font-weight: 700;
	padding: .1rem .35rem;
	border-radius: 3px;
	background: var(--wiz-surface);
	border: 1px solid var(--wiz-border);
	color: var(--wiz-text-muted);
}

.wiz-icon-btn{
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: var(--wiz-radius-btn);
	background: transparent;
	color: var(--wiz-text-muted);
	font-size: 1.05rem;
	transition: color .18s ease, background .18s ease;
}

.wiz-icon-btn:hover{
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 9%, transparent);
}

/* theme toggle — ek waqt me ek hi icon */
[data-bs-theme="light"] .wiz-theme-dark{ display: none; }
[data-bs-theme="dark"]  .wiz-theme-light{ display: none; }


/*----------------------------------------------------------
	005 — HERO
----------------------------------------------------------*/

.wiz-hero{
	position: relative;
	overflow: hidden;
	padding: 3rem 0 3rem;
}


.wiz-hero-blob{
	position: absolute;
	border-radius: 50%;
	filter: blur(120px);
	pointer-events: none;
	user-select: none;
	z-index: 0;
}

.wiz-hero-blob-1{
	top: -22%;
	left: -12%;
	width: 46%;
	padding-bottom: 46%;
	background: rgba(124, 58, 237, .16);
}

.wiz-hero-blob-2{
	bottom: -18%;
	right: -12%;
	width: 40%;
	padding-bottom: 40%;
	background: rgba(37, 99, 235, .14);
}

.wiz-hero-inner{
	position: relative;
	z-index: 1;
}

.wiz-pill{
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .4rem 1rem;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 10%, transparent);
	border: 1px solid color-mix(in srgb, var(--wiz-primary) 22%, transparent);
}

/*
	HERO KA UNWAN

	Markup me saada <br> hai, is liye unwan HAR screen par do hi
	qataron ka rehta hai. Yani chhoti screen par line lipat kar
	teesri qatar nahi banati — us ka intezam naap se karna parta
	hai, break se nahi.

	Is liye teen media query ki jagah ek clamp():

		min		1.5rem		is se neeche parhna mushkil ho jata hai
		aage	8vw			naap chaurai ke sath sath badalta hai
		max		3.6rem		wahi jo pehle bari screen par tha

	8vw kyun. Lambi qatar "That Just Do The Job" hai, jo display
	font me takreeban 11em jagah leti hai (sab se chaure fallback
	font ke hisaab se — Space Grotesk is se tang hai). Container
	dono taraf 12px padding chhorta hai, to bachi hui jagah
	100vw − 24px hai. 8vw × 11em ≈ 88vw, yani 320px ke sab se
	chhote phone par bhi qatar poori aa jati hai aur haashiya bacha
	rehta hai.

	3.6rem par 720px chaurai ke aas paas pohanch jata hai aur us ke
	baad thehr jata hai — warna bare monitor par unwan chikhne
	lagta.
*/
.wiz-hero-title{
	font-size: clamp(1.5rem, 8vw, 3.6rem);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.15;
}

.wiz-gradient-text{
	background: linear-gradient(135deg, #4f46e5 0%, #9333ea 50%, #ec4899 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.wiz-hero-sub{
	font-size: 1rem;
	line-height: 1.7;
	color: var(--wiz-text-muted);
	max-width: 50rem;
	margin-inline: auto;
}

@media (min-width: 576px){
	.wiz-hero-sub{ font-size: 1.12rem; }
}

.wiz-chip{
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .38rem .85rem;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 600;
	color: var(--wiz-text);
	background: var(--wiz-surface);
	border: 1px solid var(--wiz-border);
	transition: all .18s ease;
}

.wiz-chip i{
	color: var(--wiz-primary);
	font-size: .85rem;
}

.wiz-chip:hover{
	color: var(--wiz-primary);
	border-color: color-mix(in srgb, var(--wiz-primary) 45%, transparent);
	background: color-mix(in srgb, var(--wiz-primary) 8%, transparent);
}

.wiz-chip span{
	opacity: .55;
	font-weight: 500;
}


/*----------------------------------------------------------
	006 — SEARCH MODAL
----------------------------------------------------------*/

.wiz-search-input{
	border: 0 !important;
	box-shadow: none !important;
	font-size: 1rem;
	padding-left: 0;
	background: transparent;
}

.wiz-search-results{
	max-height: 58vh;
	overflow-y: auto;
}

.wiz-search-item{
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: .7rem .85rem;
	border-radius: var(--wiz-radius-btn);
	color: var(--wiz-text);
	transition: background .15s ease;
}

.wiz-search-item:hover{
	background: color-mix(in srgb, var(--wiz-primary) 9%, transparent);
	color: var(--wiz-text);
}

.wiz-search-item i{
	color: var(--wiz-primary);
	font-size: 1.05rem;
}


/*----------------------------------------------------------
	007 — FAQ
----------------------------------------------------------*/

.accordion{
	--bs-accordion-border-color: var(--wiz-border);
	--bs-accordion-border-radius: var(--wiz-radius-card);
	--bs-accordion-inner-border-radius: var(--wiz-radius-card);
	--bs-accordion-bg: var(--wiz-surface);
	--bs-accordion-color: var(--wiz-text);
	--bs-accordion-btn-color: var(--wiz-text);
	--bs-accordion-active-color: var(--wiz-primary);
	--bs-accordion-active-bg: color-mix(in srgb, var(--wiz-primary) 7%, transparent);
	--bs-accordion-btn-focus-box-shadow: 0 0 0 3px rgba(124, 58, 237, .15);
}

.accordion-item{
	margin-bottom: .7rem;
	border-radius: var(--wiz-radius-card) !important;
	overflow: hidden;
}

.accordion-button{
	font-weight: 600;
	font-size: .95rem;
	border-radius: var(--wiz-radius-card) !important;
}

.accordion-body{
	font-size: .88rem;
	line-height: 1.7;
	color: var(--wiz-text-muted);
	border-top: 1px solid var(--wiz-border);
}


/*----------------------------------------------------------
	008 — NEWSLETTER
----------------------------------------------------------*/

.wiz-newsletter{
	position: relative;
	overflow: hidden;
	border-radius: var(--wiz-radius-card);
	background: linear-gradient(135deg, #4c1d95 0%, #312e81 100%);
	color: #fff;
	padding: 3rem 1.25rem;
}

.wiz-newsletter h2,
.wiz-newsletter h3{
	color: #fff;
}

.wiz-newsletter p{
	color: rgba(226, 216, 255, .88);
}

.wiz-newsletter .form-control{
	background: rgba(255, 255, 255, .12);
	border-color: rgba(255, 255, 255, .18);
	color: #fff;
}

.wiz-newsletter .form-control::placeholder{
	color: rgba(255, 255, 255, .55);
}

.wiz-newsletter .form-control:focus{
	background: rgba(255, 255, 255, .18);
	border-color: rgba(255, 255, 255, .45);
	box-shadow: 0 0 0 3px rgba(255, 255, 255, .12);
	color: #fff;
}

.wiz-newsletter-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: var(--wiz-radius-card);
	background: rgba(255, 255, 255, .12);
	color: #c4b5fd;
	font-size: 1.35rem;
}


/*----------------------------------------------------------
	009 — FOOTER
----------------------------------------------------------*/

.wiz-footer{
	background: var(--wiz-surface);
	border-top: 1px solid var(--wiz-border);
	padding: 3.5rem 0 1.5rem;
	margin-top: 3rem;
}

.wiz-footer-head{
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--wiz-text);
	margin-bottom: 1rem;
}

.wiz-footer-link{
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .82rem;
	font-weight: 500;
	color: var(--wiz-text-muted);
	padding-block: .22rem;
	transition: color .18s ease;
}

.wiz-footer-link i{
	font-size: .7rem;
	color: var(--wiz-primary);
}

.wiz-footer-link:hover{
	color: var(--wiz-primary);
}

/* category abhi ready nahi — link nahi banta */
.wiz-footer-soon,
.wiz-footer-soon:hover{
	color: var(--wiz-text-muted);
	opacity: .7;
	cursor: default;
}

.wiz-footer-soon i{
	color: var(--wiz-text-muted);
}

.wiz-social{
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--wiz-radius-btn);
	background: var(--wiz-surface-2);
	border: 1px solid var(--wiz-border);
	color: var(--wiz-text-muted);
	transition: all .18s ease;
}

.wiz-social:hover{
	color: #fff;
	background: var(--wiz-primary);
	border-color: var(--wiz-primary);
	transform: translateY(-2px);
}

.wiz-footer-bottom{
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wiz-border);
	font-size: .78rem;
	color: var(--wiz-text-muted);
}


/*----------------------------------------------------------
	010 — BACK TO TOP
----------------------------------------------------------*/

.btn-back2top{
	position: fixed;
	right: 18px;
	bottom: 18px;
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: var(--wiz-radius-btn);
	background: var(--wiz-primary);
	color: #fff;
	font-size: 1rem;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all .22s ease;
	z-index: 1040;
}

.btn-back2top.show{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.btn-back2top:hover{
	background: var(--wiz-primary-dark);
	color: #fff;
}


/*----------------------------------------------------------
	011 — BREADCRUMB + PAGE HEAD
----------------------------------------------------------*/

.wiz-page-head{
	padding: 2.5rem 0 1.5rem;
}

.breadcrumb{
	--bs-breadcrumb-divider-color: var(--wiz-text-muted);
	--bs-breadcrumb-item-active-color: var(--wiz-text-muted);
	font-size: .8rem;
	margin: 0;
}

.breadcrumb a{
	color: var(--wiz-primary);
	font-weight: 600;
}


/*----------------------------------------------------------
	012 — UTILITIES
----------------------------------------------------------*/

.wiz-fade-up{
	animation: wizFadeUp .55s cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes wizFadeUp{
	from{ opacity: 0; transform: translateY(14px); }
	to{ opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce){
	.wiz-fade-up{ animation: none; }
	html{ scroll-behavior: auto; }
}

.wiz-divider{
	height: 1px;
	background: var(--wiz-border);
	border: 0;
	opacity: 1;
}

/*
	PROSE — khuli tehreer ka block (home ka description section,
	about ka "Our Mission", aur aage jo bhi lambi baat likhi jaye).

	.wiz-card-text chhote card ke liye bana tha: .85rem aur muted rang.
	Paragraph ki lambi tehreer us par parhne me thakati hai, is liye
	yahan naap thora bara aur satar ka faasla khula rakha gaya hai.
	Chaurai 68ch par band hai — is se lambi satar par aankh agli satar
	ka shuru dhoondti reh jati hai.
*/
.wiz-prose{
	max-width: 68ch;
}

.wiz-prose p{
	font-size: .95rem;
	line-height: 1.85;
	color: var(--wiz-text-muted);
	margin-bottom: 1.1rem;
}

.wiz-prose p:last-child{
	margin-bottom: 0;
}

.wiz-prose strong{
	color: var(--wiz-text);
	font-weight: 700;
}

.wiz-prose a{
	color: var(--wiz-primary);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}


/*----------------------------------------------------------
	013 — COFFEE

	Markup include/coffee.php se aata hai. Style yahan global me hai,
	module ki custom.css me nahi — taake har naya module ise bina kuch
	likhe istemal kar sake.

		.wiz-coffee			poori chaurai ki patti
		.wiz-coffee-card	sidebar ka khara card
----------------------------------------------------------*/

.wiz-btn-coffee{
	background: var(--wiz-accent);
	color: #fff;
	font-weight: 700;
	font-size: .85rem;
	padding: .6rem 1.3rem;
}

.wiz-btn-coffee:hover{
	background: #ea580c;
	color: #fff;
}

.wiz-btn-coffee i{
	margin-right: .35rem;
}


/* ---- banner ---- */

.wiz-coffee{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.4rem 1.6rem;
	border-radius: var(--wiz-radius-card);
	background: rgba(249, 115, 22, .08);
	border: 1px solid rgba(249, 115, 22, .2);
}

.wiz-coffee-title{
	display: flex;
	align-items: center;
	gap: .5rem;
	font-family: var(--wiz-font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wiz-accent);
	margin-bottom: .25rem;
}

.wiz-coffee p{
	font-size: .85rem;
	color: var(--wiz-text-muted);
}


/* ---- sidebar card ---- */

.wiz-coffee-card{
	text-align: center;
	padding: 1.6rem 1.4rem;
	border-radius: var(--wiz-radius-card);
	background: rgba(249, 115, 22, .09);
	border: 1px solid rgba(249, 115, 22, .22);
}

.wiz-coffee-card-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	margin-bottom: .9rem;
	border-radius: var(--wiz-radius-card);
	font-size: 1.5rem;
	color: #fff;
	background: var(--wiz-accent);
	box-shadow: 0 8px 18px -6px rgba(249, 115, 22, .6);
}

.wiz-coffee-card-title{
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wiz-text);
	margin-bottom: .4rem;
}

.wiz-coffee-card p{
	font-size: .84rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
}

code{
	font-size: .85em;
	padding: .1rem .35rem;
	border-radius: 4px;
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 10%, transparent);
}

/*
	Framework ka errorMsg('alert') "bg-white border" ke sath aata hai
	(twh-functions.php). Dark mode me wo safed patch ban jata hai, is
	liye yahan se theme ke rang par la rahe hain — framework ki file
	chhene ki zarurat nahi.
*/
[data-bs-theme="dark"] .alert.bg-white{
	background: var(--wiz-surface) !important;
	border-color: var(--wiz-border) !important;
	color: var(--wiz-text);
}

[data-bs-theme="dark"] .alert .btn-close{
	filter: invert(1) grayscale(1) brightness(1.6);
}

.text-overflow-line-1,
.text-overflow-line-2,
.text-overflow-line-3,
.text-overflow-line-4,
.text-overflow-line-5,
.text-overflow-line-6{
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.text-overflow-line-1{
	-webkit-line-clamp: 1;
}
.text-overflow-line-2{
	-webkit-line-clamp: 2;
}
.text-overflow-line-3{
	-webkit-line-clamp: 3;
}
.text-overflow-line-4{
	-webkit-line-clamp: 4;
}
.text-overflow-line-5{
	-webkit-line-clamp: 5;
}
.text-overflow-line-6{
	-webkit-line-clamp: 6;
}
.btn, a, button, input[type=submit], input[type=button]{
	cursor:pointer !important;
	text-decoration:none !important;
}


.object-cover-center{
    object-fit:cover;
	object-position:center;
    -o-object-fit: cover;
	-o-object-position: center;
	aspect-ratio: 16/9;
	overflow: hidden; 
	width:100%;
}

.white-space-nowrap{
	white-space:nowrap;
}
.white-space-normal{
	white-space:normal;
}







.inputInvalid{
    animation: shake 300ms;
    color: #DC3545 !important;
	border-color:#DC3545 !important;
}

@keyframes shake {
    25% {
        transform: translateX(4px);
    }
    50% {
        transform: translateX(-4px);
    }
    75% {
        transform: translateX(4px);
    }
}




@media (min-width: 992px){}

@media screen and (max-width: 1200px){} 
@media screen and (max-width: 992px){} 
@media screen and (max-width: 768px){} 
@media screen and (max-width: 576px){}














/*==================================================================================

	TOOL APP — SAARE MODULES KA MUSHTARAK DHANCHA

	Ye hissa har tool module ke liye hai, aur jaan boojh kar YAHAN hai —
	har module ki apni custom.css me nahi.

	WAJAH

	Poore project ka design aur theme ek hi hai. Pehle har module apni
	custom.css me wahi cards, wahi panels, wahi fields, wahi tabs aur
	wahi settings dobara likhta tha. Bais se zyada modules me ek hi CSS
	ki naqlein pari thin, aur un me se kisi ek me kuch badalne ka matlab
	tha ke baqi ikkis chup chaap us se alag ho jayen.

	Ab wo poori lughat yahan ek bar likhi hai. Module ki custom.css me
	sirf wo cheez jati hai jo SIRF usi module ki hai.

	ISTEMAL

		<div class="wiz-app" id="xxApp">
			<div class="wiz-bar"> … </div>
			<p class="wiz-privacy"> … </p>
			<div class="wiz-tabs-wrap"><div class="wiz-tabs"> … </div></div>
			<div class="wiz-body">
				<section class="wiz-view is-active"> … </section>
			</div>
			<div class="wiz-ask d-none"> … </div>
		</div>

	Module ka apna JS in classes par nahi tikta — wo `id` aur `data-*`
	par kaam karta hai (`#xxApp`, `[data-calc]`, `[data-tool]`). Is liye
	do modules ek hi class istemal karte hue bhi ek doosre ko nahi
	chherte.

	KYA YAHAN NAHI AATA

	Wo cheez jo sirf ek module ki hai. Masalan forex ki `.fp-rate`
	(conversion rate ki patti) ya unit converter ka `.cu-` wala hissa —
	wo apni apni custom.css me hi rehti hain.

	FEHRIST

		101  tool page ka hero
		102  app shell + toolbar
		103  tool navigation (tabs)
		104  split layout, panels, fields
		105  disclaimer + privacy line
		106  calculation details (khulne wala)
		107  nateeja
		108  segmented control + notes
		109  history + empty states
		110  qatarein + saved setups
		111  position / direction selector
		112  preset chips
		113  gross se net tak ki seedhi (ladder)
		114  chart
		115  totals, jadwal aur chhoti cheezein
		116  settings
		117  confirm dialog + toast
		118  full screen
		119  how-to / features
		120  ads
		121  responsive
		122  qatarein chhoti screen par card ban jati hain

==================================================================================*/


/*----------------------------------------------------------
	101 — HERO
----------------------------------------------------------*/

.wiz-tool-hero{
	background: var(--wiz-surface);
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	padding: 2rem 1.75rem;
	margin-bottom: 1.25rem;
	box-shadow: var(--wiz-shadow-sm);
}

/*
	HERO KA UNWAN — aur us ke sath module ka apna icon.

	Icon baayen, badge ki qatar aur unwan dono ke barabar. Dono ek
	dabbe me hain aur icon un ke beech me (align-items:center), is liye
	unwan chhota ho ya bara, icon hamesha darmiyan me rehta hai.
*/
.wiz-hero-head{
	display: flex;
	align-items: center;
	gap: 1rem;
}

/*
	DABBA <img> ke bahar, jaan boojh kar: tasveer ko poore khane me
	bithane ke liye ek aam <span> chahiye tha.

	NAAP CHAURAI SE AATI HAI, OONCHAI SE NAHI.

	Pehle align-self:stretch par chhora tha, ke icon khud badge + unwan
	jitna lamba ho jaye. Browser ne oonchai to stretch se le li magar
	chaurai apni purani naap par chhor di — nateeja 64 x 80, chokor hi
	nahi raha (naap kar dekha).

	Ab chaurai saaf likhi hai aur oonchai usi ke barabar (aspect-ratio),
	yani icon hamesha chokor. 7rem naap kar rakha hai: badge ki qatar
	aur do satar ka unwan mil kar 110px ke kareeb bante hain, aur 7rem
	112px hai — yani icon un ke barabar aa jata hai. Chaar satar ke
	unwan par bhi ye unwan se bara nahi lagta.
*/
.wiz-hero-icon{
	flex: none;
	align-self: center;
	display: block;
	width: 7rem;
	aspect-ratio: 1 / 1;
}

.wiz-hero-icon img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media (max-width: 991.98px){

	.wiz-hero-icon{
		width: 5.5rem;
	}
}

/*
	CHHOTE PHONE PAR ICON APNI SATAR ME.

	375px par unwan chaar satar ka ho jata hai; icon sath me rakhne se
	us ke liye sirf 68px bachte the aur har satar do teen lafz ki reh
	jati thi. Ab icon ooper, unwan poori chaurai me.
*/
@media (max-width: 575.98px){

	.wiz-hero-head{
		flex-direction: column;
		align-items: flex-start;
		gap: .75rem;
	}

	.wiz-hero-icon{
		width: 3.75rem;

		/*
			align-self yahan dobara likhna PARTA hai.

			Ooper wo "center" hai, jo qatar wali soorat me oonchai ke
			beech me rakhta hai. Column ban jane par wohi align-self
			chaurai par lag jata hai aur icon beech me chala jata hai —
			naap kar dekha (baayen 158, jabke khana 31 se shuru).
		*/
		align-self: flex-start;
	}
}

.wiz-hero-head-text{
	min-width: 0;
}

.wiz-tool-title{
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -.03em;
	line-height: 1.1;
}

.wiz-tool-sub{
	font-size: 1rem;
	line-height: 1.7;
	color: var(--wiz-text-muted);
	max-width: 44rem;
}

.wiz-badge-primary{
	background: color-mix(in srgb, var(--wiz-primary) 12%, transparent);
	color: var(--wiz-primary);
	font-size: .72rem;
	padding: .38rem .8rem;
}

.wiz-badge-amber{
	background: rgba(245, 158, 11, .14);
	color: #b45309;
	font-size: .72rem;
	padding: .38rem .8rem;
}

[data-bs-theme="dark"] .wiz-badge-amber{
	color: #fbbf24;
}

.wiz-pill-sm{
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .35rem .8rem;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 500;
	color: var(--wiz-text-muted);
	background: var(--wiz-surface-2);
	border: 1px solid var(--wiz-border);
}

.wiz-pill-sm i{
	color: #10b981;
	font-size: .85rem;
}


/* ---- hero ke do sutoon: baayein matn, daayein tasweer ---- */

.wiz-hero-thumb{
	margin: 0;
	border-radius: var(--wiz-radius-card);
	overflow: hidden;
	border: 1px solid var(--wiz-border);
	background: var(--wiz-surface-2);
	line-height: 0;
}

.wiz-hero-thumb img{
	display: block;
	width: 100%;
	height: auto;
}

/*
	Matn ka sutoon ab tang hai, is liye .wiz-tool-sub ki purani 44rem
	ki hadd bemani ho gayi — grid pehle hi chaurai baandh raha hai.
*/
.wiz-tool-hero .wiz-tool-sub{
	max-width: none;
}

/*
	Sutoon 768px par tootte hain (col-md-*). Us se neeche tasweer poori
	chaurai le leti hai, jo bare phone par bhadda lagta hai — is liye
	wahan use baandh kar beech me rakh dete hain.

	HTML me matn pehle hai aur tasweer baad me, is liye mobile par
	tarteeb khud sahih rehti hai. Koi order swap nahi chahiye.
*/
@media (max-width: 767.98px){

	.wiz-hero-thumb{
		max-width: 30rem;
		margin-inline: auto;
	}
}


/* ---- share + link copy ---- */

/*
	Share ki patti tasweer ke neeche, usi sutoon me. Yahan koi border
	nahi: pehle ye matn wale sutoon ke neeche thi aur ek lakeer se alag
	ki jati thi. Ab wo apni jagah par khud alag nazar aati hai, aur
	lakeer sirf shor thi.
*/
.wiz-share{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem .9rem;
	margin-top: 1rem;
}

.wiz-share-label{
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .78rem;
	font-weight: 600;
	color: var(--wiz-text-muted);
}

.wiz-share-list{
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.wiz-share-btn{
	position: relative;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--wiz-radius-sm);
	border: 1px solid var(--wiz-border);
	background: var(--wiz-surface-2);
	color: var(--wiz-text-muted);
	font-size: .95rem;
	text-decoration: none;
	padding: 0;
	transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.wiz-share-btn:hover,
.wiz-share-btn:focus-visible{
	color: var(--wiz-primary);
	border-color: color-mix(in srgb, var(--wiz-primary) 45%, transparent);
	background: color-mix(in srgb, var(--wiz-primary) 9%, transparent);
	transform: translateY(-2px);
}

.wiz-share-btn:active{
	transform: translateY(0);
}

/*
	"Copied" ki chithi button ke ooper tairti hai. Ye jagah nahi ghairti
	(position: absolute), warna copy karte hi patti chaurai badal kar
	aage wale buttons ko sarka deti.
*/
.wiz-share-copied{
	position: absolute;
	bottom: calc(100% + .4rem);
	left: 50%;
	transform: translateX(-50%) translateY(4px);
	white-space: nowrap;
	font-size: .68rem;
	font-weight: 700;
	padding: .2rem .5rem;
	border-radius: var(--wiz-radius-sm);
	background: var(--wiz-success);
	color: #fff;
	opacity: 0;
	pointer-events: none;
	transition: opacity .18s ease, transform .18s ease;
}

.wiz-share-btn.is-copied{
	color: var(--wiz-success);
	border-color: color-mix(in srgb, var(--wiz-success) 50%, transparent);
	background: color-mix(in srgb, var(--wiz-success) 12%, transparent);
}

.wiz-share-btn.is-copied .wiz-share-copied{
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}


/*----------------------------------------------------------
	102 — APP SHELL + TOOLBAR
----------------------------------------------------------*/

.wiz-app{
	position: relative;			/* confirm dialog isi ke andar baithta hai */
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface);
	box-shadow: var(--wiz-shadow-sm);
	overflow: hidden;
	margin-bottom: 1.25rem;
}

.wiz-bar{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	padding: .85rem 1.1rem;
	border-bottom: 1px solid var(--wiz-border);
	background: var(--wiz-surface-2);
}

.wiz-bar-brand{
	display: flex;
	align-items: center;
	gap: .7rem;
	min-width: 0;
}

.wiz-bar-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	flex-shrink: 0;
	border-radius: var(--wiz-radius-btn);
	font-size: 1.1rem;
	color: #fff;
	background: linear-gradient(135deg, var(--wiz-primary) 0%, #4f46e5 100%);
}

.wiz-bar-title{
	font-family: var(--wiz-font-display);
	font-size: 1rem;
	font-weight: 700;
	color: var(--wiz-text);
	line-height: 1.25;
}

.wiz-bar-sub{
	font-size: .74rem;
	color: var(--wiz-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wiz-bar-actions{
	display: flex;
	align-items: center;
	gap: .4rem;
	flex-shrink: 0;
}

.wiz-app-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-btn);
	background: var(--wiz-surface);
	color: var(--wiz-text-muted);
	font-size: .9rem;
	transition: color .15s ease, border-color .15s ease, background .15s ease;
}

.wiz-app-btn:hover{
	color: var(--wiz-primary);
	border-color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 8%, transparent);
}

.wiz-app-btn:focus-visible{
	outline: 2px solid var(--wiz-primary);
	outline-offset: 2px;
}


/*----------------------------------------------------------
	103 — TOOL NAVIGATION

	Bais tabs, ek hi qatar me — aur chhoti screen par ye qatar
	side me scroll hoti hai.

	Wrap karne dena aasan hota, magar phir toolbar chaar qataron ka ban
	jata aur asal calculator screen se neeche dhakel jata. Scroll me
	qatar hamesha ek rehti hai; jo tab khula ho use JS khud nazar me le
	aata hai.
----------------------------------------------------------*/

.wiz-tabs-wrap{
	border-bottom: 1px solid var(--wiz-border);
	background: var(--wiz-surface);
}

.wiz-tabs{
	display: flex;
	gap: .15rem;
	padding: .4rem .6rem 0;
	overflow-x: auto;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.wiz-tabs::-webkit-scrollbar{
	height: 4px;
}

.wiz-tabs::-webkit-scrollbar-thumb{
	background: var(--wiz-border);
	border-radius: 999px;
}

.wiz-tab{
	display: inline-flex;
	align-items: center;
	gap: .38rem;
	flex-shrink: 0;
	padding: .5rem .8rem;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	font-size: .82rem;
	font-weight: 600;
	color: var(--wiz-text-muted);
	white-space: nowrap;
	transition: color .15s ease, border-color .15s ease, background .15s ease;
}

.wiz-tab:hover{
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 6%, transparent);
}

.wiz-tab.is-active{
	color: var(--wiz-primary);
	border-bottom-color: var(--wiz-primary);
}

.wiz-tab:focus-visible{
	outline: 2px solid var(--wiz-primary);
	outline-offset: -2px;
}

.wiz-tab-emoji{
	font-size: .95rem;
	line-height: 1;
}

.wiz-body{
	padding: 1.25rem;
}

.wiz-view{
	display: none;
}

.wiz-view.is-active{
	display: block;
}


/*----------------------------------------------------------
	104 — SPLIT LAYOUT, PANELS, FIELDS

	Bari screen par bayen taraf sawal, dayen taraf jawab. Jawab ko
	inputs ke NEECHE rakhne ka matlab hai ke lambe panel (grade,
	split) par jawab screen se bahar chala jata hai aur user ko
	scroll kar ke dekhna parta hai ke us ne kya poochha tha.
----------------------------------------------------------*/

.wiz-split{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
	gap: 1rem;
	align-items: start;
}

.wiz-panel{
	padding: 1.1rem 1.15rem;
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface-2);
	min-width: 0;
}

.wiz-panel-title{
	font-family: var(--wiz-font-display);
	font-size: 1rem;
	font-weight: 700;
	color: var(--wiz-text);
	margin: 0 0 .2rem;
}

.wiz-panel-sub{
	font-size: .8rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
	margin: 0 0 1rem;
}

.wiz-field{
	margin-bottom: .9rem;
}

.wiz-field:last-of-type{
	margin-bottom: 1rem;
}

.wiz-label{
	display: block;
	font-size: .8rem;
	font-weight: 600;
	color: var(--wiz-text);
	margin-bottom: .3rem;
}

/*
	Input ke andar nishan (currency, %) — bahar likhne se qatar toot
	jati hai aur phone par nishan apni alag line me chala jata hai.
*/
.wiz-input-wrap{
	position: relative;
}

.wiz-input{
	font-size: .95rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	background: var(--wiz-surface);
}

.wiz-input:focus{
	border-color: var(--wiz-primary);
	box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--wiz-primary) 18%, transparent);
}

.wiz-input.has-prefix{
	padding-left: 2.5rem;
}

.wiz-input.has-suffix{
	padding-right: 2.3rem;
}

.wiz-input.is-wrong{
	border-color: #dc2626;
}

.wiz-input.is-wrong:focus{
	box-shadow: 0 0 0 .2rem rgba(220, 38, 38, .18);
}

/* number input ke chhote teer — jagah khate hain, kaam kuch nahi karte */
.wiz-input::-webkit-outer-spin-button,
.wiz-input::-webkit-inner-spin-button{
	-webkit-appearance: none;
	margin: 0;
}

.wiz-input[type="number"]{
	-moz-appearance: textfield;
	appearance: textfield;
}

.wiz-affix{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: .82rem;
	font-weight: 600;
	color: var(--wiz-text-muted);
	pointer-events: none;
}

.wiz-affix-money{
	left: .85rem;
	max-width: 2.4rem;
	overflow: hidden;
	white-space: nowrap;
}

.wiz-affix-unit{
	right: .85rem;
}

.wiz-hint{
	display: block;
	font-size: .75rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
	margin-top: .3rem;
}

/*
	GHALTI KA PAIGHAAM

	Khali rehne par jagah bhi nahi leta, warna har khane ke neeche ek
	khali qatar bani rehti aur form bekaar me lamba lagta.
*/
.wiz-error{
	display: none;
	font-size: .76rem;
	line-height: 1.55;
	color: #dc2626;
	margin-top: .3rem;
}

.wiz-error.is-on{
	display: block;
}

.wiz-error.is-on::before{
	content: "⚠ ";		/* sirf rang par bharosa nahi — nishan bhi */
}

[data-bs-theme="dark"] .wiz-error{
	color: #f87171;
}

.wiz-actions{
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.wiz-actions .btn i{
	margin-right: .25rem;
}


/*----------------------------------------------------------
	105 — DISCLAIMER + PRIVACY LINE

	Amber, surkh nahi: ye khatra nahi jata rehta — ye ek baat hai jo
	page ke shuru me saaf keh deni chahiye. Surkh rakhne se do din me
	nazar-andaz hona shuru ho jata hai.
----------------------------------------------------------*/

.wiz-warn{
	display: flex;
	align-items: flex-start;
	gap: .7rem;
	margin-bottom: 1.25rem;
	padding: .85rem 1.1rem;
	border-radius: var(--wiz-radius-card);
	font-size: .84rem;
	line-height: 1.7;
	color: var(--wiz-text-muted);
	background: rgba(245, 158, 11, .1);
	border: 1px solid rgba(245, 158, 11, .32);
}

.wiz-warn i{
	color: #b45309;
	font-size: 1rem;
	margin-top: .15rem;
	flex-shrink: 0;
}

.wiz-warn b{
	color: var(--wiz-text);
}

[data-bs-theme="dark"] .wiz-warn i{
	color: #fbbf24;
}

.wiz-privacy{
	display: flex;
	align-items: flex-start;
	gap: .45rem;
	margin: 0;
	padding: .55rem 1.1rem;
	font-size: .78rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
	background: color-mix(in srgb, var(--wiz-primary) 5%, transparent);
	border-bottom: 1px solid var(--wiz-border);
}

.wiz-privacy i{
	color: var(--wiz-primary);
	margin-top: .15rem;
	flex-shrink: 0;
}


/*----------------------------------------------------------
	106 — CALCULATION DETAILS  (khulne wala)

	Band rakhna hi default hai: aam sawal ka jawab bara number hai.
	Magar jise jaanch karni ho use poora hisaab ek click par mil jata
	hai — aur wahi is tool ka asal waada hai.
----------------------------------------------------------*/

.wiz-more{
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	border: 0;
	background: transparent;
	padding: .5rem .1rem 0;
	font-size: .78rem;
	font-weight: 600;
	color: var(--wiz-primary);
	transition: opacity .15s ease;
}

.wiz-more:hover{
	opacity: .75;
}

.wiz-more:focus-visible{
	outline: 2px solid var(--wiz-primary);
	outline-offset: 2px;
}

.wiz-more i{
	transition: transform .2s ease;
}

.wiz-more[aria-expanded="true"] i{
	transform: rotate(180deg);
}

/*----------------------------------------------------------
	107 — NATEEJA
----------------------------------------------------------*/

.wiz-panel-out{
	position: sticky;
	top: calc(var(--wiz-nav-h, 72px) + 16px);
	background: color-mix(in srgb, var(--wiz-primary) 6%, transparent);
	border-color: color-mix(in srgb, var(--wiz-primary) 22%, transparent);
}

.wiz-out-label{
	display: block;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wiz-text-muted);
	margin-bottom: .35rem;
}

.wiz-out-big{
	font-family: var(--wiz-font-display);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.02em;
	color: var(--wiz-primary);
	font-variant-numeric: tabular-nums;
	word-break: break-word;
}

.wiz-out-big small{
	display: block;
	margin-top: .2rem;
	font-family: var(--wiz-font-body, inherit);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--wiz-text-muted);
}

/* jab jawab hi nahi banta */
.wiz-out-big.is-empty{
	font-size: 1.6rem;
	color: var(--wiz-text-muted);
	opacity: .6;
}

.wiz-out-extra{
	display: flex;
	flex-direction: column;
	gap: .3rem;
	margin-top: .8rem;
}

.wiz-out-extra:empty{
	margin-top: 0;
}

.wiz-out-row{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: .75rem;
	padding: .35rem 0;
	border-bottom: 1px dashed var(--wiz-border);
	font-size: .82rem;
}

.wiz-out-row:last-child{
	border-bottom: 0;
}

.wiz-out-row span{
	color: var(--wiz-text-muted);
}

.wiz-out-row b{
	color: var(--wiz-text);
	font-variant-numeric: tabular-nums;
	text-align: right;
}

/*
	Barhna / ghatna / munafa / nuqsaan.

	Rang doosre darje ka ishara hai: alfaz aur nishan pehle aate hain,
	taake rang na dikhne par bhi matlab poora rahe.
*/
.wiz-tag{
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	margin-top: .5rem;
	padding: .25rem .6rem;
	border-radius: 999px;
	font-family: var(--wiz-font-body, inherit);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: 0;
}

.wiz-tag.is-up{
	color: #15803d;
	background: rgba(34, 197, 94, .12);
	border: 1px solid rgba(34, 197, 94, .3);
}

.wiz-tag.is-down{
	color: #b45309;
	background: rgba(245, 158, 11, .12);
	border: 1px solid rgba(245, 158, 11, .3);
}

.wiz-tag.is-flat{
	color: var(--wiz-text-muted);
	background: var(--wiz-surface);
	border: 1px solid var(--wiz-border);
}

[data-bs-theme="dark"] .wiz-tag.is-up{	color: #4ade80; }
[data-bs-theme="dark"] .wiz-tag.is-down{	color: #fbbf24; }

.wiz-out-work{
	font-family: var(--wiz-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: .78rem;
	line-height: 1.75;
	color: var(--wiz-text-muted);
	white-space: pre-wrap;
	word-break: break-word;
}

.wiz-out-work:not(:empty){
	margin-top: .8rem;
	padding: .55rem .7rem;
	border-radius: var(--wiz-radius-btn);
	background: var(--wiz-surface);
	border: 1px solid var(--wiz-border);
}

.wiz-out-actions{
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: .9rem;
}


/*----------------------------------------------------------
	108 — SEGMENTED CONTROL + NOTES
----------------------------------------------------------*/

.wiz-seg{
	display: inline-flex;
	padding: .2rem;
	border-radius: var(--wiz-radius-btn);
	background: var(--wiz-surface);
	border: 1px solid var(--wiz-border);
	flex-shrink: 0;
}

.wiz-seg-btn{
	border: 0;
	background: transparent;
	padding: .35rem .75rem;
	border-radius: calc(var(--wiz-radius-btn) - 2px);
	font-size: .8rem;
	font-weight: 600;
	color: var(--wiz-text-muted);
	white-space: nowrap;
	transition: color .15s ease, background .15s ease;
}

.wiz-seg-btn:hover{
	color: var(--wiz-primary);
}

.wiz-seg-btn.is-on{
	color: #fff;
	background: var(--wiz-primary);
}

.wiz-seg-btn:focus-visible{
	outline: 2px solid var(--wiz-primary);
	outline-offset: 1px;
}

/* chaar option ek qatar me nahi samate — lipatne dena parta hai */
.wiz-seg-wrap{
	flex-wrap: wrap;
}

.wiz-seg-sm .wiz-seg-btn{
	padding: .28rem .6rem;
	font-size: .76rem;
}

.wiz-note{
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	padding: .75rem .9rem;
	border-radius: var(--wiz-radius-card);
	font-size: .8rem;
	line-height: 1.7;
	color: var(--wiz-text-muted);
	background: color-mix(in srgb, var(--wiz-primary) 6%, transparent);
	border: 1px solid color-mix(in srgb, var(--wiz-primary) 22%, transparent);
}

.wiz-note i{
	color: var(--wiz-primary);
	font-size: .95rem;
	margin-top: .15rem;
	flex-shrink: 0;
}

.wiz-note b{
	color: var(--wiz-text);
}


/*----------------------------------------------------------
	109 — HISTORY + EMPTY STATES
----------------------------------------------------------*/

.wiz-table{
	font-size: .84rem;
	vertical-align: middle;
}

.wiz-table th{
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wiz-text-muted);
	border-bottom-color: var(--wiz-border);
}

.wiz-table td{
	border-bottom-color: var(--wiz-border);
	color: var(--wiz-text);
	font-variant-numeric: tabular-nums;
}

.wiz-empty{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 2.4rem 1rem;
	border: 1px dashed var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface-2);
}

.wiz-empty-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: .7rem;
	border-radius: var(--wiz-radius-card);
	font-size: 1.4rem;
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 12%, transparent);
}

.wiz-empty-title{
	font-family: var(--wiz-font-display);
	font-size: 1rem;
	font-weight: 700;
	color: var(--wiz-text);
}

.wiz-empty-note{
	font-size: .82rem;
	color: var(--wiz-text-muted);
	max-width: 26rem;
}


/*----------------------------------------------------------
	110 — QATAREIN + SAVED SETUPS
----------------------------------------------------------*/

/* grade aur split ki barhti ghatti qatarein */
.wiz-rows td{
	padding: .4rem .35rem;
	vertical-align: middle;
}

.wiz-rows td:first-child{
	padding-left: 0;
}

.wiz-rows .form-control{
	font-size: .85rem;
	font-variant-numeric: tabular-nums;
	background: var(--wiz-surface);
}

.wiz-row-drop{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-btn);
	background: var(--wiz-surface);
	color: var(--wiz-text-muted);
	font-size: .8rem;
	transition: color .15s ease, border-color .15s ease;
}

.wiz-row-drop:hover{
	color: #dc2626;
	border-color: #dc2626;
}

.wiz-row-drop:focus-visible{
	outline: 2px solid var(--wiz-primary);
	outline-offset: 1px;
}

/* favorites — card, kyunke har ek ka apna naam aur apne buttons hain */
.wiz-fav{
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: .9rem 1rem;
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface-2);
}

.wiz-fav-name{
	font-family: var(--wiz-font-display);
	font-size: .92rem;
	font-weight: 700;
	color: var(--wiz-text);
	word-break: break-word;
}

.wiz-fav-tool{
	display: inline-block;
	margin-top: .2rem;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--wiz-primary);
}

.wiz-fav-calc{
	margin-top: .5rem;
	font-family: var(--wiz-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: .76rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
	word-break: break-word;
}

.wiz-fav-result{
	margin-top: .4rem;
	font-size: .9rem;
	font-weight: 700;
	color: var(--wiz-text);
	word-break: break-word;
}

.wiz-fav-actions{
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin-top: auto;
	padding-top: .8rem;
}

.wiz-hist-tool{
	font-size: .78rem;
	color: var(--wiz-text-muted);
	white-space: nowrap;
}

.wiz-hist-calc{
	font-family: var(--wiz-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: .78rem;
	color: var(--wiz-text-muted);
}

.wiz-hist-result{
	font-weight: 700;
	color: var(--wiz-text);
}

.wiz-hist-when{
	white-space: nowrap;
	color: var(--wiz-text-muted);
	font-size: .76rem;
}

.wiz-ask-field{
	margin-bottom: 1rem;
}


/*----------------------------------------------------------
	111 — POSITION SELECTOR

	Long aur short do bare button hain, ek chhote dropdown me chhupe hue
	nahi. Ye is app ka sab se asar wala switch hai — is par har number ka
	rukh palat jata hai — aur bara hone ki wajah bhi yahi hai.
----------------------------------------------------------*/

.wiz-side{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .5rem;
}

.wiz-side-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;

	padding: .6rem .5rem;

	font-size: .9rem;
	font-weight: 600;
	line-height: 1.2;

	color: var(--wiz-text-muted);
	background: var(--wiz-surface-2);

	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-sm);

	transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.wiz-side-btn:hover{
	color: var(--wiz-text);
	border-color: var(--wiz-border-strong);
}

.wiz-side-btn:focus-visible{
	outline: 2px solid var(--wiz-primary);
	outline-offset: 2px;
}

/*
	Chuni hui taraf ka rang us ke apne maani se milta hai — long sabz,
	short surkh. Magar rang akela kabhi kaafi nahi: naam bhi likha hai
	aur aria-pressed bhi lagta hai.
*/
.wiz-side-btn.wiz-side-long.is-on{
	color: #fff;
	background: var(--wiz-success, #16a34a);
	border-color: var(--wiz-success, #16a34a);
}

.wiz-side-btn.wiz-side-short.is-on{
	color: #fff;
	background: var(--wiz-danger, #dc2626);
	border-color: var(--wiz-danger, #dc2626);
}


/*----------------------------------------------------------
	112 — PRESET CHIPS
----------------------------------------------------------*/

.wiz-presets{
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;

	margin-top: .5rem;
}

.wiz-preset{
	padding: .28rem .6rem;

	font-size: .78rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;

	color: var(--wiz-text-muted);
	background: var(--wiz-surface-2);

	border: 1px solid var(--wiz-border);
	border-radius: 999px;

	transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.wiz-preset:hover{
	color: var(--wiz-text);
	border-color: var(--wiz-border-strong);
}

.wiz-preset.is-on{
	color: #fff;
	background: var(--wiz-primary);
	border-color: var(--wiz-primary);
}

.wiz-preset:focus-visible{
	outline: 2px solid var(--wiz-primary);
	outline-offset: 2px;
}


/*----------------------------------------------------------
	113 — GROSS SE NET TAK KA SEEDHI  (ladder)

	Ye is module ka dil hai.

	Gross wo number hai jo achha lagta hai; net wo hai jo bank me jata
	hai. Aam calculators dono ko ek "Profit and Loss" me mila dete hain aur farq gum
	ho jata hai. Yahan har qadam apni line par hai — fee aur funding
	beech me, saaf nazar aate hue — taake wo faasla dekhe baghair guzarna
	mumkin na ho.
----------------------------------------------------------*/

.wiz-ladder{
	display: flex;
	flex-direction: column;

	margin: .9rem 0 0;
	padding: .75rem .9rem;

	background: var(--wiz-surface-2);
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-sm);
}

.wiz-ladder-row{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;

	padding: .3rem 0;

	font-size: .86rem;
	color: var(--wiz-text-muted);
}

.wiz-ladder-row b{
	font-size: .95rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--wiz-text);
	text-align: right;
}

/* fee aur funding hamesha kharch hain — is liye halke aur "−" ke sath */
.wiz-ladder-row.is-cost b{
	color: var(--wiz-text-muted);
	font-weight: 600;
}

.wiz-ladder-row.is-net{
	margin-top: .3rem;
	padding-top: .55rem;
	border-top: 1px dashed var(--wiz-border-strong);
}

.wiz-ladder-row.is-net span{
	font-weight: 700;
	color: var(--wiz-text);
}

.wiz-ladder-row.is-net b{
	font-size: 1.15rem;
}
/*----------------------------------------------------------
	114 — CHART

	Apna hi SVG — koi library nahi, koi network call nahi.

	Ek seedhi line: neeche qeemat, upar Profit and Loss. Profit aur loss ke ilaqe
	alag rangon me hain, magar har ahem nishan par matn bhi likha hai aur
	poora chart ek alfaz wale khulase se bandha hua hai (aria-labelledby),
	taake screen reader par bhi kuch na chhoote.
----------------------------------------------------------*/

.wiz-chart-wrap{
	margin: .9rem 0 0;
	padding: .8rem .9rem 1rem;

	background: var(--wiz-surface-2);
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-sm);
}

.wiz-chart-title{
	display: block;
	margin-bottom: .5rem;

	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--wiz-text-muted);
}

.wiz-chart{
	width: 100%;
	overflow: hidden;			/* SVG kabhi page ko chaura na kare */
}

.wiz-chart svg{
	display: block;
	width: 100%;
	height: auto;
}

.wiz-chart-zero,
.wiz-chart-axis{
	stroke: var(--wiz-border-strong);
	stroke-width: 1;
}

.wiz-chart-profit{
	fill: var(--wiz-success, #16a34a);
	fill-opacity: .16;
}

.wiz-chart-loss{
	fill: var(--wiz-danger, #dc2626);
	fill-opacity: .16;
}

.wiz-chart-line{
	fill: none;
	stroke: var(--wiz-primary);
	stroke-width: 2;
	stroke-linejoin: round;
}

.wiz-chart-mark{
	stroke-width: 1.5;
	stroke-dasharray: 4 3;
}

.wiz-chart-mark.is-entry{	stroke: var(--wiz-text-muted); }
.wiz-chart-mark.is-exit{		stroke: var(--wiz-primary); }
.wiz-chart-mark.is-be{		stroke: var(--wiz-warning, #d97706); }

.wiz-chart-dot{
	fill: var(--wiz-primary);
}

.wiz-chart-text{
	font-size: 10px;
	fill: var(--wiz-text-muted);
}

.wiz-chart-desc{
	display: block;
	margin-top: .5rem;

	font-size: .78rem;
	line-height: 1.5;
	color: var(--wiz-text-muted);
}

.wiz-chart-key{
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .9rem;

	margin-top: .5rem;
}

.wiz-chart-key span{
	display: inline-flex;
	align-items: center;
	gap: .3rem;

	font-size: .76rem;
	color: var(--wiz-text-muted);
}

.wiz-chart-key b{
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--wiz-text);
}

.wiz-chart-key i{
	width: .8rem;
	height: 0;
	border-top: 2px solid var(--wiz-border-strong);
}

.wiz-chart-key i.is-entry{	border-top-style: dashed; border-top-color: var(--wiz-text-muted); }
.wiz-chart-key i.is-exit{	border-top-style: dashed; border-top-color: var(--wiz-primary); }
.wiz-chart-key i.is-be{		border-top-style: dashed; border-top-color: var(--wiz-warning, #d97706); }

/*----------------------------------------------------------
	115 — TOTALS, JADWAL AUR CHHOTI CHEEZEIN
----------------------------------------------------------*/

.wiz-totals{
	display: flex;
	flex-direction: column;

	margin-top: .9rem;
	padding: .75rem .9rem;

	background: var(--wiz-surface-2);
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-sm);
}

.wiz-totals .wiz-out-row{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;

	padding: .3rem 0;

	font-size: .86rem;
	color: var(--wiz-text-muted);
}

.wiz-totals .wiz-out-row b{
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--wiz-text);
	text-align: right;
}

/*
	TABLE KE AAKHIR ME JAMA WALI SATAR — <tfoot> ki <tr>.

	YAHAN `.wiz-totals` NA LAGAYEN. Wo (upar wala) ek FLEX dabba hai jo
	<div> ke liye bana hai; <tr> par lagate hi satar khari ho jati hai:
	har khana ek doosre ke NEECHE, aur poori satar sirf apne matn jitni
	chauri — table ke baqi columns se us ka koi taalluq nahi rehta. Ye
	ho chuka hai aur user ne screenshot bhej kar bataya.
*/
.wiz-total-row > td{
	background: var(--wiz-surface-2);
	border-top: 2px solid var(--wiz-border-strong);
	font-weight: 600;
	color: var(--wiz-text);
	font-variant-numeric: tabular-nums;
}

/*
	Munafa aur nuqsaan ka rang — magar HAMESHA matn ke sath. Ye class
	kabhi akeli maani nahi rakhti; nateeje me "Profit" ya "Loss" ka lafz
	bhi likha jata hai, taake colour-blind user ke liye kuch na chhoote.
*/
.wiz-up,
.wiz-down{
	font-variant-numeric: tabular-nums;
}

.wiz-up{		color: var(--wiz-success, #16a34a); }
.wiz-down{	color: var(--wiz-danger, #dc2626); }

/* qatar jo abhi zer-e-ghaur hai */
.wiz-rows tr.is-here td{
	background: color-mix(in srgb, var(--wiz-primary) 8%, transparent);
}

.wiz-out-warn{
	display: flex;
	align-items: flex-start;
	gap: .5rem;

	margin-top: .75rem;
	padding: .6rem .75rem;

	font-size: .8rem;
	line-height: 1.5;

	color: var(--wiz-text-muted);
	background: var(--wiz-surface-2);

	border: 1px solid var(--wiz-border);
	border-left: 3px solid var(--wiz-warning, #d97706);
	border-radius: var(--wiz-radius-sm);
}

.wiz-out-warn i{
	flex-shrink: 0;
	margin-top: .1rem;
	color: var(--wiz-warning, #d97706);
}

/*
	CONTEXT BAR — pair, pip size, contract size, account currency aur
	conversion rate.

	DO CHEEZEIN YAHAN GHALAT THIN:

	1.	Koi padding hi nahi thi. Ye patti .wiz-bar aur .wiz-privacy ki
		tarah card ki apni ek band hai, aur un dono ki 1.1rem padding
		hai — magar yahan khane card ke kinare se bilkul chipke hue the.

	2.	Columns 1fr 1fr par jame hue the. Chaure card par paanch khane
		do hi columns me phail kar bewajah lambe ho jate the, aur phone
		par wahi do columns har khane ko dab kar aadha kar dete the.

	Ab auto-fit hai: jagah ke mutabiq columns khud ban jate hain, aur
	phone par sab ek ke neeche ek aa jate hain.
*/
.wiz-head-row{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: .75rem 1rem;

	padding: 1rem 1.1rem 0;
	margin-bottom: 0;
}

.wiz-head-row .wiz-field{
	margin-bottom: 0;
}

/* qatar wale calculators ka upar wala inputs ka hissa */
.wiz-row-head{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: .75rem;

	margin-bottom: 1.1rem;
}

.wiz-row-head .wiz-field{
	margin-bottom: 0;
}

.wiz-row-num{
	font-size: .8rem;
	font-weight: 700;
	color: var(--wiz-text-muted);
	text-align: center;
}

.wiz-row-derived{
	font-size: .78rem;
	color: var(--wiz-text-muted);
}

.wiz-row-derived:empty::before{
	content: '—';
}

.wiz-rows .form-select-sm{
	min-width: 6rem;
}

.wiz-rows .wiz-cell-out{
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var(--wiz-text);
}

.wiz-rows .wiz-cell-muted{
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var(--wiz-text-muted);
}

.wiz-code{
	font-size: .8rem;
	color: var(--wiz-text);
	background: var(--wiz-surface-2);
	border-radius: 4px;
	padding: .15rem .35rem;
}


/*----------------------------------------------------------
	116 — SETTINGS
----------------------------------------------------------*/

.wiz-settings{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
}

.wiz-set-group{
	padding: 1.05rem 1.1rem;
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface-2);
}

.wiz-set-title{
	display: flex;
	align-items: center;
	gap: .45rem;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wiz-text-muted);
	margin: 0 0 .8rem;
}

.wiz-set-title i{
	color: var(--wiz-primary);
	font-size: .9rem;
}

.wiz-set-row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .8rem;
	padding: .45rem 0;
	border-bottom: 1px solid var(--wiz-border);
}

.wiz-set-row:last-child{
	border-bottom: 0;
	padding-bottom: 0;
}

.wiz-set-label{
	font-size: .82rem;
	font-weight: 600;
	color: var(--wiz-text);
	margin: 0;
}

.wiz-set-row .form-select{
	max-width: 190px;
}

.wiz-set-row .form-check-input:checked{
	background-color: var(--wiz-primary);
	border-color: var(--wiz-primary);
}


/*----------------------------------------------------------
	117 — CONFIRM DIALOG + TOAST
----------------------------------------------------------*/

.wiz-ask{
	position: absolute;
	inset: 0;
	z-index: 40;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: color-mix(in srgb, var(--wiz-text) 35%, transparent);
	backdrop-filter: blur(2px);
}

.wiz-ask-box{
	width: 100%;
	max-width: 380px;
	padding: 1.2rem 1.3rem;
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface);
	border: 1px solid var(--wiz-border);
	box-shadow: var(--wiz-shadow-md);
}

.wiz-ask-title{
	display: block;
	font-family: var(--wiz-font-display);
	font-size: 1rem;
	font-weight: 700;
	color: var(--wiz-text);
	margin-bottom: .3rem;
}

.wiz-ask-note{
	display: block;
	font-size: .82rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
	margin-bottom: 1rem;
}

.wiz-ask-actions{
	display: flex;
	justify-content: flex-end;
	gap: .5rem;
}

.wiz-toast{
	position: fixed;
	left: 50%;
	bottom: 26px;
	z-index: 1080;
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .65rem 1.1rem;
	border-radius: var(--wiz-radius-btn);
	background: var(--wiz-text);
	color: var(--wiz-body-bg);
	font-size: .82rem;
	font-weight: 600;
	box-shadow: var(--wiz-shadow-md);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 12px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
	max-width: calc(100vw - 32px);
	text-align: center;
}

.wiz-toast.is-show{
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

.wiz-toast i{
	color: #4ade80;
	flex-shrink: 0;
}

.wiz-toast.is-error i{
	color: #f87171;
}


/*----------------------------------------------------------
	118 — FULL SCREEN

	App poori screen le leta hai — website ka header aur footer nazar
	nahi aate.


	EK GHALATI JO YAHAN HO CHUKI HAI

	Pehle ye app flex column tha aur SIRF .wiz-body scroll karta tha. Us
	ka matlab ye tha ke bar, privacy wali lakeer, poora context bar
	(paanch khane), rate wali patti aur tabs — sab jame rehte the, aur
	.wiz-body ko jo bacha wo mila.

	Laptop par wo "jo bacha" taqreeban kuch bhi nahi tha: oopar ki
	lakeerein poori screen kha jati thin aur neeche scroll hota hi nahi
	tha. Yani full screen ne jagah barhane ki bajaye cheen li.

	Ab poora app khud scroll karta hai. Sirf bar oopar chipki rehti hai,
	kyunke usi me full screen se nikalne ka button hai — wo scroll ho kar
	gayab ho jaye to user phans jata hai.
----------------------------------------------------------*/

.wiz-app.is-full{
	position: fixed;
	inset: 0;
	z-index: 1055;
	/*
		WIDTH YAHAN JAAN BOOJH KAR NAHI HAI.

		Pehle `width: 100vw` tha, aur wahi masla tha. `100vw` me classic
		scrollbar ki chaurai BHI shamil hoti hai (Windows par Chrome me
		~15px). Yani app screen se poore 15px chaura ho jata tha, aur
		us ka dayan kinara — jahan us ki apni scrollbar banti hai —
		screen se bahar chala jata tha.

		Scrollbar ban to rahi thi; nazar isi liye nahi aati thi ke wo
		kinare ke us paar thi.

		`inset: 0` khud hi app ko theek nazar aane wali jagah par phaila
		deta hai, is liye width ki zarurat hi nahi.
	*/
	height: 100dvh;
	max-height: 100dvh;
	margin: 0;
	border: 0;
	border-radius: 0;

	display: block;
	overflow-x: hidden;
	overflow-y: auto;

	-webkit-overflow-scrolling: touch;	/* iOS par momentum */
	overscroll-behavior: contain;		/* aakhir par page peeche na khiske */

	/*
		SCROLLBAR NAZAR AANI CHAHIYE.

		Scroll ho to raha tha, magar patti dikhti nahi thi — aur jo patti
		nazar na aaye wo user ko ye batati hi nahi ke neeche aur bhi kuch
		hai. Full screen me to ye aur zaroori hai, kyunke page ki apni
		scrollbar us waqt gayab hoti hai (body par overflow: hidden).

		Firefox `scrollbar-*` samajhta hai, Chrome aur Safari
		::-webkit-scrollbar — is liye dono likhe hain.
	*/
	scrollbar-width: thin;
	scrollbar-color: var(--wiz-border-strong) var(--wiz-surface-2);
}

.wiz-app.is-full::-webkit-scrollbar{
	width: 12px;
}

.wiz-app.is-full::-webkit-scrollbar-track{
	background: var(--wiz-surface-2);
}

.wiz-app.is-full::-webkit-scrollbar-thumb{
	background: var(--wiz-border-strong);
	border: 3px solid var(--wiz-surface-2);	/* thumb ke gird thori si jagah */
	border-radius: 999px;
}

.wiz-app.is-full::-webkit-scrollbar-thumb:hover{
	background: var(--wiz-text-muted);
}

@supports not (height: 100dvh){

	.wiz-app.is-full{
		height: 100vh;
		max-height: 100vh;
	}
}

/*
	BAR OOPAR CHIPKI RAHEGI — full screen se nikalne ka raasta hamesha
	nazar me rehna chahiye.
*/
.wiz-app.is-full .wiz-bar{
	position: sticky;
	top: 0;
	z-index: 5;
	background: var(--wiz-surface-2);
}

.wiz-app.is-full .wiz-body{
	padding: 1.25rem 1.5rem;
}

/*
	Neeche thori si khali jagah — warna aakhri qatar screen ke bilkul
	kinare se chipki rehti hai aur mobile ke home bar ke neeche chali
	jati hai.
*/
.wiz-app.is-full .wiz-body > .wiz-view{
	padding-bottom: 2.5rem;
}

/* page ke peeche scroll na chale jab app poori screen par ho */
body.wiz-locked{
	overflow: hidden;
}

/*
	POOCHNE KA DABBA HAMESHA SCREEN KE BEECH ME.

	Ye pehle `absolute` tha, yani app ke andar. App khud lamba hai (bees
	se zyada tabs, lambe panels), is liye "beech" app ka beech hota tha —
	jo aksar screen se bahar hota. Full screen me, jahan app khud scroll
	karta hai, wo aur bura ho jata: dabba kahin door beech me khul jata
	aur user ko lagta ke button ne kuch kiya hi nahi.

	`fixed` par wo hamesha wahin khulta hai jahan user dekh raha hai.
*/
.wiz-ask{
	position: fixed;
	z-index: 1060;
}


/*----------------------------------------------------------
	119 — HOW-TO / FEATURES  (page ka baqi hissa)
----------------------------------------------------------*/

.wiz-step,
.wiz-feature{
	display: flex;
	align-items: flex-start;
	gap: .85rem;
	height: 100%;
	padding: 1rem;
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface-2);
}

.wiz-step-num{
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: var(--wiz-radius-btn);
	font-family: var(--wiz-font-display);
	font-size: .88rem;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(135deg, var(--wiz-primary) 0%, #4f46e5 100%);
}

.wiz-feature-icon{
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: var(--wiz-radius-btn);
	font-size: 1rem;
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 12%, transparent);
}

.wiz-step-title{
	font-size: .88rem;
	font-weight: 700;
	color: var(--wiz-text);
	margin-bottom: .2rem;
}

.wiz-link-btn{
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	border: 0;
	background: transparent;
	padding: .2rem .1rem;
	font-size: .78rem;
	font-weight: 600;
	color: var(--wiz-primary);
	transition: opacity .15s ease;
}

.wiz-link-btn:hover{
	opacity: .75;
}

.wiz-link-btn.text-danger{
	color: #dc2626 !important;
}

.min-w-0{
	min-width: 0;
}


/*----------------------------------------------------------
	120 — ADS
----------------------------------------------------------*/

.wiz-ad{
	margin-bottom: 1.25rem;
}

.wiz-ad-placeholder{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .25rem;
	min-height: 92px;
	padding: 1.5rem;
	text-align: center;
	border: 1px dashed var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface-2);
}

.wiz-ad-label{
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wiz-text-muted);
}

.wiz-ad-note{
	font-size: .74rem;
	color: var(--wiz-text-muted);
	opacity: .75;
}


/*----------------------------------------------------------
	121 — RESPONSIVE
----------------------------------------------------------*/

@media screen and (max-width: 991.98px){

	/*
		Do column ke liye jagah nahi bachi: 380px se tang jawab ka
		khana number ko tor deta hai.
	*/
	.wiz-split{
		grid-template-columns: 1fr;
	}

	.wiz-panel-out{
		position: static;
	}
}

@media screen and (max-width: 767.98px){

	.wiz-tool-hero{
		padding: 1.5rem 1.15rem;
	}

	.wiz-tool-title{
		font-size: 1.6rem;
	}

	.wiz-body{
		padding: 1rem .85rem;
	}

	.wiz-bar-sub{
		display: none;		/* jagah sawal ko chahiye */
	}

	.wiz-tabs{
		padding: .35rem .5rem 0;
	}

	.wiz-out-big{
		font-size: 1.7rem;
	}

	/* jawab ko chipkana chhoti screen par ulta nuqsaan hai */
	.wiz-panel-out{
		position: static;
	}

	.wiz-actions .btn,
	.wiz-out-actions .btn{
		flex: 1 1 auto;
	}

	.wiz-set-row{
		flex-wrap: wrap;
	}

	.wiz-set-row .form-select{
		max-width: 100%;
		width: 100%;
	}
}

@media screen and (max-width: 575.98px){

	.wiz-input{
		font-size: 1rem;		/* iOS 16px se chhote input par zoom kar deta hai */
	}

	.wiz-seg{
		width: 100%;
	}

	.wiz-seg-btn{
		flex: 1 1 0;
	}
}

@media print{

	.wiz-navbar,
	.wiz-footer,
	.btn-back2top,
	.wiz-ad,
	.wiz-coffee,
	.wiz-coffee-card,
	.wiz-toast{
		display: none !important;
	}
}


/*----------------------------------------------------------
	122 — QATAREIN CHHOTI SCREEN PAR CARD BAN JATI HAIN

	Comparison table ke barah khane hain: setup, side, entry, stop,
	target, quantity, risk, reward, ratio, break-even aur remove. Phone par ye table side me scroll karne
	ke qabil bhi nahi rehta — aur spec ki bhi yahi shart hai ke page
	kabhi side me na khiske.

	Is liye 767px se neeche har <tr> ek card ban jati hai aur har
	<td> apna label data-th se leta hai. Label markup me pehle se
	maujood hai (JS har khane par data-th daalti hai), CSS sirf use
	dikhati hai — is liye screen reader ko bhi wohi milta hai jo
	aankh ko.

	.wiz-rows-wrap bare screen par sirf .table-responsive ka kaam
	karta hai; chhoti par khud ko band kar deta hai, kyunke card ko
	scroll karne ki zarurat hi nahi rehti.
----------------------------------------------------------*/

.wiz-rows-wrap{
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 767.98px){

	.wiz-rows-wrap{
		overflow-x: visible;
	}

	.wiz-rows,
	.wiz-rows tbody,
	.wiz-rows tfoot,
	.wiz-rows tr,
	.wiz-rows td{
		display: block;
		width: 100%;
	}

	/* sar-nama sirf aankh ke liye tha — ab har khane par apna label hai */
	.wiz-rows thead{
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.wiz-rows tr{
		margin-bottom: .7rem;
		padding: .8rem .9rem;
		border: 1px solid var(--wiz-border);
		border-radius: var(--wiz-radius-card);
		background: var(--wiz-surface-2);
	}

	.wiz-rows tr:last-child{
		margin-bottom: 0;
	}

	.wiz-rows td{
		padding: .3rem 0;
		border: 0;
	}

	.wiz-rows td:first-child{
		padding-left: 0;
	}

	.wiz-rows td::before{
		content: attr(data-th);
		display: block;
		margin-bottom: .2rem;
		font-size: .7rem;
		font-weight: 700;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: var(--wiz-text-muted);
	}

	/* qatar ka number aur hatane ka button — in par label bekar lagta hai */
	.wiz-rows td.wiz-td-plain::before{
		content: none;
	}

	.wiz-rows td.wiz-td-head{
		padding-top: 0;
		font-family: var(--wiz-font-display);
		font-size: .88rem;
		font-weight: 700;
		color: var(--wiz-text);
	}

	/* card ka unwaan — bare screen par sirf number kaafi tha */
	.wiz-rows td.wiz-td-head .wiz-row-index::before{
		content: "Position ";
	}

	.wiz-rows td.wiz-td-drop{
		padding-top: .5rem;
	}

	.wiz-rows td.wiz-td-drop .wiz-row-drop{
		width: 100%;
		height: 34px;
	}

	.wiz-rows td.wiz-td-drop .wiz-row-drop::after{
		content: " Remove";
		font-size: .78rem;
		font-weight: 600;
	}
}


/*----------------------------------------------------------
	121 — JEETNE AUR HAARNE WALI QATAREIN

	Rang par kuch mauqoof nahi: har qatar par raqam bhi likhi hoti
	hai aur totals me ginti bhi. Rang sirf ek doosra ishara hai,
	akela paighaam nahi.
----------------------------------------------------------*/

.wiz-rows tr.is-win td{
	background: color-mix(in srgb, var(--wiz-success, #16a34a) 6%, transparent);
}

.wiz-rows tr.is-loss td{
	background: color-mix(in srgb, var(--wiz-danger, #dc2626) 6%, transparent);
}


/*==================================================================================
	123 — UNIT CONVERTER MODULES  (.uc-*)

	unit-tools ke sary converter module ye chhote hisse share karte hain.
	App ka poora dhancha upar wale .wiz-* se aata hai; yahan sirf wo cheez
	hai jo sirf converter ki hai — "not defined", unit ka note-taara, aur
	saved pairs ka card. Ek hi jagah, taake bees module me dobara na likhna
	pare.
==================================================================================*/

.uc-na{ color:var(--wiz-text-muted); }

.uc-unit-note{
	color:var(--wiz-warning, #d97706);
	font-weight:700;
	cursor:help;
}

.uc-swap{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.4rem;
	margin:.25rem 0;
}

.uc-saved-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
	gap:.85rem;
	margin-top:1rem;
}

.uc-saved-card{
	display:flex;
	flex-direction:column;
	gap:.6rem;
	padding:.9rem 1rem;
	border:1px solid var(--wiz-border);
	border-radius:var(--wiz-radius-card);
	background:var(--wiz-surface);
}

.uc-saved-name{
	font-size:.95rem;
	font-weight:600;
	color:var(--wiz-text);
	word-break:break-word;
}

.uc-saved-actions{
	display:flex;
	gap:.4rem;
}



/*==================================================================================
	124 — HUB / CATEGORY CARDS  (.wiz-hub-*)

	Har category ke landing (hub) page — pdf-tools, crypto-tools,
	forex-tools, unit-tools — ye card aur risk-patti share karte hain.
	Pehle har hub apni custom.css me inhi rules ki apni naql (crypto-hub-,
	forex-hub-, pdf-hub-, unit-hub-) rakhta tha; wo naqlein yahan aa gayin.

	NAYA HUB: sirf .wiz-hub-card / .wiz-hub-icon / .wiz-hub-cta … use karo,
	apna prefix mat banao.
==================================================================================*/

/*----------------------------------------------------------
	002 — TOOL CARDS

	Poora card ek <a> hai — sirf button clickable rakhna mobile par
	takleef deta hai, aur screen reader ko bhi ek hi hadaf chahiye.
	Isi liye andar wala "button" asal me <span> hai.
----------------------------------------------------------*/

/*----------------------------------------------------------
	YAHAN SIRF IS MODULE KA APNA HISSA HAI

	Template ka design aur theme — hero, badges, pills, steps,
	features, ads, cards, tables, toast aur poora app shell —
	assets/global-custom-web.css me hai (sections 001-013 aur
	101-122). Wo global pehle load hoti hai.

	Pehle har module un rules ki apni naql rakhta tha. Wo naqlein
	yahan se nikal di gayi hain: har wo rule jo global wale se
	hu-ba-hu ek tha, hata diya gaya, aur jo alag tha wo waisa hi
	chhora gaya — kyunke module ki CSS global ke BAAD load hoti
	hai aur us ka apna faisla jeetta hai.

	Naya rule likhne se pehle global me dekh len. Agar wahan
	pehle se hai, to yahan dobara na likhen.
----------------------------------------------------------*/
.wiz-hub-card{
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.6rem;
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface);
	box-shadow: var(--wiz-shadow-sm);
	text-decoration: none;
	color: inherit;
	overflow: hidden;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

/* upar patli rangeen lakeer — hover par nazar aati hai */
.wiz-hub-card::before{
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: linear-gradient(90deg, var(--wiz-primary) 0%, #4f46e5 100%);
	opacity: 0;
	transition: opacity .18s ease;
}

.wiz-hub-card:hover{
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--wiz-primary) 40%, var(--wiz-border));
	box-shadow: var(--wiz-shadow-md);
	color: inherit;
}

.wiz-hub-card:hover::before{
	opacity: 1;
}

.wiz-hub-card:focus-visible{
	outline: 2px solid var(--wiz-primary);
	outline-offset: 2px;
}

.wiz-hub-card-top{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: 1rem;
}

.wiz-hub-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	flex-shrink: 0;
	border-radius: var(--wiz-radius-card);
	font-size: 1.5rem;
	color: #fff;
	background: linear-gradient(135deg, var(--wiz-primary) 0%, #4f46e5 100%);
	box-shadow: 0 6px 16px color-mix(in srgb, var(--wiz-primary) 28%, transparent);
}

.wiz-hub-card-title{
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -.02em;
	margin-bottom: .2rem;
	color: var(--wiz-text);
}

.wiz-hub-card-tagline{
	font-size: .76rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--wiz-primary);
	margin-bottom: .75rem;
}

.wiz-hub-card-text{
	font-size: .9rem;
	line-height: 1.7;
	color: var(--wiz-text-muted);
	margin-bottom: 1rem;
}

.wiz-hub-points{
	list-style: none;
	padding: 0;
	margin: 0 0 1.25rem 0;
}

.wiz-hub-points li{
	display: flex;
	align-items: flex-start;
	gap: .5rem;
	font-size: .85rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
	padding-block: .28rem;
}

.wiz-hub-points i{
	flex-shrink: 0;
	margin-top: .25rem;
	font-size: .78rem;
	color: #10b981;
}

.wiz-hub-cta{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	width: 100%;
	margin-top: auto;
	padding: .7rem 1.1rem;
	border-radius: var(--wiz-radius-btn);
	font-size: .9rem;
	font-weight: 600;
	color: #fff;
	background: linear-gradient(135deg, var(--wiz-primary) 0%, #4f46e5 100%);
	transition: filter .18s ease;
}

.wiz-hub-card:hover .wiz-hub-cta{
	filter: brightness(1.07);
}

.wiz-hub-cta i{
	font-size: .8rem;
}

/* abhi nahi bana — card dabta nahi */
.wiz-hub-card.is-soon{
	pointer-events: none;
	opacity: .62;
}

.wiz-hub-card.is-soon .wiz-hub-icon{
	background: var(--wiz-surface-2);
	color: var(--wiz-text-muted);
	box-shadow: none;
}

/* "which tool" table me jo abhi bana nahi */
.wiz-hub-soon{
	display: inline-block;
	margin-left: .3rem;
	padding: .1rem .4rem;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--wiz-text-muted);
	background: var(--wiz-surface-2);
	border: 1px solid var(--wiz-border);
}

.wiz-hub-card.is-soon .wiz-hub-cta{
	background: var(--wiz-surface-2);
	color: var(--wiz-text-muted);
}

@media (max-width: 575.98px){

	.wiz-hub-card{ padding: 1.25rem; }

	.wiz-hub-icon{
		width: 46px;
		height: 46px;
		font-size: 1.25rem;
	}
}


/*==================================================================================
	125 — FILE TOOL SHELL  (.pdf-* aur .wiz-status)

	PDF ke nau modules me ye poora hissa alag alag NAQL ho kar para tha —
	har module ki custom.css me wahi dropzone, wahi status patti, wahi
	progress bar aur wahi result card. Nau naqlein, taqreeban 350 lines
	fuzool, aur ek rang badalna ho to nau jagah badalna parta tha.

	Ab ek jagah. Naam .pdf-* isi liye rakha ke nau modules ka markup
	pehle se yahi hai; unhen chhoone ki zarurat nahi pari.

	Ye sirf PDF ke liye nahi — koi bhi tool jo user se file leta hai
	(aage image tools) yehi classes istemal kar sakta hai.

	NOTE — pdf-compressor ke chhe rules is se thore alag hain (bara result
	card, mota progress bar). Wo us ki apni custom.css me hain aur global
	ke BAAD load hoti hai, is liye wahan wohi chalte hain. Ye jaan boojh
	kar chhora gaya: us module ka result card waqai bara hai.
==================================================================================*/

/*----------------------------------------------------------
	DROPZONE
----------------------------------------------------------*/

.pdf-drop{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: 2.6rem 1.5rem;
	text-align: center;
	cursor: pointer;
	border: 2px dashed var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface);
	transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.pdf-drop:hover{
	border-color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 4%, transparent);
}

.pdf-drop:focus-visible{
	outline: none;
	border-color: var(--wiz-primary);
	box-shadow: 0 0 0 3px rgba(124, 58, 237, .15);
}

.pdf-drop.is-dragging{
	border-color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 8%, transparent);
	transform: scale(1.005);
}

.pdf-drop-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin-bottom: .35rem;
	border-radius: var(--wiz-radius-card);
	font-size: 1.7rem;
	color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 12%, transparent);
}

.pdf-drop-title{
	font-family: var(--wiz-font-display);
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--wiz-text);
}

.pdf-drop-desc{
	max-width: 30rem;
	font-size: .85rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
}

/*
	Button ka pointer-events band hai: poora dropzone hi ek button hai,
	aur andar ka <span> click ko rok le to bahar wala handler kabhi nahi
	chalta.
*/
.pdf-drop-btn{
	margin-top: .65rem;
	font-size: .85rem;
	font-weight: 700;
	padding: .55rem 1.3rem;
	pointer-events: none;
}

.pdf-drop-btn i{
	margin-right: .35rem;
}

.pdf-drop-limits{
	margin-top: .5rem;
	font-size: .72rem;
	color: var(--wiz-text-muted);
	opacity: .8;
}

/* file aa jane ke baad dropzone patli patti ban jati hai */
.pdf-drop.is-compact{
	flex-direction: row;
	gap: .7rem;
	padding: 1rem;
}

.pdf-drop.is-compact .pdf-drop-icon{
	width: 34px;
	height: 34px;
	font-size: 1rem;
	margin: 0;
}

.pdf-drop.is-compact .pdf-drop-title{
	font-size: .9rem;
}

.pdf-drop.is-compact .pdf-drop-desc,
.pdf-drop.is-compact .pdf-drop-limits,
.pdf-drop.is-compact .pdf-drop-btn{
	display: none;
}


/*----------------------------------------------------------
	HAALAT KI PATTI

	display:none default hai — is-ok / is-warn / is-error lagne par hi
	nazar aati hai. Is se JS ko d-none toggle nahi karna parta, sirf
	class badalni hoti hai.
----------------------------------------------------------*/

.wiz-status{
	display: none;
	align-items: flex-start;
	gap: .55rem;
	font-size: .8rem;
	line-height: 1.55;
	padding: .6rem .75rem;
	border-radius: var(--wiz-radius-btn);
	border: 1px solid transparent;
}

.wiz-status.is-ok,
.wiz-status.is-warn,
.wiz-status.is-error{
	display: flex;
}

.wiz-status > i{
	flex-shrink: 0;
	margin-top: .1rem;
	font-size: .95rem;
}

.wiz-status.is-ok{
	color: #15803d;
	background: rgba(34, 197, 94, .10);
	border-color: rgba(34, 197, 94, .28);
}

.wiz-status.is-warn{
	color: #b45309;
	background: rgba(245, 158, 11, .10);
	border-color: rgba(245, 158, 11, .28);
}

.wiz-status.is-error{
	color: #b91c1c;
	background: rgba(239, 68, 68, .10);
	border-color: rgba(239, 68, 68, .28);
}

[data-bs-theme="dark"] .wiz-status.is-ok{	color: #4ade80; }
[data-bs-theme="dark"] .wiz-status.is-warn{	color: #fbbf24; }
[data-bs-theme="dark"] .wiz-status.is-error{	color: #f87171; }


/*----------------------------------------------------------
	PANEL KA UNWAN, SECTION KA UNWAN
----------------------------------------------------------*/

.wiz-panel-head{
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wiz-text-muted);
	margin-bottom: 1rem;
}

.wiz-panel-head i,
.wiz-panel-title i,
.wiz-hint i{
	color: var(--wiz-primary);
}

.wiz-panel-head i,
.wiz-panel-title i{
	font-size: .95rem;
}

.pdf-section-title{
	display: flex;
	align-items: center;
	gap: .5rem;
	font-family: var(--wiz-font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wiz-text);
}

.pdf-section-title i{
	color: var(--wiz-primary);
	font-size: 1.05rem;
}

.pdf-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .85rem;
	padding-top: 1rem;
	border-top: 1px solid var(--wiz-border);
}

.pdf-actions b{
	color: var(--wiz-text);
	font-weight: 700;
}


/*----------------------------------------------------------
	PROGRESS AUR NATEEJA
----------------------------------------------------------*/

.progress{
	height: 7px;
	border-radius: 999px;
	background: var(--wiz-border);
}

.progress-bar{
	background: linear-gradient(135deg, var(--wiz-primary) 0%, #4f46e5 100%);
	transition: width .25s ease;
}

.pdf-result{
	display: flex;
	align-items: center;
	gap: .85rem;
	padding: 1rem;
	border-radius: var(--wiz-radius-card);
	border: 1px solid rgba(34, 197, 94, .3);
	background: rgba(34, 197, 94, .08);
}

.pdf-result-icon{
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	font-size: 1rem;
	color: #fff;
	background: #16a34a;
}

.pdf-result-title{
	font-size: .9rem;
	font-weight: 700;
	color: #15803d;
}

[data-bs-theme="dark"] .pdf-result-title{ color: #4ade80; }

/*
	Bara "asal kaam" wala button — merge, split, convert. Aath PDF modules
	me ye bilkul ek jaisa para tha.
*/
.wiz-btn-main{
	padding: .75rem 1rem;
	font-size: .88rem;
	font-weight: 700;
}

.input-group-text{
	background: var(--wiz-surface-2);
	border-color: var(--wiz-border);
	color: var(--wiz-text-muted);
	font-size: .85rem;
}


@media screen and (max-width: 768px){

	.pdf-drop{
		min-height: 170px;
		padding: 1.6rem 1rem;
	}

	.pdf-result{
		flex-wrap: wrap;
	}

	.pdf-result .btn{
		width: 100%;
	}
}


/*
	Chhapte waqt sirf nateeja chahiye — dropzone, ads aur coffee ka
	kaghaz par koi kaam nahi.
*/
@media print{

	.wiz-navbar,
	.wiz-footer,
	.btn-back2top,
	.wiz-ad,
	.wiz-coffee,
	.wiz-coffee-card,
	.pdf-drop,
	.wiz-toast{
		display: none !important;
	}
}


/*----------------------------------------------------------
	126 — JAGAH CHUNNE WALA SAFHA

	Khali dropdown ke bajaye safhe ka naqsha. "Bottom right" parh kar
	sochna parta hai; kaghaz ki shakl par wahi jagah bina sochay nazar
	aati hai.

	aspect-ratio se ye waqai kaghaz jaisa lagta hai. Us ke bagair dabba
	chaure card par lamba aur patla ho jata tha, aur kone kone nahi
	rehte the.
----------------------------------------------------------*/

.wiz-spots{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .3rem;
	aspect-ratio: 1 / 1.15;
	max-width: 15rem;
	padding: .5rem;
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-sm);
	background: #fff;
	box-shadow: var(--wiz-shadow-sm);
}

.wiz-spot{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	cursor: pointer;
	border: 1px dashed var(--wiz-border);
	border-radius: var(--wiz-radius-sm);
	background: transparent;
	transition: border-color .15s ease, background .15s ease;
}

.wiz-spot:hover{
	border-color: var(--wiz-primary);
	border-style: solid;
}

.wiz-spot:focus-visible{
	outline: none;
	border-color: var(--wiz-primary);
	border-style: solid;
	box-shadow: 0 0 0 3px rgba(124, 58, 237, .15);
}

.wiz-spot.is-on{
	border-color: var(--wiz-primary);
	border-style: solid;
	background: color-mix(in srgb, var(--wiz-primary) 12%, transparent);
}

/* chhota gol nishan = jahan number lagega */
.wiz-spot-dot{
	width: .45rem;
	height: .45rem;
	border-radius: 999px;
	background: var(--wiz-border-strong);
	transition: background .15s ease, transform .15s ease;
}

.wiz-spot.is-on .wiz-spot-dot{
	background: var(--wiz-primary);
	transform: scale(1.5);
}

/*
	Beech ka hissa sirf sajawat hai (index.php me aria-hidden). Is ke
	bagair dabba khali kaghaz lagta tha aur ye samajh nahi aata tha ke
	button kis cheez ke kone hain.
*/
.wiz-spots-body{
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: .4rem;
	padding: 0 .35rem;
	pointer-events: none;
}

.wiz-spots-body span{
	display: block;
	height: 3px;
	border-radius: 999px;
	background: var(--wiz-border);
}

.wiz-spots-body span:last-child{
	width: 60%;		/* aakhri lakeer chhoti — paragraph ka aakhir aisa hi dikhta hai */
}


/*----------------------------------------------------------
	127 — IMAGE TOOLS: DO COLUMN AUR PREVIEW  (.im-*)

	Ye hissa image-tools ke HAR module me chahiye, is liye global me
	hai — wahi qaida jo section 125 (file shell) aur 126 (jagah
	chunne wala naqsha) par laga tha.

	Pehle in modules ka poora app ek hi patli qatar me neeche neeche
	tha: dropzone, phir options, phir bohat neeche tasveer. Aadmi
	setting badalta tha aur us ka asar nazar hi nahi aata tha, kyunke
	tasveer screen se bahar hoti thi.

	Ab do column hain — baayen options, dayen tasveer — aur dayan
	column CHIPKA rehta hai taake wo options ke sath sath chale.
----------------------------------------------------------*/

.im-split{
	align-items: flex-start;
}

/*
	CHIPAKNA HATA DIYA GAYA.

	Pehle dayan column `position: sticky` tha, taake options ke sath
	sath chale. Asal me wo ulta nikla: tasveer poori screen par jam
	jati thi aur us ke neeche ka kuch bhi — mashwara, nateeja, qatar —
	tak pohanchna mushkil ho jata tha. Safha apni raftaar se scroll
	hona chahiye.

	Ye satar jaan boojh kar KHALI chhori gayi hai taake koi dobara
	sticky na lagaye. Us ki wajah upar likhi hai.
*/


/*----------------------------------------------------------
	JO TASVEER AAP NE DI HAI

	Checkerboard is liye hai ke shaffaf PNG par nazar aaye ke kahan
	tasveer hai aur kahan nahi. Safed background par shaffaf logo
	"kata hua" lagta hai.
----------------------------------------------------------*/

.im-preview{
	display: flex;
	align-items: center;
	justify-content: center;

	padding: .75rem;
	border-radius: var(--wiz-radius-card);
	border: 1px solid var(--wiz-border);

	background-color: var(--wiz-surface);
	background-image:
		linear-gradient(45deg, var(--wiz-border) 25%, transparent 25%),
		linear-gradient(-45deg, var(--wiz-border) 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, var(--wiz-border) 75%),
		linear-gradient(-45deg, transparent 75%, var(--wiz-border) 75%);
	background-size: 16px 16px;
	background-position: 0 0, 0 8px, 8px -8px, -8px 0;
}

.im-preview-canvas{
	display: block;
	max-width: 100%;

	/*
		`vh` isi liye hai: bohat lambi tasveer (9:16 wali) poori screen
		gher leti hai aur us ke neeche wale buttons tak pohanchne ke
		liye scroll karna parta hai.
	*/
	max-height: 52vh;
	height: auto;

	border-radius: var(--wiz-radius-sm);
	box-shadow: var(--wiz-shadow-sm);
}

.im-preview-meta{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .25rem .6rem;

	margin-top: .6rem;
	font-size: .82rem;
}

/*
	File ka naam bohat lamba ho sakta hai (phone ki file ka naam 40
	harf ka hota hai). Bina is ke card chaura ho kar poora layout tor
	deta hai.
*/
.im-preview-name{
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


/*----------------------------------------------------------
	128 — IMAGE TOOLS: TASVEERON KE CARD  (.im-tile*)

	Ye pehle sirf Image Resizer ki apni CSS me tha. Ab Compressor ko
	bhi wahi chahiye, is liye global me aa gaya — CLAUDE.md ka wahi
	qaida jo section 125 aur 126 par laga tha: jo cheez ek se zyada
	module istemal kare wo yahan aati hai, aur us se PEHLE nahi.

	Ye card sirf DI GAYI tasveeron ke liye hain — har ek par apna
	thumbnail, naam, naap aur hatane ka button.

	BANI HUI tasveerein card me NAHI aatin, qatar me aati hain
	(`.wiz-rows` ki table). Pehle wo bhi card thin; do se zyada
	tasveeron par wo safhe ke aakhir me ek lambi qatar ban jate the
	aur "kaun si file kya bani" dhoondna mushkil ho jata tha. User ne
	yehi kaha, aur resizer bhi compressor wali qatar par le aaya gaya.
----------------------------------------------------------*/

.im-tiles{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
	gap: .75rem;

	padding: 1rem 1.1rem;
}

.im-tile{
	position: relative;
	display: flex;
	flex-direction: column;

	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface);
	overflow: hidden;

	transition: border-color .15s ease, box-shadow .15s ease;
}

.im-tile:hover{
	border-color: var(--wiz-primary);
	box-shadow: var(--wiz-shadow-sm);
}

/*
	CARD PAR CLICK.

	Har bulk module par card ab kuch karta hai: ya us tasveer ka apna
	editor kholta hai, ya usay bari jhalak me le aata hai. Is liye us
	ka clickable hona nazar bhi aana chahiye, aur keyboard wale ko
	pata chalna chahiye ke wo kahan khara hai.
*/
.im-tile[data-open]{
	cursor: pointer;
}

.im-tile:focus-visible{
	outline: 2px solid var(--wiz-primary);
	outline-offset: 2px;
}

/*
	Jo tasveer is waqt bari jhalak me hai. Nishan halka rakha gaya
	hai — ye haalat batata hai, tawajjo nahi maangta.
*/
.im-tile.is-on{
	border-color: var(--wiz-primary);
	box-shadow: inset 0 0 0 1px var(--wiz-primary);
}

/*
	CARD PAR NISHAN.

	Laga hua nishan kehta hai "ye tasveer bahar wali settings ke sath
	chalti hai". Hatte hi wo apni marzi ki maalik ho jati hai.

	Nishan ka dabba <label> hai aur us ka nishana jaan boojh kar bara
	hai: chhota murabba ungli ke liye bemani hai. Hatane wala button
	dayen kone me hai, is liye ye BAAYEN kone me — do buttons ek hi
	jagah rakhna ghalat dabne ki dawat hoti hai.
*/
.im-tile-pick{
	position: absolute;
	top: .25rem;
	left: .25rem;
	z-index: 2;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 1.9rem;
	height: 1.9rem;
	margin: 0;

	border-radius: var(--wiz-radius-sm);
	background: rgba(255, 255, 255, .92);
	box-shadow: var(--wiz-shadow-sm);
	cursor: pointer;
}

.im-tile-pick input{
	width: 1rem;
	height: 1rem;
	margin: 0;
	cursor: pointer;
	accent-color: var(--wiz-primary);
}


/*----------------------------------------------------------
	EK TASVEER KE APNE EDITOR KA MAIDAN

	Modal me jagah mehdood hai, is liye oonchai bandhi hui hai. Bina
	is ke ek lambi tasveer poora modal ghair leti hai aur neeche ke
	buttons scroll kiye bagair milte hi nahi.

	Scroll jaan boojh kar nahi: tasveer DONO rukh se andar aa jati
	hai, is liye us ki zarurat hi nahi rehti.
----------------------------------------------------------*/

.im-modal-stage{
	display: flex;
	align-items: center;
	justify-content: center;

	max-height: 54vh;
	padding: .5rem;
	overflow: hidden;

	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);

	background-color: var(--wiz-surface-2);
	background-image:
		linear-gradient(45deg, var(--wiz-border) 25%, transparent 25%),
		linear-gradient(-45deg, var(--wiz-border) 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, var(--wiz-border) 75%),
		linear-gradient(-45deg, transparent 75%, var(--wiz-border) 75%);
	background-size: 12px 12px;
	background-position: 0 0, 0 6px, 6px -6px, -6px 0;
}

.im-modal-stage canvas{
	display: block;
	max-width: 100%;
	max-height: 52vh;
	width: auto;
	height: auto;
	border-radius: 2px;
}

/*
	Tasveer ka khana. Oonchai TAY hai taake lambi aur chauri tasveerein
	ek hi qatar me barabar dikhen — warna grid ki har satar apni marzi
	ki oonchai le leti hai aur naqsha tootta lagta hai.

	Checkerboard shaffaf PNG ke liye.
*/
.im-tile-img{
	display: flex;
	align-items: center;
	justify-content: center;

	height: 7.5rem;
	padding: .4rem;

	background-color: var(--wiz-surface-2);
	background-image:
		linear-gradient(45deg, var(--wiz-border) 25%, transparent 25%),
		linear-gradient(-45deg, var(--wiz-border) 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, var(--wiz-border) 75%),
		linear-gradient(-45deg, transparent 75%, var(--wiz-border) 75%);
	background-size: 12px 12px;
	background-position: 0 0, 0 6px, 6px -6px, -6px 0;
}

.im-tile-img canvas,
.im-tile-img img{
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	border-radius: 2px;
}

.im-tile-meta{
	padding: .5rem .6rem .6rem;
	border-top: 1px solid var(--wiz-border);
	font-size: .72rem;
	line-height: 1.45;
	min-width: 0;
}

/*
	File ka naam ek satar me, aur beech se kata hua nahi — kinare se.
	Phone ki file ka naam 40 harf ka hota hai aur bina is ke card ki
	chaurai toot jati hai.
*/
.im-tile-name{
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;

	font-weight: 600;
	color: var(--wiz-text);
}

.im-tile-size{
	display: block;
	color: var(--wiz-text-muted);
	font-family: var(--wiz-font-mono);
	font-size: .68rem;
}

/* "-> 800 x 600" wali satar — nateeja, dabane se PEHLE */
.im-tile-to{
	display: block;
	color: var(--wiz-primary);
	font-family: var(--wiz-font-mono);
	font-size: .68rem;
	font-weight: 600;
}

/*
	HATANE KA BUTTON.

	Nazar aane wala nishan chhota hai magar chhoone ka ilaqa poora
	kona — ungli ka nishana 8px ke icon se kaafi bara hota hai.
*/
.im-tile-del{
	position: absolute;
	top: .35rem;
	right: .35rem;
	z-index: 2;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.75rem;
	height: 1.75rem;

	border: 0;
	border-radius: 999px;
	background: rgba(0, 0, 0, .55);
	color: #fff;

	font-size: .8rem;
	line-height: 1;
	cursor: pointer;

	transition: background .15s ease;
}

.im-tile-del:hover,
.im-tile-del:focus-visible{
	background: var(--wiz-danger);
}


/*----------------------------------------------------------
	NATEEJE KE CARD

	Ye hissa tab tak hai hi nahi jab tak kuch bana na ho. Pehle yahan
	DI GAYI files ki qatar hoti thi, jo do bar wahi maloomat dikhati
	thi jo ooper pehle se thi.
----------------------------------------------------------*/

.im-done-head{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;

	margin-bottom: .75rem;
}

.im-done-title{
	font-family: var(--wiz-font-display);
	font-weight: 700;
	font-size: .95rem;
}

.im-done-title span{
	font-family: var(--wiz-font-sans);
	font-weight: 400;
	font-size: .8rem;
	color: var(--wiz-text-muted);
}




/*----------------------------------------------------------
	129 — IMAGE TOOLS: APP KA DHANCHA  (.im-app, .im-bar, .im-set)

	Poora app ek "software window": ooper patti, beech me do column,
	neeche nateeja. Har hissa apni lakeer se juda.

	Ye pehle sirf Image Resizer ki apni CSS me tha. Compressor ne bhi
	wahi shakl le li, is liye yahan aa gaya.

	Kya theek hua tha (aur kyun):

	1. har cheez ek jaisi ahem lagti thi — kaunsa button asal kaam
	   karta hai, ye dhoondna parta tha. Ab bari action apni jagah par
	   hai aur settings halki qatarein hain.
	2. file aane ke BAAD bhi dropzone poora dabba ghere rehti thi. Ab
	   us ki jagah tasveeron ke card aa jate hain.
	3. nateeja dabane se PEHLE kahin nazar nahi aata tha.
----------------------------------------------------------*/

/*----------------------------------------------------------
	POORA APP EK DABBA

	Card ke apne padding hata kar poora app ek "software window"
	jaisa banaya gaya hai: ooper patti, beech me do column, neeche
	nateeja. Har hissa apni lakeer se juda.
----------------------------------------------------------*/

.im-app{
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface);
	box-shadow: var(--wiz-shadow-sm);
	overflow: hidden;
}


/*----------------------------------------------------------
	OOPER KI PATTI

	Baayen tool ka naam, dayen mojooda file. Ye satar hamesha
	nazar aati hai, is liye "kya khula hua hai" poochne ki zarurat
	nahi rehti.
----------------------------------------------------------*/

.im-bar{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;

	padding: .8rem 1.1rem;
	border-bottom: 1px solid var(--wiz-border);
	background: var(--wiz-surface-2);
}

.im-bar-title{
	display: inline-flex;
	align-items: center;
	gap: .5rem;

	font-family: var(--wiz-font-display);
	font-weight: 700;
	font-size: .95rem;
	color: var(--wiz-text);
}

.im-bar-title i{
	color: var(--wiz-primary);
}

/*
	File ka naam bohat lamba ho sakta hai. `min-width: 0` ke bagair
	flex ka bacha simatta hi nahi aur patti chaurai tor deti hai.
*/
.im-bar-file{
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;

	font-size: .8rem;
	color: var(--wiz-text-muted);
	font-family: var(--wiz-font-mono);
}


/*----------------------------------------------------------
	DO COLUMN

	Lakeer beech me. Chhoti screen par columns neeche neeche aate
	hain, is liye wahan lakeer bhi ooper neeche ho jati hai.
----------------------------------------------------------*/

.im-body{
	display: grid;
	grid-template-columns: 1fr;
}

@media (min-width: 992px){

	.im-body{
		/*
			Barabar do hisse. Settings ko poori jagah chahiye kyunke
			un me chaar group hain, aur tasveer ko itni ke shakl ka
			faisla nazar aa sake.
		*/
		grid-template-columns: 1fr 1fr;
	}

	.im-side{
		border-right: 1px solid var(--wiz-border);
	}
}

.im-side{
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.im-view{
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--wiz-surface-2);
}

@media (max-width: 991.98px){

	/*
		Phone par dono hisse ek doosre ke neeche aate hain, is liye
		beech me ek lakeer chahiye.

		Lakeer PEHLE hisse par lagti hai, `.im-side` par nahi — kyunke
		har module me tarteeb ek jaisi nahi. Converter par tasveerein
		pehle hain aur settings baad me; wahan `.im-side` par lagi hui
		lakeer safhe ke bilkul AAKHIR me a jati, jahan us ka koi kaam
		nahi.
	*/
	.im-body > *:first-child{
		border-bottom: 1px solid var(--wiz-border);
	}
}


/*----------------------------------------------------------
	SETTINGS KI QATAREIN

	Har setting ek satar: baayen us ka naam, dayen us ka khana. Ye
	stacked panels se kam jagah leti hain aur nazar ko ek hi khadi
	lakeer par chalne deti hain.
----------------------------------------------------------*/

.im-group{
	padding: 1rem 1.1rem;
	border-bottom: 1px solid var(--wiz-border);
}

.im-group:last-of-type{
	border-bottom: 0;
}

.im-group-head{
	display: block;
	margin-bottom: .7rem;

	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--wiz-text-muted);
}

.im-set{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem .75rem;

	padding: .45rem 0;
}

.im-set + .im-set{
	border-top: 1px dashed var(--wiz-border);
}

.im-set-label{
	font-size: .82rem;
	font-weight: 600;
	color: var(--wiz-text);
}

.im-set-hint{
	display: block;
	font-size: .74rem;
	font-weight: 400;
	color: var(--wiz-text-muted);
}

/* dayen wala hissa — khana ya buttons */
.im-set-value{
	display: flex;
	align-items: center;
	gap: .4rem;
	flex: 0 1 auto;
	min-width: 0;
}


/*----------------------------------------------------------
	FILE BADALNE KI PATTI

	File aane ke baad poori dropzone ki zarurat nahi rehti — us ki
	jagah ye ek patli satar aa jati hai. Pehle dropzone poora dabba
	ghere rakhti thi aur tasveer ke liye jagah kam par jati thi.
----------------------------------------------------------*/

.im-swap{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: .5rem;

	padding: 0 1.1rem 1.1rem;
}


/*----------------------------------------------------------
	BARI PRIMARY ACTION

	Settings ke neeche chipki hui. Software me asal kaam ka button
	wahan hota hai jahan haath pehle se ho, na ke bohat neeche
	nateeje ki qatar ke sath.
----------------------------------------------------------*/

.im-go{
	position: sticky;
	bottom: 0;
	z-index: 2;

	margin-top: auto;			/* qatar ke aakhir me, chahe settings chhoti hon */
	padding: .9rem 1.1rem;

	border-top: 1px solid var(--wiz-border);
	background: var(--wiz-surface);
}


/*----------------------------------------------------------
	NATEEJA

	Qatar poore app ki chaurai me, apni lakeer ke neeche.
----------------------------------------------------------*/

.im-out{
	padding: 1rem 1.1rem;
	border-top: 1px solid var(--wiz-border);
}


/*----------------------------------------------------------
	RANG KA HEX KHANA

	Satt harf ka matn hota hai (#ffffff), is liye khana bhi utna hi.
	`ch` isi liye hai, `px` nahi: font badle to khana sath badal jaye.
----------------------------------------------------------*/

.im-hex{
	width: 9ch;
	flex: 0 0 auto;
	font-family: var(--wiz-font-mono);
	text-transform: lowercase;
}


/*
	QATAR ME CHHOTI TASVEER.

	Compressor ka nateeja QATAR me hai, card me nahi — wahan faisla
	ADAD se hota hai (kitna bacha), tasveer se nahi. Magar ek chhoti
	tasveer phir bhi chahiye, warna qatar me ye pata hi nahi chalta ke
	kaunsi satar kaunsi file hai.

	Naap TAY hai taake har satar barabar oonchai ki rahe.
*/
.im-row-thumb{
	display: flex;
	align-items: center;
	justify-content: center;

	width: 3.25rem;
	height: 3.25rem;
	padding: .15rem;

	border-radius: var(--wiz-radius-sm);
	background-color: var(--wiz-surface-2);
	background-image:
		linear-gradient(45deg, var(--wiz-border) 25%, transparent 25%),
		linear-gradient(-45deg, var(--wiz-border) 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, var(--wiz-border) 75%),
		linear-gradient(-45deg, transparent 75%, var(--wiz-border) 75%);
	background-size: 10px 10px;
	background-position: 0 0, 0 5px, 5px -5px, -5px 0;
}

.im-row-thumb img{
	max-width: 100%;
	max-height: 100%;
	border-radius: 2px;
}


/*==================================================================================
	130 — TEXT TOOLS: DO PANE KA DHANCHA  (.tx-*)

	Aath modules, aur aathon ki shakl ek hi hai: baayen aap ka matn,
	dayen nateeja, beech me us tool ke apne options, neeche copy aur
	download.

	YE GLOBAL ME PEHLE DIN SE HAI, aur ye jaan boojh kar hai. Image
	tools ka dhancha pehle har module ki apni CSS me naql hota raha aur
	baad me yahan aaya; wahan tak pohanchne me chaar module aur do bar
	ki naql lagi. Yahan wo naql shuru hi me nahi ki gayi, kyunke pehle
	din se maloom hai ke aathon ko yehi chahiye.

	Baqi sab kuch pehle se maujood hai: .wiz-card, .wiz-panel,
	.wiz-seg, .wiz-note, .wiz-table, .wiz-status.
==================================================================================*/

.tx-app{
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface);
	overflow: hidden;
}

/*
	OOPER KI PATTI — tool ka naam aur ek satar jo poore hub par ek jaisi
	hai: sab kuch is safhe par hota hai, kahin bheja nahi jata.
*/
.tx-bar{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;

	padding: .75rem 1.1rem;

	border-bottom: 1px solid var(--wiz-border);
	background: var(--wiz-surface-2);
}

.tx-bar-title{
	display: flex;
	align-items: center;
	gap: .5rem;

	font-family: var(--wiz-font-display);
	font-weight: 700;
	font-size: 1rem;
}

.tx-bar-note{
	font-size: .8rem;
	color: var(--wiz-text-muted);
}


/*
	DO PANE.

	Bare screen par saath saath, chhoti par ek doosre ke neeche. Grid
	is liye hai (flex nahi) ke dono pane ki oonchai khud barabar rehti
	hai, chahe ek me options ho aur doosre me na hon.
*/
.tx-panes{
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}

@media (min-width: 992px){

	.tx-panes{ grid-template-columns: 1fr 1fr; }

	.tx-pane + .tx-pane{
		border-left: 1px solid var(--wiz-border);
		border-top: 0;
	}
}

.tx-pane{
	display: flex;
	flex-direction: column;
	min-width: 0;			/* warna lambi satar grid ko chaura kar deti hai */
	padding: 1rem 1.1rem;
}

.tx-pane + .tx-pane{ border-top: 1px solid var(--wiz-border); }

.tx-pane-head{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;

	margin-bottom: .5rem;
}

.tx-pane-title{
	font-weight: 600;
	font-size: .9rem;
}

.tx-tools{
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
}


/*
	MATN KA DABBA.

	Monospace JAAN BOOJH KAR: in tools me satrein ginti jati hain,
	milai jati hain aur kaati jati hain, aur us kaam me har harf ki
	barabar chaurai madad karti hai. `tab-size` is liye ke TSV wali
	list ke khane seedhe rahen.
*/
.tx-box{
	width: 100%;
	min-height: 15rem;
	flex: 1 1 auto;

	padding: .75rem .85rem;

	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-input);
	background: var(--wiz-surface);
	color: var(--wiz-text);

	font-family: var(--wiz-font-mono);
	font-size: .85rem;
	line-height: 1.6;

	tab-size: 4;
	resize: vertical;
}

.tx-box:focus{
	outline: none;
	border-color: var(--wiz-primary);
	box-shadow: 0 0 0 3px rgba(0, 0, 0, .05);
}

.tx-box[readonly]{ background: var(--wiz-surface-2); }

/* file kheench kar upar late waqt */
.tx-box.is-dropping{
	border-color: var(--wiz-primary);
	background: var(--wiz-surface-2);
}


/*
	GINTI KI PATTI.

	Har tool par hai, chahe us ka apna kaam kuch bhi ho — matn paste
	karne ke baad pehla sawal hamesha "kitna hai" hota hai.
*/
.tx-count{
	display: flex;
	flex-wrap: wrap;
	gap: .35rem 1rem;

	margin-top: .5rem;

	font-size: .78rem;
	color: var(--wiz-text-muted);
}

.tx-count b{
	color: var(--wiz-text);
	font-family: var(--wiz-font-mono);
	font-weight: 600;
}


/*
	OPTIONS KI PATTI — dono pane ke neeche, poori chaurai me.

	Options ko kisi ek pane me rakhna aasan tha aur ghalat hota: wo
	dono par lagte hain, aur jis pane me hote us se jure hue lagte.
*/
.tx-options{
	padding: 1rem 1.1rem;

	border-top: 1px solid var(--wiz-border);
	background: var(--wiz-surface-2);
}

.tx-set{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1.25rem;
}

.tx-set + .tx-set{
	margin-top: .75rem;
	padding-top: .75rem;
	border-top: 1px dashed var(--wiz-border);
}

.tx-set-label{
	min-width: 8rem;
	font-size: .82rem;
	font-weight: 600;
}


/*
	GINTI KE BARE KHANE — sirf word counter par.

	auto-fit is liye ke khane ki ginti tool ke sath badal sakti hai
	aur qatar phir bhi bhari hui rehti hai.
*/
.tx-stats{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
	gap: .75rem;
}

.tx-stat{
	padding: .85rem 1rem;

	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-sm);
	background: var(--wiz-surface);
}

.tx-stat b{
	display: block;

	font-family: var(--wiz-font-mono);
	font-size: 1.35rem;
	line-height: 1.2;
}

.tx-stat span{
	font-size: .75rem;
	color: var(--wiz-text-muted);
}


/*
	DIFF KA NAQSHA.

	Rang ke SATH nishan bhi hai (+ aur -), aur ye zaroori hai: qareeb
	bees me se ek mard rang nahi pehchanta, aur sirf laal ya sabz par
	tikne wala naqsha us ke liye khali satrein hoti hain.
*/
.tx-diff{
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-sm);
	background: var(--wiz-surface);

	font-family: var(--wiz-font-mono);
	font-size: .82rem;
	line-height: 1.6;

	max-height: 32rem;
	overflow: auto;
}

.tx-row{
	display: grid;
	grid-template-columns: 3.5rem 1.4rem 1fr;
	gap: .5rem;

	padding: .1rem .5rem;
	white-space: pre-wrap;
	word-break: break-word;
}

.tx-row + .tx-row{ border-top: 1px solid var(--wiz-surface-2); }

.tx-row-no{
	color: var(--wiz-text-muted);
	text-align: right;
	user-select: none;
}

.tx-row-sign{
	font-weight: 700;
	user-select: none;
}

.tx-row.is-add{		background: rgba(25, 135, 84, .08); }
.tx-row.is-del{		background: rgba(220, 53, 69, .08); }
.tx-row.is-change{	background: rgba(255, 193, 7, .10); }

.tx-row.is-add .tx-row-sign{	color: var(--wiz-success); }
.tx-row.is-del .tx-row-sign{	color: var(--wiz-danger); }
.tx-row.is-change .tx-row-sign{	color: var(--wiz-warning); }

/* lafz ki satah par — badla hua lafz apne rang ke saath */
.tx-ins{
	background: rgba(25, 135, 84, .22);
	border-radius: 2px;
}

.tx-del{
	background: rgba(220, 53, 69, .22);
	border-radius: 2px;
	text-decoration: line-through;
}

/*
	Chuni hui satar. Kuch text tools ki fehrist me "abhi ye chala hua
	hai" dikhana parta hai (case converter par teraah case ki qatar),
	aur bina nishan ke dono jagah ka rishta nazar nahi aata.
*/
.tx-options .wiz-rows tr.is-on{
	background: var(--wiz-surface-2);
	box-shadow: inset 3px 0 0 var(--wiz-primary);
}
