:root {
	--ad-navy: #102a56;
	--ad-blue: #2563eb;
	--ad-cyan: #06b6d4;
	--ad-pale: #eff8ff;
	--ad-line: #dbeafe;
	--ad-muted: #424d5c;
}

.ad-directory,
.ad-home-showcase,
.ad-sponsored {
	box-sizing: border-box;
	width: min(1180px, calc(100% - 32px));
	margin: 52px auto;
	font-family: "Montserrat", sans-serif;
}

.ad-directory-heading,
.ad-home-heading,
.ad-sponsored-heading {
	margin-bottom: 25px;
}

.ad-home-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 25px;
}

.ad-directory-heading > span,
.ad-home-heading > div > span,
.ad-sponsored-heading > span {
	color: var(--ad-blue);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ad-directory-heading h2,
.ad-home-heading h2,
.ad-sponsored-heading h2 {
	margin: 6px 0;
	color: var(--ad-navy);
	font-size: clamp(27px, 4vw, 38px);
}

.ad-directory-heading p,
.ad-home-heading p {
	margin: 0;
	color: var(--ad-muted);
}

.ad-directory-filter {
	display: grid;
	grid-template-columns: 2fr 1.2fr 1fr .7fr;
	align-items: end;
	gap: 12px;
	padding: 16px;
	border: 1.5px solid #e2e8f0;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(15, 23, 42, .04);
}

.ad-filter-field {
	display: block;
	min-width: 0;
}

.ad-filter-field > span {
	display: block;
	margin-bottom: 6px;
	color: #2c3e50;
	font-size: 11px;
	font-weight: 500;
}

.ad-directory-filter input,
.ad-directory-filter select {
	box-sizing: border-box;
	width: 100%;
	height: 40px;
	padding: 9px 11px;
	border: 1.5px solid #cbd5e1;
	border-radius: 10px;
	background-color: #f8fafc;
	color: #334155;
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	outline: none;
}

.ad-directory-filter input:focus,
.ad-directory-filter select:focus {
	border-color: #f2295b;
	box-shadow: 0 0 0 2px rgba(242, 41, 91, .08);
}

.ad-home-search {
	width: min(330px, 100%);
}

.ad-alphabet,
.ad-category-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 14px 0 10px;
	overflow: visible;
}

.ad-alphabet button,
.ad-category-pills button {
	flex: 0 0 auto;
	min-width: 29px;
	min-height: 29px;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	padding: 5px 8px;
	background: #fff;
	color: #334155;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 500 !important;
	cursor: pointer;
}

.ad-alphabet button.active,
.ad-category-pills button.active {
	border-color: #f2295b;
	background: #f2295b;
	color: #fff;
}

.ad-directory-count,
.ad-rotation-note {
	color: var(--ad-muted);
	font-size: 11px;
}

.ad-company-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
	transition: opacity .32s ease, transform .32s ease;
}

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

.ad-company-grid.is-loading,
.ad-home-grid.is-changing {
	opacity: .35;
	transform: translateY(4px);
	pointer-events: none;
}

.ad-company-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1.5px solid #e2e8f0;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
	transition: transform .25s ease, box-shadow .25s ease;
}

.ad-company-card:hover {
	transform: translateY(-5px);
	border-color: #e69889;
	box-shadow: 0 18px 38px rgba(242, 41, 91, .1);
}

