.elementor-kit-15{--e-global-color-primary:#004644;--e-global-color-secondary:#1D1D1B;--e-global-color-text:#5C6866;--e-global-color-accent:#C2A86D;--e-global-color-oroclaro:#F2ECDD;--e-global-color-verdehover:#003331;--e-global-color-blanco:#FFFFFF;--e-global-color-linea:#E0DCD2;--e-global-typography-primary-font-family:"Lufga";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Lufga";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Lufga";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Lufga";--e-global-typography-accent-font-weight:300;color:#1D1D1B;font-family:"Lufga", Sans-serif;font-size:17px;font-weight:400;line-height:1.65em;}.elementor-kit-15 button,.elementor-kit-15 input[type="button"],.elementor-kit-15 input[type="submit"],.elementor-kit-15 .elementor-button{background-color:#004644;font-family:"Lufga", Sans-serif;font-size:1.0625rem;font-weight:600;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#004644;border-radius:4px 4px 4px 4px;padding:14px 28px 14px 28px;}.elementor-kit-15 button:hover,.elementor-kit-15 button:focus,.elementor-kit-15 input[type="button"]:hover,.elementor-kit-15 input[type="button"]:focus,.elementor-kit-15 input[type="submit"]:hover,.elementor-kit-15 input[type="submit"]:focus,.elementor-kit-15 .elementor-button:hover,.elementor-kit-15 .elementor-button:focus{background-color:#003331;color:#FFFFFF;}.elementor-kit-15 e-page-transition{background-color:#FFBC7D;}.elementor-kit-15 a{color:#004644;}.elementor-kit-15 a:hover{color:#003331;}.elementor-kit-15 h1{color:#1D1D1B;font-family:"Lufga", Sans-serif;font-size:3rem;font-weight:600;}.elementor-kit-15 h2{color:#004644;font-family:"Lufga", Sans-serif;font-size:2rem;font-weight:600;}.elementor-kit-15 h3{color:#1D1D1B;font-family:"Lufga", Sans-serif;font-size:1.25rem;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ═══════════════════════════════════════════════════════════════
   DrDears · Sistema de diseño (extraído del prototipo)
   Fuente Lufga: mientras no se suban los .woff2 comerciales,
   usamos Manrope de Google Fonts como fallback (métrica muy similar).
   ═══════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&display=swap');

/* ============================================================
   TOKENS · guía Silverio Dr. Dears
   Lufga es una fuente comercial: sustituir el stack por @font-face
   cuando se disponga de los archivos woff2 (Light 300, Regular 400,
   Semibold 600). Hasta entonces, stack de sistema equivalente.
   ============================================================ */
:root{
  --oro:#C2A86D;
  --oro-claro:#F2ECDD;
  --verde:#004644;
  --verde-hover:#003331;
  --tinta:#1D1D1B;
  --tinta-60:#5C6866;
  --blanco:#FFFFFF;
  --linea:#E0DCD2;

  --f: "Lufga", "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --s1:8px; --s2:16px; --s3:24px; --s4:40px; --s5:64px; --s6:96px;
  --radio:4px;
  --ancho:1140px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; font-family:var(--f); color:var(--tinta); background:var(--blanco);
  font-size:17px; line-height:1.65; font-weight:400;
}
img{max-width:100%; display:block}

/* Accesibilidad base */
a{color:var(--verde); text-underline-offset:3px}
:focus-visible{outline:3px solid var(--verde); outline-offset:3px}
.salta{position:absolute; left:-9999px; top:0; background:var(--verde); color:#fff; padding:12px 20px; z-index:999}
.salta:focus{left:0}
@media (prefers-reduced-motion:reduce){*{animation:none!important; transition:none!important}}

/* Tipografía */
h1,h2,h3{font-weight:600; line-height:1.2; margin:0 0 var(--s2)}
h1{font-size:clamp(2rem,4vw,3rem); color:var(--tinta); letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,2.6vw,2rem); color:var(--verde)}
h3{font-size:1.25rem; color:var(--tinta)}
p{margin:0 0 var(--s2); max-width:68ch}
.entradilla{font-size:1.375rem; font-weight:300; color:var(--tinta-60); max-width:56ch}
.util{font-size:.9375rem; color:var(--tinta-60)}

/* Layout */
.env{max-width:var(--ancho); margin:0 auto; padding:0 var(--s3)}
section{padding:var(--s5) 0}
section.alt{background:var(--oro-claro)}
@media(max-width:700px){section{padding:var(--s4) 0}}

/* FILETE DORADO — elemento distintivo del sistema.
   Único ornamento: abre cada sección y actúa como señal de estructura. */
.filete{display:block; width:56px; height:3px; background:var(--oro); margin:0 0 var(--s3)}

/* REGLA DE CONTRASTE — no negociable en este cliente
   #C2A86D sobre blanco da ~2:1, muy por debajo de AA (4.5:1 texto normal,
   3:1 texto grande). El dorado solo se usa en: filetes, bordes, fondos
   (--oro-claro), y como color de TEXTO únicamente sobre fondo oscuro.
   Todo texto sobre blanco va en --tinta o --verde.
   Excepción tolerada: el punto del logotipo, que no transmite información. */

/* Botones — mínimo 48px, dorado NUNCA como fondo con texto pequeño */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:52px; padding:14px 28px; border-radius:var(--radio);
  font-family:var(--f); font-size:1.0625rem; font-weight:600;
  text-decoration:none; border:2px solid var(--verde); cursor:pointer;
}
.btn-1{background:var(--verde); color:#fff}
.btn-1:hover{background:var(--verde-hover); border-color:var(--verde-hover)}
.btn-2{background:transparent; color:var(--verde)}
.btn-2:hover{background:var(--oro-claro)}
.btns{display:flex; gap:var(--s2); flex-wrap:wrap; margin-top:var(--s3)}

/* ===== B1/B2 HERO ===== */
.b1{padding:var(--s5) 0 var(--s4)}
.b1 .entradilla{margin-bottom:var(--s2)}
.b1-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:var(--s4); align-items:center}
.b1-img{background:var(--oro-claro); border-radius:var(--radio); aspect-ratio:4/3;
  display:flex; align-items:center; justify-content:center; color:var(--tinta-60); font-size:.9375rem; text-align:center; padding:var(--s3)}
