/* Piniela · sitio fijo v2 (réplica visual del sitio de antes, 29-sep-2026).
   Hoja propia: calca los valores de diseño que Divi escribía en cada página (colores, fuentes,
   tamaños, botones, esquinas, sombras). No contiene ni una línea del tema viejo, de su caché ni de sus complementos. */

@font-face {
	font-family: 'Karla';
	src: url('/assets/fuentes/Karla-VariableFont_wght.ttf') format('truetype');
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}
/* IBM Plex Sans Condensed (licencia OFL): solo si ya está instalada en el equipo; el archivo propio llega con el «dale» */
@font-face {
	font-family: 'IBM Plex Sans Condensed';
	src: local('IBM Plex Sans Condensed Bold'), local('IBMPlexSansCondensed-Bold');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--verde: #31b873;
	--verde-oscuro: #185433;
	--claro: #f5f9f7;
	--menta: #75dea2;
	--menta-claro: #caf3da;
	--texto: #666;
	--titulo: #333;
	--borde: #d9d9d9;
	--sombra-verde: rgba(24, 84, 51, 0.18);
	--karla: 'Karla', Helvetica, Arial, Lucida, sans-serif;
	--condensada: 'IBM Plex Sans Condensed', 'Roboto Condensed', 'Arial Narrow', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color-scheme: light;
}

