.nt-questionnaire-form-wrapper { padding: 120px 0; display: flex; align-items: center; justify-content: center; }
.nt-questionnaire-page { background-color: #b1cae0; }
.nt-questionnaire-wrapper { max-width: 800px; margin: 0 auto; }
.nt-questionnaire-wrapper .nt-page ul { list-style: none; margin: 0; padding: 0; }
.nt-questionnaire-wrapper .nt-page ul li { display: block; border: 6px; border-radius: 4px; background-color: #eef5fa; margin-bottom: 10px; position: relative; overflow: hidden; }
.nt-questionnaire-wrapper .nt-page ul li input { display: none; }
.nt-questionnaire-wrapper .nt-page ul li label { display: block; padding: 12px 20px; cursor: pointer; }
.nt-questionnaire-wrapper .nt-page ul li label span { color: #16133F; font-style: italic; font-size: 13px !important; margin-left: 10px; }
.nt-questionnaire-wrapper .nt-page ul li input:checked + label { background-color: #b1cae0; }
.nt-questionnaire-wrapper .nt-page .question { display: block; font-weight: 700; font-size: 30px; line-height: 1.3; margin: 0 0 50px 0; padding: 0; word-break: break-word; word-wrap: break-word; color: #16133F; }
.nt-questionnaire-wrapper .nt-page { display: none; background-color: white; padding: 15px; border-radius: 20px; margin-top: 10px; box-shadow: 0px 10px 20px -10px rgba(0,0,0,0.3); }
.nt-page button.next, .nt-page button.prev { min-width: 40px; height: 40px; border: none; border-radius: 20px; padding: 0; background-color: #327cbf; color: white; }
.nt-page button.next::after, .nt-page button.prev::after { content: ''; display: block; font-size: 20px; line-height: 30px; margin-bottom: 5px; }
.nt-page button.next::after { content: '→'; }
.nt-page button.prev::after { content: '←'; }
.nt-page .actions { display: flex; justify-content: space-between; }
.nt-progress { background-color: white; padding: 15px; border-radius: 4px; margin-top: 10px; box-shadow: 0px 10px 20px -10px rgba(0,0,0,0.3); display: flex; justify-content: space-between; align-items: center; }
.nt-progress-wrap { background-color: #cee1f2 !important; overflow: hidden; border-radius: 4px; width: 33%; height: 14px; }
.nt-progress-bar { background-color: #1AD6FF !important; height: 14px; }
.nt-steps { font-weight: 600; font-size: 14px; color: #CED1D7; }
.nt-tip { font-size: 14px; color: #16133F; font-style: italic; margin: 15px 0; font-family: "Montserrat",sans-serif; }
.nt-error { display: none; font-size: 14px; color: #bf325c; font-style: italic; margin: 15px 0; font-family: "Montserrat",sans-serif; }
.nt-title { text-align: center; color: #30498e; margin-bottom: 30px; font-family: "Montserrat", Sans-serif; font-size: 40px; font-weight: bold; text-transform: none; font-style: normal; text-decoration: none; line-height: 1.2em; }
.nt-register > div { margin-top: 20px; }
.nt-page button[type="submit"] { text-transform: uppercase; }

.nt-page-content {
	display: flex;
}

.question {
	color: #1C1943;
}

.nt-page-content-img {
	width: 31%;
}

.nt-page-content-text {
	padding: 0px;
	width: 100%;
	position: relative;
	display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.nt-page-content-text .question {
	text-align: center;
}

.nt-questionnaire-wrapper .nt-page {
	padding: 0;
	transition: opacity 0.5s ease-in-out;
}

.nt-questionnaire-wrapper .nt-page ul.nt-page-content-list {
	display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.nt-questionnaire-wrapper .nt-page ul.nt-page-content-list li {
	flex: 1 0 40%;
	margin-bottom: 0;
    box-sizing: border-box;
    background-color: #fff;
    outline: 1px solid #E4E9FA;
    transition: transform 0.3s ease-in-out;
}

.nt-questionnaire-wrapper .nt-page ul li label {
	text-align: center;
	font-weight: 600;
	color: #16133F;
	height: 100%;
	padding: 25px;
	display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

.nt-questionnaire-wrapper .nt-page ul li input:checked + label {
	background-color: unset;
}

.nt-questionnaire-wrapper .nt-page ul li:hover {
	outline: 2px solid #1AD6FF;
	transform: scale(1.1);
}

.nt-page .actions {
	margin-top: 20px;
}

.nt-progress {
	flex-direction: column-reverse;
	box-shadow: unset;
}

.nt-progress-wrap {
	margin-top: 10px;
	background-color: #E4E9FA !important;
	height: 4px;
}

.nt-questionnaire-page .elementor-location-header,
.nt-questionnaire-page header.elementor-location-header,
.nt-questionnaire-page #site-header {
	display: none;
}

.nt-questionnaire-header {
	padding: 20px;
	text-align: left;
	background: #fff;
    border-bottom: 1px solid #dddddd;
}

.nt-questionnaire-header img {
	width: 133px;
}

.actions-wrapper .actions .next {
	bottom: 15px;
    right: 20px;
}

.nt-page-content-img img {
	height: 100%;
    width: auto;
    top: 0;
    right: 0;
}

.nt-page-content-img.right img {
	float: right;
	    height: 110vh;
    margin-top: -123px;
}

.nt-page[data-page="5"] h2 {
	font-weight: 700;
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 50px 0;
    padding: 0;
    word-break: break-word;
    word-wrap: break-word;
    color: #16133F !important;
}

.nt-page[data-page="5"],
.nt-page[data-page="5"] label {
    font-weight: 600;
    color: #16133F !important;
	font-family: "Montserrat", sans-serif !important;
    height: 100%;
	 
}

.nt-page[data-page="5"] .nt-register > div label {
    font-family: "Montserrat", sans-serif !important;
}

.nt-register input {
	border: 1px solid #E4E9FA !important;
}

.nt-questionnaire-page {
	background-color: #fff;
}

.nt-questionnaire-form-wrapper {
	padding: 0 !important;
	background-color: #fff;
	height: 90vh;
}

.nt-title {
	display: none;
}

.nt-questionnaire-wrapper {
	width: 100% !important;
	min-width: 100%;
	max-width: unset;
}

.nt-questionnaire-wrapper .nt-page {
	border-radius: 0;
	margin-top: 0;
}

.nt-questionnaire-wrapper .nt-page[data-page="5"] {
    margin: 0 auto;
}

.nt-questionnaire-page footer {
	display: none;
}

.nt-page-content-img {
	max-height: 90vh;
}

.nt-questionnaire-wrapper .nt-page {
	box-shadow: unset;
}

.nt-register input {
	color: #16133F;
}

.nt-find-tutor-btn {
    background: #0000D6 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 12px 30px !important;
    cursor: pointer;
}

.nt-find-tutor-btn:hover {
    background: #070730 !important;
    color: #FFFFFF !important;
}

.nt-questionnaire-wrapper .nt-register a {
	color: #16133F;
}

.nt-register input::placeholder {
	color: #16133F;
}

.nt-page-content-text-wrapper {
	max-width: none !important;
 	width: 100% !important;
    margin: 0 auto;
}

.nt-page[data-page="5"] .nt-page-content-text-wrapper {
    border: 1px solid #E4E9FA;
    padding: 35px;
    border-radius: 4px;
}

#searchResults {
	width: 100%;
}

@media (max-width: 992px) {
	.nt-page-content-img {
		display: none;
	}

	.nt-questionnaire-wrapper .nt-page ul li label {
		padding: 15px;
	}

	.nt-questionnaire-form-wrapper {
		padding: 15px !important;
		height: unset;
		margin-top: 50px;
	}


	.nt-questionnaire-wrapper .nt-page[data-page="5"] {
		width: 100%;
	}

	.nt-page[data-page="5"] .nt-page-content-text-wrapper {
		padding: 0 20px;
		border: unset;
	}
}
@media (max-width: 768px) {
	.nt-register-fields {
		flex-wrap: unset !important;
		height: unset !important;
		flex-direction: column !important;
	}

	.nt-register-fields-item .iti {
		width: 100%;
	}

	.nt-questionnaire-wrapper .nt-page ul.nt-page-content-list {
		display: block;
	}

	.nt-questionnaire-wrapper .nt-page ul.nt-page-content-list li {
		margin-bottom: 20px;
	}

	.nt-progress-wrap {
		width: 100%;
	}

	.nt-questionnaire-wrapper .nt-page ul li label {
		padding: 25px;
	}

	.nt-questionnaire-wrapper .nt-page ul li:hover {
		transform: scale(1.02);
	}
	
	.nt-questionnaire-header img {
		width: 107px;
	}
}

.nt-register-fields-item .iti {
		width: 100%;
	}

/*
.nt-questionnaire-wrapper .nt-page[data-page="5"] ul.nt-page-content-list li,
.nt-questionnaire-wrapper .nt-page[data-page="1"] ul.nt-page-content-list li {
	flex: 0 0 calc(30% - 10px);
}

.nt-questionnaire-wrapper .nt-page[data-page="5"] ul.nt-page-content-list,
.nt-questionnaire-wrapper .nt-page[data-page="1"] ul.nt-page-content-list {
	justify-content: center;
}
*/

.nt-questionnaire-wrapper .nt-page ul.nt-page-content-list {
    justify-content: center;
}
.nt-questionnaire-wrapper .nt-page ul.nt-page-content-list.five-answers li {
    flex: 0 0 calc(30% - 10px);
}
.nt-questionnaire-wrapper .nt-page ul.nt-page-content-list.four-answers li {
    flex: 0 0 calc(40% - 10px);
}

.nt-register-fields {
	display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    height: 200px;
    gap: 20px;
}

.nt-register-fields-item {
	flex: 1 1 45%;
}

.nt-show-more-btn {
	display: block !important;
    margin: 30px auto 0 auto;
	box-shadow: unset !important;
    color: #000 !important;
    text-shadow: unset !important;
    outline: 1px solid #E4E9FA;
    font-weight: 500 !important;
    font-size: 15px !important;
}

/* Country dropdown */

.iti__country {
    background: #fff !important;
    transition: none !important;
}

.iti__country:hover {
    background: #EFF5FB !important;
}

.iti__highlight {
    background: #EFF5FB !important;
}

.iti__country-list {
    box-shadow: 0 10px 20px rgba(0,0,0,.15) !important;
}

.iti__country,
.iti__highlight,
.iti__country.iti__highlight {
    transform: none !important;
    scale: 1 !important;
    zoom: 1 !important;
    min-height: auto !important;
}

.iti__country:hover,
.iti__country.iti__highlight {
    background: #EFF5FB !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}


/* =========================================================
   STEP 5 REDESIGN — scoped under .nt-q5-redesign
   All rules use !important to win over existing
   .nt-page / theme / Elementor styles.

   FONT: inherits the site's font (set explicitly to be safe).
   Change --nt-q5-font below if you want a different family.
   ========================================================= */

:root {
    --nt-q5-font: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

/* ---------- FULL-WIDTH BREAKOUT ----------
   The questionnaire sits inside an Elementor column with a max-width
   (~520px in your screenshot). To make step 5 span the full viewport,
   we have to neutralise EVERY constraining ancestor, not just .nt-page.
   These rules only apply when step 5 is the active page, so other steps
   are unaffected. */
.nt-questionnaire-form-wrapper:has(.nt-q5-redesign[style*="opacity: 1"]),
.nt-questionnaire-wrapper:has(.nt-q5-redesign[style*="opacity: 1"]),
.tm-search-form:has(.nt-q5-redesign[style*="opacity: 1"]) {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
}

/* Reset the inherited .nt-page wrapper so our card owns the whole area */
.nt-page.nt-q5-redesign {
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    font-family: var(--nt-q5-font) !important;
}

/* Stretch to full viewport width regardless of parent column width */
.nt-q5-redesign {
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 60px 24px !important;
    box-sizing: border-box !important;
    background: #f7f8fc !important;
    font-family: var(--nt-q5-font) !important;
    color: #0b1437 !important;
}
.nt-q5-redesign *,
.nt-q5-redesign *::before,
.nt-q5-redesign *::after {
    font-family: var(--nt-q5-font) !important;
    box-sizing: border-box !important;
}

.nt-q5-redesign .nt-q5-card {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr !important;
    background: #fff !important;
    border: 1px solid #eceff7 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    max-width: 1200px
	min-height: 700px !important;
    width: 100% !important;
    margin: 0 auto !important;
    box-shadow: 0 20px 60px -25px rgba(11,20,55,0.18) !important;
}
@media (max-width: 860px) {
    .nt-q5-redesign .nt-q5-card { grid-template-columns: 1fr !important; }
}

/* LEFT */
.nt-q5-redesign .nt-q5-left { padding: 48px !important; }
@media (max-width: 600px) { .nt-q5-redesign .nt-q5-left { padding: 28px !important; } }

.nt-q5-redesign .nt-q5-progress { display: flex !important; gap: 8px !important; margin-bottom: 24px !important; }
.nt-q5-redesign .nt-q5-progress-seg { flex: 1 !important; height: 6px !important; border-radius: 999px !important; background: #e6e9f2 !important; }
.nt-q5-redesign .nt-q5-progress-seg.filled { background: #0000d6 !important; }

.nt-q5-redesign .nt-q5-step-label { font-size: 13px !important; font-weight: 700 !important; color: #0000d6 !important; letter-spacing: 0.08em !important; margin: 0 0 10px !important; text-transform: uppercase !important; }
.nt-q5-redesign .nt-q5-headline { font-size: 32px !important; line-height: 1.2 !important; font-weight: 800 !important; color: #0b1437 !important; margin: 0 !important; letter-spacing: -0.01em !important; }
.nt-q5-redesign .nt-q5-subline { font-size: 15px !important; color: #5a6175 !important; margin: 10px 0 0 !important; line-height: 1.5 !important; }

.nt-q5-redesign .nt-q5-fields { margin-top: 24px !important; display: flex !important; flex-direction: column !important; gap: 16px !important; }
.nt-q5-redesign .nt-q5-row-2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
@media (max-width: 480px) { .nt-q5-redesign .nt-q5-row-2 { grid-template-columns: 1fr !important; } }

.nt-q5-redesign .nt-q5-field label { display: block !important; font-size: 12px !important; font-weight: 600 !important; color: #0b1437 !important; margin-bottom: 6px !important; }
.nt-q5-redesign .nt-q5-field label span { color: #bf325c !important; }
.nt-q5-redesign .nt-q5-field input[type="text"],
.nt-q5-redesign .nt-q5-field input[type="email"],
.nt-q5-redesign .nt-q5-field input[type="tel"] {
    width: 100% !important;
    height: 44px !important;
    box-sizing: border-box !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    border: 1px solid #e6e9f2 !important;
    background: #fff !important;
    font-size: 14px !important;
    color: #0b1437 !important;
    outline: none !important;
    transition: border-color .15s, box-shadow .15s !important;
}
.nt-q5-redesign .nt-q5-field input::placeholder { color: #a8aec2 !important; }
.nt-q5-redesign .nt-q5-field input:focus { border-color: #0000d6 !important; box-shadow: 0 0 0 4px rgba(0,0,214,0.10) !important; }
.nt-q5-redesign .nt-q5-readonly { padding: 12px 14px !important; background: #f5f6fb !important; border-radius: 8px !important; color: #5a6175 !important; font-size: 14px !important; }

.nt-q5-redesign .nt-q5-consent { display: flex !important; align-items: flex-start !important; gap: 10px !important; cursor: pointer !important; }
.nt-q5-redesign .nt-q5-consent input { margin-top: 3px !important; accent-color: #0000d6 !important; }
.nt-q5-redesign .nt-q5-consent span { font-size: 12px !important; color: #5a6175 !important; line-height: 1.5 !important; }
.nt-q5-redesign .nt-q5-consent a { color: #0b1437 !important; text-decoration: underline !important; }

/* SUBMIT BUTTON — gradient, white text, full-width.
   The double selector .nt-q5-redesign button.nt-q5-submit beats theme button styles. */
.nt-q5-redesign button.nt-q5-submit,
.nt-q5-redesign .nt-q5-submit {
    margin-top: 8px !important;
    width: 100% !important;
    height: 48px !important;
    border: none !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #0000d6 0%, #4a4aff 100%) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    transition: background .15s, transform .05s, box-shadow .15s !important;
    box-shadow: 0 8px 24px -8px rgba(0,0,214,0.6) !important;
    text-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
.nt-q5-redesign button.nt-q5-submit:hover {
    background: linear-gradient(135deg, #0000b3 0%, #3a3aef 100%) !important;
    box-shadow: 0 12px 28px -8px rgba(0,0,214,0.7) !important;
}
.nt-q5-redesign button.nt-q5-submit:active { transform: translateY(1px) !important; }
.nt-q5-redesign .nt-q5-submit-arrow { transition: transform .15s !important; }
.nt-q5-redesign button.nt-q5-submit:hover .nt-q5-submit-arrow { transform: translateX(2px) !important; }

.nt-q5-redesign .nt-q5-trust { display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; font-size: 12px !important; color: #5a6175 !important; margin-top: 4px !important; }

/* RIGHT */
.nt-q5-redesign .nt-q5-right {
    background: linear-gradient(135deg, #eef1ff 0%, #f7f8fc 100%) !important;
    border-left: 1px solid #eceff7 !important;
    padding: 40px !important;
}
@media (max-width: 860px) {
    .nt-q5-redesign .nt-q5-right { border-left: none !important; border-top: 1px solid #eceff7 !important; padding: 24px !important; }
}

.nt-q5-redesign .nt-q5-pill { display: inline-flex !important; align-items: center !important; gap: 8px !important; font-size: 12px !important; font-weight: 700 !important; color: #0000d6 !important; margin-bottom: 12px !important; }
.nt-q5-redesign .nt-q5-dot { width: 8px !important; height: 8px !important; border-radius: 999px !important; background: #22c55e !important; animation: nt-q5-pulse 1.6s ease-in-out infinite !important; }
@keyframes nt-q5-pulse { 0%,100% { opacity: 1; } 50% { opacity: .4; } }

.nt-q5-redesign .nt-q5-right-title { font-size: 16px !important; font-weight: 700 !important; color: #0b1437 !important; margin: 0 0 16px !important; }

.nt-q5-redesign .nt-q5-tutor-list { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.nt-q5-redesign .nt-q5-tutor { display: flex !important; align-items: center !important; gap: 12px !important; background: #fff !important; border: 1px solid #eceff7 !important; border-radius: 12px !important; padding: 12px !important; }
.nt-q5-redesign .nt-q5-tutor-locked { opacity: .7 !important; }
.nt-q5-redesign .nt-q5-avatar { width: 44px !important; height: 44px !important; border-radius: 999px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-weight: 700 !important; color: #0b1437 !important; font-size: 13px !important; flex-shrink: 0 !important; }
.nt-q5-redesign .nt-q5-tutor-info { flex: 1 !important; min-width: 0 !important; }
.nt-q5-redesign .nt-q5-tutor-info.nt-q5-blur { filter: blur(4px) !important; user-select: none !important; }
.nt-q5-redesign .nt-q5-tutor-name { font-size: 14px !important; font-weight: 600 !important; color: #0b1437 !important; margin: 0 !important; }
.nt-q5-redesign .nt-q5-tutor-sub { font-size: 12px !important; color: #5a6175 !important; margin: 2px 0 0 !important; }
.nt-q5-redesign .nt-q5-tutor-rating { font-size: 12px !important; font-weight: 600 !important; color: #0b1437 !important; }
.nt-q5-redesign .nt-q5-tutor-rating span { color: #8a93a8 !important; font-weight: 400 !important; }
.nt-q5-redesign .nt-q5-more { font-size: 12px !important; font-weight: 600 !important; color: #0000d6 !important; }

.nt-q5-redesign .nt-q5-quote { margin-top: 20px !important; background: #fff !important; border: 1px solid #eceff7 !important; border-radius: 12px !important; padding: 16px !important; }
.nt-q5-redesign .nt-q5-stars { color: #f59e0b !important; font-size: 13px !important; font-weight: 600 !important; }
.nt-q5-redesign .nt-q5-stars span { color: #0b1437 !important; margin-left: 6px !important; }
.nt-q5-redesign .nt-q5-quote-text { font-size: 14px !important; color: #0b1437 !important; font-style: italic !important; margin: 8px 0 4px !important; }
.nt-q5-redesign .nt-q5-quote-author { font-size: 12px !important; color: #5a6175 !important; margin: 0 !important; }