/*
 * Niteva — styles for the sections added by the child theme.
 *
 * Palette is taken from the parent theme: #fe5722 accent, #262642 dark,
 * #ffd95e highlight. Classes that already exist in the parent stylesheet
 * (.whychooseus-post, .ourprocess-num, .price-box, .ht-princing-*, .blogbox,
 * .blog-read-more) are reused as-is and only extended where the parent's PRO
 * build carried rules the free one dropped.
 */

/* ------------------------------------------------------------- Container */

/*
 * The theme ships a patched Bootstrap whose `.container` is a hard 1300px from
 * a 1200px viewport up (css/bootstrap.min.css). Between roughly 1200px and
 * 1330px that is wider than the window, so every page scrolled sideways and
 * three-column grids were clipped on the right. Let it shrink.
 */
.container {
	max-width: 100%;
}

/* ------------------------------------------------------- Active menu item */

/*
 * On the front page the parent resets the current item to `color: inherit`
 * (style.css line ~1455, the `.home.blog .ht-main-navigation .current-menu-item`
 * rule), which lands on #444 against the dark header and reads as disabled
 * rather than active. Restore the accent the theme uses everywhere else and add
 * an underline so the state survives on its own, without relying on colour.
 */
.ht-main-navigation li.current-menu-item > a,
.ht-main-navigation li.current_page_item > a,
.ht-main-navigation li.current-menu-ancestor > a,
.ht-main-navigation li.current_page_ancestor > a,
body.home.blog .ht-main-navigation li.current-menu-item > a,
body.home.blog .ht-main-navigation li.current_page_item > a,
body.home.blog .ht-main-navigation li.current_page_ancestor > a,
body.home.blog .header-top-theme .ht-main-navigation li.current-menu-item > a,
body.home.blog .header-top-theme .ht-main-navigation li.current_page_item > a {
	color: #ffd95e;
	background: none;
	box-shadow: inset 0 -3px 0 #ffd95e;
}

/*
 * The parent's hover rule block (style.css ~line 1461) is declared but empty, so
 * top-level items had no hover state at all — on any page. Give them one, and
 * make it distinct from the active state above.
 */
.ht-main-navigation li > a,
body.home.blog .ht-main-navigation li > a {
	transition: color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.ht-main-navigation li:hover > a,
.ht-main-navigation li:focus-within > a,
body.home.blog .ht-main-navigation li:hover > a,
body.home.blog .ht-main-navigation li:focus-within > a,
body.home.blog .header-top-theme .ht-main-navigation li:hover > a {
	background-color: rgba(255, 217, 94, .14);
	box-shadow: inset 0 -3px 0 rgba(255, 217, 94, .55);
}

/*
 * The parent sets `.ht-main-navigation a { border-right-color: currentcolor }`,
 * so the vertical divider between items takes the text colour — and a coloured
 * hover or active state repaints it yellow. Pin it to the divider colour the
 * Customizer emits (#3e3e56) in every state, and drop it on the last item.
 */
.ht-main-navigation li > a,
.ht-main-navigation li:hover > a,
.ht-main-navigation li:focus-within > a,
.ht-main-navigation li.current-menu-item > a,
.ht-main-navigation li.current_page_item > a,
.ht-main-navigation li.current-menu-ancestor > a,
body.home.blog .ht-main-navigation li > a,
body.home.blog .ht-main-navigation li:hover > a,
body.home.blog .ht-main-navigation li.current-menu-item > a,
body.home.blog .ht-main-navigation li.current_page_item > a {
	border-right-color: #3e3e56;
}

.ht-main-navigation li:last-child > a,
body.home.blog .ht-main-navigation li:last-child > a {
	border-right-color: transparent;
}

/* Hovering the active item keeps the accent rather than dropping to white. */
.ht-main-navigation li.current-menu-item:hover > a,
.ht-main-navigation li.current_page_item:hover > a,
body.home.blog .ht-main-navigation li.current-menu-item:hover > a,
body.home.blog .ht-main-navigation li.current_page_item:hover > a {
	color: #ffd95e;
	box-shadow: inset 0 -3px 0 #ffd95e;
}

/* Sub-menu items sit on a light panel, so keep them readable there. */
.ht-main-navigation ul ul li.current-menu-item > a,
.ht-main-navigation ul ul li.current_page_item > a,
body.home.blog .ht-main-navigation ul ul li.current-menu-item > a,
body.home.blog .ht-main-navigation ul ul li.current_page_item > a {
	color: #fe5722;
	box-shadow: none;
}

.niteva-section {
	padding: 70px 0;
}

/*
 * The parent decorates section headings with `h2.ht-section-title::after` and
 * colours it per section id. Ours need their own colours, or they inherit and
 * read as a stray dash.
 */
#niteva-whychooseus-section h2.ht-section-title::after,
#niteva-ourprocess-section h2.ht-section-title::after,
#niteva-pricing-section h2.ht-section-title::after,
#niteva-blog-section h2.ht-section-title::after {
	border-color: #fe5722;
}

#niteva-testimonials-section h2.ht-section-title::after,
#niteva-newsletter-section h2.ht-section-title::after {
	border-color: #ffd95e;
}

.niteva-section .ht-section-title-tagline {
	text-align: center;
	margin-bottom: 45px;
}

/* ------------------------------------------------------------ Why choose us */

.whychooseus-post-boxes {
	display: flex;
	flex-wrap: wrap;
}

.whychooseus-post-boxes > [class*="col-"] {
	display: flex;
	margin-bottom: 24px;
}

.niteva-whychooseus .whychooseus-post {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-bottom: 3px solid transparent;
	transition: border-color .25s ease, transform .25s ease;
}

.niteva-whychooseus .whychooseus-post:hover {
	border-bottom-color: #fe5722;
	transform: translateY(-4px);
}

.niteva-choose-index {
	font-family: 'Poppins', sans-serif;
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
	color: rgba(38, 38, 66, .12);
	margin-bottom: 14px;
}

.niteva-whychooseus .whychooseus-post .details .title {
	font-size: 18px;
	font-weight: 700;
	color: #262642;
	margin: 0 0 12px;
}

.niteva-whychooseus .whychooseus-post .description {
	font-size: 14px;
	line-height: 1.7;
	color: #5a5a6e;
}

/* ------------------------------------------------- Testimonials + counters */

.niteva-testcounter {
	display: flex;
	flex-wrap: wrap;
	margin-left: 0;
	margin-right: 0;
}

.niteva-testi-inner {
	background: #f8f8f8;
	padding: 70px 45px;
	height: 100%;
}

.niteva-testcounter .ht-section-title-tagline {
	text-align: left;
	margin-bottom: 35px;
}

.niteva-testi-item {
	background: #fff;
	padding: 26px 28px;
	margin-bottom: 18px;
	border-left: 3px solid #fe5722;
}

.niteva-testi-quote {
	font-size: 15px;
	line-height: 1.75;
	color: #4a4a5c;
	margin-bottom: 18px;
}

.niteva-testi-avatar {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	object-fit: cover;
	float: left;
	margin-right: 14px;
}

.niteva-testi-who {
	overflow: hidden;
}

.niteva-testi-name {
	display: block;
	font-weight: 700;
	color: #262642;
	font-size: 15px;
}

.niteva-testi-role {
	display: block;
	font-size: 13px;
	color: #8a8a9c;
}

.niteva-counter-inner {
	background: #262642;
	padding: 70px 45px;
	height: 100%;
}

