/* Clínica Saavedra — plantilla de artículo + sistema de bloques del cuerpo del post.
   Mismos tokens que las páginas de sede: ver saavedra-clinicas.css */
.sb{
  --ink:#0D3142; --ink-82:rgba(13,49,66,.82); --ink-60:rgba(13,49,66,.60);
  --ink-55:rgba(13,49,66,.55); --ink-40:rgba(13,49,66,.40);
  --line:rgba(16,58,68,.12); --line-w:rgba(255,255,255,.16);
  --orange:#ED852A; --orange-dk:#B4611A; --orange-soft:#FDF1E5;
  --blue:#0079BB; --blue-soft:#ECF5FB; --paper:#F1F5F7;
  --r-img:20px; --r-card:16px; --r-sm:12px; --r-pill:100px;
}
.sb a{color:inherit}
.sb a:focus-visible,.sb button:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:var(--r-sm)}
.sb h1,.sb h2,.sb h3,.sb h4{font-weight:600;letter-spacing:-.025em;text-wrap:balance}

/* ---------- barra de progreso de lectura ---------- */
.sb-progress{position:sticky;top:0;z-index:120}

/* ---------- 01 HERO ---------- */
.sb-hero{background:var(--ink)}
.sb-hero .sb-eyebrow .elementor-heading-title{
  font-size:12px;font-weight:600;letter-spacing:.14em!important;text-transform:uppercase;color:#7FC4E8}
.sb-hero h1.elementor-heading-title{
  font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.06;letter-spacing:-.03em;color:#fff}
.sb-hero .sb-sub p{font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:rgba(255,255,255,.78);max-width:62ch;margin:0}
/* fila de metadatos: autor · fecha · lectura */
.sb-meta .elementor-post-info__item{
  font-size:13px;letter-spacing:.02em;color:rgba(255,255,255,.72)}
.sb-meta .elementor-post-info__item-prefix{color:rgba(255,255,255,.45)}
.sb-meta .elementor-icon-list-icon svg,.sb-meta .elementor-icon-list-icon i{fill:var(--orange);color:var(--orange)}
.sb-meta .elementor-inline-item:not(:last-child):after{border-color:var(--line-w)}

/* imagen destacada montada sobre el hero */
.sb-cover{margin-top:-96px;position:relative;z-index:3}
.sb-cover img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-img);display:block;
  box-shadow:0 32px 64px -28px rgba(9,38,52,.45)}
@media(max-width:767px){.sb-cover{margin-top:-52px}.sb-cover img{aspect-ratio:4/3}}

/* ---------- 02 CUERPO + COLUMNA LATERAL ---------- */
@media(min-width:1025px){.sb-aside{position:sticky;top:96px;align-self:flex-start}}
.sb-toc .elementor-toc__header{background:transparent!important;border:0!important;padding:0 0 10px!important}
.sb-toc .elementor-toc__header-title{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-55)}
.sb-toc .elementor-toc__body{padding:0!important;border:0!important;max-height:none!important}
.sb-toc .elementor-toc__list-item{margin:0}
.sb-toc .elementor-toc__list-item-text{
  display:block;padding:7px 0 7px 14px;border-left:2px solid var(--line);
  font-size:14px;line-height:1.4;color:var(--ink-60);transition:border-color .25s,color .25s}
.sb-toc .elementor-toc__list-item-text:hover,
.sb-toc .elementor-item-active .elementor-toc__list-item-text{border-left-color:var(--orange);color:var(--ink)}
.sb-toc .elementor-toc__spinner-container{display:none}