.ad-company-card.is-featured {
	position: relative;
	border-color: #f3a9bc;
	background:
		radial-gradient(circle at 100% 0, rgba(69, 199, 232, .11), transparent 34%),
		linear-gradient(180deg, #fff 0%, #fff9fb 100%);
	box-shadow: 0 14px 34px rgba(20, 41, 87, .08), 0 0 0 3px rgba(242, 41, 91, .025);
}

.ad-company-card.is-featured::before {
	position: absolute;
	z-index: 4;
	inset: 0 0 auto;
	height: 4px;
	background: linear-gradient(90deg, #d6a637, #f5d982 42%, #45c7e8);
	content: "";
}

.ad-company-card.is-featured::after {
	position: absolute;
	right: 14px;
	bottom: 12px;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(21, 153, 229, .12);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.ad-company-image {
	display: block;
	height: 155px;
	border-bottom: 1.5px solid #e2e8f0;
	background-color: #f8fafc;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.ad-company-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 18px;
}

.ad-company-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.ad-company-tags span {
	padding: 3px 9px;
	border-radius: 999px;
	background: #fee2e2;
	color: #f2295b;
	font-size: 9px;
	font-weight: 650;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.ad-company-tags .ad-company-badge {
	background: #fff5f6;
	color: #be123c;
}

body .ad-directory .ad-company-card .ad-company-body h3 {
	margin: 10px 0 7px;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.28 !important;
}

body .ad-directory .ad-company-card .ad-company-body h3 a {
	color: #0f172a;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	text-decoration: none;
}

.ad-company-excerpt,
.ad-company-city {
	color: var(--ad-muted);
	font-size: 11px;
	line-height: 1.5;
}

.ad-company-city {
	margin-top: auto;
	font-weight: 500;
}

.ad-company-body > .ad-seal-row {
	margin: 10px 0 3px;
}

.ad-card-rating {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	gap: 7px;
	margin: 7px 0 1px;
	color: #424d5c !important;
	font-family: "Montserrat", sans-serif;
	text-decoration: none !important;
}

.ad-card-rating span {
	color: #d6a637;
	font-size: 13px;
	letter-spacing: .035em;
}

.ad-card-rating small {
	font-size: 8px;
	font-weight: 500;
}

.vf-home-card .ad-card-rating {
	margin: 7px 0 0;
}

.ad-company-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #e2e8f0;
}

.ad-profile-button {
	flex: 0 0 auto;
	border-radius: 9px;
	padding: 8px 11px;
	border: 1px solid #bfe7ff;
	background: #f4fbff;
	color: #0b5cad !important;
	font-size: 10px;
	font-weight: 650;
	text-decoration: none;
}

.ad-company-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	gap: 5px;
}

.ad-company-links a {
	padding: 4px 7px;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	background: #f8fafc;
	color: #475569;
	font-size: 9px;
	font-weight: 700;
	text-decoration: none;
}

.ad-loading,
.ad-empty {
	padding: 22px;
	text-align: center;
	color: var(--ad-muted);
}

.ad-scroll-sentinel {
	height: 10px;
}

.ad-sponsored {
	padding: 28px;
	border-radius: 28px;
	background: linear-gradient(135deg, #eef7ff, #f8fdff);
}

/* Página inicial: aparência preservada da versão instalada. */
.vf-home-destaque-section {
	box-sizing: border-box;
	width: 100%;
	max-width: 1240px;
	margin: 40px auto;
	padding: 0 20px;
	font-family: Montserrat, sans-serif;
}

.vf-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: 1px solid #f1f5f9;
}

.vf-header-titles h2 {
	margin: 0 0 6px;
	color: #1e293b;
	font-size: 28px;
	font-weight: 700;
}

.vf-header-titles h2 span,
.vf-header-titles .vf-home-accent {
	color: #f2295b;
}

.vf-header-titles p {
	margin: 0;
	color: #424d5c;
	font-size: 13px;
}

.vf-search-wrapper {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 420px;
}

.vf-search-input {
	box-sizing: border-box;
	width: 100%;
	padding: 12px 10px !important;
	border: 1px solid #cbd5e1 !important;
	background: transparent;
	color: #1e293b;
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	outline: none;
	transition: border-color .3s;
}

.vf-search-input:focus {
	border-color: #f2295b !important;
}

.vf-search-btn {
	display: flex;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	margin-left: 14px;
	border: 0;
	border-radius: 50%;
	background: #f2295b;
	box-shadow: 0 4px 12px rgba(242, 41, 91, .25);
	cursor: pointer;
	transition: transform .2s, background-color .2s;
}

.vf-search-btn:hover {
	transform: scale(1.05);
	background: #d91b48;
}

.vf-filter-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
	gap: 10px;
	width: 100%;
	margin-bottom: 34px;
	padding: 4px 0;
	overflow: visible;
}

.ad-home-showcase .vf-filter-container .vf-filter-item {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 88px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 9px 5px;
	border: 1px solid rgba(242, 41, 91, .22) !important;
	border-radius: 18px !important;
	background: #fff !important;
	background-image: none !important;
	box-shadow: 0 6px 18px rgba(15, 23, 42, .025) !important;
	color: inherit;
	font-family: Montserrat, sans-serif;
	text-align: center;
	cursor: pointer;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.ad-home-showcase .vf-filter-container .vf-filter-item:hover {
	transform: translateY(-2px);
	border-color: rgba(242, 41, 91, .38) !important;
	background: #fffafb !important;
	background-image: none !important;
	box-shadow: 0 9px 22px rgba(242, 41, 91, .06) !important;
	color: inherit !important;
}

.ad-home-showcase .vf-filter-container .vf-filter-item.active {
	transform: none;
	border-color: rgba(242, 41, 91, .48) !important;
	background: #fff7f9 !important;
	background-image: none !important;
	box-shadow: 0 7px 20px rgba(242, 41, 91, .055) !important;
}

.vf-filter-item img {
	width: 38px;
	height: 38px;
	margin-bottom: 7px;
	object-fit: contain;
}

.vf-filter-item span {
	display: block;
	width: 100%;
	color: #1e293b;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.3;
	overflow-wrap: anywhere;
	white-space: normal !important;
	word-break: normal;
}

.vf-filter-item.active span {
	color: #f2295b;
}

.ad-home-showcase .vf-filter-container .vf-filter-item:hover span {
	color: #1e293b !important;
}

.ad-home-showcase .vf-filter-container .vf-filter-item.active span {
	color: #f2295b !important;
}

.vf-home-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	transition: opacity .32s ease, transform .32s ease;
}

.vf-home-grid.is-changing {
	transform: translateY(4px);
	opacity: .35;
	pointer-events: none;
}

.vf-home-card {
	position: relative;
	display: flex;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #cbd5e1;
	border-radius: 28px;
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: transform .3s cubic-bezier(.16, 1, .3, 1), border-color .3s, box-shadow .3s;
}

.vf-home-card:hover {
	transform: translateY(-5px);
	border-color: rgba(242, 41, 91, .4);
	box-shadow: 0 12px 30px rgba(242, 41, 91, .1);
}

.vf-home-card.is-featured {
	border-color: #f3a9bc;
	background:
		radial-gradient(circle at 100% 0, rgba(69, 199, 232, .2), transparent 38%),
		linear-gradient(145deg, rgba(255, 255, 255, .84), rgba(255, 244, 249, .72));
	box-shadow: 0 17px 38px rgba(20, 41, 87, .12), inset 0 1px rgba(255, 255, 255, .9);
	backdrop-filter: blur(12px);
}

.vf-home-card.is-featured::before {
	position: absolute;
	z-index: 4;
	inset: 0 0 auto;
	height: 4px;
	background: linear-gradient(90deg, #d6a637, #f5d982 42%, #45c7e8);
	content: "";
}

.vf-home-card.is-new-eagle {
	order: -2;
	border-color: #d6a637;
}

.ad-new-eagle-ribbon {
	position: absolute;
	z-index: 7;
	top: 11px;
	left: 11px;
	padding: 6px 10px;
	border: 1px solid rgba(255,255,255,.82);
	border-radius: 99px;
	background: linear-gradient(90deg,#c79224,#f5d982);
	box-shadow: 0 7px 18px rgba(151,105,16,.22);
	color: #4b3507;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.vf-home-card-thumb {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 130px;
	padding: 15px;
	border-bottom: 1px solid #e2e8f0;
	background-color: #f8fafc;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.vf-home-wp-badge {
	position: absolute;
	right: 15px;
	bottom: 5px;
	z-index: 5;
	display: flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #25d366;
	box-shadow: 0 4px 10px rgba(37, 211, 102, .3);
	transition: transform .2s;
}

.vf-home-wp-badge:hover {
	transform: scale(1.1);
}

.vf-home-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 15px 20px 20px;
}

.vf-home-card-body > .ad-seal-row {
	margin: 0 0 9px;
}

.vf-home-card-cats-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 10px;
}

.vf-home-card-cat {
	padding: 3px 10px;
	border-radius: 999px;
	background: #ffe4e6;
	color: #f2295b;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
}

.vf-home-card-title {
	margin: 0 0 8px !important;
	color: #1e293b;
	font-size: 16px !important;
	font-weight: 700;
	line-height: 1.3;
}

.vf-home-card-title a {
	color: inherit;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	text-decoration: none;
}

.vf-home-card-title a:hover {
	color: #f2295b;
}

.vf-home-card-excerpt {
	display: -webkit-box;
	overflow: hidden;
	color: #424d5c;
	font-size: 12px;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.vf-home-card-actions{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:14px}
.vf-home-profile-button,.vf-home-schedule-button,.vf-home-whatsapp-button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;border-radius:9px;font-size:9px;font-weight:750;line-height:1;text-decoration:none!important;transition:transform .2s ease,filter .2s ease}
.vf-home-profile-button{flex:1;padding:0 12px;border:1px solid #bfe7ff;background:#f4fbff;color:#0b5cad!important;box-shadow:none}
.vf-home-schedule-button{flex:0 0 auto;padding:0 9px;border:1px solid #bfe7ff;background:#fff;color:#0b5cad!important}
.vf-home-whatsapp-button{width:32px;flex:0 0 32px;padding:0;border-radius:50%;background:#25d366;color:#fff!important;box-shadow:0 6px 15px rgba(37,211,102,.17)}
.vf-home-whatsapp-button svg{width:15px;height:15px;fill:currentColor}
.vf-home-profile-button:hover,.vf-home-schedule-button:hover{border-color:#45c7e8;background:#eaf8ff;color:#0b5cad!important;transform:translateY(-1px)}
.vf-home-whatsapp-button:hover{color:#fff!important;filter:brightness(1.03);transform:translateY(-1px)}
.vf-home-whatsapp-button span{display:none}

/* Vitrine pesquisável de histórias. */
.ad-story-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
	gap: 20px;
	transition: opacity .32s ease, transform .32s ease;
}

.ad-story-grid.is-loading {
	transform: translateY(4px);
	opacity: .35;
	pointer-events: none;
}

.ad-story-card {
	display: flex;
	min-width: 0;
	gap: 16px;
	padding: 18px;
	border: 1px solid #f8c7d2;
	border-radius: 18px;
	background: #fffafb;
	box-shadow: 0 7px 22px rgba(15, 23, 42, .05);
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.ad-story-card:hover {
	transform: translateY(-4px);
	border-color: #f2295b;
	box-shadow: 0 13px 28px rgba(242, 41, 91, .09);
}

.ad-story-photo {
	width: 86px;
	height: 112px;
	flex: 0 0 86px;
	border: 1px solid #f8c7d2;
	border-radius: 13px;
	background-color: #f8fafc;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.ad-story-content {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
}

.ad-story-content blockquote {
	display: -webkit-box;
	margin: 0 0 10px;
	overflow: hidden;
	color: #475569;
	font-size: 12px;
	font-style: italic;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

body .ad-story-card .ad-story-content h3 {
	margin: auto 0 3px;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.3;
}

body .ad-story-card .ad-story-content h3 a {
	color: #1e293b;
	text-decoration: none;
	font-size: inherit !important;
}

.ad-story-role,
.ad-story-city {
	margin: 0;
	color: #ed4b79;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.4;
}

.ad-story-city {
	margin-top: 3px;
	color: #424d5c;
	font-weight: 500;
}

.ad-story-company {
	margin: 3px 0 0;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
}

.ad-story-company a {
	color: #142957 !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	text-decoration: none !important;
}

.vf-rotation-note {
	margin-top: 12px;
	text-align: right;
}

@media (max-width: 900px) {
	.ad-directory-filter {
		grid-template-columns: 1fr 1fr;
	}
	.ad-company-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ad-home-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.vf-home-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	/*
	 * Hero móvel das páginas internas.
	 * O JavaScript adiciona a classe apenas ao primeiro hero e nunca à home.
	 */
	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero {
		position: relative !important;
		isolation: isolate;
		display: flex !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: auto !important;
		min-height: 330px !important;
		max-height: none !important;
		margin-top: -85px !important;
		overflow: hidden !important;
		align-items: flex-end !important;
		padding: 135px 28px 48px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background:
			radial-gradient(circle at 82% 35%, rgba(69, 199, 232, .20), transparent 28%),
			radial-gradient(circle at 10% 65%, rgba(242, 41, 91, .12), transparent 30%),
			linear-gradient(135deg, #fff3f6 0%, #f7fbff 60%, #e8f8ff 100%) !important;
		background-image:
			radial-gradient(circle at 12% 28%, rgba(255, 255, 255, .95) 0 2px, transparent 3px),
			radial-gradient(circle at 73% 18%, rgba(69, 199, 232, .65) 0 2px, transparent 3px),
			radial-gradient(circle at 88% 66%, rgba(242, 41, 91, .35) 0 2px, transparent 3px),
			repeating-radial-gradient(ellipse at 50% 145%, transparent 0 54px, rgba(21, 153, 229, .12) 55px 56px, transparent 57px 77px),
			radial-gradient(circle at 82% 35%, rgba(69, 199, 232, .20), transparent 28%),
			radial-gradient(circle at 10% 65%, rgba(242, 41, 91, .12), transparent 30%),
			linear-gradient(135deg, #fff3f6 0%, #f7fbff 60%, #e8f8ff 100%) !important;
		box-shadow: none !important;
	}

	body.ad-has-mobile-internal-hero:has([data-elementor-type="wp-page"] .ad-mobile-standard-hero) .site-main > .page-header:not(.ad-mobile-standard-hero) {
		display: none !important;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero::before {
		position: absolute;
		z-index: -1;
		inset: 84px -28% 13px;
		background: no-repeat center/145% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 760 310' preserveAspectRatio='none'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath stroke='%23d6a637' stroke-opacity='.48' stroke-width='1.2' d='M-30 245C125 122 220 280 390 175S620 96 790 192'/%3E%3Cpath stroke='%231599e5' stroke-opacity='.22' stroke-width='1' d='M-20 265C150 150 238 294 415 205s265-79 390 8'/%3E%3C/g%3E%3C/svg%3E") !important;
		content: "";
		pointer-events: none;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero::after {
		position: absolute;
		z-index: 0;
		right: 0;
		bottom: -1px;
		left: 0;
		height: 48px;
		background: no-repeat center bottom/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 760 82' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 48C78 5 138 74 222 45c94-32 136 31 228 8 92-24 161-59 310-6v35H0z'/%3E%3C/svg%3E");
		content: "";
		pointer-events: none;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero > *,
	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .e-con-inner {
		position: relative;
		z-index: 2;
		width: 100% !important;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .e-con-inner {
		display: flex !important;
		grid-template-columns: 1fr !important;
		align-items: flex-start !important;
		flex-direction: column !important;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .e-con-inner > .e-con,
	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .e-con-inner > .e-flexbox-base,
	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .e-con-inner > [data-element_type] {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		background-color: transparent !important;
		background-image: none !important;
		box-shadow: none !important;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .e-con-inner > .e-con::before,
	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .e-con-inner > .e-con::after,
	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .e-con-inner > .e-flexbox-base::before,
	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .e-con-inner > .e-flexbox-base::after {
		background-image: none !important;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .elementor-background-overlay {
		display: none !important;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .elementor-shape {
		display: none !important;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero h1,
	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero .elementor-heading-title {
		max-width: 100% !important;
		margin-top: 8px !important;
		color: #142957 !important;
		font-size: clamp(29px, 8.5vw, 36px) !important;
		font-weight: 500 !important;
		line-height: 1.12 !important;
		letter-spacing: -.025em !important;
		text-transform: none !important;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero h3 {
		color: #1599e5 !important;
		font-size: 10px !important;
		font-weight: 600 !important;
		line-height: 1.35 !important;
		letter-spacing: .13em !important;
		text-transform: uppercase !important;
	}

	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero span.elementor-heading-title,
	body.ad-has-mobile-internal-hero .ad-mobile-standard-hero p {
		color: #424d5c !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.65 !important;
	}

	body.ad-has-mobile-internal-hero main .page-header.ad-mobile-standard-hero {
		width: 100vw !important;
		margin-right: calc(50% - 50vw) !important;
		margin-left: calc(50% - 50vw) !important;
	}

	.ad-home-heading {
		align-items: flex-start;
		flex-direction: column;
	}
	.ad-directory-filter,
	.ad-company-grid,
	.ad-home-grid {
		grid-template-columns: 1fr;
	}
	.ad-directory {
		width: calc(100% - 24px);
		margin: 28px auto;
	}
	.ad-directory-filter {
		gap: 9px;
		padding: 12px;
		border-radius: 13px;
	}
	.vf-home-grid {
		grid-template-columns: 1fr;
	}
	.vf-filter-container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 7px;
		margin-bottom: 26px;
	}
	.vf-filter-item {
		min-height: 76px;
		padding: 7px 3px;
		border-radius: 14px;
	}
	.vf-filter-item img {
		width: 31px;
		height: 31px;
		margin-bottom: 5px;
	}
	.vf-filter-item span {
		font-size: 8px;
	}
	.ad-story-grid {
		grid-template-columns: 1fr;
	}
	body .ad-story-card .ad-story-content h3 {
		font-size: 15px !important;
	}
	.ad-company-image {
		height: 195px;
	}
	.ad-sponsored {
		padding: 20px;
	}
}

/* Refinamento visual 3.3.1 — vitrine mais leve e ações compactas. */
.ad-company-card{border-radius:18px}
.ad-company-tags span{padding:4px 8px;border:1px solid #fde7ec;border-radius:8px;background:#fff7f9;color:#d94c70;font-size:8px;font-weight:600;letter-spacing:.02em}
.ad-profile-button{border-radius:9px}
.ad-company-links{gap:6px;flex-wrap:nowrap}
.ad-company-links a.ad-social-icon{display:grid;width:30px;height:30px;box-sizing:border-box;place-items:center;padding:0;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#52647e;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}
.ad-company-links a.ad-social-icon svg{width:15px;height:15px;fill:currentColor}
.ad-company-links a.ad-social-icon:hover{transform:translateY(-1px);border-color:#bfe7ff;background:#f6fbff;color:#0b5cad}
.ad-company-links a.ad-social-icon.instagram:hover{border-color:#f3b6d1;background:#fff7fb;color:#d83d7b}
.ad-company-links a.ad-social-icon.facebook:hover{border-color:#b8cdf7;background:#f5f8ff;color:#1877f2}
.ad-company-links a.ad-social-icon.whatsapp:hover{border-color:#b7e9cf;background:#f4fff9;color:#159b59}
.ad-company-links a.ad-social-icon.schedule:hover{border-color:#f4c6d2;background:#fff8fa;color:#f2295b}
.ad-alphabet{gap:4px;margin-top:12px;opacity:.88}
.ad-alphabet button{min-width:27px;min-height:27px;padding:4px 7px;border-color:#e6ebf2;border-radius:8px;background:#fff;color:#424d5c;font-size:9px;font-weight:500!important;box-shadow:none}
.ad-alphabet button:hover{border-color:#f5c5d1;background:#fff9fb;color:#c94b6b}
.ad-alphabet button.active{border-color:#ef8ca4;background:#fff0f4;color:#c72f55;font-weight:700!important}
.ad-single-context{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:8px 0 10px;color:#424d5c;font:600 11px/1.4 Montserrat,sans-serif}
.ad-single-context a{color:#0b5cad!important;text-decoration:none!important}
.ad-single-context a:hover{color:#f2295b!important}
/* Refinamento 3.3.2 — alfabeto como controle auxiliar, sem competir com as empresas. */
.ad-alphabet{gap:5px;opacity:1}
.ad-alphabet button{min-width:28px;min-height:28px;padding:4px 8px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#52647e;font-size:9px;font-weight:600!important;box-shadow:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}
.ad-alphabet button:hover{transform:translateY(-1px);border-color:#bfe7ff;background:#f6fbff;color:#0b5cad}
.ad-alphabet button.active{border-color:#f3c2ce;background:#fff8fa;color:#c94b6b;font-weight:700!important;box-shadow:0 2px 8px rgba(20,41,87,.04)}


/* =========================================================
   ÁGUIAS 3.3.3 — PADRÃO VISUAL UNIFICADO
   Mantém Montserrat, reduz ruído do A–Z e padroniza breadcrumb,
   textos de vitrine e ícones sociais das páginas individuais.
   ========================================================= */
body .ad-directory,
body .ad-directory *,
body .ad-single-page,
body .ad-single-page *,
body .ad-taxonomy-page,
body .ad-taxonomy-page *{font-family:"Montserrat",sans-serif}

/* A–Z: controle secundário, neutro por padrão. Alta especificidade para
   neutralizar estilos globais de botões do Elementor/tema. */
body .ad-directory .ad-alphabet{gap:5px;margin:12px 0 10px;opacity:1}
body .ad-directory .ad-alphabet button{min-width:28px!important;min-height:28px!important;padding:4px 8px!important;border:1px solid #dce5ef!important;border-radius:9px!important;background:#fff!important;background-image:none!important;color:#52647e!important;box-shadow:none!important;font-size:9px!important;font-weight:600!important;line-height:1!important;text-transform:none!important}
body .ad-directory .ad-alphabet button:hover{border-color:#bfe7ff!important;background:#f6fbff!important;color:#0b5cad!important;transform:translateY(-1px)}
body .ad-directory .ad-alphabet button.active{border-color:#b9dff6!important;background:#eef8ff!important;color:#0b5cad!important;box-shadow:0 2px 8px rgba(20,41,87,.04)!important}

/* Tipografia consistente nas vitrines. */
body .ad-directory .ad-filter-field>span{font-size:10px!important;font-weight:600!important;line-height:1.3!important;color:#334155!important}
body .ad-directory .ad-directory-count{font-size:10px!important;line-height:1.4!important;color:#424d5c!important}
body .ad-directory .ad-company-tags span{font-size:8px!important;font-weight:600!important;line-height:1.2!important}
body .ad-directory .ad-company-card h3{font-size:16px!important;font-weight:700!important;line-height:1.25!important;letter-spacing:-.015em!important}
body .ad-directory .ad-company-excerpt{font-size:12px!important;line-height:1.62!important;color:#424d5c!important}
body .ad-directory .ad-company-city{font-size:12px!important;line-height:1.4!important;color:#424d5c!important}

/* Breadcrumb e textos auxiliares das páginas públicas. */
body .ad-single-page .ad-seo-breadcrumb,
body .ad-taxonomy-page .ad-seo-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:10.5px!important;font-weight:500!important;line-height:1.45!important;color:#424d5c!important}
body .ad-single-page .ad-seo-breadcrumb a,
body .ad-taxonomy-page .ad-seo-breadcrumb a{color:#52647e!important;text-decoration:none!important}
body .ad-single-page .ad-seo-breadcrumb strong,
body .ad-taxonomy-page .ad-seo-breadcrumb strong{color:#334155!important;font-weight:600!important}
body .ad-single-page .ad-seo-summary{font-size:12px!important;line-height:1.7!important;color:#424d5c!important}
body .ad-single-page .ad-single-content,body .ad-single-page .ad-single-content p,body .ad-single-page .ad-single-content li{font-size:12px!important;line-height:1.72!important;color:#424d5c!important}
body .ad-single-page .ad-section-heading>span{font-size:9px!important;font-weight:700!important;letter-spacing:.10em!important}
body .ad-single-page .ad-section-heading h2{font-size:24px!important;font-weight:700!important;line-height:1.22!important}
body .ad-single-page .ad-section-heading p{font-size:11px!important;line-height:1.6!important}

/* Ícones da página individual iguais aos da vitrine. */
body .ad-single-page .ad-single-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
body .ad-single-page .ad-single-social-icons{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
body .ad-single-page .ad-single-social-icons a.ad-social-icon{display:grid;width:32px;height:32px;box-sizing:border-box;place-items:center;padding:0!important;border:1px solid #dce5ef!important;border-radius:9px!important;background:#fff!important;color:#52647e!important;text-decoration:none!important;box-shadow:none!important;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}
body .ad-single-page .ad-single-social-icons a.ad-social-icon svg{width:15px;height:15px;fill:currentColor}
body .ad-single-page .ad-single-social-icons a.ad-social-icon:hover{transform:translateY(-1px);border-color:#bfe7ff!important;background:#f6fbff!important;color:#0b5cad!important}
body .ad-single-page .ad-single-social-icons a.instagram:hover{border-color:#f3b6d1!important;background:#fff7fb!important;color:#d83d7b!important}
body .ad-single-page .ad-single-social-icons a.facebook:hover{border-color:#b8cdf7!important;background:#f5f8ff!important;color:#1877f2!important}
body .ad-single-page .ad-single-social-icons a.whatsapp:hover{border-color:#b7e9cf!important;background:#f4fff9!important;color:#159b59!important}


/* 3.3.6 — Tipografia e contraste padronizados do plugin. */
.ad-directory, .ad-home-showcase, .ad-sponsored, .ad-member-dashboard, .ad-single-page { --ad-muted:#424d5c; color:#334155; }
.vf-header-titles p { font-size:13px !important; color:#424d5c !important; }
.vf-filter-item span { font-size:10.5px !important; }
.ad-company-excerpt, .ad-company-city { font-size:12px !important; color:#424d5c; }
.ad-plan-seal { font-size:9px !important; }


/* =========================================================
   ÁGUIAS 3.3.6 — TIPOGRAFIA GLOBAL E CONTATOS DA EMPRESA
   - Montserrat como família visual principal de todo o site;
   - base textual de 13px para conteúdo corrido e formulários;
   - página individual recupera nome ao lado dos ícones sociais;
   - componentes pequenos (breadcrumb, selos, tags) preservam sua escala.
   ========================================================= */
html,
body,
body .elementor,
body .elementor-widget,
body .elementor-widget-container,
body input,
body select,
body textarea,
body button {
  font-family: "Montserrat", sans-serif !important;
}
body { font-size:13px; }
body p,
body li,
body label,
body input,
body select,
body textarea,
body .elementor-widget-text-editor {
  font-family:"Montserrat", sans-serif !important;
  font-size:13px;
  color:#424d5c;
}

/* Conteúdo principal público do plugin em 13px, sem aumentar microcomponentes. */
body .ad-single-page .ad-seo-summary,
body .ad-single-page .ad-single-content,
body .ad-single-page .ad-single-content p,
body .ad-single-page .ad-single-content li,
body .ad-directory .ad-company-excerpt,
body .ad-directory .ad-company-city,
body .vf-card p,
body .ad-home-callout p,
body .ad-home-jobs-intro p,
body .vf-header-titles p {
  font-size:13px !important;
  color:#424d5c !important;
}

/* Contatos da página individual: ícone + nome, compactos e sem quebra. */
body .ad-single-page .ad-single-social-icons a.ad-social-icon {
  display:inline-flex !important;
  width:auto !important;
  min-width:32px;
  height:32px;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 9px !important;
  border-radius:9px !important;
  white-space:nowrap;
  font-size:10px !important;
  font-weight:650 !important;
  line-height:1 !important;
}
body .ad-single-page .ad-single-social-icons a.ad-social-icon svg {
  width:14px;
  height:14px;
  flex:0 0 14px;
}
body .ad-single-page .ad-single-social-icons a.ad-social-icon span {
  display:inline !important;
  color:inherit !important;
  font:inherit !important;
}


/* =========================================================
   ÁGUIAS DIGITAIS 3.4.0 — TIPOGRAFIA GLOBAL OFICIAL
   ---------------------------------------------------------
   Montserrat é a família visual única do front-end. A regra
   alcança páginas Elementor (inclusive Sobre Nós), vitrines,
   painéis públicos, formulários e conteúdos do plugin sem
   sobrescrever fontes de ícones (i/svg).
   ========================================================= */
html,
body,
body .elementor,
body .elementor-widget,
body .elementor-widget-container,
body .elementor-heading-title,
body p,
body li,
body a,
body span:not(.dashicons):not([class*="icon"]),
body label,
body input,
body textarea,
body select,
body button,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-family: "Montserrat", sans-serif !important;
}

body,
body p,
body li,
body label,
body input,
body textarea,
body select,
body button {
  font-size: 13px;
}

body p,
body li,
body label,
body .elementor-widget-text-editor,
body .elementor-widget-text-editor p,
body .elementor-widget-text-editor li {
  color: #424d5c;
}

/* Mantém a identidade tipográfica também nas páginas institucionais Elementor. */
body [data-elementor-type="wp-page"],
body [data-elementor-type="wp-page"] *,
body [data-elementor-type="templately-header"],
body [data-elementor-type="templately-footer"] {
  font-family: "Montserrat", sans-serif !important;
}

/* Não substitui famílias técnicas usadas pelos próprios ícones. */
body [data-elementor-type="wp-page"] i,
body [data-elementor-type="wp-page"] svg,
body .dashicons,
body [class^="eicon-"],
body [class*=" eicon-"],
body [class^="fa-"],
body [class*=" fa-"] {
  font-family: inherit;
}


/* =========================================================
   ÁGUIAS DIGITAIS 3.4.0 — PERFIL PÚBLICO
   ========================================================= */
body .ad-single-page .ad-single-social-icons{gap:9px!important}
body .ad-single-page .ad-single-social-icons a.ad-social-icon{min-width:38px!important;height:38px!important;padding:0 12px!important;border-radius:11px!important;font-size:11px!important}
body .ad-single-page .ad-single-social-icons a.ad-social-icon svg{width:16px!important;height:16px!important;flex-basis:16px!important}
body .ad-single-page .ad-banner>span,.ad-public-banner>span{display:none!important}

/* =========================================================
   ÁGUIAS DIGITAIS 3.6.1 — MENU MOBILE
   Mais legível e confortável para cadastro e navegação por toque.
   Mantém desktop intacto e atua somente no cabeçalho responsivo.
   ========================================================= */
@media (max-width: 767px) {
  #header_section,
  #header_section .elementor-container,
  #header_section .elementor-widget-wrap,
  #header_section .elementor-widget-container,
  #header_section .eael-simple-menu-container {
    position: relative;
    z-index: 10020 !important;
  }

  #header_section .eael-simple-menu-toggle,
  #header_section .eael-simple-menu-toggle-text,
  #header_section .elementor-menu-toggle {
    min-width: 48px;
    min-height: 48px;
    border-radius: 12px !important;
    font-size: 15px !important;
  }

  #header_section .eael-simple-menu.eael-simple-menu-responsive,
  #header_section .eael-simple-menu-container .eael-simple-menu {
    width: min(92vw, 430px) !important;
    max-width: 430px !important;
    max-height: calc(100vh - 105px);
    margin: 10px 0 0 auto !important;
    padding: 10px !important;
    overflow-y: auto;
    border: 1px solid #dcecff !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 22px 52px rgba(20, 41, 87, 0.18) !important;
  }

  #header_section .eael-simple-menu li {
    width: 100%;
    margin: 0 !important;
  }

  #header_section .eael-simple-menu li > a {
    display: flex !important;
    align-items: center;
    min-height: 50px;
    padding: 13px 15px !important;
    border-radius: 11px;
    color: #142957 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
  }

  #header_section .eael-simple-menu li + li {
    margin-top: 3px !important;
  }

  #header_section .eael-simple-menu li > a:hover,
  #header_section .eael-simple-menu li.current-menu-item > a,
  #header_section .eael-simple-menu li > a.eael-item-active {
    background: linear-gradient(135deg, #f6fbff, #fff4f7) !important;
    color: #f2295b !important;
  }

  #header_section .eael-simple-menu li ul,
  #header_section .eael-simple-menu .sub-menu {
    width: 100% !important;
    margin: 3px 0 6px !important;
    padding: 5px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #f8fbff !important;
    box-shadow: none !important;
  }

  #header_section .eael-simple-menu li ul li a,
  #header_section .eael-simple-menu .sub-menu li a {
    min-height: 44px;
    padding: 11px 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
  }
}
