/* ==========================================================================
   Variables
   ========================================================================== */

/* Para el menú móvil */
  :root {
   --destinno-mmenu-bg: #ffffff;
  --destinno-mmenu-text: #171717;
  /* --destinno-mmenu-muted: #75797d; */
  --destinno-mmenu-accent: #55bd79;
  --destinno-mmenu-border: #ececec;
  --destinno-mmenu-header-h: 77px;       /* alto real de la cabecera móvil en Divi */
  --destinno-mmenu-speed: .28s;
  --destinno-mmenu-ease: cubic-bezier(.4, 0, .2, 1);
}


/* ==========================================================================
   Base
   ========================================================================== */

/*
 * Ajustes generales del proyecto.
 */

/* ==========================================================================
   Divi fixes
   ========================================================================== */

/*
 * Pequeñas correcciones específicas para Divi.
 */

/* ==========================================================================
   Header
   ========================================================================== */
.et-pb-menu .et-menu-nav li ul.sub-menu a::before {
	content:'+';
	display:inline-block;
	color: #55bd79;
	margin-right:8px;
}

/* ==========================================================================
   Footer
   ========================================================================== */

/* ==========================================================================
   Components
   ========================================================================== */
/* ==========================================================================
   Destinno — menú móvil (off-canvas + acordeón)
   Cargar en el tema hijo, solo se aplica por debajo del breakpoint tablet.
   Los colores y tipografías vienen del proyecto global (Divi / theme): las
   propiedades de color quedan comentadas como referencia y las de
   font-family se han eliminado para no pisar el look&feel global.
   ========================================================================== */

/* Botón cerrar (X) — primer hijo del panel (fuera del <nav> que hace scroll),
   así queda siempre visible arriba y nunca se superpone al contenido. ----- */
.destinno-mmenu__close {
  flex: 0 0 auto;
  align-self: flex-end;
  margin: 10px 8px 0 0;
  width: 40px;
  height: 40px;
  display: none;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  /* color: var(--destinno-mmenu-text); */
  cursor: pointer;
}

.destinno-mmenu__close svg {
  width: 20px;
  height: 20px;
}

body.destinno-mmenu-open .destinno-mmenu__close {
  display: flex;
}

.destinno-mmenu__close:focus-visible,
.destinno-mmenu__toggle:focus-visible,
.destinno-mmenu__link:focus-visible {
  /* outline: 2px solid var(--destinno-mmenu-accent); */
  outline-offset: 2px;
}

/* Panel off-canvas -----------------------------------------------------------
   .destinno-mmenu vive ahora en la FILA de Divi (Avanzado > CSS ID/Class =
   destinno-mmenu), no en un elemento propio. Las filas de Divi traen su
   propio position/width/max-width/padding (a veces hasta inline), así que
   forzamos con !important para que nuestro off-canvas gane siempre a los
   valores por defecto de Divi. */
.destinno-mmenu {
  position: fixed !important;
  top: var(--destinno-mmenu-header-h) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 9998 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 env(safe-area-inset-bottom, 0) 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--destinno-mmenu-bg);
  overflow: hidden;
  /* box-shadow: 0 12px 24px rgba(0, 0, 0, .08); */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  transition: opacity var(--destinno-mmenu-speed) var(--destinno-mmenu-ease),
              transform var(--destinno-mmenu-speed) var(--destinno-mmenu-ease),
              visibility 0s linear var(--destinno-mmenu-speed);
}

/* <nav> es el único hijo que hace scroll: el botón cerrar queda fuera de él
   y siempre a la vista. min-height:0 es necesario para que un hijo flex con
   overflow pueda encogerse por debajo de su contenido y active el scroll. */
.destinno-mmenu__nav {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

body.destinno-mmenu-open .destinno-mmenu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  transition: opacity var(--destinno-mmenu-speed) var(--destinno-mmenu-ease),
              transform var(--destinno-mmenu-speed) var(--destinno-mmenu-ease),
              visibility 0s linear 0s;
}

body.destinno-mmenu-open {
  overflow: hidden;
}

/* Prefijadas con #destinno-mmenu: Divi aplica ".et-l--header ul { list-style-type:
   disc; padding: ...; }" en la cabecera del Theme Builder, con más
   especificidad que una sola clase, y ganaba a estas reglas. */
