/* Header & footer redesign — scoped under .nzt- to avoid clashing with legacy styles */

:root{
	--nzt-navy:#101a76;
	--nzt-navy-dark:#0a1152;
	--nzt-red:#d7062c;
	--nzt-red-dark:#b00524;
	--nzt-red-light:#ff9daf;
	--nzt-ink:#1c2333;
	--nzt-muted:#5c6577;
	--nzt-border:#e4e8f0;
}

/* ---------- Header ---------- */
/* Sticky with top:-40px so the utility bar slides away and the main bar stays pinned */
.nzt-header{position:sticky;top:-40px;z-index:1000}

.nzt-topbar{
	background:var(--nzt-navy);
	color:#dfe3f5;
	height:40px;
	font-size:13px;
}
.nzt-topbar-inner{display:flex;align-items:center;justify-content:space-between;height:40px}
.nzt-topbar-note{display:flex;align-items:center;gap:8px;font-weight:600;letter-spacing:.3px}
.nzt-topbar-note span.fa-solid{color:var(--nzt-red-light);font-size:13px}
.nzt-topbar-mail,.nzt-topbar-mail:visited,.nzt-topbar-mail:focus{
	color:#fff;font-weight:600;display:flex;align-items:center;gap:8px;
}
.nzt-topbar-mail span.fa-solid{color:var(--nzt-red-light);font-size:13px}
.nzt-topbar-mail:hover{color:var(--nzt-red-light)}

.nzt-navbar{
	background:#fff;
	border-bottom:1px solid var(--nzt-border);
	transition:box-shadow .25s ease-in-out;
}
.nzt-header.nzt-scrolled .nzt-navbar{box-shadow:0 6px 25px rgba(16,26,118,.12)}
.nzt-navbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px}
.nzt-brand{display:flex;align-items:center;flex:0 0 auto;padding:8px 0}
.nzt-brand img{max-height:52px;width:auto}

.nzt-nav{display:flex;align-items:center;gap:2px;margin:0;padding:0}
.nzt-nav > li{position:relative;display:block}
.nzt-nav > li > a,
.nzt-nav > li > a:visited,
.nzt-nav > li > a:focus{
	display:block;
	padding:26px 16px;
	font-family:Lato,sans-serif;
	font-size:15px;
	font-weight:700;
	color:var(--nzt-ink);
	position:relative;
	white-space:nowrap;
}
.nzt-nav > li > a:after{
	content:'';
	position:absolute;
	left:16px;right:16px;bottom:18px;
	height:3px;border-radius:3px;
	background:var(--nzt-red);
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .25s ease-in-out;
}
.nzt-nav > li > a:hover{color:var(--nzt-red)}
.nzt-nav > li > a:hover:after,
.nzt-nav > li.nzt-active > a:after{transform:scaleX(1)}
.nzt-nav > li > a .fa-angle-down{font-size:10px;margin-left:5px;position:relative;top:-1px}

