/*
Theme Name:  Hello Elementor Child · Humanización Digital
Theme URI:   https://humanizaciondigital.com
Description: Tema hijo de Hello Elementor para humanizaciondigital.com. Declara el sistema de diseño completo (color, tipografía, escala, ritmo, movimiento) una sola vez. Ninguna página redefine un valor.
Author:      Cortex Analytica
Author URI:  https://cortexanalytica.es
Template:    hello-elementor
Version:     1.1.1
Text Domain: hello-elementor-child-hd
*/

/* ============================================================
   FUENTES · autoalojadas en WOFF2 (sin Google Fonts en runtime)
   ============================================================ */
@font-face{font-family:'League Spartan';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/league-spartan-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'League Spartan';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/league-spartan-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'League Spartan';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/league-spartan-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'League Spartan';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/league-spartan-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(assets/fonts/jost-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jost-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/jost-latin-500-normal.woff2) format('woff2')}

/* ============================================================
   SISTEMA DE DISEÑO · HUMANIZACIÓN DIGITAL
   Fuente: Cerebro de Marca HD (Amaia Urkiza, 11/09/2026)
   + derivados WCAG AA (Cortex Analytica, 14/09/2026)
   ============================================================ */
:root{
  /* Paleta de marca: fondos, titulares, filetes */
  --hd-verde:        #657D66;
  --hd-verde-claro:  #A7B8A2;
  --hd-arena:        #C4A589;
  --hd-crema:        #F4EBE4;
  --hd-blanco:       #FFFFFF;
  /* Derivados para texto pequeño y fondos de contraste (mismo matiz, menos luz) */
  --hd-tinta:          #3E4A3F;   /* cuerpo · 7,9:1 sobre crema */
  --hd-tinta-suave:    #6E7A6C;   /* secundario · solo >= 18px o sobre blanco */
  --hd-verde-profundo: #4A5D4B;   /* texto pequeño en verde, botón, pie · 6,0:1 */
  --hd-arena-texto:    #7E6144;   /* etiquetas editoriales · 4,85:1 */

  /* Escala tipográfica modular · base 17px · razón 1,25 · fluida */
  --hd-t-xs:   clamp(0.72rem, 0.70rem + 0.10vw, 0.78rem);
  --hd-t-s:    clamp(0.88rem, 0.85rem + 0.15vw, 0.95rem);
  --hd-t-base: clamp(1.02rem, 0.98rem + 0.20vw, 1.10rem);
  --hd-t-m:    clamp(1.20rem, 1.12rem + 0.35vw, 1.38rem);
  --hd-t-l:    clamp(1.50rem, 1.32rem + 0.80vw, 2.05rem);
  --hd-t-xl:   clamp(1.95rem, 1.60rem + 1.60vw, 3.00rem);
  --hd-t-xxl:  clamp(2.40rem, 1.85rem + 2.60vw, 4.00rem);

  /* Ritmo de espaciado · base 8 · único origen de padding, margin y gap */
  --hd-e-1: 8px;  --hd-e-2: 16px; --hd-e-3: 24px; --hd-e-4: 32px;
  --hd-e-5: 48px; --hd-e-6: 64px; --hd-e-7: 96px; --hd-e-8: 128px;

  --hd-ancho: 1200px;
  --hd-gutter: clamp(var(--hd-e-3), 5vw, var(--hd-e-5));
  --hd-medida: 62ch;

  --hd-f-titulo: 'League Spartan', 'Century Gothic', system-ui, sans-serif;
  --hd-f-texto:  'Jost', 'Avenir Next', Avenir, system-ui, sans-serif;

  /* Movimiento · un gesto, una duración, una curva */
  --hd-mov-dur: 560ms;
  --hd-mov-curva: cubic-bezier(.22,.61,.36,1);
  --hd-mov-paso: 90ms;
  --hd-mov-desp: var(--hd-e-2);
}

/* ---------- Base tipográfica (Elementor hereda de aquí) ---------- */
body{background:var(--hd-crema); color:var(--hd-tinta); font-family:var(--hd-f-texto); font-size:var(--hd-t-base); font-weight:300; line-height:1.65}
h1,h2,h3,h4{font-family:var(--hd-f-titulo); color:var(--hd-verde); font-weight:600; line-height:1.08; letter-spacing:-0.015em; margin:0}
h1{font-size:var(--hd-t-xxl)} h2{font-size:var(--hd-t-xl)} h3{font-size:var(--hd-t-m); line-height:1.25} h4{font-size:var(--hd-t-base)}
p{max-width:var(--hd-medida)}
a{color:inherit}
img{max-width:100%; height:auto}
/* Radio 0 en todo el sitio, incluidos widgets de Elementor */
.elementor *,.elementor-widget-container,.elementor-button,.elementor-field{border-radius:0 !important}

/* ============================================================
   COMPONENTES · Elementor pone la estructura y el contenido;
   el estilo vive aquí, por clase (_css_classes en cada contenedor).
   ============================================================ */

/* --- Secciones y rejilla --- */
.hd-seccion{padding-block:var(--hd-e-7) !important; background:var(--hd-crema)}
.hd-seccion--blanco{background:var(--hd-blanco)}
.hd-seccion--salvia{background:var(--hd-verde-claro); padding-block:var(--hd-e-6) !important}
.hd-seccion > .e-con-inner,.hd-wrap > .e-con-inner{max-width:var(--hd-ancho); padding-inline:var(--hd-gutter)}
.hd-seccion .elementor-widget{margin-block-end:0}
.hd-pila > .e-con-inner > .elementor-widget + .elementor-widget,.hd-pila > .elementor-widget + .elementor-widget{margin-top:var(--hd-e-3)}
.hd-pila .hd-etiqueta + .elementor-widget{margin-top:0}
.hd-pila .elementor-widget-heading + .elementor-widget-text-editor{margin-top:var(--hd-e-4)}

/* --- Tipos de texto (widget heading / text-editor con clase) --- */
.hd-etiqueta .elementor-heading-title{font-family:var(--hd-f-titulo); font-size:var(--hd-t-xs); font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--hd-arena-texto); padding-bottom:var(--hd-e-2); border-bottom:1px solid var(--hd-arena); display:inline-block; line-height:1.2}
.hd-etiqueta{margin-bottom:var(--hd-e-2) !important}
.hd-h1 .elementor-heading-title{font-size:var(--hd-t-xxl)}
.hd-h2 .elementor-heading-title{font-size:var(--hd-t-xl)}
.hd-h3 .elementor-heading-title{font-size:var(--hd-t-m); line-height:1.25}
.hd-entradilla .elementor-widget-container,.hd-entradilla p{font-size:var(--hd-t-m); font-weight:300; color:var(--hd-tinta)}
.hd-destacado .elementor-widget-container,.hd-destacado p{color:var(--hd-arena-texto); font-size:var(--hd-t-m)}
.hd-cita .elementor-heading-title{font-family:var(--hd-f-titulo); font-size:var(--hd-t-l); font-weight:500; color:var(--hd-verde-profundo); line-height:1.25; max-width:22ch}
.hd-texto p{max-width:var(--hd-medida)}
.hd-texto p + p{margin-top:var(--hd-e-3)}
.hd-nota .elementor-widget-container{font-size:var(--hd-t-xs); color:var(--hd-tinta-suave)}