/* tarjeta de cita en la columna lateral */
.sb-ask{background:var(--ink);border-radius:var(--r-card);overflow:hidden}
.sb-ask .sb-ask-t .elementor-heading-title{font-size:18px;color:#fff;line-height:1.25}
.sb-ask p{font-size:14px;line-height:1.55;color:rgba(255,255,255,.72);margin:0}
.sb-ask .sb-tel a{display:flex;justify-content:space-between;gap:10px;padding:11px 0;
  border-top:1px solid var(--line-w);font-size:14px;color:#fff}
.sb-ask .sb-tel a span:first-child{color:rgba(255,255,255,.55);letter-spacing:.06em;text-transform:uppercase;font-size:11px;align-self:center}
.sb-ask .sb-tel a:hover span:last-child{color:var(--orange)}

/* ================= CUERPO DEL ARTÍCULO ================= */
.sb-body{font-size:17.5px;line-height:1.72;color:var(--ink-82)}
.sb-body>p{margin:0 0 1.15em}
.sb-body>p:first-of-type{font-size:19.5px;line-height:1.62;color:var(--ink)}
.sb-body h2{font-size:clamp(1.5rem,2.6vw,2.05rem);line-height:1.15;color:var(--ink);
  margin:2.4em 0 .55em;padding-top:.9em;border-top:1px solid var(--line)}
.sb-body h2:first-child{margin-top:0;padding-top:0;border-top:0}
.sb-body h3{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.25;color:var(--ink);margin:1.9em 0 .45em}
.sb-body a{color:var(--orange-dk);text-decoration:none;
  box-shadow:inset 0 -1px 0 rgba(180,97,26,.4);transition:box-shadow .2s,color .2s}
.sb-body a:hover{box-shadow:inset 0 -2px 0 var(--orange);color:var(--ink)}
.sb-body strong{color:var(--ink);font-weight:600}
.sb-body ul,.sb-body ol{margin:0 0 1.3em;padding-left:1.25em}
.sb-body li{margin:0 0 .5em}
.sb-body>ul>li::marker{color:var(--orange)}

/* --- bloque «en 30 segundos» --- */
.sb-key{background:var(--paper);border-radius:var(--r-card);padding:26px 28px;margin:0 0 2.2em;
  border-left:3px solid var(--orange)}
.sb-key h2,.sb-key h3{font-size:12px!important;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:var(--orange-dk);margin:0 0 12px!important;padding:0!important;border:0!important}
.sb-key ul{margin:0;padding-left:1.1em}
.sb-key li{font-size:16px;line-height:1.55;margin:0 0 .45em}
.sb-key li:last-child{margin-bottom:0}

/* --- aviso / nota clínica --- */
.sb-callout{display:flex;gap:16px;background:var(--blue-soft);border-radius:var(--r-card);
  padding:22px 24px;margin:2em 0;font-size:16px;line-height:1.6}
.sb-callout::before{content:"";flex:0 0 4px;border-radius:4px;background:var(--blue)}
.sb-callout p{margin:0}
.sb-callout p+p{margin-top:.7em}
.sb-callout.is-warn{background:var(--orange-soft)}
.sb-callout.is-warn::before{background:var(--orange)}

/* --- pasos numerados --- */
.sb-steps{counter-reset:s;list-style:none;margin:2em 0;padding:0}
.sb-steps li{counter-increment:s;position:relative;padding:0 0 26px 58px;margin:0}
.sb-steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-2px;
  font-size:13px;font-weight:600;color:var(--orange-dk);font-variant-numeric:tabular-nums;
  width:38px;height:38px;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:var(--r-pill);background:#fff}
.sb-steps li::after{content:"";position:absolute;left:19px;top:40px;bottom:2px;width:1px;background:var(--line)}
.sb-steps li:last-child{padding-bottom:0}
.sb-steps li:last-child::after{display:none}
.sb-steps li strong{display:block;font-size:17px;margin-bottom:3px}

/* --- rejilla de tarjetas --- */
.sb-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:2em 0}
.sb-cards>div{border:1px solid var(--line);border-radius:var(--r-card);padding:22px;
  transition:border-color .3s,transform .3s}
.sb-cards>div:hover{border-color:var(--orange);transform:translateY(-2px)}
.sb-cards h4{font-size:16px;margin:0 0 7px;color:var(--ink)}
.sb-cards p{font-size:15px;line-height:1.55;margin:0;color:var(--ink-60)}
.sb-cards .sb-num{font-size:12px;color:var(--ink-40);font-variant-numeric:tabular-nums;display:block;margin-bottom:10px}

/* --- tabla comparativa --- */
.sb-compare{margin:2em 0;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-card)}
.sb-compare table{width:100%;border-collapse:collapse;min-width:520px;font-size:15.5px}
.sb-compare th,.sb-compare td{padding:14px 18px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.sb-compare thead th{background:var(--paper);border-top:0;font-size:12px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-55)}
.sb-compare tbody th{font-weight:600;color:var(--ink);width:30%}
.sb-compare td{color:var(--ink-82)}

/* --- cita destacada --- */
.sb-pull{margin:2.4em 0;padding:0 0 0 26px;border-left:3px solid var(--orange);
  font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.4;letter-spacing:-.02em;color:var(--ink);font-weight:500}
.sb-pull cite{display:block;margin-top:12px;font-size:13px;font-style:normal;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink-55)}

/* --- lista con check --- */
.sb-check{list-style:none;margin:1.6em 0;padding:0}
.sb-check li{position:relative;padding:0 0 .6em 30px}
.sb-check li::before{content:"";position:absolute;left:2px;top:.5em;width:12px;height:7px;
  border-left:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(-45deg)}
