.es-main {
	--es-blue: #236caf;
	--es-blue-dark: #125689;
	--es-orange: #f47725;
	--es-orange-soft: #ffc29f;
	--es-pale-blue: #eaf3f8;
	--es-footer: #dfeaf2;
	color: var(--es-blue);
	font-family: Poppins, sans-serif;
	margin: 0;
	max-width: none;
	overflow: hidden;
	width: 100%;
}

.es-main * {
	box-sizing: border-box;
}

.es-main a {
	text-decoration: none;
}

.es-header {
	align-items: center;
	background: #fff;
	display: flex;
	gap: 26px;
	height: 106px;
	justify-content: space-between;
	padding: 0 clamp(24px, 8vw, 180px);
	position: relative;
	z-index: 20;
}

.es-logo img {
	display: block;
	height: auto;
	width: 220px;
}

.es-nav {
	align-items: center;
	display: flex;
	gap: 30px;
	justify-content: center;
}

.es-nav a {
	color: var(--es-blue);
	font-size: 15px;
	font-weight: 500;
}

.es-actions {
	align-items: center;
	display: flex;
	gap: 22px;
}

.es-btn {
	align-items: center;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	display: inline-flex;
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	font-weight: 700;
	justify-content: center;
	min-height: 43px;
	padding: 11px 31px;
	position: relative;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background-color .18s ease, color .18s ease;
	will-change: transform;
}

.es-btn::after {
	content: "›";
	display: inline-block;
	font-size: 1.1em;
	line-height: 1;
	margin-left: 9px;
	opacity: 0;
	transform: translateX(-5px);
	transition: opacity .18s ease, transform .18s ease;
	width: .65em;
}

.es-btn:hover,
.es-btn:focus-visible {
	box-shadow: 0 10px 24px rgba(18, 86, 137, .2);
	filter: brightness(1.03);
	transform: translateY(-2px);
}

.es-btn:hover::after,
.es-btn:focus-visible::after {
	opacity: 1;
	transform: translateX(0);
}

.es-btn:active {
	box-shadow: 0 5px 14px rgba(18, 86, 137, .16);
	transform: translateY(0);
}

.es-btn--orange {
	background: var(--es-orange);
	color: #fff;
}

.es-btn--blue {
	background: var(--es-blue);
	color: #fff;
}

.es-btn--outline {
	background: #fff;
	border: 1.5px solid var(--es-blue);
	color: var(--es-blue);
}

.es-main .wp-block-button__link {
	align-items: center;
	border-radius: 8px;
	cursor: pointer;
	display: inline-flex;
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	justify-content: center;
	text-decoration: none;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
	will-change: transform;
}

.es-main .wp-block-button__link:hover,
.es-main .wp-block-button__link:focus-visible {
	box-shadow: 0 10px 24px rgba(18, 86, 137, .2);
	filter: brightness(1.03);
	transform: translateY(-2px);
}

.es-main .wp-block-button__link:active {
	transform: translateY(0);
}

.es-main .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--es-orange);
	color: #fff;
}

.es-main .wp-block-button.is-style-outline .wp-block-button__link {
	background: #fff;
	border-color: var(--es-blue);
	color: var(--es-blue);
}

.es-hero {
	background: url("../images/sitioweb/hero-bg.png") center/cover no-repeat;
	color: #fff;
	min-height: 526px;
	padding: 70px clamp(32px, 12vw, 240px) 48px;
}

.es-hero__inner {
	max-width: 620px;
}

.es-hero__mark {
	display: block;
	height: auto;
	margin-bottom: 10px;
	width: 190px;
}

.es-hero h1 {
	color: #fff;
	font-size: clamp(48px, 6vw, 68px);
	line-height: 1;
	margin: 0 0 28px;
}

.es-hero h2 {
	color: #fff;
	font-size: clamp(34px, 4vw, 50px);
	line-height: 1.03;
	margin: 0 0 22px;
}

.es-hero p {
	color: #fff;
	font-size: 20px;
	line-height: 1.25;
	margin: 0;
	max-width: 610px;
}

.es-what {
	background: url("../images/sitioweb/what-bg.png") center/cover no-repeat;
	color: #fff;
	min-height: 478px;
	padding: 28px clamp(32px, 12vw, 240px) 36px;
}