/* --- Botón --- */
.hd-btn .elementor-button,.hd-btn-linea .elementor-button{background:var(--hd-verde-profundo); color:var(--hd-crema); font-family:var(--hd-f-titulo); font-size:var(--hd-t-s); font-weight:600; letter-spacing:.10em; text-transform:uppercase; padding:var(--hd-e-2) var(--hd-e-4); min-height:48px; line-height:var(--hd-e-2); border:1px solid var(--hd-verde-profundo); transition:background .18s,color .18s}
.hd-btn .elementor-button:hover{background:transparent; color:var(--hd-verde-profundo)}
.hd-btn-linea .elementor-button{background:transparent; color:var(--hd-verde-profundo)}
.hd-btn-linea .elementor-button:hover{background:var(--hd-verde-profundo); color:var(--hd-crema)}
.hd-btn,.hd-btn-linea{margin-top:var(--hd-e-4) !important}

/* --- Cabecera --- */
.hd-cabecera{background:var(--hd-crema); border-bottom:1px solid rgba(101,125,102,.18); position:sticky; top:0; z-index:100; padding-block:var(--hd-e-2) !important}
.hd-cabecera > .e-con-inner{max-width:var(--hd-ancho); padding-inline:var(--hd-gutter); display:flex; align-items:center; justify-content:space-between; gap:var(--hd-e-3); flex-wrap:wrap}
.hd-logo img{height:64px; width:auto}
.hd-logo{min-height:48px; display:flex; align-items:center}
.hd-nav .elementor-nav-menu a,.hd-nav .elementor-item{font-family:var(--hd-f-titulo); font-size:var(--hd-t-xs); font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--hd-verde-profundo) !important; padding:var(--hd-e-2) 0 !important; line-height:var(--hd-e-2); position:relative}
.hd-nav .elementor-nav-menu--main .elementor-nav-menu > li{margin-inline:var(--hd-e-2)}
.hd-nav .elementor-item::after{content:""; position:absolute; left:0; bottom:var(--hd-e-1); width:100%; height:1px; background:var(--hd-arena-texto); transform:scaleX(0); transform-origin:left; transition:transform 260ms var(--hd-mov-curva)}
.hd-nav .elementor-item:hover::after,.hd-nav .elementor-item:focus-visible::after,.hd-nav .elementor-item-active::after{transform:scaleX(1)}
.hd-nav .elementor-nav-menu--dropdown a{color:var(--hd-verde-profundo) !important}
.hd-cabecera .hd-btn{margin-top:0 !important}

/* --- Hero --- */
.hd-hero{padding:0 !important; background:var(--hd-crema)}
.hd-hero > .e-con-inner{max-width:none; padding:0; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:0}
.hd-hero__texto{padding:var(--hd-e-7) var(--hd-gutter) var(--hd-e-7) max(var(--hd-gutter), calc((100vw - var(--hd-ancho))/2 + var(--hd-gutter))) !important}
.hd-hero__texto > .e-con-inner,.hd-hero__texto{max-width:none}
.hd-hero__texto .elementor-widget{max-width:520px}
.hd-hero__texto .elementor-widget + .elementor-widget{margin-top:var(--hd-e-3)}
.hd-hero__texto .hd-etiqueta + .elementor-widget{margin-top:0}
.hd-hero__foto{padding:0 !important; aspect-ratio:4/5; background:var(--hd-verde-claro); overflow:hidden}
.hd-hero__foto img,.hd-hero__foto .elementor-widget,.hd-hero__foto .elementor-widget-container,.hd-hero__foto figure{width:100%; height:100%}
.hd-hero__foto img{object-fit:cover; display:block}
/* Hero: llega solo, mismo gesto */
.hd-hero__texto .elementor-widget{opacity:0; transform:translateY(var(--hd-mov-desp)); animation:hd-llegar var(--hd-mov-dur) var(--hd-mov-curva) forwards}
.hd-hero__texto .elementor-widget:nth-child(2){animation-delay:calc(var(--hd-mov-paso)*1)}
.hd-hero__texto .elementor-widget:nth-child(3){animation-delay:calc(var(--hd-mov-paso)*2)}
.hd-hero__texto .elementor-widget:nth-child(4){animation-delay:calc(var(--hd-mov-paso)*3)}
.hd-hero__texto .elementor-widget:nth-child(5){animation-delay:calc(var(--hd-mov-paso)*4)}
.hd-hero__texto .elementor-widget:nth-child(6){animation-delay:calc(var(--hd-mov-paso)*5)}
.hd-hero__foto img{opacity:0; animation:hd-aparecer 900ms var(--hd-mov-curva) 120ms forwards}
@keyframes hd-llegar{to{opacity:1; transform:none}}
@keyframes hd-aparecer{to{opacity:1}}

/* --- Rejillas --- */
.hd-grid{display:grid !important; gap:var(--hd-e-4); margin-top:var(--hd-e-6)}
.hd-grid > .e-con-inner{display:contents}
.hd-grid-5{grid-template-columns:repeat(5,1fr)}
.hd-grid-3{grid-template-columns:repeat(3,1fr); gap:var(--hd-e-5)}
.hd-grid-2{grid-template-columns:repeat(2,1fr); gap:var(--hd-e-5)}
.hd-grid > .e-con,.hd-grid > .e-con-inner > .e-con{padding:0 !important}

/* Movimiento (celda de método) */
.hd-mov .hd-num .elementor-heading-title{font-family:var(--hd-f-titulo); font-size:var(--hd-t-s); font-weight:600; color:var(--hd-arena-texto); letter-spacing:.10em}
.hd-mov .hd-num{margin-bottom:var(--hd-e-2) !important}
.hd-mov .hd-h3 .elementor-heading-title{font-size:var(--hd-t-base); letter-spacing:.12em; text-transform:uppercase; color:var(--hd-verde-profundo)}
.hd-mov .hd-h3{margin-bottom:var(--hd-e-2) !important}
.hd-mov .elementor-widget-text-editor{font-size:var(--hd-t-s)}