.sb-check.is-cross li::before{width:12px;height:12px;border:0;top:.35em;
  background:linear-gradient(45deg,transparent 44%,var(--ink-40) 44%,var(--ink-40) 56%,transparent 56%),
             linear-gradient(-45deg,transparent 44%,var(--ink-40) 44%,var(--ink-40) 56%,transparent 56%);transform:none}

/* --- tira de cifras --- */
.sb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin:2.2em 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sb-stats>div{padding:22px 24px;border-left:1px solid var(--line)}
.sb-stats>div:first-child{border-left:0;padding-left:0}
.sb-stats b{display:block;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;letter-spacing:-.02em;
  color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}
.sb-stats span{display:block;margin-top:6px;font-size:12px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-55);line-height:1.35}

/* --- figura con pie --- */
.sb-figure{margin:2.2em 0}
.sb-figure img{width:100%;border-radius:var(--r-img);display:block}
.sb-figure figcaption{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);
  font-size:13.5px;line-height:1.5;color:var(--ink-55)}

/* --- CTA embebido --- */
.sb-cta{background:var(--ink);border-radius:var(--r-img);padding:34px 36px;margin:2.6em 0;color:#fff}
.sb-cta h3{color:#fff;font-size:clamp(1.25rem,2vw,1.6rem);margin:0 0 8px;line-height:1.2}
.sb-cta p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.75);margin:0 0 20px;max-width:52ch}
.sb-cta .sb-btns{display:flex;flex-wrap:wrap;gap:10px}
.sb-cta a{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border-radius:var(--r-pill);
  font-size:15px;font-weight:600;box-shadow:none!important;transition:background-color .2s,transform .2s}
.sb-cta a:first-child{background:var(--orange);color:#fff}
.sb-cta a:first-child:hover{background:#d97622;transform:translateY(-1px);color:#fff}
.sb-cta a+a{border:1px solid var(--line-w);color:#fff}
.sb-cta a+a:hover{border-color:rgba(255,255,255,.45);transform:translateY(-1px);color:#fff}

/* --- preguntas frecuentes --- */
.sb-faq{margin:2.2em 0;border-top:1px solid var(--line)}
.sb-faq details{border-bottom:1px solid var(--line)}
.sb-faq summary{list-style:none;cursor:pointer;padding:19px 44px 19px 0;position:relative;
  font-size:17px;font-weight:600;line-height:1.35;color:var(--ink)}
.sb-faq summary::-webkit-details-marker{display:none}
.sb-faq summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;
  border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);
  transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.sb-faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.sb-faq details>div{padding:0 0 20px;font-size:16px;line-height:1.65;color:var(--ink-82)}
.sb-faq details>div p{margin:0 0 .8em}
.sb-faq details>div p:last-child{margin-bottom:0}

/* --- fuentes --- */
.sb-sources{margin:2.6em 0 0;padding-top:18px;border-top:1px solid var(--line);
  font-size:13.5px;line-height:1.6;color:var(--ink-55)}
.sb-sources h3{font-size:12px!important;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-55);margin:0 0 10px!important}
.sb-sources ol{padding-left:1.2em;margin:0}

/* ---------- 03 FIRMA CLÍNICA (E-E-A-T) ---------- */
.sb-author{border:1px solid var(--line);border-radius:var(--r-img);overflow:hidden}
.sb-author img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 22%;display:block}
.sb-author .sb-a-label .elementor-heading-title{font-size:11.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--orange-dk)}
.sb-author .sb-a-name .elementor-heading-title{font-size:clamp(1.15rem,1.7vw,1.4rem);font-weight:500;letter-spacing:-.02em}
.sb-author p{font-size:15px;line-height:1.6;color:var(--ink-60);margin:0}

/* ---------- 04 RELACIONADOS ---------- */
.sb-rel article,.sb-rel .elementor-post{border-radius:var(--r-card);overflow:hidden}
.sb-rel .elementor-post__thumbnail{border-radius:var(--r-card);overflow:hidden;aspect-ratio:3/2}
.sb-rel .elementor-post__thumbnail img{width:100%;height:100%;object-fit:cover;
  transition:transform .55s cubic-bezier(.22,1,.36,1)}
.sb-rel .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.04)}
.sb-rel .elementor-post__title{font-size:17px;line-height:1.28;letter-spacing:-.015em;font-weight:600}
.sb-rel .elementor-post__title a{color:var(--ink)}
.sb-rel .elementor-post__title a:hover{color:var(--orange-dk)}
.sb-rel .elementor-post__excerpt p{font-size:14.5px;line-height:1.55;color:var(--ink-60)}
.sb-rel .elementor-post__meta-data{font-size:12px;letter-spacing:.06em;color:var(--ink-40)}

/* ---------- botones y utilidades ---------- */
.sb .elementor-button{transition:background-color .2s,transform .2s}
.sb .elementor-button:hover{transform:translateY(-1px)}
.sb-share .elementor-share-btn{border-radius:var(--r-pill)!important}

