/*!
Theme Name: dmv
Theme URI: https://them.es/starter
Author: dmv
Author URI: 
Description: dmv
Version: 3.6.2
Requires at least: 5.0
Tested up to: 6.9
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Tags: custom-background, custom-colors, featured-images, flexible-header, microformats, post-formats, rtl-language-support, theme-options, translation-ready, accessibility-ready
Text Domain: dmv
*/

/* Don't overwrite this file. Compile "/assets/main.scss" to "/build/main.css" */

/* From http://codex.wordpress.org/CSS */

li#wp-admin-bar-gdl-live-site {
    display: none;
}
html.wp-admin-bar-gdl-live-site-banner-enabled {
    margin-top: 32px !important;
}
body #main {
    margin-top: 0 !important;
}
html {
  scroll-behavior: smooth;
}
div#wrapper {
    overflow: hidden;
}
/*Fonts*/

html body {
	font-family: "Inter Tight", sans-serif;
	font-weight: 400; /* normal text matches the menus; components set their own weights */
	color: #071030;
}
button {
	font-family: "Inter Tight", sans-serif;
	font-weight: 600;
	color: #071030;
}
body h1,
body .title-h1 {
	font-weight: 600;
	font-size: 52px;
	line-height: 60px;
	letter-spacing: -0.04em;
}
@media(max-width:767px) {
	body h1,
	body .title-h1 {
		font-size: 36px;
		line-height: 44px;
		letter-spacing: -0.02em;
	}
}

body .title-h2,
body h2 {
	font-weight: 600;
	font-size: 44px;
	line-height: 52px;
	letter-spacing: -0.04em;
}
.body-12 {
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0;
}
.body-12-uppercase {
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.body-14 {
	font-size:14px;
        font-weight: 500;
	line-height: 20px;
}
.body-14-regular {
	font-size:14px;
        font-weight: 400;
	line-height: 20px;
}
.body-16 {
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
}
.opacity-text {
	color:#071030b8;
}
#breadcrumbs-section {
	padding: 16px 0;
}
.dmv-breadcrumbs {
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
}
.dmv-breadcrumbs a {
	color: rgba(7, 16, 48, 0.64);
	text-decoration: none;
}
.dmv-breadcrumbs a:hover {
	color: #071030;
	text-decoration: underline;
}
.dmv-breadcrumbs-sep {
	color: rgba(7, 16, 48, 0.36);
}
.dmv-breadcrumb-current {
	color: #071030;
	font-weight: 600;
}
@media (max-width: 767px) {
	.dmv-breadcrumbs {
		font-size: 12px;
		white-space: nowrap;
		overflow-x: auto;
		display: block;
	}
}
body .title-h3 {
	font-weight: 600;
	font-size: 32px;
	line-height: 36px;
	letter-spacing: -0.02em;
}
body .title-h4 {
	font-weight: 600;
	font-size: 28px;
	line-height: 32px;
	letter-spacing: 0.02em;
}
body .subtitle-14 {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	letter-spacing: 0;
}
body .subtitle-20 {
	font-weight: 600;
	font-size: 20px;
	line-height: 24px;
	letter-spacing: 0;
}
body .subtitle-24 {
	font-weight: 600;
	font-size: 24px;
	line-height: 28px;
	letter-spacing: -0.02em;
	color:#071030;
}
body .subtitle-28 {
	font-weight: 600;
	font-size: 28px;
	line-height: 32px;
	letter-spacing: -0.02em;
}
body .subtitle-36 {
	font-weight: 600;
	font-size: 36px;
	line-height: 44px;
	letter-spacing: -0.02em;
}
.align-left {
	text-align:left;
}
.align-right {
	text-align:right;
}
.align-center {
	text-align:center;
}
div.button-type-2-semibold-light {
    border-radius: 8px;
    background: #fff;
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    border: none;
    width: max-content;
    transition: all 0.5s;
}
div.button-type-2-semibold-light:hover {
	opacity:0.8;
}
.button-type-2-semibold-light a {
    color: #071030;
    padding: 16px 24px;
    display: block;
    width: 100%;
    height: 100%;
}

.button.button-type-2-gray {
    width: max-content;
}
.button.button-type-2-gray a {
    border-radius: 8px;
    padding: 12px 16px;
    gap: 4px;
    display: flex;
    background: #f6f7f8;
    color:#071030;
    justify-content: center;
}
div.button-type-2-gray:hover {
	opacity:0.8;
}
.button-14-semibold {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	letter-spacing: 0%;
}
.button-16-semibold {
	font-weight: 600;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0%;
}
.button-outline-premium-16 {
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
}
.button-outline-premium-14 {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
}
.button-outline.button-outline-premium-16 a:before,
.button-outline.button-outline-premium-14 a:before {
   	display:none;
}
.button-outline.button-outline-inline {
	margin: 0;
}
.italic {
	font-style:italic;
}


