/* Dubai Visa Application Form — front-end styles */
.dvf-wrap{
	--dvf-accent:#0e7c66;
	--dvf-accent-2:#12a37f;
	--dvf-ink:#1f2733;
	--dvf-muted:#6b7684;
	--dvf-line:#e2e6ec;
	--dvf-bg:#ffffff;
	--dvf-soft:#f5f7fa;
	--dvf-err:#d64545;
	--dvf-radius:14px;
	max-width:840px;
	margin:0 auto;
	color:var(--dvf-ink);
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.dvf-form{
	background:var(--dvf-bg);
	border:1px solid var(--dvf-line);
	border-radius:var(--dvf-radius);
	box-shadow:0 10px 40px -18px rgba(16,40,60,.25);
	padding:28px 30px 24px;
	position:relative;
	overflow:hidden;
}
.dvf-form:before{
	content:"";position:absolute;top:0;left:0;right:0;height:5px;
	background:linear-gradient(90deg,var(--dvf-accent),var(--dvf-accent-2));
}
/* Ensure hidden elements stay hidden even if the theme sets a display on buttons */
.dvf-wrap [hidden],.dvf-wrap .dvf-hidden{display:none !important;}

/* Step pills */
.dvf-steps{
	display:flex;gap:8px;list-style:none;margin:6px 0 26px;padding:0;
}
.dvf-step-pill{
	flex:1;display:flex;align-items:center;gap:10px;
	padding:10px 12px;border-radius:10px;background:var(--dvf-soft);
	color:var(--dvf-muted);font-size:13px;font-weight:600;
	transition:.25s;min-width:0;
}
.dvf-step-pill .dvf-step-num{
	flex:0 0 26px;height:26px;border-radius:50%;
	display:grid;place-items:center;background:#fff;border:1px solid var(--dvf-line);
	font-size:13px;transition:.25s;
}
.dvf-step-pill .dvf-step-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dvf-step-pill.is-active{background:var(--dvf-accent);color:#fff;}
.dvf-step-pill.is-active .dvf-step-num{background:#fff;color:var(--dvf-accent);border-color:transparent;}
.dvf-step-pill.is-done{background:rgba(18,163,127,.12);color:var(--dvf-accent);}
.dvf-step-pill.is-done .dvf-step-num{background:var(--dvf-accent);color:#fff;border-color:transparent;}

/* Panels */
.dvf-panel{display:none;animation:dvf-fade .3s ease;}
.dvf-panel.is-active{display:block;}
@keyframes dvf-fade{from{opacity:0;transform:translateX(12px);}to{opacity:1;transform:none;}}
.dvf-panel-head{display:flex;align-items:center;gap:10px;margin:0 0 18px;}
.dvf-panel-head h3{margin:0;font-size:19px;font-weight:700;}
.dvf-panel-icon{
	display:grid;place-items:center;width:38px;height:38px;border-radius:10px;
	background:rgba(18,163,127,.12);color:var(--dvf-accent);
}

/* Grid + fields */
.dvf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;}
.dvf-field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.dvf-col-full{grid-column:1 / -1;}
.dvf-field label{font-size:13.5px;font-weight:600;color:var(--dvf-ink);}
.dvf-req{color:var(--dvf-err);}
.dvf-field input,.dvf-field select,.dvf-field textarea{
	width:100%;padding:11px 13px;border:1.5px solid var(--dvf-line);
	border-radius:10px;font-size:15px;background:#fff;color:var(--dvf-ink);
	transition:border-color .18s,box-shadow .18s;box-sizing:border-box;
}
.dvf-field textarea{resize:vertical;min-height:96px;}
.dvf-field input:focus,.dvf-field select:focus,.dvf-field textarea:focus{
	outline:none;border-color:var(--dvf-accent);box-shadow:0 0 0 3px rgba(18,163,127,.15);
}
.dvf-field.has-error input,.dvf-field.has-error select,.dvf-field.has-error textarea{
	border-color:var(--dvf-err);
}
.dvf-help{font-size:12px;color:var(--dvf-muted);line-height:1.4;}
.dvf-error{font-size:12px;color:var(--dvf-err);min-height:0;}
.dvf-field.has-error .dvf-error{min-height:16px;}

/* File drop */
.dvf-drop{
	position:relative;border:2px dashed var(--dvf-line);border-radius:12px;
	padding:22px;text-align:center;background:var(--dvf-soft);cursor:pointer;transition:.2s;
}
.dvf-drop.is-over{border-color:var(--dvf-accent);background:rgba(18,163,127,.06);}
.dvf-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.dvf-drop-text{color:var(--dvf-muted);font-size:14px;}
.dvf-drop-text strong{color:var(--dvf-accent);}
.dvf-filelist{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;text-align:left;}
.dvf-filelist li{
	display:flex;justify-content:space-between;align-items:center;gap:8px;
	background:#fff;border:1px solid var(--dvf-line);border-radius:8px;
	padding:7px 11px;font-size:13px;
}
.dvf-filelist .dvf-rm{border:0;background:none;color:var(--dvf-err);cursor:pointer;font-size:16px;line-height:1;}

/* Honeypot */
.dvf-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden;}

/* Nav */
.dvf-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px;}
.dvf-btn{
	appearance:none;border:0;cursor:pointer;font-size:15px;font-weight:600;
	padding:12px 24px;border-radius:10px;transition:.18s;
}
.dvf-next,.dvf-submit{
	margin-left:auto;color:#fff;background:linear-gradient(90deg,var(--dvf-accent),var(--dvf-accent-2));
	box-shadow:0 8px 20px -8px rgba(14,124,102,.7);
}
.dvf-next:hover,.dvf-submit:hover{filter:brightness(1.05);transform:translateY(-1px);}
.dvf-back{background:var(--dvf-soft);color:var(--dvf-ink);}
.dvf-back:hover{background:#eaeef3;}
.dvf-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}

/* Result */
.dvf-result{margin-top:18px;}
.dvf-result.is-ok,.dvf-result.is-bad{padding:16px 18px;border-radius:10px;font-size:14.5px;}
.dvf-result.is-ok{background:rgba(18,163,127,.1);color:var(--dvf-accent);border:1px solid rgba(18,163,127,.3);}
.dvf-result.is-bad{background:rgba(214,69,69,.08);color:var(--dvf-err);border:1px solid rgba(214,69,69,.3);}

.dvf-success-card{text-align:center;padding:20px 10px;}
.dvf-success-card .dvf-check{
	width:64px;height:64px;border-radius:50%;margin:0 auto 14px;
	background:linear-gradient(90deg,var(--dvf-accent),var(--dvf-accent-2));
	display:grid;place-items:center;color:#fff;font-size:32px;
}
.dvf-success-card h3{margin:0 0 8px;font-size:22px;}
.dvf-success-card p{margin:0;color:var(--dvf-muted);font-size:15px;}

/* Responsive */
@media(max-width:640px){
	.dvf-form{padding:22px 18px;}
	.dvf-grid{grid-template-columns:1fr;}
	.dvf-step-pill .dvf-step-name{display:none;}
	.dvf-step-pill{justify-content:center;}
}

/* Force a white/light UI on every device and ignore the OS/theme dark mode.
   The form always renders light, on mobile and desktop. */
.dvf-form{background:#fff;color:var(--dvf-ink);}
.dvf-field input,.dvf-field select,.dvf-field textarea{background:#fff;color:var(--dvf-ink);}
.dvf-filelist li{background:#fff;}