.niteva-counter-grid {
	display: flex;
	flex-wrap: wrap;
}

.niteva-counter-box {
	width: 50%;
	padding: 22px 15px;
	text-align: center;
}

.niteva-counter-num {
	font-family: 'Poppins', sans-serif;
	font-size: 44px;
	font-weight: 800;
	line-height: 1;
	color: #ffd95e;
}

.niteva-counter-label {
	margin-top: 10px;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #d5d5e2;
}

/* ---------------------------------------------------------- Contact strip */

.niteva-appointment {
	background: #262642;
	padding: 55px 0;
}

.niteva-contact-title {
	margin: 0 0 14px;
	color: #fff;
	font-size: 30px;
	font-weight: 700;
}

.niteva-contact-text {
	color: #c9c9d8;
	font-size: 15px;
	line-height: 1.75;
	max-width: 640px;
}

.niteva-contact-meta {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
}

.niteva-contact-meta li {
	display: inline-block;
	margin-right: 26px;
	color: #fff;
	font-size: 15px;
}

.niteva-contact-meta li i {
	color: #fe5722;
	margin-right: 8px;
}

.niteva-contact-meta li a {
	color: #fff;
}

.niteva-contact-cta {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
}

.niteva-btn,
.niteva-btn:hover,
.niteva-btn:focus {
	display: inline-block;
	padding: 15px 32px;
	background: #fe5722;
	color: #fff;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
}

.niteva-btn:hover {
	background: #e04a19;
}

.niteva-btn i {
	margin-left: 8px;
}

/* -------------------------------------------------------------- Our steps */

.ourprocess-post-boxes {
	display: flex;
	flex-wrap: wrap;
}

.ourprocess-post-boxes > [class*="col-"] {
	display: flex;
	margin-bottom: 24px;
}

.niteva-ourprocess .ourprocess-post {
	width: 100%;
	background: #fff;
	border: 1px solid #ececf2;
	padding: 34px 26px;
	text-align: center;
	transition: box-shadow .25s ease, transform .25s ease;
}

.niteva-ourprocess .ourprocess-post:hover {
	box-shadow: 0 14px 34px rgba(38, 38, 66, .12);
	transform: translateY(-4px);
}

.niteva-ourprocess .ourprocess-numbox {
	margin-bottom: 18px;
}

.niteva-ourprocess .ourprocess-num {
	width: 56px;
	height: 56px;
	margin: 0 auto;
	border-radius: 50%;
	background: #fe5722;
	display: flex;
	align-items: center;
	justify-content: center;
}

.niteva-ourprocess .ourprocess-num .title {
	color: #fff;
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
}

.niteva-ourprocess .details .title {
	font-size: 18px;
	font-weight: 700;
	color: #262642;
	margin: 0 0 10px;
}

.niteva-ourprocess .details .description {
	font-size: 14px;
	line-height: 1.7;
	color: #5a5a6e;
}

/* --------------------------------------------------------------- Packages */

.niteva-pricing {
	background: #f8f8f8;
}

.niteva-pricing-row {
	display: flex;
	flex-wrap: wrap;
}

.niteva-pricing-row > [class*="col-"] {
	display: flex;
	margin-bottom: 24px;
}

.niteva-pricing .ht-plan-block {
	width: 100%;
	background: #fff;
	border: 1px solid #ececf2;
	padding: 38px 28px;
	text-align: center;
	display: flex;
	flex-direction: column;
	transition: box-shadow .25s ease, transform .25s ease;
}

.niteva-pricing .ht-plan-block:hover,
.niteva-pricing .niteva-plan-featured {
	box-shadow: 0 18px 40px rgba(38, 38, 66, .14);
	transform: translateY(-6px);
}

.niteva-pricing .niteva-plan-featured {
	border-top: 4px solid #fe5722;
}

.niteva-pricing .ht-princing-title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #8a8a9c;
	margin-bottom: 18px;
}

.niteva-pricing .amount-box {
	margin-bottom: 20px;
}

.niteva-pricing .plan-amount .effectp {
	font-family: 'Poppins', sans-serif;
	font-size: 42px;
	font-weight: 800;
	line-height: 1;
	color: #262642;
}

.niteva-plan-period {
	margin-top: 8px;
	font-size: 13px;
	color: #8a8a9c;
}

.niteva-pricing .ht-princing-excerpt {
	font-size: 14px;
	line-height: 1.75;
	color: #5a5a6e;
	flex: 1 1 auto;
}

.niteva-pricing .ht-princing-link {
	margin-top: 26px;
}

.niteva-pricing .pribtn,
.niteva-pricing .pribtn:hover,
.niteva-pricing .pribtn:focus {
	display: inline-block;
	padding: 13px 30px;
	background: #262642;
	color: #fff;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
}

.niteva-pricing .niteva-plan-featured .pribtn {
	background: #fe5722;
}

.niteva-pricing .pribtn:hover {
	background: #fe5722;
}

/* ----------------------------------------------------------- Recent posts */

.niteva-blog .blogbox {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
	background: #fff;
	border: 1px solid #ececf2;
}

.niteva-blog .blogimgbox img {
	width: 100%;
	height: 100%;
	min-height: 220px;
	object-fit: cover;
	display: block;
}

.niteva-blog .ht-blog-post {
	padding: 30px 32px;
}

.niteva-blog .ht-blog-post h5 {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
}

.niteva-blog .ht-blog-post h5 a {
	color: #262642;
	text-decoration: none;
}

.niteva-blog .ht-blog-post h5 a:hover {
	color: #fe5722;
}

.niteva-blog-date {
	font-size: 13px;
	color: #8a8a9c;
	margin-bottom: 14px;
}

.niteva-blog .ht-blog-excerpt {
	font-size: 14px;
	line-height: 1.75;
	color: #5a5a6e;
}

.niteva-blog .blog-read-more {
	margin-top: 18px;
}

.niteva-blog .blog-read-more a {
	color: #fe5722;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: .06em;
	text-decoration: none;
}

/* ------------------------------------------------------------- Newsletter */

.niteva-newsletter {
	background: #262642;
	text-align: center;
}

.niteva-newsletter .ht-section-title {
	color: #fff;
}

.niteva-newsletter-text {
	max-width: 620px;
	margin: 0 auto 26px;
	color: #c9c9d8;
	font-size: 15px;
	line-height: 1.75;
}

.niteva-newsletter-note {
	color: #8a8a9c;
	font-size: 13px;
	margin: 0;
}

/* ----------------------------------------------------------------- Footer */

/*
 * The newsletter section directly above is #262642, so the footer goes a shade
 * darker to keep the two apart instead of merging into one dark slab.
 */
.niteva-footer#ht-colophon {
	background: #1e1e33;
}

.niteva-footer #ht-top-footer {
	padding: 66px 0 40px;
	border-top: 3px solid #fe5722;
}

.niteva-footer-grid {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -18px;
}

.niteva-footer-col {
	flex: 1 1 210px;
	padding: 0 18px;
	margin-bottom: 32px;
	min-width: 0;
}

.niteva-footer-brand {
	flex: 1.5 1 280px;
}

.niteva-footer-logo {
	font-family: 'Poppins', sans-serif;
	font-size: 26px;
	font-weight: 800;
	letter-spacing: .02em;
	color: #ffd95e;
	margin-bottom: 16px;
}

.niteva-footer-about {
	color: #a9a9bd;
	font-size: 14px;
	line-height: 1.75;
	margin: 0 0 22px;
	max-width: 32em;
}