/*Default Container Width*/

@media (min-width: 1240px) {
	body .container {
        	max-width: 1240px;
		padding:0 20px;
    	}
}
main#main.container-fluid {
    padding: 0;
}


/*COLORS*/

.gray-opacity {
    color:#0710305c
}



/*Header styles*/

body nav#header {
    padding: 16px 0 0;
    background: transparent !important;
}
body nav#header .navbar-nav {
	align-items: center;
	gap: 16px;
}

body nav#header .navbar-nav a {
    color: #071030;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0;
    padding:0;
}
body nav#header .navbar-nav a:hover,
body nav#header div.get-premuim-button:hover {
    opacity:0.8;
}
#header div.get-premuim-button,
#footer div.get-premuim-button {
    line-height: 16px;
    border-radius: 8px;
    border: 0px solid;
    font-size: 14px;
    font-weight: 600;
    background: linear-gradient(90deg, #2580FF 0%, #00C51A 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-left:11px;
    position: relative;
    z-index: 1;
    max-height:40px;
}
#header div.get-premuim-button a,
#footer div.get-premuim-button a {
    padding: 10px 16px 11px;
    display: block;
    width: 100%;
    height: 100%;
}
#header div.get-premuim-button:after  {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid transparent;
    border-radius: 8px;
    background: linear-gradient(90deg, rgba(37, 128, 255, 1) 0%, rgba(0, 197, 26, 1) 99%) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
}
#header div.get-premuim-button a:before  {
    content: url(https://dmvprepnow.com/wp-content/uploads/2026/01/icon-premium.png);
    top: 3px;
    position: relative;
    margin-right: 4px;
}
#header .login-button {
    background: #F6F7F8;
    border-radius: 8px;
    opacity: 1;
    padding-top: 6px;
    padding-right: 16px;
    padding-bottom: 6px;
    padding-left: 16px;
    font-size:14px;
    line-height:16px;
    border:none;
    font-weight:600;
}
#header .custom-main-menu-state {
    background: #F6F7F8;
    border-radius: 8px;
    opacity: 1;
    padding-top: 8px;
    padding-right: 16px;
    padding-bottom: 8px;
    padding-left: 16px;
}

#header .custom-main-menu-state > a:before {
    content: url(https://dmvprepnow.com/wp-content/uploads/2026/01/icon-wrapper.png);
    top: 3px;
    position: relative;
    margin-right: 4px;
}
#header .lang-ru-item > a:before {
    content: url(https://dmvprepnow.com/wp-content/uploads/2026/01/icon-rus.png);
    top: 3px;
    position: relative;
    margin-right: 4px;
}

#header .dropdown-toggle:after {
    border: none !important;
    content: url(https://dmvprepnow.com/wp-content/uploads/2026/01/icon-arrow.png);
    margin: 0;
    margin-left: 1px;
    vertical-align: unset;
    top: 3px;
    position: relative;
}

html a.navbar-brand img {
    height: 32px;
}
.header-container-left{
    display: flex;
    background: #fff;
    border-radius: 8px;
    border: 1px solid rgba(7, 16, 48, 0.08);
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.08);
    padding: 2px 8px;
    border-width: 1px;
    gap: 16px;
}
.header-container-right {
    display: flex;
    background: #fff;
    border-radius: 8px;
    border: 1px solid rgba(7, 16, 48, 0.08);
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.08);
    padding: 3px 3px 3px 16px;
    border-width: 1px;
    gap: 5px;
}
body .header-container.container {
    flex-wrap: wrap;
    gap: 10px;
}

/*END HEADER*/


.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	max-width: 96%; /* Image does not overflow the content area */
	padding: 5px 3px 10px;
	text-align: center;
}
.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}
.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}
.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	width: 50%;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	background: none;
	display: inline-block;
	max-width: 100%;
}

.gallery-item a img {
	display: block;
	-webkit-transition: -webkit-filter 0.2s ease-in;
	transition: -webkit-filter 0.2s ease-in;
	transition: filter 0.2s ease-in;
	transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
	-webkit-filter: opacity(60%);
	filter: opacity(60%);
}