/* Servicio (tarjeta) */
.hd-serv{border-top:1px solid var(--hd-arena); padding-top:var(--hd-e-3) !important; transition:border-color 220ms var(--hd-mov-curva)}
.hd-serv:hover{border-top-color:var(--hd-verde-profundo)}
.hd-serv .hd-h3{margin-bottom:var(--hd-e-2) !important}
.hd-serv .hd-h3 .elementor-heading-title{transition:color 220ms var(--hd-mov-curva)}
.hd-serv:hover .hd-h3 .elementor-heading-title{color:var(--hd-verde-profundo)}
.hd-serv .elementor-widget-text-editor{font-size:var(--hd-t-s)}

/* Testimonio */
.hd-tst{border-left:2px solid var(--hd-arena); padding-left:var(--hd-e-3) !important; transition:border-color 220ms var(--hd-mov-curva)}
.hd-tst:hover{border-left-color:var(--hd-verde-profundo)}
.hd-tst .elementor-widget-text-editor{font-size:var(--hd-t-s); margin-bottom:var(--hd-e-2)}
.hd-tst .hd-firma .elementor-heading-title{font-family:var(--hd-f-titulo); font-size:var(--hd-t-xs); font-weight:600; letter-spacing:.10em; text-transform:uppercase; color:var(--hd-verde-profundo)}
.hd-tst .hd-sector .elementor-widget-container{font-size:var(--hd-t-xs); color:var(--hd-tinta)}

/* Sectores (chips) */
.hd-sectores{display:flex !important; flex-wrap:wrap; gap:var(--hd-e-2); margin-top:var(--hd-e-4)}
.hd-sectores > .e-con-inner{display:contents}
.hd-chip{padding:0 !important; width:auto !important}
.hd-chip .elementor-heading-title{font-family:var(--hd-f-titulo); font-size:var(--hd-t-xs); font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--hd-verde-profundo); border:1px solid var(--hd-verde); padding:var(--hd-e-1) var(--hd-e-2); line-height:var(--hd-e-3); display:inline-block}

/* --- Banda de financiación --- */
.hd-financiacion{background:var(--hd-blanco); border-top:1px solid var(--hd-verde-claro); padding-block:var(--hd-e-5) !important}
.hd-financiacion > .e-con-inner{max-width:var(--hd-ancho); padding-inline:var(--hd-gutter); display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--hd-e-6); align-items:center}
.hd-financiacion img{width:100%; max-width:720px; height:auto}
.hd-financiacion .elementor-widget-text-editor{font-size:var(--hd-t-s); line-height:1.6; color:var(--hd-tinta); max-width:40ch}
.hd-financiacion .e-con{padding:0 !important}

/* --- Pie --- */
.hd-pie{background:var(--hd-verde-profundo); color:var(--hd-crema); padding-block:var(--hd-e-6) var(--hd-e-4) !important}
.hd-pie > .e-con-inner{max-width:var(--hd-ancho); padding-inline:var(--hd-gutter)}
.hd-pie a{color:var(--hd-crema)}
.hd-pie a:hover{text-decoration:underline}
.hd-pie__cols{display:grid !important; grid-template-columns:2fr 1fr 1fr; gap:var(--hd-e-5); padding:0 !important}
.hd-pie__cols > .e-con-inner{display:contents}
.hd-pie__cols .e-con{padding:0 !important}
.hd-pie__logo img{height:56px; width:auto}
.hd-pie__logo{margin-bottom:var(--hd-e-3) !important}
.hd-pie .elementor-widget-text-editor{font-size:var(--hd-t-s); max-width:34ch; color:var(--hd-crema)}
.hd-pie .hd-h4 .elementor-heading-title{font-family:var(--hd-f-titulo); font-size:var(--hd-t-xs); font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--hd-crema)}
.hd-pie .hd-h4{margin-bottom:var(--hd-e-2) !important}
.hd-pie ul{list-style:none; margin:0; padding:0}
.hd-pie li{font-size:var(--hd-t-s); line-height:var(--hd-e-3)}
.hd-pie li a{display:inline-block; padding-block:var(--hd-e-1); line-height:var(--hd-e-4)}
.hd-pie__legal{margin-top:var(--hd-e-5) !important; padding:var(--hd-e-3) 0 0 0 !important; border-top:1px solid rgba(244,235,228,.28)}
.hd-pie__legal > .e-con-inner{display:flex; justify-content:space-between; gap:var(--hd-e-3); flex-wrap:wrap; padding:0; align-items:center}
.hd-pie__legal .elementor-widget-container,.hd-pie__legal p{font-size:var(--hd-t-xs); line-height:var(--hd-e-3); color:var(--hd-crema); margin:0}
.hd-pie__legal a{display:inline-block; padding-block:var(--hd-e-1); line-height:var(--hd-e-4)}
.hd-pie__legal .elementor-widget{width:auto !important}

/* --- Página legal --- */
.hd-legal > .e-con-inner{max-width:var(--hd-medida)}
.hd-legal h2{font-size:var(--hd-t-l); margin-top:var(--hd-e-5); margin-bottom:var(--hd-e-2)}
.hd-legal p + p{margin-top:var(--hd-e-3)}
.hd-legal ul{padding-left:var(--hd-e-3)}

/* Foco visible en todo elemento interactivo (WCAG 2.4.7) */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible{outline:2px solid var(--hd-arena-texto); outline-offset:var(--hd-e-1)}
/* Saltar al contenido */
.hd-salto{position:absolute; left:var(--hd-e-2); top:-100px; background:var(--hd-verde-profundo); color:var(--hd-crema); padding:var(--hd-e-2) var(--hd-e-3); line-height:var(--hd-e-2); z-index:200; font-family:var(--hd-f-titulo); font-size:var(--hd-t-s)}
.hd-salto:focus{top:var(--hd-e-2)}

/* ---------- Movimiento · revelado, no efecto ---------- */
.rev{opacity:0; transform:translateY(var(--hd-mov-desp)); transition:opacity var(--hd-mov-dur) var(--hd-mov-curva), transform var(--hd-mov-dur) var(--hd-mov-curva)}
.rev.es-visible{opacity:1; transform:none}
.rev-grupo > .e-con,.rev-grupo > .e-con-inner > .e-con,.rev-grupo > .elementor-widget,.rev-grupo > .e-con-inner > .elementor-widget{opacity:0; transform:translateY(var(--hd-mov-desp)); transition:opacity var(--hd-mov-dur) var(--hd-mov-curva), transform var(--hd-mov-dur) var(--hd-mov-curva)}
.rev-grupo.es-visible > .e-con,.rev-grupo.es-visible > .e-con-inner > .e-con,.rev-grupo.es-visible > .elementor-widget,.rev-grupo.es-visible > .e-con-inner > .elementor-widget{opacity:1; transform:none}
.rev-grupo.es-visible > :nth-child(2),.rev-grupo.es-visible > .e-con-inner > :nth-child(2){transition-delay:calc(var(--hd-mov-paso)*1)}
.rev-grupo.es-visible > :nth-child(3),.rev-grupo.es-visible > .e-con-inner > :nth-child(3){transition-delay:calc(var(--hd-mov-paso)*2)}
.rev-grupo.es-visible > :nth-child(4),.rev-grupo.es-visible > .e-con-inner > :nth-child(4){transition-delay:calc(var(--hd-mov-paso)*3)}
.rev-grupo.es-visible > :nth-child(5),.rev-grupo.es-visible > .e-con-inner > :nth-child(5){transition-delay:calc(var(--hd-mov-paso)*4)}
.rev-grupo.es-visible > :nth-child(6),.rev-grupo.es-visible > .e-con-inner > :nth-child(6){transition-delay:calc(var(--hd-mov-paso)*5)}

