/*
Theme Name: The7 Child
Theme URI: https://the7.io/
Template: dt-the7
Author: Dream-Theme
Author URI: https://dream-theme.com/
Description: Any design, any layout. No coding required. The7 is the most customisable WordPress theme on the market up to date. Add the power of Visual Composer, The7 Post Types, Ultimate Addons, Slider Revolution, and WooCommerce to the mix, and you'll get the ultimate web-site building toolkit! Theme is translation ready, compatible with WPML, SEO and mobile friendly (certified by Google).
Tags: multipurpose,responsive,retina ready,SEO ready,mobile friendly,iOS,material design,clean,minimal,business,corporate,portfolio,creative,photography,one page site,micro site
Version: 14.2.1.1.1771847296
Updated: 2026-02-23 11:48:16

*/
/* NUESTRA CARTA */
.vc_tta-container {
	max-width: 970px;
	margin: 0 auto;
}
.home .animate-color-mobile-menu-icon .dt-mobile-menu-icon:not(.floating-btn):not(:hover) .menu-line {
  background: #fff !important;
}
body p {
  margin-bottom: 1.5em;
}
.header-bar .branding a {
  margin-top: 20px;
  margin-bottom: 10px;
}
/***** LOGO *****/
.header-bar .branding a img, .mobile-branding a img, #footer img, .logo-box img {
  border-radius: 8px;
}
a.sticky-logo {
  width: 190px;
}
.mobile-branding a {
  width: 190px;
  margin: 10px 0;
}
.ph-wrap.with-logo .logo-box a img {
  width: 190px;
  height: 104px;
  margin: 10px 0;
}
.masthead.line-decoration:not(.side-header):not(.mixed-header):not(.masthead-mobile-header) {
  border-bottom: none;
}
.header-bar .branding a {
  max-width: 280px;
}
/***** FOOTER *****/
body #footer.solid-bg {
  text-align: center;
  background-color: #000 !important;
}
body .footer .widget, body .footer .widget a {
  font-size: 16px;
  font-weight: 600;
  color: #fff !important;
}
body .main-nav > li:not(.wpml-ls-item) > a .menu-text {
  font-weight: 600;
}
/* CAMBIAR ENCUADRE DE LAS FOTOS */
.encuadreImgFondo .vc_parallax-inner.skrollable.skrollable-between {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 0 !important;
}
.encuadreImgFondo02 .vc_parallax-inner.skrollable.skrollable-between {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 0 !important;
}
.encuadreImgContacto .vc_parallax-inner.skrollable.skrollable-between {
  background-position: left top -50px;
  background-repeat: no-repeat;
  background-size: cover;
  top: 0 !important;
}
/* DESACTIVAR NOMBRE DE ARCHIVO EN FOTOS */
.pswp__caption h5 {
  display: none;
}
/***** ICONOS FACEBOOK REDES SOCIALES FOOTER ****/
footer .dt-icon-facebook::before, footer .facebook .soc-font-icon::before, footer .icomoon-the7-font-facebook::before {
  font-size: 30px !important;
  margin-top: 5px !important;
  display: block !important;
}
footer .soc-ico a.facebook::after, footer .soc-ico a.facebook::before {
  top: -2px !important;
  left: -4px !important;
  width: 36px !important;
  height: 36px !important;
}
footer .dt-icon-instagram::before, footer .instagram .soc-font-icon::before, footer .icomoon-the7-font-instagram::before {
  font-size: 25px !important;
  margin-top: 5px !important;
  display: block !important;
}
footer .soc-ico a.instagram::after, footer .soc-ico a.instagram::before {
  top: -4px !important;
  left: -5px !important;
  width: 36px !important;
  height: 36px !important;
}
footer .soc-ico a:hover::after {
  opacity: 0;
}
footer .soc-ico a {
  margin-right: 16px;
}
footer .soc-ico p {
  display: none;
}
.footer .soc-ico a::before {
  background-color: rgba(255, 255, 255, 0.15);
}
.footer .soc-ico a:not(:hover) .soc-font-icon {
  color: #fff;
}
body .scroll-top.on {
  right: 39px !important;
}
#joinchat__label {
  display: none;
}
/* AVISO LEGAL Y COOKIES */
.page-id-762 #main, .page-id-762 #main a, .page-id-762 #main h1, .page-id-762 #main h2, .page-id-762 #main h3, .page-id-2387 #main, .page-id-2387 #main a, .page-id-2387 #main h1, .page-id-2387 #main h2, .page-id-2387 #main h3, .page-id-2384 #main, .page-id-2384 #main a, .page-id-2384 #main h1, .page-id-2384 #main h2, .page-id-2384 #main h3, .page-id-2388 #main, .page-id-2388 #main a, .page-id-2388 #main h1, .page-id-2388 #main h2, .page-id-2388 #main h3 {
  color: #000 !important;
  font-size: 18px;
}
.page-id-762 .vc_column-inner, .page-id-2387 .vc_column-inner, .page-id-2384 .vc_column-inner, .page-id-2388 .vc_column-inner {
  background-color: #fff !important;
}
/***** ICONOS REDES SOCIALES MENU MOVIL ******/
.dt-mobile-header .soc-ico.custom-bg a::before {
  /*background-color: #a58d1f;*/
}
.dt-mobile-header .soc-ico a:hover .soc-font-icon {
  color: #fff !important;
}
.igualarAncho .wpb_wrapper.vc_figure {
  max-width: 821px;
}
/**** MENÚ MÓVIL *****/
.mobile-mini-widgets-in-menu {
  display: block !important;
}
.mobile-mini-widgets-in-menu a {
  margin-bottom: 20px !important;
}
/**** EMBED VIDEO ****/
.anchoVideo .vc_column-inner {
  max-width: 900px;
  margin: 0 auto;
}