/* Dropdown */
.nzt-dropdown{
	position:absolute;
	top:100%;left:8px;
	min-width:210px;
	background:#fff;
	border-radius:10px;
	border:1px solid var(--nzt-border);
	box-shadow:0 18px 40px rgba(16,26,118,.15);
	padding:8px;
	margin:0;
	opacity:0;
	visibility:hidden;
	transform:translateY(12px);
	transition:.25s all ease-in-out;
	z-index:1001;
}
.nzt-has-sub:hover .nzt-dropdown,
.nzt-has-sub:focus-within .nzt-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nzt-dropdown li{display:block;width:100%}
.nzt-dropdown li a,
.nzt-dropdown li a:visited,
.nzt-dropdown li a:focus{
	display:block;
	padding:10px 14px;
	border-radius:7px;
	font-size:14px;
	font-weight:600;
	color:var(--nzt-ink);
	white-space:nowrap;
}
.nzt-dropdown li a:hover{background:#f5f7fb;color:var(--nzt-red)}

.nzt-header-cta,.nzt-header-cta:visited,.nzt-header-cta:focus{
	display:inline-block;
	background:var(--nzt-red);
	color:#fff;
	font-family:Lato,sans-serif;
	font-weight:700;
	font-size:14px;
	padding:12px 24px;
	border-radius:6px;
	transition:.25s all ease-in-out;
	white-space:nowrap;
	flex:0 0 auto;
}
.nzt-header-cta:hover{background:var(--nzt-red-dark);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(215,6,44,.3)}

.nzt-nav-apply{display:none}

/* Hamburger */
.nzt-burger{
	display:none;
	background:none;
	border:none;
	padding:10px;
	cursor:pointer;
	flex:0 0 auto;
}
.nzt-burger span{
	display:block;
	width:24px;height:2.5px;
	background:var(--nzt-ink);
	border-radius:3px;
	margin:5px 0;
	transition:.25s all ease-in-out;
}
.nzt-header.nzt-open .nzt-burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nzt-header.nzt-open .nzt-burger span:nth-child(2){opacity:0}
.nzt-header.nzt-open .nzt-burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ---------- Footer ---------- */
.nzt-footer{background:var(--nzt-navy-dark);color:#b9c1e3}
.nzt-footer-main{
	display:grid;
	grid-template-columns:1.4fr 1fr 1fr 1fr;
	gap:40px;
	padding:60px 0 45px;
}
.nzt-footer h4{
	font-family:Lato,sans-serif;
	font-size:15px;
	font-weight:800;
	color:#fff;
	text-transform:uppercase;
	letter-spacing:1.5px;
	margin:0 0 20px;
	position:relative;
	padding-bottom:12px;
}
.nzt-footer h4:after{
	content:'';
	position:absolute;
	left:0;bottom:0;
	width:32px;height:3px;
	border-radius:3px;
	background:var(--nzt-red);
}
.nzt-footer-brand img{max-height:48px;width:auto;margin-bottom:18px;background:#fff;padding:6px 10px;border-radius:8px}
.nzt-footer-brand p{font-size:13.5px;line-height:1.8;color:#b9c1e3;margin:0 0 16px;max-width:320px}
.nzt-footer-mail,.nzt-footer-mail:visited,.nzt-footer-mail:focus{
	display:inline-flex;align-items:center;gap:9px;
	color:#fff;font-weight:600;font-size:14px;
}
.nzt-footer-mail span.fa-solid{color:var(--nzt-red-light)}
.nzt-footer-mail:hover{color:var(--nzt-red-light)}
.nzt-footer-links{padding:0;margin:0}
.nzt-footer-links li{display:block;width:100%;margin-bottom:11px}
.nzt-footer-links li a,
.nzt-footer-links li a:visited,
.nzt-footer-links li a:focus{
	color:#b9c1e3;
	font-size:14px;
	display:inline-flex;
	align-items:center;
	gap:8px;
	transition:.2s all ease-in-out;
}
.nzt-footer-links li a:before{
	content:"\f054";
	font-family:"Font Awesome 6 Free";
	font-weight:900;
	font-size:9px;
	color:var(--nzt-red);
}
.nzt-footer-links li a:hover{color:#fff;transform:translateX(4px)}

.nzt-footer-bottom{
	border-top:1px solid rgba(255,255,255,.1);
	padding:22px 0;
}
.nzt-footer-bottom-inner{
	/* display:flex; */
	align-items:center;
	justify-content:space-between;
	gap:15px;
	flex-wrap:wrap;
}
.nzt-footer-bottom p{margin:0;font-size:13px;color:#8a93bd}
.nzt-footer-bottom ul{display:flex;gap:22px;padding:0;margin:0}
.nzt-footer-bottom ul li{display:block}
.nzt-footer-bottom ul li a,
.nzt-footer-bottom ul li a:visited,
.nzt-footer-bottom ul li a:focus{font-size:13px;color:#8a93bd}
.nzt-footer-bottom ul li a:hover{color:#fff}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
	.nzt-nav > li > a{padding:26px 10px;font-size:14px}
}
@media (max-width:991px){
	.nzt-header{top:0}
	.nzt-topbar{display:none}
	.nzt-burger{display:block}
	.nzt-navbar-inner{min-height:64px;flex-wrap:wrap}
	.nzt-brand img{max-height:44px}
	.nzt-header-cta{display:none}
	.nzt-burger{margin-left:auto}
	.nzt-nav-apply{display:block}
	.nzt-nav-apply a,.nzt-nav-apply a:visited{color:var(--nzt-red);font-weight:800}
	.nzt-nav{
		order:4;
		flex-direction:column;
		align-items:stretch;
		width:100%;
		gap:0;
		display:none;
		padding:8px 0 16px;
		border-top:1px solid var(--nzt-border);
	}
	.nzt-header.nzt-open .nzt-nav{display:flex}
	.nzt-nav > li > a{padding:13px 4px}
	.nzt-nav > li > a:after{display:none}
	.nzt-nav > li > a .fa-angle-down{display:none}
	/* Dropdown flattens to an always-visible indented list on mobile */
	.nzt-dropdown{
		position:static;
		opacity:1;visibility:visible;transform:none;
		box-shadow:none;border:none;border-left:2px solid var(--nzt-border);
		border-radius:0;
		padding:0 0 4px 14px;
		margin-left:4px;
		min-width:0;
	}
	.nzt-dropdown li a{padding:9px 4px}
	.nzt-footer-main{grid-template-columns:1fr 1fr;gap:35px;padding:45px 0 35px}
	.nzt-footer-bottom-inner{justify-content:center;text-align:center}
}
@media (max-width:600px){
	.nzt-footer-main{grid-template-columns:1fr;gap:32px}
	.nzt-brand img{max-height:38px}
}

/* ================================================================
   Inner pages, forms, funnel & components (merged from info.css)
   ================================================================ */

/* Inner info-page layout — scoped under .nzi- (article + sidebar, distinct from homepage) */

:root{
	--nzi-navy:#101a76;
	--nzi-navy-dark:#0a1152;
	--nzi-red:#d7062c;
	--nzi-red-dark:#b00524;
	--nzi-red-light:#ff9daf;
	--nzi-ink:#1c2333;
	--nzi-muted:#5c6577;
	--nzi-bg-soft:#f5f7fb;
	--nzi-border:#e4e8f0;
}

/* ---------- Page header (light, editorial) ---------- */
.nzi-pagehead{background:var(--nzi-bg-soft);border-bottom:1px solid var(--nzi-border);padding:42px 0 44px}
.nzi-crumb{font-size:13px;color:var(--nzi-muted);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.nzi-crumb a,.nzi-crumb a:visited{color:var(--nzi-red);font-weight:600}
.nzi-crumb a:hover{color:var(--nzi-red-dark)}
.nzi-crumb span.fa-solid{font-size:9px;color:var(--nzi-muted)}
.nzi-pagehead h1{
	font-family:Lato,sans-serif;
	font-size:37px;
	font-weight:900;
	color:var(--nzi-ink);
	margin:0 0 16px;
	line-height:1.2;
	position:relative;
	padding-bottom:16px;
}
.nzi-pagehead h1:after{
	content:'';
	position:absolute;
	left:0;bottom:0;
	width:56px;height:4px;
	border-radius:4px;
	background:var(--nzi-red);
}
.nzi-pagehead p{max-width:760px;color:var(--nzi-muted);font-size:16px;line-height:1.75;margin:0}

/* ---------- Fact bar ---------- */
.nzi-factbar{background:var(--nzi-navy);color:#fff}
.nzi-factbar-inner{display:flex;flex-wrap:wrap}
.nzi-fact{
	display:flex;align-items:center;gap:12px;
	padding:17px 0;
	flex:1 1 0;
	min-width:200px;
	justify-content:center;
}
.nzi-fact + .nzi-fact{border-left:1px solid rgba(255,255,255,.14)}
.nzi-fact span.fa-solid{color:var(--nzi-red-light);font-size:19px}
.nzi-fact strong{font-family:Lato,sans-serif;font-size:16px;color:#fff;display:block;line-height:1.2}
.nzi-fact small{display:block;font-size:12px;color:#b9c1e3;margin-top:2px}

/* ---------- Article + sidebar layout ---------- */
.nzi-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:55px;padding:60px 0 70px;align-items:start}
.nzi-article > section{margin-bottom:48px}
.nzi-article > section:last-child{margin-bottom:0}
.nzi-article h2{
	font-family:Lato,sans-serif;
	font-size:25px;
	font-weight:800;
	color:var(--nzi-ink);
	margin:0 0 16px;
	scroll-margin-top:120px;
	display:flex;align-items:center;gap:12px;
}
.nzi-article h2 span.fa-solid{color:var(--nzi-red);font-size:20px}
.nzi-article h3{font-family:Lato,sans-serif;font-size:18px;font-weight:800;color:var(--nzi-ink);margin:26px 0 12px}
.nzi-article p{color:var(--nzi-muted);font-size:15px;line-height:1.85;margin:0 0 15px}
.nzi-article a{color:var(--nzi-red)}
.nzi-article a:hover{color:var(--nzi-red-dark);text-decoration:underline}

.nzi-list{padding:0;margin:4px 0 15px}
.nzi-list li{display:block;position:relative;padding-left:26px;width:100%;margin-bottom:11px;color:var(--nzi-ink);font-size:15px;line-height:1.65;text-align:left}
.nzi-list li span.fa-solid{color:var(--nzi-red);font-size:13px;position:absolute;left:0;top:5px}

/* Vertical numbered timeline */
.nzi-timeline{padding:6px 0 0;margin:0;position:relative}
.nzi-timeline li{display:block;position:relative;padding:0 0 30px 60px}
.nzi-timeline li:before{
	counter-increment:none;
	content:attr(data-step);
	position:absolute;left:0;top:0;
	width:40px;height:40px;
	background:var(--nzi-red);
	color:#fff;
	border-radius:50%;
	font-family:Lato,sans-serif;
	font-weight:900;
	font-size:16px;
	display:flex;align-items:center;justify-content:center;
	box-shadow:0 6px 15px rgba(215,6,44,.3);
	z-index:1;
}
.nzi-timeline li:not(:last-child):after{
	content:'';
	position:absolute;
	left:19px;top:44px;bottom:4px;
	width:2px;
	background:var(--nzi-border);
}
.nzi-timeline h3{margin:8px 0 8px}
.nzi-timeline p{margin:0}

/* ---------- Sidebar ---------- */
.nzi-side-inner{position:sticky;top:105px;display:flex;flex-direction:column;gap:24px}
.nzi-toc{background:#fff;border:1px solid var(--nzi-border);border-radius:12px;padding:24px}
.nzi-toc h4{
	font-family:Lato,sans-serif;
	font-size:13px;font-weight:800;
	letter-spacing:1.5px;text-transform:uppercase;
	color:var(--nzi-ink);
	margin:0 0 14px;
}
.nzi-toc ul{padding:0;margin:0}
.nzi-toc li{display:block;width:100%}
.nzi-toc li a,.nzi-toc li a:visited{
	display:block;
	padding:9px 0 9px 14px;
	font-size:14px;
	font-weight:600;
	color:var(--nzi-muted);
	border-left:2px solid var(--nzi-border);
	transition:.2s all ease-in-out;
}
.nzi-toc li a:hover{color:var(--nzi-red);border-left-color:var(--nzi-red);padding-left:18px}

.nzi-apply-card{
	background:linear-gradient(140deg,var(--nzi-navy-dark) 0%,var(--nzi-navy) 70%,#2334b0 100%);
	border-radius:12px;
	padding:28px 26px;
	color:#fff;
}
.nzi-apply-card h4{font-family:Lato,sans-serif;font-size:19px;font-weight:900;color:#fff;margin:0 0 10px}
.nzi-apply-card p{font-size:13.5px;color:#ccd3f2;line-height:1.7;margin:0 0 18px}
.nzi-apply-card .nzi-apply-btn,
.nzi-apply-card .nzi-apply-btn:visited{
	display:block;
	text-align:center;
	background:var(--nzi-red);
	color:#fff;
	font-family:Lato,sans-serif;
	font-weight:700;
	font-size:15px;
	padding:13px 20px;
	border-radius:7px;
	transition:.25s all ease-in-out;
}
.nzi-apply-card .nzi-apply-btn:hover{background:var(--nzi-red-dark);transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.3)}
.nzi-apply-card ul{padding:14px 0 0;margin:0}
.nzi-apply-card ul li{display:flex;gap:9px;align-items:center;width:100%;font-size:13px;color:#dfe3f5;margin-bottom:8px}
.nzi-apply-card ul li span.fa-solid{color:var(--nzi-red-light);font-size:12px}

/* ---------- Minimal FAQ (divider list, not cards) ---------- */
.nzi-faq details{border-bottom:1px solid var(--nzi-border)}
.nzi-faq details:first-of-type{border-top:1px solid var(--nzi-border)}
.nzi-faq summary{
	cursor:pointer;
	padding:17px 34px 17px 2px;
	font-family:Lato,sans-serif;
	font-weight:700;
	font-size:15.5px;
	color:var(--nzi-ink);
	list-style:none;
	position:relative;
}
.nzi-faq summary::-webkit-details-marker{display:none}
.nzi-faq summary:after{
	content:"\2b";
	font-family:"Font Awesome 6 Free";
	font-weight:900;
	font-size:13px;
	color:var(--nzi-red);
	position:absolute;right:6px;top:50%;
	transform:translateY(-50%);
	transition:transform .25s ease-in-out;
}
.nzi-faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.nzi-faq details p{padding:0 2px 18px;margin:0}

/* ---------- Responsive ---------- */
@media (max-width:991px){
	.nzi-layout{grid-template-columns:1fr;gap:40px;padding:45px 0 55px}
	.nzi-side-inner{position:static}
	.nzi-toc{display:none}
	.nzi-pagehead h1{font-size:30px}
	.nzi-fact{min-width:46%;justify-content:flex-start;padding:13px 0}
	.nzi-fact + .nzi-fact{border-left:none}
}
@media (max-width:600px){
	.nzi-pagehead{padding:30px 0 32px}
	.nzi-pagehead h1{font-size:25px}
	.nzi-fact{min-width:100%}
}

/* ---------- Contact page ---------- */
.nzi-form-card{
	background:#fff;
	border:1px solid var(--nzi-border);
	border-radius:14px;
	padding:36px 34px;
	box-shadow:0 10px 35px rgba(16,26,118,.06);
}
.nzi-form-card h2{
	font-family:Lato,sans-serif;
	font-size:23px;
	font-weight:800;
	color:var(--nzi-ink);
	margin:0 0 6px;
}
.nzi-form-card > p{color:var(--nzi-muted);font-size:14px;margin:0 0 24px}
.nzi-form-card label{font-weight:700;color:var(--nzi-ink);font-size:13.5px;margin-bottom:7px}
.nzi-form-card .form-control{
	height:47px;
	border:1px solid var(--nzi-border);
	border-radius:8px;
	box-shadow:none;
	font-size:14.5px;
	padding:10px 15px;
	transition:.2s border-color ease-in-out;
	color:var(--nzi-ink);
}
.nzi-form-card textarea.form-control{height:auto;min-height:145px;resize:vertical}
.nzi-form-card .form-control:focus{border-color:var(--nzi-red);outline:0;color:var(--nzi-ink)}
.nzi-form-card .form-group{margin-bottom:20px}
.nzi-form-card .has-error .form-control{border-color:var(--nzi-red)}
.nzi-form-card .help-block{color:var(--nzi-red);font-size:12.5px;margin:6px 0 0}
.nzi-form-card .alert{border-radius:8px;font-size:14px}
.nzi-submit{
	display:inline-block;
	background:var(--nzi-red);
	color:#fff;
	font-family:Lato,sans-serif;
	font-weight:700;
	font-size:15px;
	padding:14px 38px;
	border-radius:8px;
	border:none;
	cursor:pointer;
	transition:.25s all ease-in-out;
}
.nzi-submit:hover{background:var(--nzi-red-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(215,6,44,.25)}
.nzi-recaptcha{margin:4px 0 22px}

.nzi-info-card{
	background:#fff;
	border:1px solid var(--nzi-border);
	border-radius:12px;
	padding:26px 24px;
}
.nzi-info-card .nzi-info-icon{
	width:48px;height:48px;
	border-radius:10px;
	background:#fdeef1;
	color:var(--nzi-red);
	display:flex;align-items:center;justify-content:center;
	font-size:20px;
	margin-bottom:16px;
}
.nzi-info-card h4{font-family:Lato,sans-serif;font-size:16px;font-weight:800;color:var(--nzi-ink);margin:0 0 8px}
.nzi-info-card p{font-size:13.5px;color:var(--nzi-muted);line-height:1.7;margin:0 0 10px}
.nzi-info-card p:last-child{margin-bottom:0}
.nzi-info-card a,.nzi-info-card a:visited{color:var(--nzi-red);font-weight:700}
.nzi-info-card a:hover{color:var(--nzi-red-dark)}
.nzi-info-card ul{padding:0;margin:0}
.nzi-info-card ul li{display:block;width:100%;margin-bottom:10px}
.nzi-info-card ul li:last-child{margin-bottom:0}
.nzi-info-card ul li a{
	display:flex;align-items:center;gap:10px;
	font-size:14px;font-weight:600;color:var(--nzi-ink);
}
.nzi-info-card ul li a span.fa-solid{color:var(--nzi-red);font-size:12px}
.nzi-info-card ul li a:hover{color:var(--nzi-red)}
@media (max-width:991px){
	.nzi-form-card{padding:26px 20px}
}

/* ---------- Policy pages ---------- */
.nzi-info-card ul li.nzi-active a{color:var(--nzi-red)}
.nzi-highlight{
	background:#fdeef1;
	border-left:4px solid var(--nzi-red);
	border-radius:0 10px 10px 0;
	padding:18px 22px;
	margin:0 0 18px;
}
.nzi-highlight p{margin:0;color:var(--nzi-ink);font-size:14.5px}

/* ---------- Visa status page ---------- */
.nzi-narrow{max-width:540px;margin:0 auto}
.nzi-status-icon{
	width:56px;height:56px;
	border-radius:12px;
	background:#fdeef1;
	color:var(--nzi-red);
	display:flex;align-items:center;justify-content:center;
	font-size:24px;
	margin-bottom:18px;
}
.nzi-status-help{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:26px}
.nzi-status-help a,.nzi-status-help a:visited{
	display:flex;align-items:center;gap:8px;
	font-size:13.5px;font-weight:600;color:var(--nzi-muted);
}
.nzi-status-help a span.fa-solid{color:var(--nzi-red);font-size:12px}
.nzi-status-help a:hover{color:var(--nzi-red)}

.nzi-result-card{
	background:#fff;
	border:1px solid var(--nzi-border);
	border-radius:14px;
	padding:30px 28px;
	margin-bottom:26px;
}
.nzi-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.nzi-result-head h3{font-family:Lato,sans-serif;font-size:20px;font-weight:800;color:var(--nzi-ink);margin:0}
.nzi-ref-badge{
	display:inline-block;
	background:var(--nzi-navy);
	color:#fff;
	font-family:Lato,sans-serif;
	font-weight:700;
	font-size:14px;
	letter-spacing:1px;
	padding:9px 20px;
	border-radius:8px;
}
.nzi-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.nzi-detail-row{
	display:flex;justify-content:space-between;gap:14px;
	padding:12px 2px;
	border-bottom:1px solid var(--nzi-border);
	font-size:14px;
}
.nzi-detail-row:last-child{border-bottom:none}
.nzi-detail-row dt{color:var(--nzi-muted);font-weight:600;margin:0}
.nzi-detail-row dd{color:var(--nzi-ink);font-weight:700;margin:0;text-align:right}
.nzi-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:700;text-transform:capitalize}
.nzi-badge-green{background:#e6f6ea;color:#1a8f3c}
.nzi-badge-amber{background:#fff4e0;color:#a86b00}
.nzi-badge-red{background:#fdeef1;color:var(--nzi-red)}

.nzi-table{width:100%;border-collapse:collapse}
.nzi-table th{
	background:var(--nzi-bg-soft);
	font-family:Lato,sans-serif;
	font-size:13px;
	font-weight:800;
	color:var(--nzi-ink);
	text-align:left;
	padding:12px 14px;
	border:1px solid var(--nzi-border);
}
.nzi-table td{padding:12px 14px;border:1px solid var(--nzi-border);font-size:14px;color:var(--nzi-ink)}
.nzi-table-wrap{overflow-x:auto}
.nzi-dl-btn,.nzi-dl-btn:visited{
	display:inline-block;
	background:var(--nzi-navy);
	color:#fff;
	font-size:12.5px;
	font-weight:700;
	padding:7px 16px;
	border-radius:6px;
	transition:.2s all ease-in-out;
}
.nzi-dl-btn:hover{background:var(--nzi-navy-dark);color:#fff}
.nzi-back-link,.nzi-back-link:visited{
	display:inline-flex;align-items:center;gap:8px;
	font-size:14px;font-weight:700;color:var(--nzi-muted);
	margin-bottom:20px;
}
.nzi-back-link:hover{color:var(--nzi-red)}
.nzi-pay-btn,.nzi-pay-btn:visited{
	display:inline-block;
	background:var(--nzi-red);
	color:#fff;
	font-size:12.5px;
	font-weight:700;
	padding:7px 16px;
	border-radius:6px;
	transition:.2s all ease-in-out;
}
.nzi-pay-btn:hover{background:var(--nzi-red-dark);color:#fff}
@media (max-width:767px){
	.nzi-detail-grid{grid-template-columns:1fr}
}

/* ---------- Country pages (shared content typography + variant D hero) ---------- */
.nzc-content h2{
	font-family:Lato,sans-serif;
	font-size:23px;
	font-weight:800;
	color:var(--nzi-ink);
	margin:34px 0 14px;
	line-height:1.3;
}
.nzc-content h2:first-child{margin-top:0}
.nzc-content h3{font-family:Lato,sans-serif;font-size:18px;font-weight:800;color:var(--nzi-ink);margin:26px 0 12px}
.nzc-content p{color:var(--nzi-muted);font-size:15px;line-height:1.85;margin:0 0 15px;text-align:left!important}
.nzc-content a{color:var(--nzi-red)}
.nzc-content a:hover{color:var(--nzi-red-dark);text-decoration:underline}
.nzc-content strong{color:var(--nzi-ink)}

.nzc-hero-img{
	background:linear-gradient(rgba(7,12,60,.88),rgba(16,26,118,.72)),url('../img/banner.jpg') center/cover no-repeat;
	color:#fff;
	padding:75px 0;
	text-align:center;
}
.nzc-hero-img h1{
	font-family:Lato,sans-serif;
	font-size:38px;
	font-weight:900;
	color:#fff;
	margin:14px 0 0;
}
.nzc-hero-badge{
	display:inline-block;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.3);
	border-radius:30px;
	padding:6px 18px;
	font-size:12px;
	letter-spacing:1.5px;
	text-transform:uppercase;
	font-weight:700;
	color:#fff;
}
.nzc-narrow{max-width:860px;margin:0 auto;padding:55px 0 65px}
.nzc-cta-inline{
	background:var(--nzi-bg-soft);
	border:1px solid var(--nzi-border);
	border-radius:14px;
	padding:30px;
	text-align:center;
	margin-top:40px;
}
.nzc-cta-inline h3{font-family:Lato,sans-serif;font-size:20px;font-weight:800;color:var(--nzi-ink);margin:0 0 8px}
.nzc-cta-inline p{color:var(--nzi-muted);font-size:14px;margin:0 0 18px}
@media (max-width:600px){
	.nzc-hero-img h1{font-size:27px}
	.nzc-narrow{padding:40px 0 50px}
}

/* Buttons inside content areas must keep button styling (override content-link hover colors) */
.nzc-content a.nzh-btn,
.nzi-article a.nzh-btn,
.nzi-prose a.nzh-btn,
.nzc-content a.nzh-btn:visited,
.nzi-article a.nzh-btn:visited,
.nzi-prose a.nzh-btn:visited,
.nzc-content a.nzh-btn:hover,
.nzi-article a.nzh-btn:hover,
.nzi-prose a.nzh-btn:hover{color:#fff;text-decoration:none}

/* ---------- Application funnel ---------- */
.nzi-stepbar{display:flex;justify-content:center;gap:0;margin:0 auto 40px;max-width:760px}
.nzi-stepbar-item{flex:1;text-align:center;position:relative}
.nzi-stepbar-item:not(:first-child):before{
	content:'';
	position:absolute;
	top:19px;left:calc(-50% + 20px);right:calc(50% + 20px);
	height:2px;
	background:var(--nzi-border);
}
.nzi-stepbar-num{
	width:38px;height:38px;
	border-radius:50%;
	background:#fff;
	border:2px solid var(--nzi-border);
	color:var(--nzi-muted);
	font-family:Lato,sans-serif;
	font-weight:800;
	font-size:15px;
	display:flex;align-items:center;justify-content:center;
	margin:0 auto 8px;
	position:relative;
	z-index:1;
}
.nzi-stepbar-item.nzi-step-active .nzi-stepbar-num{
	background:var(--nzi-red);
	border-color:var(--nzi-red);
	color:#fff;
	box-shadow:0 6px 15px rgba(215,6,44,.3);
}
.nzi-stepbar-item small{
	display:block;
	font-size:12px;
	font-weight:700;
	color:var(--nzi-muted);
	text-transform:uppercase;
	letter-spacing:.5px;
}
.nzi-stepbar-item.nzi-step-active small{color:var(--nzi-ink)}

.nzi-tier{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 0;border-bottom:1px solid var(--nzi-border)}
.nzi-tier:last-child{border-bottom:none}
.nzi-tier strong{font-family:Lato,sans-serif;font-size:14px;color:var(--nzi-ink)}
.nzi-tier small{display:block;font-size:12px;color:var(--nzi-muted);margin-top:2px}
.nzi-tier-price{font-family:Lato,sans-serif;font-weight:800;font-size:15px;color:var(--nzi-red);white-space:nowrap}
@media (max-width:600px){
	.nzi-stepbar-item small{font-size:10px}
}

/* Form section headings inside form cards */
.nzi-form-sec{
	font-family:Lato,sans-serif;
	font-size:16px;
	font-weight:800;
	color:var(--nzi-ink);
	margin:30px 0 18px;
	padding-bottom:10px;
	border-bottom:1px solid var(--nzi-border);
	display:flex;align-items:center;gap:10px;
}
.nzi-form-sec span.fa-solid{color:var(--nzi-red);font-size:14px}
.nzi-form-card .nzi-form-sec:first-of-type{margin-top:0}
.nzi-form-card input[type=radio]{margin-right:6px}
.nzi-form-card select.form-control{height:47px}

/* ---------- Image popup modal ---------- */
.nzi-modal{
	display:none;
	position:fixed;
	inset:0;
	background:rgba(7,12,60,.78);
	z-index:2000;
	align-items:center;
	justify-content:center;
	padding:20px;
}
.nzi-modal.nzi-modal-open{display:flex}
.nzi-modal-box{
	position:relative;
	background:#fff;
	border-radius:12px;
	padding:16px;
	max-width:760px;
	max-height:92vh;
	overflow:auto;
	box-shadow:0 25px 70px rgba(0,0,0,.4);
}
.nzi-modal-box img{display:block;max-width:100%;height:auto;border-radius:8px}
.nzi-modal-close{
	position:absolute;
	top:10px;right:10px;
	width:34px;height:34px;
	border-radius:50%;
	border:none;
	background:var(--nzi-red);
	color:#fff;
	font-size:18px;
	line-height:1;
	cursor:pointer;
	display:flex;align-items:center;justify-content:center;
	transition:.2s all ease-in-out;
	z-index:1;
}
.nzi-modal-close:hover{background:var(--nzi-red-dark)}

/* ---------- Select2 (searchable dropdowns) theme overrides ---------- */
.nzi-form-card .select2-container{width:100%!important}
.nzi-form-card .select2-container .select2-selection--single{
	height:47px;
	border:1px solid var(--nzi-border);
	border-radius:8px;
	transition:.2s border-color ease-in-out;
}
.nzi-form-card .select2-container--default .select2-selection--single .select2-selection__rendered{
	line-height:45px;
	padding-left:15px;
	color:var(--nzi-ink);
	font-size:14.5px;
}
.nzi-form-card .select2-container--default .select2-selection--single .select2-selection__arrow{height:45px;right:8px}
.nzi-form-card .select2-container--open .select2-selection--single,
.nzi-form-card .select2-container--focus .select2-selection--single{border-color:var(--nzi-red)}
body .select2-dropdown{border:1px solid var(--nzi-border);border-radius:8px;box-shadow:0 12px 30px rgba(16,26,118,.12)}
body .select2-container--default .select2-search--dropdown .select2-search__field{
	border:1px solid var(--nzi-border);
	border-radius:6px;
	padding:8px 12px;
	outline:none;
}
body .select2-container--default .select2-search--dropdown .select2-search__field:focus{border-color:var(--nzi-red)}
body .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--nzi-red);color:#fff}
/* legacy global li{display:inline-block} makes options flow side by side — force block */
body .select2-results__options li.select2-results__option{
	display:block;
	width:100%;
	font-size:14px;
	padding:9px 14px;
}

/* ---------- Radio lists: align circles with text, neutralize legacy offsets ---------- */
.nzi-form-card [id^="applicationvisitors-"] label,
.nzi-form-card .radio-inline,
.nzi-form-card .radio label{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:0 26px 8px 0;
	font-weight:600;
	color:var(--nzi-ink);
	cursor:pointer;
	vertical-align:middle;
}
/* replace the legacy pseudo-element circle with a clean native radio */
.nzi-form-card input[type=radio]{
	appearance:auto;
	-webkit-appearance:radio;
	width:16px;
	height:16px;
	margin:0;
	flex:0 0 auto;
	accent-color:var(--nzi-red);
	cursor:pointer;
}
.nzi-form-card input[type=radio]:after,
.nzi-form-card input[type=radio]:checked:after{content:none;display:none}
/* question labels keep ink color after successful validation (no green) */
.nzi-form-card .has-success .control-label,
.nzi-form-card .has-success label{color:var(--nzi-ink)}
.nzi-form-card .has-error .control-label{color:var(--nzi-red)}

/* PDF preview inside the popup modal */
.nzi-modal-box iframe{width:min(82vw,720px);height:78vh;border:none;border-radius:8px;background:#f5f7fb}

/* ---------- Traveller tabs (review page) ---------- */
.nzi-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.nzi-tab-btn{
	padding:11px 22px;
	border-radius:8px;
	border:1px solid var(--nzi-border);
	background:#fff;
	font-family:Lato,sans-serif;
	font-weight:700;
	font-size:14px;
	color:var(--nzi-muted);
	cursor:pointer;
	transition:.2s all ease-in-out;
	display:inline-flex;align-items:center;gap:8px;
}
.nzi-tab-btn span.fa-solid{font-size:12px}
.nzi-tab-btn:hover{border-color:var(--nzi-red);color:var(--nzi-red)}
.nzi-tab-btn.nzi-tab-active{background:var(--nzi-red);border-color:var(--nzi-red);color:#fff}
.nzi-tab-pane{display:none}
.nzi-tab-pane.nzi-tab-open{display:block}

/* ---------- Payment page ---------- */
/* legacy mycss.css styles #paymentForm with id-specificity — neutralize it here */
.nzi-form-card #paymentForm{background:none;border:none;border-radius:0;box-shadow:none;padding:0;margin:0}
.nzi-form-card #paymentForm .PayInput,
.nzi-form-card .PayInput{
	width:100%;
	height:47px;
	border:1px solid var(--nzi-border);
	border-radius:8px;
	padding:10px 15px;
	font-size:14.5px;
	box-sizing:border-box;
	margin-bottom:0;
	display:block;
	background-color:#fff;
	color:var(--nzi-ink);
	transition:.2s border-color ease-in-out;
}
.nzi-form-card #paymentForm .PayInput:focus,
.nzi-form-card .PayInput:focus{border-color:var(--nzi-red);outline:none}
.nzi-form-card #paymentForm #card_number{width:100%;padding:10px 52px 10px 15px;box-sizing:border-box}
.nzi-form-card #paymentForm .required{border-color:var(--nzi-red)}
.nzi-form-card #paymentForm label{font-weight:700;color:var(--nzi-ink);font-size:13.5px;margin-bottom:7px;display:block}
.nzi-form-card #paymentForm .form-group{margin-bottom:20px}
.nzi-pay-logo{max-height:34px;width:auto}
.nzi-total-row{
	display:flex;justify-content:space-between;align-items:baseline;
	padding:14px 2px 2px;
	margin-top:8px;
	border-top:2px solid var(--nzi-border);
	font-family:Lato,sans-serif;
	font-weight:900;
	font-size:19px;
	color:var(--nzi-ink);
}
.nzi-total-row span:last-child{color:var(--nzi-red)}
.nzi-secure-note{
	display:flex;align-items:flex-start;gap:10px;
	font-size:12.5px;color:var(--nzi-muted);
	margin-top:16px;line-height:1.6;
}
.nzi-secure-note span.fa-solid{color:#1a8f3c;margin-top:2px}

/* ---------- Card details: brand icon, inline errors ---------- */
.nzi-form-card #paymentForm #card_number{background:none}
.nzi-card-wrap{position:relative}
.nzi-card-brand{
	position:absolute;
	right:14px;
	top:50%;
	transform:translateY(-50%);
	font-size:24px;
	color:var(--nzi-muted);
	pointer-events:none;
}
.nzi-card-brand.nzi-brand-ok{color:var(--nzi-navy)}
.nzi-field-err{display:none;color:var(--nzi-red);font-size:12px;font-weight:600;margin-top:5px}
.PayInput.nzi-invalid,.nzi-form-card #paymentForm .form-control.nzi-invalid{border-color:var(--nzi-red)}
.PayInput.nzi-valid{border-color:#1a8f3c}

/* ---------- Confirmation page ---------- */
.nzi-success-icon{
	width:74px;height:74px;
	border-radius:50%;
	background:#e6f6ea;
	color:#1a8f3c;
	display:flex;align-items:center;justify-content:center;
	font-size:34px;
	margin:0 auto 22px;
}
.nzi-confirm-card{text-align:center}
.nzi-confirm-card h2{font-family:Lato,sans-serif;font-size:26px;font-weight:900;color:var(--nzi-ink);margin:0 0 10px}
.nzi-confirm-card > p{max-width:560px;margin:0 auto 14px;color:var(--nzi-muted);font-size:15px;line-height:1.75}
.nzi-confirm-ref{margin:22px 0 26px}
.nzi-confirm-ref small{display:block;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--nzi-muted);margin-bottom:8px}
.nzi-confirm-ref .nzi-ref-badge{font-size:18px;padding:12px 28px}
.nzi-confirm-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:26px}

/* wider centered column (confirmation page) */
.nzi-narrow-lg{max-width:820px;margin:0 auto}

/* ---------- Error / 404 page ---------- */
.nzi-error-wrap{text-align:center;padding:70px 0 80px}
.nzi-error-code{
	font-family:Lato,sans-serif;
	font-size:120px;
	font-weight:900;
	line-height:1;
	color:var(--nzi-navy);
	letter-spacing:4px;
	margin-bottom:8px;
}
.nzi-error-code span{color:var(--nzi-red)}
.nzi-error-wrap h1{font-family:Lato,sans-serif;font-size:28px;font-weight:900;color:var(--nzi-ink);margin:0 0 12px}
.nzi-error-wrap > p{max-width:520px;margin:0 auto 8px;color:var(--nzi-muted);font-size:15px;line-height:1.75}
.nzi-error-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}
.nzi-error-links a.nzi-chip-link,
.nzi-error-links a.nzi-chip-link:visited{
	display:inline-flex;align-items:center;gap:8px;
	background:#fff;
	border:1px solid var(--nzi-border);
	border-radius:8px;
	padding:11px 18px;
	font-size:14px;font-weight:600;color:var(--nzi-ink);
	transition:.2s all ease-in-out;
}
.nzi-error-links a.nzi-chip-link span.fa-solid{color:var(--nzi-red);font-size:12px}
.nzi-error-links a.nzi-chip-link:hover{border-color:var(--nzi-red);color:var(--nzi-red);transform:translateY(-2px)}
@media (max-width:600px){
	.nzi-error-code{font-size:80px}
	.nzi-error-wrap h1{font-size:22px}
}

/* ---------- Visa fees pricing cards ---------- */
.nzi-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:10px 0 20px}
.nzi-price-card{
	position:relative;
	background:#fff;
	border:1px solid var(--nzi-border);
	border-radius:14px;
	padding:36px 28px 30px;
	text-align:center;
	transition:.25s all ease-in-out;
}
.nzi-price-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(16,26,118,.12)}
.nzi-price-card.nzi-price-featured{border-color:var(--nzi-red);box-shadow:0 12px 35px rgba(215,6,44,.10)}
.nzi-price-flag{
	position:absolute;
	top:-13px;left:50%;
	transform:translateX(-50%);
	background:var(--nzi-red);
	color:#fff;
	font-family:Lato,sans-serif;
	font-size:11px;
	font-weight:800;
	letter-spacing:1.2px;
	text-transform:uppercase;
	padding:5px 16px;
	border-radius:20px;
	white-space:nowrap;
}
.nzi-price-card h3{font-family:Lato,sans-serif;font-size:19px;font-weight:800;color:var(--nzi-ink);margin:0 0 4px}
.nzi-price-speed{font-size:13px;color:var(--nzi-muted);margin-bottom:16px}
.nzi-price-amount{font-family:Lato,sans-serif;font-size:40px;font-weight:900;color:var(--nzi-navy);line-height:1;margin-bottom:4px}
.nzi-price-amount small{font-size:16px;font-weight:700;color:var(--nzi-muted)}
.nzi-price-per{font-size:12px;color:var(--nzi-muted);margin-bottom:20px}
.nzi-price-card ul{padding:18px 0 0;margin:0 0 22px;border-top:1px solid var(--nzi-border);text-align:left}
.nzi-price-card ul li{display:block;position:relative;padding:0 0 10px 24px;font-size:13.5px;color:var(--nzi-ink)}
.nzi-price-card ul li span.fa-solid{position:absolute;left:0;top:3px;color:var(--nzi-red);font-size:12px}
@media (max-width:900px){
	.nzi-price-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}
}