/* ---------- Responsive ---------- */
@media (max-width:1024px){ .hd-grid-5{grid-template-columns:repeat(3,1fr)} }
@media (max-width:860px){
  .hd-cabecera{position:sticky}
  .hd-cabecera .hd-btn{display:none}
  .hd-hero > .e-con-inner{grid-template-columns:1fr}
  .hd-hero__foto{aspect-ratio:3/2; order:-1}
  .hd-hero__texto{padding:var(--hd-e-6) var(--hd-gutter) !important}
  .hd-hero__texto .elementor-widget{max-width:none}
  .hd-seccion{padding-block:var(--hd-e-6) !important}
  .hd-grid-5,.hd-grid-3,.hd-grid-2{grid-template-columns:1fr; gap:var(--hd-e-4)}
  .hd-financiacion > .e-con-inner,.hd-pie__cols{grid-template-columns:1fr; gap:var(--hd-e-4)}
}

/* Quien pide menos movimiento, no recibe ninguno (WCAG 2.3.3) */
@media (prefers-reduced-motion:reduce){
  .rev,.rev-grupo > *,.rev-grupo > .e-con-inner > *,.hd-hero__texto .elementor-widget,.hd-hero__foto img{opacity:1 !important; transform:none !important; animation:none !important; transition:none !important}
  .hd-nav .elementor-item::after,.hd-serv,.hd-tst{transition:none !important}
  .elementor-invisible{visibility:visible !important; animation:none !important}
}

/* ============================================================
   ELEMENTOR · variables globales del kit = tokens de marca.
   Así los "colores globales" y la "tipografía global" del editor
   son los de Humanización Digital sin depender de la UI.
   ============================================================ */
body[class*="elementor-kit-"]{
  --e-global-color-primary:var(--hd-verde);
  --e-global-color-secondary:var(--hd-verde-profundo);
  --e-global-color-text:var(--hd-tinta);
  --e-global-color-accent:var(--hd-arena-texto);
  --e-global-typography-primary-font-family:'League Spartan';
  --e-global-typography-primary-font-weight:600;
  --e-global-typography-secondary-font-family:'League Spartan';
  --e-global-typography-secondary-font-weight:500;
  --e-global-typography-text-font-family:'Jost';
  --e-global-typography-text-font-weight:300;
  --e-global-typography-accent-font-family:'League Spartan';
  --e-global-typography-accent-font-weight:500;
}
/* Los widgets heredan del sistema: sin Roboto, sin azul */
.elementor-widget-heading .elementor-heading-title{font-family:var(--hd-f-titulo); color:var(--hd-verde); font-weight:600; line-height:1.08; letter-spacing:-0.015em}
.elementor-widget-heading h1.elementor-heading-title{font-size:var(--hd-t-xxl)}
.elementor-widget-heading h2.elementor-heading-title{font-size:var(--hd-t-xl)}
.elementor-widget-heading h3.elementor-heading-title{font-size:var(--hd-t-m); line-height:1.25}
.elementor-widget-text-editor{font-family:var(--hd-f-texto); font-size:var(--hd-t-base); font-weight:300; line-height:1.65; color:var(--hd-tinta)}
.elementor-widget-text-editor p{margin:0}
.elementor-widget-text-editor p + p{margin-top:var(--hd-e-3)}
/* El ritmo lo gobierna el sistema, no el gap por defecto de Elementor */
.hd-seccion,.hd-seccion .e-con,.hd-hero .e-con,.hd-pie .e-con,.hd-financiacion .e-con,.hd-cabecera{--gap:0px; --row-gap:0px; --column-gap:0px; gap:0}
.hd-cabecera{--gap:var(--hd-e-3)}
.hd-pila .elementor-widget + .elementor-widget,.hd-pila > .e-con-inner > .elementor-widget + .elementor-widget{margin-top:var(--hd-e-3)}
.hd-pila .hd-etiqueta + .elementor-widget{margin-top:0}
.hd-pila .elementor-widget-heading + .elementor-widget-text-editor{margin-top:var(--hd-e-4)}
.hd-mov .elementor-widget + .elementor-widget,.hd-serv .elementor-widget + .elementor-widget,.hd-tst .elementor-widget + .elementor-widget{margin-top:var(--hd-e-2)}
.hd-pie .e-con .elementor-widget + .elementor-widget{margin-top:var(--hd-e-2)}
.hd-financiacion .e-con .elementor-widget + .elementor-widget{margin-top:var(--hd-e-2)}
/* Logo: tamaño fijo, no se estira */
.hd-logo{width:auto !important; flex:0 0 auto}
.hd-logo img{height:64px !important; width:auto !important; max-width:none !important}
.hd-pie__logo img{height:56px !important; width:auto !important; max-width:none !important}
.hd-cobandera img{width:100% !important; max-width:720px !important; height:auto !important}
/* Menú: sin el puntero de Elementor; el nuestro va en ::before */
.hd-nav .elementor-nav-menu--main .elementor-item:after{display:none !important}
.hd-nav .elementor-item::after{display:none}
.hd-nav .elementor-item::before{content:""; position:absolute; left:0; bottom:var(--hd-e-1); width:100%; height:1px; background:var(--hd-arena-texto); transform:scaleX(0); transform-origin:left; transition:transform 260ms var(--hd-mov-curva)}
.hd-nav .elementor-item:hover::before,.hd-nav .elementor-item:focus-visible::before,.hd-nav .elementor-item-active::before{transform:scaleX(1)}
.hd-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,.hd-nav .elementor-nav-menu--main .elementor-item:hover{color:var(--hd-verde-profundo) !important; background:transparent}
.hd-nav .elementor-menu-toggle{color:var(--hd-verde-profundo); border:1px solid var(--hd-verde); background:transparent; width:48px; height:48px}
.hd-nav .elementor-nav-menu--dropdown{background:var(--hd-crema); border:1px solid var(--hd-verde-claro)}
.hd-nav .elementor-nav-menu--dropdown a{padding:var(--hd-e-2) var(--hd-e-3) !important; line-height:var(--hd-e-2)}
/* Hero: rejilla real en el propio contenedor (content_width full) */
.hd-hero{display:grid !important; grid-template-columns:1fr 1fr; align-items:center; --gap:0px}
.hd-hero > .e-con{width:100% !important; max-width:none !important}
.hd-hero__texto{padding-block:var(--hd-e-7) !important}
/* Chips y rejillas: hijos sin ancho forzado */
.hd-sectores > .e-con{width:auto !important}
.hd-grid > .e-con{width:100% !important}
.hd-pie__cols > .e-con{width:100% !important}
.hd-financiacion > .e-con-inner > .e-con,.hd-financiacion > .e-con{width:100% !important}
@media (max-width:860px){ .hd-hero{grid-template-columns:1fr} }