.niteva-footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-right: 10px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 50%;
	color: #c9c9d8;
	font-size: 15px;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.niteva-footer-social a:hover {
	background: #fe5722;
	border-color: #fe5722;
	color: #fff;
}

.niteva-footer-title {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	margin: 6px 0 20px;
}

.niteva-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.niteva-footer-list li {
	padding: 0 0 11px;
	font-size: 14px;
	line-height: 1.6;
	color: #a9a9bd;
}

.niteva-footer#ht-colophon .niteva-footer-list a {
	color: #a9a9bd;
	text-decoration: none;
	transition: color .18s ease, padding-left .18s ease;
}

.niteva-footer#ht-colophon .niteva-footer-list a:hover {
	color: #ffd95e;
	padding-left: 4px;
}

.niteva-footer-contact li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.niteva-footer-contact li i {
	color: #fe5722;
	width: 16px;
	margin-top: 4px;
	flex: 0 0 16px;
}

.niteva-footer #ht-bottom-footer {
	padding: 20px 0 24px;
	border-top: 1px solid rgba(255, 255, 255, .09);
}

.niteva-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.niteva-footer .ht-site-info span {
	color: #8a8a9c;
	font-size: 13px;
}

.niteva-footer#ht-colophon .niteva-to-top {
	color: #8a8a9c;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color .18s ease;
}

.niteva-footer#ht-colophon .niteva-to-top:hover {
	color: #ffd95e;
}

.niteva-to-top i {
	margin-left: 6px;
}

/* ------------------------------------------------------------ Small screens */

@media (max-width: 991px) {
	.niteva-section {
		padding: 50px 0;
	}

	.niteva-testi-inner,
	.niteva-counter-inner {
		padding: 45px 25px;
	}

	.niteva-contact-cta {
		justify-content: flex-start;
		margin-top: 24px;
	}

	.niteva-blog .blogimgbox img {
		min-height: 200px;
	}
}

@media (max-width: 767px) {
	.niteva-counter-box {
		width: 100%;
	}

	.niteva-contact-meta li {
		display: block;
		margin: 0 0 10px;
	}
}

@media (max-width: 767px) {
	.niteva-footer-grid {
		display: block;
	}

	.niteva-footer-col {
		padding: 0;
	}

	.niteva-footer-bottom {
		justify-content: flex-start;
	}
}

/* --------------------------------------------------------- Sticky header */

/*
 * The parent supports a fixed header (Customizer → General → sticky header) but
 * compensates for it with padding on `#ht-content`, an element this build of the
 * theme never outputs — so the fixed header would sit on top of the first
 * section. Pad the page wrapper instead.
 */
.ht-sticky-header #ht-masthead {
	top: 0;
	z-index: 999;
	transition: box-shadow .25s ease, background-color .25s ease;
}

.ht-sticky-header #ht-masthead.ht-sticky {
	background: #262642;
	box-shadow: 0 6px 22px rgba(0, 0, 0, .28);
}

.ht-sticky-header #ht-masthead.ht-sticky .upper-header {
	display: none;
}

/*
 * The parent already offsets inner pages for the fixed header — it hardcodes
 * 134px onto .page-main-header, .breadcrumbbox and #innerpage-box. Only the
 * front page is left uncompensated, so pad just that one. assets/niteva.js
 * replaces this with the header's measured height.
 */
.ht-sticky-header.home .main-container {
	padding-top: 134px;
}

/* ------------------------------------------------- Mobile header (<992px) */

@media (max-width: 991px) {

	/* Sticky on small screens too. The parent compensates for the fixed header
	   with a hardcoded 134px, which is a desktop measurement — zero those and
	   let assets/niteva.js pad .main-container by the real header height. */
	.ht-sticky-header #ht-masthead {
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
	}

	/* The masthead's 10px bottom padding made the dropdown open above the
	   header's own edge; the bar should end where the row ends. */
	#ht-masthead {
		padding-bottom: 0;
	}

	/*
	 * Constant height while scrolling. Once scrolled the theme adds .ht-sticky,
	 * which at this breakpoint forces `height: 94px` (parent style.css:6079)
	 * while the desktop rule above hides the top strip — so the navy bar grew
	 * from its natural 60px to 94px mid-scroll and the strip vanished under it.
	 * Keep both parts as they are: one height, no jump, and the padding that
	 * assets/niteva.js sets stays correct.
	 */
	.ht-sticky-header #ht-masthead.ht-sticky,
	#ht-masthead.ht-sticky {
		height: auto;
	}

	.ht-sticky-header #ht-masthead.ht-sticky .upper-header {
		display: block;
	}

	.ht-sticky #ht-site-branding {
		padding: 0;
	}

	.ht-sticky-header .page-main-header {
		top: 0;
	}

	.ht-sticky-header .breadcrumbbox {
		margin-top: 0;
	}

	.ht-sticky-header #innerpage-box {
		margin-top: 0 !important;
	}

	.ht-sticky-header .main-container {
		padding-top: 169px; /* fallback; JS replaces it with the measured height */
	}

	/* --- top bar: tagline centred, phone and email side by side under it --- */
	.upper-header {
		padding: 10px 0 9px;
	}

	.upper-header .container > div[class*="col-"] {
		width: 100%;
		float: none;
	}

	#ht-masthead .ht-site-description {
		text-align: center;
		font-size: 13px;
		line-height: 1.45;
		margin: 0 0 6px;
	}

	#ht-masthead .themetext {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 2px 18px;
		margin: 0;
		padding: 0;
		text-align: center;
	}

	#ht-masthead .themetext li {
		float: none;
		margin: 0;
		padding: 0;
		list-style: none;
		font-size: 13px;
		white-space: nowrap;
	}

	#ht-masthead .themetext i {
		padding-right: 7px;
		font-size: 14px;
	}

	/* --- main bar: logo left, burger right, on one centred row --- */
	.lower-header > .container > .row {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 60px;
		margin-left: 0;
		margin-right: 0;
	}

	.lower-header .header-left {
		position: static;
		float: none;
		width: auto;
		flex: 1 1 auto;
		padding: 0 0 0 5px;
	}

	.lower-header .logobox {
		margin: 0 !important;
	}

	/* The nav lives in a Bootstrap column that is width:100% at this breakpoint,
	   so the burger sat at its left edge, right beside the logo. Shrink the
	   column to its content and push it to the end of the row. */
	.lower-header .socialalign,
	.lower-header #ht-site-navigation {
		position: static;
		float: none;
		width: auto;
		flex: 0 0 auto;
		padding: 0;
		text-align: right;
	}

	/* The theme centres this column with `#ht-masthead .header-left {margin:0 auto}`
	   — an id selector, so the override has to carry the id too. */
	#ht-masthead .lower-header .header-left {
		flex: 0 1 auto;
		margin-left: 0;
		margin-right: auto;
		padding: 0;
	}

	/* The theme's stray .clearfix becomes a third flex item and eats the
	   space-between slot the burger should occupy. */
	.lower-header > .container > .row > .clearfix {
		display: none;
	}

	/* The parent lifts the burger out of the row with `position: absolute;
	   top: -56px`, which is why it floated away from the logo. Put it back in
	   the flow; the span stays absolute so its box-shadow bars still draw. */
	.toggle-bar,
	.header-top-theme .toggle-bar {
		position: relative;
		top: auto;
		right: auto;
		width: 46px;
		height: 46px;
		padding: 0;
		border-radius: 4px;
	}

	.toggle-bar span,
	.header-top-theme .toggle-bar span {
		left: 12px;
		right: 12px;
	}

	/* The markup carries two icons at once: the theme draws three bars with a
	   box-shadow on the span, and the same span also contains a Font Awesome
	   `fa-bars` glyph. The glyph is 17px tall inside a 4px span, so it spilled
	   over the drawn bars and the button looked broken. Keep the drawn bars. */
	.toggle-bar span i,
	.header-top-theme .toggle-bar span i {
		display: none;
	}

	/* --- dropdown panel drops below the bar and scrolls if it is tall --- */
	.ht-main-navigation .ht-menu,
	.header-top-theme .ht-main-navigation .ht-menu {
		top: 100%;
		left: 0;
		right: 0;
		background: #262642;
		border-top: 3px solid #fe5722;
		max-height: calc(100vh - 170px);
		overflow-y: auto;
	}

	.ht-main-navigation .ht-menu li {
		float: none;
		width: 100%;
	}

	.ht-main-navigation .ht-menu li > a {
		padding: 13px 20px;
		border-right: 0;
	}

	/* A left marker reads better than an underline in a vertical list. */
	.ht-main-navigation .ht-menu li:hover > a,
	.ht-main-navigation .ht-menu li.current-menu-item > a,
	.ht-main-navigation .ht-menu li.current_page_item > a,
	body.home.blog .ht-main-navigation .ht-menu li:hover > a,
	body.home.blog .ht-main-navigation .ht-menu li.current-menu-item > a {
		box-shadow: inset 3px 0 0 #ffd95e;
	}
}

