/*
 * SuperRankSEO global Elementor Theme Builder shell.
 * Header/Footer only; safe to load across all frontend surfaces.
 */

.srs-el-header {
	position: relative;
	z-index: 1;
	width: 100%;
	min-height: 80px;
	padding: 0 !important;
	border-bottom: 1px solid rgba(226,232,240,.9);
	background: rgba(255,255,255,.94);
	backdrop-filter: blur(12px);
	color: #0f172a;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Keep the global shell independent from page-family paragraph defaults. */
.srs-el-header .elementor-widget-text-editor p,
.srs-el-footer .elementor-widget-text-editor p {
	margin-block: 0;
}

.srs-el-header .srs-el-max,
.srs-el-footer .srs-el-max {
	width: min(100% - 2rem, 80rem);
	margin-inline: auto;
}

.srs-el-header-inner,
.srs-el-brand,
.srs-el-header-nav,
.srs-el-header-ctas,
.srs-el-footer-grid,
.srs-el-footer-bottom {
	flex-direction: row !important;
}

.srs-el-header-inner {
	align-items: center;
	justify-content: space-between;
	min-height: 80px;
	padding: 0 16px !important;
	gap: 1.25rem;
}

.srs-el-brand {
	align-items: center;
	width: auto;
	flex: 0 0 auto;
	gap: .75rem;
	padding: 0 !important;
}

.srs-el-logo {
	width: 2.5rem;
	flex: 0 0 2.5rem;
}

.srs-el-logo img {
	width: 2.5rem;
	height: 2.5rem;
	object-fit: contain;
	border-radius: .75rem;
}

.srs-el-brand-text {
	width: auto;
	gap: .15rem;
}

.srs-el-brand-title .elementor-heading-title,
.srs-el-footer-brand-title .elementor-heading-title {
	color: #0f172a;
	font-family: "Plus Jakarta Sans", "Avenir Next", "Segoe UI", sans-serif;
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
}

.srs-el-brand-tagline,
.srs-el-brand-tagline p {
	color: #64748b;
	font-size: .6875rem;
	line-height: 1.15;
}

.srs-el-header-nav {
	align-items: center;
	justify-content: center;
	width: auto;
	flex: 1 1 auto;
	gap: 1.1rem;
	padding: 0 !important;
}

.srs-el-header-nav > .elementor-widget,
.srs-el-header-ctas > .elementor-widget {
	width: auto;
	flex: 0 0 auto;
}

.srs-el-nav-link .elementor-button {
	padding: .55rem .25rem;
	border: 0;
	background: transparent;
	color: #475569;
	box-shadow: none;
	font-size: .8125rem;
	font-weight: 650;
}

.srs-el-nav-link .elementor-button:hover,
.srs-el-nav-link .elementor-button:focus-visible {
	color: #1d4ed8;
}

.srs-el-header-ctas {
	align-items: center;
	width: auto;
	flex: 0 0 auto;
	gap: .65rem;
	padding: 0 !important;
}

.srs-el-btn-primary .elementor-button {
	border-radius: .65rem;
	background: #2563eb;
	color: #fff;
	box-shadow: 0 6px 18px rgba(37,99,235,.22);
	font-weight: 700;
}

.srs-el-btn-secondary .elementor-button {
	border: 1px solid #cbd5e1;
	border-radius: .65rem;
	background: #fff;
	color: #334155;
	box-shadow: none;
	font-weight: 650;
}

.srs-el-footer {
	width: 100%;
	padding-block: 4rem 2rem;
	border-top: 1px solid #e2e8f0;
	background: #fff;
	color: #0f172a;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.srs-el-footer-grid {
	align-items: flex-start;
	gap: 2.5rem;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid #f1f5f9;
}

.srs-el-footer-brand {
	flex: 2 1 0;
	min-width: 16rem;
	gap: .85rem;
}

.srs-el-footer-col {
	flex: 1 1 0;
	min-width: 9rem;
	gap: .35rem;
}

.srs-el-footer-copy,
.srs-el-footer-copy p {
	color: #64748b;
	font-size: .82rem;
	line-height: 1.6;
}

.srs-el-footer-heading .elementor-heading-title {
	color: #0f172a;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: .75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.srs-el-footer-link .elementor-button {
	justify-content: flex-start;
	width: auto;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.srs-el-footer-bottom {
	align-items: center;
	justify-content: space-between;
	padding-top: 1.5rem;
}

@media (max-width: 1024px) {
	.srs-el-header-nav {
		gap: .55rem;
	}

	.srs-el-footer-grid {
		flex-wrap: wrap !important;
	}

	.srs-el-footer-grid > .srs-el-footer-brand {
		width: 100% !important;
		flex: 0 0 100% !important;
	}

	.srs-el-footer-grid > .srs-el-footer-col {
		width: calc(33.333% - 1rem) !important;
		flex: 1 1 calc(33.333% - 1rem) !important;
		min-width: 0;
	}
}

@media (max-width: 900px) {
	.srs-el-header-nav {
		display: none;
	}

	.srs-el-header-inner {
		min-height: 72px;
	}
}

@media (max-width: 767px) {
	.srs-el-header .srs-el-max,
	.srs-el-footer .srs-el-max {
		width: min(100% - 1.5rem, 80rem);
	}

	.srs-el-brand-tagline {
		display: none;
	}

	.srs-el-header-ctas > .elementor-widget:first-child {
		display: none;
	}

	.srs-el-footer-grid {
		flex-direction: column !important;
	}

	.srs-el-footer-grid > .srs-el-footer-col {
		width: 100% !important;
		flex-basis: 100% !important;
	}

	.srs-el-footer-bottom {
		flex-direction: column !important;
		align-items: flex-start;
		gap: .6rem;
	}
}


/* Header Primary WordPress menu v1 */
.srs-el-primary-menu {
	width: auto;
	flex: 0 0 auto;
}

.srs-el-primary-menu .elementor-nav-menu--main > .elementor-nav-menu {
	display: flex;
	align-items: center;
	gap: 1.05rem;
}

.srs-el-primary-menu .elementor-nav-menu--main .elementor-item {
	padding: .55rem .2rem;
	background: transparent;
	color: #475569;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: .8125rem;
	font-weight: 650;
	line-height: 1.2;
	white-space: nowrap;
}

.srs-el-primary-menu .elementor-nav-menu--main .elementor-item:hover,
.srs-el-primary-menu .elementor-nav-menu--main .elementor-item:focus-visible,
.srs-el-primary-menu .elementor-nav-menu--main .current-menu-item > .elementor-item,
.srs-el-primary-menu .elementor-nav-menu--main .current-menu-ancestor > .elementor-item {
	color: #1d4ed8;
}

.srs-el-primary-menu .elementor-nav-menu--main .menu-item-has-children > .elementor-item .sub-arrow {
	display: inline-block;
	width: .38rem;
	height: .38rem;
	margin-left: .45rem;
	padding: 0;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-.08rem);
}

.srs-el-primary-menu .elementor-nav-menu--main .menu-item-has-children > .elementor-item .sub-arrow :where(i,svg) {
	display: none;
}

.srs-el-primary-menu .elementor-nav-menu--main .sub-menu {
	min-width: 13.5rem !important;
	margin-top: 0 !important;
	padding: .45rem !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: .8rem;
	background: #fff;
	box-shadow: 0 14px 34px rgba(15,23,42,.11);
}

.srs-el-primary-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item {
	padding: .65rem .75rem;
	border: 0;
	border-radius: .55rem;
	background: transparent;
	color: #475569;
	font-size: .78rem;
	font-weight: 600;
	line-height: 1.3;
}

.srs-el-primary-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
.srs-el-primary-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item:focus-visible,
.srs-el-primary-menu .elementor-nav-menu--main .sub-menu .current-menu-item > .elementor-sub-item {
	background: #eff6ff;
	color: #1d4ed8;
}

@media (max-width: 1023px) {
	.srs-el-header-nav {
		display: none !important;
	}
}


/* Header Primary submenu indicator v1 */
.srs-el-primary-menu .elementor-nav-menu--main .menu-item-has-children > .elementor-item::after {
	content: "";
	position: static;
	display: inline-block;
	width: .36rem;
	height: .36rem;
	margin-left: .48rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-.08rem);
	opacity: 1 !important;
}