/* ---------- Ajustes tras primera verificación en producción (14/09) ---------- */
.hd-seccion .hd-grid{gap:var(--hd-e-5) !important}
.hd-seccion .hd-grid-5{gap:var(--hd-e-4) !important}
.hd-seccion .hd-sectores{gap:var(--hd-e-2) !important}
.hd-hero__foto--corta{aspect-ratio:3/2}
.hd-hero:has(.hd-hero__foto--corta) .hd-hero__texto{padding-block:var(--hd-e-6) !important}
.hd-contacto{margin-top:0 !important}
.hd-contacto__datos a{color:var(--hd-verde-profundo); text-decoration:underline; text-underline-offset:4px}
/* Formulario (Elementor Pro) en el sistema */
.hd-form .elementor-field-group{margin-bottom:var(--hd-e-3); padding:0}
.hd-form .elementor-field-label{font-family:var(--hd-f-titulo); font-size:var(--hd-t-xs); font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--hd-verde-profundo); margin-bottom:var(--hd-e-1)}
.hd-form .elementor-field-textual{font-family:var(--hd-f-texto); font-size:var(--hd-t-base); font-weight:300; color:var(--hd-tinta); background:var(--hd-blanco); border:1px solid var(--hd-verde-claro); border-radius:0; padding:var(--hd-e-2); min-height:48px}
.hd-form .elementor-field-textual:focus{border-color:var(--hd-verde-profundo); outline:2px solid var(--hd-arena-texto); outline-offset:2px}
.hd-form .elementor-field-type-acceptance label{font-size:var(--hd-t-s); color:var(--hd-tinta)}
.hd-form .elementor-field-type-acceptance a{color:var(--hd-verde-profundo); text-decoration:underline}
.hd-form .elementor-button{background:var(--hd-verde-profundo); color:var(--hd-crema); font-family:var(--hd-f-titulo); font-size:var(--hd-t-s); font-weight:600; letter-spacing:.10em; text-transform:uppercase; padding:var(--hd-e-2) var(--hd-e-4); min-height:48px; border:1px solid var(--hd-verde-profundo); border-radius:0}
.hd-form .elementor-button:hover{background:transparent; color:var(--hd-verde-profundo)}
.hd-form .elementor-message{font-size:var(--hd-t-s); color:var(--hd-verde-profundo); margin-top:var(--hd-e-2)}
.hd-form .elementor-message-danger{color:#8A3B2E}
/* Banner de cookies (Complianz) alineado al sistema */
#cmplz-cookiebanner-container .cmplz-cookiebanner{font-family:var(--hd-f-texto); background:var(--hd-crema); color:var(--hd-tinta); border:1px solid var(--hd-verde-claro); border-radius:0 !important; box-shadow:none}
#cmplz-cookiebanner-container .cmplz-title{font-family:var(--hd-f-titulo); color:var(--hd-verde); font-weight:600}
#cmplz-cookiebanner-container .cmplz-btn{border-radius:0 !important; font-family:var(--hd-f-titulo); font-weight:600; letter-spacing:.08em; text-transform:uppercase; font-size:var(--hd-t-xs)}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-accept{background:var(--hd-verde-profundo); color:var(--hd-crema); border-color:var(--hd-verde-profundo)}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny,#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences{background:transparent; color:var(--hd-verde-profundo); border:1px solid var(--hd-verde-profundo)}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-save-preferences{background:var(--hd-verde-profundo); color:var(--hd-crema)}

/* Formulario: el botón obedece al sistema, no al acento global del kit */
.hd-form .elementor-form .elementor-button,.hd-form .elementor-button[type="submit"]{background:var(--hd-verde-profundo) !important; color:var(--hd-crema) !important; border-color:var(--hd-verde-profundo) !important}
.hd-form .elementor-form .elementor-button:hover{background:transparent !important; color:var(--hd-verde-profundo) !important}

/* Páginas sin Elementor (p. ej. Política de cookies generada por Complianz): misma medida y ritmo */
body:not(.elementor-page) .site-main{max-width:var(--hd-ancho); margin-inline:auto; padding:var(--hd-e-7) var(--hd-gutter)}
body:not(.elementor-page) .page-header,body:not(.elementor-page) .page-content{max-width:var(--hd-medida); margin:0; padding:0; text-align:left}
body:not(.elementor-page) .page-header h1{text-align:left}
body:not(.elementor-page) .site-main h1,body:not(.elementor-page) .page-header h1{font-size:var(--hd-t-xl); margin-bottom:var(--hd-e-5)}
body:not(.elementor-page) .site-main h2{font-size:var(--hd-t-l); margin-top:var(--hd-e-5); margin-bottom:var(--hd-e-2)}
body:not(.elementor-page) .site-main h3{margin-top:var(--hd-e-4); margin-bottom:var(--hd-e-2)}
body:not(.elementor-page) .site-main p{margin:0 0 var(--hd-e-3) 0}
body:not(.elementor-page) .site-main ul,body:not(.elementor-page) .site-main ol{padding-left:var(--hd-e-3); margin-bottom:var(--hd-e-3)}
body:not(.elementor-page) .site-main table{width:100%; border-collapse:collapse; font-size:var(--hd-t-s); margin-bottom:var(--hd-e-4)}
body:not(.elementor-page) .site-main th,body:not(.elementor-page) .site-main td{border-bottom:1px solid var(--hd-verde-claro); padding:var(--hd-e-1) var(--hd-e-2); text-align:left; vertical-align:top}
body:not(.elementor-page) .site-main a{color:var(--hd-verde-profundo); text-decoration:underline; text-underline-offset:3px}
.cmplz-document h2,.cmplz-document h3{font-family:var(--hd-f-titulo); color:var(--hd-verde)}

/* v1.0.7 — correcciones QA producción */
/* Chips de sector: fila con salto, no columna (Elementor fuerza column en contenedores) */
.hd-sectores{--flex-direction:row; --flex-wrap:wrap; flex-direction:row !important; flex-wrap:wrap !important; align-items:flex-start}
.hd-chip{--width:auto; width:auto !important; flex:0 0 auto !important; align-self:flex-start}
/* Pie: logo a la izquierda (el widget imagen centra por defecto) y columnas con aire */
.hd-pie .elementor-widget-image,.hd-pie__logo{text-align:left !important}
.hd-pie__cols{gap:var(--hd-e-5) !important}
.hd-pie__legal .elementor-widget:first-child{flex:1 1 360px}
/* Héroe en móvil: el recorte 3/2 debe conservar el rostro */
@media (max-width:860px){
  .hd-hero__foto img{object-position:50% 18%}
  .hd-pie__cols{gap:var(--hd-e-5) !important}
}

/* Menú desplegable móvil/tablet: banda a todo el ancho bajo la cabecera, sin fondos oscuros de Elementor */
@media (max-width:1024px){
  .hd-cabecera{position:sticky; top:0}
  .hd-nav{position:static !important}
  .hd-nav .elementor-nav-menu--dropdown{position:absolute !important; left:0; right:0; top:100%; width:100% !important; background:var(--hd-crema) !important; border-top:1px solid var(--hd-arena); border-bottom:1px solid var(--hd-arena); padding:var(--hd-e-2) 0; z-index:60; box-shadow:0 16px 32px rgba(62,74,63,.08)}
  .hd-nav .elementor-nav-menu--dropdown li{border:0 !important}
  .hd-nav .elementor-nav-menu--dropdown a{display:block; padding:var(--hd-e-2) var(--hd-gutter) !important; background:transparent !important; color:var(--hd-verde-profundo) !important; font-family:var(--hd-f-titulo); font-size:var(--hd-t-s); font-weight:600; letter-spacing:.12em; text-transform:uppercase; line-height:var(--hd-e-3)}
  .hd-nav .elementor-nav-menu--dropdown a.elementor-item-active,.hd-nav .elementor-nav-menu--dropdown a:hover,.hd-nav .elementor-nav-menu--dropdown a:focus-visible,.hd-nav .elementor-nav-menu--dropdown a.highlighted{background:transparent !important; color:var(--hd-verde) !important; box-shadow:inset 3px 0 0 var(--hd-arena)}
  .hd-nav .elementor-nav-menu--dropdown .elementor-item::before{display:none}
}
/* Línea legal del pie: sin medida de 62ch, que la parte en dos */
.hd-pie__legal p,.hd-pie__legal .elementor-widget-container,.hd-pie__legal .elementor-widget{max-width:none !important}
/* Banner de cookies: enlaces y cierre en la paleta, no en los colores por defecto de Complianz */
#cmplz-cookiebanner-container .cmplz-links a,#cmplz-cookiebanner-container .cmplz-link{color:var(--hd-verde-profundo) !important; text-decoration:underline; text-underline-offset:3px}
#cmplz-cookiebanner-container .cmplz-close{color:var(--hd-verde-profundo)}
#cmplz-cookiebanner-container .cmplz-close svg{fill:var(--hd-verde-profundo)}
#cmplz-cookiebanner-container .cmplz-close:hover{color:var(--hd-verde)}
#cmplz-cookiebanner-container .cmplz-header .cmplz-title{font-size:var(--hd-t-s); letter-spacing:.06em; text-transform:uppercase}
#cmplz-cookiebanner-container .cmplz-message{line-height:1.5}

/* v1.0.9 — aire entre filete y título en tarjetas (la regla de rejilla ponía padding 0 a todo hijo) */
.hd-grid > .e-con.hd-serv,.hd-grid > .e-con-inner > .e-con.hd-serv{padding-top:var(--hd-e-3) !important}
.hd-grid > .e-con.hd-tst,.hd-grid > .e-con-inner > .e-con.hd-tst{padding-left:var(--hd-e-3) !important}
.hd-serv .hd-num{margin-bottom:var(--hd-e-1) !important}
/* Cabecera fija también en móvil (el desplegable cuelga de ella) */
.hd-cabecera{position:sticky !important; top:0}
/* Volver arriba: botón lateral derecho, aparece tras desplazarse */
.hd-arriba{position:fixed; right:var(--hd-e-3); bottom:var(--hd-e-3); width:44px; height:44px; display:grid; place-items:center; background:var(--hd-verde-profundo); color:var(--hd-crema); border:1px solid var(--hd-verde-profundo); z-index:90; opacity:0; transform:translateY(var(--hd-e-2)); pointer-events:none; transition:opacity 260ms var(--hd-mov-curva), transform 260ms var(--hd-mov-curva), background 220ms var(--hd-mov-curva)}
.hd-arriba.es-visible{opacity:1; transform:none; pointer-events:auto}
.hd-arriba:hover,.hd-arriba:focus-visible{background:var(--hd-verde); color:var(--hd-crema)}
.hd-arriba svg{width:18px; height:18px; display:block}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} .hd-arriba{transition:none} }
/* La cabecera vive dentro del envoltorio de Elementor: el sticky tiene que ir en ese envoltorio, no en el contenedor */
[data-elementor-type="header"]{position:sticky; top:0; z-index:100}