.es-what h2 {
	color: #fff;
	font-size: 46px;
	line-height: 1;
	margin: 0 0 22px;
}

.es-what__subtitle {
	color: #fff;
	font-size: 24px;
	margin: 0 0 32px;
}

.es-checks {
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
}

.es-checks li {
	color: #fff;
	font-size: 18px;
	margin: 13px 0;
	padding-left: 26px;
	position: relative;
}

.es-checks li::before {
	background: var(--es-orange);
	border-radius: 50%;
	color: #fff;
	content: "✓";
	font-size: 13px;
	font-weight: 700;
	height: 17px;
	left: 0;
	line-height: 17px;
	position: absolute;
	text-align: center;
	top: 3px;
	width: 17px;
}

.es-what__buttons {
	display: flex;
	gap: 25px;
}

.es-section {
	padding: 45px clamp(24px, 6vw, 110px);
}

.es-section h2 {
	color: var(--es-blue-dark);
	font-size: 38px;
	line-height: 1.05;
	margin: 0;
	text-align: center;
}

.es-section__lead {
	color: #2e78bd;
	font-size: 20px;
	line-height: 1.28;
	margin: 11px auto 28px;
	max-width: 920px;
	text-align: center;
}

.es-benefits {
	display: grid;
	gap: 76px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 24px auto 0;
	max-width: 1180px;
}

.es-benefit {
	border: 3px solid var(--es-orange);
	border-radius: 22px;
	min-height: 217px;
	padding: 18px 20px 14px;
	text-align: center;
}

.es-benefit img {
	height: 67px;
	object-fit: contain;
	width: 67px;
}

.es-benefit h3 {
	color: var(--es-blue-dark);
	font-size: 17px;
	line-height: 1.1;
	margin: 10px 0 10px;
}

.es-benefit p {
	color: #2e78bd;
	font-size: 11px;
	line-height: 1.2;
	margin: 0;
}

.es-steps {
	background: var(--es-pale-blue);
	padding: 28px clamp(24px, 6vw, 110px) 48px;
}

.es-steps h2 {
	color: var(--es-blue-dark);
	font-size: 36px;
	margin: 0;
	text-align: center;
}

.es-steps__sub {
	color: #4d92d1;
	font-size: 22px;
	margin: 0 0 32px;
	text-align: center;
}

.es-step-grid {
	align-items: start;
	display: grid;
	gap: 42px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1060px;
	position: relative;
}

.es-step {
	position: relative;
	text-align: center;
}

.es-step:not(:last-child)::after {
	color: var(--es-orange);
	content: "→";
	font-size: 44px;
	position: absolute;
	right: -36px;
	top: 42px;
}

.es-step img {
	height: 104px;
	object-fit: contain;
	width: 104px;
}

.es-step h3 {
	color: var(--es-blue-dark);
	font-size: 17px;
	line-height: 1.1;
	margin: 16px 0 4px;
}

.es-step p {
	color: #2e78bd;
	font-size: 12px;
	line-height: 1.12;
	margin: 0;
}

.es-packages {
	padding: 28px clamp(18px, 4vw, 70px) 42px;
}

.es-packages h2 {
	color: var(--es-blue-dark);
	font-size: 42px;
	line-height: 1.05;
	margin: 0;
	text-align: center;
}

.es-mxn {
	color: #677d8b;
	font-size: 23px;
	font-weight: 600;
	margin: 4px 0 24px;
}

.es-main-package-slider {
	margin-top: 24px;
}

.es-main-package-slider .easysmart-package-slider__shell {
	max-width: 1220px;
	padding-left: 0;
	padding-right: 0;
}

.es-main-package-slider .easysmart-package-slider__arrow {
	--easysmart-slider-arrow-size: 58px;
}

.es-main-package-slider .easysmart-package-slide {
	border-width: 4px;
	border-radius: 29px;
	min-height: 0;
}

.es-main-package-slider .easysmart-package-slide__logo {
	display: none;
}

.es-main-package-slider .easysmart-package-slide__content {
	border-bottom: 4px solid var(--es-orange);
	min-height: 142px;
	padding: 30px 12px 24px;
}