@media(max-width:860px){.b1-grid{grid-template-columns:1fr}}

/* ===== B3 TIRA DE CONFIANZA ===== */
.b3{border-top:1px solid var(--linea); border-bottom:1px solid var(--linea); padding:var(--s3) 0; background:var(--blanco)}
.b3-l{display:flex; gap:var(--s4); flex-wrap:wrap; justify-content:space-between}
.b3-i{display:flex; flex-direction:column}
.b3-i strong{font-size:1.5rem; color:var(--verde); font-weight:600; line-height:1.2}
.b3-i span{font-size:.9375rem; color:var(--tinta-60)}

/* ===== B4 TARJETAS ===== */
.b4-g{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--s3)}
.card{border:1px solid var(--linea); border-top:3px solid var(--oro); border-radius:var(--radio); padding:var(--s3); background:var(--blanco)}
.card h3{margin-bottom:var(--s1)}
.card p{font-size:1rem; margin:0; color:var(--tinta-60)}

/* ===== B5 PROCESO NUMERADO — única numeración del sistema ===== */
.b5-l{list-style:none; padding:0; margin:0; counter-reset:paso}
.b5-l li{counter-increment:paso; display:grid; grid-template-columns:56px 1fr; gap:var(--s3);
  padding:var(--s3) 0; border-bottom:1px solid var(--linea)}
.b5-l li::before{content:counter(paso,decimal-leading-zero); font-size:1.5rem; font-weight:600; color:var(--verde); line-height:1.2}
.b5-l li:last-child{border-bottom:0}
.b5-l h3{margin-bottom:4px}
.b5-l p{margin:0; color:var(--tinta-60)}

/* ===== B6 TEXTO + IMAGEN ===== */
.b6-g{display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); align-items:center}
.b6-g.inv .b6-t{order:2}
@media(max-width:860px){.b6-g{grid-template-columns:1fr}.b6-g.inv .b6-t{order:0}}
.ph{background:var(--oro-claro); border-radius:var(--radio); aspect-ratio:3/2;
  display:flex; align-items:center; justify-content:center; color:var(--tinta-60); font-size:.9375rem; text-align:center; padding:var(--s3)}

