/* =========================================================================
   Federal Apostille — DMV driving record portal
   Official-register palette: deep navy, restrained gold, serif headings.
   Everything is scoped under .fadmv-app so no theme rule is disturbed.
   ========================================================================= */

.fadmv-app{
	--fadmv-navy:#0a3d62;
	--fadmv-navy-deep:#072c48;
	--fadmv-gold:#b8860b;
	--fadmv-ink:#12263a;
	--fadmv-ink-2:#4a5b6b;
	--fadmv-ink-3:#6b7b8c;
	--fadmv-line:#dfe6ec;
	--fadmv-line-2:#eef2f6;
	--fadmv-bg:#fff;
	--fadmv-bg-2:#f6f9fc;
	--fadmv-good:#167a4d;
	--fadmv-warn:#b06a0a;
	--fadmv-bad:#b02020;
	--fadmv-radius:10px;
	--fadmv-radius-sm:6px;
	--fadmv-shadow:0 1px 2px rgba(10,61,98,.06),0 12px 28px -18px rgba(10,61,98,.5);

	color:var(--fadmv-ink);
	font-size:17px;
	line-height:1.62;
	max-width:920px;
	margin:0 auto;
	box-sizing:border-box;
}
.fadmv-app *,.fadmv-app *::before,.fadmv-app *::after{box-sizing:inherit}

.fadmv-app h2,.fadmv-app h3,.fadmv-app h4{
	font-family:Georgia,'Times New Roman',serif;
	color:var(--fadmv-navy);
	line-height:1.28;
	margin:0 0 .5em;
}
.fadmv-app h2{font-size:1.6rem}
.fadmv-app h3{font-size:1.2rem}
.fadmv-app h4{font-size:1.02rem}
.fadmv-app p{margin:0 0 1em}
.fadmv-app a{color:var(--fadmv-navy)}

.fadmv-loading{color:var(--fadmv-ink-3);font-style:italic}

/* ------------------------------------------------------------- progress */

.fadmv-steps{
	display:flex;gap:0;margin:0 0 2em;padding:0;list-style:none;
	border-bottom:1px solid var(--fadmv-line);flex-wrap:wrap;
}
.fadmv-steps li{
	flex:1 1 auto;min-width:96px;padding:0 0 .8em;position:relative;
	font-size:.78rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;
	color:var(--fadmv-ink-3);text-align:center;
}
.fadmv-steps li::after{
	content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent;
}
.fadmv-steps li.is-done{color:var(--fadmv-ink-2)}
.fadmv-steps li.is-done::after{background:var(--fadmv-line)}
.fadmv-steps li.is-current{color:var(--fadmv-navy)}
.fadmv-steps li.is-current::after{background:var(--fadmv-gold)}

/* ---------------------------------------------------------------- cards */

.fadmv-panel{
	background:var(--fadmv-bg);border:1px solid var(--fadmv-line);
	border-radius:var(--fadmv-radius);padding:1.7em 1.8em;margin:0 0 1.4em;
	box-shadow:var(--fadmv-shadow);
}
.fadmv-panel > :last-child{margin-bottom:0}