/* Footer bottom bar: the theme's stray .clearfix becomes a flex item and
   pushes "Back to top" into the middle. */
.niteva-footer-bottom > .clearfix {
	display: none;
}

/* --------------------------------------------------------- Contact page */

/*
 * The parent already styles this page: .contact-page-form is a rounded panel,
 * inputs inside #ht-contactus-wrap are transparent with a white border, and
 * input[type=submit] is a white pill. Only the colours differ from the
 * reference demo — the free build paints the panel orange — so these are
 * recolours, not a second layout.
 */
#ht-contactus-wrap .contact-page-form {
	background: #262642;
	padding: 2.6em 2.2em;
}

#ht-contactus-wrap h4.ht-section-title {
	font-size: 38px;
	font-weight: 600;
	color: #fff;
	margin: 0 0 28px;
}

#ht-contactus-wrap textarea {
	height: 120px;
}

#ht-contactus-wrap input[type="submit"] {
	padding: 10px 42px;
	font-size: 16px;
	font-weight: 700;
	color: #c98a12;
	cursor: pointer;
}

#ht-contactus-wrap .contact-page-address .ht-section-tagline {
	font-size: 17px;
	color: #262642;
	font-weight: 600;
}

#ht-contactus-wrap .contact-page-address .ht-section-tagline .fa {
	display: inline-block;
	margin-right: 6px;
	color: #fe5722;
}

#ht-contactus-wrap .contact-info {
	font-size: 16px;
	line-height: 1.7;
	color: #4a4a5c;
}

#ht-contactus-wrap .contact-info a {
	color: #c98a12;
	text-decoration: none;
}

#ht-contactus-wrap .contact-info a:hover {
	color: #fe5722;
}

#ht-contactus-wrap .contact-page-address h3 {
	font-size: 26px;
	color: #262642;
	margin: 26px 0 14px;
}

/* Demo shows dark square social tiles; the free build leaves them light grey. */
.contact-sm-links li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: #262642;
	color: #fff;
	transition: background-color .2s ease, color .2s ease;
}

.contact-sm-links li a:hover {
	background: #fe5722;
	color: #fff;
}

.contact-mapbox {
	margin-top: 34px;
	line-height: 0;
	border: 3px solid #ffd95e;
	border-radius: 6px;
	overflow: hidden;
}

/* The theme gives bare iframes a yellow background, which shows through until
   the map paints. */
.contact-mapbox iframe {
	width: 100%;
	min-height: 340px;
	border: 0;
	display: block;
	background: #eceef2;
}

/* ------------------------------------------------------------------ Form */

.niteva-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.niteva-form-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.niteva-form-submit {
	margin: 6px 0 0;
	text-align: center;
}

.niteva-form-notice {
	padding: 14px 18px;
	margin-bottom: 20px;
	border-radius: 4px;
	font-size: 14px;
	line-height: 1.6;
}

.niteva-form-notice--ok {
	background: #e8f6ec;
	border-left: 3px solid #2e9e56;
	color: #1d6b3a;
}

.niteva-form-notice--err {
	background: #fdeceb;
	border-left: 3px solid #d94436;
	color: #98281d;
}

@media (max-width: 767px) {
	#ht-contactus-wrap .contact-page-form {
		padding: 1.8em 1.4em;
	}

	#ht-contactus-wrap h4.ht-section-title {
		font-size: 30px;
	}
}

/* ------------------------------------------------------- Archive card grid */

.niteva-archive {
	padding: 40px;
}

.niteva-archive-intro {
	max-width: 760px;
	margin: 0 auto 34px;
	text-align: center;
	font-size: 16px;
	line-height: 1.8;
	color: #5a5a6e;
}

.niteva-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}

.niteva-post-card {
	background: #f0f0f2;
	border-radius: 8px;
	padding: 26px;
	display: flex;
	flex-direction: column;
	transition: box-shadow .25s ease, transform .25s ease;
}

.niteva-post-card:hover {
	box-shadow: 0 16px 36px rgba(38, 38, 66, .13);
	transform: translateY(-4px);
}

.niteva-post-thumb {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 22px;
	line-height: 0;
}

.niteva-post-thumb img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}

.niteva-post-card:hover .niteva-post-thumb img {
	transform: scale(1.04);
}

/* Two-line floor keeps the date badges on one line across a row; longer
   titles still push their own card, and the flexed excerpt keeps the
   "read more" links aligned at the bottom regardless. */
.niteva-post-title {
	font-size: 23px;
	line-height: 1.3;
	font-weight: 700;
	margin: 0 0 18px;
	min-height: 2.6em;
}

.niteva-archive .niteva-post-title a {
	color: #262642;
	text-decoration: none;
}

.niteva-archive .niteva-post-title a:hover {
	color: #fe5722;
}

/* Full-width yellow date badge, as in the reference layout. */
.niteva-post-date {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #ffd95e;
	color: #262642;
	font-weight: 700;
	font-size: 15px;
	padding: 13px 18px;
	border-radius: 4px;
	margin-bottom: 20px;
}

.niteva-post-date i {
	font-size: 16px;
}

.niteva-post-excerpt {
	font-size: 15px;
	line-height: 1.75;
	color: #4a4a5c;
	flex: 1 1 auto;
}

.niteva-post-more {
	margin-top: 20px;
}

.niteva-archive .niteva-post-more a {
	color: #fe5722;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
}

.niteva-post-more i {
	margin-left: 6px;
}

.niteva-archive .navigation.pagination {
	margin-top: 40px;
	text-align: center;
}

.niteva-archive .nav-links .page-numbers {
	display: inline-block;
	min-width: 40px;
	padding: 9px 12px;
	margin: 0 4px;
	border-radius: 4px;
	background: #f0f0f2;
	color: #262642;
	text-decoration: none;
	font-weight: 700;
}

