/* ==========================================================
   Frenet Widgets · Transportadora (Hero + Navegação)
   Valores por defecto = Propuesta A. Todo se puede
   sobrescribir desde la pestaña Estilo de cada widget.
   ========================================================== */

.fch,
.fcn {
	--fw-violet: #7b3ff3;
	--fw-violet-600: #6a2ee6;
	--fw-violet-50: #f9f5ff;
	--fw-violet-100: #f2ecfe;
	--fw-navy: #0c005a;
	--fw-line: #e7e6ef;
	box-sizing: border-box;
}

.fch *,
.fch *::before,
.fch *::after,
.fcn *,
.fcn *::before,
.fcn *::after {
	box-sizing: border-box;
}

/* Íconos (Font Awesome o SVG) con un solo tamaño controlable */
.fw-icon {
	--fw-icon-size: 1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	line-height: 1;
	font-size: var(--fw-icon-size);
}
.fw-icon svg {
	width: var(--fw-icon-size);
	height: var(--fw-icon-size);
	fill: currentColor;
}

.fw-empty {
	padding: 16px;
	border: 1px dashed #c3b5f7;
	border-radius: 10px;
	color: #5b4a99;
	background: #faf8ff;
	font: 500 13px/1.4 system-ui, sans-serif;
}

/* ---------------------------------------------------------- */
/*  HERO                                                       */
/* ---------------------------------------------------------- */
.fch {
	position: relative;
	overflow: hidden;
	color: #fafafb;
	padding: 56px 24px 104px;
	background:
		radial-gradient(120% 90% at 85% 10%, #5b2bd9 0%, rgba(91, 43, 217, 0) 55%),
		radial-gradient(80% 80% at 0% 100%, #3a15b0 0%, rgba(58, 21, 176, 0) 60%),
		var(--fw-navy);
}

.fch__pattern {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.06;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='98' viewBox='0 0 56 98'%3E%3Cpath d='M28 66L0 50V17L28 1l28 16v33L28 66zm0 32L0 82V66l28 16 28-16v16L28 98z' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
	background-size: 56px;
}

.fch__grid {
	position: relative;
	display: grid;
	grid-template-columns: var(--fch-text, 55%) minmax(0, 1fr);
	gap: 56px;
	align-items: center;
	max-width: 1200px;
	margin-inline: auto;
}

.fch__text {
	--fch-justify: flex-start;
	min-width: 0;
}

.fch__crumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: var(--fch-justify);
	margin-bottom: 22px;
	font-size: 13px;
	color: #b9b2e8;
}
.fch .fch__crumb a {
	color: #b9b2e8;
	text-decoration: none;
}
.fch .fch__crumb a:hover {
	color: #fff;
}
.fch__crumb [aria-current] {
	color: #fff;
}

.fch__pill-wrap {
	display: flex;
	justify-content: var(--fch-justify);
	margin-bottom: 18px;
}
.fch__pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border: 1px solid rgba(207, 195, 255, 0.45);
	border-radius: 999px;
	color: #cfc3ff;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
}

.fch__title {
	margin: 0;
	color: #fafafb;
	font-size: clamp(40px, 5.2vw, 64px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.fch__suffix {
	--fch-g1: #b794ff;
	--fch-g2: #6fe3c1;
	--fch-ga: 90deg;
}
.fch-suffix-gradient .fch__suffix {
	background-image: linear-gradient(var(--fch-ga), var(--fch-g1), var(--fch-g2));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.fch__desc {
	margin-top: 18px;
	margin-left: var(--fch-ml, 0);
	margin-right: var(--fch-mr, 0);
	max-width: 40ch;
	font-size: 18px;
	line-height: 1.55;
	color: #d6d1f2;
}
.fch__desc p {
	margin: 0;
}
.fch__desc p + p {
	margin-top: 0.6em;
}

.fch__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: var(--fch-justify);
	margin-top: 30px;
}

.fch__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 20px;
	border-radius: 10px;
	border: 1px solid transparent;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 0.15s ease, background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.fch__btn--1 {
	background: #fff;
	color: var(--fw-navy);
}
.fch__btn--2 {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.6);
}
.fch__btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.fch__card {
	display: grid;
	gap: 18px;
	padding: 28px;
	border-radius: 24px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.05));
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	min-width: 0;
}

.fch__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 170px;
	padding: 24px;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}
.fch__logo img {
	display: block;
	width: auto;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
}
.fch__logo-name {
	color: var(--fw-navy);
	font-size: 28px;
	font-weight: 700;
}

.fch__chips {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.fch__chip {
	display: grid;
	align-content: start;
	gap: 6px;
	padding: 12px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.08);
	color: #e5e0ff;
	font-size: 12.5px;
	line-height: 1.35;
}
.fch__chip .fw-icon {
	justify-content: flex-start;
	color: #8ff0cf;
}