@media(max-width:1024px){
  .sb-body{font-size:17px}
  .sb-cta{padding:28px 24px}
  .sb-key{padding:22px}
}
@media(prefers-reduced-motion:reduce){
  .sb *,.sb *::before,.sb *::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ---------- piezas que pintan los shortcodes ---------- */
/* píldora de categoría en el hero */
.sb-hero .sb-cat{display:inline-flex;align-items:center;min-height:28px;padding:0 14px;
  border-radius:var(--r-pill);background:rgba(237,133,42,.16);border:1px solid rgba(237,133,42,.4);
  font-size:11.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#F6B173;
  text-decoration:none;transition:background-color .25s,color .25s}
.sb-hero .sb-cat:hover{background:var(--orange);color:#fff;border-color:var(--orange)}

/* fila de metadatos */
.sb-metarow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;
  font-size:13px;letter-spacing:.01em;color:rgba(255,255,255,.62)}
.sb-metarow>span{display:inline-flex;align-items:center;gap:18px}
.sb-metarow>span+span::before{content:"";width:3px;height:3px;border-radius:50%;
  background:rgba(255,255,255,.32);margin-right:0}
.sb-metarow .sb-m-org{font-weight:600;color:rgba(255,255,255,.9)}

/* rejilla de artículos relacionados */
.sb-relgrid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.sb-relcard{display:flex;flex-direction:column;text-decoration:none;box-shadow:none!important}
.sb-relthumb{display:block;overflow:hidden;border-radius:var(--r-card);aspect-ratio:3/2;background:#e6edf0}
.sb-relthumb img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s cubic-bezier(.22,1,.36,1)}
.sb-relcard:hover .sb-relthumb img{transform:scale(1.045)}
.sb-relbody{display:flex;flex-direction:column;gap:7px;padding-top:14px;margin-top:14px;
  border-top:1px solid var(--line);transition:border-color .3s}
.sb-relcard:hover .sb-relbody{border-top-color:var(--orange)}
.sb-relcat{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-dk)}
.sb-reltitle{font-size:17px;font-weight:600;line-height:1.28;letter-spacing:-.015em;color:var(--ink);
  text-wrap:balance}
.sb-relmin{font-size:12.5px;color:var(--ink-40);font-variant-numeric:tabular-nums}
@media(max-width:767px){.sb-relgrid{grid-template-columns:1fr}}

/* el widget shortcode de Elementor no debe añadir su propio ritmo */
.sb .elementor-widget-shortcode .elementor-shortcode{display:block}

/* índice: quitar la caja y los marcadores nativos del widget */
.sb-toc .elementor-toc__list-wrapper{list-style:none!important;padding:0!important;margin:0!important}
.sb-toc .elementor-toc__list-item{list-style:none!important}
.sb-toc .elementor-toc__list-item-text-wrapper>svg,
.sb-toc .elementor-toc__list-item-text-wrapper>i,
.sb-toc .elementor-toc__list-item-text-wrapper::before{display:none!important}
.sb-toc .elementor-widget-container{background:transparent!important;border:0!important}
.sb-toc .elementor-toc__header{border-bottom:0!important}

/* barra de progreso de lectura */
.sb-progress .elementor-widget-container{line-height:0}
.sb-progress .elementor-progress-tracker{height:4px!important;background:rgba(13,49,66,.10)!important;border-radius:0!important}
.sb-progress .current-progress{height:4px!important;border-radius:0!important}

/* el extracto del hero no siempre viene envuelto en <p> */
.sb-hero .sb-sub,.sb-hero .sb-sub p{font-size:clamp(16px,1.3vw,19px);line-height:1.6;
  color:rgba(255,255,255,.78);max-width:62ch;margin:0}

/* sb-cards a 2 columnas dentro del cuerpo: con 4 fichas queda 2x2 y no sobra ninguna */
@media(min-width:700px){.sb-body .sb-cards{grid-template-columns:repeat(2,1fr)}}
.sb-body .sb-cards>div{padding:24px 26px}

/* listados de entradas: fuera el avatar por defecto del autor */
.elementor-posts .elementor-post__avatar,
.elementor-posts .elementor-post-avatar{display:none!important}

/* firma: marca, no retrato. El logo se centra a tamaño nativo, sin recortar. */
.sb-author .sb-author-ph{background:var(--paper);display:grid;place-items:center;min-height:150px}
.sb-author .sb-author-ph .elementor-widget-image{width:auto}
.sb-author img{width:88px;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;
  border-radius:0;display:block}
@media(max-width:767px){.sb-author .sb-author-ph{min-height:110px}}