@media (max-width:767px) {
  /* Capa 1 - Dale un order mayor */
  .cambiarOrdenMovil .wpb_column.vc_column_container.vc_col-sm-6:first-of-type {
    order: 2 !important;
  }
  .cambiarOrdenMovil .wpb_column.vc_column_container.vc_col-sm-6:last-of-type {
    order: 1 !important;
  }
  /* CONTACTO */
  .vc_column-inner.vc_custom_1764258041713 h2, .vc_column-inner.vc_custom_1764258041713 a, .vc_column-inner.vc_custom_1764258041713 .uvc-sub-heading.ult-responsive {
    text-align: center;
    display: block;
  }
  .enlaceHorarioContacto .ult_colorlink.ult-responsive {
    float: none !important;
  }
  .encuadreImgContacto .vc_parallax-inner.skrollable.skrollable-between {
   background-position: left top -20px;
  }
  .encuadreImgContacto .uvc-heading {
  text-align: center !important;
}
}
@media (max-width:480px) {
  body .scroll-top.on {
    right: 23px !important;
    bottom: 85px !important;
  }
}

@media (max-width:530px) {
  .encuadreImgContacto .vc_parallax-inner.skrollable.skrollable-between {
   /*background-position: left -210px top -160px;*/
  }
}

/* === AFEX INICIO (bloques de contenido; no tocar los marcadores) === */
:root {
  --afx-verde: #97bc18;
  --afx-verde-osc: #5a7310;
  --afx-negro: #111111;
  --afx-gris: #f5f6f1;
  --afx-borde: #e3e6da;
  --afx-texto: #3a3a3a;
  --afx-titulos: "M PLUS Rounded 1c", "Lato", Helvetica, Arial, sans-serif;
  --afx-radio: 14px;
}

/* Filas */
.vc_row.afx-row { padding-top: 88px; padding-bottom: 88px; margin-left: 0; margin-right: 0; }
.vc_row.afx-row--hero { padding-top: 0; padding-bottom: 0; }
.vc_row.afx-row--gris { background-color: var(--afx-gris); }
.vc_row.afx-row--negro { background-color: var(--afx-negro); }
.vc_row.afx-row--verde { background-color: var(--afx-verde); }
.vc_row.afx-row--corta { padding-top: 56px; padding-bottom: 56px; }
.afx-txt.wpb_content_element, .afx-txt.wpb_content_element .wpb_wrapper > *:last-child { margin-bottom: 0; }
.afx-txt { color: var(--afx-texto); font-size: 17px; line-height: 1.75; }
.afx-txt h1, .afx-txt h2, .afx-txt h3, .afx-txt summary { font-family: var(--afx-titulos); font-weight: 800; color: var(--afx-negro); letter-spacing: -0.01em; }
.afx-txt h2 { font-size: 34px; line-height: 1.2; margin: 0 0 20px; }
.afx-txt h3 { font-size: 21px; line-height: 1.3; margin: 0 0 10px; }
.afx-txt p { margin: 0 0 18px; }
.afx-row--negro .afx-txt, .afx-row--negro .afx-txt h2, .afx-row--negro .afx-txt h3 { color: #ffffff; }
.afx-row--negro .afx-txt p { color: rgba(255, 255, 255, 0.82); }
.afx-row--verde .afx-txt, .afx-row--verde .afx-txt h2 { color: var(--afx-negro); }

/* wpautop mete <p> alrededor de enlaces e imágenes sueltos dentro de los bloques */
.afx-cards > p, .afx-card > p, .afx-btns > p, .afx-migas > p, .afx-foto > p, .afx-stat > p, .afx-chips > p, .afx-contacto > p, .afx-dato > p { display: contents; }
.afx-txt br { display: none; }
.afx-txt summary p { display: inline; margin: 0; }

/* Antetítulo y cabecera de sección */
.afx-kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px !important; font-size: 13px; line-height: 1.2; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--afx-verde-osc); }
.afx-kicker::before { content: ""; width: 28px; height: 3px; border-radius: 3px; background: var(--afx-verde); }
.afx-row--negro .afx-kicker, .afx-hero .afx-kicker { color: var(--afx-verde); }
.afx-row--verde .afx-kicker { color: var(--afx-negro); }
.afx-row--verde .afx-kicker::before { background: var(--afx-negro); }
.afx-head { max-width: 760px; margin: 0 auto 48px; text-align: center; }
.afx-head .afx-kicker { justify-content: center; }
.afx-head p:last-child { margin-bottom: 0; font-size: 18px; }