.niteva-archive .nav-links .page-numbers.current,
.niteva-archive .nav-links .page-numbers:hover {
	background: #fe5722;
	color: #fff;
}

.niteva-archive-empty {
	padding: 40px 0;
	text-align: center;
	color: #5a5a6e;
}

@media (max-width: 991px) {
	.niteva-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.niteva-archive {
		padding: 28px;
	}
}

@media (max-width: 640px) {
	.niteva-post-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.niteva-archive {
		padding: 20px;
	}
}

/* ------------------------------------------------------------ Services page */

/*
 * The parent styles .singleinner-service (white card, shadow, hover shadow) with
 * unscoped rules, so those apply here. Its accent rules, however, are scoped to
 * .page-template-default and use the free build's pink/yellow — these replace
 * them in the site palette.
 */
.niteva-services-page .niteva-services-intro {
	max-width: 780px;
	margin: 0 auto 40px;
	text-align: center;
	font-size: 17px;
	line-height: 1.8;
	color: #5a5a6e;
}

.niteva-services-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	margin-bottom: 20px;
}

.niteva-services-grid .singleinner-service {
	margin-bottom: 0;
	display: flex;
	flex-direction: column;
	border-radius: 8px;
}

.niteva-services-grid .service_inbox {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.niteva-service-card .service_inimg {
	border-radius: 6px;
	overflow: hidden;
	line-height: 0;
}

.niteva-service-card .service_inimg img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform .4s ease;
}

.niteva-service-card:hover .service_inimg img {
	transform: scale(1.05);
}

.niteva-service-card .service_inbox-content {
	padding: 22px 4px 0;
	flex: 1 1 auto;
}

.niteva-service-card .service_inbox-content .title {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 12px;
}

#innerpage-box .niteva-service-card .service_inbox-content .title a {
	color: #262642;
	text-decoration: none;
}

#innerpage-box .niteva-service-card .service_inbox-content .title a:hover {
	color: #fe5722;
}

.niteva-service-card .service_inbox-content .description {
	font-size: 15px;
	line-height: 1.75;
	color: #5a5a6e;
	margin: 0;
}

#innerpage-box .niteva-service-card .servicesbtn {
	padding: 18px 4px 4px;
}

#innerpage-box .niteva-service-card .servicesbtn a {
	background: none;
	padding: 0;
	color: #fe5722;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
}

#innerpage-box .niteva-service-card .servicesbtn a i {
	margin-left: 6px;
}

/* ------------------------------------------------------ In every engagement */

.niteva-included {
	background: #f8f8f8;
	padding: 70px 0;
	margin-top: 60px;
}

.niteva-included .ht-section-title-tagline,
.niteva-sla .ht-section-title-tagline {
	text-align: center;
	margin-bottom: 40px;
}

#niteva-included h2.ht-section-title::after,
.niteva-included h2.ht-section-title::after,
.niteva-sla h2.ht-section-title::after {
	border-color: #fe5722;
}

.niteva-included-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
}

.niteva-included-item {
	background: #fff;
	border: 1px solid #ececf2;
	border-radius: 8px;
	padding: 30px 26px;
	text-align: center;
}

.niteva-included-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #262642;
	color: #ffd95e;
	font-size: 20px;
	margin-bottom: 18px;
}

.niteva-included-item h3 {
	font-size: 18px;
	font-weight: 700;
	color: #262642;
	margin: 0 0 10px;
}

.niteva-included-item p {
	font-size: 14px;
	line-height: 1.7;
	color: #5a5a6e;
	margin: 0;
}

/* ------------------------------------------------------------ Response times */

.niteva-sla {
	padding: 70px 0;
}

.niteva-sla-lead,
.niteva-sla-note {
	max-width: 760px;
	margin: 0 auto 28px;
	text-align: center;
	font-size: 15px;
	line-height: 1.8;
	color: #5a5a6e;
}

.niteva-sla-note {
	margin: 24px auto 0;
	font-size: 14px;
	color: #8a8a9c;
}

/* Narrow screens scroll the table rather than crushing four columns. */
.niteva-sla-scroll {
	overflow-x: auto;
}

.niteva-sla-table {
	width: 100%;
	min-width: 620px;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #ececf2;
}

.niteva-sla-table th,
.niteva-sla-table td {
	padding: 15px 18px;
	text-align: left;
	font-size: 15px;
	border-bottom: 1px solid #ececf2;
}

.niteva-sla-table thead th {
	background: #262642;
	color: #fff;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-bottom: 0;
}

.niteva-sla-table tbody th {
	font-weight: 700;
	color: #262642;
	width: 34%;
}

.niteva-sla-table tbody td {
	color: #4a4a5c;
}

.niteva-sla-table tbody tr:last-child th,
.niteva-sla-table tbody tr:last-child td {
	border-bottom: 0;
}

.niteva-sla-table tbody tr:nth-child(even) {
	background: #fafafb;
}

/* Managed column is the flagship plan, as on the Packages section. */
.niteva-sla-table thead th:last-child,
.niteva-sla-table tbody td:last-child {
	background: rgba(254, 87, 34, .07);
}

.niteva-sla-table thead th:last-child {
	background: #fe5722;
}

/* --------------------------------------------------------------------- CTA */

.niteva-services-cta {
	background: #262642;
	padding: 60px 0;
	text-align: center;
}

.niteva-services-cta h2 {
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	margin: 0 0 14px;
}

.niteva-services-cta p {
	color: #c9c9d8;
	font-size: 16px;
	line-height: 1.75;
	max-width: 640px;
	margin: 0 auto 28px;
}

@media (max-width: 991px) {
	.niteva-services-grid,
	.niteva-included-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.niteva-services-grid,
	.niteva-included-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.niteva-included,
	.niteva-sla {
		padding: 45px 0;
	}
}

/* --------------------------------------------------------- Single post/service */

.niteva-single-box {
	padding: 40px;
}

.niteva-single-figure {
	margin: 0 0 28px;
	border-radius: 8px;
	overflow: hidden;
	line-height: 0;
}

/* Cap the hero so a tall source image does not fill the whole first screen. */
.niteva-single-figure img {
	width: 100%;
	max-height: 420px;
	object-fit: cover;
	display: block;
}

.niteva-single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	align-items: center;
	padding-bottom: 18px;
	margin-bottom: 26px;
	border-bottom: 1px solid #ececf2;
	font-size: 14px;
	color: #8a8a9c;
}

.niteva-single-meta i {
	color: #fe5722;
	margin-right: 7px;
}

.niteva-single .niteva-single-meta a {
	color: #8a8a9c;
	text-decoration: none;
}

.niteva-single .niteva-single-meta a:hover {
	color: #fe5722;
}

.niteva-single-badge {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 3px;
	background: #ffd95e;
	color: #262642;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.niteva-single-content {
	font-size: 16px;
	line-height: 1.85;
	color: #4a4a5c;
}

.niteva-single-content h2,
.niteva-single-content h3 {
	color: #262642;
	margin: 32px 0 14px;
	line-height: 1.35;
}

.niteva-single-content h3 {
	font-size: 21px;
	font-weight: 700;
}

.niteva-single-content p {
	margin: 0 0 18px;
}

.niteva-single-tags {
	margin-top: 26px;
	font-size: 14px;
	color: #8a8a9c;
}

.niteva-single-tags span {
	font-weight: 700;
	margin-right: 6px;
}

.niteva-single-share {
	margin-top: 32px;
	padding-top: 22px;
	border-top: 1px solid #ececf2;
}