@media (max-width: 1024px) {
	.fch {
		padding: 40px 24px 88px;
	}
	.fch__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}
}
@media (max-width: 767px) {
	.fch {
		padding: 32px 16px 80px;
	}
	.fch__chips {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.fch__logo {
		height: 130px;
	}
}

/* ---------------------------------------------------------- */
/*  NAVEGAÇÃO                                                  */
/* ---------------------------------------------------------- */
.fcn {
	padding: 6px;
	border-radius: 16px;
	border: 1px solid var(--fw-line);
	background: #fff;
	box-shadow: 0 18px 40px rgba(12, 0, 90, 0.14);
}

.fcn__list {
	display: flex;
	flex-direction: row;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fcn__item {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}

.fcn__link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 100%;
	padding: 12px 18px;
	border-radius: 11px;
	border: 0 solid transparent;
	color: var(--fw-navy);
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none;
	white-space: nowrap;
	transition-property: background-color, color, border-color, box-shadow;
	transition-duration: 180ms;
	transition-timing-function: ease;
}
.fcn__link .fw-icon {
	--fw-icon-size: 17px;
	color: var(--fw-violet);
}
.fcn__link:hover {
	background-color: var(--fw-violet-50);
}
.fcn__item.is-active .fcn__link {
	background-color: var(--fw-violet);
	color: #fff;
}
.fcn__item.is-active .fcn__link .fw-icon {
	color: #fff;
}
.fcn__link:focus-visible {
	outline: 2px solid var(--fw-violet);
	outline-offset: 2px;
}

.fcn-icons-no .fcn__link .fw-icon {
	display: none;
}

/* Sticky dentro del contenedor padre */
.elementor-widget.fcn-sticky-yes,
.fcn-sticky-yes {
	position: sticky;
	top: 96px;
	z-index: 20;
	align-self: flex-start;
}

/* ---------- Modo mobile: scroll lateral ---------- */
@media (max-width: 1024px) {
	.fcn-m-scroll.fcn-bp-tablet .fcn__list {
		flex-direction: row !important;
		overflow-x: auto;
		scrollbar-width: none;
		scroll-snap-type: x proximity;
	}
	.fcn-m-scroll.fcn-bp-tablet .fcn__list::-webkit-scrollbar { display: none; }
	.fcn-m-scroll.fcn-bp-tablet .fcn__item { flex: 0 0 auto !important; scroll-snap-align: start; }
}
@media (max-width: 767px) {
	.fcn-m-scroll.fcn-bp-mobile .fcn__list {
		flex-direction: row !important;
		overflow-x: auto;
		scrollbar-width: none;
		scroll-snap-type: x proximity;
	}
	.fcn-m-scroll.fcn-bp-mobile .fcn__list::-webkit-scrollbar { display: none; }
	.fcn-m-scroll.fcn-bp-mobile .fcn__item { flex: 0 0 auto !important; scroll-snap-align: start; }
}

/* ---------- Modo mobile: selector desplegable ---------- */
.fcn { position: relative; }
.fcn__toggle { display: none; }

.fcn__toggle {
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 8px 10px;
	border: 0;
	border-radius: 11px;
	background: transparent;
	color: var(--fw-navy);
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.fcn__toggle:focus-visible { outline: 2px solid var(--fw-violet); outline-offset: 2px; }
.fcn__toggle-icon {
	--fcn-ib: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: var(--fcn-ib);
	height: var(--fcn-ib);
	border-radius: 9px;
	background: var(--fw-violet);
	color: #fff;
}
.fcn__toggle-icon .fw-icon { --fw-icon-size: 16px; color: inherit; }
.fcn__toggle-text { display: grid; min-width: 0; line-height: 1.2; }
.fcn__toggle-caption { font-size: 11px; font-weight: 500; color: #8a8da3; }
.fcn__toggle-label { font-size: 15px; font-weight: 600; color: var(--fw-navy); }
.fcn__toggle-chev { margin-left: auto; display: flex; color: var(--fw-violet); transition: transform 0.2s ease; }
.fcn__toggle-chev .fw-icon { --fw-icon-size: 14px; }
.fcn.is-open .fcn__toggle-chev { transform: rotate(180deg); }

/* Reglas del panel (se aplican solo con JS activo: sin JS el menú se ve normal) */
@media (max-width: 1024px) {
	.fcn-m-select.fcn-bp-tablet .fcn__toggle { display: flex; }
	.fcn-m-select.fcn-bp-tablet .fcn.fcn--js .fcn__list {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		z-index: 40;
		flex-direction: column !important;
		margin-top: 8px;
		padding: 6px;
		border-radius: 14px;
		border: 1px solid var(--fw-line);
		background: #fff;
		box-shadow: 0 18px 40px rgba(12, 0, 90, 0.16);
	}
	.fcn-m-select.fcn-bp-tablet .fcn.fcn--js.is-open .fcn__list { display: flex; }
	.fcn-m-select.fcn-bp-tablet .fcn--js .fcn__item { flex: none !important; }
	.fcn-m-select.fcn-bp-tablet .fcn--js .fcn__link { justify-content: flex-start; }
}
@media (max-width: 767px) {
	.fcn-m-select.fcn-bp-mobile .fcn__toggle { display: flex; }
	.fcn-m-select.fcn-bp-mobile .fcn.fcn--js .fcn__list {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		z-index: 40;
		flex-direction: column !important;
		margin-top: 8px;
		padding: 6px;
		border-radius: 14px;
		border: 1px solid var(--fw-line);
		background: #fff;
		box-shadow: 0 18px 40px rgba(12, 0, 90, 0.16);
	}
	.fcn-m-select.fcn-bp-mobile .fcn.fcn--js.is-open .fcn__list { display: flex; }
	.fcn-m-select.fcn-bp-mobile .fcn--js .fcn__item { flex: none !important; }
	.fcn-m-select.fcn-bp-mobile .fcn--js .fcn__link { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
	.fch__btn,
	.fcn__link {
		transition: none;
	}
}

/* ---------------------------------------------------------- */
/*  LISTA (Serviços / Por que)                                 */
/* ---------------------------------------------------------- */
.fcl {
	--fcl-justify: flex-start;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.fcl__item {
	display: flex;
	flex-direction: column;
	align-items: var(--fcl-justify);
	gap: 12px;
	margin: 0;
	padding: 16px;
	border: 1px solid #e7e6ef;
	border-radius: 14px;
	background: #fff;
	text-align: left;
	transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.fcl--row .fcl__item {
	flex-direction: row;
	align-items: center;
}
.fcl__icon {
	--fcl-ib: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: var(--fcl-ib);
	height: var(--fcl-ib);
	border-radius: 11px;
	background: #f2ecfe;
	color: #7b3ff3;
}
.fcl__icon .fw-icon {
	--fw-icon-size: 17px;
	color: inherit;
}
.fcl__text {
	min-width: 0;
	color: #0c005a;
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.35;
}
@media (max-width: 767px) {
	.fcl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ---------------------------------------------------------- */
/*  CARDS                                                      */
/* ---------------------------------------------------------- */
.fcc {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.fcc *,
.fcc *::before,
.fcc *::after {
	box-sizing: border-box;
}
.fcc__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 24px;
	border: 1px solid #e7e6ef;
	border-radius: 20px;
	background: #fafaff;
	color: inherit;
	text-decoration: none;
	transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.fcc-eq-yes .fcc__item {
	height: 100%;
}
.fcc__icon {
	--fcc-ib: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: var(--fcc-ib);
	height: var(--fcc-ib);
	border-radius: 12px;
	background: #f2ecfe;
	color: #7b3ff3;
}
.fcc__icon .fw-icon {
	--fw-icon-size: 22px;
	color: inherit;
}
.fcc__body {
	display: grid;
	gap: 8px;
	min-width: 0;
}
.fcc__title {
	margin: 0;
	color: #0c005a;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}
.fcc__text {
	margin: 0;
	color: #565a72;
	font-size: 13.5px;
	line-height: 1.55;
}
@media (max-width: 1024px) {
	.fcc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.fcc { grid-template-columns: minmax(0, 1fr); }
}

/* ---------------------------------------------------------- */
/*  RELACIONADAS                                               */
/* ---------------------------------------------------------- */
.fcr {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.fcr *,
.fcr *::before,
.fcr *::after {
	box-sizing: border-box;
}
.fcr__item {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 14px;
	padding: 20px;
	border: 1px solid #e7e6ef;
	border-radius: 16px;
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.fcr__item:hover {
	border-color: #7b3ff3;
	box-shadow: 0 10px 24px rgba(12, 0, 90, 0.08);
}
.fcr__media {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	height: 120px;
	border-radius: 12px;
	overflow: hidden;
}
.fcr__media img {
	display: block;
	width: auto;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
}
.fcr__title {
	margin: 0;
	color: #0c005a;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
}
.fcr__arrow {
	display: flex;
	justify-content: center;
	color: #7b3ff3;
}
@media (max-width: 767px) {
	.fcr { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.fcl__item,
	.fcc__item,
	.fcr__item,
	.fcn__toggle-chev {
		transition: none;
	}
}

/* ==========================================================
   Clases de sección reutilizables (se ponen en el contenedor,
   Avanzado → Clases CSS). Así todas las plantillas quedan
   idénticas sin copiar CSS a mano.
   ========================================================== */

/* Botón del selector mobile: el tema pinta todos los <button> */
.fcn .fcn__toggle,
.fcn .fcn__toggle:hover,
.fcn .fcn__toggle:focus,
.fcn .fcn__toggle:active {
	background: transparent;
	color: var(--fw-navy);
	border: 0;
	box-shadow: none;
}

/* ---------- .frt-faq : sección de preguntas frecuentes ---------- */
.frt-faq { background: #fafaff; }
.frt-faq > .e-con-inner > .elementor-widget-heading,
.frt-faq > .elementor-widget-heading { flex: 0 0 34%; position: sticky; top: 190px; }
.frt-faq .elementor-widget-heading .elementor-heading-title { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.15; }
.frt-faq .elementor-widget-n-accordion { flex: 1 1 0; min-width: 0; background: #fff; border: 1px solid #e7e6ef; border-radius: 20px; padding: 6px 24px; }
.frt-faq .e-n-accordion { gap: 0 !important; }
.frt-faq .e-n-accordion-item { border-bottom: 1px solid #e7e6ef; }
.frt-faq .e-n-accordion-item:last-child { border-bottom: 0; }
.frt-faq .e-n-accordion-item-title { padding: 18px 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; gap: 14px !important; justify-content: space-between !important; }
.frt-faq .e-n-accordion-item-title-text { font-family: "Host Grotesk", "Inter", sans-serif !important; font-weight: 600 !important; font-size: 16px !important; line-height: 1.35 !important; color: #0c005a !important; }
.frt-faq .e-n-accordion-item-title-icon { width: 26px; height: 26px; border-radius: 50%; background: #f2ecfe; color: #7b3ff3; display: flex !important; align-items: center; justify-content: center; flex: none; transition: transform 0.2s ease, background-color 0.2s ease; }
.frt-faq .e-n-accordion-item-title-icon svg { width: 11px !important; height: 11px !important; fill: currentColor !important; }
.frt-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: #7b3ff3; color: #fff; transform: rotate(45deg); }
.frt-faq .e-n-accordion-item > .e-con,
.frt-faq .e-n-accordion-item > [role="region"] { padding: 0 0 18px !important; border: 0 !important; background: transparent !important; }
.frt-faq .e-n-accordion-item .elementor-widget-text-editor,
.frt-faq .e-n-accordion-item .elementor-widget-text-editor p { font-size: 14px; line-height: 1.6; color: #565a72; }
@media (max-width: 1024px) {
	.frt-faq > .e-con-inner > .elementor-widget-heading,
	.frt-faq > .elementor-widget-heading { position: static; flex-basis: auto; }
	.frt-faq .elementor-widget-n-accordion { width: 100%; padding: 4px 16px; }
}

/* ---------- .frt-band : franja de beneficios Frenet ---------- */
.frt-band { background: linear-gradient(135deg, #f4effe 0%, #eaf8f3 100%); }
.frt-band > .e-con-inner > .elementor-widget,
.frt-band > .elementor-widget { width: 100%; max-width: 1200px; margin-inline: auto; }

/* ---------- .frt-toolband : franja violeta con herramienta (cotizador / rastreo) ---------- */
.frt-toolband { background: #7b3ff3; }
.frt-toolband .elementor-widget-heading .elementor-heading-title { color: #fff !important; font-size: clamp(28px, 3.4vw, 40px) !important; line-height: 1.2 !important; text-align: center; }
.frt-toolband .elementor-widget-text-editor,
.frt-toolband .elementor-widget-text-editor p { color: #e7deff !important; text-align: center; }
.frt-toolband .frt-toolcard { width: 100%; max-width: 980px; margin-inline: auto; background: #fff; border-radius: 22px; padding: 32px; box-shadow: 0 30px 60px rgba(12, 0, 90, 0.25); }
.frt-toolband .frt-toolcard .elementor-widget-text-editor,
.frt-toolband .frt-toolcard .elementor-widget-text-editor p { color: #565a72 !important; text-align: left; }
@media (max-width: 767px) { .frt-toolband .frt-toolcard { padding: 20px; } }

/* ---------- .frt-steps : pasos numerados (icon-box) ---------- */
.frt-steps { counter-reset: frtstep; }
.frt-steps .elementor-widget-icon-box { counter-increment: frtstep; position: relative; background: #fff; border: 1px solid #e7e6ef; border-radius: 18px; padding: 22px; }
.frt-steps .elementor-widget-icon-box::before { content: counter(frtstep); display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-bottom: 14px; border-radius: 50%; background: #7b3ff3; color: #fff; font: 600 14px/1 "Host Grotesk", "Inter", sans-serif; }
.frt-steps .elementor-icon-box-wrapper { display: block !important; text-align: left !important; }
.frt-steps .elementor-icon-box-icon { position: absolute; right: 20px; top: 20px; margin: 0 !important; }
.frt-steps .elementor-icon-box-icon .elementor-icon { font-size: 34px !important; color: #7b3ff3 !important; fill: #7b3ff3 !important; background: none !important; padding: 0 !important; }
.frt-steps .elementor-icon-box-icon .elementor-icon svg { width: 34px; height: 34px; }
.frt-steps .elementor-icon-box-title,
.frt-steps .elementor-icon-box-title a { margin: 0; padding-right: 48px; color: #0c005a !important; font-family: "Host Grotesk", "Inter", sans-serif !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.3 !important; text-align: left !important; }
.frt-steps .elementor-icon-box-description { text-align: left !important; }

/* ---------- .frt-opts : tarjetas con ícono arriba (canales, etc.) ---------- */
.frt-opts .elementor-widget-icon-box { background: #fafaff; border: 1px solid #e7e6ef; border-radius: 18px; padding: 22px; }
.frt-opts .elementor-icon-box-wrapper { display: block !important; text-align: left !important; }
.frt-opts .elementor-icon-box-icon { margin: 0 0 12px !important; display: block; }
.frt-opts .elementor-icon-box-icon .elementor-icon { font-size: 30px !important; color: #7b3ff3 !important; fill: #7b3ff3 !important; background: none !important; padding: 0 !important; }
.frt-opts .elementor-icon-box-icon .elementor-icon svg { width: 30px; height: 30px; }
.frt-opts .elementor-icon-box-title,
.frt-opts .elementor-icon-box-title a { margin: 0 0 8px; color: #0c005a !important; font-family: "Host Grotesk", "Inter", sans-serif !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.25 !important; text-align: left !important; }
.frt-opts .elementor-icon-box-description { color: #565a72 !important; font-size: 13.5px !important; line-height: 1.55 !important; text-align: left !important; }

/* ---------- .frt-info : tarjetas de datos (Telefone) ---------- */
.frt-info > .e-con-inner > .e-con,
.frt-info > .e-con { background: #fff; border: 1px solid #e7e6ef; border-radius: 20px; padding: 24px; }
.frt-info > .e-con-inner > .e-con.frt-hl,
.frt-info > .e-con.frt-hl { background: #7b3ff3; border-color: #7b3ff3; }
.frt-info .frt-hl .elementor-heading-title { color: #fff !important; }
.frt-info .frt-hl .elementor-widget-text-editor,
.frt-info .frt-hl .elementor-widget-text-editor p { color: #ede5ff !important; }
.frt-info .elementor-icon { font-size: 30px !important; color: #7b3ff3 !important; fill: #7b3ff3 !important; }
.frt-info .frt-hl .elementor-icon { color: #fff !important; fill: #fff !important; }

/* v1.2.2: los ítems de pasos / tarjetas comparten el ancho en una fila */
.frt-steps > .elementor-widget, .frt-steps > .e-con-inner > .elementor-widget,
.frt-opts > .elementor-widget, .frt-opts > .e-con-inner > .elementor-widget { flex: 1 1 0; min-width: 0; }
@media (max-width: 767px) {
	.frt-steps > .elementor-widget, .frt-steps > .e-con-inner > .elementor-widget,
	.frt-opts > .elementor-widget, .frt-opts > .e-con-inner > .elementor-widget { flex: 1 1 auto; width: 100%; }
}
.frt-info .elementor-icon svg { fill: currentColor !important; }
.frt-opts .elementor-icon-box-icon .elementor-icon i { font-size: 30px; }
.frt-toolband .frt-toolcard + .elementor-widget-text-editor,
.frt-toolband .frt-toolcard + .elementor-widget-text-editor p { color: #e7deff !important; font-size: 13px; text-align: center; max-width: 900px; margin-inline: auto; }

/* ==========================================================
   Agências · Estado · Município (v1.3.0)
   Antes vivía en el CSS personalizado de las 3 plantillas.
   ========================================================== */
/* ===== Agências v2 (Agências · Estado · Município) ===== */
.frt-aghero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 85% 10%,#5b2bd9 0%,rgba(91,43,217,0) 55%),radial-gradient(80% 80% at 0% 100%,#3a15b0 0%,rgba(58,21,176,0) 60%),#0c005a}
.frt-aghero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='98' viewBox='0 0 56 98'%3E%3Cpath d='M28 66L0 50V17L28 1l28 16v33L28 66zm0 32L0 82V66l28 16 28-16v16L28 98z' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");background-size:56px}
.frt-aghero > .e-con-inner{position:relative}
.frt-aghero__text{flex:0 0 55%;min-width:0}
.frt-aghero__logo{flex:1 1 0;min-width:0}
/* breadcrumb existente */
.frt-agcrumb .elementor-icon-list-items{gap:8px;flex-wrap:wrap}
.frt-agcrumb .elementor-icon-list-item{margin:0!important;padding:0!important}
.frt-agcrumb .elementor-icon-list-item::after{display:none!important}
.frt-agcrumb .elementor-icon-list-text,.frt-agcrumb a{color:#b9b2e8!important;font-size:13px!important;font-weight:400!important;font-family:"Inter",sans-serif!important}
.frt-agcrumb .elementor-icon-list-icon i,.frt-agcrumb .elementor-icon-list-icon svg{color:#b9b2e8!important;fill:#b9b2e8!important;font-size:11px!important;width:11px!important}
.frt-agcrumb .elementor-icon-list-item:last-child .elementor-icon-list-text{color:#fff!important}
.frt-agcrumb a:hover .elementor-icon-list-text{color:#fff!important}
/* etiqueta */
.frt-agpill .elementor-icon-list-items{display:flex}
.frt-agpill .elementor-icon-list-item{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;padding:6px 14px!important;border:1px solid rgba(207,195,255,.45);border-radius:999px}
.frt-agpill .elementor-icon-list-item::after{display:none!important}
.frt-agpill .elementor-icon-list-text{color:#cfc3ff!important;font-size:13px!important;font-weight:500!important;padding:0!important}
.frt-agpill .elementor-icon-list-icon i{color:#cfc3ff!important;font-size:13px!important}
.frt-agpill .elementor-icon-list-icon svg{fill:#cfc3ff!important;width:13px!important}
/* título y texto existentes */
.frt-agh1 .elementor-heading-title{margin:0;text-wrap:balance}
.frt-agsub,.frt-agsub p{color:#d6d1f2!important;font-size:18px!important;line-height:1.55!important;margin:0!important}
/* buscador existente */
.frt-agsearch{max-width:520px;margin-top:8px}
.frt-agsearch .frenet-search-wrapper{position:relative;background:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.frt-agsearch .frenet-search-wrapper::before{content:"";position:absolute;left:16px;top:50%;width:18px;height:18px;transform:translateY(-50%);pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b3ff3' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat;z-index:1}
.frt-agsearch input.frenet-search-input{width:100%;height:56px!important;padding:0 44px 0 46px!important;border:0!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;color:#0c005a!important;font-size:15px!important;outline:none}
.frt-agsearch input.frenet-search-input:focus{box-shadow:0 0 0 3px rgba(183,148,255,.6)!important}
.frt-agsearch input.frenet-search-input::placeholder{color:#8a8da3}
/* logo (widget Hero solo con la tarjeta) */
.frt-logo-only .fch{background:transparent!important;padding:0!important;overflow:visible}
.frt-logo-only .fch__pattern,.frt-logo-only .fch__text{display:none!important}
.frt-logo-only .fch__grid{grid-template-columns:minmax(0,1fr)!important;gap:0!important}

/* ===== Directorio ===== */
.frt-agdir__head{align-items:flex-end}
.frt-agdir__title .elementor-heading-title{max-width:22ch;text-wrap:balance;margin:0}
.frt-aglabel .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;margin:0;padding:7px 14px 7px 12px;border-radius:999px;background:#f2ecfe;color:#7b3ff3!important;font-family:"Host Grotesk","Inter",sans-serif!important;font-size:15px!important;font-weight:600!important;line-height:1.3!important}
.frt-aglabel .elementor-heading-title::before{content:"";width:16px;height:16px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b3ff3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11a7 7 0 0 1 14 0c0 4.9-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}
/* nivel 1: estados en mosaico */
.frt-aglist--states ul{list-style:none;margin:0;padding:0;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;columns:auto!important}
.frt-aglist--states li{margin:0!important;padding:0!important;list-style:none}
.frt-aglist--states li::marker{content:""}
.frt-aglist--states a{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1px solid #e7e6ef;background:#fff;color:#0c005a!important;font-size:15px;font-weight:500;text-decoration:none!important;line-height:1.3;transition:border-color .15s,background-color .15s,transform .15s}
.frt-aglist--states a::before{content:"";width:32px;height:32px;flex:none;border-radius:9px;background:#f2ecfe url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b3ff3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11a7 7 0 0 1 14 0c0 4.9-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center/16px no-repeat}
.frt-aglist--states a::after{content:"";margin-left:auto;width:16px;height:16px;flex:none;opacity:.35;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b3ff3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.frt-aglist--states a:hover{border-color:#7b3ff3;background:#f9f5ff;transform:translateY(-1px)}
.frt-aglist--states a:hover::after{opacity:1}
/* nivel 2: municipios en directorio con scroll */
.frt-aglist--cities > .elementor-widget-container,.frt-aglist--cities > .elementor-shortcode,.frt-aglist--cities .elementor-shortcode{position:relative;border:1px solid #e7e6ef;border-radius:20px;background:#fff;overflow:hidden}
.frt-aglist--cities .elementor-shortcode::after{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none}
.frt-aglist--cities ul{list-style:none;margin:0;padding:18px 22px 40px;max-height:460px;overflow-y:auto;columns:5 170px;column-gap:20px;display:block!important;scrollbar-width:thin;scrollbar-color:#cfc3ff transparent}
.frt-aglist--cities li{break-inside:avoid;margin:0!important;padding:0!important;list-style:none}
.frt-aglist--cities li::marker{content:""}
.frt-aglist--cities a{display:block;padding:6px 8px;border-radius:8px;color:#0c005a!important;font-size:14px;line-height:1.35;text-decoration:none!important}
.frt-aglist--cities a:hover{background:#f2ecfe;color:#7b3ff3!important}
/* nivel 3: agencias en 2 columnas, mapa a la derecha */
.frt-aglist--ags .jet-listing-grid__items{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;margin:0!important}
.frt-aglist--ags .jet-listing-grid__item{width:auto!important;max-width:none!important;padding:0!important;margin:0!important;display:flex}
.frt-aglist--ags .jet-listing-grid__item > .elementor{display:flex;width:100%}
.frt-aglist--ags .jet-listing-grid__item > .elementor > .e-con{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;width:100%;flex-direction:row!important;align-items:stretch!important;border:1px solid #e7e6ef!important;border-radius:18px!important;background:#fff!important;overflow:hidden;box-shadow:none!important;margin:0!important;transition:border-color .15s,box-shadow .15s}
.frt-aglist--ags .jet-listing-grid__item > .elementor > .e-con:hover{border-color:#cfc3ff!important;box-shadow:0 14px 30px rgba(12,0,90,.08)!important}
.frt-aglist--ags .jet-listing-grid__item > .elementor > .e-con > .e-con:first-child{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;--gap:10px;flex:1.15 1 0!important;width:auto!important;min-width:0}
.frt-aglist--ags .jet-listing-grid__item > .elementor > .e-con > .e-con:last-child{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;flex:1 1 0!important;width:auto!important;min-width:0;min-height:200px}
.frt-aglist--ags .elementor-widget-google_maps,.frt-aglist--ags .elementor-widget-google_maps .elementor-widget-container,.frt-aglist--ags .elementor-custom-embed{height:100%;margin:0!important}
.frt-aglist--ags .elementor-widget-google_maps iframe{display:block;height:100%!important;min-height:200px;border-radius:0!important}
.frt-aglist--ags h3.elementor-heading-title{color:#0c005a!important;font-family:"Host Grotesk","Inter",sans-serif!important;font-size:16px!important;font-weight:600!important}
.frt-aglist--ags .elementor-icon-list-text{color:#0c005a!important;font-size:13.5px!important;line-height:1.4!important}
.frt-aglist--ags .elementor-icon-list-icon i{color:#7b3ff3!important}
.frt-aglist--ags .elementor-widget-button{margin-top:auto}

/* ===== Bloque transportadora ===== */
.frt-agbento > .e-con-inner > .e-con,.frt-agbento > .e-con{flex:1 1 0!important;min-width:0}
.frt-agb-left{border:1px solid #e7e6ef;border-radius:22px;background:#fff}
.frt-agb-left .elementor-widget-heading:not(.frt-agweb__h) .elementor-heading-title{color:#0c005a!important;font-family:"Inter",sans-serif!important;font-size:15px!important;font-weight:400!important;line-height:1.6!important}
.frt-agweb{position:relative;margin-top:auto!important;padding:16px 16px 16px 74px!important;border-radius:16px;background:#fafaff;border:1px solid #e7e6ef}
.frt-agweb::before{content:"";position:absolute;left:16px;top:50%;width:44px;height:44px;transform:translateY(-50%);border-radius:12px;background:#7b3ff3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E") center/20px no-repeat}
.frt-agweb .frt-agweb__h .elementor-heading-title{color:#0c005a!important;font-family:"Host Grotesk","Inter",sans-serif!important;font-size:16px!important;font-weight:600!important;line-height:1.3!important;margin:0}
.frt-agweb .jet-listing-grid .elementor-heading-title{color:#565a72!important;font-size:14px!important;font-weight:400!important;font-family:"Inter",sans-serif!important}
.frt-agweb .jet-listing-grid__item,.frt-agweb .jet-listing-grid__items{padding:0!important;margin:0!important}
.frt-agweb .jet-listing-grid__item .e-con{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;border:0!important;background:transparent!important}
.frt-agb-links{border-radius:22px;background:#7b3ff3}
.frt-agb-links .jet-listing-grid__items,.frt-agb-links .jet-listing-grid__item{padding:0!important;margin:0!important}
.frt-agb-links .jet-listing-grid__item .e-con{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;background:transparent!important;border:0!important}
.frt-agb-links .elementor-widget-button{width:100%!important;margin:0!important}
.frt-agb-links .elementor-button{display:flex!important;width:100%;align-items:center;justify-content:flex-start!important;gap:12px;min-height:64px;padding:14px 16px!important;border-radius:14px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;box-shadow:none!important;transition:background-color .15s}
.frt-agb-links .elementor-button:hover{background:rgba(255,255,255,.22)!important}
.frt-agb-links .elementor-button-content-wrapper{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;justify-content:flex-start!important;width:100%}
.frt-agb-links .elementor-button-icon{order:0;width:34px;height:34px;flex:none;border-radius:10px;background:#fff;display:flex!important;align-items:center;justify-content:center;margin:0!important}
.frt-agb-links .elementor-button-icon i{color:#7b3ff3!important;font-size:17px!important}
.frt-agb-links .elementor-button-icon svg{fill:#7b3ff3!important;width:17px!important}
.frt-agb-links .elementor-button-text{order:1;color:#fff!important;font-family:"Host Grotesk","Inter",sans-serif!important;font-size:16px!important;font-weight:600!important}
.frt-agb-links .elementor-button-content-wrapper::after{content:"";order:2;margin-left:auto;width:16px;height:16px;opacity:.7;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}

/* ===== Tablet / mobile ===== */
@media (max-width:1024px){
 .frt-aglist--states ul{grid-template-columns:repeat(3,minmax(0,1fr))}
 .frt-aglist--ags .jet-listing-grid__items{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
 .frt-aghero__text,.frt-aghero__logo{flex:1 1 auto;width:100%}
 .frt-agsub,.frt-agsub p{font-size:16px!important}
 .frt-aglist--states ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .frt-aglist--states a{padding:12px 10px;gap:8px;font-size:13.5px}
 .frt-aglist--states a::before{width:28px;height:28px}
 .frt-aglist--states a::after{display:none}
 .frt-aglist--cities ul{columns:2;column-gap:12px;max-height:520px;padding:14px 14px 36px}
 .frt-aglist--ags .jet-listing-grid__item > .elementor > .e-con{flex-direction:column!important}
 .frt-aglist--ags .jet-listing-grid__item > .elementor > .e-con > .e-con:last-child{min-height:180px;flex:0 0 180px!important}
 .frt-aglist--ags .elementor-widget-google_maps iframe{min-height:180px}
 .frt-agbento > .e-con-inner > .e-con,.frt-agbento > .e-con{flex:1 1 auto!important;width:100%}
 .frt-agb-links .elementor-button{min-height:56px;padding:12px!important;gap:8px}
 .frt-agb-links .elementor-button-icon{width:28px;height:28px;border-radius:8px}
 .frt-agb-links .elementor-button-text{font-size:14.5px!important}
 .frt-agb-links .elementor-button-content-wrapper::after{display:none}
}

/* ===== Ajustes ===== */
.frt-agb-left{justify-content:center}
/* FAQ: mismo ícono + en todas las v2 (también cuando viene de un listing) */
.frt-faq .e-n-accordion-item-title-icon > span{display:none!important}
.frt-faq .e-n-accordion-item-title-icon::before{content:"";width:11px;height:11px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.frt-faq .jet-listing-grid__items,.frt-faq .jet-listing-grid__item{padding:0!important;margin:0!important}
.frt-faq > .e-con-inner > .elementor-widget-jet-listing-grid,.frt-faq > .elementor-widget-jet-listing-grid{flex:1 1 0;min-width:0}

@media (max-width:767px){.frt-faq .elementor-widget-n-accordion{padding:4px 16px!important}}

/* mensaje vacío del shortcode */
.frt-aglist .elementor-shortcode > p{margin:0;padding:16px 18px;border-radius:14px;background:#fafaff;border:1px dashed #d8d2ee;color:#565a72;font-size:14px}
.frt-aglist--cities .elementor-shortcode:has(> p){border:0;background:transparent}
.frt-aglist--cities .elementor-shortcode:has(> p)::after{display:none}

/* ===== Panel de búsqueda (opción B) ===== */
.frt-agpanel{border:1px solid #e7e6ef;border-radius:22px;background:#fff;overflow:hidden}
.frt-agpanel__h{background:#f9f5ff;border-bottom:1px solid #ede5fd}
.frt-aglbl,.frt-aglbl p{margin:0!important;color:#0c005a!important;font-family:"Host Grotesk","Inter",sans-serif!important;font-size:16px!important;font-weight:600!important;line-height:1.3!important}
.frt-agpanel .frt-agsearch{max-width:none;margin:0;width:100%}
.frt-agpanel .frt-agsearch .frenet-search-wrapper{border:1px solid #dcd6ee;box-shadow:0 8px 20px rgba(12,0,90,.06);transition:border-color .15s,box-shadow .15s}
.frt-agpanel .frt-agsearch .frenet-search-wrapper:focus-within{border-color:#7b3ff3;box-shadow:0 0 0 3px rgba(123,63,243,.18)}
.frt-agpanel .frt-agsearch input.frenet-search-input:focus{box-shadow:none!important}
.frt-agpanel .frt-agsearch input.frenet-search-input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.frt-agpanel__b .frt-aglabel{align-self:flex-start}
.frt-agpanel .frt-aglist--cities .elementor-shortcode{border:0;border-radius:0;background:transparent}
.frt-agpanel .frt-aglist--cities ul{padding:0 0 32px;max-height:420px}
.frt-agpanel .frt-aglist .elementor-shortcode > p{margin:0}

/* ===== 1.3.2 · Ajustes ===== */
/* FAQ: el círculo del ícono siempre mide 26 × 26 (Elementor lo dejaba en 11 px de ancho y se veía ovalado). */
.frt-faq .e-n-accordion-item-title-icon{width:26px!important;height:26px!important;min-width:26px!important;flex:0 0 26px!important;padding:0!important;box-sizing:border-box}
/* Menú sobre una franja violeta (Cotação, Rastreamento): sin franja blanca entre el hero y la franja. */
.fr-v2-navwrap:has(+ .frt-toolband):not(.elementor-sticky--active){background:linear-gradient(to bottom,transparent calc(-1 * var(--margin-top, 0px)),#7b3ff3 calc(-1 * var(--margin-top, 0px)))!important}