/* Cabecera de página con foto */
.afx-hero { position: relative; display: flex; align-items: flex-end; min-height: 400px; padding: 72px max(24px, calc((100% - 1200px) / 2)) 56px; background-color: var(--afx-negro); background-size: cover; background-position: center; }
.afx-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.55) 55%, rgba(0, 0, 0, 0.2) 100%); }
.afx-hero__in { position: relative; max-width: 760px; color: #ffffff; }
.afx-txt .afx-hero h1 { margin: 0 0 14px; font-size: 48px; line-height: 1.1; color: #ffffff; }
.afx-hero__lead { margin: 0 !important; font-size: 19px; line-height: 1.6; color: rgba(255, 255, 255, 0.88); }
.afx-migas { margin: 0 0 22px; font-size: 13px; line-height: 1.4; color: rgba(255, 255, 255, 0.75); }
.afx-migas a { color: #ffffff; text-decoration: none; }
.afx-migas a:hover { color: var(--afx-verde); }
.afx-migas span[aria-hidden] { margin: 0 6px; }

/* Texto de lectura */
.afx-prosa { max-width: 780px; margin: 0 auto; }
.afx-prosa h2 { margin-top: 48px; }
.afx-prosa > h2:first-child, .afx-prosa > .afx-kicker:first-child + h2 { margin-top: 0; }
.afx-txt a:not(.afx-btn):not(.afx-card):not(.afx-dato) { color: var(--afx-negro); text-decoration: underline; text-decoration-color: var(--afx-verde); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.afx-txt a:not(.afx-btn):not(.afx-card):not(.afx-dato):hover { color: var(--afx-verde-osc); }
.afx-row--negro .afx-txt a:not(.afx-btn):not(.afx-card) { color: #ffffff; }
.afx-cita { margin: 0 0 28px; padding: 6px 0 6px 28px; border-left: 5px solid var(--afx-verde); font-family: var(--afx-titulos); font-weight: 800; font-size: 23px; line-height: 1.45; color: var(--afx-negro); }
.afx-cita p { margin: 0; }
.afx-nota { padding: 22px 26px; border-radius: var(--afx-radio); background: var(--afx-gris); }

/* Texto + foto */
.afx-split { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 72px; align-items: center; }
.afx-split--inv .afx-foto { order: -1; }
/* Efecto de foto AFEX: bloque de color macizo asomando por una esquina (no el marco desplazado de tintoreriamoderna) */
.afx-foto { position: relative; margin: 0 0 28px 28px; }
.afx-split--inv .afx-foto { margin: 0 28px 28px 0; }
.afx-foto::before { content: ""; position: absolute; left: -28px; bottom: -28px; width: 58%; height: 62%; border-radius: var(--afx-radio); background: var(--afx-verde); }
.afx-split--inv .afx-foto::before { left: auto; right: -28px; }
.afx-foto img { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--afx-radio); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14); }

/* Dos columnas sin foto (contacto) */
.afx-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
.afx-dos .afx-contacto { margin-top: 0; }

/* Legales: H1 con el aspecto de H2 */
h1.afx-legal-h1 { font-size: var(--the7-h2-font-size); line-height: var(--the7-h2-line-height); }

/* Botones */
.afx-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.afx-head + .afx-btns, .afx-centro .afx-btns { justify-content: center; }
/* Tamaño fijo: The7 pone box-sizing: content-box en los enlaces y el alto se disparaba (76 px). Colores con !important: The7 pisa el color de los enlaces del pie y del contenido. */
.afx-btn { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 22px; border: 2px solid var(--afx-negro) !important; border-radius: 999px; background: var(--afx-negro) !important; color: #ffffff !important; font-family: "Lato", Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; line-height: 1.2; text-decoration: none !important; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.afx-btn::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; --i: var(--afx-flecha); transition: transform 0.2s ease; }
.afx-btn:hover::after { transform: translateX(3px); }
/* Negro → verde */
.afx-btn:hover { background: var(--afx-verde) !important; border-color: var(--afx-verde) !important; color: var(--afx-negro) !important; }
/* Verde → negro (sobre fondo oscuro, → blanco) */
.afx-btn--verde { background: var(--afx-verde) !important; border-color: var(--afx-verde) !important; color: var(--afx-negro) !important; }
.afx-btn--verde:hover { background: var(--afx-negro) !important; border-color: var(--afx-negro) !important; color: #ffffff !important; }
.afx-row--negro .afx-btn--verde:hover, #footer .afx-btn--verde:hover { background: #ffffff !important; border-color: #ffffff !important; color: var(--afx-negro) !important; }
/* Contorno → relleno */
.afx-btn--linea { background: transparent !important; border-color: var(--afx-negro) !important; color: var(--afx-negro) !important; }
.afx-btn--linea:hover { background: var(--afx-negro) !important; border-color: var(--afx-negro) !important; color: #ffffff !important; }
.afx-row--negro .afx-btn--linea, #footer .afx-btn--linea { border-color: #ffffff !important; color: #ffffff !important; }
.afx-row--negro .afx-btn--linea:hover, #footer .afx-btn--linea:hover { background: #ffffff !important; border-color: #ffffff !important; color: var(--afx-negro) !important; }
/* Sobre la franja verde: negro → blanco */
.afx-row--verde .afx-btn:hover { background: #ffffff !important; border-color: #ffffff !important; color: var(--afx-negro) !important; }
.afx-btn--descarga::after { --i: var(--afx-descarga); }
.afx-btn--externo::after { --i: var(--afx-externo); }
.afx-btn:focus-visible, .afx-card:focus-visible, .afx-faq summary:focus-visible { outline: 3px solid var(--afx-verde); outline-offset: 3px; }

/* Iconos junto a texto: el centro visual de las minúsculas de Lato queda 1–2 px por debajo del centro de la línea → el icono baja 1 px */
.afx-btn::after, .afx-card__mas::after, #footer .afx-pie__ico { position: relative; top: 1px; }

/* Cifras */
.afx-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; text-align: center; }
.afx-stat strong { display: block; font-family: var(--afx-titulos); font-weight: 800; font-size: 54px; line-height: 1.05; color: var(--afx-verde); }
.afx-stat span { display: block; margin-top: 10px; font-size: 16px; line-height: 1.5; color: rgba(255, 255, 255, 0.82); }

/* Iconos */
.afx-ico { position: relative; display: inline-flex; flex: 0 0 auto; width: 56px; height: 56px; border-radius: 50%; background: rgba(151, 188, 24, 0.16); }
.afx-ico::before { content: ""; position: absolute; inset: 15px; background: var(--afx-negro); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.afx-row--negro .afx-ico { background: var(--afx-verde); }

/* Tarjetas con icono */
.afx-feats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.afx-feats--2 { grid-template-columns: repeat(2, 1fr); }
.afx-feat { padding: 32px 30px; border: 1px solid var(--afx-borde); border-radius: var(--afx-radio); background: #ffffff; transition: border-color 0.2s ease, transform 0.2s ease; }
.afx-feat:hover { border-color: var(--afx-verde); transform: translateY(-3px); }
.afx-feat h3 { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.afx-feat p { margin: 0; font-size: 16px; line-height: 1.65; }
.afx-row--negro .afx-feat { border-color: #2b2b2b; background: #1a1a1a; }

/* Tarjetas con foto (enlaces a las guías) */
.afx-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.afx-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--afx-borde); border-radius: var(--afx-radio); background: #ffffff; color: var(--afx-texto); text-decoration: none; transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
.afx-card:hover { border-color: var(--afx-verde); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08); transform: translateY(-4px); }
.afx-card__img { display: block; overflow: hidden; aspect-ratio: 4 / 3; background: var(--afx-gris); }
.afx-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.afx-card:hover .afx-card__img img { transform: scale(1.04); }
.afx-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px 22px 24px; }
.afx-card__t { display: block; margin-bottom: 8px; font-family: var(--afx-titulos); font-weight: 800; font-size: 19px; line-height: 1.3; color: var(--afx-negro); }
.afx-card__p { display: block; flex: 1; font-size: 15px; line-height: 1.6; }
.afx-card__mas { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; font-size: 14px; font-weight: 700; color: var(--afx-verde-osc); }
.afx-card__mas::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--afx-flecha) center / contain no-repeat; mask: var(--afx-flecha) center / contain no-repeat; transition: transform 0.2s ease; }
.afx-card:hover .afx-card__mas::after { transform: translateX(4px); }
.afx-cards--2 { grid-template-columns: repeat(2, 1fr); }

/* Lista con marcas */
.afx-check { margin: 0 0 24px; padding: 0; list-style: none; }
.afx-check li { position: relative; margin: 0 0 14px; padding-left: 38px; }
.afx-check li::before { content: ""; position: absolute; top: 3px; left: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--afx-verde); }
.afx-check li::after { content: ""; position: absolute; top: 8px; left: 5px; width: 14px; height: 14px; background: var(--afx-negro); -webkit-mask: var(--afx-check) center / contain no-repeat; mask: var(--afx-check) center / contain no-repeat; }
.afx-check--2 { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 40px; }
.afx-check--caja li { margin: 0; padding: 18px 20px 18px 56px; border: 1px solid var(--afx-borde); border-radius: 12px; background: #ffffff; }
.afx-check--caja { display: grid; gap: 14px; }
.afx-check--caja li::before { top: 18px; left: 18px; }
.afx-check--caja li::after { top: 23px; left: 23px; }

/* Pasos numerados */
.afx-pasos { margin: 0; padding: 0; list-style: none; counter-reset: afx-paso; }
.afx-pasos > li { position: relative; margin: 0; padding: 0 0 40px 80px; counter-increment: afx-paso; }
.afx-pasos > li::before { content: counter(afx-paso); position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--afx-verde); color: var(--afx-negro); font-family: var(--afx-titulos); font-weight: 800; font-size: 22px; }
.afx-pasos > li::after { content: ""; position: absolute; top: 60px; bottom: 8px; left: 25px; width: 2px; background: var(--afx-borde); }
.afx-pasos > li:last-child { padding-bottom: 0; }
.afx-pasos > li:last-child::after { display: none; }
.afx-pasos h3 { padding-top: 12px; }
.afx-pasos p { margin-bottom: 12px; }

/* Etiquetas */
.afx-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; padding: 0; list-style: none; }
.afx-chips li { margin: 0; padding: 9px 18px; border: 1px solid var(--afx-borde); border-radius: 999px; background: #ffffff; font-size: 15px; font-weight: 700; color: var(--afx-negro); }
.afx-chips li::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 10px; border-radius: 50%; background: var(--afx-verde); vertical-align: middle; }

/* Preguntas frecuentes */
.afx-faq { border-top: 1px solid var(--afx-borde); }
.afx-faq details { border-bottom: 1px solid var(--afx-borde); }
.afx-faq summary { position: relative; display: block; padding: 24px 56px 24px 0; font-size: 19px; line-height: 1.4; cursor: pointer; list-style: none; }
.afx-faq summary::-webkit-details-marker { display: none; }
.afx-faq summary::after { content: ""; position: absolute; top: 50%; right: 4px; width: 32px; height: 32px; margin-top: -16px; border-radius: 50%; background: var(--afx-gris) var(--afx-mas) center / 16px no-repeat; transition: transform 0.25s ease, background-color 0.25s ease; }
.afx-faq details[open] summary::after { background-color: var(--afx-verde); transform: rotate(45deg); }
.afx-faq summary:hover { color: var(--afx-verde-osc); }
.afx-faq details > p { margin: 0; padding: 0 56px 24px 0; }

/* Preguntas de la portada */
.afx-faq--portada { margin-top: 8px; }

/* Contacto */
.afx-contacto { display: grid; gap: 16px; margin: 28px 0 0; }
.afx-dato { display: flex; align-items: center; gap: 18px; padding: 20px 22px; border: 1px solid var(--afx-borde); border-radius: var(--afx-radio); background: #ffffff; color: var(--afx-negro); text-decoration: none; transition: border-color 0.2s ease, transform 0.2s ease; }
a.afx-dato:hover { border-color: var(--afx-verde); transform: translateY(-2px); }
.afx-dato small { display: block; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--afx-verde-osc); }
.afx-dato strong { display: block; font-family: var(--afx-titulos); font-weight: 800; font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }

/* Llamada final */
.afx-centro { max-width: 760px; margin: 0 auto; text-align: center; }
.afx-centro .afx-kicker { justify-content: center; }

/* Iconos (máscaras SVG) */
:root {
  --afx-flecha: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --afx-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");
  --afx-mas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  --afx-descarga: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
  --afx-externo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v6H4V6h6'/%3E%3C/svg%3E");
}
.afx-ico--edificio { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V10l7-5 7 5v11M9 21v-6h6v6'/%3E%3C/svg%3E"); }
.afx-ico--formacion { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E"); }
.afx-ico--grupo { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 20c0-3.5 3-6 6-6s6 2.5 6 6M15 14.5c3 0 6 2 6 5.5'/%3E%3C/svg%3E"); }
.afx-ico--jornadas { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='1'/%3E%3Cpath d='M12 16v4M8 20h8M7 12l3-3 3 2 4-4'/%3E%3C/svg%3E"); }
.afx-ico--megafono { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10v4h3l7 5V5L6 10z'/%3E%3Cpath d='M17 9a4 4 0 0 1 0 6'/%3E%3C/svg%3E"); }
.afx-ico--acuerdo { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a4 4 0 0 0 6 0l3-3a4 4 0 0 0-6-6l-1 1'/%3E%3Cpath d='M14 10a4 4 0 0 0-6 0l-3 3a4 4 0 0 0 6 6l1-1'/%3E%3C/svg%3E"); }
.afx-ico--check { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E"); }
.afx-ico--flecha { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.afx-ico--tel { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-3 2a11 11 0 0 0 5 5l2-3 5 2v4a2 2 0 0 1-2 2A17 17 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.afx-ico--mail { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.afx-ico--doc { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6z'/%3E%3Cpath d='M14 3v4h4M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
.afx-ico--mapa { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6-7-11a7 7 0 0 1 14 0c0 5-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.afx-ico--euro { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 6a7 7 0 1 0 0 12M4 10h9M4 14h9'/%3E%3C/svg%3E"); }
.afx-ico--descarga { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E"); }
.afx-ico--mas { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
.afx-ico--externo { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v6H4V6h6'/%3E%3C/svg%3E"); }
.afx-ico--tienda { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9l1-5h14l1 5M4 9h16v11H4zM4 9c0 2 4 2 4 0 0 2 4 2 4 0 0 2 4 2 4 0 0 2 4 2 4 0M10 20v-5h4v5'/%3E%3C/svg%3E"); }
.afx-ico--red { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='2.5'/%3E%3Ccircle cx='5' cy='19' r='2.5'/%3E%3Ccircle cx='19' cy='19' r='2.5'/%3E%3Cpath d='M12 7.5v4M12 11.5l-6 5.5M12 11.5l6 5.5'/%3E%3C/svg%3E"); }

/* Correcciones sobre estilos del tema */
.afx-txt .afx-migas a:not(.afx-btn):not(.afx-card):not(.afx-dato) { color: #ffffff; text-decoration: none; }
.afx-txt .afx-migas a:not(.afx-btn):not(.afx-card):not(.afx-dato):hover { color: var(--afx-verde); }
.afx-txt blockquote.afx-cita { margin: 0 0 28px; padding: 6px 0 6px 28px; border-left: 5px solid var(--afx-verde); background: none; }
.afx-txt blockquote.afx-cita, .afx-txt blockquote.afx-cita p { font-family: var(--afx-titulos); font-weight: 800; font-size: 23px; line-height: 1.45; font-style: normal; color: var(--afx-negro); }
.afx-txt ul.afx-check, .afx-txt ol.afx-pasos, .afx-txt ul.afx-chips { margin-left: 0; list-style: none; }
.afx-txt ul.afx-check > li, .afx-txt ol.afx-pasos > li, .afx-txt ul.afx-chips > li { list-style: none; }
.afx-row--verde .afx-foto::before { background: var(--afx-negro); }
/* Menú del móvil siempre a 16 px o más */
.dt-mobile-header .menu-text { font-size: 16px !important; }
#phantom .main-nav { flex-wrap: nowrap; }
#phantom .main-nav > li > a .menu-text { font-size: 15px; }
@media (max-width: 1280px) {
  .masthead:not(.mixed-header) .main-nav > li > a .menu-text { font-size: 15px; }
}

/* Aviso de cookies (CookieYes): botones como los de la web */
.cky-consent-container .cky-btn, .cky-modal .cky-btn { box-sizing: border-box; min-height: 44px; padding: 9px 20px !important; border: 2px solid var(--afx-verde) !important; border-radius: 999px !important; background: var(--afx-verde) !important; color: var(--afx-negro) !important; font-family: "Lato", Helvetica, Arial, sans-serif !important; font-weight: 700 !important; opacity: 1 !important; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.cky-consent-container .cky-btn:hover, .cky-modal .cky-btn:hover { background: var(--afx-negro) !important; border-color: var(--afx-negro) !important; color: #ffffff !important; }
.cky-consent-container .cky-notice-des a, .cky-consent-container .cky-btn-readmore, .cky-modal a { color: var(--afx-verde-osc) !important; text-decoration: underline !important; }
.cky-consent-container .cky-title, .cky-modal .cky-preference-title { font-family: var(--afx-titulos) !important; font-weight: 800 !important; color: var(--afx-negro) !important; }
.cky-consent-container .cky-consent-bar { border-top: 4px solid var(--afx-verde) !important; box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.08) !important; }

/* Slider: controles accesibles (afx.js) */
sr7-module.afx-srnav-activa sr7-bullets { display: none !important; }
.afx-srnav { position: absolute; left: 50%; bottom: 24px; z-index: 50; display: flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 999px; background: rgba(0, 0, 0, 0.45); transform: translateX(-50%); }
.afx-srnav button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.afx-srnav__puntos { display: flex; }
.afx-srnav__punto::before { content: ""; width: 12px; height: 12px; border: 2px solid #ffffff; border-radius: 50%; transition: background-color 0.2s ease; }
.afx-srnav__punto.is-activo::before, .afx-srnav__punto:hover::before { background: var(--afx-verde); border-color: var(--afx-verde); }
.afx-srnav__pausa span { position: relative; width: 14px; height: 16px; border-left: 4px solid #ffffff; border-right: 4px solid #ffffff; }
.afx-srnav.is-pausado .afx-srnav__pausa span { width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 14px solid #ffffff; border-right: 0; margin-left: 4px; }

/* Foco del teclado: siempre visible (doble anillo, se ve en fondo claro y oscuro) y sin quedar bajo la cabecera fija */
html { scroll-padding-top: 160px; }
@media (max-width: 1200px) { html { scroll-padding-top: 110px; } }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid #111111 !important; outline-offset: 2px !important; box-shadow: 0 0 0 6px #ffffff !important; }
.skip-link:focus { z-index: 100000; padding: 12px 18px !important; background: #111111 !important; color: #ffffff !important; font-size: 16px !important; }

/* Zonas táctiles (WCAG 2.5.8: 24 px; 44 px en móvil) */
.mini-contacts { display: inline-flex !important; align-items: center; min-height: 24px; }
.scroll-top { width: 48px !important; height: 48px !important; }
.dt-mobile-menu-icon, .dt-close-mobile-menu-icon { min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
.dt-mobile-header .mobile-main-nav > li > a, .dt-mobile-header .mobile-main-nav .sub-nav > li > a { min-height: 44px; display: flex !important; align-items: center; }
.dt-mobile-header .next-level-button { min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
@media (max-width: 1200px) { .mini-contacts { min-height: 44px; } }

/* Menú de escritorio: submenú a 16 px y colores con contraste */
.main-nav .sub-nav .menu-text { font-size: 16px !important; }
.main-nav .sub-nav > li:hover > a .menu-text, .main-nav .sub-nav > li.act > a .menu-text { color: var(--afx-verde-osc) !important; }

/* Pie de página */
#footer .afx-pie { display: grid; grid-template-columns: 1.5fr 1fr 1.2fr; gap: 56px; padding: 32px 0 40px; color: rgba(255, 255, 255, 0.82); font-family: "Lato", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.6; text-align: left; }
#footer .afx-pie p { margin: 0 0 18px; }
#footer .afx-pie__logo { display: inline-block; margin-bottom: 20px; }
#footer .afx-pie__logo img { display: block; width: 180px; height: auto; border-radius: 10px; }
#footer .afx-pie__t { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-family: var(--afx-titulos); font-weight: 800; font-size: 18px; line-height: 1.3; color: #ffffff; }
#footer .afx-pie__t::before { content: ""; width: 20px; height: 3px; border-radius: 3px; background: var(--afx-verde); }
#footer .afx-pie ul { margin: 0; padding: 0; list-style: none; }
#footer .afx-pie li { margin: 0; padding: 0; list-style: none; }
#footer .afx-pie a:not(.afx-btn), #footer .afx-pie__base a { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; padding: 2px 0; color: rgba(255, 255, 255, 0.85); text-decoration: none; }
#footer .afx-pie a:not(.afx-btn):hover, #footer .afx-pie__base a:hover { color: var(--afx-verde); text-decoration: underline; text-underline-offset: 3px; }
#footer .afx-pie__ico { flex: 0 0 auto; width: 20px; height: 20px; background: var(--afx-verde); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
#footer .afx-pie .afx-btn { margin-top: 6px; }
#footer .afx-pie__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; text-align: right; gap: 8px 32px; padding: 20px 0 8px; border-top: 1px solid rgba(255, 255, 255, 0.16); color: rgba(255, 255, 255, 0.7); font-size: 15px; }
#footer .afx-pie__base p { margin: 0; }
#footer .afx-pie__base ul { display: flex; flex-wrap: wrap; gap: 0 22px; margin: 0; padding: 0; list-style: none; }
#footer .afx-pie__base li { margin: 0; list-style: none; }
/* El pie tiene «body .footer .widget a { color: #fff !important }» (CSS de Javi): hace falta más especificidad */
#footer .afx-pie a.afx-btn--verde, #footer .afx-pie a.afx-btn--verde:visited { color: var(--afx-negro) !important; }
#footer .afx-pie a.afx-btn--verde:hover { background: #ffffff !important; border-color: #ffffff !important; color: var(--afx-negro) !important; }
#footer .afx-pie a:not(.afx-btn):hover, #footer .afx-pie__base a:hover, #footer .afx-pie__t a:hover { color: var(--afx-verde) !important; }
#footer .afx-pie__t a { display: inline-flex !important; min-height: 0 !important; padding: 0 !important; color: #ffffff !important; font: inherit; }
#footer .afx-pie__t a:hover { color: var(--afx-verde) !important; }
@media (max-width: 900px) { #footer .afx-pie { grid-template-columns: 1fr 1fr; gap: 40px; } #footer .afx-pie__col:first-child { grid-column: 1 / -1; } }
@media (max-width: 640px) {
  #footer .afx-pie { grid-template-columns: 1fr; gap: 28px; padding: 8px 0 28px; }
  #footer .afx-pie__logo img { width: 150px; }
  #footer .afx-pie a:not(.afx-btn), #footer .afx-pie__base a { min-height: 44px; }
  #footer .afx-pie__t a { min-height: 44px !important; }
  #footer .afx-pie__base { justify-content: flex-start; text-align: left; }
}

/* Página no encontrada (404) */
.afx-buscar > p { display: contents; }
.afx-buscar { display: flex; flex-wrap: wrap; gap: 12px; max-width: 560px; margin: 28px auto 0; }
.afx-buscar label { flex: 1 0 100%; font-weight: 700; color: var(--afx-negro); text-align: left; }
.afx-buscar input[type="search"] { flex: 1 1 260px; min-height: 48px; padding: 10px 16px; border: 2px solid var(--afx-negro); border-radius: 999px; font-size: 16px; }
.afx-buscar button { min-height: 48px; padding: 10px 24px; border: 0; border-radius: 999px; background: var(--afx-negro); color: #ffffff; font-weight: 700; font-size: 16px; cursor: pointer; }
.afx-buscar button:hover { background: var(--afx-verde); color: var(--afx-negro); }

/* Tableta y móvil */
@media (max-width: 1100px) {
  .afx-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .vc_row.afx-row { padding-top: 64px; padding-bottom: 64px; }
  .vc_row.afx-row--hero { padding-top: 0; padding-bottom: 0; }
  .afx-split, .afx-dos { grid-template-columns: 1fr; gap: 48px; }
  .afx-split--inv .afx-foto { order: 0; }
  .afx-feats { grid-template-columns: 1fr 1fr; }
  .afx-hero { min-height: 320px; padding: 56px 20px 40px; }
  .afx-txt .afx-hero h1 { font-size: 36px; }
  .afx-txt h2 { font-size: 28px; }
}
@media (max-width: 640px) {
  .afx-txt { font-size: 16px; }
  .afx-cards, .afx-cards--2, .afx-feats, .afx-feats--2, .afx-check--2, .afx-stats { grid-template-columns: 1fr; }
  .afx-stats { gap: 36px; }
  .afx-txt .afx-hero h1 { font-size: 30px; }
  .afx-hero__lead { font-size: 17px; }
  .afx-txt h2 { font-size: 25px; }
  .afx-txt blockquote.afx-cita, .afx-txt blockquote.afx-cita p { font-size: 19px; }
  .afx-txt blockquote.afx-cita { padding-left: 20px; }
  .afx-pasos > li { padding-left: 66px; }
  .afx-faq summary { font-size: 17px; }
  .afx-faq details > p { padding-right: 0; }
  .afx-foto, .afx-split--inv .afx-foto { margin: 0 0 16px 16px; }
  .afx-foto::before, .afx-split--inv .afx-foto::before { left: -16px; right: auto; bottom: -16px; }
  .afx-dato strong { font-size: 17px; }
}
/* Móvil: ningún texto por debajo de 16 px (petición de Javi) */
@media (max-width: 767px) {
  .afx-kicker { font-size: 16px; letter-spacing: 0.08em; }
  .afx-card__p, .afx-card__mas, .afx-btn, .afx-chips li, .afx-dato small, .afx-stat span, .afx-feat p, .afx-migas, .afx-txt { font-size: 16px; }
  .mini-contacts, .mini-contacts a, .skip-link, #footer, #footer *, #bottom-bar, #bottom-bar * { font-size: 16px !important; }
  .cky-consent-container, .cky-consent-container *, .cky-modal, .cky-modal * { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .afx-card, .afx-feat, .afx-btn, .afx-card__img img, .afx-dato { transition: none; }
}
/* === AFEX FIN === */
