/*
Theme Name: Lurgorri Energía
Theme URI: https://lurgorri.com/
Author: La Barba del SEO
Author URI: https://labarbadelseo.com/
Description: Tema WordPress personalizado para Lurgorri Energía — Asesoría Energética Profesional. Desarrollado por La Barba del SEO (r.narros@labarbadelseo.com)
Version: 1.0
Text Domain: lurgorri
*/

/* Fuentes Google — Montserrat + Roboto */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&family=Chivo:ital,wght@0,100..900;1,100..900&display=swap');

/* =====================================================
   VARIABLES CSS — LURGORRI BRAND SYSTEM
   ===================================================== */
:root {
  /* Colores marca */
  --color-primary:        #19325F;   /* Azul marino oscuro */
  --color-primary-rgb:    25, 50, 95;   /* Azul marino oscuro */
  --color-primary-dark:   #131f3a;
  --color-primary-mid:    #243a6a;
  --color-accent:         #EAB951;   /* Dorado Lurgorri */
  --color-accent-dark:    #a8882e;
  --color-accent-light:   #e2c47a;
  --color-semi-white:     #F8FEFF;
  --color-semi-white-rgb: 248, 254, 255;
  --color-white:          #ffffff;
  --color-white-rgb:      255, 255, 255;
  --color-light:          #f5f6f8;
  --color-light-rgb:      245, 246, 248;
  --color-mid:            #e0e3ea;
  --color-text:           #1a1a2e;
  --color-text-muted:     #5a6478;
  --color-success:        #2e7d32;
  --color-semi-black:     #0C0C0C;

  /* Tipografía */
  --font-heading: 'Chivo', serif;
  --font-body:    'Roboto', sans-serif;

  /* Espaciado */
  --space-xs:  8px;
  --space-sm:  16px;
  --space-md:  32px;
  --space-lg:  60px;
  --space-xl:  90px;
  --space-2xl: 120px;

  /* Contenedor */
  --container: 1200px;

  /* Radios */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;

  /* Sombras */
  --shadow-sm: 0 2px 8px rgba(27,45,82,0.08);
  --shadow-md: 0 4px 20px rgba(27,45,82,0.14);
  --shadow-lg: 0 8px 40px rgba(27,45,82,0.18);

  /* Opacidad de fondos */
  --bg-opacity: 1;
}

/* =====================================================
   RESET & BASE
   ===================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { overflow-x: hidden; }

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-text);
  background: var(--color-semi-white);
  margin-top: 80px !important;
}

body.customize-support .navbar-fixed { margin-top: 32px; }

img { max-width: 100%; height: auto; display: block; }
iframe { display: block; width: 100%; border: 0; }

a, a:visited, a:active { color: var(--color-primary); text-decoration: none; transition: color .2s; }
a:hover { color: var(--color-accent); }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 110%;
  color: var(--color-primary);
  letter-spacing: 0;
}
h1 { font-size: 60px; line-height: 1; }
h2 { font-size: 40px; }
h3 { font-size: 32px; }
h4 { font-size: 20px; }

p { margin-bottom: 1em; line-height: 110%; }
p:last-child { margin-bottom: 0; }

ul, ol { padding-left: 1.4em; }

strong, b { font-weight: 700; }

/* =====================================================
   UTILIDADES
   ===================================================== */
.centro, .wp-block-cover .wp-block-cover__inner-container, .wp-block-group .wp-block-group__inner-container {
  width: var(--container);
  max-width: 100%;
  margin: 0 auto;
  padding: 0 24px;
}

.limpiar { clear: both; }

.text-center { text-align: center; }
.text-right  { text-align: right; }
.text-white  { color: var(--color-white) !important; }
.text-accent { color: var(--color-accent) !important; }
.text-primary{ color: var(--color-primary) !important; }
.text-muted  { color: var(--color-text-muted) !important; }

.bg-opacity-90 { --bg-opacity: .9; }

.bg-primary  { background-color: rgba(var(--color-primary-rgb),var(--bg-opacity)); }
.bg-light    { background-color: rgba(var(--color-light-rgb),var(--bg-opacity)); }
.bg-white    { background-color: rgba(var(--color-white-rgb),var(--bg-opacity)); }
.bg-semi-white    { background-color: rgba(var(--color-semi-white-rgb),var(--bg-opacity)); }
.bg-gradient {background: linear-gradient(180deg, rgba(25, 50, 95, 0.05) 0%, rgba(25, 50, 95, 0) 100%), linear-gradient(180deg, var(--color-semi-white) 0%, var(--color-semi-white) 100%);}

.seccion { padding: var(--space-xl) 0; }
.seccion-sm { padding: var(--space-lg) 0; }

/* Separador decorativo dorado */
.sep-dorado {
  width: 60px;
  height: 3px;
  background: var(--color-accent);
  margin: 16px auto 24px;
}
.sep-dorado.izq { margin-left: 0; }

/* Paleta personalizada visible */
.has-primary-color     { color: var(--color-primary) !important; }
.has-accent-color      { color: var(--color-accent) !important; }
.has-muted-color       { color: var(--color-muted) !important; }
.has-primary-background-color { background-color: var(--color-primary) !important; }
.has-accent-background-color  { background-color: var(--color-accent) !important; }
.has-light-background-color   { background-color: var(--color-light) !important; }

/* =====================================================
   BOTONES
   ===================================================== */
.btn,
.wp-block-button__link,
.wpcf7-submit{
  display: inline-block;
  padding: 13px 32px;
  border-radius: var(--radius-sm);
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0;
  vertical-align: middle;
  cursor: pointer;
  transition: all .25s ease;
  border: 2px solid transparent;
  text-decoration: none;
}

.btn-primary,
.wp-block-button.is-style-primary .wp-block-button__link,
.wpcf7-submit{
  background: var(--color-accent);
  color: var(--color-primary) !important;
  border-color: var(--color-accent);
}
.btn-primary:hover, .wpcf7-submit:hover { background: var(--color-accent-dark); border-color: var(--color-accent-dark); color: var(--color-white) !important; }

.btn-outline,
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--color-white) !important;
  border-color: var(--color-white);
}
.btn-outline:hover { background: var(--color-white); color: var(--color-primary) !important; }

.btn-dark {
  background: var(--color-primary);
  color: var(--color-white) !important;
  border-color: var(--color-primary);
}
.btn-dark:hover { background: var(--color-primary-dark); }

.btn-dark-outline {
  background: none;
  color: var(--color-primary) !important;
  border-color: var(--color-primary);
}
.btn-dark-outline:hover { background: var(--color-primary); color: var(--color-white) !important; }

/* =====================================================
   NAVBAR
   ===================================================== */
nav.navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: var(--color-white);
  box-shadow: 0 2px 12px rgba(27,45,82,0.10);
  height: 80px;
  transition: box-shadow .3s;
  border-bottom: 5px solid var(--color-accent);
}
nav.navbar.scrolled { box-shadow: 0 4px 24px rgba(27,45,82,.18); }

body.customize-support nav.navbar { margin-top: 32px; }

nav.navbar .centro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
  position: relative;
  gap: 50px;
}

nav.navbar .navbar-header { flex-shrink: 0; }
nav.navbar .navbar-brand { display: flex; align-items: center; }
nav.navbar .navbar-brand img { max-height: 50px; width: auto; display: block; }

/* ── Menú desktop (≥769px) ── */
#navbar {
  display: flex;
  align-items: center;
  flex-grow: 1;
}

#navbar ul,
#navbar .menu-nav {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  align-items: center;
  gap: 2px;
  flex-wrap: nowrap;
  width: 100%;
}

#navbar ul li a,
#navbar .menu-nav li a {
  color: var(--color-primary);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  padding: 8px 13px;
  border-radius: var(--radius-sm);
  transition: color .2s, background .2s;
  display: block;
  white-space: nowrap;
  text-decoration: none;
}

#navbar ul li a:hover,
#navbar ul li.current-menu-item > a,
#navbar .menu-nav li a:hover,
#navbar .menu-nav li.current-menu-item > a {
  color: var(--color-accent);
  background: rgba(201,168,76,0.08);
}

/* ── Hamburguesa ── */
.navbar-toggle {
  display: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 10px;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 24px; height: 2px;
  background: var(--color-primary);
  border-radius: 2px;
  transition: all .3s;
}
/* Animación X al abrir */
.navbar-toggle.activo .icon-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.navbar-toggle.activo .icon-bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.navbar-toggle.activo .icon-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* =====================================================
   FOOTER
   ===================================================== */
footer.site-footer {
  background: var(--color-primary);
  color: #FFF;
  padding: 60px 0 0;
}