/* ============================================================
   v1.1.0 · BLOG (listado y entrada) — plantillas del tema hijo
   ============================================================ */
/* ============================================================
   BLOG · listado y entrada
   Markup clásico del tema hijo (home.php / archive.php / single.php).
   Elementor no interviene: cabecera y pie siguen siendo sus plantillas.
   ============================================================ */
body.hd-vista .site-main,.hd-main{max-width:none;margin:0;padding:0}
.hd-wrap{max-width:var(--hd-ancho);margin-inline:auto;padding-inline:var(--hd-gutter)}
.hd-medida{max-width:var(--hd-medida)}

/* Etiquetas y metadatos en markup plano (equivalentes a .hd-etiqueta de Elementor) */
.hd-et{font-family:var(--hd-f-titulo);font-size:var(--hd-t-xs);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--hd-arena-texto);padding-bottom:var(--hd-e-2);border-bottom:1px solid var(--hd-arena);display:inline-block;line-height:1.2;margin:0}
.hd-meta{font-family:var(--hd-f-titulo);font-size:var(--hd-t-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--hd-tinta-suave);margin:0;display:flex;gap:var(--hd-e-2);align-items:center;flex-wrap:wrap;max-width:none}
.hd-meta .hd-meta__cat{color:var(--hd-arena-texto)}
.hd-meta i{font-style:normal;color:var(--hd-verde-claro)}
.hd-entradilla-p{font-size:var(--hd-t-m);font-weight:300;color:var(--hd-tinta);max-width:56ch}

/* --- Cabecera de sección --- */
.hd-blog__intro{background:var(--hd-crema);padding-block:var(--hd-e-7) var(--hd-e-5)}
.hd-blog__cab > * + *{margin-top:var(--hd-e-3)}
.hd-blog__cab h1{max-width:18ch}