/* ===== B7 TABLA ===== */
table{width:100%; border-collapse:collapse; margin:var(--s3) 0; font-size:1rem}
caption{text-align:left; font-size:.9375rem; color:var(--tinta-60); padding-bottom:var(--s1)}
th,td{padding:14px 16px; text-align:left; border-bottom:1px solid var(--linea); vertical-align:top}
thead th{background:var(--verde); color:#fff; font-weight:600; border-bottom:0}
tbody tr:nth-child(even){background:#FBF8F1}

/* ===== B8 MARCAS ===== */
.b8-g{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--s2)}
.marca{border:1px solid var(--linea); border-radius:var(--radio); padding:var(--s3) var(--s2);
  text-align:center; font-weight:600; color:var(--verde); background:var(--blanco)}

/* ===== B9 PRECIO ===== */
.b9{border:1px solid var(--linea); border-left:4px solid var(--oro); border-radius:var(--radio); padding:var(--s4); background:var(--blanco)}
.cifra{font-size:2.25rem; font-weight:600; color:var(--verde); line-height:1.1; display:block}
.cifra small{font-size:1rem; font-weight:400; color:var(--tinta-60); display:block; margin-top:4px}

/* ===== B10 GARANTÍA ===== */
.b10-g{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--s3)}
.gar{background:var(--blanco); border:1px solid var(--linea); border-radius:var(--radio); padding:var(--s3)}
.gar strong{display:block; color:var(--verde); font-size:1.125rem; margin-bottom:6px}
.gar p{margin:0; font-size:1rem; color:var(--tinta-60)}

/* ===== B11 AUTOR ===== */
.b11{display:grid; grid-template-columns:180px 1fr; gap:var(--s4); align-items:start;
  border:1px solid var(--linea); border-radius:var(--radio); padding:var(--s4); background:var(--blanco)}
.b11 .foto{width:180px; height:180px; border-radius:50%; background:var(--oro-claro);
  display:flex; align-items:center; justify-content:center; color:var(--tinta-60); font-size:.875rem; text-align:center; padding:var(--s2)}
.cred{list-style:none; padding:0; margin:var(--s2) 0 0}
.cred li{padding-left:22px; position:relative; margin-bottom:6px; color:var(--tinta-60)}
.cred li::before{content:""; position:absolute; left:0; top:.65em; width:10px; height:2px; background:var(--oro)}
@media(max-width:700px){.b11{grid-template-columns:1fr}}

/* ===== B12 AVISO CLÍNICO — dos variantes ===== */
.b12{border-left:4px solid var(--oro); background:var(--oro-claro); padding:var(--s4); border-radius:var(--radio)}
.b12 h2{margin-top:0}
.b12.urgente{background:var(--blanco); border:1px solid var(--linea); border-left:4px solid var(--verde); padding:var(--s3)}
.b12.urgente h3{color:var(--verde); margin-bottom:var(--s1)}
.b12.urgente ul{margin:0; padding-left:20px}
.b12.urgente li{margin-bottom:6px}