.niteva-single-share h6 {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #8a8a9c;
}

.niteva-single .niteva-single-share a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-right: 8px;
	border-radius: 4px;
	background: #262642;
	color: #fff;
	font-size: 16px;
	transition: background-color .2s ease;
}

.niteva-single .niteva-single-share a:hover {
	background: #fe5722;
}

.niteva-related {
	padding: 60px 0 20px;
}

.niteva-related .ht-section-title-tagline {
	text-align: center;
	margin-bottom: 36px;
}

.niteva-related h2.ht-section-title::after {
	border-color: #fe5722;
}

.niteva-related-grid .niteva-post-card {
	background: #fff;
	border: 1px solid #ececf2;
}

/* --------------------------------------------------------------- About page */

.niteva-about-box {
	padding: 40px;
}

.niteva-about-cols {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-start;
}

.niteva-about-text {
	flex: 2 1 380px;
	min-width: 0;
}

.niteva-about-figure {
	flex: 1 1 260px;
	min-width: 0;
	border-radius: 8px;
	overflow: hidden;
	line-height: 0;
}

.niteva-about-figure img {
	width: 100%;
	height: auto;
	display: block;
}

.niteva-about-h2 {
	font-size: 30px;
	font-weight: 700;
	color: #262642;
	margin: 0 0 18px;
}

.niteva-about-text p {
	font-size: 16px;
	line-height: 1.85;
	color: #4a4a5c;
	margin: 0 0 16px;
}

.niteva-about-points {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}

.niteva-about-points li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 9px 0;
	font-size: 15px;
	line-height: 1.7;
	color: #4a4a5c;
}

.niteva-about-points i {
	color: #fe5722;
	margin-top: 5px;
	flex: 0 0 auto;
}

.niteva-about-numbers {
	background: #262642;
	padding: 50px 0;
	margin-top: 50px;
}

.niteva-about-numbers-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	text-align: center;
}

.niteva-about-number-value {
	font-family: 'Poppins', sans-serif;
	font-size: 42px;
	font-weight: 800;
	line-height: 1;
	color: #ffd95e;
}

.niteva-about-number-label {
	margin-top: 10px;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #d5d5e2;
}

.niteva-nots {
	padding: 70px 0;
}

.niteva-nots .ht-section-title-tagline,
.niteva-team .ht-section-title-tagline {
	text-align: center;
	margin-bottom: 40px;
}

.niteva-nots h2.ht-section-title::after,
.niteva-team h2.ht-section-title::after {
	border-color: #fe5722;
}

.niteva-nots-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
}

.niteva-not-item {
	background: #f8f8f8;
	border-left: 3px solid #fe5722;
	padding: 26px 28px;
}

.niteva-not-item h3 {
	font-size: 19px;
	font-weight: 700;
	color: #262642;
	margin: 0 0 10px;
}

.niteva-not-item p {
	font-size: 15px;
	line-height: 1.75;
	color: #5a5a6e;
	margin: 0;
}

.niteva-team {
	padding: 0 0 70px;
}

.niteva-team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
}

.niteva-team-card {
	margin: 0;
	text-align: center;
	background: #fff;
	border: 1px solid #ececf2;
	border-radius: 8px;
	padding: 26px 20px;
}

.niteva-team-photo {
	width: 120px;
	height: 120px;
	margin: 0 auto 18px;
	border-radius: 50%;
	overflow: hidden;
	background: #262642;
	display: flex;
	align-items: center;
	justify-content: center;
}

.niteva-team-photo img.profile {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.niteva-team-initials {
	color: #ffd95e;
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
}

.niteva-team-card h3 {
	font-size: 18px;
	font-weight: 700;
	color: #262642;
	margin: 0 0 6px;
}

.niteva-team-card p {
	font-size: 14px;
	color: #8a8a9c;
	margin: 0 0 12px;
}

.niteva-about-page .niteva-team-card a {
	color: #fe5722;
	font-size: 18px;
}

@media (max-width: 991px) {
	.niteva-about-numbers-grid,
	.niteva-team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.niteva-single-box,
	.niteva-about-box {
		padding: 26px;
	}
}

@media (max-width: 640px) {
	.niteva-nots-grid,
	.niteva-about-numbers-grid,
	.niteva-team-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.niteva-single-box,
	.niteva-about-box {
		padding: 20px;
	}
}

/* --------------------------------------------- Slider call-out (phone box) */

/*
 * With no form shortcode configured the wrapper that used to follow the number
 * is gone, so the box lost its bottom spacing and the number sat on the edge.
 * The tel: link also picked up the theme's default link colour.
 */
#ht-sliderform-section .slider-num {
	margin-bottom: 34px;
}

#ht-sliderform-section .slider-num a,
#ht-sliderform-section .slider-num a:hover,
#ht-sliderform-section .slider-num a:focus {
	color: #262642;
	text-decoration: none;
}

#ht-sliderform-section .slider-num a i {
	margin-right: 10px;
}

/* ------------------------------------------------------ Block page content */

/*
 * Pages are ordinary block content now. Normal blocks sit in a centred column;
 * a block set to "Full width" in the editor breaks out to the viewport edges so
 * the dark bands still span the screen.
 */
.niteva-page-content {
	--niteva-content: 1170px;
	padding: 50px 0 0;
	overflow-x: hidden;
}

.niteva-page-content > * {
	max-width: var(--niteva-content);
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}

.niteva-page-content > .alignwide {
	max-width: 1400px;
}

.niteva-page-content > .alignfull {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.niteva-page-content > * + * {
	margin-top: 26px;
}

/* Bands: a full-width group with one of these classes paints the strip, and its
   inner blocks stay inside the content column. */
.niteva-band {
	padding: 60px 0;
}

.niteva-band > .wp-block-group__inner-container,
.niteva-band > * {
	max-width: var(--niteva-content);
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}

.niteva-band-grey {
	background: #f8f8f8;
}

.niteva-band-dark {
	background: #262642;
}

.niteva-band-dark,
.niteva-band-dark p,
.niteva-band-dark li {
	color: #c9c9d8;
}

.niteva-band-dark h1,
.niteva-band-dark h2,
.niteva-band-dark h3,
.niteva-band-dark h4 {
	color: #fff;
}

.niteva-page-content h2 {
	font-size: 30px;
	font-weight: 700;
	color: #262642;
	margin: 0 0 16px;
}

.niteva-page-content h3 {
	font-size: 20px;
	font-weight: 700;
	color: #262642;
	margin: 0 0 10px;
}

.niteva-page-content p,
.niteva-page-content li {
	font-size: 16px;
	line-height: 1.8;
	color: #4a4a5c;
}

.niteva-page-content .has-text-align-center {
	text-align: center;
}

/* The white card look, available as a block class. */
.niteva-card {
	background: #fff;
	border-radius: 8px;
	padding: 40px;
	box-shadow: 0 2px 18px rgba(38, 38, 66, .06);
}

.niteva-page-content .wp-block-image img {
	border-radius: 8px;
	height: auto;
}

/* Checklist */
.niteva-checklist {
	list-style: none;
	padding-left: 0;
}

.niteva-checklist li {
	position: relative;
	padding: 8px 0 8px 30px;
}

.niteva-checklist li::before {
	content: "\f00c";
	font-family: FontAwesome;
	position: absolute;
	left: 0;
	top: 10px;
	color: #fe5722;
}

/* Buttons rendered by the core button block */
.niteva-page-content .wp-block-button__link {
	background: #fe5722;
	color: #fff;
	border-radius: 2px;
	padding: 15px 32px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-size: 14px;
}

.niteva-page-content .wp-block-button__link:hover {
	background: #e04a19;
}

/* The block editor puts the class on the figure, not the table. */
.niteva-sla-table table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #ececf2;
}