/* ---------- Base (valores por omisión del tema de antes) ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: #fff;
	color: var(--texto);
	font-family: var(--karla);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.7em;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
}
a { color: var(--verde); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; vertical-align: middle; }
h1, h2, h3, h4, h5, h6 {
	color: var(--titulo);
	font-family: var(--karla);
	font-weight: 700;
	line-height: 1.2em;
	margin: 0;
	padding-bottom: 10px;
}
h1 { font-size: 30px; }
h2 { font-size: 26px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
h6 { font-size: 14px; }
p { margin: 0; padding-bottom: 1em; }
p:last-child { padding-bottom: 0; }
ul, ol { margin: 0; padding: 0 0 23px 1em; line-height: 26px; }
ul { list-style: disc; }
li ul, li ol { padding-bottom: 0; }
strong { font-weight: 700; }
hr { border: 0; border-top: 1px solid #e2e2e2; margin: 20px 0; }
blockquote { margin: 20px 0 30px; padding-left: 20px; border-left: 5px solid var(--verde); }
table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 14px; }
th, td { border: 1px solid #eee; padding: 6px 10px; text-align: left; vertical-align: top; }
figure { margin: 0 0 1.5em; }
figcaption { font-size: 13px; color: #888; text-align: center; margin-top: 6px; }
.centrado { text-align: center; }
.derecha { text-align: right; }
.oculto-visual { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.contenedor { width: 80%; max-width: 1080px; margin: 0 auto; position: relative; }
.salto { position: absolute; left: -9999px; top: 0; background: #fff; padding: 8px 12px; z-index: 1000; }
.salto:focus { left: 8px; top: 8px; }

/* ---------- Cabecera clásica (logo a la izquierda, menú a la derecha, fija al bajar) ---------- */
.cabecera {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}
.cabecera-in { display: flex; align-items: center; justify-content: space-between; min-height: 66px; }
.logo { display: inline-flex; align-items: center; padding: 15px 0; }
.logo img { height: 36px; width: auto; }
.menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; line-height: 1em; }
.menu li { padding-left: 22px; }
.menu a { display: block; color: var(--verde-oscuro); font-size: 14px; font-weight: 600; padding: 25px 0; }
.menu a:hover { opacity: 0.7; text-decoration: none; }
.menu a.actual { color: var(--verde); }
.menu-movil { display: none; }
.menu-movil summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 18px 0; color: var(--verde-oscuro); font-weight: 600; }
.menu-movil summary::-webkit-details-marker { display: none; }
.hamburguesa, .hamburguesa::before, .hamburguesa::after { display: block; width: 26px; height: 3px; background: var(--verde); border-radius: 2px; content: ''; position: relative; }
.hamburguesa::before { position: absolute; top: -8px; }
.hamburguesa::after { position: absolute; top: 8px; }
.menu-movil[open] .hamburguesa { background: transparent; }
.menu-movil[open] .hamburguesa::before { top: 0; transform: rotate(45deg); }
.menu-movil[open] .hamburguesa::after { top: 0; transform: rotate(-45deg); }
.menu-movil ul {
	position: absolute; left: 0; right: 0; top: 100%;
	list-style: none; margin: 0; padding: 5%;
	background: #fff; border-top: 3px solid var(--verde);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.menu-movil li a { display: block; padding: 10px 5%; color: var(--verde-oscuro); font-weight: 600; border-bottom: 1px solid rgba(0, 0, 0, 0.03); }
.menu-movil li a.actual { color: var(--verde); }

/* ---------- Pie clásico ---------- */
.pie-clasico { background: #222; }
.pie-nav { background: rgba(255, 255, 255, 0.05); padding-top: 15px; }
.pie-menu { list-style: none; margin: 0; padding: 0 0 5px; display: flex; flex-wrap: wrap; line-height: 1.7em; }
.pie-menu li { padding-right: 22px; font-size: 14px; font-weight: 600; padding-bottom: 12px; }
.pie-menu a, .pie-menu span { color: #bbb; }
.pie-menu a:hover { opacity: 0.7; text-decoration: none; }
.pie-menu a.actual { color: var(--verde); }
.pie-fondo { background: rgba(0, 0, 0, 0.32); padding: 15px 0 5px; min-height: 20px; }

/* ---------- Secciones, filas y columnas (rejilla de antes, medianil 3) ---------- */
.s { position: relative; padding: 4% 0; background-color: #fff; }
.fila { width: 80%; max-width: 1080px; margin: 0 auto; padding: 2% 0; position: relative; display: flex; align-items: flex-start; }
.fila .fila { width: 100%; padding: 0; }
.col { margin-right: 5.5%; position: relative; min-width: 0; }
.col:last-child { margin-right: 0; }
.c-4_4 { width: 100%; }
.c-1_2 { width: 47.25%; }
.c-1_3 { width: 29.6667%; }
.c-2_3 { width: 64.833%; }
.c-1_4 { width: 20.875%; }
.c-3_4 { width: 73.625%; }
.c-3_5 { width: 57.8%; }
.c-2_5 { width: 36.7%; }
.m { position: relative; }
.col > .m:not(:last-child), .col > .fila:not(:last-child) { margin-bottom: 2.75%; }
.oscuro, .oscuro h1, .oscuro h2, .oscuro h3, .oscuro h4, .oscuro h5, .oscuro h6, .oscuro a:not(.boton) { color: #fff; }
.en-linea { display: inline-block; margin: 0 24px 16px 0; vertical-align: middle; }
.img { line-height: 0; }
.img.centrado { margin-left: auto; margin-right: auto; }
.titulo-modulo { padding-bottom: 10px; }
.titulo-modulo a { color: inherit; }

/* Botones de antes: píldora verde oscuro, al pasar el ratón verde */
.boton {
	display: inline-block;
	background-color: var(--verde-oscuro);
	color: #fff;
	border: 2px solid transparent;
	border-radius: 48px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.7em;
	padding: 0.3em 1em;
	transition: background-color 300ms ease, padding 300ms ease;
}
.boton:hover { background-color: var(--verde); color: #fff; text-decoration: none; }
.boton-mod { line-height: 1; }
.boton-mod.centrado { text-align: center; }
.boton.blanco { background: #fff; color: var(--verde); border-width: 0; border-radius: 40px; font-size: 18px; font-weight: 700; padding: 14px 36px; }
.boton.blanco:hover { background: #fff; color: var(--verde-oscuro); }
.boton.negro { background: #000; color: #fff; border-radius: 4px; font-size: 16px; font-weight: 700; padding: 15px 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); }
.boton.negro:hover { background: #222; }

/* Bloques con ícono arriba */
.blurb-icono { color: var(--verde); line-height: 0; margin-bottom: 30px; }
.blurb-icono svg { width: 60px; height: 60px; }
.blurb-titulo { font-family: var(--condensada); font-weight: 700; font-size: 22px; padding-bottom: 10px; }
.blurb-texto { font-size: 16px; }

/* Contadores */
.cifra { text-align: center; }
.cifra-valor { font-family: var(--condensada); font-weight: 700; font-size: 46px; color: var(--verde); line-height: 1.1em; padding-bottom: 10px; }
.cifra-titulo { font-family: var(--karla); font-weight: 600; font-size: 18px; }

/* Acordeones nativos con <details>, sin programas */
.plegable { border: 1px solid var(--borde); background: #f4f4f4; margin-bottom: 10px; }
.plegable[open] { background: #fff; }
.plegable summary {
	list-style: none; cursor: pointer; position: relative;
	padding: 20px 50px 20px 20px;
	font-size: 16px; font-weight: 700; color: var(--texto); line-height: 1.4em;
}
.plegable summary::-webkit-details-marker { display: none; }
.plegable summary::after { content: '+'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 26px; font-weight: 400; color: #ccc; }
.plegable[open] summary { color: var(--verde-oscuro); padding-bottom: 10px; }
.plegable[open] summary::after { content: '\2212'; }
.plegable-contenido { padding: 0 20px 20px; }

/* Redes sociales (círculos verdes con borde blanco) */
.redes { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; line-height: 1; }
.red { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 100px; background: var(--verde); border: 5px solid #fff; color: #fff; }
.red svg { width: 20px; height: 20px; }
.red:hover { text-decoration: none; opacity: 0.85; }
.seguir { display: inline-block; margin-left: 6px; background: var(--menta); color: var(--verde-oscuro); font-weight: 700; font-size: 14px; padding: 6px 14px; border-radius: 3px; box-shadow: 0 40px 40px -6px rgba(0, 0, 0, 0.2); }
.seguir:hover { text-decoration: none; opacity: 0.9; }

/* Insignias de tiendas (sustituto en CSS mientras llegan las imágenes verificadas) */
.insignia {
	display: inline-flex; align-items: center; gap: 12px;
	height: 80px; min-width: 240px; padding: 0 20px;
	background: #000; color: #fff; border: 1px solid #a6a6a6; border-radius: 12px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	line-height: 1.05; text-align: left;
}
.insignia:hover { text-decoration: none; opacity: 0.9; }
.insignia img, .insignia svg { width: 40px; height: 40px; flex: none; }
.insignia small { display: block; font-size: 14px; font-weight: 500; }
.insignia strong { display: block; font-size: 30px; font-weight: 600; letter-spacing: -0.01em; }
.insignia.play small { text-transform: uppercase; font-size: 12px; letter-spacing: 0.04em; }
.insignia-imagen { display: inline-block; line-height: 0; }
.qr { width: 230px; height: auto; image-rendering: pixelated; }
.qr.android { width: 250px; }

/* ---------- Tarjetas y listas del blog ---------- */
.rejilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 5.5%; align-items: start; }
.tarjeta { background: #fff; border: 1px solid #d8d8d8; padding: 19px; }
.tarjeta-imagen { display: block; margin: -20px -20px 20px; line-height: 0; overflow: hidden; }
.tarjeta-imagen img { width: 100%; }
.destacadas .tarjeta-imagen img, .destacadas .lista-imagen img { max-height: 120px; object-fit: cover; object-position: 50% 50%; }
.tarjeta-titulo { font-size: 18px; line-height: 1.3em; padding-bottom: 6px; }
.tarjeta-titulo a { color: var(--titulo); }
.meta { font-size: 14px; color: var(--texto); padding-bottom: 6px; }
.meta a { color: var(--verde); }
.tarjeta-resumen { font-size: 14px; }
.paginacion { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0 0; font-weight: 600; }
.paginacion a { color: #000; }
.paginacion .siguientes { margin-left: auto; }
.paginas-num { text-align: center; font-size: 14px; color: #999; padding-top: 10px; }

/* ---------- Plantilla de entradas del blog ---------- */
.entrada-cabecera { position: relative; background: #fff; padding: 0 0 29px; }
.entrada-cabecera .fila { display: block; padding: 40px 0 30px; }
.entrada-titulo { font-family: var(--karla); font-weight: 700; font-size: 48px; line-height: 1.15em; color: var(--titulo); }
.entrada-cabecera .meta { font-size: 14px; padding: 6px 0 10px; }
.migas { font-size: 14px; color: var(--texto); padding: 0; }
.migas a { color: var(--verde); }
.divisor { position: absolute; left: 0; right: 0; bottom: 0; height: 29px; pointer-events: none;
	background:
		linear-gradient(to top right, var(--menta-claro) 50%, transparent 50%) left bottom / 100% 20.3px no-repeat,
		linear-gradient(to top right, rgba(202, 243, 218, 0.5) 50%, transparent 50%) left bottom / 100% 29px no-repeat; }
.entrada-cuerpo .fila { padding-top: 8px; }
.entrada-contenido { font-size: 16px; line-height: 130%; }
.entrada-contenido p { line-height: 130%; }
.entrada-contenido h1, .entrada-contenido h2, .entrada-contenido h3, .entrada-contenido h4 { line-height: 150%; padding-top: 6px; }
.entrada-contenido img { border-radius: 32px; }
.entrada-contenido ul, .entrada-contenido ol { line-height: 1.5em; }
.entrada-contenido li { margin-bottom: 4px; }
.entrada-nav { display: flex; justify-content: space-between; gap: 20px; padding: 30px 0 10px; font-weight: 600; }
.entrada-nav .siguiente { margin-left: auto; text-align: right; }
.lista { display: flex; flex-direction: column; gap: 30px; }
.lista-imagen { display: block; line-height: 0; border-radius: 16px; overflow: hidden; margin-bottom: 14px; }
.lista-imagen img { width: 100%; }
.lista-titulo { font-size: 18px; line-height: 120%; padding-bottom: 6px; }
.lista-titulo a { color: var(--verde-oscuro); }
.relacionadas .fila { display: block; }
.relacionadas h3 { padding-bottom: 20px; }
.relacionadas .tarjeta { border: 0; border-radius: 16px; overflow: hidden; box-shadow: 0 2px 18px rgba(0, 0, 0, 0.3); }
.relacionadas .tarjeta-imagen { border-radius: 16px 16px 0 0; }

/* ---------- Bloque verde «Descarga Piniela» (pie de entradas) ---------- */
.descarga { background-color: var(--verde-oscuro); background-position: center top; background-size: cover; margin-top: 8vw; padding: 4% 0 24px; color: #fff; }
.descarga .fila.ancha { width: 90%; max-width: none; align-items: center; }
.descarga-fotos { position: relative; }
.telefono { display: block; line-height: 0; border: 1.2vw solid #fff; border-radius: 3vw; overflow: hidden; box-shadow: 0 64px 64px rgba(1, 6, 17, 0.16); background: #fff; }
.descarga-fotos .t0 { width: 49%; position: relative; top: 6vw; left: -28%; }
.descarga-fotos .t1 { width: 61%; position: absolute; top: -28%; right: 0; z-index: 1; border-width: 1.5vw; border-radius: 4vw; }
.descarga-fotos .t2 { width: 38%; position: absolute; top: -5%; left: 15%; border-width: 1vw; border-radius: 4vw; }
.descarga-texto { padding-top: 8vw; }
.descarga-texto h2 { color: #fff; font-family: var(--karla); font-weight: 700; font-size: 108px; line-height: 120%; }
.descarga-texto p { color: #fff; font-size: 24px; line-height: 140%; }
.descarga-qr { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 30px 0; }
.descarga-qr img { width: 200px; }
.descarga-insignias { display: none; flex-direction: column; gap: 12px; margin: 20px 0; }
.descarga .redes { margin-top: 10px; }
.descarga-menu { list-style: none; margin: 0; padding: 30px 0 0; display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 14px; font-weight: 600; }
.descarga-menu a, .descarga-menu span { color: #fff; }
.descarga-menu a.actual { color: var(--menta-claro); }

/* ---------- Portada ---------- */
.pg-inicio .s10 { background-color: var(--verde); padding-top: 6vw; padding-bottom: 5vw; background-position: center bottom; overflow-x: hidden; }
.pg-inicio .t5 { font-size: 20px; line-height: 1.6em; }
.pg-inicio .t5 h1 { font-family: var(--condensada); font-weight: 700; font-size: 56px; line-height: 1.1em; }
.pg-inicio .t5 h2 { font-family: var(--karla); font-weight: 600; font-size: 26px; line-height: 1.4em; padding-bottom: 4px; }
.pg-inicio .s10 .c15 { padding-top: 3vw; }
.pg-inicio .s10 .t5 { margin-bottom: 30px !important; }
.pg-inicio .s10 .img:not(.en-linea) { margin-bottom: 14px !important; }
.pg-inicio .i4 { width: 70%; margin: 0 auto; }
.pg-inicio .s10 .en-linea { margin-right: 20px; }
.pg-inicio .s10 .qr, .pg-inicio .s10 .qr.android { width: 200px; }
.pg-inicio .s11 .blurb-texto { font-size: 16px; }
.pg-inicio .s12 { background-color: var(--claro); }
.pg-inicio .s12 .fila { align-items: center; }
.pg-inicio .t6 h2 { font-family: var(--condensada); font-weight: 700; font-size: 42px; line-height: 1.2em; }
.pg-inicio .t7 { font-size: 18px; line-height: 1.8em; }
.pg-inicio .i5 { width: 55%; margin: 0 auto; }
.pg-inicio .s13 { background-color: var(--verde); padding-top: 5vw; padding-bottom: 5vw; }
.pg-inicio .t8 { font-size: 19px; line-height: 1.8em; max-width: 820px; margin-left: auto; margin-right: auto; text-align: center; }
.pg-inicio .t8 h2 { font-family: var(--condensada); font-weight: 700; font-size: 44px; line-height: 1.2em; }
.pg-inicio .s13 .boton-mod { text-align: center; padding-top: 10px; }
.pg-inicio .s16 .titulo-modulo { font-family: var(--condensada); font-size: 42px; text-align: center; padding-bottom: 30px; }
.pg-inicio .s17 { background-color: var(--verde-oscuro); padding-top: 5vw; padding-bottom: 5vw; }
.pg-inicio .s17 .fila { align-items: center; }
.pg-inicio .c25 { display: flex; gap: 4%; align-items: flex-start; }
.pg-inicio .c25 > .m { flex: 1; margin: 0 !important; }
.pg-inicio .c25 > .m:nth-child(2) { margin-top: -30px !important; }
.pg-inicio .c25 .img > img, .pg-inicio .c25 .img > a > img { border: 0.9vw solid #fff; border-radius: 2.4vw; box-shadow: 0 30px 48px -6px rgba(1, 6, 17, 0.3); background: #fff; }
.pg-inicio .t9 { font-size: 18px; line-height: 1.6em; padding-bottom: 20px; }
.pg-inicio .t9 h2 { font-family: var(--karla); font-weight: 700; font-size: 64px; line-height: 1.1em; }
.pg-inicio .t9 h3 { font-family: var(--karla); font-weight: 400; font-size: 22px; line-height: 1.4em; }
.pg-inicio .s17 .qr { width: 180px; }

/* ---------- Empresas (plantilla de página con barra lateral, como estaba) ---------- */
.con-lateral { display: flex; gap: 0; padding-top: 58px; position: relative; }
.con-lateral::before { content: ''; position: absolute; top: 0; bottom: 0; right: 20.875%; width: 1px; background: #e2e2e2; }
.area-principal { width: 79.125%; padding-right: 5.5%; padding-bottom: 50px; }
.lateral { width: 20.875%; padding-left: 30px; padding-bottom: 50px; }
.lateral h2 { font-size: 18px; padding-bottom: 10px; }
.lateral ul { list-style: none; padding: 0 0 30px; line-height: 1.5em; }
.lateral li { margin-bottom: 10px; }
.lateral li a { color: var(--texto); }
.lateral li a:hover { color: var(--verde); }
.titulo-principal { font-size: 30px; padding-bottom: 20px; }
.pg-empresas .s0 { background-color: var(--verde); padding-top: 6vw; padding-bottom: 5vw; background-position: center bottom 0; overflow-x: hidden; }
.pg-empresas .t0 { font-size: 20px; line-height: 1.6em; }
.pg-empresas .t0 h1 { font-family: var(--condensada); font-weight: 700; font-size: 56px; line-height: 1.1em; }
.pg-empresas .t0 h2 { font-family: var(--karla); font-weight: 600; }
.pg-empresas .c0 { padding-top: 3vw; }
.pg-empresas .i0 { width: 62%; margin: 0 auto; }
.pg-empresas .s1 { padding-top: 6vw; padding-bottom: 2vw; }
.pg-empresas .t1 { font-size: 18px; line-height: 1.8em; max-width: 820px; margin-left: auto !important; margin-right: auto !important; }
.pg-empresas .t1 h2 { font-family: var(--condensada); font-weight: 700; font-size: 42px; line-height: 1.2em; }
.pg-empresas .t2 { font-size: 13px; }
.pg-empresas .s2, .pg-empresas .s5 { background-color: var(--claro); padding-top: 5vw; padding-bottom: 5vw; }
.pg-empresas .t3 h2, .pg-empresas .t4 h2, .pg-empresas .t5 h2 { font-family: var(--condensada); font-weight: 700; font-size: 42px; line-height: 1.2em; }
.pg-empresas .s3 { background-color: var(--verde-oscuro); padding-top: 5vw; padding-bottom: 5vw; }
.pg-empresas .t4 { font-size: 19px; max-width: 860px; margin-left: auto !important; margin-right: auto !important; }
.pg-empresas .s4 { padding-top: 6vw; padding-bottom: 4vw; }
.pg-empresas .t5 { font-size: 18px; line-height: 1.8em; max-width: 900px; margin-left: auto !important; margin-right: auto !important; }
.pg-empresas .t6, .pg-empresas .t8 { font-size: 18px; line-height: 1.8em; }
.pg-empresas .t6 h2 { font-family: var(--condensada); font-weight: 700; font-size: 40px; line-height: 1.2em; }
.pg-empresas .t6 h3 { font-family: var(--karla); font-weight: 700; font-size: 20px; }
.pg-empresas .i1, .pg-empresas .i2 { margin-left: auto; margin-right: auto; }
.pg-empresas .i1 { width: 70%; }
.pg-empresas .i2 { width: 55%; }
.pg-empresas .i1 img, .pg-empresas .i2 img { border-radius: 18px; box-shadow: 0 30px 48px -6px var(--sombra-verde); }
.pg-empresas .t7 { font-size: 15px; }
.pg-empresas .s6 { background-color: var(--verde); padding-top: 5vw; padding-bottom: 5vw; }
.pg-empresas .t9 { font-size: 19px; max-width: 820px; margin-left: auto !important; margin-right: auto !important; }
.pg-empresas .t9 h2 { font-family: var(--condensada); font-weight: 700; font-size: 44px; line-height: 1.2em; }
.pg-empresas .blurb-texto { font-size: 16px; }

/* ---------- Soporte ---------- */
.pg-soporte .s0 { background-image: linear-gradient(180deg, #f7f5ff 0%, #ffffff 100%); }
.pg-soporte .t0 { font-size: 16px; line-height: 1.8em; }
.pg-soporte .t0 h2 { font-family: var(--condensada); font-weight: 700; font-size: 50px; line-height: 1.2em; }
.pg-soporte .t-ayuda { font-size: 16px; line-height: 1.8em; }
.pg-soporte .t-ayuda ul { line-height: 1.8em; }
.tarjeta-correo {
	font-size: 16px; line-height: 1.8em; text-align: center; color: #fff;
	background-image: linear-gradient(90deg, #a8eb9d 0%, #39abc5 100%);
	border-radius: 10px; padding: 30px; box-shadow: 0 20px 40px 0 rgba(68, 177, 193, 0.7);
}
.tarjeta-correo a { color: #fff; font-family: var(--condensada); font-weight: 700; font-size: 20px; line-height: 1.4em; }
.tarjeta-correo p { color: #fff; }

/* ---------- Legales y preguntas frecuentes ---------- */
.pg-legal .s, .pg-faq .s { padding: 3% 0; }
.pg-legal .titulo-modulo, .pg-faq .titulo-modulo { padding-bottom: 14px; }
.pg-legal h3 { font-size: 18px; padding-top: 10px; }
.pg-legal .m + .m { margin-top: 10px; }
.pg-faq .s .fila:first-child .titulo-modulo { font-size: 30px; }
.pg-faq .titulo-modulo { font-size: 22px; }
.pg-app .s:first-child { padding-top: 30px; }

/* ---------- Página del blog ---------- */
.pg-blog .blog-cabecera .fila { display: block; }
.blog-titulo { font-family: var(--condensada); font-weight: 700; font-size: 80px; line-height: 1.2em; max-width: 600px; }
.blog-subtitulo { max-width: 600px; font-size: 26px; line-height: 1.3em; }
.carrusel { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; gap: 0; border-radius: 10px; scrollbar-width: none; }
.carrusel::-webkit-scrollbar { display: none; }
.diapositiva { flex: 0 0 100%; scroll-snap-align: start; padding: 50px 8%; text-align: center; background: #fff; }
.diapositiva h2 { font-family: var(--condensada); font-weight: 700; font-size: 50px; line-height: 1.2em; padding-bottom: 16px; }
.diapositiva h2 a { color: var(--titulo); }
.diapositiva p { font-size: 16px; line-height: 1.8em; padding-bottom: 24px; }
.carrusel-puntos { display: flex; justify-content: center; gap: 10px; padding-top: 12px; }
.carrusel-puntos a { width: 7px; height: 7px; border-radius: 7px; background: rgba(0, 0, 0, 0.3); }
.pg-blog .rejilla .tarjeta { border: 0; box-shadow: 0 47px 48px 0 rgba(100, 146, 188, 0.2); }
.pg-blog .rejilla .tarjeta-titulo { font-size: 20px; line-height: 1.5em; }
.pg-blog .rejilla .meta { font-size: 16px; font-weight: 600; color: rgba(0, 0, 0, 0.24); }
.pg-blog .rejilla .meta a { color: rgba(0, 0, 0, 0.24); }
.pg-blog .rejilla .tarjeta-resumen { font-size: 16px; line-height: 1.8em; }
.pg-blog .paginacion { font-size: 16px; }

/* ---------- Archivo de categorías y etiquetas ---------- */
.archivo-entrada { padding-bottom: 60px; }
.archivo-entrada .archivo-imagen { display: block; line-height: 0; margin-bottom: 30px; }
.archivo-entrada .archivo-imagen img { width: 100%; max-height: 675px; object-fit: cover; }
.archivo-entrada h2 { font-size: 26px; padding-bottom: 10px; }
.archivo-entrada h2 a { color: var(--titulo); }

/* ---------- Adaptación a tableta y teléfono ---------- */
@media (min-width: 1350px) {
	.fila { padding: 27px 0; }
	.s { padding: 54px 0; }
}
@media (max-width: 980px) {
	.menu { display: none; }
	.menu-movil { display: block; }
	.cabecera { position: relative; }
	.fila { display: block; padding: 30px 0; }
	.s { padding: 50px 0; }
	.col { width: 100% !important; margin-right: 0; margin-bottom: 30px; }
	.col:last-child { margin-bottom: 0; }
	.fila-4 { display: flex; flex-wrap: wrap; gap: 30px 5.5%; }
	.fila-4 > .col { width: 47.25% !important; margin: 0; }
	.rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pg-inicio .t5 h1, .pg-empresas .t0 h1 { font-size: 44px; }
	.cifra-valor { font-size: 42px; }
	.entrada-titulo { font-size: 38px; }
	.descarga-texto h2 { font-size: 60px; }
	.descarga-fotos { margin-top: 20vw; }
	.descarga-fotos .t0 { top: 0; left: -27%; }
	.descarga-qr { display: none; }
	.descarga-insignias { display: flex; }
	.con-lateral { display: block; }
	.con-lateral::before { display: none; }
	.area-principal, .lateral { width: 100%; padding: 0 0 30px; }
	.blog-titulo { font-size: 60px; }
	.diapositiva h2 { font-size: 40px; }
	.pg-soporte .t0 h2 { font-size: 40px; }
	.pg-inicio .c25 > .m:nth-child(2) { margin-top: 0 !important; }
}
@media (max-width: 767px) {
	.rejilla { grid-template-columns: minmax(0, 1fr); }
	.fila-4 > .col { width: 100% !important; }
	.pg-inicio .t5 h1, .pg-empresas .t0 h1 { font-size: 34px; }
	.pg-inicio .t5 h2, .pg-empresas .t0 h2 { font-size: 20px; }
	.pg-inicio .t6 h2, .pg-inicio .t8 h2, .pg-empresas .t1 h2, .pg-empresas .t3 h2, .pg-empresas .t4 h2, .pg-empresas .t5 h2, .pg-empresas .t9 h2 { font-size: 30px; }
	.pg-empresas .t6 h2 { font-size: 28px; }
	.pg-inicio .t9 h2 { font-size: 44px; }
	.cifra-valor { font-size: 40px; }
	.entrada-titulo { font-size: 30px; }
	.descarga-texto h2 { font-size: 50px; }
	.blog-titulo { font-size: 50px; }
	.diapositiva { padding: 30px 6%; }
	.diapositiva h2 { font-size: 30px; }
	.pg-soporte .t0 h2 { font-size: 30px; }
	.tarjeta-correo a { font-size: 24px; }
	.qr, .qr.android { width: 150px; }
	.pg-inicio .s10 .qr, .pg-inicio .s10 .qr.android { width: 130px; }
	.pg-inicio .s10 .en-linea { margin-right: 12px; }
	.insignia { height: 64px; min-width: 200px; }
	.insignia strong { font-size: 24px; }
	.insignia small { font-size: 12px; }
	.entrada-nav { flex-direction: column; }
}

/* Fondos con patrón (imágenes verificadas) */
.pg-inicio .s10, .pg-empresas .s0 { background-image: url('/wp-content/uploads/2025/07/mobile-app_89.png'); background-size: cover; background-repeat: no-repeat; }
.descarga, .pg-inicio .s17 { background-image: url('/wp-content/uploads/2025/07/mobile-app_85.png'); background-size: cover; background-repeat: no-repeat; background-position: center top; }
.pg-soporte .s0 { background-image: url('/wp-content/uploads/2025/07/mobile-app_49.png'), linear-gradient(180deg, #f7f5ff 0%, #ffffff 100%); background-size: cover; background-repeat: no-repeat; background-position: center; }