#destinno-mmenu .destinno-mmenu__list {
  list-style: none;
  margin: 0;
  padding: 8px 0 24px;
}

.destinno-mmenu__item {
  border-bottom: 1px solid var(--destinno-mmenu-border);
}

.destinno-mmenu__link {
  padding: 14px 20px;
  min-height: 48px;
  display: flex;
  align-items: center;
  color: var(--destinno-mmenu-text);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.3;
  transition: color .15s ease, background-color .15s ease;
}

.destinno-mmenu__link:hover,
.destinno-mmenu__link:active {
  /* color: var(--destinno-mmenu-accent); */
  /* background: rgba(0, 0, 0, .02); */
}

/* Marcado en JS (mobile-menu.js) comparando la URL actual con el href de
   cada enlace. -------------------------------------------------------- */
.destinno-mmenu__link--active {
  color: var(--destinno-mmenu-accent);
}

/* Botones de acordeón ------------------------------------------------------ */
.destinno-mmenu__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  min-height: 48px;
  border: 0;
  background: transparent;
  /* color: var(--destinno-mmenu-text); */
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.destinno-mmenu__toggle-label {
  display: flex;
  align-items: center;
  gap: 10px;
}

.destinno-mmenu__chevron {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  /* color: var(--destinno-mmenu-muted); */
  transition: transform var(--destinno-mmenu-speed) var(--destinno-mmenu-ease);
}

.destinno-mmenu__toggle[aria-expanded="true"] .destinno-mmenu__chevron {
  transform: rotate(180deg);
  /* color: var(--destinno-mmenu-accent); */
}

.destinno-mmenu__toggle[aria-expanded="true"] {
  /* color: var(--destinno-mmenu-accent); */
}

/* Contenedor animado del submenú (max-height calculado en JS: es la técnica
   más robusta entre navegadores para acordeones con anidamiento) --------- */
.destinno-mmenu__collapse {
  overflow: hidden;
  max-height: 0;
  transition: max-height var(--destinno-mmenu-speed) var(--destinno-mmenu-ease);
}

#destinno-mmenu .destinno-mmenu__submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  /* background: #ffffff; */
}

.destinno-mmenu__submenu .destinno-mmenu__link {
  padding-left: 36px;
  font-size: 14px;
  font-weight: 400;
  /* color: var(--destinno-mmenu-text); */
}

.destinno-mmenu__submenu .destinno-mmenu__link:hover {
  /* color: var(--destinno-mmenu-accent); */
}

/* Ocultar por completo en escritorio --------------------------------------- */
@media (min-width: 981px) {
  .destinno-mmenu,
  .destinno-mmenu__close {
    display: none !important;
  }
}

/* Respeta preferencia de movimiento reducido -------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .destinno-mmenu,
  .destinno-mmenu__chevron,
  .destinno-mmenu__collapse {
    transition-duration: .001s !important;
  }
}



/* FIN MENU MOVIL */
/* SELECTOR DE IDIOMA */
/* =========================================================
   DESTINNO LANGUAGE SWITCHER
   ========================================================= */

.destinno-lang-switcher {
	position: relative;
	display: inline-flex;
	z-index: 1000;
}


/* ---------------------------------------------------------
   Botón principal
   --------------------------------------------------------- */

.destinno-lang-switcher__trigger {
	display: flex;
	align-items: center;
	gap: 8px;

	border: 0;
	border-radius: 12px;

	padding: 10px 12px;

	background: transparent; /*antes #f5f5f5*/
	color: #222;

	font: inherit;
	font-size: 14px;
	line-height: 1;

	cursor: pointer;

	transition:
		background-color .2s ease,
		color .2s ease;
}


.destinno-lang-switcher__trigger:hover {
	background: #f5f5f5; /*antes #eeeeee*/
}


/* Mundo */

.destinno-lang-switcher__world {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 22px;
	height: 22px;
}


.destinno-lang-switcher__world svg {
	width: 100%;
	height: 100%;
}


/* Idioma */

.destinno-lang-switcher__current {
	display: block;
}


/* Chevron */

.destinno-lang-switcher__chevron {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 16px;
	height: 16px;

	transition: transform .25s ease;
}


.destinno-lang-switcher__chevron svg {
	width: 100%;
	height: 100%;
}


/* Abierto = chevron arriba */

.destinno-lang-switcher.is-open
.destinno-lang-switcher__chevron {
	transform: rotate(180deg);
}


