/*
 * SCF Elementor Pages – compatibility layer.
 *
 * Loaded before the page stylesheets. It makes Elementor's wrappers neutral so
 * the sections render exactly like the original HTML pages:
 *
 * 1. Builder containers and section widgets get no spacing of their own.
 * 2. On the front end, unstyled wrappers use display:contents, so the original
 *    sections lay out as direct children of the page (sticky header etc.).
 * 3. Elementor's base element rules (.elementor a / img / ...) are reverted
 *    inside the sections; the page CSS (same specificity, loaded later) wins
 *    wherever the original design sets a value.
 */

/* 1. Containers created by the builder (editor and front end). */
.scf-page .scf-c {
	/* Elementor writes display:flex into each container's generated CSS; the
	   original page uses normal block flow. */
	--display: block !important;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--margin-top: 0px;
	--margin-right: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--width: 100%;
	--min-height: 0;
	--position: static;
	--z-index: auto;
	--overflow: visible;
	--container-widget-width: 100%;
	--content-width: 100%;
}
.scf-page .scf-c.scf-main {
	--width: auto;
}

/* Section widgets: no spacing between sections. */
.scf-page .elementor-element[class*="elementor-widget-scf-"] {
	--kit-widget-spacing: 0px;
	margin-block-end: 0;
	margin-bottom: 0;
	width: 100%;
	max-width: none;
	min-width: 0;
}
.scf-page [class*="elementor-widget-scf-"] > .elementor-widget-container {
	margin: 0;
	padding: 0;
}

/* 2. Front end: layout-transparent wrappers. */
.scf-page .elementor-element.scf-plain,
.scf-page .elementor-element.scf-plain > .elementor-widget-container {
	display: contents;
}

/* Global header & footer: their wrappers (and, on the live page, the page
   content's wrappers) are layout-transparent, so the header, content and
   footer lay out as direct children of <body> like the original page. */
.scf-part,
.scf-part > .elementor,
.scf-content,
.scf-content.scf-content--live > .elementor {
	display: contents;
}

/* 3. Revert Elementor base rules inside the sections. */
.scf-page [class*="elementor-widget-scf-"] *,
.scf-page [class*="elementor-widget-scf-"] ::before,
.scf-page [class*="elementor-widget-scf-"] ::after {
	box-sizing: revert;
}
.scf-page [class*="elementor-widget-scf-"] a {
	box-shadow: revert;
	text-decoration: revert;
}
.scf-page [class*="elementor-widget-scf-"] img {
	max-width: revert;
	border: revert;
	border-radius: revert;
	box-shadow: revert;
}
.scf-page [class*="elementor-widget-scf-"] img:where(:not([height])) {
	height: revert;
}
.scf-page [class*="elementor-widget-scf-"] hr {
	margin: revert;
	background-color: revert;
}
.scf-page [class*="elementor-widget-scf-"] embed,
.scf-page [class*="elementor-widget-scf-"] iframe,
.scf-page [class*="elementor-widget-scf-"] object,
.scf-page [class*="elementor-widget-scf-"] video {
	max-width: revert;
	width: revert;
	margin: revert;
	line-height: revert;
	border: revert;
}

/* Theme styles are switched off on built pages; keep accessibility helpers hidden. */
.scf-page .screen-reader-text,
.scf-page .skip-link.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.scf-page .screen-reader-text:focus,
.scf-page .skip-link.screen-reader-text:focus {
	background-color: #fff;
	clip: auto !important;
	clip-path: none;
	color: #111;
	display: block;
	font-size: 14px;
	height: auto;
	left: 6px;
	line-height: normal;
	padding: 12px 20px;
	text-decoration: none;
	top: 6px;
	width: auto;
	z-index: 100000;
}

/* Editor: empty inline-editing areas stay clickable. */
.scf-page.elementor-editor-active [class*="elementor-widget-scf-"] .elementor-inline-editing:empty {
	min-width: 1em;
	min-height: 1em;
}