.es-main-package-slider .easysmart-package-slide__footer {
	gap: 0;
	min-height: 206px;
	padding: 28px 12px 22px;
}

.es-main-package-slider .easysmart-package-slide__count,
.es-main-package-slider .easysmart-package-slide__count.wp-block-heading {
	font-size: clamp(45px, 4vw, 64px) !important;
	font-weight: 700;
}

.es-main-package-slider .easysmart-package-slide__label {
	font-size: clamp(19px, 1.8vw, 24px);
	font-weight: 700;
	margin: 8px 0 0 !important;
}

.es-main-package-slider .easysmart-package-slide__price,
.es-main-package-slider .easysmart-package-slide__price.wp-block-heading {
	color: var(--es-blue-dark);
	font-size: clamp(38px, 3.2vw, 52px) !important;
	font-weight: 700;
}

.es-main-package-slider .easysmart-package-slide__buttons .wp-block-button__link,
.es-main-package-slider .easysmart-package-slide__button.wp-block-button .wp-block-button__link {
	background: var(--es-blue) !important;
	color: #fff !important;
	font-size: 15px;
	min-height: 45px;
	padding: 10px 22px;
}

.es-distributors {
	background: url("../images/sitioweb/distributors-bg.png") center/cover no-repeat;
	min-height: 440px;
	padding: 50px clamp(24px, 6vw, 110px) 54px;
}

.es-distributors h2 {
	color: #0e4d73;
	font-size: 50px;
	margin: 0 0 32px;
	text-align: left;
}

.es-searchbar {
	align-items: center;
	display: grid;
	gap: 26px;
	grid-template-columns: minmax(0, 1.8fr) minmax(220px, .9fr) minmax(220px, .9fr);
	margin-top: 50px;
}

.es-search-field {
	position: relative;
	width: 100%;
}

.es-search-input,
.es-state-select {
	background: #fff;
	border: 0;
	border-radius: 14px;
	color: #8db7da;
	font-family: Poppins, sans-serif;
	font-size: 24px;
	height: 73px;
	padding: 0 28px;
	width: 100%;
}

.es-search-suggestions {
	background: #ffffff;
	border: 1px solid rgba(35, 108, 175, .18);
	border-radius: 12px;
	box-shadow: 0 12px 28px rgba(18, 86, 137, .18);
	left: 0;
	margin-top: 8px;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 100%;
	z-index: 30;
}

.es-search-suggestion {
	background: #fff;
	border: 0;
	color: var(--es-blue);
	cursor: pointer;
	display: block;
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 600;
	padding: 14px 24px;
	text-align: left;
	width: 100%;
}

.es-search-suggestion:hover,
.es-search-suggestion:focus {
	background: var(--es-pale-blue);
	outline: 0;
}

.es-search-input::placeholder {
	color: #b4cde4;
}

.es-directory {
	display: none;
	padding: 52px clamp(24px, 6vw, 110px) 58px;
}

.es-directory.is-visible {
	display: block;
}

.es-directory__empty {
	color: var(--es-blue);
	display: none;
	font-size: 22px;
	margin: 28px 0 0;
}

.es-directory.is-empty .es-directory__empty {
	display: block;
}

.es-state {
	border-top: 5px solid #ffd8c5;
	margin-top: 48px;
	padding-top: 28px;
}