/* ---------------------------------------------------------
   Dropdown
   --------------------------------------------------------- */

.destinno-lang-switcher__dropdown {
	position: absolute;

	top: calc(100% + 10px);
	right: 0;

	min-width: 200px;

	background: #fff;

	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 18px;

	box-shadow:
		0 10px 30px rgba(0, 0, 0, .12);

	overflow: hidden;

	opacity: 0;
	visibility: hidden;

	transform: translateY(-6px);

	transition:
		opacity .2s ease,
		transform .2s ease,
		visibility .2s ease;
}


/* Mostrar */

.destinno-lang-switcher.is-open
.destinno-lang-switcher__dropdown {
	opacity: 1;
	visibility: visible;

	transform: translateY(0);
}


/* ---------------------------------------------------------
   Lista
   --------------------------------------------------------- */

ul.destinno-lang-switcher__list, 
ul.destinno-lang-switcher__list li {
	list-style-type: none;

	margin: 0;
	padding: 0;
}

destinno-lang-switcher__item {
	margin: 0;
	padding: 0;
}


/* ---------------------------------------------------------
   Links
   --------------------------------------------------------- */

.destinno-lang-switcher__link {
	display: grid;

	grid-template-columns: 38px 1fr;
	align-items: center;

	gap: 10px;

	width: 100%;

	padding: 16px 22px;

	color: #555;

	text-decoration: none;

	font-size: 14px;
	line-height: 1.2;

	transition:
		background-color .2s ease,
		color .2s ease;
}


a.destinno-lang-switcher__link:hover {
	background: #f5f5f5;
	color: #222;
}


/* Código */

.destinno-lang-switcher__code {
	font-size: 12px;
	font-weight: 400;
}


/* Nombre */

.destinno-lang-switcher__name {
	white-space: nowrap;
}


/* ---------------------------------------------------------
   Idioma actual
   --------------------------------------------------------- */

.destinno-lang-switcher__item.is-current
.destinno-lang-switcher__link {
	background: #edf9f2;
	color: #32b875;

	font-weight: 600;
}


/* ---------------------------------------------------------
   Focus accesible
   --------------------------------------------------------- */

.destinno-lang-switcher__trigger:focus-visible,
.destinno-lang-switcher__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -2px;
}
/* FIN SELECTOR DE IDIOMA */
.accent-text {
    font-family: 'Playfair destinno italic';
    color: var(--gcid-primary-color);
    font-style: italic;
}
.precios-mes {
	font-size:14px;
	font-weight:400;
	color:#a1a1a1;
}
.features-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;

  margin: 0;
  padding: 0!important;
  list-style: none;
}

.features-list li {
  position: relative;
  list-style-type: none;

  margin: 0;
  padding-left: 1.5rem;

  line-height: 1.5;
}

.features-list li::before {
  content: "";

  position: absolute;
  top: 0.35em;
  left: 0;

  width: 0.8rem;
  height: 0.8rem;

  background-color: #2fbd6b;

 
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;

  
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}
/* Basic */
.features-list--basic li::before {
   mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
}