.niteva-sla-table td,
.niteva-sla-table th {
	padding: 15px 18px;
	text-align: left;
	font-size: 15px;
	border: 0;
	border-bottom: 1px solid #ececf2;
}

.niteva-sla-table thead th {
	background: #262642;
	color: #fff;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.niteva-sla-table tbody tr:nth-child(even) {
	background: #fafafb;
}

.niteva-sla-table tbody td:first-child {
	font-weight: 700;
	color: #262642;
}

/* Grids dropped in by shortcode need the same spacing as the page column. */
.niteva-page-content .niteva-services-grid,
.niteva-page-content .niteva-post-grid,
.niteva-page-content .niteva-team-grid,
.niteva-page-content .niteva-about-numbers-grid {
	margin-top: 10px;
}

.niteva-cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.niteva-cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 991px) {
	.niteva-page-content {
		padding-top: 30px;
	}

	.niteva-card {
		padding: 26px;
	}

	.niteva-band {
		padding: 40px 0;
	}

	.niteva-cols-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.niteva-card {
		padding: 20px;
	}

	.niteva-cols-2,
	.niteva-cols-4 {
		grid-template-columns: minmax(0, 1fr);
	}
}

/*
 * Band colours have to out-rank the generic .niteva-page-content typography
 * rules that follow them, or a heading inside a dark band renders navy on navy.
 */
.niteva-page-content .niteva-band-dark p,
.niteva-page-content .niteva-band-dark li {
	color: #c9c9d8;
}

.niteva-page-content .niteva-band-dark h1,
.niteva-page-content .niteva-band-dark h2,
.niteva-page-content .niteva-band-dark h3,
.niteva-page-content .niteva-band-dark h4 {
	color: #fff;
}

.niteva-page-content .niteva-band-dark a:not(.wp-block-button__link) {
	color: #ffd95e;
}

/*
 * With the pages on the default template, the parent's `.page-template-default
 * #innerpage-box …` decorations switch on: a rotated pink wedge behind the
 * "read more" link and a yellow wash over the thumbnail. Neither belongs here.
 */
#innerpage-box .niteva-service-card .service_inbox .servicesbtn a::before,
#innerpage-box .niteva-service-card .service_inbox .servicesbtn a::after,
#innerpage-box .niteva-service-card .service_inimg::after,
#innerpage-box .niteva-service-card .service_inimg::before {
	display: none;
	content: none;
}

#innerpage-box .niteva-service-card .servicesbtn a {
	position: relative;
	overflow: visible;
	background: none;
	padding: 0;
	color: #fe5722;
}

#innerpage-box .niteva-service-card:hover .servicesbtn a {
	background: none;
	color: #e04a19;
}

/* -------------------------------------------------- Block-built home/page bits */

/* Numbers: a column with these classes, edited as ordinary heading + paragraph. */
.niteva-num-card {
	text-align: center;
}

.niteva-page-content .niteva-num-card h3 {
	font-family: 'Poppins', sans-serif;
	font-size: 42px;
	font-weight: 800;
	line-height: 1;
	color: #ffd95e;
	margin: 0 0 10px;
}

.niteva-page-content .niteva-num-card p {
	margin: 0;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #d5d5e2;
}

/* Feature / step / plan cards */
.niteva-feature-card,
.niteva-step-card,
.niteva-plan-card {
	background: #fff;
	border: 1px solid #ececf2;
	border-radius: 8px;
	padding: 28px 26px;
	height: 100%;
}

.niteva-step-card,
.niteva-plan-card {
	text-align: center;
}

.niteva-page-content .niteva-plan-card h3 {
	font-size: 14px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #8a8a9c;
}

.niteva-plan-price {
	font-family: 'Poppins', sans-serif;
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
	color: #262642;
	margin: 0 0 6px;
}

.niteva-page-content .niteva-plan-card .niteva-plan-price {
	color: #262642;
	font-size: 40px;
}

.niteva-plan-featured {
	border-top: 4px solid #fe5722;
	box-shadow: 0 18px 40px rgba(38, 38, 66, .12);
}

/* Contact details as an ordinary list block */
.niteva-contact-list {
	list-style: none;
	padding-left: 0;
}

.niteva-page-content .niteva-contact-list li {
	padding: 12px 0;
	border-bottom: 1px solid #ececf2;
	font-size: 15px;
}

.niteva-page-content .niteva-contact-list li:last-child {
	border-bottom: 0;
}

.niteva-page-content .niteva-contact-list strong {
	display: block;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #8a8a9c;
	margin-bottom: 3px;
}

/* Quote blocks used for testimonials */
.niteva-page-content .niteva-quote {
	background: #fff;
	border-left: 3px solid #fe5722;
	margin: 0 0 18px;
	padding: 22px 26px;
}

.niteva-page-content .niteva-quote p {
	font-size: 15px;
	line-height: 1.75;
	margin: 0 0 10px;
}

.niteva-page-content .niteva-quote cite {
	font-size: 13px;
	color: #8a8a9c;
	font-style: normal;
}

/* Equal-height columns for card rows */
.niteva-page-content .wp-block-columns.niteva-cards {
	align-items: stretch;
	gap: 26px;
}

.niteva-page-content .niteva-cards .wp-block-column {
	display: flex;
	flex-direction: column;
}

/* A full-width group that adds no padding of its own — used for the hero. */
.niteva-flush {
	padding: 0;
}