.footer-top {
  display: grid;
  grid-template-columns: 1.5fr .5fr 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.footer-brand  { display: flex; gap: 25px; align-items: center;}
.footer-brand img { max-height: 71px; }
.footer-brand p { font-size: 12px; line-height: 118%; letter-spacing: -3%;}

.footer-col.footer-contact {grid-column: 4;}
.footer-col h4 {
  color: var(--color-accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.footer-col ul { list-style: none; padding: 0; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a {
  color: rgba(255,255,255,0.7);
  font-size: 14px;
  transition: color .2s;
}
.footer-col ul li a:hover { color: var(--color-accent); }

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 20px;
  font-size: 18px;
  line-height: 121%;
  color: #FFFFFF;
}
.footer-contact-item svg { flex-shrink: 0; margin-top: 2px;}
.footer-contact-item a { color: #FFF; }
.footer-contact-item a:hover { color: var(--color-accent); }

.footer-contact .footer-rrss {
  display: flex;
  gap: 10px;
}

.footer-contact .footer-rrss a {
  color: var(--color-accent);
}

.footer-contact .footer-rrss a:hover {
  color: #FFF;
}

.footer-bottom {
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.footer-bottom p,
.footer-bottom a,
.footer-bottom li {
  font-size: 12px;
  color: rgba(255,255,255,0.45);
}
.footer-bottom a:hover { color: var(--color-accent); }

.footer-bottom .copyright {font-weight: 400; font-style: italic; font-size: 14px; line-height: 121%; letter-spacing: -4%; color: #FFF;}
.links-footer {display: flex; gap: 10px; align-items: center; line-height: 1;}
.menu-footer {display: flex; gap: 10px; align-items: center; list-style: none; padding: 0; margin: 0;}

/* Menú móvil sticky inferior */
.foomov {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 999;
  background: var(--color-primary);
  box-shadow: 0 -2px 12px rgba(0,0,0,.2);
}
.foomov a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 0;
  border-right: 1px solid rgba(255,255,255,.1);
}
.foomov a:last-child { border-right: 0; }
.foomov a svg, .foomov a img { width: 22px; height: 22px; }

/* =====================================================
   ADMIN BAR — LA BARBA BRANDING
   ===================================================== */
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
  background-image: url('images/barbadelseo.png');
  content: '';
  width: 19px; height: 24px;
  top: 0;
  background-color: #fff;
  display: block;
  background-size: cover;
}

/* =====================================================
   CABECERA HOME(CON ACF)
   ===================================================== */
.hero-home {
  min-height: 90vh;
  background: var(--color-primary);
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
}
.hero-interior.wp-block-cover {
  min-height: 586px;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: #19325FCC;
  z-index: 0;
}
.hero-home .centro { position: relative; z-index: 1; }
.hero-contenido {
  max-width: 700px;
  padding: 40px 0;
  text-align: center;
  margin: 0 auto;
}
.hero-interior .wp-block-cover__inner-container :is(.wp-block-heading,p) {max-width: 75%;}
:is(.hero-contenido,.hero-interior) h1{
  color: var(--color-white);
  font-weight: 600;
  margin-bottom: 20px;

}
:is(.hero-contenido,.hero-interior) h1 em {
  color: var(--color-accent);
  font-style: normal;
}

.hero-subtitulo, .hero-interior .wp-block-cover__inner-container .wp-block-heading:is(h2,h3,h4,h5,h6) {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 40px;
  line-height: 110%;
  letter-spacing: 0;
  color: #FFFFFF;
  margin-bottom: 20px;
}

.hero-desc, .hero-interior .wp-block-cover__inner-container p {
  font-weight: 300;
  font-size: 22px;
  line-height: 130%;
  letter-spacing: 0;
  color: #FFF;
  margin-bottom: 35px;
}
.hero-ctas {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}

/* Centrada*/
.hero-interior.hero-center :is(h1,h2,h3,h4,h5,h6,p,ul)  {
  text-align: center;
}

.hero-interior.hero-center .wp-block-buttons  {
  justify-content: center;
}

.hero-interior.hero-center .wp-block-cover__inner-container :is(.wp-block-heading, p) {
  margin-left: auto;
  margin-right: auto;
}

/* Alineado abajo */
.hero-interior.hero-bottom .wp-block-cover__inner-container {align-self: flex-end;}

/* Eyebrow label */
.eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 8px;
}

@media (min-width: 769px) {
  .hero-desc {max-width: 75%; margin-left: auto; margin-right: auto;}
}
@media (max-width: 768px) {
  .hero-home { min-height: 80vh; }
  :is(.hero-contenido, .hero-interior) h1 { font-size: 32px; }
  .hero-interior.hero-center :is(h1, h2, h3, h4, h5, h6, p, ul) { text-align: unset;}
  .hero-interior.hero-center .wp-block-buttons {justify-content: flex-start;}
  .hero-interior .wp-block-cover__inner-container :is(.wp-block-heading,p) {max-width: 100%;}
  .wp-block-cover, .wp-block-cover-image {padding-inline: 0;}
}

/* =====================================================
   PATRONES GUTENBERG — ESTILOS DE BLOQUE
   ===================================================== */
/* --- GENERICOS ---- */
.seccion:has( > .background-image) {position: relative;}
.seccion .background-image {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1;}

/* --- PATRÓN 1: Texto + Imagen 50/50 --- */
.seccion:has( > .centro > .bloque-texto-imagen) {padding: 0;}
.centro:has( > .bloque-texto-imagen) {width: 100%; padding: 0;}
.bloque-texto-imagen > .col-texto:nth-child(1), .wp-block-columns.bloque-texto-imagen > .wp-block-column:nth-child(1):not(:has( > .wp-block-image))  {padding-left: calc(((100vw - var(--container)) / 2) + 24px); padding-right: 40px;}
.bloque-texto-imagen > .col-texto:nth-child(2), .wp-block-columns.bloque-texto-imagen > .wp-block-column:nth-child(2):not(:has( > .wp-block-image)) {padding-right: calc(((100vw - var(--container)) / 2) + 24px); padding-left: 40px;}

.bloque-texto-imagen {
  display: flex;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  align-items: center;
  gap: 0 !important;
}

.bloque-texto-imagen :is(.col-texto, .col-imagen, .wp-block-column) {flex-basis: 50% !important; margin: 0;}

.wp-block-columns.bloque-texto-imagen .wp-block-column:not(:has( > .wp-block-image)){padding-top: var(--space-xl); padding-bottom: var(--space-xl);}
.wp-block-columns.bloque-texto-imagen .wp-block-column .wp-block-image{width: 100%; height: 100%; margin: 0; position: relative;}
.wp-block-columns.bloque-texto-imagen .wp-block-column .wp-block-image img{border-radius:0; width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover;}

.bloque-texto-imagen :is(.col-texto, .wp-block-column) h2 { margin-bottom: 22px;}
.bloque-texto-imagen :is(.col-texto, .wp-block-column) h3 { font-family: var(--font-body); margin-bottom: 22px;}
.bloque-texto-imagen .col-texto .subtexto, .bloque-texto-imagen.wp-block-columns .wp-block-column p:not(.destacado), .bloque-texto-imagen .col-texto .subtexto, .bloque-texto-imagen.wp-block-columns .wp-block-column ul {
  color: var(--color-primary);
  margin-bottom: 24px;
  font-size: 20px;
  line-height: 110%;
  letter-spacing: 0;
}
.bloque-texto-imagen.wp-block-columns .wp-block-column ul li + li {margin-top: 1rem;}
.bloque-texto-imagen .col-texto .destacado, .bloque-texto-imagen.wp-block-columns .wp-block-column .destacado {
  background: #EAB95178;
  border-left: 6px solid var(--color-accent);
  padding: 15px 30px;
  border-radius: 0 5px 5px 0;
  font-weight: 600;
  font-size: 20px;
  line-height: 110%;
  color: var(--color-primary);
}
.bloque-texto-imagen .col-texto .destacado:has(strong,b), .bloque-texto-imagen.wp-block-columns .wp-block-column .destacado:has(strong,b) {font-weight: 400;}
.bloque-texto-imagen .col-imagen img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 719/584;
}

/* --- PATRÓN 2: Grid de features/iconos --- */
.bloque-features { padding-top: var(--space-xl); }
.bloque-features.intro { text-align: center; }
.bloque-features.intro h2 { margin-bottom: 15px; }
.bloque-features.intro .sep-dorado { margin-top: 0; margin-bottom: 20px;}
.bloque-features.intro h3 { color: var(--color-text-muted); font-family: var(--font-body); margin-bottom: 25px;}
.features-intro-text { margin-bottom: 40px; text-align:center;font-size:20px;color:var(--color-text-muted);}

.feature-highlights {
  background: var(--color-white);
  border: 1px solid var(--color-mid);
  border-radius: var(--radius-md);
  padding: 20px 30px;
  margin: 0 auto 45px;
  max-width: 90%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}

.feature-highlights .feature-highlight {
  flex: 1 1 calc(100%/3);
  min-width: calc(100%/3);
}

.feature-highlights .feature-highlight p {font-size: 20px;}
.feature-highlights .feature-highlight .title {color: var(--color-primary);}
.feature-highlights .feature-highlight .desc {color: var(--color-text-muted); font-weight: 600;}

.features-grid {
  display: grid;
  gap: 24px;
  margin-bottom: 55px;
}
.features-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.features-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.features-grid.cols-5 { grid-template-columns: repeat(5, 1fr); }
.features-grid.cols-6 { grid-template-columns: repeat(6, 1fr); }

.feature-card {
  background: var(--color-white);
  box-shadow: 0 4px 14.6px 0 #00000040;
  border-radius: var(--radius-md);
  padding: 13px;
  transition: all .25s;
  position: relative;
}
.feature-card:hover {
  box-shadow: 0 0 2px 0 #00000040;
  transform: translateY(-2px);
}
.feature-card .icono {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  color: var(--color-accent);
}
.feature-card h3 { font-size: 18px; margin-bottom: 18px; line-height: 100%; text-transform: uppercase;}
.feature-card p { font-size: 18px; color: var(--color-text-muted); margin-bottom: 0; line-height: 1;}

/* Feature card en fondo oscuro */
.bg-primary .bloque-features.intro :is(h2,h3), .bg-primary .features-intro-text {color: var(--color-semi-white);}

.feature-highlights {
  background: rgba(var(--color-semi-white-rgb), .2);
  border-color: var(--color-semi-white);
}

.feature-highlights .feature-highlight .title {color: var(--color-semi-white);}
.feature-highlights .feature-highlight .desc {color: var(--color-accent);}

.bg-primary .feature-card {
  background: rgba(var(--color-semi-white-rgb), .2);
  border: 1px solid var(--color-semi-white);
  box-shadow: none;
}
.bg-primary .feature-card:hover {
  background: rgba(201,168,76,.1);
  border-color: var(--color-accent);
}
.bg-primary .feature-card h3 { color: var(--color-white); }
.bg-primary .feature-card p { color: rgba(255,255,255,.65); }

/* --- PATRÓN 3: Servicios --- */
.srv-intro {max-width:850px;margin:0 auto 40px;text-align:center;}
.srv-intro h2 {margin-bottom:20px;}
.srv-intro p {color: var(--color-primary); font-size: 20px; text-align: center; margin: 0;}

.features-grid.srvs .feature-card .icono {color: var(--color-primary); margin-bottom: 40px;}
.features-grid.srvs .feature-card h3 {font-size: 18px; line-height: 100%; text-transform: none; margin-bottom: 15px;}
.features-grid.srvs .feature-card p {font-weight: 300; font-size: 18px; line-height: 105%; letter-spacing: 0; color: var(--color-semi-black);}
.btn-srvs {display: flex; justify-content: center;}

/* --- PATRÓN 4: Diferencias --- */
.differences-intro {text-align:center;margin-bottom:48px;}
.differences-intro h2 {margin-bottom: 25px;}
.features-grid.differences {margin-bottom: 0;}
.features-grid.differences .feature-card { display: flex; align-items: start; gap: 13px;}
.features-grid.differences .feature-card .texts h3 {font-size: 18px; line-height: 1; text-transform: none; margin-bottom: 5px;}
.features-grid.differences .feature-card .texts p {font-size: 18px; line-height: 105%; font-weight: 300; margin: 0; color: var(--color-semi-black);}

/* --- PATRÓN 5: A quien ayudamos (tambien hay bloque mas adelante) --- */
.ayuda-intro {text-align:center;margin-bottom:48px;}
.ayuda-intro h2{margin-bottom: 22px;}
.ayuda-intro p{font-size: 20px; color: var(--color-primary); margin-bottom: 0;}
.features-grid.helpers {margin-bottom: 0;}
.features-grid.helpers .feature-card {padding: 20px 15px 10px;}
.features-grid.helpers .feature-card .icono{color: var(--color-primary); margin: 0 auto 25px;}
.features-grid.helpers .feature-card h3{text-align: center; margin-bottom: 15px;}
.features-grid.helpers .feature-card p{font-weight: 300; font-size: 18px; line-height: 105%; letter-spacing: -3%; text-align: center; color: var(--color-semi-black); margin-bottom: 0;}

  /* --- PATRÓN 6: Casos de éxito --- */
.casos-intro {text-align:center;margin-bottom:48px;}
.casos-intro h2 {margin-bottom:22px;}
.casos-intro p{font-size: 20px; color: var(--color-primary); margin: 0 auto; max-width: 80%;}

.casos-grid {display: flex; flex-wrap: wrap; gap: 18px; margin-bottom: 50px; justify-content: center;}
.casos-grid .caso-card {flex: 0 0 calc((100%/3) - 18px); min-width: calc((100%/3) - 18px); box-shadow: 0 4px 14.6px 0 #00000040; border-radius: var(--radius-md); overflow: hidden; display: flex; flex-direction: column; height: auto; background: var(--color-white);}
.casos-grid .caso-card:hover { box-shadow: 0 0 2px 0 #00000040; transform: translateY(-2px);}
.casos-grid .caso-card .caso-img-container { position: relative; width: 100%; aspect-ratio: 355 / 117; overflow: hidden; margin-bottom: 15px; flex-shrink: 0;}
.casos-grid .caso-card .caso-img-container .caso-img { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; height: 100%; object-fit: cover; }
.casos-grid .caso-body { padding: 0 15px 20px; flex-grow: 1;}
.casos-grid .caso-body h3 { font-size: 18px; line-height: 100%; margin-bottom: 15px;}
.casos-grid .caso-body .caso-body-item + .caso-body-item { margin-top: 20px;}
.casos-grid .caso-body .caso-body-item p { margin: 0; font-size: 14px; line-height: 118%; letter-spacing: -3%; color: #0C0C0CA8;}
.casos-grid .caso-body .caso-body-item p.title { text-transform: uppercase; font-weight: 700;}
.casos-grid .caso-footer { font-weight: 700; padding: 14px 15px 20px; position: relative; font-family: var(--font-heading); font-size: 16px; line-height: 1; color: var(--color-accent);}
.casos-grid .caso-footer:before { top: 0; left: 15px; right: 15px; height: 1px; background: #000000A8; content: ""; position: absolute; }

.casos-btn {display: flex; justify-content: center;}

/* --- PATRÓN 7: Testimonios (También hay bloque mas adelante) --- */
.testimonios-intro {text-align:center;margin-bottom:48px;}
.testimonios-intro h2 {margin-bottom:22px;}
.testimonios-intro p{font-size: 20px; color: var(--color-primary); margin: 0 auto; max-width: 80%;}

.testimonios-grid {display: flex; flex-wrap: nowrap; gap: 20px; padding-left: calc(((100vw - var(--container)) / 2) + 24px); overflow: auto; -ms-overflow-style: none; scrollbar-width: none; padding-bottom: 20px;}
.testimonios-grid::-webkit-scrollbar {display: none;}
.testimonios-grid .testimonio-card, .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item {flex: 0 0 calc((100%/3.5) - 20px); min-width: calc((100%/3.5) - 20px); box-shadow: 0 4px 14.6px 0 #00000040; background: #FFF; border-radius: var(--radius-md); overflow: hidden; padding: 23px 19px; display: flex; flex-direction: column; height: auto;}
.testimonios-grid .testimonio-card .testimonio-estrellas {margin-bottom: 18px; line-height: 1;}
.testimonios-grid .testimonio-card .testimonio-texto {font-weight: 300; font-style: italic; font-size: 12px; line-height: 105%; color: var(--color-semi-black); flex-grow: 1;}
.testimonios-grid .testimonio-card .testimonio-autor {display: flex; align-items: center; gap: 10px;}
.testimonios-grid .testimonio-card .testimonio-autor .testimonio-avatar {width: 45px; height: 45px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: #D9D9D9; padding: 1px; display: flex; justify-content: center; align-items: center; position: relative; color: var(--color-primary);}
.testimonios-grid .testimonio-card .testimonio-autor .testimonio-avatar img {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; height: 100%; object-fit: cover;}
.testimonios-grid .testimonio-card .testimonio-autor .testimonio-autor-info { font-weight: 300; font-size: 12px; line-height: 105%;}
.testimonios-grid .testimonio-card .testimonio-autor .testimonio-nombre {font-family: var(--font-heading); font-weight: 700; line-height: 100%;}

.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper {padding: 0 0 20px !important; gap: 20px !important;}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item:first-of-type {margin-left: calc(((100vw - var(--container)) / 2) + 24px);}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item {flex: 0 0 calc((100%/3.5) - 20px) !important; padding: 23px 19px !important; max-width: unset !important;}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item > :is(.ti-inner, .ti-review-header){padding: 0 !important;}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item > :is(.ti-inner, .ti-review-header){padding: 0 !important;}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item > .ti-inner > .ti-review-content > .ti-stars{margin: 0 0 18px !important; padding: 0 !important;}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item > .ti-inner > .ti-review-content > .ti-stars > img.ti-star{filter: brightness(0.9) sepia(1) saturate(3) hue-rotate(5deg); width: 14px !important;height: 13px !important;}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item > .ti-inner > .ti-platform-icon{display: none;}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item > .ti-inner > .ti-review-content > .ti-review-text-container { font-weight: 300; font-style: italic; font-size: 12px; line-height: 105%; color: var(--color-semi-black); margin-bottom: 1em;}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item > .ti-inner > .ti-review-content > .ti-review-text-container:has( + .ti-read-more) { margin-bottom: .5em;}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item > .ti-inner > .ti-review-content > .ti-read-more { margin: 0 0 1em; padding: 0; font-weight: 300; font-size: 12px; line-height: 105%; color: var(--color-semi-black);}
.ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item > .ti-review-header:before{display: none;}


/* --- PATRÓN 8: Stats / Resultados --- */
.bloque-stats {
  padding: var(--space-lg) 0;
  background: var(--color-primary);
}
.bloque-stats .intro { text-align: center; margin-bottom: 48px; }
.bloque-stats .intro h2 { color: var(--color-white); margin-bottom: 8px; }
.bloque-stats .intro p { color: rgba(255,255,255,.7); }

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 32px;
  text-align: center;
}
.stat-item { }
.stat-numero {
  font-family: var(--font-heading);
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  color: var(--color-accent);
  line-height: 1;
  margin-bottom: 8px;
}
.stat-label {
  color: rgba(255,255,255,.75);
  font-size: 15px;
  line-height: 1.4;
}

/* Stats en fondo claro */
.bloque-stats.fondo-claro { background: var(--color-light); }
.bloque-stats.fondo-claro .intro h2 { color: var(--color-primary); }
.bloque-stats.fondo-claro .intro p { color: var(--color-text-muted); }
.bloque-stats.fondo-claro .stat-numero { color: var(--color-primary); }
.bloque-stats.fondo-claro .stat-label { color: var(--color-text-muted); }

/* --- PATRÓN 9: CTA Final + Formulario --- */
.cta-formulario-intro {text-align:center;margin-bottom:48px;}
.cta-formulario-intro h2 {margin-bottom:22px;}
.cta-formulario-intro p{font-size: 20px; color: var(--color-primary); margin: 0 auto; max-width: 80%;}

.cta-formulario-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start;}
.cta-formulario-grid .col-formulario{background: var(--color-white); border-radius: var(--radius-lg); box-shadow: 0 4px 14px  #00000040; padding: 15px 25px ;}
.cta-formulario-grid .col-formulario h3{font-size: 18px; line-height: 1; text-transform: uppercase; margin-bottom: 15px;}
.cta-formulario-grid .col-formulario form fieldset, .contact-form-info .contact-form form fieldset {border: 0;}
.cta-formulario-grid .col-formulario form > p, .contact-form-info .contact-form form > p {margin: 0; display: flex; flex-wrap: wrap;}
.cta-formulario-grid .col-formulario form label, .contact-form-info .contact-form form label {flex: 0 0 100%; min-width: 100%; display: flex; flex-direction: column; font-weight: 700; font-size: 16px; line-height: 121%; letter-spacing: 0; color: var(--color-primary);}
.cta-formulario-grid .col-formulario form label.half, .contact-form-info .contact-form form label.half {flex: 0 0 calc(50% - 15px); min-width: calc(50% - 15px);}
.cta-formulario-grid .col-formulario form label:has( + br + label), .contact-form-info .contact-form form label:has( + br + label) {margin-bottom: 15px;}
.cta-formulario-grid .col-formulario form label.half:has( + br + label.half), .contact-form-info .contact-form form label.half:has( + br + label.half) {margin-right: 15px;}
.cta-formulario-grid .col-formulario form label.half + br + label.half, .contact-form-info .contact-form form label.half + br + label.half {margin-left: 15px;}
.cta-formulario-grid .col-formulario form :is(input:not([type="checkbox"]):not([type="submit"]),textarea,select), .contact-form-info .contact-form form :is(input:not([type="checkbox"]):not([type="submit"]),textarea,select) {width: 100%; border-radius: var(--radius-sm); border: 1px solid var(--color-primary); background: none; padding: 6px 14px; font-size: 16px; font-weight: 500; line-height: 121%; letter-spacing: 0; color: var(--color-primary); margin-top: 5px;}
.cta-formulario-grid .col-formulario form :is(input:not([type="checkbox"]):not([type="submit"]),textarea)::placeholder, .contact-form-info .contact-form form :is(input:not([type="checkbox"]):not([type="submit"]),textarea)::placeholder {color: var(--color-primary); opacity: .44;}
.cta-formulario-grid .col-formulario form select:has(option[value=""]:checked), .cta-formulario-grid .col-formulario form select:has(option:disabled:checked), .contact-form-info .contact-form form select:has(option[value=""]:checked), .contact-form-info .contact-form form select:has(option:disabled:checked) {color: rgba(25, 50, 95, 0.44) !important;}
.cta-formulario-grid .col-formulario form select option, .contact-form-info .contact-form form select option {color: var(--color-primary) !important;opacity: 1 !important;}
.cta-formulario-grid .col-formulario form .wpcf7-not-valid-tip, .contact-form-info .contact-form form .wpcf7-not-valid-tip {margin-top: 5px; font-size: .8em; line-height: 1;}
.cta-formulario-grid .col-formulario form .wpcf7-response-output, .contact-form-info .contact-form form .wpcf7-response-output {border-color: #dc3232 !important;}
.cta-formulario-grid .col-formulario form .wpcf7-form-control-wrap:has( > .wpcf7-acceptance), .contact-form-info .contact-form form .wpcf7-form-control-wrap:has( > .wpcf7-acceptance) {flex: 0 0 100%; width: 100%; margin-top: 35px; margin-bottom: 35px;}
.cta-formulario-grid .col-formulario form .wpcf7-form-control-wrap .wpcf7-acceptance, .cta-formulario-grid .col-formulario form .wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item, .contact-form-info .contact-form form .wpcf7-form-control-wrap .wpcf7-acceptance, .contact-form-info .contact-form form .wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item {width: 100%; display: block; margin: 0;}
.cta-formulario-grid .col-formulario form .wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item label, .contact-form-info .contact-form form .wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item label{width: 100%; flex-direction: row; align-items: center; gap: 12px; font-weight: 400;}
.cta-formulario-grid .col-formulario form .wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item label input, .contact-form-info .contact-form form .wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item label input{width: 24px; height: 24px; border: 1px solid var(--color-primary); border-radius: var(--radius-sm);}
.cta-formulario-grid .col-formulario form .wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item label a, .contact-form-info .contact-form form .wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item label a{font-weight: 700;}
.cta-formulario-grid .col-formulario form .wpcf7-submit{margin: 0 auto;}
.cta-formulario-grid .col-formulario form .wpcf7-spinner, .contact-form-info .contact-form form .wpcf7-spinner{display: none !important;}
.cta-formulario-grid .col-compromiso {border-radius: var(--radius-lg); background: var(--color-primary); color: var(--color-semi-white);font-weight: 400; font-size: 20px; line-height: 110%; letter-spacing: 0; text-align: center; padding: 25px 13px;}
.cta-formulario-grid .col-compromiso h3 {font-size: 40px; line-height: 110%; color: var(--color-semi-white); margin-bottom: 20px;}
.cta-formulario-grid .col-compromiso p.frase-destacada {margin-bottom: 0; color: var(--color-accent); font-weight: 700;}

/* --- Genericos / Varios --- */
:is(.bloque-comparativa,.bloque-explicacion-pasos,.bloque-resultados, .bloque-clientes, .bloque-confianza, .bloque-testimonios,.bloque-faqs) {padding: var(--space-xl) 0;}
:is(.bloque-comparativa,.bloque-explicacion-pasos, .bloque-resultados, .bloque-clientes, .bloque-confianza, .bloque-testimonios,.bloque-faqs) > .wp-block-group__inner-container > .wp-block-heading {margin-bottom: 48px; position: relative; text-align: center; padding-bottom: 24px;}
:is(.bloque-comparativa,.bloque-explicacion-pasos, .bloque-resultados, .bloque-clientes, .bloque-confianza, .bloque-testimonios,.bloque-faqs) > .wp-block-group__inner-container > .wp-block-heading:after {width: 60px; height: 3px;background: var(--color-accent); position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); content: "";}
:is(.bloque-comparativa,.bloque-explicacion-pasos, .bloque-resultados, .bloque-confianza) > .wp-block-group__inner-container > .wp-block-buttons {justify-content: center;}
.bloque-resultados, .bloque-clientes, .bloque-confianza, .bloque-testimonios, .bloque-faqs {background: linear-gradient(180deg, rgba(25, 50, 95, 0.05) 0%, rgba(25, 50, 95, 0) 100%);}
:is(.bloque-comparativa,.bloque-explicacion-pasos, .bloque-resultados, .bloque-clientes, .bloque-confianza, .bloque-testimonios,.bloque-faqs) > .wp-block-group__inner-container > .wp-block-heading:has( + p) {margin-bottom: 20px;}
:is(.bloque-comparativa,.bloque-explicacion-pasos, .bloque-resultados, .bloque-clientes, .bloque-confianza, .bloque-testimonios,.bloque-faqs) > .wp-block-group__inner-container > p {text-align: center; font-size: 20px;line-height: 110%; color: var(--color-primary);}
:is(.bloque-resultados,.bloque-clientes,.bloque-testimonios, .bloque-confianza) > .wp-block-group__inner-container > p:last-of-type { margin-bottom: 48px;}

/* --- Bloque comparativo --- */
.bloque-comparativa {background: var(--color-primary);}
.bloque-comparativa > .wp-block-group__inner-container > .wp-block-heading {color: var(--color-semi-white);}
.bloque-comparativa > .wp-block-group__inner-container > .wp-block-columns {border-radius: var(--radius-md); background: #F8FEFF33; border: 1px solid var(--color-semi-white); padding: 30px; margin-bottom: 48px;}
.bloque-comparativa > .wp-block-group__inner-container > .wp-block-columns .wp-block-column{color: var(--color-semi-white);font-weight: 500; font-size: 20px; line-height: 110%;}
.bloque-comparativa:not(.inverse) > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(1), .bloque-comparativa.inverse > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(2){color: var(--color-accent);}
.bloque-comparativa > .wp-block-group__inner-container > .wp-block-columns .wp-block-column .wp-block-heading{font-family: var(--font-body); font-size: 28px; line-height: 110%; color: var(--color-semi-white); margin-bottom: 25px;}
.bloque-comparativa:not(.inverse) > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(1) .wp-block-heading,.bloque-comparativa.inverse > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(2) .wp-block-heading{color: var(--color-accent);}
.bloque-comparativa > .wp-block-group__inner-container > .wp-block-columns .wp-block-column .wp-block-list li{margin-bottom: 1rem;}
.bloque-comparativa > .wp-block-group__inner-container > .wp-block-columns .wp-block-column .wp-block-list li:last-child{margin-bottom: 0;}
.bloque-comparativa:not(.inverse).checks > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(1) .wp-block-list, .bloque-comparativa.inverse.checks > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(2) .wp-block-list {list-style: none; padding: 0;}
.bloque-comparativa:not(.inverse).checks > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(1) .wp-block-list li, .bloque-comparativa.inverse.checks > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(2) .wp-block-list li {position: relative; padding-left: 40px;}
.bloque-comparativa:not(.inverse).checks > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(1) .wp-block-list li:before, .bloque-comparativa.inverse.checks > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(2) .wp-block-list li:before {position: absolute; content: ""; width: 27px; height: 20px; top: 0; left: 0; -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='27' height='20' viewBox='0 0 27 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M26.0666 0.586239C26.4415 0.961295 26.6522 1.46991 26.6522 2.00024C26.6522 2.53057 26.4415 3.03918 26.0666 3.41424L11.0759 18.4049C10.8778 18.6031 10.6426 18.7602 10.3837 18.8675C10.1249 18.9747 9.84744 19.0299 9.56724 19.0299C9.28705 19.0299 9.0096 18.9747 8.75074 18.8675C8.49188 18.7602 8.25668 18.6031 8.05858 18.4049L0.610577 10.9582C0.419556 10.7737 0.267192 10.5531 0.162374 10.309C0.0575557 10.065 0.00238315 9.8026 7.55132e-05 9.53704C-0.00223212 9.27148 0.0483715 9.00812 0.148933 8.76233C0.249495 8.51654 0.398001 8.29323 0.585787 8.10545C0.773572 7.91766 0.996876 7.76916 1.24267 7.6686C1.48846 7.56803 1.75182 7.51743 2.01738 7.51974C2.28294 7.52205 2.54538 7.57722 2.78939 7.68204C3.03339 7.78685 3.25408 7.93922 3.43858 8.13024L9.56658 14.2582L23.2372 0.586239C23.423 0.400387 23.6435 0.252953 23.8862 0.152363C24.129 0.0517739 24.3892 0 24.6519 0C24.9147 0 25.1748 0.0517739 25.4176 0.152363C25.6603 0.252953 25.8808 0.400387 26.0666 0.586239Z' fill='currentColor'/%3E%3C/svg%3E%0A"); mask-image: url("data:image/svg+xml,%3Csvg width='27' height='20' viewBox='0 0 27 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M26.0666 0.586239C26.4415 0.961295 26.6522 1.46991 26.6522 2.00024C26.6522 2.53057 26.4415 3.03918 26.0666 3.41424L11.0759 18.4049C10.8778 18.6031 10.6426 18.7602 10.3837 18.8675C10.1249 18.9747 9.84744 19.0299 9.56724 19.0299C9.28705 19.0299 9.0096 18.9747 8.75074 18.8675C8.49188 18.7602 8.25668 18.6031 8.05858 18.4049L0.610577 10.9582C0.419556 10.7737 0.267192 10.5531 0.162374 10.309C0.0575557 10.065 0.00238315 9.8026 7.55132e-05 9.53704C-0.00223212 9.27148 0.0483715 9.00812 0.148933 8.76233C0.249495 8.51654 0.398001 8.29323 0.585787 8.10545C0.773572 7.91766 0.996876 7.76916 1.24267 7.6686C1.48846 7.56803 1.75182 7.51743 2.01738 7.51974C2.28294 7.52205 2.54538 7.57722 2.78939 7.68204C3.03339 7.78685 3.25408 7.93922 3.43858 8.13024L9.56658 14.2582L23.2372 0.586239C23.423 0.400387 23.6435 0.252953 23.8862 0.152363C24.129 0.0517739 24.3892 0 24.6519 0C24.9147 0 25.1748 0.0517739 25.4176 0.152363C25.6603 0.252953 25.8808 0.400387 26.0666 0.586239Z' fill='currentColor'/%3E%3C/svg%3E%0A"); -webkit-mask-size: contain; mask-size: contain; mask-repeat: no-repeat;}
.bloque-comparativa:not(.inverse).checks > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(1) .wp-block-list li:before {background-color: var(--color-semi-white);}
.bloque-comparativa.inverse.checks > .wp-block-group__inner-container > .wp-block-columns .wp-block-column:nth-child(2) .wp-block-list li:before {background-color: var(--color-accent);}


/* --- Bloque explicación en pasos --- */
.bloque-explicacion-pasos {background: rgba(var(--color-primary-rgb),.1);}
.bloque-explicacion-pasos .wp-block-group__inner-container .wp-block-columns {margin-bottom: 48px; counter-reset: step; gap: 21px;}
.bloque-explicacion-pasos .wp-block-group__inner-container .wp-block-columns .wp-block-column {counter-increment: step; text-align: center;}
.bloque-explicacion-pasos .wp-block-group__inner-container .wp-block-columns .wp-block-column:before {content: counter(step); width: 40px; height: 40px; border-radius: 50%; background: var(--color-primary); color: var(--color-semi-white); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px; line-height: 110%; margin: 0 auto 16px;}
.bloque-explicacion-pasos .wp-block-group__inner-container .wp-block-columns .wp-block-column .wp-block-heading { font-size: 18px; margin-bottom: 16px;}
.bloque-explicacion-pasos .wp-block-group__inner-container .wp-block-columns .wp-block-column p { font-weight: 300; font-size: 18px; line-height: 105%; letter-spacing: -3%; color: var(--color-semi-black); margin-bottom: 0;}
.bloque-explicacion-pasos .wp-block-group__inner-container .wp-block-columns .wp-block-column p + p {margin-top: 16px;}

/* --- Bloque resultados con cifras --- */
.bloque-resultados > .wp-block-group__inner-container > .wp-block-columns { margin-bottom: 48px;}
.bloque-resultados > .wp-block-group__inner-container > .wp-block-columns .wp-block-column p { font-family: var(--font-heading);font-weight: 500; font-size: 22px; line-height: 100%; text-align: center; color: var(--color-primary); margin-bottom: 0;}
.bloque-resultados > .wp-block-group__inner-container > .wp-block-columns .wp-block-column p.cifra {font-weight: 700; font-size: 43px; text-wrap: nowrap;}
.bloque-resultados > .wp-block-group__inner-container > .wp-block-columns .wp-block-column p.cifra + p.post-cifra {margin-top: 8px;}
.bloque-resultados > .wp-block-group__inner-container > .wp-block-columns .wp-block-column > p:first-of-type:is(.cifra) {margin-top: 22px;}

/* --- Bloque clientes --- */
.bloque-clientes > .wp-block-group__inner-container > .wp-block-columns {gap: 20px;}
.bloque-clientes > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column {background: #FFF; display: flex; flex-direction: column; padding: 20px 10px 10px; border-radius: var(--radius-md); box-shadow: 0px 4px 14.6px 0px #00000040; align-items: center;}
.bloque-clientes > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column img {margin-bottom: 25px; width: 40px; height: auto; display: inline-block;}
.bloque-clientes > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column .wp-block-heading {font-size: 18px; line-height: 100%; text-align: center; margin-bottom: 15px; height: auto;}
.bloque-clientes > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column p { font-weight: 300; font-size: 18px; line-height: 105%; letter-spacing: -3%; text-align: center; margin-bottom: 0; color: var(--color-semi-black); flex-grow: 1;}
/*-> Special inverso */
.bloque-clientes.inverse {background: var(--color-primary);}
.bloque-clientes.inverse > .wp-block-group__inner-container > :is(.wp-block-heading,p,ul) {color: var(--color-semi-white);}
.bloque-clientes.inverse > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column {background: #F8FEFF33; box-shadow: none; align-items: start; border: 1px solid #F8FEFF;}
.bloque-clientes.inverse > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column .wp-block-heading {color: var(--color-semi-white); text-transform: uppercase; text-align: left;}
.bloque-clientes.inverse > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column p { font-weight: 400; text-align: left; color: var(--color-semi-white);}

/* --- Bloque confianza --- */
.bloque-confianza > .wp-block-group__inner-container > .wp-block-columns {gap: 20px; display: grid !important; grid-template-columns: repeat(3,1fr);}
.bloque-confianza.cols-4 > .wp-block-group__inner-container > .wp-block-columns {grid-template-columns: repeat(4,1fr);}
.bloque-confianza > .wp-block-group__inner-container > .wp-block-columns:has( + .wp-block-buttons) {margin-bottom: 48px;}
.bloque-confianza > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column {background: var(--color-white); border-radius: var(--radius-md); box-shadow: 0 4px 14.6px 0 #00000040; padding: 13px 22px;}
.bloque-confianza > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-columns {gap: 13px; flex-wrap: nowrap !important;}
.bloque-confianza > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column .wp-block-column:has( > .wp-block-image){flex-grow: 0; flex-basis: 40px !important;}
.bloque-confianza > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column .wp-block-column:not(:has( > .wp-block-image)){flex-grow: 1; width: auto;}
.bloque-confianza > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column .wp-block-column .wp-block-heading{font-size: 18px; line-height: 1; margin-bottom: 10px;}
.bloque-confianza > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column .wp-block-column p{font-weight: 300; font-size: 18px; line-height: 105%; letter-spacing: 0; color: var(--color-semi-black);}

/* --- Bloque testimonios --- */
.bloque-testimonios .wp-block-group__inner-container {width: 100%; padding-right: 0; padding-left: 0;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns {flex-wrap: nowrap !important; gap: 20px; overflow: auto; -ms-overflow-style: none; scrollbar-width: none; padding-bottom: 20px;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns::-webkit-scrollbar {display: none;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column {padding: 23px 19px; background:linear-gradient(182.46deg, #F8FEFF 2.27%, #FFFFFF 98.16%); box-shadow: 0 4px 14.6px 0 #00000040; border-radius: var(--radius-md); flex: 0 0 calc((100%/3.5) - 20px); min-width:calc((100%/3.5) - 20px); display: flex; flex-direction: column;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column:last-of-type {margin-right: 24px;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column .stars {line-height: 1; font-size: 19px; color: var(--color-accent); margin-bottom: 10px; height: auto;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column .cita { font-weight: 300; font-style: italic; font-size: 12px; line-height: 105%; letter-spacing: 0; color: var(--color-semi-black); flex-grow: 1;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-columns {align-items: center !important; gap: 12px; flex-wrap: nowrap !important;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-columns .wp-block-column:nth-child(1) {flex-basis: 45px !important; min-width: 45px; flex-grow: 0 !important; height: 45px; background: #D9D9D9; color: var(--color-primary); display: flex; justify-content: center; align-items: center; border-radius: 50%;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-columns .wp-block-column:nth-child(1) img{width: 100%; height: 100%; object-fit: cover; border-radius: 50%;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-columns .wp-block-column:nth-child(2) {flex-grow: 1; width: auto; font-weight: 300; font-size: 12px; line-height: 105%; color: var(--color-semi-black);}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-columns .wp-block-column:nth-child(2) p {margin-bottom: 0;}
.bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-columns .wp-block-column:nth-child(2) strong {color: var(--color-primary); font-weight: 700;}

/* --- FAQ Acordeón --- */
.bloque-faqs > .wp-block-group__inner-container > .wp-block-heading {text-align: left;}
.bloque-faqs > .wp-block-group__inner-container > .wp-block-heading:after {left: 0; transform: none;}
.bloque-faqs .wp-block-yoast-faq-block .schema-faq-section + .schema-faq-section {margin-top: 30px;}
.bloque-faqs .wp-block-yoast-faq-block .schema-faq-section {border-bottom: 1px solid var(--color-primary);}
.bloque-faqs .wp-block-yoast-faq-block .schema-faq-section .schema-faq-question {font-family: var(--font-heading); font-weight: 500;font-size: 20px; line-height: 125%; letter-spacing: -2%; padding-right: 15px; position: relative; cursor: pointer; width: 100%; display: block; color: var(--color-primary);}
.bloque-faqs .wp-block-yoast-faq-block .schema-faq-section .schema-faq-question:after{position: absolute; content: ""; top: 4px; right: 0; width: 8px; height: 8px;-webkit-mask: url("images/arrow-faqs.png") no-repeat center;mask: url("images/arrow-faqs.png") no-repeat center; -webkit-mask-size: contain;mask-size: contain; background: var(--color-primary);}
.bloque-faqs .wp-block-yoast-faq-block .schema-faq-section .schema-faq-answer {margin: 0; padding-top: 25px; padding-bottom: 25px; font-family: var(--font-heading); font-weight: 400; font-size: 18px; line-height: 121%;display: none; transition: all 500ms ease-in-out; color: #5C5C5C;}
.bloque-faqs .wp-block-yoast-faq-block .schema-faq-section .schema-faq-answer + .schema-faq-answer {margin-top: 10px}
.bloque-faqs .wp-block-yoast-faq-block .schema-faq-section:not(.open) .schema-faq-question {padding-bottom: 25px;}
.bloque-faqs .wp-block-yoast-faq-block .schema-faq-section.open .schema-faq-question:after {transform: rotate(180deg);}
.bloque-faqs .wp-block-yoast-faq-block .schema-faq-section.open .schema-faq-answer {display: block;}

/* =====================================================
   GUTENBERG EDITOR — Soporte nativo de bloques
   ===================================================== */

/* Alineaciones */
.wp-block-image { margin: 0; }
.wp-block-image img { border-radius: var(--radius-md); }

.wp-block-cover { min-height: 420px; }

.wp-block-columns { gap: 40px; }

.wp-block-separator { border-color: var(--color-mid); }
.wp-block-separator.is-style-wide { border-color: var(--color-accent); }

/* Quote */
.wp-block-quote {
  border-left: 4px solid var(--color-accent);
  padding: 16px 24px;
  background: rgba(201,168,76,.06);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  margin: 24px 0;
}
.wp-block-quote p { font-size: 17px; font-style: italic; color: var(--color-primary); }
.wp-block-quote cite { font-size: 13px; color: var(--color-text-muted); }

/* Table */
.wp-block-table table { width: 100%; border-collapse: collapse; }
.wp-block-table th, .wp-block-table td {
  padding: 12px 16px;
  border: 1px solid var(--color-mid);
  font-size: 15px;
}
.wp-block-table thead th {
  background: var(--color-primary);
  color: var(--color-white);
  font-weight: 600;
}

/* Buttons */
.wp-block-buttons { gap: 12px; }
.wp-block-button__link {
  background: var(--color-accent) !important;
  color: var(--color-primary) !important;
  border-radius: var(--radius-sm) !important;
}
.wp-block-button__link:hover {
  background: var(--color-accent-dark) !important;
  border-color: var(--color-accent-dark) !important;
  color: var(--color-white) !important;
}
.wp-block-button.secondary .wp-block-button__link {
  background: var(--color-semi-white) !important;
}
.wp-block-button.secondary .wp-block-button__link:hover {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-semi-white) !important;
}

/* =====================================================
   PÁGINA CONTACTO
   ===================================================== */
.contact-header {min-height: calc(100vw * 200 / 1440); padding: 0;}
.contact-header .wp-block-cover__inner-container{align-self: end; padding-bottom: 20px;}

.contact-form-info {padding: var(--space-xl) 0; gap: 90px; width: 100vw; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw;
  align-items: flex-start !important; position: relative;}
.contact-form, .contact-info {flex-basis: 50% !important;}
.contact-form {padding-left: calc(((100vw - 1200px) / 2) + 24px);}
.contact-form > p{ font-weight: 300; font-size: 22px; line-height: 130%; letter-spacing: 0; color: var(--color-primary); margin-bottom: 50px;}
/* Formulario usa los mismos que en el pie */

.contact-info {padding: 30px 50px; background: var(--color-primary); border-top-left-radius: var(--radius-lg); border-bottom-left-radius: var(--radius-lg);}
.contact-info > .wp-block-heading{font-size: 40px; line-height: 110%; margin-bottom: 25px; color: var(--color-semi-white);}
.contact-info > .wp-block-list {padding: 0; margin: 0; list-style: none;}
.contact-info > .wp-block-list + .wp-block-list{margin-top: 20px;}
.contact-info .contact-data li + li{margin-top: 20px;}
.contact-info .contact-data li {position: relative; padding-left: 40px; font-size: 18px; line-height: 121%; letter-spacing: 0; color: var(--color-white);}
.contact-info .contact-data li a{color: var(--color-white);}
.contact-info .contact-data li a:hover{color: var(--color-accent);}
.contact-info .contact-data li img{position: absolute; left: 0; height: auto;}
.contact-info .contact-data li.email img{width: 19px !important; top: 4px;}
.contact-info .contact-data li.phone img{width: 20px !important; top: 0;}
.contact-info .contact-data li.address img{width: 15px !important; top: 3px;}

.contact-info .social {display: flex; gap: 10px;}
.contact-info .social img{width: 29px !important; height: auto;}

.contact-office {height: calc(100vw * 581 / 1447); padding: var(--space-xl) 0;}
.contact-office > .wp-block-cover__inner-container{align-self: flex-start;}
.contact-office > .wp-block-cover__inner-container > .wp-block-heading{font-size: 40px; line-height: 110%; margin-bottom: 15px; color: var(--color-white);}
.contact-office > .wp-block-cover__inner-container > p{ font-size: 20px; line-height: 110%;color: var(--color-white);}

/* =====================================================
   BLOG / CASOS DE ÉXITO
   ===================================================== */
/* Listado */
:is(.posts-list, .single-post) .header{position: relative; overflow: hidden; width: 100%; height: calc(100vw * 360 / 1440); display: flex; padding-bottom: 20px; align-items: flex-end;}
:is(.posts-list, .single-post) .header:before{content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #19325F94; z-index: -1;}
:is(.posts-list, .single-post) .header img{position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; height: 100%; object-fit: cover; z-index: -5;}
:is(.posts-list, .single-post) .header h1{font-weight: 600; color: var(--color-semi-white); text-shadow: 0 4px 4px #00000040;}


.posts-list .centro-posts {padding-top: var(--space-xl); padding-bottom: var(--space-xl);}
.posts-list .centro-posts h2 {font-size: 35px; line-height: 120%; margin-bottom: 40px;}
.posts-list .centro-posts .no-results h3 {font-size: 18px; line-height: 1; margin-bottom: 15px; font-family: var(--font-body);}
.posts-list .centro-posts .no-results p {color: var(--color-text-muted);}
.posts-list .centro-posts .posts {display: grid; grid-template-columns: repeat(3,1fr); gap: 33px;}
.posts-list .centro-posts .posts a.img:has( > img){aspect-ratio: 414 / 361; overflow: hidden; display: block; border-radius: var(--radius-sm); margin-bottom: 22px;}
.posts-list .centro-posts .posts a.img > img{width: 100%; height: 100%; object-fit: cover;}
.posts-list .centro-posts .posts h3{font-size: 21px; margin-bottom: 15px;}
.posts-list .centro-posts .posts p{font-size: 16px; line-height: 1; letter-spacing: 0; color: var(--color-primary); margin-bottom: 15px;}
.posts-list .centro-posts .post-pagination {display: flex;justify-content: center; gap: 10px; margin-top: 40px;}
.posts-list .centro-posts .post-pagination :is(span, a){color: var(--color-primary); padding: 2px;}
.posts-list .centro-posts .post-pagination a:hover {color: var(--color-accent);}
.posts-list .centro-posts .post-pagination span.current {background: var(--color-accent); padding-left: 10px; padding-right: 10px;}
.posts-list .centro-posts .post-pagination span.dots {color: var(--color-text-muted);}

.single-post .centro-post {padding-top: var(--space-md); padding-bottom: var(--space-xl); display: flex; gap: 90px; align-items: flex-start;}
.single-post .centro-post .content {flex-grow: 1; width: auto; font-size: 18px; line-height: 100%; color: var(--color-primary);}
.single-post .centro-post .content .info-post {display: flex; align-items: center; margin-bottom: 24px; font-family: var(--font-heading);font-weight: 400; font-size: 18px; line-height: 1; color: var(--color-primary);}
.single-post .centro-post .content .author-post {display: flex; flex-wrap: nowrap; gap: 10px; align-items: center;}
.single-post .centro-post .content .author-post .author-img {flex: 0 0 50px; width: 50px; height: 50px; border-radius: 50%; overflow: hidden; box-shadow: 0 0 5px #D9D9D9;}
.single-post .centro-post .content .author-post .author-img img{width: 100%; height: 100%; object-fit: cover;}
.single-post .centro-post .content .author-post > a {flex: 0 0 auto;} /* foto-texto: 38*/
.single-post .centro-post .content .author-post + .date-post:before {content: "•"; display: inline-block; margin: 0 13px;}
.single-post .centro-post .content :is(h2,h3,h4,h5,h6) {font-size: 21px; line-height: 110%; color: var(--color-primary); font-weight: 500; margin-bottom: 10px;}
.single-post .centro-post .content h2 {font-weight: 700; margin-bottom: 5px; font-size: 25px;}
.single-post .centro-post .content * + :is(h2,h3,h4,h5,h6) {margin-top: 24px;}
.single-post .centro-post .content :is(p,ul,dl,ol) {margin-bottom: 15px; line-height: 135%;font-size: 16px;font-weight: 300;}
.single-post .centro-post .content li {margin-bottom: 5px;}
.single-post .centro-post .content .wp-block-image {margin-top: 35px; margin-bottom: 35px; display: block; max-width: 85%; height: auto; border-radius: 5px;}
.single-post .centro-post .call-content {flex: 0 0 330px; min-width: 330px; position: sticky; top: 100px;}
.customize-support .single-post .centro-post .call-content {top: 132px;}
.single-post .centro-post .call-content .call {border-radius: 11px; background: var(--color-primary); color: var(--color-semi-white); padding: 28px; display: flex; flex-direction: column; gap: 0; justify-content: center; align-items: center; text-align: center;}
.single-post .centro-post .call-content .call h2 {font-family: var(--font-body); font-weight: 400; font-size: 18px; line-height: 121%; color: var(--color-white); margin-bottom: 7px;}
.single-post .centro-post .call-content .call p {font-family: var(--font-heading); font-weight: 700; font-size: 40px; line-height: 110%; margin-bottom: 18px;}
.single-post .link-return {display: flex; padding-bottom: var(--space-md); justify-content: center;}
.single-post li a, .single-post p a{text-decoration:underline}

.posts-list.author-page .centro-posts {position: relative;}
.posts-list.author-page .centro-posts .author-data {position: relative; top: -297px; left: 0; right: 0; display: flex; gap: 35px;}
.posts-list.author-page .centro-posts .author-data .author-photo {flex: 0 0 414px; width: 414px; height: 414px; border-radius: 50%; box-shadow: 0 0 5px #D9D9D9; overflow: hidden;}
.posts-list.author-page .centro-posts .author-data .author-photo img {width: 100%; height: 100%; object-fit: cover;}
.posts-list.author-page .centro-posts .author-data .author-info h2 { font-weight: 600; font-size: 16px; line-height: 100%; letter-spacing: -2%; color: var(--color-white); margin-bottom: 5px; margin-top: 70px;}
.posts-list.author-page .centro-posts .author-data .author-info h1 { font-size: 50px; line-height: 1; letter-spacing: 1%; color: var(--color-white); margin-bottom: 5px;}
.posts-list.author-page .centro-posts .author-data .author-info h3 { font-weight: 400; font-size: 26px; line-height: 130%; letter-spacing: -1%; color: var(--color-white); margin-bottom: 45px;}
.posts-list.author-page .centro-posts .author-data .author-info h4 { font-size: 35px; line-height: 120%; margin-bottom: 24px;}
.posts-list.author-page .centro-posts .author-data .author-info .bio { font-size: 16px; line-height: 130%; letter-spacing: -1%; color: var(--color-primary);}
.posts-list.author-page .centro-posts .author-data .author-info .bio :is(p,ul,dl,ol) { margin-bottom: 24px;}
.posts-list.author-page .centro-posts .author-data .author-info .bio li { margin-bottom: 12px;}
.posts-list.author-page .centro-posts .author-data .author-info .author-contact {display: flex; gap: 12px; list-style: none; padding: 0; margin: 0;}
.posts-list.author-page .centro-posts .author-data .author-info .author-contact li {font-weight: 400; font-size: 18px; line-height: 121%; letter-spacing: 0; padding-left: 40px; position: relative;}
.posts-list.author-page .centro-posts .author-data .author-info .author-contact li:before {content: ""; position: absolute; left: 0;}
.posts-list.author-page .centro-posts .author-data .author-info .author-contact li.mail:before {width: 18px; height: 15px; top: calc(7px/2);background-image: url("data:image/svg+xml,%3Csvg width='21' height='18' viewBox='0 0 21 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.4046 0.75H3.77993C2.10654 0.75 0.75 2.0942 0.75 3.75235V13.2598C0.75 14.9179 2.10654 16.2621 3.77993 16.2621H16.4046C18.078 16.2621 19.4345 14.9179 19.4345 13.2598V3.75235C19.4345 2.0942 18.078 0.75 16.4046 0.75Z' stroke='%23EAB951' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0.75 4.50342L9.24894 8.37245C9.51347 8.49288 9.80115 8.55523 10.0923 8.55523C10.3834 8.55523 10.6711 8.49288 10.9356 8.37245L19.4345 4.50342' stroke='%23EAB951' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A"); background-size: contain;}
.posts-list.author-page .centro-posts .author-data .author-info .author-contact li.phone:before {width: 20px; height: 19px; top: calc(3px/2);background-image: url("data:image/svg+xml,%3Csvg width='22' height='21' viewBox='0 0 22 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.75 5.27381C20.75 2.77531 18.6181 0.75 15.9881 0.75H15.7171C15.4317 0.750045 15.1527 0.831349 14.9163 0.983424C14.68 1.1355 14.497 1.35137 14.391 1.60319L13.2167 4.39167C13.0782 4.72045 13.0443 5.08061 13.1192 5.42751C13.1941 5.77441 13.3745 6.0928 13.6381 6.34324L15.1033 7.73521C15.3381 7.95824 15.4367 8.2826 15.3405 8.58479C14.8837 10.0059 14.0663 11.2987 12.9603 12.3494C11.8543 13.4001 10.4935 14.1765 8.99762 14.6105C8.67952 14.7023 8.33809 14.6082 8.10333 14.3852L6.6381 12.9932C6.37448 12.7429 6.03933 12.5715 5.67417 12.5003C5.30901 12.4291 4.9299 12.4613 4.58381 12.5929L1.6481 13.7085C1.38302 13.8092 1.15579 13.983 0.99571 14.2076C0.83563 14.4321 0.750047 14.6971 0.75 14.9683V15.2262C0.75 17.7247 2.8819 19.75 5.5119 19.75H5.75C13.8976 19.75 20.5281 13.5786 20.7448 5.88814C20.7448 5.88573 20.7456 5.88377 20.7471 5.88226C20.7488 5.8807 20.7498 5.87861 20.75 5.87638V5.27381Z' stroke='%23EAB951' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E%0A"); background-size: contain;}
.posts-list.author-page .centro-posts .author-data .author-info .author-contact li.linkedin:before {width: 23px; height: 23px; top: 0;background-image: url("data:image/svg+xml,%3Csvg width='24' height='23' viewBox='0 0 24 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_324_2306)'%3E%3Cpath d='M12.1468 -0.351807C5.79522 -0.351807 0.646484 4.79693 0.646484 11.1485C0.646484 17.5 5.79522 22.6488 12.1468 22.6488C18.4983 22.6488 23.6471 17.5 23.6471 11.1485C23.6465 4.79693 18.4977 -0.351807 12.1468 -0.351807ZM9.30759 16.3568C9.30759 16.4176 9.25839 16.4674 9.19703 16.4674H6.94884C6.88806 16.4674 6.83828 16.4182 6.83828 16.3568V9.17176C6.83828 9.11098 6.88748 9.0612 6.94884 9.0612H9.19703C9.25781 9.0612 9.30759 9.11041 9.30759 9.17176V16.3568ZM8.07351 8.07371C7.25562 8.07371 6.59228 7.41037 6.59228 6.59247C6.59228 5.77458 7.25562 5.11124 8.07351 5.11124C8.89141 5.11124 9.55475 5.77458 9.55475 6.59247C9.55475 7.41037 8.89141 8.07371 8.07351 8.07371ZM17.7013 15.9736C17.7013 16.2451 17.479 16.4674 17.2075 16.4674H15.7263C15.4548 16.4674 15.2325 16.2451 15.2325 15.9736V12.5174C15.2325 11.8361 14.6798 11.2834 13.9985 11.2834C13.3172 11.2834 12.7644 11.8361 12.7644 12.5174V15.9736C12.7644 16.2451 12.5421 16.4674 12.2706 16.4674H10.7894C10.5179 16.4674 10.2957 16.2451 10.2957 15.9736V9.55495C10.2957 9.28348 10.5179 9.0612 10.7894 9.0612H12.2706C12.5421 9.0612 12.7644 9.28348 12.7644 9.55495V9.87099C13.2581 9.23138 14.0755 8.81462 14.986 8.81462C16.3485 8.81462 17.7013 9.80211 17.7013 11.7771V15.9736Z' fill='%23EAB951'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_324_2306'%3E%3Crect width='23.2013' height='23' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A"); background-size: contain;}
.posts-list.author-page .centro-posts .post {margin-top: -207px;}

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media (min-width: 1251px) {
  .bloque-testimonios .wp-block-group__inner-container > .wp-block-columns {padding-left: calc(((100vw - 1200px) / 2) + 24px);}
  .ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item:first-of-type {margin-left: calc(((100vw - 1200px) / 2) + 24px);}
}

@media (max-width: 1250px) {
  .centro,.centro:has(> .bloque-texto-imagen), .wp-block-cover .wp-block-cover__inner-container, .wp-block-group .wp-block-group__inner-container {width: 94%; padding-left: 0; padding-right: 0;}
  .bloque-testimonios .wp-block-group__inner-container > .wp-block-columns {padding-left: 3%;}
  .ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item:first-of-type {margin-left: 3%;}
}

@media (max-width: 1024px) {
  .footer-top { grid-template-columns: 1fr 1fr; }
  .cta-formulario-grid { grid-template-columns: 1fr; }
  .col-compromiso { order: -1; }
  .steps-grid::before { display: none; }
}

@media (min-width: 769px) {
  /* CTA CONTACTO */
  #navbar, #navbar > ul, #navbar > ul > li {height: 100%;}
  #navbar > ul > li {display: flex; align-items: center;}

  #navbar ul li.menu-item-contacto,
  #navbar ul li.menu-cta,
  #navbar .menu-nav li.menu-item-contacto,
  #navbar .menu-nav li.menu-cta,
  #navbar .menu-nav li#menu-item-276  {
    margin-left: auto;
  }


  #navbar ul li.menu-item-contacto > a,
  #navbar ul li.menu-cta > a,
  #navbar .menu-nav li.menu-item-contacto > a,
  #navbar .menu-nav li.menu-cta > a,
  #navbar .menu-nav li#menu-item-276 > a {
    background: var(--color-accent) !important;
    color: var(--color-primary) !important;
    padding: 10px 20px !important;
    border-radius: var(--radius-sm) !important;
    line-height: 1;
    text-transform: uppercase;
  }
  #navbar ul li.menu-item-contacto > a:hover,
  #navbar ul li.menu-cta > a:hover,
  #navbar .menu-nav li.menu-item-contacto > a:hover,
  #navbar .menu-nav li.menu-cta > a:hover,
  #navbar .menu-nav li#menu-item-276 > a:hover {
    background: var(--color-accent-dark) !important;
    color: var(--color-white) !important;
  }

  /* Submenú desplegable */
  #navbar ul li,
  #navbar .menu-nav li { position: relative; }

  #navbar ul li ul,
  #navbar .menu-nav li ul {
    display: none;
    position: absolute;
    top: calc(100% - 4px);
    left: 0;
    background: var(--color-white);
    min-width: 220px;
    box-shadow: var(--shadow-md);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    border-top: 3px solid var(--color-accent);
    flex-direction: column;
    padding: 6px 0;
    z-index: 100;
  }
  #navbar ul li:hover > ul,
  #navbar .menu-nav li:hover > ul { display: flex; }

  #navbar ul li ul li a,
  #navbar .menu-nav li ul li a {
    padding: 10px 20px;
    font-size: 14px;
    border-radius: 0;
    white-space: nowrap;
    width: 100%;
  }

  :is(.bloque-comparativa,.bloque-explicacion-pasos,.bloque-resultados, .bloque-clientes, .bloque-confianza) > .wp-block-group__inner-container > .wp-block-heading {max-width: 75%; margin-left: auto; margin-right: auto;}
  .bloque-testimonios > .wp-block-group__inner-container > .wp-block-heading {max-width: calc(1200px * 75 / 100); margin-left: auto; margin-right: auto;}
  .bloque-comparativa > .wp-block-group__inner-container > .wp-block-columns {max-width: 85%; margin-left: auto; margin-right: auto;}

  .bloque-resultados > .wp-block-group__inner-container > p {max-width: 50%; margin-left: auto; margin-right: auto;}
  .bloque-testimonios > .wp-block-group__inner-container > p {max-width: calc(1200px * 50 / 100); margin-left: auto; margin-right: auto;}

  .bloque-resultados > .wp-block-group__inner-container > .wp-block-columns {gap: 85px;}

  :is(.bloque-clientes, .bloque-confianza) > .wp-block-group__inner-container > p {max-width: 85%; margin-left: auto; margin-right: auto;}

  .bloque-faqs > .wp-block-group__inner-container > .wp-block-heading {max-width: 60%;}

  .bloque-confianza.call-to-action > .wp-block-group__inner-container > p {max-width: 60%; margin-left: auto; margin-right: auto;}

  .contact-office > .wp-block-cover__inner-container > :is(.wp-block-heading,p) {max-width: 50%;}

  .posts-list .header h1 {max-width: 50%;}
  .posts-list.posts-blog .header h1 {max-width: 60%;}
  .single-post .header h1 {max-width: 70%;}

}

@media (max-width: 768px) {
  body { margin-top: 70px !important; }
  nav.navbar { height: 70px; }
  nav.navbar .centro { height: 70px; }
  nav.navbar .centro > .navbar-header{ display: flex; align-items: center; justify-content: space-between; width: 100%;}
  .navbar-toggle { display: flex; }

  body.customize-support nav.navbar {margin-top: 0; top: 46px;}
  html #wpadminbar {position: fixed !important; top: 0; left: 0; right: 0;}

  #navbar {
    display: none;
    position: absolute;
    top: 70px; left: -3%; right: -3%;
    background: var(--color-white);
    box-shadow: 0 8px 24px rgba(27,45,82,.12);
    padding: 12px 0 20px;
    border-top: 2px solid var(--color-accent);
    z-index: 999;
  }
  #navbar.abierto { display: block; }
  #navbar ul,
  #navbar .menu-nav {
    flex-direction: column;
    gap: 0;
    align-items: stretch;
    width: 100%;
  }
  #navbar ul li a,
  #navbar .menu-nav li a {
    padding: 12px;
    border-bottom: 1px solid var(--color-mid);
    border-radius: 0;
    font-size: 15px;
    white-space: normal;
  }

  #navbar > ul > li > ul {
    background: rgba(var(--color-primary-rgb), .05);
    padding: 0 10px;
    border: 1px solid var(--color-primary);
    margin-left: 2%;
    margin-right: 2%;
    width: 96%;
  }

  .seccion, .seccion:has(> .centro > .bloque-texto-imagen) {padding-top: 5vw; padding-bottom: 5vw;}

  .bloque-texto-imagen,
  .contacto-grid,
  .tabla-vs { grid-template-columns: 1fr; }

  .bloque-texto-imagen.invertir { direction: ltr; }
  .centro:has(> .bloque-texto-imagen > .col-texto:nth-child(1)) {padding-left: 0;}
  .centro:has(> .bloque-texto-imagen > .col-texto:nth-child(2)) {padding-right: 0;}
  .bloque-texto-imagen {gap: 30px;}

  .bloque-features {padding: 0;}
  .feature-highlights {max-width: 100%};
  .feature-highlights .feature-highlight {flex: 0 0 100%; min-width: 100%;}

  .features-grid.cols-3,
  .features-grid.cols-4,
  .features-grid.cols-5 { grid-template-columns: repeat(2, 1fr); }

  .casos-grid .caso-card {flex: 0 0 100%; width: 100%;}

  .testimonios-grid {padding-left: 3%;}
  .testimonios-grid .testimonio-card {flex: 0 0 calc((100%/1.5) - 20px); min-width: calc((100%/1.5) - 20px);}

  .stats-grid { grid-template-columns: repeat(2, 1fr); }

  .cta-formulario-grid .col-formulario form label.half, .contact-form-info .contact-form form label.half {flex: 0 0 100%; min-width: 100%;}
  .cta-formulario-grid .col-formulario form label:has( + br + label), .contact-form-info .contact-form form label:has( + br + label) {margin-bottom: 15px;}
  .cta-formulario-grid .col-formulario form label.half:has( + br + label.half), .contact-form-info .contact-form form label.half:has( + br + label.half) {margin-right: 0;}
  .cta-formulario-grid .col-formulario form label.half + br + label.half, .contact-form-info .contact-form form label.half + br + label.half {margin-left: 0;}

  .footer-top { display: flex; flex-direction: column;}
  .footer-top .footer-contact .footer-rrss{ justify-content: center; }
  .footer-bottom { flex-direction: column; text-align: center; }

  .links-footer {flex-wrap: wrap;}
  .links-footer .menu-footer {width: 100%; justify-content: center;}
  .links-footer > a {margin-left: auto; margin-right: auto;}

  .foomov { display: flex; }
  body { padding-bottom: 60px; }

  .cabecera-interior { min-height: 280px; }

  :is(.bloque-comparativa,.bloque-explicacion-pasos,.bloque-resultados, .bloque-clientes, .bloque-confianza, .bloque-testimonios) {padding-top: 5vw; padding-bottom: 5vw;}

  .bloque-texto-imagen :is(.col-texto, .col-imagen) {flex-basis: 100% !important; padding-left: 0 !important; padding-right: 0 !important}
  .bloque-texto-imagen .col-texto + .col-imagen {margin-top: 30px;}

  .bloque-texto-imagen {left: unset; right: unset; margin-left: auto; margin-right: auto; padding-left: 0; padding-right: 0; width: 94%; flex-wrap: wrap; }
  .bloque-texto-imagen.wp-block-columns .wp-block-column {padding-right: 0 !important; padding-left: 0 !important; order: 0;}
  .bloque-texto-imagen.wp-block-columns .wp-block-column:has( > figure) {order: 1;}
  .bloque-texto-imagen.wp-block-columns > .wp-block-column {padding-top: 5vw !important; padding-bottom: 5vw !important;}
  .bloque-texto-imagen.wp-block-columns > .wp-block-column figure {aspect-ratio: 1 / 1;}

  .bloque-confianza > .wp-block-group__inner-container > .wp-block-columns {grid-template-columns:1fr !important;}

  .bloque-testimonios .wp-block-group__inner-container > .wp-block-columns > .wp-block-column {flex: 0 0 calc((100%/1.5) - 20px) !important; min-width:calc((100%/1.5) - 20px);}
  .ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-reviews-container-wrapper > .ti-review-item { flex: 0 0 calc(100% - 20px) !important; min-width:calc(100% - 20px) !important;}
  .ti-widget.ti-goog > .ti-widget-container > .ti-reviews-container > .ti-controls-line { display: none !important;}

  .contact-form-info {padding: 5vw 3%;}
  .contact-info  {border-radius: var(--radius-lg);}

  :is(.posts-list, .single-post) .header{height: 100vw;}
  :is(.posts-list, .single-post) .header h1{font-size: 32px;}
  .posts-list .posts {padding-top: 5vw; padding-bottom: 5vw;}
  .posts-list .centro-posts .posts {grid-template-columns: 1fr;}


  .single-post .centro-post {flex-wrap: wrap; gap: 30px;}
  .single-post .centro-post :is(.content, .call-content) {flex: 0 0 100%; min-width: 100%;}
  .single-post .centro-post .content .info-post{flex-direction: column; gap: 0; justify-content: flex-start; align-items: flex-start; gap: 10px;}
  .single-post .centro-post .content .info-post .author-post + .date-post:before{display: none;}
  .single-post .centro-post .content .wp-block-image {max-width: unset;}
  .single-post .centro-post .call-content {position: unset; top: unset;}

  .posts-list.author-page .centro-posts {padding-top: 5vw;}
  .posts-list.author-page .centro-posts .author-data {position: unset; top: unset; transform: unset; left: unset; right: unset; flex-direction: column; gap: 15px;}
  .posts-list.author-page .centro-posts .author-data .author-photo {max-width: 90vw; margin-inline: auto; max-height: 90vw;}
  .posts-list.author-page .centro-posts .author-data .author-info :is(h1,h2,h3) {color: var(--color-primary);}
  .posts-list.author-page .centro-posts .author-data .author-info h2 {margin-top: 0;}
  .posts-list.author-page .centro-posts .author-data .author-info h3 {margin-bottom: 15px;}
  .posts-list.author-page .centro-posts .author-data .author-info .author-contact {flex-direction: column; gap: 10px; margin-bottom: 25px;}
  .posts-list.author-page .centro-posts .post {margin-top: 0;}
}

@media (max-width: 480px) {
  .features-grid.cols-3,
  .features-grid.cols-4,
  .features-grid.cols-5 { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr; }
}

/* NOT FOUND */
.not-found-page .centro {display: flex; flex-direction: column; align-items: center; padding-top: var(--space-xl); padding-bottom: var(--space-xl);}
.not-found-page h1 {font-size: 392px; line-height: 1; text-align: center; margin-bottom: 25px;}
.not-found-page h2 {font-family: var(--font-body); font-weight: 400; font-size: 40px; line-height: 1; text-align: center; margin-bottom: 25px;}

@media (max-width: 768px) {
  .not-found-page h1 {font-size: 150px;}
  .not-found-page h2 {font-size: 30px;}
}