/* Filtro de categorías */
.hd-cats{display:flex;flex-wrap:wrap;gap:var(--hd-e-2);margin-top:var(--hd-e-4)!important}
.hd-cats a{font-family:var(--hd-f-titulo);font-size:var(--hd-t-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--hd-verde-profundo);border:1px solid var(--hd-verde);padding:var(--hd-e-1) var(--hd-e-2);line-height:var(--hd-e-3);text-decoration:none;transition:background 200ms var(--hd-mov-curva),color 200ms var(--hd-mov-curva)}
.hd-cats a:hover,.hd-cats a:focus-visible{background:var(--hd-verde-profundo);color:var(--hd-crema)}
.hd-cats a.es-activa{background:var(--hd-verde-profundo);color:var(--hd-crema);border-color:var(--hd-verde-profundo)}

/* --- Entrada destacada --- */
.hd-destacada{background:var(--hd-blanco);padding-block:var(--hd-e-6)}
.hd-destacada__in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--hd-e-6);align-items:center}
.hd-destacada__foto{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--hd-verde-claro)}
.hd-destacada__foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 900ms var(--hd-mov-curva)}
.hd-destacada:hover .hd-destacada__foto img{transform:scale(1.03)}
.hd-destacada__txt > * + *{margin-top:var(--hd-e-3)}
.hd-destacada__txt h2{font-size:var(--hd-t-l);max-width:20ch}
.hd-destacada__txt h2 a{text-decoration:none;color:inherit;transition:color 220ms var(--hd-mov-curva)}
.hd-destacada__txt h2 a:hover{color:var(--hd-verde-profundo)}
.hd-destacada__txt p{max-width:46ch}

/* Enlace "leer" con filete propio */
.hd-leer{display:inline-flex;align-items:center;gap:var(--hd-e-1);font-family:var(--hd-f-titulo);font-size:var(--hd-t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--hd-verde-profundo);text-decoration:none;padding-bottom:6px;border-bottom:1px solid var(--hd-arena);transition:border-color 220ms var(--hd-mov-curva),gap 220ms var(--hd-mov-curva)}
.hd-leer svg{width:14px;height:14px;transition:transform 260ms var(--hd-mov-curva)}
a.hd-leer:hover,a.hd-leer:focus-visible,.hd-post:hover .hd-leer,.hd-destacada:hover .hd-leer{border-bottom-color:var(--hd-verde-profundo)}
a.hd-leer:hover svg,.hd-post:hover .hd-leer svg,.hd-destacada:hover .hd-leer svg{transform:translateX(5px)}

/* --- Listado --- */
.hd-listado{background:var(--hd-crema);padding-block:var(--hd-e-7)}
.hd-listado__t{font-size:var(--hd-t-m);letter-spacing:.14em;text-transform:uppercase;color:var(--hd-verde-profundo);padding-bottom:var(--hd-e-3);border-bottom:1px solid var(--hd-verde-claro)}
.hd-entradas{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hd-e-5) var(--hd-e-5);margin-top:var(--hd-e-5)}
.hd-post{border-top:1px solid var(--hd-arena);padding-top:var(--hd-e-3);display:flex;flex-direction:column;gap:var(--hd-e-2);transition:border-top-color 220ms var(--hd-mov-curva)}
.hd-post:hover{border-top-color:var(--hd-verde-profundo)}
.hd-post h3{font-size:var(--hd-t-m);line-height:1.22}
.hd-post h3 a{text-decoration:none;color:inherit;transition:color 220ms var(--hd-mov-curva)}
.hd-post:hover h3 a{color:var(--hd-verde-profundo)}
.hd-post p{font-size:var(--hd-t-s);max-width:none;margin:0}
.hd-post .hd-leer{margin-top:auto;align-self:flex-start}
/* Tarjeta con imagen destacada (opcional: si la entrada la tiene) */
.hd-post__foto{margin:0 0 var(--hd-e-1) 0;aspect-ratio:3/2;overflow:hidden;background:var(--hd-verde-claro)}
.hd-post__foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 900ms var(--hd-mov-curva)}
.hd-post:hover .hd-post__foto img{transform:scale(1.04)}

/* Paginación */
.hd-pag{display:flex;gap:var(--hd-e-2);align-items:center;margin-top:var(--hd-e-6);padding-top:var(--hd-e-3);border-top:1px solid var(--hd-verde-claro)}
.hd-pag a,.hd-pag span{font-family:var(--hd-f-titulo);font-size:var(--hd-t-s);font-weight:600;letter-spacing:.08em;color:var(--hd-verde-profundo);text-decoration:none;min-width:44px;height:44px;display:grid;place-items:center;border:1px solid transparent;transition:border-color 200ms var(--hd-mov-curva),background 200ms var(--hd-mov-curva),color 200ms var(--hd-mov-curva)}
.hd-pag a:hover{border-color:var(--hd-verde)}
.hd-pag .es-actual{background:var(--hd-verde-profundo);color:var(--hd-crema);border-color:var(--hd-verde-profundo)}
.hd-pag .hd-pag__sig{margin-left:auto;padding-inline:var(--hd-e-3);border-color:var(--hd-verde)}

/* Cierre del listado */
.hd-cierre{background:var(--hd-verde-claro);padding-block:var(--hd-e-6)}
.hd-cierre__in{display:flex;justify-content:space-between;align-items:center;gap:var(--hd-e-4);flex-wrap:wrap}
.hd-cierre h2{font-size:var(--hd-t-l);color:var(--hd-verde-profundo);max-width:20ch}
.hd-cierre p{color:var(--hd-tinta);max-width:44ch;margin-top:var(--hd-e-2)}
.hd-boton{display:inline-block;background:var(--hd-verde-profundo);color:var(--hd-crema);font-family:var(--hd-f-titulo);font-size:var(--hd-t-s);font-weight:600;letter-spacing:.10em;text-transform:uppercase;padding:var(--hd-e-2) var(--hd-e-4);min-height:48px;line-height:var(--hd-e-4);border:1px solid var(--hd-verde-profundo);text-decoration:none;transition:background .18s,color .18s}
.hd-boton:hover{background:transparent;color:var(--hd-verde-profundo)}

/* ============================================================
   ENTRADA
   ============================================================ */
.hd-entrada__cab{padding-block:var(--hd-e-7) var(--hd-e-4);background:var(--hd-crema)}
.hd-entrada__cab > .hd-wrap > * + *{margin-top:var(--hd-e-3)}
.hd-entrada__cab h1{font-size:var(--hd-t-xl);max-width:20ch}
.hd-entrada__foto{margin:0;background:var(--hd-verde-claro);aspect-ratio:16/9;max-height:560px;overflow:hidden}
.hd-entrada__foto img{width:100%;height:100%;object-fit:cover;display:block}
.hd-entrada__pie{font-size:var(--hd-t-xs);color:var(--hd-tinta-suave);padding-top:var(--hd-e-1)}