.niteva-page-content > .niteva-flush > * {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* The front page starts with the hero, so it needs no top gap. */
.niteva-front .niteva-page-content {
	padding-top: 0;
}

.niteva-front .niteva-page-content > .niteva-flush:first-child {
	margin-top: 0;
}

/*
 * The theme positions the call-out box absolutely against whatever container
 * holds it. In block content that container is no longer the slider, so it
 * landed on top of the next section. Put it back in the flow, tucked under the
 * hero.
 */






/* Editor-only: keep the live preview from swallowing clicks on the block. */
.niteva-block-preview {
	pointer-events: none;
}

.niteva-block-note {
	color: #666;
	font-size: 12px;
	margin: 0 0 12px;
}

/* ---------------------------------------------------- Block style variations */

/*
 * register_block_style() emits `is-style-<name>`. These make the picked style
 * self-contained — choosing "Dark band" gives both the colour and the padding,
 * without also needing the .niteva-band class typed in by hand.
 */
.is-style-niteva-band-dark,
.is-style-niteva-band-grey {
	padding: 60px 0;
}

.niteva-page-content > .is-style-niteva-band-dark > *,
.niteva-page-content > .is-style-niteva-band-grey > * {
	max-width: var(--niteva-content);
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}

.is-style-niteva-band-dark {
	background: #262642;
}

.is-style-niteva-band-grey {
	background: #f8f8f8;
}

.niteva-page-content .is-style-niteva-band-dark p,
.niteva-page-content .is-style-niteva-band-dark li {
	color: #c9c9d8;
}

.niteva-page-content .is-style-niteva-band-dark h1,
.niteva-page-content .is-style-niteva-band-dark h2,
.niteva-page-content .is-style-niteva-band-dark h3,
.niteva-page-content .is-style-niteva-band-dark h4 {
	color: #fff;
}

.is-style-niteva-card {
	background: #fff;
	border-radius: 8px;
	padding: 40px;
	box-shadow: 0 2px 18px rgba(38, 38, 66, .06);
}

.is-style-niteva-flush {
	padding: 0;
}

.niteva-page-content > .is-style-niteva-flush > * {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.is-style-niteva-feature-card,
.is-style-niteva-step-card,
.is-style-niteva-plan-card {
	background: #fff;
	border: 1px solid #ececf2;
	border-radius: 8px;
	padding: 28px 26px;
	height: 100%;
}

.is-style-niteva-step-card,
.is-style-niteva-plan-card,
.is-style-niteva-num-card {
	text-align: center;
}

.is-style-niteva-plan-featured {
	border-top: 4px solid #fe5722;
	box-shadow: 0 18px 40px rgba(38, 38, 66, .12);
}

.niteva-page-content .is-style-niteva-num-card h3 {
	font-family: 'Poppins', sans-serif;
	font-size: 42px;
	font-weight: 800;
	line-height: 1;
	color: #ffd95e;
	margin: 0 0 10px;
}

.niteva-page-content .is-style-niteva-num-card p {
	margin: 0;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #d5d5e2;
}

.niteva-page-content .wp-block-columns.is-style-niteva-cards {
	align-items: stretch;
	gap: 26px;
}

.niteva-page-content .is-style-niteva-cards .wp-block-column {
	display: flex;
	flex-direction: column;
}

.is-style-niteva-checklist {
	list-style: none;
	padding-left: 0;
}

.is-style-niteva-checklist li {
	position: relative;
	padding: 8px 0 8px 30px;
}

.is-style-niteva-checklist li::before {
	content: "\f00c";
	font-family: FontAwesome;
	position: absolute;
	left: 0;
	top: 10px;
	color: #fe5722;
}

.is-style-niteva-contact-list {
	list-style: none;
	padding-left: 0;
}

.niteva-page-content .is-style-niteva-contact-list li {
	padding: 12px 0;
	border-bottom: 1px solid #ececf2;
	font-size: 15px;
}

.niteva-page-content .is-style-niteva-contact-list strong {
	display: block;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #8a8a9c;
	margin-bottom: 3px;
}

.is-style-niteva-sla-table table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #ececf2;
}

.is-style-niteva-sla-table td,
.is-style-niteva-sla-table th {
	padding: 15px 18px;
	text-align: left;
	font-size: 15px;
	border: 0;
	border-bottom: 1px solid #ececf2;
}

.is-style-niteva-sla-table thead th {
	background: #262642;
	color: #fff;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.niteva-page-content .is-style-niteva-quote {
	background: #fff;
	border-left: 3px solid #fe5722;
	padding: 22px 26px;
}

/* ------------------------------------------------- Front page: offset & hero */

/*
 * The front page renders through page.php now, so it finally has an
 * #innerpage-box — and the parent's `.ht-sticky-header #innerpage-box
 * { margin-top: 134px !important }` started applying on top of the padding
 * assets/niteva.js puts on .main-container. Two compensations for one fixed
 * header left a 268px white band above the hero.
 */
#innerpage-box.niteva-front {
	margin-top: 0 !important;
	padding-top: 0;
}

/* The caption sits over a photo, so it needs its own colour rather than the
   page text colour. */
/* The theme colours the caption's inner <p>/<span> separately (#cecece from the
   Customizer's inline CSS), so the descendants need naming too. */
#ht-home-slider-section .ht-slide-cap-title,
#ht-home-slider-section .ht-slide-cap-desc,
#ht-home-slider-section .ht-slide-cap-desc p,
#ht-home-slider-section .ht-slide-cap-desc span,
#ht-home-slider-section .ht-slide-cap-desc a {
	color: #fff;
	text-shadow: 0 1px 14px rgba(0, 0, 0, .55);
}

.niteva-flush .ht-slide-cap-desc {
	font-size: 17px;
	line-height: 1.6;
	max-width: 40rem;
}

/* ------------------------------------------- Hero card (as in the reference) */

/*
 * The enquiry card sits on top of the hero photo, to the right, the way the
 * reference layout has it. The hero group is the positioning context so the
 * card cannot drift onto the section below.
 */
.niteva-flush {
	position: relative;
}

.niteva-flush #ht-sliderform-section.niteva-callbox {
	position: absolute;
	top: 50%;
	right: max(3vw, calc(50vw - 570px));
	left: auto;
	bottom: auto;
	transform: translateY(-50%);
	width: 370px;
	max-width: 90vw;
	z-index: 6;
	background: #fff;
	border-radius: 8px;
	padding: 26px 24px 28px;
	box-shadow: 0 22px 50px rgba(20, 22, 40, .28);
}

.niteva-callbox .sliderform-title {
	margin: 0 0 16px;
	font-size: 21px;
	line-height: 1.25;
	text-align: center;
	color: #262642;
}

/* The theme gives .slider-num `display:block; padding:5px 0`, which left the
   number sitting low in the yellow button. Centre it properly. */
#ht-sliderform-section.niteva-callbox .slider-num {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin: 0 0 16px;
	padding: 8px 14px;
	background: #ffd95e;
	border-radius: 4px;
	font-weight: 700;
	line-height: 1;
}

#ht-sliderform-section.niteva-callbox .slider-num a,
#ht-sliderform-section.niteva-callbox .slider-num a:hover,
#ht-sliderform-section.niteva-callbox .slider-num a:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	line-height: 1;
	color: #262642;
	text-decoration: none;
	font-size: 17px;
}

#ht-sliderform-section.niteva-callbox .slider-num a i {
	margin: 0;
	font-size: 16px;
	line-height: 1;
}

/* Compact form: the card is narrow, so the fields lose the page's roominess. */
.niteva-callbox .niteva-form p {
	margin: 0 0 10px;
}

.niteva-callbox .niteva-form input[type="text"],
.niteva-callbox .niteva-form input[type="email"],
.niteva-callbox .niteva-form input[type="tel"],
.niteva-callbox .niteva-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #dedee8;
	border-radius: 3px;
	background: #fff;
	color: #262642;
	font-size: 14px;
}

.niteva-callbox .niteva-form textarea {
	min-height: 84px;
	resize: vertical;
}

.niteva-callbox .niteva-form input::placeholder,
.niteva-callbox .niteva-form textarea::placeholder {
	color: #9a9ab0;
}

.niteva-callbox .niteva-form-submit {
	margin: 4px 0 0;
	text-align: center;
}

.niteva-callbox .niteva-form input[type="submit"] {
	width: 100%;
	background: #262642;
	color: #fff;
	border: 0;
	border-radius: 24px;
	padding: 12px 20px;
	font-weight: 700;
	letter-spacing: .04em;
	cursor: pointer;
}

.niteva-callbox .niteva-form input[type="submit"]:hover {
	background: #fe5722;
}

.niteva-callbox .niteva-form-notice {
	font-size: 13px;
	padding: 10px 12px;
	margin-bottom: 12px;
}

/* Narrow screens: the card drops below the hero instead of covering it. */
@media (max-width: 991px) {
	.niteva-flush #ht-sliderform-section.niteva-callbox {
		position: relative;
		top: auto;
		right: auto;
		transform: none;
		width: auto;
		max-width: 460px;
		margin: -50px auto 0;
	}
}