/* Header Primary desktop dropdown fallback v1 */
@media (min-width: 1024px) {
	.srs-el-primary-menu .elementor-nav-menu--main > .elementor-nav-menu > .menu-item-has-children {
		position: relative;
	}

	.srs-el-primary-menu .elementor-nav-menu--main > .elementor-nav-menu > .menu-item-has-children > .sub-menu {
		position: absolute !important;
		top: 100% !important;
		inset-inline-start: 0 !important;
		display: none;
	}

	.srs-el-primary-menu .elementor-nav-menu--main > .elementor-nav-menu > .menu-item-has-children:hover > .sub-menu,
	.srs-el-primary-menu .elementor-nav-menu--main > .elementor-nav-menu > .menu-item-has-children:focus-within > .sub-menu {
		display: block !important;
	}
}


/* Header mobile no-wrap v1 */
@media (max-width: 767px) {
	.srs-el-header-inner {
		flex-wrap: nowrap !important;
		gap: .5rem;
	}

	.srs-el-brand,
	.srs-el-header-ctas {
		flex-wrap: nowrap !important;
	}

	.srs-el-brand {
		gap: .5rem;
		min-width: 0;
	}

	.srs-el-brand-text {
		min-width: 0;
	}

	.srs-el-brand-title .elementor-heading-title {
		font-size: 1rem;
		white-space: nowrap;
	}
}