/* ===== B13 FAQ ===== */
details{border-bottom:1px solid var(--linea); padding:var(--s2) 0}
summary{cursor:pointer; font-weight:600; font-size:1.125rem; color:var(--tinta); list-style:none; padding-right:32px; position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+"; position:absolute; right:0; top:-2px; font-size:1.5rem; color:var(--verde); font-weight:600}
details[open] summary::after{content:"–"}
details p{margin:var(--s2) 0 0; color:var(--tinta-60)}

/* ===== B14 CIERRE LOCAL ===== */
.b14{background:var(--verde); color:#fff}
.b14 h2,.b14 h3{color:#fff}
.b14 a{color:#fff}
.b14 .filete{background:var(--oro)}
.b14-g{display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); align-items:center}
.b14 .mapa{background:rgba(255,255,255,.12); border-radius:var(--radio); aspect-ratio:16/10;
  display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.75); font-size:.9375rem}
.b14 .btn-1{background:var(--blanco); color:var(--verde); border-color:var(--blanco)}
.b14 .btn-2{color:#fff; border-color:rgba(255,255,255,.6)}
.b14 .btn-2:hover{background:rgba(255,255,255,.1)}
@media(max-width:860px){.b14-g{grid-template-columns:1fr}}

/* ===== B15 CABECERA DE ARTÍCULO ===== */
.b15{border-bottom:1px solid var(--linea); padding-bottom:var(--s3); margin-bottom:var(--s4)}
.meta{display:flex; gap:var(--s3); flex-wrap:wrap; align-items:center; margin-top:var(--s3); font-size:.9375rem; color:var(--tinta-60)}
.meta .autor{display:flex; gap:12px; align-items:center}
.meta .mini{width:44px; height:44px; border-radius:50%; background:var(--oro-claro); flex:0 0 44px;
  display:flex; align-items:center; justify-content:center; font-size:.625rem; color:var(--tinta-60); text-align:center}
.revisado{background:var(--oro-claro); border-left:3px solid var(--oro); padding:12px 16px;
  border-radius:var(--radio); font-size:.9375rem; margin-top:var(--s3)}

/* ===== B16 ÍNDICE DE CONTENIDOS ===== */
.b16{border:1px solid var(--linea); border-radius:var(--radio); padding:var(--s3); margin-bottom:var(--s4); background:#FBF8F1}
.b16 h2{font-size:1.125rem; margin-bottom:var(--s2)}
.b16 ol{margin:0; padding-left:20px}
.b16 li{margin-bottom:6px}

/* ===== B17 TARJETA DE ARTÍCULO ===== */
.b17-g{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:var(--s3)}
.post{border:1px solid var(--linea); border-radius:var(--radio); overflow:hidden; background:var(--blanco); display:flex; flex-direction:column}
.post .img{background:var(--oro-claro); aspect-ratio:16/9; display:flex; align-items:center; justify-content:center;
  color:var(--tinta-60); font-size:.875rem; text-align:center; padding:var(--s2)}
.post .cuerpo{padding:var(--s3); display:flex; flex-direction:column; flex:1}
.post h3{font-size:1.125rem; margin-bottom:var(--s1)}
.post h3 a{color:var(--tinta); text-decoration:none}
.post h3 a:hover{text-decoration:underline}
.post p{font-size:1rem; color:var(--tinta-60); margin-bottom:var(--s2); flex:1}
.etiqueta{display:inline-block; font-size:.8125rem; font-weight:600; color:var(--verde);
  background:var(--oro-claro); padding:4px 10px; border-radius:3px; margin-bottom:var(--s1); align-self:flex-start}

/* ===== B18 CAJA DE CONVERSIÓN EN ARTÍCULO ===== */
.b18{background:var(--verde); color:#fff; border-radius:var(--radio); padding:var(--s4); margin:var(--s4) 0}
.b18 h3{color:#fff; margin-bottom:var(--s1)}
.b18 p{color:rgba(255,255,255,.85)}
.b18 .filete{background:var(--oro)}
.b18 .btn-1{background:var(--blanco); color:var(--verde); border-color:var(--blanco)}

/* Artículo: columna de lectura */
.articulo{max-width:760px}
.articulo h2{margin-top:var(--s4)}
.articulo h3{margin-top:var(--s3)}


.proto-bar{position:sticky; top:0; z-index:50; background:var(--tinta); color:#fff; padding:10px 0}
.proto-bar .env{display:flex; gap:var(--s2); align-items:center; flex-wrap:wrap}
.proto-bar .et{font-size:.8125rem; letter-spacing:.08em; text-transform:uppercase; color:var(--oro); font-weight:600}
.tabs{display:flex; gap:6px; flex-wrap:wrap}
.tab{background:transparent; border:1px solid rgba(255,255,255,.3); color:#fff;
  padding:7px 12px; border-radius:var(--radio); font-family:var(--f); font-size:.875rem; cursor:pointer}
.tab[aria-selected="true"]{background:var(--oro); color:var(--tinta); border-color:var(--oro); font-weight:600}

header.sitio{border-bottom:1px solid var(--linea); padding:var(--s2) 0}
header.sitio .env{display:flex; justify-content:space-between; align-items:center; gap:var(--s3)}
.logo{font-weight:600; font-size:1.25rem; color:var(--verde); text-decoration:none}
.logo span{color:var(--oro)}
nav.sitio ul{display:flex; gap:var(--s3); list-style:none; margin:0; padding:0; flex-wrap:wrap}
nav.sitio a{color:var(--tinta); text-decoration:none; font-size:1rem}
nav.sitio a:hover{text-decoration:underline}
@media(max-width:860px){nav.sitio{display:none}}

.pagina[hidden]{display:none}
.nota{background:#FBF8F1; border:1px dashed var(--oro); border-radius:var(--radio);
  padding:var(--s3); margin:var(--s3) 0; font-size:1rem; color:var(--tinta-60)}
.nota strong{color:var(--tinta)}
.ref{display:inline-block; background:var(--verde); color:#fff; font-size:.75rem; font-weight:600;
  padding:3px 8px; border-radius:3px; margin-bottom:var(--s1); letter-spacing:.04em}
footer.sitio{background:var(--tinta); color:rgba(255,255,255,.7); padding:var(--s4) 0; font-size:.9375rem}
footer.sitio a{color:#fff}
</style>


/* ═══ FIX GLOBAL v2 · botones legibles + hero grid centrado ═══ */
/* Botones .btn-1 forzados en TODO el sitio (vence herencia de link color) */
.btn-1, a.btn-1{
  background:var(--verde) !important;
  color:#fff !important;
  border-color:var(--verde) !important;
  text-decoration:none !important;
}
.btn-1:hover, a.btn-1:hover{
  background:var(--verde-hover) !important;
  border-color:var(--verde-hover) !important;
  color:#fff !important;
}
.btn-2, a.btn-2{
  background:#fff !important;
  color:var(--verde) !important;
  border-color:var(--verde) !important;
  text-decoration:none !important;
}
.btn-2:hover, a.btn-2:hover{
  background:var(--oro-claro) !important;
  color:var(--verde) !important;
}
/* Botones invertidos sobre fondo verde (B14, B18) */
.b14 .btn-1, .b18 .btn-1{
  background:#fff !important;
  color:var(--verde) !important;
  border-color:#fff !important;
}
.b14 .btn-2, .b18 .btn-2{
  background:transparent !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.6) !important;
}
.b14 .btn-2:hover, .b18 .btn-2:hover{background:rgba(255,255,255,.12) !important}

/* Hero B1 grid: alineación center + gap generoso */
.b1-grid{align-items:center !important}
.b1 .b1-img img{max-height:520px;object-fit:cover}
/* ═══ FIN FIX GLOBAL v2 ═══ */




/* ═══ FIX FOTO ALEJANDRO v3 · círculo con borde oro sin marco ═══ */
/* Ficha B11: sin fondo beige, sin marco, layout limpio */
.b11{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
.b11 .foto{
  width:200px !important;
  height:200px !important;
  min-width:200px !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:50% !important;
  overflow:hidden !important;
  flex:0 0 200px !important;
  border:3px solid var(--oro,#C2A86D) !important;
  box-shadow:0 6px 22px rgba(29,29,27,.10) !important;
  box-sizing:border-box !important;
}
.b11 .foto img{
  width:100% !important;
  height:100% !important;
  border-radius:50% !important;
  object-fit:cover !important;
  object-position:center 20% !important;
  display:block !important;
  aspect-ratio:1/1 !important;
  max-width:none !important;
  max-height:none !important;
  border:0 !important;
}
img[src*="Foto-Alejandro"]{
  border-radius:50% !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  object-position:center 20% !important;
  background:transparent !important;
  border:3px solid var(--oro,#C2A86D) !important;
  box-shadow:0 6px 22px rgba(29,29,27,.10) !important;
  box-sizing:border-box !important;
}
/* ═══ FIN v3 ═══ */


/* ═══ FIX v4 · .ph con Foto_Alejandro (bloque B6 Home) ═══ */
.ph:has(img[src*="Foto-Alejandro"]){
  background:transparent !important;
  padding:0 !important;
  border-radius:50% !important;
  aspect-ratio:1/1 !important;
  max-width:340px !important;
  margin:0 auto !important;
  border:0 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.ph:has(img[src*="Foto-Alejandro"]) img{
  width:100% !important;
  height:100% !important;
  border-radius:50% !important;
  object-fit:cover !important;
  object-position:center 20% !important;
  border:3px solid var(--oro,#C2A86D) !important;
  box-shadow:0 6px 22px rgba(29,29,27,.10) !important;
  box-sizing:border-box !important;
  aspect-ratio:1/1 !important;
  display:block !important;
}
/* ═══ FIN v4 ═══ */





/* ═══ FIX MARCOS FOTOGRAFÍAS · quitar marcos/fondos beige alrededor de imágenes ═══ */
/* Aplica a bloques del sistema (B1 hero, B6 autor, B11 badges, B14 cierre, .ph placeholders) */
.b1-img,
.b6-img,
.b6 .foto,
.b6 .ph,
.b11 .foto,
.b14 .ph,
.ph,
figure.ph{
  background:transparent !important;
  padding:0 !important;
  border:none !important;
  box-shadow:none !important;
}
.b1-img img,
.b6-img img,
.b6 .foto img,
.b6 .ph img,
.b11 .foto img,
.b14 .ph img,
.ph img,
figure.ph img{
  border-radius:8px;
  display:block;
  width:100%;
  height:auto;
}
/* Excepción: foto redonda de Alejandro conserva su borde dorado (se controla en su regla específica) */
/* ═══ FIN FIX MARCOS ═══ */

/* drdears: filete oro desactivado globalmente */
.filete{display:none !important}


/* ═══ FIX MOBILE DEARS TIMELINE v1 · h4/p/tag en columna 2 ═══ */
@media (max-width:900px){
  .dears-tl-grid .dears-fase > h4,
  .dears-tl-grid .dears-fase > p,
  .dears-tl-grid .dears-fase > .tag-clave{grid-column:2}
}
@media (max-width:480px){
  .dears-tl-grid .dears-fase{grid-template-columns:56px 1fr; gap:16px}
  .dears-tl::before{left:28px}
  .dears-tl-grid .dears-fase .num{width:56px; height:56px; font-size:1.25rem}
}
/* ═══ FIN FIX MOBILE DEARS TIMELINE v1 ═══ */


/* ═══ HIDE TAG-CLAVE v1 · retirar botón «LA FASE CLAVE» del bloque DEARS ═══ */
.dears-tl-grid .tag-clave{display:none !important}
/* ═══ FIN HIDE TAG-CLAVE v1 ═══ */


/* ═══ HEADER MOBILE NO GAP v1 · eliminar espacio arriba del header en <=600px ═══ */
@media (max-width:600px){
  /* Padding-top del body EXACTAMENTE igual a la altura del .cab (68 = 3 filete + 64 env + 1 border) */
  html body{padding-top:68px !important; margin-top:0 !important}
  
  /* Anular cualquier hueco/margen encima del elementor header */
  html body > header.elementor-location-header,
  html body > header[data-elementor-type="header"]{margin:0 !important; padding:0 !important; min-height:0 !important}
  html body > header.elementor-location-header > .elementor-element,
  html body > header[data-elementor-type="header"] > .elementor-element{margin:0 !important; padding:0 !important; min-height:0 !important}
  html body .elementor-widget-container:has(> .cab){margin:0 !important; padding:0 !important}
  
  /* Reforzar que .cab está pegado arriba y por encima de todo */
  html body .cab{position:fixed !important; top:0 !important; left:0 !important; right:0 !important; z-index:9999 !important; margin-top:0 !important}
  
  /* Anular admin-bar shift en <=600px (WP oculta admin bar en <=600) */
  html body.admin-bar .cab{top:0 !important}
  
  /* Anular cualquier hermano previo del .cab que pueda estar visible arriba */
  html body .elementor-widget-container > *:not(.cab):not(.panel):not(.barra-inf){
    /* util-bar y otros — forzar 0 altura si están ocultos */
  }
  html body .util-bar{display:none !important; height:0 !important; overflow:hidden !important}
}
/* ═══ FIN HEADER MOBILE NO GAP v1 ═══ */


/* ═══ PINNED NO SHIFT MOBILE v1 · header no salta 46px tras scroll en móvil ═══ */
@media (max-width:600px){
  /* Ganar en especificidad a body.admin-bar .cab.drdears-pinned{top:46px} */
  html body .cab.drdears-pinned,
  html body.admin-bar .cab.drdears-pinned,
  html body .cab.drdears-pinned.fija,
  html body.admin-bar .cab.drdears-pinned.fija{
    top: 0 !important;
  }
}
/* ═══ FIN PINNED NO SHIFT MOBILE v1 ═══ */

/* ═══ A11Y OVERRIDES — issues detectados por Lighthouse ═══ */
/* Google Reviews plugin: aumentar target size de los dots (era 4-8px, mínimo 24px) */
.rpi-dot, .rpi-dots-wrap .rpi-dot {
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 8px !important;
  background-clip: content-box !important;
  margin: 0 4px !important;
}
/* Google Reviews: mejorar contraste del "con tecnología de Google" (era #777 sobre #fff = 4.47:1) */
.wp-google-powered,
.wp-google-powered * {
  color: #5C6866 !important;  /* --tinta-60 · pasa contraste AA */
}
/* Google Reviews: dar nombre accesible a los botones prev/next del carrusel */
.rpi-ltgt.grw-prev::before,
.rpi-ltgt.grw-next::before {
  content: "";
  position: absolute;
  clip-path: inset(100%);
  width: 1px;
  height: 1px;
  overflow: hidden;
}
/* ═══ FIN A11Y OVERRIDES ═══ */

/* ═══ JS/A11Y — inyectar aria-labels a botones sin nombre ═══ *//* End custom CSS */