.fadmv-choices{display:grid;gap:.75em;margin:1.1em 0 0}
.fadmv-choice{
	display:block;border:1.5px solid var(--fadmv-line);border-radius:var(--fadmv-radius-sm);
	padding:1em 1.15em;cursor:pointer;background:var(--fadmv-bg);
	transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.fadmv-choice:hover{border-color:var(--fadmv-navy);background:var(--fadmv-bg-2)}
.fadmv-choice.is-selected{
	border-color:var(--fadmv-navy);background:var(--fadmv-bg-2);
	box-shadow:inset 3px 0 0 var(--fadmv-gold);
}
.fadmv-choice.is-disabled{opacity:.5;cursor:not-allowed;background:var(--fadmv-line-2)}
.fadmv-choice input{margin-right:.6em}
.fadmv-choice-title{font-weight:650;display:block}
.fadmv-choice-desc{font-size:.92rem;color:var(--fadmv-ink-2);display:block;margin-top:.3em}

/* --------------------------------------------------------------- fields */

.fadmv-field{display:block;margin:0 0 1.05em}
.fadmv-field > span{
	display:block;font-size:.86rem;font-weight:650;color:var(--fadmv-ink-2);
	margin-bottom:.34em;letter-spacing:.012em;
}
.fadmv-app input[type=text],
.fadmv-app input[type=email],
.fadmv-app input[type=tel],
.fadmv-app input[type=search],
.fadmv-app input[type=number],
.fadmv-app select,
.fadmv-app textarea{
	width:100%;padding:.72em .85em;border:1.5px solid var(--fadmv-line);
	border-radius:var(--fadmv-radius-sm);background:var(--fadmv-bg);color:var(--fadmv-ink);
	/* 16px minimum stops iOS Safari zooming the whole page on focus. */
	font-size:16px;font-family:inherit;line-height:1.4;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.fadmv-app input:focus,.fadmv-app select:focus,.fadmv-app textarea:focus{
	outline:none;border-color:var(--fadmv-navy);
	box-shadow:0 0 0 3px rgba(10,61,98,.12);
}
.fadmv-grid{display:grid;gap:0 1em;grid-template-columns:1fr 1fr}
.fadmv-grid-3{display:grid;gap:0 1em;grid-template-columns:2fr 1fr 1fr}

/* --------------------------------------------------------------- notices */

.fadmv-note,.fadmv-warn,.fadmv-good{
	padding:.95em 1.15em;border-radius:0 var(--fadmv-radius-sm) var(--fadmv-radius-sm) 0;
	border-left:4px solid var(--fadmv-navy);background:var(--fadmv-bg-2);
	font-size:.95rem;margin:1em 0;
}
.fadmv-warn{border-left-color:var(--fadmv-warn);background:rgba(176,106,10,.07)}
.fadmv-good{border-left-color:var(--fadmv-good);background:rgba(22,122,77,.07)}
.fadmv-hint{font-size:.9rem;color:var(--fadmv-ink-3);margin-top:.6em}
.fadmv-error{
	border-left:4px solid var(--fadmv-bad);background:rgba(176,32,32,.07);
	padding:.95em 1.15em;border-radius:0 var(--fadmv-radius-sm) var(--fadmv-radius-sm) 0;margin:1em 0;
}

.fadmv-pill{
	display:inline-block;padding:.2em .62em;border-radius:999px;
	font-size:.78rem;font-weight:650;white-space:nowrap;
	background:var(--fadmv-line-2);color:var(--fadmv-ink-2);border:1px solid var(--fadmv-line);
}
.fadmv-pill.is-good{background:rgba(22,122,77,.09);color:var(--fadmv-good);border-color:rgba(22,122,77,.24)}
.fadmv-pill.is-warn{background:rgba(176,106,10,.1);color:var(--fadmv-warn);border-color:rgba(176,106,10,.26)}

/* ---------------------------------------------------------------- totals */

.fadmv-summary{
	background:var(--fadmv-bg-2);border:1px solid var(--fadmv-line);
	border-radius:var(--fadmv-radius);padding:1.3em 1.5em;margin:1.4em 0;
}
.fadmv-lines{list-style:none;margin:0;padding:0}
.fadmv-lines li{
	display:flex;justify-content:space-between;gap:1em;
	padding:.5em 0;border-bottom:1px solid var(--fadmv-line);font-size:.96rem;
}
.fadmv-lines li:last-child{border-bottom:0}
.fadmv-lines .fadmv-amt{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.fadmv-total{
	display:flex;justify-content:space-between;gap:1em;
	margin-top:.8em;padding-top:.8em;border-top:2px solid var(--fadmv-navy);
	font-size:1.22rem;font-weight:700;color:var(--fadmv-navy);
	font-family:Georgia,'Times New Roman',serif;
}
.fadmv-total .fadmv-amt{font-variant-numeric:tabular-nums}

/* --------------------------------------------------------------- buttons */

.fadmv-actions{display:flex;gap:.7em;flex-wrap:wrap;margin-top:1.6em;align-items:center}
.fadmv-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:.5em;
	padding:.85em 1.7em;border-radius:var(--fadmv-radius-sm);border:1.5px solid var(--fadmv-navy);
	background:var(--fadmv-navy);color:#fff;font-size:1rem;font-weight:650;font-family:inherit;
	cursor:pointer;line-height:1.2;min-height:48px;
	transition:background .15s ease,box-shadow .15s ease,transform .1s ease;
}
.fadmv-btn:hover:not(:disabled){background:var(--fadmv-navy-deep);box-shadow:0 6px 18px -8px rgba(10,61,98,.7)}
.fadmv-btn:active:not(:disabled){transform:translateY(1px)}
.fadmv-btn:disabled{opacity:.45;cursor:not-allowed}
.fadmv-btn-ghost{background:transparent;color:var(--fadmv-navy)}
.fadmv-btn-ghost:hover:not(:disabled){background:var(--fadmv-bg-2)}
/* A disabled button must always say why, or it reads as a broken page. */
.fadmv-why{font-size:.88rem;color:var(--fadmv-warn);flex-basis:100%;margin:0}

/* ---------------------------------------------------------------- tables */

.fadmv-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.2em 0}
.fadmv-table{width:100%;border-collapse:collapse;font-size:.94rem;min-width:40em}
.fadmv-table th,.fadmv-table td{
	text-align:left;padding:.66em .8em;border-bottom:1px solid var(--fadmv-line);vertical-align:top;
}
.fadmv-table thead th{
	background:var(--fadmv-navy);color:#fff;font-weight:650;font-size:.86rem;
	letter-spacing:.02em;border-bottom:0;
}
.fadmv-table tbody th{font-weight:650;color:var(--fadmv-navy)}
.fadmv-table tbody tr:nth-child(even){background:var(--fadmv-bg-2)}

/* --------------------------------------------------- instructions pack */

.fadmv-pack{margin-top:1.2em}
.fadmv-pack-lede{font-size:1.06rem;color:var(--fadmv-ink-2)}
.fadmv-step{
	border-left:3px solid var(--fadmv-line);padding:0 0 .3em 1.3em;margin:0 0 1.7em;
}
.fadmv-step-warn{border-left-color:var(--fadmv-warn)}
.fadmv-step h3{margin-bottom:.45em}
.fadmv-notes{margin:.6em 0 0;padding-left:1.15em}
.fadmv-notes li{margin-bottom:.5em}
.fadmv-address{
	font-style:normal;background:var(--fadmv-bg-2);border:1px dashed var(--fadmv-navy);
	border-radius:var(--fadmv-radius-sm);padding:1em 1.2em;margin:1em 0;
	font-size:1.02rem;line-height:1.55;
}

/* -------------------------------------------------------------- tracking */

.fadmv-track{display:flex;gap:.7em;align-items:flex-end;flex-wrap:wrap}
.fadmv-track .fadmv-field{flex:1 1 260px;margin-bottom:0}
.fadmv-timeline{list-style:none;margin:1.4em 0 0;padding:0}
.fadmv-timeline li{
	position:relative;padding:0 0 1.2em 1.9em;border-left:2px solid var(--fadmv-line);margin-left:.4em;
}
.fadmv-timeline li:last-child{border-left-color:transparent;padding-bottom:0}
.fadmv-timeline li::before{
	content:"";position:absolute;left:-.46em;top:.35em;width:.85em;height:.85em;
	border-radius:50%;background:var(--fadmv-navy);border:2px solid #fff;
	box-shadow:0 0 0 1px var(--fadmv-line);
}
.fadmv-timeline li:first-child::before{background:var(--fadmv-gold)}
.fadmv-timeline-status{font-weight:650;color:var(--fadmv-navy);display:block}
.fadmv-timeline-at{font-size:.84rem;color:var(--fadmv-ink-3)}

/* ------------------------------------------------------------ responsive */

@media (max-width:640px){
	.fadmv-app{font-size:16px}
	.fadmv-panel{padding:1.25em 1.15em;border-radius:8px}
	.fadmv-grid,.fadmv-grid-3{grid-template-columns:1fr}
	.fadmv-steps li{min-width:0;flex:1 1 33%;font-size:.7rem}
	.fadmv-actions .fadmv-btn{flex:1 1 100%}
	.fadmv-total{font-size:1.1rem}
}

@media (prefers-reduced-motion:reduce){
	.fadmv-app *{transition:none!important}
}

@media print{
	.fadmv-steps,.fadmv-actions,.fadmv-track{display:none!important}
	.fadmv-panel{box-shadow:none;border-color:#999}
}

/* ------------------------------------------------- containers and guide */

/* The wizard renders into this, so it only needs to hold space while the
   bootstrap request is in flight. */
.fadmv-boot{min-height:8em}
.fadmv-track-out{margin-top:1.4em}

.fadmv-guide-intro{
	background:var(--fadmv-bg-2);border-left:4px solid var(--fadmv-navy);
	padding:1em 1.25em;border-radius:0 var(--fadmv-radius-sm) var(--fadmv-radius-sm) 0;
	margin-bottom:1.2em;
}
.fadmv-guide-intro > :last-child{margin-bottom:0}
.fadmv-guide{max-width:1080px}
.fadmv-guide .fadmv-table{min-width:46em}
.fadmv-guide .fadmv-table td{font-size:.9rem}

/* ------------------------------------------------- state-by-state guide */

.fadmv-pricing{
	background:var(--fadmv-bg);border:1px solid var(--fadmv-line);
	border-radius:var(--fadmv-radius);padding:1.5em 1.7em;margin:1.6em 0;
	box-shadow:var(--fadmv-shadow);
}
.fadmv-pricing h3{margin-top:0}
.fadmv-pricing-lede{color:var(--fadmv-ink-2);font-size:.98rem}
.fadmv-price-list{list-style:none;margin:1.1em 0 0;padding:0}
.fadmv-price-list li{
	display:flex;justify-content:space-between;gap:1.2em;align-items:baseline;
	padding:.6em 0;border-bottom:1px solid var(--fadmv-line-2);font-size:.97rem;
}
.fadmv-price-list li:last-child{border-bottom:0}
.fadmv-price-list em{color:var(--fadmv-ink-3);font-size:.9em;font-style:normal}
.fadmv-price-list .fadmv-amt{
	font-variant-numeric:tabular-nums;font-weight:650;color:var(--fadmv-navy);
	white-space:nowrap;text-align:right;
}

.fadmv-guide-filter{max-width:26em;margin:1.6em 0 1em}
.fadmv-guide-h{
	margin:2.4em 0 1.2em;padding-top:1.4em;border-top:2px solid var(--fadmv-navy);
}

.fadmv-state{
	border:1px solid var(--fadmv-line);border-radius:var(--fadmv-radius);
	padding:1.5em 1.7em;margin:0 0 1.2em;background:var(--fadmv-bg);
	/* Anchor links land under a sticky theme header without this. */
	scroll-margin-top:90px;
}
.fadmv-state h3{margin-bottom:.3em}
.fadmv-state h4{
	margin:1.3em 0 .5em;font-size:.95rem;letter-spacing:.02em;
	text-transform:uppercase;color:var(--fadmv-ink-2);font-family:inherit;font-weight:700;
}
.fadmv-state-meta{font-size:.95rem;color:var(--fadmv-ink-2);margin-bottom:.3em}
.fadmv-state-meta .fadmv-pill{vertical-align:baseline}

.fadmv-howto{margin:.4em 0 0;padding-left:1.4em}
.fadmv-howto li{margin-bottom:.65em;line-height:1.58}
.fadmv-howto li::marker{color:var(--fadmv-navy);font-weight:700}

.fadmv-golink{
	display:inline-block;margin-left:.4em;padding:.2em .7em;
	border:1px solid var(--fadmv-navy);border-radius:999px;
	font-size:.84rem;font-weight:650;text-decoration:none;white-space:nowrap;
}
.fadmv-golink:hover{background:var(--fadmv-navy);color:#fff}

.fadmv-guide-foot{margin-top:2em;padding-top:1.2em;border-top:1px solid var(--fadmv-line)}

/* Hidden by the filter. */
.fadmv-state[hidden],tr[hidden]{display:none!important}

@media (max-width:640px){
	.fadmv-state{padding:1.2em 1.1em}
	.fadmv-price-list li{flex-direction:column;gap:.15em}
	.fadmv-price-list .fadmv-amt{text-align:left}
	.fadmv-golink{margin-left:0;margin-top:.35em}
}

/* ------------------------------------------------- disclosures */

.fadmv-legal{
	margin:2.4em 0 0;padding:1.5em 1.7em;
	background:var(--fadmv-bg-2);border:1px solid var(--fadmv-line);
	border-radius:var(--fadmv-radius);
}
.fadmv-legal h3{margin-top:0;font-size:1.08rem}
.fadmv-legal-list{margin:1em 0 0}
.fadmv-legal-list dt{
	font-weight:700;color:var(--fadmv-navy);margin:1em 0 .2em;font-size:.95rem;
}
.fadmv-legal-list dt:first-child{margin-top:0}
.fadmv-legal-list dd{
	margin:0;font-size:.92rem;line-height:1.6;color:var(--fadmv-ink-2);
}
@media (max-width:640px){
	.fadmv-legal{padding:1.2em 1.1em}
}
@media print{
	.fadmv-legal{background:none;border-color:#999}
}

/* ------------------------------------------------- service detail page */

.fadmv-service{max-width:860px}
.fadmv-lede{font-size:1.14rem;line-height:1.6;color:var(--fadmv-ink-2)}
.fadmv-sv{margin:0 0 2.6em}
.fadmv-sv h2{
	margin:0 0 .6em;padding-bottom:.35em;
	border-bottom:2px solid var(--fadmv-line);
}
.fadmv-sv h3{font-size:1.06rem;margin:0 0 .35em}

.fadmv-callout{
	background:var(--fadmv-bg-2);border-left:4px solid var(--fadmv-navy);
	padding:1em 1.25em;border-radius:0 var(--fadmv-radius-sm) var(--fadmv-radius-sm) 0;
	font-size:1rem;
}
.fadmv-callout.is-warn{border-left-color:var(--fadmv-warn);background:rgba(176,106,10,.07)}

.fadmv-ticks{list-style:none;margin:1em 0 0;padding:0}
.fadmv-ticks li{position:relative;padding:0 0 0 1.6em;margin:0 0 .75em;line-height:1.6}
.fadmv-ticks li::before{
	content:"";position:absolute;left:.1em;top:.55em;width:.5em;height:.5em;
	border-radius:50%;background:var(--fadmv-gold);
}

.fadmv-flow{list-style:none;counter-reset:fsv;margin:1.2em 0 0;padding:0}
.fadmv-flow li{
	position:relative;counter-increment:fsv;padding:0 0 1.2em 3em;margin:0 0 1.2em;
	border-bottom:1px solid var(--fadmv-line-2);
}
.fadmv-flow li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.fadmv-flow li::before{
	content:counter(fsv);position:absolute;left:0;top:0;
	width:2em;height:2em;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	background:var(--fadmv-navy);color:#fff;font-weight:700;font-size:.9rem;
}
.fadmv-flow li p{margin:0}

.fadmv-split{display:grid;grid-template-columns:1fr 1fr;gap:1.1em;margin-top:1.1em}
.fadmv-split-half{
	background:var(--fadmv-bg-2);border:1px solid var(--fadmv-line);
	border-radius:var(--fadmv-radius-sm);padding:1.2em 1.35em;
}
.fadmv-split-half.is-alt{background:#fff}
.fadmv-split-half p:last-child{margin-bottom:0}

.fadmv-faq{margin-top:1em}
.fadmv-faq-item{
	border:1px solid var(--fadmv-line);border-radius:var(--fadmv-radius-sm);
	margin:0 0 .6em;background:var(--fadmv-bg);
}
.fadmv-faq-item summary{
	cursor:pointer;padding:.95em 1.2em;font-weight:650;color:var(--fadmv-navy);
	list-style:none;position:relative;padding-right:2.6em;
}
.fadmv-faq-item summary::-webkit-details-marker{display:none}
.fadmv-faq-item summary::after{
	content:"+";position:absolute;right:1.1em;top:.82em;
	font-size:1.25rem;line-height:1;color:var(--fadmv-ink-3);
}
.fadmv-faq-item[open] summary::after{content:"\2212"}
.fadmv-faq-item[open] summary{border-bottom:1px solid var(--fadmv-line)}
.fadmv-faq-a{padding:.9em 1.2em 1.1em}
.fadmv-faq-a p{margin:0;color:var(--fadmv-ink-2)}

@media (max-width:640px){
	.fadmv-split{grid-template-columns:1fr}
	.fadmv-flow li{padding-left:2.5em}
	.fadmv-flow li::before{width:1.7em;height:1.7em;font-size:.82rem}
}