/* Business */
.features-list--business li::before {
  width: 0.9rem;
  height: 1.15rem;
  top: 0.15em;

  background-color: #55bd79;

  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 31'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14.1371 0.49354C14.3653 0.241355 14.6724 0.0742098 15.0081 0.0195211C15.3438 -0.0351675 15.6881 0.0258471 15.9846 0.192557C16.281 0.359267 16.512 0.621774 16.6396 0.937021C16.7673 1.25227 16.784 1.60154 16.6871 1.92754L14.0711 10.7415H20.6151C22.8231 10.7415 23.9451 13.3975 22.4091 14.9815L7.32509 30.5395C7.0878 30.7837 6.77448 30.9399 6.43664 30.9825C6.0988 31.025 5.75654 30.9513 5.46614 30.7735C5.17573 30.5958 4.95445 30.3245 4.83867 30.0042C4.7229 29.684 4.71952 29.3339 4.82909 29.0115L8.03309 19.5655H2.50309C0.337087 19.5635 -0.802913 16.9935 0.651087 15.3855L14.1371 0.49354ZM3.63309 16.5655H10.1251C10.3633 16.5654 10.5982 16.622 10.8102 16.7307C11.0222 16.8394 11.2053 16.997 11.3443 17.1905C11.4833 17.3841 11.5742 17.6079 11.6094 17.8435C11.6447 18.0792 11.6233 18.3198 11.5471 18.5455L9.80909 23.6655L19.4351 13.7415H12.0611C11.8277 13.7415 11.5976 13.687 11.3889 13.5824C11.1803 13.4778 10.999 13.3259 10.8594 13.1389C10.7198 12.9519 10.6257 12.7349 10.5847 12.5052C10.5437 12.2755 10.5568 12.0393 10.6231 11.8155L11.9351 7.39554L3.63309 16.5655Z' fill='black'/%3E%3C/svg%3E");

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 31'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14.1371 0.49354C14.3653 0.241355 14.6724 0.0742098 15.0081 0.0195211C15.3438 -0.0351675 15.6881 0.0258471 15.9846 0.192557C16.281 0.359267 16.512 0.621774 16.6396 0.937021C16.7673 1.25227 16.784 1.60154 16.6871 1.92754L14.0711 10.7415H20.6151C22.8231 10.7415 23.9451 13.3975 22.4091 14.9815L7.32509 30.5395C7.0878 30.7837 6.77448 30.9399 6.43664 30.9825C6.0988 31.025 5.75654 30.9513 5.46614 30.7735C5.17573 30.5958 4.95445 30.3245 4.83867 30.0042C4.7229 29.684 4.71952 29.3339 4.82909 29.0115L8.03309 19.5655H2.50309C0.337087 19.5635 -0.802913 16.9935 0.651087 15.3855L14.1371 0.49354ZM3.63309 16.5655H10.1251C10.3633 16.5654 10.5982 16.622 10.8102 16.7307C11.0222 16.8394 11.2053 16.997 11.3443 17.1905C11.4833 17.3841 11.5742 17.6079 11.6094 17.8435C11.6447 18.0792 11.6233 18.3198 11.5471 18.5455L9.80909 23.6655L19.4351 13.7415H12.0611C11.8277 13.7415 11.5976 13.687 11.3889 13.5824C11.1803 13.4778 10.999 13.3259 10.8594 13.1389C10.7198 12.9519 10.6257 12.7349 10.5847 12.5052C10.5437 12.2755 10.5568 12.0393 10.6231 11.8155L11.9351 7.39554L3.63309 16.5655Z' fill='black'/%3E%3C/svg%3E");
}
/* Pro */
.features-list--pro li {
  padding-left: 1.75rem;
}
.features-list--pro li::before {
  top: 0.2em;
  width: 1.1rem;
  height: 1.1rem;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16.6598 4.17863C16.86 4.29588 17.0252 4.46434 17.1387 4.66668C18.2545 6.68977 19.1729 8.81691 19.8813 11.016C19.9792 11.3014 20.1627 11.5496 20.4068 11.7269C20.6509 11.9042 20.9437 12.0019 21.2453 12.0067C23.1532 12.0549 25.0548 12.2443 26.9347 12.5733C27.968 12.7547 28.3547 13.9307 27.6213 14.648C26.199 16.0394 24.6796 17.328 23.0747 18.504C22.584 18.8627 22.384 19.4773 22.5707 20.04C23.1617 21.8164 23.6133 23.6361 23.9213 25.4827C23.9827 25.856 24.0391 26.2316 24.0907 26.6093C24.224 27.616 23.1453 28.3267 22.2107 27.8467C20.3543 26.8955 18.5794 25.7931 16.904 24.5507C16.6415 24.3591 16.325 24.2559 16 24.2559C15.675 24.2559 15.3585 24.3591 15.096 24.5507C13.4202 25.7926 11.6454 26.895 9.78932 27.8467C8.85332 28.3267 7.77599 27.616 7.90932 26.6093C8.20935 24.3768 8.71825 22.1774 9.42932 20.04C9.61599 19.4773 9.41466 18.8627 8.92532 18.504C7.51064 17.4651 6.16141 16.3398 4.88532 15.1347C4.71466 14.9747 4.54577 14.8125 4.37866 14.648C3.64532 13.9307 4.03332 12.7547 5.06532 12.5733C6.94545 12.2462 8.84695 12.0568 10.7547 12.0067C11.384 11.9893 11.9333 11.5907 12.1187 11.016C12.6567 9.34519 13.3163 7.71595 14.092 6.14135C14.3382 5.64357 14.5947 5.15201 14.8613 4.66668C14.9747 4.46434 15.14 4.29588 15.3401 4.17863C15.5403 4.06138 15.768 3.99957 16 3.99957C16.2319 3.99957 16.4597 4.06138 16.6598 4.17863Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16.6598 4.17863C16.86 4.29588 17.0252 4.46434 17.1387 4.66668C18.2545 6.68977 19.1729 8.81691 19.8813 11.016C19.9792 11.3014 20.1627 11.5496 20.4068 11.7269C20.6509 11.9042 20.9437 12.0019 21.2453 12.0067C23.1532 12.0549 25.0548 12.2443 26.9347 12.5733C27.968 12.7547 28.3547 13.9307 27.6213 14.648C26.199 16.0394 24.6796 17.328 23.0747 18.504C22.584 18.8627 22.384 19.4773 22.5707 20.04C23.1617 21.8164 23.6133 23.6361 23.9213 25.4827C23.9827 25.856 24.0391 26.2316 24.0907 26.6093C24.224 27.616 23.1453 28.3267 22.2107 27.8467C20.3543 26.8955 18.5794 25.7931 16.904 24.5507C16.6415 24.3591 16.325 24.2559 16 24.2559C15.675 24.2559 15.3585 24.3591 15.096 24.5507C13.4202 25.7926 11.6454 26.895 9.78932 27.8467C8.85332 28.3267 7.77599 27.616 7.90932 26.6093C8.20935 24.3768 8.71825 22.1774 9.42932 20.04C9.61599 19.4773 9.41466 18.8627 8.92532 18.504C7.51064 17.4651 6.16141 16.3398 4.88532 15.1347C4.71466 14.9747 4.54577 14.8125 4.37866 14.648C3.64532 13.9307 4.03332 12.7547 5.06532 12.5733C6.94545 12.2462 8.84695 12.0568 10.7547 12.0067C11.384 11.9893 11.9333 11.5907 12.1187 11.016C12.6567 9.34519 13.3163 7.71595 14.092 6.14135C14.3382 5.64357 14.5947 5.15201 14.8613 4.66668C14.9747 4.46434 15.14 4.29588 15.3401 4.17863C15.5403 4.06138 15.768 3.99957 16 3.99957C16.2319 3.99957 16.4597 4.06138 16.6598 4.17863Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* ==========================================================
   PRECIOS - TABLA DE CARACTERÍSTICAS
========================================================== */


/* ---------- ESTRUCTURA ---------- */
.pricing-comparison {
  width: 100%;
}

.pricing-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.pricing-col--feature {
  width: 46%;
}

.pricing-col--plan {
  width: 18%;
}


/* ---------- CABECERA PRINCIPAL ---------- */

.pricing-table thead th {
  vertical-align: middle;
}

.pricing-table thead th:first-child {
  text-align: left;
}

.pricing-table thead th:not(:first-child) {
  text-align: center;
}


/* ---------- CELDAS ---------- */

.pricing-table td {
  text-align: center;
  vertical-align: middle;
}

.pricing-table tbody th[scope="row"] {
  text-align: left;

  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;

  color: #525252;
}
.pricing-table .is-featured {
	color:#55bd79;
	background-color:rgba(85,189,121,0.05);
}

/* ==========================================================
   FILAS ALTERNAS
========================================================== */

/*
 * El encabezado de sección siempre es el primer <tr>.
 * Por eso:
 *
 * child 2 = primera feature -> blanco
 * child 3 = segunda feature -> gris
 * child 4 = tercera feature -> blanco
 * etc.
 */

.pricing-section .feature-row:nth-child(even) {
  background-color: #fff;
}

.pricing-section .feature-row:nth-child(odd) {
  background-color: rgb(250, 250, 250);
}


/* ==========================================================
   ENCABEZADOS DE SECCIÓN / ACORDEÓN
========================================================== */

.pricing-table .feature-group th {
  padding: 0;
}
/* Funcionalidades */
.pricing-table thead th:first-child {
  font-size:0.75rem;
	color:#a1a1a1;
	text-transform:uppercase;
	letter-spacing:0.1rem;
	font-weight:600;	
}

/* Botón que ocupa toda la anchura del encabezado */

.feature-group__toggle {
  display: flex;
  align-items: center;
  justify-content: flex-start;

  gap: 0.5rem;

  width: 100%;

  /* Ajusta este valor al mismo padding horizontal
     que tengan las celdas normales de la tabla */
  padding: 1rem 24px;

  appearance: none;
  border: 0;
  background: transparent;

  font: inherit;
  color: inherit;
  text-align: left;

  cursor: pointer;
}


/* Icono + título */

.feature-group__content {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;

  gap: 0.5rem;
}


/* Icono */

.feature-group__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 auto;

  line-height: 1rem;
}