/* 4. Site-wide fixes for the original designs (Home, India, Pakistan, Privacy,
   Terms), since 1.4.0. Scoped to those designs' content so the newer designs
   are never affected; the extra classes outrank the designs' own rules. */
.scf-content:is(.scf-scope-home, .scf-scope-india, .scf-scope-pakistan, .scf-scope-privacy, .scf-scope-terms) [id] {
	scroll-margin-top: 96px;
}
@media (min-width: 900px) {
	.scf-content:is(.scf-scope-home, .scf-scope-india, .scf-scope-pakistan, .scf-scope-privacy, .scf-scope-terms) [id] {
		scroll-margin-top: 130px;
	}
}
/* The site header's mega menu links every page now: the old page links bar
   keeps only its "On this page" menu (shown up to 1000px wide). */
@media (min-width: 1001px) {
	.scf-content .scf-page-bar {
		display: none !important;
	}
}
@media (max-width: 1000px) {
	.scf-content .scf-page-bar .scf-page-inner > a {
		display: none !important;
	}
	.scf-content .scf-page-bar .scf-page-inner {
		justify-content: flex-start !important;
		padding-top: 4px !important;
		padding-bottom: 4px !important;
	}
	.scf-content .scf-page-bar summary {
		display: flex;
		align-items: center;
		min-height: 44px;
	}
	.scf-content .scf-page-bar .scf-section-links a {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
	}
}
/* Pakistan documents block: never wider than the screen. */
.scf-content.scf-scope-pakistan.scf-scope.scf-scope .docs-sym-left,
.scf-content.scf-scope-pakistan.scf-scope.scf-scope .docs-sym-right {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
/* Readable minimum text size on phones and tablets (body.scf-page outranks the designs' own !important rules). */
@media (max-width: 1024px) {
	body.scf-page .scf-content:is(.scf-scope-home, .scf-scope-india, .scf-scope-pakistan, .scf-scope-privacy, .scf-scope-terms) :is(.terms-panel-top small, .stat-list span, .overview-stats .btn, .country-region-count, .country-pill-grid span, .popular-kicker, .popular-country span,
	.scf-country-link, .cred-text-v2 span, dt, .certificate-copy span, .saving-kicker, .type-no, .filters .filter, .closing-eyebrow, .f-name small, .f-col h4,
	figcaption small, figcaption span, .proof-kicker-v4, .review-person-v4 span, .google-source-v4, article > small, .process-card-v4 small, .tag, .n, .mini,
	.activation-card-clean a, .faq-count, .source a, .contact-checks-new span, .mobile-actions a, .india2-odi-card span, .route-image-label span,
	.route-summary-item small, .route-summary-item span, .route-option-foot small, .india2-doc-layer b, .india2-launch-card a, .india2-source-card a,
	.faq-filters button, .route-or, .pill, .toc-kicker, .section-kicker, .eyebrow, .chapter-kicker, .stat-list span, .hero-simple-points i, .scope-sym-list i,
	.business-trust-v4 article > a, .process-lane-title-v4 small, .route-mini small, .faq-row summary > span, .certificate-trust span) {
		font-size: 12px !important;
	}
}
/* Home region list: name on the first line, country count under it, toggle on the right. */
@media (max-width: 767px) {
	.scf-content.scf-scope-home.scf-scope.scf-scope #countries .country-region-head {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		column-gap: 10px;
		row-gap: 6px;
	}
	.scf-content.scf-scope-home.scf-scope.scf-scope #countries .country-region-title {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
	}
	.scf-content.scf-scope-home.scf-scope.scf-scope #countries .country-region-count {
		grid-column: 1;
		grid-row: 2;
		justify-self: start;
	}
	.scf-content.scf-scope-home.scf-scope.scf-scope #countries .country-region-head::after {
		grid-column: 2;
		grid-row: 1 / span 2;
	}
}
/* Home mobile action bar: readable button text on the narrowest phones. */
@media (max-width: 1024px) {
	body.scf-page .mb-btn {
		font-size: 12px !important;
	}
}