/* Firma de autora en cabecera */
.hd-firma-a{display:flex;align-items:center;gap:var(--hd-e-2)}
.hd-firma-a img{width:44px;height:44px;object-fit:cover;flex:0 0 auto}
.hd-firma-a b{font-family:var(--hd-f-titulo);font-size:var(--hd-t-s);font-weight:600;color:var(--hd-verde-profundo);letter-spacing:.04em}
.hd-firma-a span{display:block;font-size:var(--hd-t-xs);color:var(--hd-tinta-suave)}

/* Cuerpo del editor clásico */
.hd-cuerpo{background:var(--hd-crema);padding-block:var(--hd-e-6) var(--hd-e-7)}
.hd-cuerpo .hd-medida > * + *{margin-top:var(--hd-e-3)}
.hd-cuerpo p{font-size:var(--hd-t-base);max-width:none}
.hd-cuerpo p.hd-entrada__lead{font-size:var(--hd-t-m);font-weight:300}
.hd-cuerpo h2{font-size:var(--hd-t-l);margin-top:var(--hd-e-6)!important;padding-top:var(--hd-e-3);border-top:1px solid var(--hd-arena)}
.hd-cuerpo h3{font-size:var(--hd-t-m);margin-top:var(--hd-e-5)!important;color:var(--hd-verde-profundo)}
.hd-cuerpo ul,.hd-cuerpo ol{padding-left:var(--hd-e-3)}
.hd-cuerpo li + li{margin-top:var(--hd-e-1)}
.hd-cuerpo a{color:var(--hd-verde-profundo);text-decoration:underline;text-underline-offset:3px}
.hd-cuerpo blockquote{margin:var(--hd-e-5) 0!important;padding-left:var(--hd-e-3);border-left:2px solid var(--hd-arena)}
.hd-cuerpo blockquote p{font-family:var(--hd-f-titulo);font-size:var(--hd-t-l);font-weight:500;line-height:1.25;color:var(--hd-verde-profundo);max-width:22ch}
.hd-cuerpo figure{margin:var(--hd-e-5) 0!important}
.hd-cuerpo figcaption{font-size:var(--hd-t-xs);color:var(--hd-tinta-suave);padding-top:var(--hd-e-1)}

/* Ficha de autora al pie de la entrada (E-E-A-T + entidad) */
.hd-autora{background:var(--hd-blanco);padding-block:var(--hd-e-6)}
.hd-autora__in{display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--hd-e-4);align-items:start}
.hd-autora__in{--hd-autora-max:860px}
.hd-autora__in > *{min-width:0}
.hd-autora__txt{max-width:56ch}
.hd-autora__foto{margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--hd-verde-claro)}
.hd-autora__foto img{width:100%;height:100%;object-fit:cover;display:block}
.hd-autora__txt > * + *{margin-top:var(--hd-e-2)}
.hd-autora__txt h2{font-size:var(--hd-t-m);letter-spacing:.06em}
.hd-autora__txt p{font-size:var(--hd-t-s);max-width:56ch}
.hd-autora__enl{display:flex;gap:var(--hd-e-3);flex-wrap:wrap;margin-top:var(--hd-e-3)!important}
.hd-autora__enl a{font-family:var(--hd-f-titulo);font-size:var(--hd-t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--hd-verde-profundo);text-decoration:none;border-bottom:1px solid var(--hd-arena);padding-bottom:4px}
.hd-autora__enl a:hover{border-bottom-color:var(--hd-verde-profundo)}

/* Seguir leyendo */
.hd-sigue{background:var(--hd-crema);padding-block:var(--hd-e-6) var(--hd-e-7)}
.hd-sigue .hd-entradas{grid-template-columns:repeat(2,1fr)}

/* --- Responsive --- */
@media (max-width:1024px){
  .hd-entradas{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .hd-destacada__in{grid-template-columns:1fr;gap:var(--hd-e-4)}
  .hd-destacada__foto{aspect-ratio:3/2}
  .hd-entradas,.hd-sigue .hd-entradas{grid-template-columns:1fr;gap:var(--hd-e-4)}
  .hd-blog__intro{padding-block:var(--hd-e-6) var(--hd-e-4)}
  .hd-listado,.hd-sigue{padding-block:var(--hd-e-6)}
  .hd-entrada__foto{aspect-ratio:3/2}
  .hd-autora__in{grid-template-columns:1fr}
  .hd-autora__foto{max-width:320px}
  .hd-autora__foto{aspect-ratio:3/2}
  .hd-cierre__in{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .hd-destacada__foto img,.hd-post__foto img,.hd-leer svg{transition:none!important;transform:none!important}
}

/* Revelado en markup plano (el blog no usa contenedores de Elementor) */
.hd-main .rev{opacity:0;transform:translateY(var(--hd-mov-desp));transition:opacity var(--hd-mov-dur) var(--hd-mov-curva),transform var(--hd-mov-dur) var(--hd-mov-curva)}
.hd-main .rev.es-visible{opacity:1;transform:none}
.hd-main .rev-grupo > *{opacity:0;transform:translateY(var(--hd-mov-desp));transition:opacity var(--hd-mov-dur) var(--hd-mov-curva),transform var(--hd-mov-dur) var(--hd-mov-curva)}
.hd-main .rev-grupo.es-visible > *{opacity:1;transform:none}
.hd-main .rev-grupo.es-visible > *:nth-child(2){transition-delay:calc(var(--hd-mov-paso)*1)}
.hd-main .rev-grupo.es-visible > *:nth-child(3){transition-delay:calc(var(--hd-mov-paso)*2)}
.hd-main .rev-grupo.es-visible > *:nth-child(4){transition-delay:calc(var(--hd-mov-paso)*3)}
.hd-main .rev-grupo.es-visible > *:nth-child(5){transition-delay:calc(var(--hd-mov-paso)*4)}
.hd-main .rev-grupo.es-visible > *:nth-child(6){transition-delay:calc(var(--hd-mov-paso)*5)}
@media (prefers-reduced-motion:reduce){.hd-main .rev,.hd-main .rev-grupo > *{opacity:1!important;transform:none!important;transition:none!important}}
/* Aviso de entrada de ejemplo (se retira con las entradas de relleno) */
.hd-ejemplo{background:var(--hd-arena);color:#3A2C1E;font-family:var(--hd-f-titulo);font-size:var(--hd-t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:var(--hd-e-2) var(--hd-gutter);text-align:center;max-width:none!important}
.hd-meta__ej{font-family:var(--hd-f-titulo);font-size:var(--hd-t-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#3A2C1E;background:var(--hd-arena);padding:2px var(--hd-e-1);line-height:var(--hd-e-3)}
.hd-main h1,.hd-main h2,.hd-main h3{margin:0}
.hd-main p{margin:0}