.es-state:first-of-type {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

.es-state h2 {
	color: var(--es-blue);
	font-size: 54px;
	line-height: 1;
	margin: 0 0 30px;
	text-align: left;
}

.es-card-grid {
	display: grid;
	gap: 34px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.es-dealer-card {
	border: 2px solid var(--es-orange);
	border-radius: 23px;
	box-shadow: 0 7px 14px rgba(0, 0, 0, .12);
	color: var(--es-blue);
	min-height: 158px;
	overflow: hidden;
	padding: 0 18px 14px;
}

.es-dealer-card h3 {
	border-bottom: 1.5px solid var(--es-orange);
	color: var(--es-orange);
	font-size: 20px;
	line-height: 1.05;
	margin: 0 -18px 9px;
	padding: 10px 18px 8px;
}

.es-dealer-card h3 span {
	color: var(--es-blue);
	display: block;
	font-size: 15px;
}

.es-dealer-card p {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.18;
	margin: 8px 0;
	padding-left: 24px;
	position: relative;
}

.es-dealer-card p::before {
	background: #8db7da;
	border-radius: 50%;
	color: #fff;
	font-size: 11px;
	height: 16px;
	left: 0;
	line-height: 16px;
	position: absolute;
	text-align: center;
	top: 0;
	width: 16px;
}

.es-dealer-card .person::before { content: "i"; }
.es-dealer-card .address::before { content: "•"; }
.es-dealer-card .phone::before { content: "☎"; }
.es-dealer-card .email::before { content: "✉"; }

.es-become {
	display: none;
}

.es-become.is-visible {
	display: block;
}

.es-become-hero {
	align-items: center;
	background: url("../images/sitioweb/become-distributor-bg.png") center/cover no-repeat;
	display: flex;
	flex-direction: column;
	height: 403px;
	justify-content: center;
	text-align: center;
}

.es-become-hero h2 {
	color: #fff;
	font-size: clamp(48px, 6vw, 76px);
	margin: 0 0 30px;
}

.es-become-hero img {
	filter: brightness(0) invert(1);
	max-width: 260px;
	width: 22vw;
}

.es-become-body {
	padding: 56px 70px 70px;
	text-align: center;
}

.es-become-body > p {
	color: var(--es-blue);
	font-size: 31px;
	line-height: 1.3;
	margin: 0 auto 48px;
	max-width: 1100px;
}

.es-dist-steps {
	display: grid;
	gap: 70px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 auto 58px;
	max-width: 1160px;
}

.es-dist-step img {
	height: 170px;
	object-fit: contain;
	width: 170px;
}

.es-dist-step h3 {
	color: var(--es-blue);
	font-size: 34px;
	line-height: 1.05;
	margin: 22px 0 0;
}

.es-become-note {
	background: #9fc3de;
	color: #2b3e75;
	font-family: Montserrat, sans-serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.22;
	margin: 0 -70px -70px;
	padding: 80px 120px;
}

.es-support {
	padding: 28px clamp(24px, 6vw, 110px) 46px;
	text-align: center;
}

.es-support h2 {
	color: var(--es-blue-dark);
	font-size: 50px;
	margin: 0 0 10px;
}

.es-support p {
	color: #2e78bd;
	font-size: 18px;
	margin: 0 0 26px;
}

.es-support-tabs {
	display: grid;
	gap: 42px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1050px;
}

.es-support-panels {
	margin: 28px auto 0;
	max-width: 1100px;
	text-align: left;
}

.es-support-panel {
	display: none;
}

.es-support-panel.is-active {
	display: block;
}

.es-faq-accordion {
	max-width: none;
}

.es-faq-accordion .easysmart-faq-item__toggle {
	border-radius: 0;
	min-height: 64px;
}

.es-faq-accordion .easysmart-faq-item__answer {
	font-size: 18px;
}

.es-advisory-form {
	background: #ffffff;
	border: 1.5px solid rgba(35, 108, 175, .22);
	border-radius: 14px;
	box-shadow: 0 12px 28px rgba(18, 86, 137, .1);
	color: var(--es-blue-dark);
	padding: clamp(22px, 4vw, 42px);
}

.es-form-intro {
	color: var(--es-blue);
	font-size: 20px;
	line-height: 1.35;
	margin: 0 0 24px;
	text-align: center;
}

.es-form-grid {
	display: grid;
	gap: 18px 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.es-advisory-form label {
	color: var(--es-blue-dark);
	display: block;
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 18px;
}

.es-advisory-form input,
.es-advisory-form textarea {
	background: #f7fbff;
	border: 1.5px solid rgba(35, 108, 175, .28);
	border-radius: 10px;
	color: var(--es-blue-dark);
	display: block;
	font-family: Poppins, sans-serif;
	font-size: 17px;
	margin-top: 8px;
	min-height: 52px;
	padding: 13px 16px;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
	width: 100%;
}

.es-advisory-form textarea {
	min-height: 118px;
	resize: vertical;
}

.es-advisory-form input:focus,
.es-advisory-form textarea:focus {
	background: #fff;
	border-color: var(--es-orange);
	box-shadow: 0 0 0 3px rgba(244, 119, 37, .16);
	outline: 0;
}

.es-advisory-form .es-btn {
	margin: 4px auto 0;
	min-width: 220px;
}

.es-form-hp {
	display: none !important;
}

.es-form-status {
	border-radius: 10px;
	display: none;
	font-family: Montserrat, sans-serif;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 20px;
	padding: 14px 18px;
	text-align: center;
}

.es-form-status--ok {
	background: #e8f7ee;
	color: #176739;
}

.es-form-status--error {
	background: #fff0e9;
	color: #b64d1b;
}

.es-advisory-form[data-status="ok"] .es-form-status--ok,
.es-advisory-form[data-status="error"] .es-form-status--error {
	display: block;
}

.es-support-toggle {
	background: #fff;
	border: 1.5px solid var(--es-blue);
	border-radius: 9px;
	color: var(--es-blue-dark);
	cursor: pointer;
	font-family: Montserrat, sans-serif;
	font-size: 25px;
	font-weight: 700;
	min-height: 76px;
	padding: 18px 34px;
	position: relative;
	transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
	will-change: transform;
}

.es-support-toggle:hover,
.es-support-toggle:focus-visible,
.es-support-toggle.is-active {
	background: var(--es-orange);
	border-color: var(--es-orange);
	box-shadow: 0 10px 24px rgba(244, 119, 37, .2);
	color: #fff;
	transform: translateY(-2px);
}

.es-support-toggle:active {
	box-shadow: 0 5px 14px rgba(244, 119, 37, .16);
	transform: translateY(0);
}

.es-contact {
	align-items: center;
	background: var(--es-footer);
	display: grid;
	gap: 40px;
	grid-template-columns: 1fr 1fr;
	padding: 48px clamp(24px, 6vw, 110px) 34px;
}

.es-contact h2 {
	color: var(--es-blue-dark);
	font-size: 58px;
	margin: 0 0 26px;
	text-align: left;
}

.es-contact p,
.es-contact a {
	color: #2e78bd;
	font-size: 18px;
	line-height: 1.45;
	margin: 0;
}

.es-contact__brand {
	text-align: center;
}

.es-contact__brand img.logo {
	max-width: 340px;
	width: 70%;
}

.es-social {
	display: flex;
	gap: 54px;
	justify-content: center;
	margin-top: 26px;
}

.es-social img {
	height: 31px;
	width: 31px;
}

@media (max-width: 980px) {
	.es-header {
		flex-wrap: wrap;
		height: auto;
		padding: 18px 22px;
	}

	.es-nav,
	.es-actions {
		flex-wrap: wrap;
		gap: 14px;
	}

	.es-benefits,
	.es-step-grid,
	.es-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.es-package-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.es-package-arrow {
		display: none;
	}

	.es-searchbar,
	.es-contact,
	.es-form-grid,
	.es-dist-steps {
		grid-template-columns: 1fr;
	}

	.es-main-package-slider .easysmart-package-slider__shell {
		max-width: 720px;
	}
}

@media (max-width: 640px) {
	.es-header,
	.es-hero,
	.es-what,
	.es-section,
	.es-steps,
	.es-packages,
	.es-distributors,
	.es-directory,
	.es-contact {
		padding-left: 22px;
		padding-right: 22px;
	}

	.es-header {
		align-items: flex-start;
		gap: 16px;
	}

	.es-nav {
		width: 100%;
	}

	.es-actions {
		width: 100%;
	}

	.es-logo img {
		width: 190px;
	}

	.es-benefits,
	.es-step-grid,
	.es-card-grid,
	.es-support-tabs {
		grid-template-columns: 1fr;
	}

	.es-step::after {
		display: none;
	}

	.es-state h2 {
		font-size: 38px;
	}

	.es-main-package-slider .easysmart-package-slider__shell {
		max-width: 360px;
	}

	.es-become-body {
		padding: 42px 22px;
	}

	.es-become-note {
		font-size: 28px;
		margin: 0 -22px -42px;
		padding: 54px 24px;
	}
}