/* Header sticky wrapper + submenu continuity v2 */
header.elementor-location-header {
	position: sticky;
	top: 0;
	z-index: 999;
	width: 100%;
}

body.admin-bar header.elementor-location-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar header.elementor-location-header {
		top: 46px;
	}
}

@media (min-width: 1024px) {
	.srs-el-primary-menu .elementor-nav-menu--main > .elementor-nav-menu > .menu-item-has-children > .sub-menu {
		top: calc(100% - 1px) !important;
		margin-top: 0 !important;
	}

	.srs-el-primary-menu .elementor-nav-menu--main > .elementor-nav-menu > .menu-item-has-children::after {
		content: "";
		position: absolute;
		inset-inline: 0;
		top: 100%;
		height: 2px;
	}
}

.srs-el-logo a {
	display: inline-flex;
	border-radius: .75rem;
}

.srs-el-logo a:focus-visible {
	outline: 2px solid #1d4ed8;
	outline-offset: 3px;
}

/* SRS Elementor main landmark v1 — semantic wrapper, intentionally layout-neutral. */
.elementor .srs-main-elementor.e-con {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--gap: 0px 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--widgets-spacing: 0px 0px;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	gap: 0;
}


/* SRS Elementor skip link v1 — Elementor-owned content, global accessible behavior. */
.srs-el-skip-link {
	position: fixed !important;
	top: .75rem;
	left: .75rem;
	z-index: 10000;
	width: 1px !important;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.srs-el-skip-link:focus-within {
	width: auto !important;
	height: auto;
	overflow: visible;
	clip: auto;
	clip-path: none;
	white-space: normal;
}

.srs-el-skip-link .elementor-button {
	padding: .65rem .9rem;
	border: 1px solid #cbd5e1;
	border-radius: .75rem;
	background: #fff;
	color: #0f172a;
	box-shadow: 0 10px 15px -3px rgba(15,23,42,.12), 0 4px 6px -4px rgba(15,23,42,.08);
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: .875rem;
	font-weight: 700;
}

/* Footer legal typography/color are owned by the Elementor Text Editor widgets. */
.srs-el-footer-legal p {
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}