.gallery-caption {
	display: block;
	text-align: left;
	padding: 0 10px 0 0;
	margin-bottom: 0;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.bypostauthor {
	font-weight: bold;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* ── Quiz Navigator: answered dots = white cards with tinted outline
   (Figma 457-8424; the current/locked states live in the Customizer CSS) ── */
[class*="qsm-quiz-navigator-answers-wrap-"] .qsm-pages-number.qsm-nav-correct,
[class*="qsm-quiz-navigator-answers-wrap-"] .qsm-pages-number.qsm-nav-correct.qsm-navigator-page-status-completed {
	background: #fff !important;
	border: 1px solid rgba(34, 204, 107, 0.4) !important;
	color: #22cc6b !important;
}

[class*="qsm-quiz-navigator-answers-wrap-"] .qsm-pages-number.qsm-nav-incorrect,
[class*="qsm-quiz-navigator-answers-wrap-"] .qsm-pages-number.qsm-nav-incorrect.qsm-navigator-page-status-completed {
	background: #fff !important;
	border: 1px solid rgba(229, 72, 77, 0.4) !important;
	color: #e5484d !important;
}

/* ── Hide Previous button in quiz ── */
.qmn_quiz_container .mlw_previous,
.qmn_quiz_container .qsm-previous,
.qmn_quiz_container .qsm-previous-question,
.qmn_quiz_container .mlw_breeze_previous,
.qmn_quiz_container .fortune-previous-btn,
.qmn_quiz_container .sigma-previous-btn,
.qmn_quiz_container .pixel-previous-btn {
	display: none !important;
}

/* ── Hide default progress legend, show custom score bar ── */
.qsm-quiz-navigator-question-status {
	display: none !important;
}

.qsm-nav-score {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 8px 4px 12px;
	font-size: 14px;
	color: #18230f;
}

.qsm-nav-score-incorrect,
.qsm-nav-score-correct {
	display: flex;
	align-items: center;
	gap: 6px;
}

.qsm-nav-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}

.qsm-nav-dot-incorrect { background: #ef4444; }
.qsm-nav-dot-correct   { background: #22c55e; }

/* "Explain more" under the inline explanation: quiet link-button, then the
   fetched deeper text. */
.dmv-explain-more {
	display: block;
	margin-top: 6px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	font-family: "Inter Tight", sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: #2580ff;
	font-style: normal;
}
.dmv-explain-more:hover { text-decoration: underline; }
.dmv-explain-more:disabled { color: #9ca3af; cursor: default; }
.dmv-explain-more-text {
	display: block;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed rgba(7,16,48,0.12);
	font-size: 13px;
	line-height: 19px;
	color: #071030;
}

/* "Ask AI" floating chat (Pro) - standalone window like the competitor's
   helper box; lives outside the quiz form so clicks never touch QSM. */
.dmv-ai-fab {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 10040;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	border: none;
	border-radius: 999px;
	background: #2580ff;
	color: #fff;
	font-family: "Inter Tight", sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(7,16,48,0.25);
}
.dmv-ai-fab:hover { background: #1c6fe6; }
/* Whole pill is one click target - children must never swallow the event. */
.dmv-ai-fab * { pointer-events: none; }
.dmv-ai-fab-icon { font-size: 18px; line-height: 1; }
.dmv-ai-window {
	display: none;
	position: fixed;
	right: 24px;
	bottom: 88px;
	z-index: 10050;
	width: 370px;
	max-width: calc(100vw - 32px);
	max-height: min(560px, 70vh);
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(7,16,48,0.1);
	border-radius: 16px;
	box-shadow: 0 20px 60px rgba(7,16,48,0.28);
	overflow: hidden;
}
.dmv-ai-window.is-open { display: flex; }
.dmv-ai-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 16px; background: #071030; }
.dmv-ai-head-title { font-family: "Inter Tight", sans-serif; font-size: 15px; font-weight: 600; color: #fff; }
.dmv-ai-close { background: none; border: none; color: rgba(255,255,255,0.7); font-size: 22px; line-height: 1; cursor: pointer; padding: 0 2px; }
.dmv-ai-close:hover { color: #fff; }
.dmv-ai-messages { flex: 1; min-height: 120px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; padding: 14px; }
.dmv-ai-msg { font-family: "Inter Tight", sans-serif; font-size: 14px; line-height: 20px; border-radius: 12px; padding: 9px 12px; max-width: 88%; white-space: pre-wrap; }
.dmv-ai-msg.is-user { align-self: flex-end; background: #2580ff; color: #fff; border-bottom-right-radius: 4px; }
.dmv-ai-msg.is-ai { align-self: flex-start; background: #f2f4f7; color: #071030; border-bottom-left-radius: 4px; }
.dmv-ai-form { display: flex; gap: 8px; padding: 12px 14px; border-top: 1px solid rgba(7,16,48,0.08); }
.dmv-ai-input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid rgba(7,16,48,0.14); border-radius: 10px; font-family: "Inter Tight", sans-serif; font-size: 14px; color: #071030; }
.dmv-ai-input:focus { outline: none; border-color: #2580ff; }
.dmv-ai-send { padding: 10px 16px; border: none; border-radius: 10px; background: #2580ff; color: #fff; font-family: "Inter Tight", sans-serif; font-size: 14px; font-weight: 600; cursor: pointer; }
.dmv-ai-send:disabled { opacity: 0.5; cursor: default; }
.dmv-ai-lock { padding: 22px 18px; text-align: center; }
.dmv-ai-lock-title { font-family: "Inter Tight", sans-serif; font-size: 16px; font-weight: 600; color: #071030; margin: 0 0 8px; }
.dmv-ai-lock-text { font-family: "Inter Tight", sans-serif; font-size: 14px; line-height: 20px; color: rgba(7,16,48,0.64); margin: 0 0 16px; }
.dmv-ai-lock-cta { display: inline-block; padding: 11px 20px; border-radius: 10px; background: #22cc6b; color: #fff; font-family: "Inter Tight", sans-serif; font-size: 14px; font-weight: 600; text-decoration: none; }
.dmv-ai-lock-cta:hover { background: #1eb85f; color: #fff; }
.dmv-ai-msg .dmv-ai-upgrade { color: #2580ff; font-weight: 600; text-decoration: underline; }
@media (max-width: 767px) {
	.dmv-ai-fab { right: 12px; bottom: 150px; padding: 11px 14px; }
	.dmv-ai-fab-label { display: none; }
	.dmv-ai-window { right: 8px; left: 8px; bottom: 8px; width: auto; max-height: 72vh; }
}
/* AI bubble must not float over the opened "..." bottom sheet */
body.dmv-qsheet-open .dmv-ai-fab { display: none !important; }

/* ── Search results + 404 (shared quick-links) ── */
/* body-prefixed: the generic `body .container { padding: 0 20px }` rule for
   wide screens outranks a bare class and was eating these paddings */
body .dmv-search-page.container { padding: 48px 20px 80px; max-width: 760px; }
body .dmv-404.container { padding: 72px 20px 140px; max-width: 760px; }
.dmv-search-head h1 { margin-bottom: 20px; }
.dmv-search-form { display: flex; gap: 8px; max-width: 520px; }
.dmv-search-input { flex: 1; min-width: 0; padding: 13px 16px; border: 1px solid rgba(7,16,48,0.14); border-radius: 12px; font-family: "Inter Tight", sans-serif; font-size: 15px; color: #071030; background: #fff; }
.dmv-search-input:focus { outline: none; border-color: #2580ff; }
.dmv-search-btn { padding: 13px 22px; border: none; border-radius: 12px; background: #071030; color: #fff; font-family: "Inter Tight", sans-serif; font-size: 15px; font-weight: 600; cursor: pointer; }
.dmv-search-btn:hover { opacity: 0.85; }
.dmv-search-count { margin: 18px 0 10px; }
.dmv-search-results { display: flex; flex-direction: column; gap: 10px; }
.dmv-search-card { display: block; background: #fff; border: 1px solid rgba(7,16,48,0.08); border-radius: 14px; padding: 18px 20px; text-decoration: none; color: #071030; transition: border-color 0.2s; }
.dmv-search-card:hover { border-color: #2580ff; color: #071030; }
.dmv-search-card-title { display: block; margin-bottom: 2px; }
.dmv-search-card-url { display: block; color: #2580ff; margin-bottom: 6px; word-break: break-all; }
.dmv-search-card-excerpt { display: block; color: rgba(7,16,48,0.64); }
.dmv-search-pagination { margin-top: 24px; }
.dmv-search-pagination .nav-links { display: flex; gap: 6px; }
.dmv-search-pagination .page-numbers { padding: 8px 14px; border-radius: 8px; background: #f6f7f8; color: #071030; text-decoration: none; font-weight: 600; font-size: 14px; }
.dmv-search-pagination .page-numbers.current { background: #071030; color: #fff; }
.dmv-search-empty { margin-top: 24px; }
.dmv-quick-links { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.dmv-quick-link { display: inline-block; padding: 11px 18px; border-radius: 10px; background: #f6f7f8; color: #071030; text-decoration: none; font-family: "Inter Tight", sans-serif; font-size: 14px; font-weight: 600; }
.dmv-quick-link:hover { background: #eceef0; color: #071030; }
/* 404 specifics */
.dmv-404 { text-align: center; }
.dmv-404-code { font-size: 72px; font-weight: 700; letter-spacing: 4px; margin-bottom: 16px; }
.dmv-404-sub { max-width: 480px; margin: 14px auto 36px; color: rgba(7,16,48,0.72); }
.dmv-404-state-cta { display: inline-block; margin-bottom: 36px; padding: 13px 22px; border-radius: 12px; background: #22cc6b; color: #fff; text-decoration: none; font-family: "Inter Tight", sans-serif; font-size: 15px; font-weight: 600; }
.dmv-404-state-cta:hover { background: #1eb85f; color: #fff; }
.dmv-404-search { display: flex; justify-content: center; margin-bottom: 8px; }
.dmv-404-search .dmv-search-form { width: 100%; max-width: 460px; }
.dmv-404-or { margin: 44px 0 0; }
.dmv-404 .dmv-quick-links { justify-content: center; }

/* ── Mobile quiz UX pass (2026-07-25, owner feedback) ── */
/* Next/Submit arrow ships as a dark data-uri SVG - invisible on the green
   button; recolor to white (all viewports). */
.qmn_pagination .qsm-next-btn::after,
.qmn_pagination .qsm-submit-btn::after { filter: brightness(0) invert(1); opacity: 0.95; }
@media (max-width: 767px) {
	/* breathing room between the site header and the quiz card
	   (!important: the focus-mode block later in this file zeroes it) */
	body.dmv-mobile-quiz section.quiz { margin-top: 10px !important; }
	/* one gray surface: slim side gutters, no empty tail inside the card
	   (the 130px bottom reserve moved out of the card into #main below) */
	body.dmv-mobile-quiz .quiz-container { padding: 4px 8px 12px !important; }
	body.dmv-mobile-quiz .quiz-content-item { padding: 16px 14px !important; border-radius: 14px; }
	body.dmv-mobile-quiz #main { padding-bottom: 175px !important; }
	/* SEO heading rendered double-spaced (desktop 52px line-height leaked in) */
	.dmv-seo-about h2 { line-height: 1.3; }
	/* One fixed bottom panel: Next (QSM pagination, moved into .dmv-qbar by
	   dmv-mobile-quiz.js) + All tests/Restart - separate fixed elements slid
	   over each other while the mobile browser toolbar collapsed on scroll. */
	body.dmv-mobile-quiz .dmv-qbar { box-shadow: 0 -8px 24px rgba(7,16,48,0.08); }
	body.dmv-mobile-quiz .dmv-qbar .qmn_pagination {
		position: static !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		border: 0 !important;
	}
	/* The designed mobile bar is Next + All tests/Restart only. */
	body.dmv-mobile-quiz .dmv-qbar .qsm-previous-btn { display: none !important; }
	body.dmv-mobile-quiz .dmv-qbar .qmn_pagination a,
	body.dmv-mobile-quiz .dmv-qbar .qmn_pagination button { margin-bottom: 8px; }
	/* The theme auto-starts every quiz - QSM's leftover gray "Start Quiz"
	   button has no job on mobile and only clutters the merged panel. */
	body.dmv-mobile-quiz .dmv-qbar .qsm-start-btn { display: none !important; }
	/* Next state (container class mirrored to body by dmv-mobile-quiz.js):
	   gray + disabled until the question is answered, green after. */
	body.dmv-mobile-quiz.dmv-awaiting-answer .dmv-qbar .qsm-next-btn {
		display: block !important;
		background: #e8ebf0 !important;
		color: rgba(7, 16, 48, 0.4) !important;
		pointer-events: none;
		cursor: not-allowed;
	}
	body.dmv-mobile-quiz.dmv-awaiting-answer .dmv-qbar .qsm-next-btn::after { opacity: 0.4; }
	body.dmv-mobile-quiz:not(.dmv-awaiting-answer) .dmv-qbar .qsm-next-btn {
		display: block !important;
		background: #22cc6b !important;
		color: #fff !important;
	}
	/* Results card on screen: no Next/Submit in the bar (All tests/Restart stay) */
	body.dmv-quiz-finished .dmv-qbar .qmn_pagination { display: none !important; }
	/* Compact first screen: question + all four answers visible at once */
	body.dmv-mobile-quiz .dmv-question-counter { margin-bottom: 10px !important; }
	body.dmv-mobile-quiz .quiz_section .qmn_mc_answer_wrap { padding: 12px 14px !important; }
	body.dmv-mobile-quiz .qmn_radio_answers { gap: 6px !important; }
	body.dmv-mobile-quiz .dmv-mobile-score { padding: 6px 2px 0; font-size: 12px; }
}

/* Reassurance note appended under the inline explanation of a missed question. */
.dmv-miss-note {
	display: block;
	margin-top: 8px;
	font-size: 13px;
	line-height: 18px;
	color: #6b7280;
	font-style: italic;
}

/* ── Mobile: homepage sticky CTA group (Figma sticky frame) ── */
.dmv-mobile-sticky-cta { display: none; }
@media (max-width: 767px) {
	.dmv-mobile-sticky-cta { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; background: #fff; border-radius: 16px 16px 0 0; box-shadow: 0 -6px 24px rgba(7, 16, 48, 0.12); padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
	.dmv-mobile-sticky-cta .dmv-msc-state { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 13px 16px; margin: 0 0 10px; border: 1px solid rgba(7, 16, 48, 0.1); border-radius: 12px; background: #f6f7f8; font-family: "Inter Tight", sans-serif; font-size: 16px; font-weight: 600; color: #071030; }
	.dmv-mobile-sticky-cta .dmv-msc-start { display: block; width: 100%; padding: 14px 16px; border-radius: 12px; background: #2bb75c; text-align: center; font-family: "Inter Tight", sans-serif; font-size: 17px; font-weight: 600; color: #fff; text-decoration: none; }
	body.dmv-has-sticky-cta { padding-bottom: 130px; }
}

/* ── Mobile: exam mode chrome (Figma exam frame) ── */
.dmv-qbar-timer { display: none; }
@media (max-width: 767px) {
	body.dmv-exam-mode.dmv-mobile-quiz .dmv-qbar-timer { display: flex; align-items: center; justify-content: space-between; flex: 0 0 100%; width: 100%; order: -1; padding: 2px 4px 10px; font-family: "Inter Tight", sans-serif; }
	body.dmv-exam-mode.dmv-mobile-quiz .qmn_pagination { flex-wrap: wrap; }
	.dmv-qbar-timer span { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(7, 16, 48, 0.5); }
	.dmv-qbar-timer strong { font-size: 16px; font-weight: 700; color: #071030; font-variant-numeric: tabular-nums; }
	.dmv-qbar-timer strong.dmv-exam-timer-low { color: #dc2626; }
	/* topbar: mistakes chip on the left, hide the timer (it is duplicated at the bottom) */
	body.dmv-exam-mode .dmv-exam-topbar { padding: 10px 16px; }
	body.dmv-exam-mode.dmv-mobile-quiz .dmv-exam-timer { display: none; }
	body.dmv-exam-mode .dmv-exam-topbar .dmv-exam-mistakes { margin-right: auto; }
}

/* ── Mobile: fullscreen menu + single-row header (Figma menu frames) ── */
/* Breakpoint 899px: in the 768-899 range the full header set does not fit in one row */
.dmv-mm-burger { display: none; }
.dmv-mm { display: none; }
@media (max-width: 899px) {
	/* header: only logo + burger, everything else lives in the overlay */
	#header .header-container { display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; }
	#header .navbar-toggler,
	#header #navbar,
	#header #navbar-lang,
	#header #bs-megadropdown-tabs,
	#header .get-premuim-button,
	#header .login-button,
	#header .dmv-lang-switch,
	#header .dmv-exam-badge { display: none !important; }
	#header .header-container-left, #header .header-container-right { display: flex; align-items: center; }
	.dmv-mm-burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 4px; width: 44px; height: 44px; padding: 0 10px; border: 1px solid rgba(7, 16, 48, 0.1); border-radius: 50%; background: #f6f7f8; }
	.dmv-mm-burger span { display: block; height: 2px; border-radius: 2px; background: #071030; }

	.dmv-mm { display: block; position: fixed; inset: 0; z-index: 10060; background: #fff; }
	.dmv-mm[hidden] { display: none; }
	body.dmv-mm-open { overflow: hidden; }
	.dmv-mm-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid rgba(7, 16, 48, 0.06); }
	.dmv-mm-logo img { height: 32px; width: auto; }
	.dmv-mm-close { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f6f7f8; font-size: 24px; line-height: 1; color: #071030; }
	.dmv-mm-body { height: calc(100% - 65px); overflow-y: auto; padding: 16px 16px calc(24px + env(safe-area-inset-bottom)); }
	.dmv-mm-panel { display: none; }
	.dmv-mm-panel.is-active { display: block; }
	.dmv-mm-back { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 14px; padding: 10px 18px; border: 1px solid rgba(7, 16, 48, 0.1); border-radius: 999px; background: #fff; font-family: "Inter Tight", sans-serif; font-size: 15px; font-weight: 600; color: #071030; }
	.dmv-mm-row { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 14px 12px; border: 0; border-radius: 12px; background: none; text-align: left; font-family: "Inter Tight", sans-serif; font-size: 17px; font-weight: 600; color: #071030; text-decoration: none; }
	.dmv-mm-row:active { background: #f6f7f8; }
	.dmv-mm-row-small { font-size: 15px; font-weight: 500; padding: 11px 12px; }
	.dmv-mm-chev { color: rgba(7, 16, 48, 0.35); font-size: 20px; }
	.dmv-mm-sep { height: 1px; margin: 10px 0; background: rgba(7, 16, 48, 0.06); }
	.dmv-mm-lang { padding: 4px 12px 12px; }
	.dmv-mm-lang .dmv-lang-switch { display: flex !important; gap: 10px; font-size: 15px; font-weight: 600; }
	.dmv-mm-cta { display: block; margin: 8px 0 10px; padding: 14px 16px; border-radius: 12px; background: #2bb75c; text-align: center; font-family: "Inter Tight", sans-serif; font-size: 16px; font-weight: 600; color: #fff; text-decoration: none; }
	.dmv-mm-login { display: block; padding: 12px; text-align: center; font-family: "Inter Tight", sans-serif; font-size: 15px; font-weight: 600; color: #071030; text-decoration: none; }
	.dmv-mm-card { display: flex; align-items: center; gap: 14px; width: 100%; margin: 0 0 10px; padding: 14px 16px; border: 1px solid rgba(7, 16, 48, 0.08); border-radius: 16px; background: #f6f7f8; text-align: left; font-family: "Inter Tight", sans-serif; font-size: 17px; font-weight: 600; color: #071030; }
	.dmv-mm-card img { flex: 0 0 48px; }
	.dmv-mm-card span:first-of-type { flex: 1; }
	.dmv-mm-card.is-current { background: #e9f9ef; border-color: rgba(43, 183, 92, 0.35); }
	.dmv-mm-state { display: flex; align-items: center; justify-content: space-between; padding: 13px 12px; border-radius: 12px; font-family: "Inter Tight", sans-serif; font-size: 16px; font-weight: 500; color: #071030; text-decoration: none; }
	.dmv-mm-state:active { background: #f6f7f8; }
	.dmv-mm-state.is-current { background: #e9f9ef; font-weight: 600; }
	.dmv-mm-check { color: #2bb75c; font-size: 18px; font-weight: 700; }
}

/* Mobile: long hero H1 (how-to/state pages) - 44px wrapped into 5 lines */
@media (max-width: 767px) {
	.left-column-overview h1.title-h2 { font-size: 30px; line-height: 38px; letter-spacing: -0.6px; }
}

/* Mobile: /pro* pricing - the duration chip overlapped the plan title,
   the Family email form squeezed the input down to ~68px */
@media (max-width: 767px) {
	/* duration is already in the plan name (7-Day/30-Day/1-Year) - hide the chip */
	.pro-plan-card .pro-plan-duration { display: none; }
	.dmv-notify-form { flex-wrap: wrap; }
	.dmv-notify-form input[type="email"] { flex: 1 1 100%; min-width: 0; }
	.dmv-notify-form button, .dmv-notify-form [type="submit"] { flex: 1 1 100%; }
}

/* Mobile: headings in the blog article body closer to the design (24px) */
@media (max-width: 767px) {
	.post-content h2 { font-size: 24px; line-height: 32px; }
	.post-content h3 { font-size: 19px; line-height: 26px; }
}

/* ── Account chip + dropdown (Figma account frames) ── */
.dmv-account-chip-wrap { position: relative; }
.dmv-account-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border: 1px solid rgba(7, 16, 48, 0.08); border-radius: 999px; background: #fff; font-family: "Inter Tight", sans-serif; cursor: pointer; }
.dmv-account-avatar { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #a8e6a1; color: #1a7a44; font-size: 14px; font-weight: 700; flex: 0 0 auto; }
.dmv-account-name { font-size: 14px; font-weight: 600; color: #2bb75c; max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dmv-account-caret { color: rgba(7, 16, 48, 0.4); font-size: 11px; }
.dmv-account-menu { position: absolute; top: calc(100% + 8px); right: 0; min-width: 190px; padding: 8px; border: 1px solid rgba(7, 16, 48, 0.08); border-radius: 12px; background: #fff; box-shadow: 0 12px 32px rgba(7, 16, 48, 0.1); z-index: 10010; }
.dmv-account-menu a { display: block; padding: 10px 14px; border-radius: 8px; font-family: "Inter Tight", sans-serif; font-size: 14px; font-weight: 600; color: #071030; text-decoration: none; white-space: nowrap; }
.dmv-account-menu a:hover { background: #f6f7f8; color: #071030; }
@media (max-width: 899px) {
	.dmv-account-chip-wrap { display: none; } /* on mobile the account lives in the fullscreen menu */
	.dmv-mm-account { display: flex; align-items: center; gap: 10px; padding: 10px 12px 4px; }
	.dmv-mm-account-name { font-family: "Inter Tight", sans-serif; font-size: 16px; font-weight: 700; color: #2bb75c; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* ── Header: single thin font + one row across all desktop widths ── */
#header .dmv-exam-badge { font-weight: 500; }
#header .login-button { font-weight: 500; }
#header .dmv-account-name { font-weight: 500; }
#header .dmv-lang-switch a { font-weight: 500; }
#header div.get-premuim-button a { font-weight: 500; }
#header .custom-main-menu-state .nav-link,
#header .navbar-nav .nav-link { font-weight: 500; }

/* from 900px and wider the header never folds into two rows */
@media (min-width: 900px) {
	body .header-container.container { flex-wrap: nowrap; gap: 8px; }
	.header-container-left, .header-container-right { flex-wrap: nowrap; }
	#header .dmv-exam-badge { white-space: nowrap; }
}
/* compression at medium widths so everything fits neatly */
@media (min-width: 900px) and (max-width: 1280px) {
	html a.navbar-brand img { height: 28px; }
	.header-container-left { gap: 8px; padding: 2px 6px; }
	.header-container-right { gap: 4px; padding: 3px 3px 3px 10px; }
	#header .custom-main-menu-state .nav-link,
	#header .navbar-nav .nav-link { font-size: 13px; padding-left: 10px; padding-right: 10px; }
	#header .dmv-exam-badge { font-size: 12.5px; padding: 8px 8px; }
	#header .dmv-lang-switch { font-size: 12.5px; }
	#header div.get-premuim-button a { font-size: 13px; padding: 9px 10px 10px; }
	#header .login-button { font-size: 13px; padding-left: 10px; padding-right: 10px; }
	.dmv-account-chip { padding: 4px 8px 4px 4px; gap: 6px; }
	.dmv-account-avatar { width: 26px; height: 26px; font-size: 12px; }
	.dmv-account-name { font-size: 13px; max-width: 96px; }
}
@media (min-width: 900px) and (max-width: 1060px) {
	#header div.get-premuim-button a:before { content: none; } /* the crown icon ate up width */
	#header div.get-premuim-button a { white-space: nowrap; }
	/* exam badge - the least important element, at narrow widths it yields space to the buttons */
	#header .dmv-exam-badge { display: none; }
	.dmv-account-name { max-width: 72px; }
}

/* ── Header: equal element heights (40px) in 52px containers ── */
body .header-container.container { align-items: center; }
.header-container-left, .header-container-right { height: 52px; align-items: center; }
#header .dmv-exam-badge { display: inline-flex; align-items: center; height: 40px; padding: 0 12px; }
#header .dmv-lang-switch { height: 40px; align-items: center; }
#header div.get-premuim-button { height: 40px; max-height: 40px; display: flex; align-items: center; }
#header div.get-premuim-button a { padding-top: 0; padding-bottom: 0; display: inline-flex; align-items: center; height: 100%; }
#header .login-button { display: inline-flex; align-items: center; height: 40px; padding-top: 0; padding-bottom: 0; }
.dmv-account-chip { height: 40px; padding: 0 12px 0 5px; }
#header .custom-main-menu-state { height: 40px; display: flex; align-items: center; padding-top: 0; padding-bottom: 0; }
#header .custom-main-menu-state .nav-link { padding-top: 0; padding-bottom: 0; }
#header #navbar .navbar-nav .nav-link { display: inline-flex; align-items: center; height: 40px; padding-top: 0; padding-bottom: 0; }
/* inline-flex collapsed the spaces around <b> inside the badge */
#header .dmv-exam-badge b { margin: 0 4px; }

/* ── Mobile focus mode on test pages (Figma test-preview / owner decision):
   nothing except the header and the test itself. JS sets the dmv-mobile-quiz class only
   when the quiz is actually rendered (locked pages keep all the marketing). ── */
@media (max-width: 899px) {
	body.dmv-mobile-quiz #breadcrumbs-section,
	body.dmv-mobile-quiz section.hero,
	body.dmv-mobile-quiz section.full-access,
	body.dmv-mobile-quiz #footer { display: none !important; }
	/* the quiz starts right under the header, question+answers - on one screen */
	body.dmv-mobile-quiz section.quiz { padding-top: 0; margin-top: 0; }
	body.dmv-mobile-quiz .quiz-container { padding-top: 4px; }
	body.dmv-mobile-quiz .qsm_quiz_question,
	body.dmv-mobile-quiz .quiz_section .mlw_qmn_question { font-size: 16px; line-height: 1.3; margin: 4px 0 8px; }
	body.dmv-mobile-quiz .qmn_mc_answer_wrap { margin-bottom: 6px; }
	/* push the content up so the fixed panels do not cover the last answer */
	body.dmv-mobile-quiz #main { padding-bottom: 150px; }
}

/* ── Next question: always visible; gray before answering, green after (owner decision) ── */
body .qmn_quiz_container.qsm-awaiting-answer .mlw_custom_next.qsm-next-btn,
.qmn_quiz_container.qsm-awaiting-answer .mlw_custom_next {
	display: inline-block !important;
	background: #e8ebf0 !important;
	color: rgba(7, 16, 48, 0.4) !important;
	pointer-events: none;
	cursor: not-allowed;
}
.qmn_quiz_container.qsm-awaiting-answer .mlw_custom_next::after { opacity: 0.4; }
body .qmn_quiz_container:not(.qsm-awaiting-answer) .mlw_custom_next.qsm-next-btn,
.qmn_quiz_container:not(.qsm-awaiting-answer) .mlw_custom_next {
	background: #2bb75c !important;
	color: #fff !important;
}
.qmn_quiz_container:not(.qsm-awaiting-answer) .mlw_custom_next:hover {
	background: #249c4e !important;
	color: #fff !important;
}
@media (max-width: 899px) {
	body.dmv-mobile-quiz .qmn_quiz_container.qsm-awaiting-answer .mlw_custom_next { display: block !important; }
}