.feature-group__icon svg {
  display: block;

  width: auto;
  height: 18px;
}


/* Texto encabezado */

.feature-group__title {
  font-size: 0.75rem;
  font-weight: 700;

  color: #262626;

  text-transform: uppercase;
  letter-spacing: 0.1rem;
}


/* ---------- FLECHA ---------- */

.feature-group__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 auto;

  transition: transform 0.2s ease;
}

.feature-group__arrow svg {
  display: block;

  width: 1rem;
  height: 1rem;

  fill: none;
  stroke: currentColor;

  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* Cerrado */

.feature-group__toggle[aria-expanded="false"]
.feature-group__arrow {
  transform: rotate(180deg);
}


/* Hover opcional */

@media (hover: hover) {

  .feature-group__toggle:hover
  .feature-group__title {
    color: #55bd79;
  }

}


/* Foco de teclado */

.feature-group__toggle:focus-visible {
  outline: 2px solid #55bd79;
  outline-offset: 3px;
}


/* ==========================================================
   CHECK / CROSS
========================================================== */

.status {
  display: inline-grid;
  place-items: center;

  width: 1.5rem;
  height: 1.5rem;

  border-radius: 50%;
}

.status::before {
  content: "";

  width: 0.75rem;
  height: 0.75rem;

  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}


/* ---------- INCLUIDO ---------- */

.status--yes {
  background-color: #dcf7e9;
}

.status--yes::before {
  background-color: #55bd79;

  mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

  -webkit-mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}


/* ---------- NO INCLUIDO ---------- */

.status--no {
  background-color: #f2f2f2;
}

.status--no::before {
  background-color: #aaa;

  mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6 6 18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");

  -webkit-mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6 6 18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}


/* ==========================================================
   TEXTO DE CELDAS ESPECIALES
========================================================== */

.cell-text {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #525252;
}


/* ==========================================================
   FILAS OCULTAS POR EL ACORDEÓN
========================================================== */

.feature-row[hidden] {
  display: none;
}
/* FIN TABLA DE PRECIOS */
/* FAQS */
/* FAQ PANELS */

.faq-panel {
	display: none;
}

.faq-panel.is-active {
	display: flex;
}
/* FAQ SWITCH */
.faq-switch {
	cursor: pointer;
}
.faq-switch h5{
	padding-bottom: 0;
}
/* FAQ SWITCH ACTIVE */

.faq-switch.is-active {
	background-color:#162c38;
}
.faq-switch.is-active h5 {
	color:#fff;
	
}
/* BLOG */
/* ==========================================================
   BLOG · CARDS
   ========================================================== */


/* ----------------------------------------------------------
   HERO / IMAGEN · TODOS LOS ARTÍCULOS
   ---------------------------------------------------------- */

.blog-article__hero {
	position: relative;
	height: 200px;
	overflow: hidden;
}

.blog-article__image,
.blog-article__image .et_pb_image_wrap {
	width: 100%;
	height: 100%;
}

.blog-article__image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 200px;
	object-fit: cover;
}


