/* Datanex Widgets — Hero personal (dnx-hero-personal) */
.hf-hero{position:relative;overflow:hidden;isolation:isolate}
.hf-hero--franja::after{content:"";position:absolute;top:0;right:0;bottom:0;width:38%;background:var(--hf-marfil);z-index:-1}
.hf-hero__in{display:grid;grid-template-columns:minmax(0,1fr) 636px;gap:64px;align-items:center;padding-block:clamp(48px,7vw,96px)}
.hf-hero__texto{display:flex;flex-direction:column;gap:26px}
.hf-hero h1{margin:0;font-size:clamp(38px,4.4vw,62px);line-height:1.06;font-weight:800;letter-spacing:-.02em;color:var(--hf-azul)}
.hf-hero__bajada{margin:0;font-size:19px;line-height:1.6;color:var(--hf-texto-2);max-width:540px}
.hf-hero__ctas{display:flex;flex-wrap:wrap;gap:14px;padding-top:6px}

.hf-pildora{margin:0;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:var(--hf-radio-pill);background:var(--hf-marfil);border:1px solid var(--hf-linea);font-size:14px;font-weight:600;color:var(--hf-azul)}
.hf-pildora span{width:8px;height:8px;border-radius:50%;background:var(--hf-arena);box-shadow:0 0 0 4px var(--hf-arena-suave)}

/* Collage: 3 columnas centradas; las laterales se alinean al centro vertical de la foto principal */
.hf-collage{display:grid;grid-template-columns:160px 256px 160px;gap:20px;align-items:center;justify-content:center}
.hf-collage__lado--izq{grid-column:1;grid-row:1}
.hf-collage__centro{grid-column:2;grid-row:1;position:relative}
.hf-collage__lado--der{grid-column:3;grid-row:1}
/* Especificidad .hf-collage img.x para ganar al reset de Elementor (.elementor img{border-radius:0}) */
.hf-collage img{display:block;max-width:100%;height:auto;background:var(--hf-azul-2);color:var(--hf-arena)}
.hf-collage img.hf-collage__lado{width:160px;aspect-ratio:2/3;object-fit:cover;border-radius:var(--hf-radio-img)}
.hf-collage img.hf-collage__foto{width:256px;aspect-ratio:16/25;object-fit:cover;border-radius:var(--hf-radio-lg)}

/* Tarjeta de autoridad superpuesta a la foto principal */
.hf-autoridad{position:absolute;left:16px;right:16px;bottom:16px;margin:0;padding:20px 22px;display:flex;flex-direction:column;gap:6px;background:var(--hf-azul);color:#fff;border-radius:var(--hf-radio-img);box-shadow:0 16px 40px rgba(14,39,70,.28)}
.hf-collage--tarjeta-arriba .hf-autoridad{bottom:auto;top:16px}
.hf-autoridad strong{font-size:clamp(28px,2.6vw,38px);font-weight:800;line-height:1;color:var(--hf-arena)}
.hf-autoridad span{font-size:14px;line-height:1.45;color:var(--hf-claro)}

@media (max-width:1199px){
  .hf-hero__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
  .hf-hero--franja::after{width:44%}
  .hf-collage{grid-template-columns:minmax(0,.62fr) minmax(0,1fr) minmax(0,.62fr);gap:14px;justify-content:stretch}
  .hf-collage img.hf-collage__lado,.hf-collage img.hf-collage__foto{width:100%}
  .hf-autoridad{left:10px;right:10px;bottom:10px;padding:14px 16px;gap:4px;border-radius:12px}
  .hf-collage--tarjeta-arriba .hf-autoridad{top:10px}
  .hf-autoridad strong{font-size:26px}
  .hf-autoridad span{font-size:13px;line-height:1.4}
}
/* Tablet vertical: una columna, texto primero y collage centrado debajo */
@media (max-width:959px){
  .hf-hero__in{grid-template-columns:1fr;gap:48px}
  .hf-hero--franja::after{display:none}
  .hf-collage{width:100%;max-width:560px;margin-inline:auto}
  .hf-autoridad{left:14px;right:14px;bottom:14px;padding:18px 20px}
  .hf-collage--tarjeta-arriba .hf-autoridad{top:14px}
  .hf-autoridad strong{font-size:34px}
  .hf-autoridad span{font-size:14px}
}
@media (max-width:767px){
  .hf-hero__in{gap:32px}
  .hf-hero__bajada{font-size:17px}
  .hf-hero__ctas{flex-direction:column}
  .hf-hero__ctas .hf-btn{width:100%}
  .hf-collage{grid-template-columns:80px minmax(0,1fr) 80px;gap:10px}
  .hf-autoridad{left:10px;right:10px;bottom:10px;padding:12px 14px;gap:4px}
  .hf-collage--tarjeta-arriba .hf-autoridad{top:10px}
  .hf-autoridad strong{font-size:26px}
  .hf-autoridad span{font-size:13px}
}

/* Sin foto principal: la tarjeta deja de estar superpuesta */
.hf-collage__centro--sin-foto .hf-autoridad{position:static}