/* ----------------------------------------------------------
   PRIMER ARTÍCULO · DESTACADO
   ---------------------------------------------------------- */

.blog-column .blog-article:first-child {
	flex-direction: row;
	min-height: 400px;
}

.blog-column .blog-article:first-child .blog-article__hero,
.blog-column .blog-article:first-child .blog-article__text {
	flex: 0 0 50%;
	height: 400px;
}

.blog-column .blog-article:first-child .blog-article__hero {
	min-height: 400px;
}

.blog-column .blog-article:first-child .blog-article__image,
.blog-column .blog-article:first-child .blog-article__image .et_pb_image_wrap,
.blog-column .blog-article:first-child .blog-article__image img {
	width: 100%;
	height: 100%;
	min-height: 400px;
}

.blog-column .blog-article:first-child .blog-article__image img {
	object-fit: cover;
}


/* Texto primer artículo */
.blog-column .blog-article:first-child .blog-article__text {
	justify-content: center;
	padding: 32px;
}
/* fix Divi ajax pagination - Texto */
.blog-article__text__title {
	margin-bottom: 8px !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
}
.blog-article__text__content {
    padding-right: 16px !important;
    padding-left: 16px !important;
}
.blog-article__text__title h2 {
	font-size: var(--gvid-es41fh5irv);
    line-height: 1.15em;
	color: var(--gcid-heading-color, #171717);
    padding-bottom: 10px;
    font-weight: 500;
}
.blog-article__text__content p {
	color: var(--gcid-body-color, #525252);
	font-size:14px;
	font-weight:500;
	line-height:1.5em;
	text-align:left;
}
/* ----------------------------------------------------------
   CATEGORÍA SOBRE LA IMAGEN
   ---------------------------------------------------------- */

.blog-article__category {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	
	/* fix Divi ajax pagination */
	padding:4px 12px;
	border-radius:999px;
	background-color:#fff;
}
/* ==========================================================
   BLOG · FILTRO DE CATEGORÍAS
   ========================================================== */


/* ----------------------------------------------------------
   ESTRUCTURA GENERAL DEL FILTRO

   Fila 1: buscador
   Fila 2: All categories + categorías
   ---------------------------------------------------------- */

.et_pb_post_filter__form:has(.blog-category-filter)
.et_pb_post_filter__controls {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 1rem 0.5rem;
}


/* Buscador */
.et_pb_post_filter__form:has(.blog-category-filter)
[data-type="text"] {
    grid-column: 1 / -1;
    grid-row: 1;
}


/* All categories */
.et_pb_post_filter__form:has(.blog-category-filter)
.blog-filter-all {
    grid-column: 1;
    grid-row: 2;

    width: auto !important;
}


/* Categorías */
.et_pb_post_filter__form:has(.blog-category-filter)
.blog-category-filter {
    grid-column: 2;
    grid-row: 2;

    width: auto !important;
}


/* Ocultamos el label "Categorías" */
.blog-category-filter > .et_pb_post_filter__item-label {
    display: none;
}


/* ----------------------------------------------------------
   LISTA DE CATEGORÍAS
   ---------------------------------------------------------- */

.blog-category-filter .et_pb_post_filter__item-options-list {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 0.5rem;
}


/* Cada opción */
.blog-category-filter .et_pb_post_filter__item-option {
    position: relative;
    display: inline-flex;

    flex: 0 0 auto;
    margin: 0;

    width: initial !important;
}


/* ----------------------------------------------------------
   RADIO NATIVO
   Lo ocultamos visualmente pero sigue siendo accesible
   y sigue disparando toda la lógica AJAX de Divi.
   ---------------------------------------------------------- */

.blog-category-filter .et_pb_post_filter__item-control-radio {
    position: absolute;

    width: 1px;
    height: 1px;

    margin: 0;
    padding: 0;

    opacity: 0;
    overflow: hidden;

    pointer-events: none;
}


/* ----------------------------------------------------------
   PILLS DE CATEGORÍAS
   ---------------------------------------------------------- */

.blog-category-filter .et_pb_post_filter__item-option label {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: auto;

    min-height: 36px;
    padding: 0.5rem 1rem;

    margin: 0;

    background-color: #fff;
    border: 1px solid #dfe3e8;
    border-radius: 999px;

    color: #526173;

    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1;

    white-space: nowrap;
    cursor: pointer;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}


/* Divi utiliza este <i> para dibujar el radio */
.blog-category-filter .et_pb_post_filter__item-option label i {
    display: none !important;
}


/* ----------------------------------------------------------
   HOVER CATEGORÍAS
   ---------------------------------------------------------- */

.blog-category-filter .et_pb_post_filter__item-option label:hover {
    background-color: #55bd7922;
    border-color: #55bd79;
    color: #55bd79;
}


/* ----------------------------------------------------------
   CATEGORÍA ACTIVA
   ---------------------------------------------------------- */

.blog-category-filter
.et_pb_post_filter__item-control-radio:checked + label {
    background-color: #102b3a;
    border-color: #102b3a;
    color: #fff;
}


/* ----------------------------------------------------------
   ALL CATEGORIES
   Por defecto está activo porque no hay filtro seleccionado.
   ---------------------------------------------------------- */

.blog-filter-all .et_pb_post_filter__item-control-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: auto !important;
    min-height: 36px;

    padding: 0.5rem 1rem !important;
    margin: 0;

    background-color: #102b3a;
    border: 1px solid #102b3a;
    border-radius: 999px;

    color: #fff;

    font-size:var(--gvid-oc3k2lrofn);
    font-weight: 500;
    line-height: 1;

    white-space: nowrap;
    cursor: pointer;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.blog-filter-all .et_pb_post_filter__item-control-reset:hover {
    padding: 0.5rem 1rem !important;
	border:1px solid #102b3a;
}

.blog-filter-all .et_pb_post_filter__item-control-reset::after,
.blog-filter-all .et_pb_post_filter__item-control-reset:hover::after {
    display: none !important;
    content: none !important;
}

/* Evitamos adornos que pueda añadir .et_pb_button */
.blog-filter-all .et_pb_post_filter__item-control-reset::after {
    display: none !important;
}


/* ----------------------------------------------------------
   ALL CATEGORIES INACTIVO

   En cuanto existe una categoría seleccionada,
   All categories adopta el aspecto de una pill normal.
   ---------------------------------------------------------- */

.et_pb_post_filter__form:has(
    .blog-category-filter
    .et_pb_post_filter__item-control-radio:checked
)
.blog-filter-all .et_pb_post_filter__item-control-reset {
    background-color: #fff;
    border-color: #dfe3e8;
    color: #526173;
}


/* Hover de All categories cuando está inactivo */
.et_pb_post_filter__form:has(
    .blog-category-filter
    .et_pb_post_filter__item-control-radio:checked
)
.blog-filter-all .et_pb_post_filter__item-control-reset:hover {
    background-color: #55bd7922;
    border-color: #55bd79;
    color: #55bd79;
}


/* ----------------------------------------------------------
   ACCESIBILIDAD / TECLADO
   ---------------------------------------------------------- */

.blog-category-filter
.et_pb_post_filter__item-control-radio:focus-visible + label,
.blog-filter-all
.et_pb_post_filter__item-control-reset:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

/* ----------------------------------------------------------
   MÓVIL
   Scroll horizontal para las categorías.
   ---------------------------------------------------------- */

@media (max-width: 767px) {

    .blog-category-filter
    .et_pb_post_filter__item-options-list {
        overflow-x: auto;
        overflow-y: hidden;

        padding-bottom: 4px;

        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .blog-category-filter
    .et_pb_post_filter__item-options-list::-webkit-scrollbar {
        display: none;
    }

    .blog-category-filter
    .et_pb_post_filter__item-option {
        flex: 0 0 auto;
    }
}
/* Flotante home animado */
@keyframes floating {
	0% {
		transform: translateY(-20px);
	}

	50% {
		transform: translateY(20px);
	}

	100% {
		transform: translateY(-20px);
	}
}

.floating {
	animation: floating 8s ease-in-out infinite;
}
/* FORMULARIO DE CONTACTO */
.contact-form button[type=submit] {
	border-radius:999px;
	background-color:var(--gcid-primary-color)!important;
	font-size:var(--gvid-a88jtx83rr);
	padding:8px 32px!important;
}
/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 980px) {
    /*
     * Tablet y breakpoint habitual de Divi.
     */
}

@media (max-width: 767px) {
	/* ==========================================================
	   PRECIOS - TABLA DE CARACTERÍSTICAS
	========================================================== */
	.pricing-table tbody th[scope="row"] {
	  font-size: 0.75rem;
	}
	.cell-text {
	  font-size: 0.65rem;
	}
	/* Funcionalidades */
	.pricing-table thead th:first-child {
		font-size:0.7rem;
		letter-spacing:0.05rem;	
	}
	.entry-content tr td,.entry-content tr th {
		padding:8px;
	}
	.pricing-col--feature {
	  width: 40%;
	}

	.pricing-col--plan {
	  width: 20%;
	}
	.blog-column .blog-article:first-child {
		flex-direction:column;
		min-height:none;
	}
	.blog-column .blog-article:first-child .blog-article__hero,
	.blog-column .blog-article:first-child .blog-article__text  {
		flex: 0 0 50%;
		height:none%;
	}
	.blog-column .blog-article:first-child .blog-article__text {
		justify-content:center;
		padding:32px;
	}

}
