/* ============================================================
   Blog FisiotrainingLeira — estilos compartidos
   Misma paleta que index.html (--tq + --az + Montserrat)
   ============================================================ */
:root{
  --az:#033b4a; --az-d:#022a35; --az-l:#e7f1f4;
  --tq:#12c7d9; --tq-d:#0aa3b3; --tq-l:#e6f9fb;
  --wa:#25d366; --wh:#fff;
  --gr-l:#f6f7f8; --gr:#eef0f2; --gr-b:#e2e6ea;
  --txt:#0d1b22; --txt2:#3a4a52; --txt3:#6b7a82;
  --warn:#f59e0b; --r12:14px; --r20:22px; --rpill:999px;
  --maxw:780px;
  --sh1:0 1px 2px rgba(3,59,74,.04),0 2px 8px rgba(3,59,74,.04);
  --sh2:0 4px 14px rgba(3,59,74,.06),0 12px 32px rgba(3,59,74,.06);
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.7;color:var(--txt);background:var(--wh);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:var(--tq-d);text-decoration:none;font-weight:600}
a:hover{text-decoration:underline;text-underline-offset:3px}
img,svg{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin-bottom:10px;line-height:1.7;text-wrap:pretty}
em{font-style:italic;color:var(--tq-d)}

/* ---------- NAV ---------- */
nav.blog-nav{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gr-b);
}
.bn-i{
  max-width:1240px;margin:0 auto;padding:14px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.bn-logo{display:flex;align-items:center;gap:12px}
.bn-logo img{width:42px;height:42px;border-radius:10px;object-fit:cover;background:var(--az)}
.bn-logo-txt{font-weight:900;font-size:17px;letter-spacing:-.4px;color:var(--az);line-height:1}
.bn-logo-txt span{color:var(--tq-d)}
.bn-badge{font-size:10px;color:var(--txt3);font-weight:500;margin-top:3px;letter-spacing:.2px}
.bn-links{display:flex;gap:6px}
.bn-links a{
  font-size:13px;font-weight:600;color:var(--txt2);
  padding:8px 12px;border-radius:8px;text-decoration:none;
  transition:background .15s ease,color .15s ease;
}
.bn-links a:hover{background:var(--gr-l);color:var(--az);text-decoration:none}

/* ---------- HEADER (article) ---------- */
.bl-header{
  max-width:var(--maxw);
  margin:0 auto;
  padding:56px 24px 36px;
}
.bl-crumb{
  display:flex;align-items:center;gap:8px;
  font-size:12.5px;color:var(--txt3);
  margin-bottom:28px;flex-wrap:wrap;
}
.bl-crumb a{color:var(--txt3);font-weight:500}
.bl-crumb a:hover{color:var(--az);text-decoration:none}
.bl-crumb span.sep{color:var(--gr-b)}
.bl-cat-tag{
  display:inline-block;font-size:11px;font-weight:700;
  letter-spacing:1.4px;text-transform:uppercase;
  color:var(--tq-d);background:var(--tq-l);
  padding:6px 12px;border-radius:var(--rpill);
  margin-bottom:18px;
}
.bl-h1{
  font-size:clamp(34px,4.6vw,52px);font-weight:900;
  line-height:1.08;letter-spacing:-1.6px;color:var(--txt);
  margin:0 0 18px;text-wrap:balance;
}
.bl-h1 em{color:var(--tq-d);font-style:italic;font-weight:700}
.bl-lede{
  font-size:19px;line-height:1.6;color:var(--txt2);
  margin:0 0 28px;text-wrap:pretty;
}
.bl-meta{
  display:flex;align-items:center;gap:14px;
  padding:18px 0;border-top:1px solid var(--gr-b);
  border-bottom:1px solid var(--gr-b);flex-wrap:wrap;
}
.bl-author{display:flex;align-items:center;gap:11px}
.bl-av{
  width:42px;height:42px;border-radius:50%;background:var(--az);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;flex-shrink:0;
}
.bl-author-info p{margin:0;font-size:13.5px;font-weight:700;color:var(--txt);line-height:1.2}
.bl-author-info span{font-size:11.5px;color:var(--txt3);letter-spacing:.1px}
.bl-meta-sep{width:1px;height:30px;background:var(--gr-b)}
.bl-meta-item{font-size:12.5px;color:var(--txt3);font-weight:600}
.bl-meta-item b{color:var(--txt);font-weight:700}

/* ---------- COVER ---------- */
.bl-cover{
  max-width:1100px;margin:0 auto 48px;padding:0 24px;
}
.bl-cover-inner{
  border-radius:var(--r20);overflow:hidden;
  aspect-ratio:16/7;background:var(--az);
  position:relative;
  background-image:
    repeating-linear-gradient(45deg,transparent 0 22px,rgba(18,199,217,.06) 22px 23px),
    linear-gradient(135deg,var(--az) 0%,var(--az-d) 100%);
  display:flex;align-items:flex-end;padding:48px 56px;
}
.bl-cover-inner::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 50% 70% at 80% 50%,rgba(18,199,217,.18),transparent 60%);
  pointer-events:none;
}
.bl-cover-hook{
  position:relative;z-index:1;
  font-family:'Montserrat',sans-serif;font-weight:900;
  color:var(--tq);font-size:clamp(28px,3.8vw,46px);
  letter-spacing:-1.2px;line-height:1.05;max-width:680px;
  text-wrap:balance;font-style:italic;
}

/* ---------- ARTICLE BODY ---------- */
article.bl-article{
  max-width:var(--maxw);margin:0 auto;padding:0 24px 64px;
}
.bl-article h2{
  font-size:clamp(24px,2.6vw,30px);font-weight:900;
  letter-spacing:-.8px;line-height:1.2;color:var(--txt);
  margin:54px 0 16px;text-wrap:balance;
}
.bl-article h3{
  font-size:20px;font-weight:800;letter-spacing:-.4px;
  color:var(--az);margin:36px 0 12px;line-height:1.3;
}
.bl-article p{margin:0 0 18px;text-wrap:pretty;color:var(--txt2);font-size:17px;line-height:1.75}
.bl-article p strong{color:var(--txt);font-weight:700}
.bl-article ul li::marker{color:var(--tq-d)}
.bl-article ul li,.bl-article ol li{color:var(--txt2)}
.bl-article ul li strong,.bl-article ol li strong{color:var(--txt)}

/* TL;DR box */
.bl-tldr{
  background:linear-gradient(180deg,var(--tq-l) 0%,#fff 100%);
  border:1px solid rgba(18,199,217,.35);
  border-radius:var(--r12);
  padding:24px 28px;margin:32px 0;
}
.bl-tldr-lbl{
  font-size:11px;font-weight:800;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--tq-d);margin-bottom:10px;
}
.bl-tldr ul{margin:0;padding-left:20px}
.bl-tldr li{font-size:15px;color:var(--txt);font-weight:500;margin-bottom:8px}

/* Pull quote */
.bl-pull{
  margin:36px 0;padding:24px 32px;
  border-left:4px solid var(--tq);
  background:var(--gr-l);border-radius:0 var(--r12) var(--r12) 0;
}
.bl-pull p{
  font-size:21px;line-height:1.45;color:var(--az);
  font-weight:600;font-style:italic;margin:0;
  text-wrap:balance;letter-spacing:-.3px;
}

/* Warning / alarma */
.bl-warn{
  background:#fff8e6;border:1px solid #f3dca6;
  border-radius:var(--r12);padding:18px 22px;margin:28px 0;
}
.bl-warn-lbl{
  font-size:11px;font-weight:800;letter-spacing:1.2px;
  text-transform:uppercase;color:#8a6a16;margin-bottom:6px;
}
.bl-warn p{margin:0;font-size:15px;color:#5e4a10;line-height:1.6}

/* Lista de chequeo */
.bl-check{
  background:var(--gr-l);border:1px solid var(--gr-b);
  border-radius:var(--r12);padding:22px 26px;margin:28px 0;
}
.bl-check-lbl{
  font-size:11px;font-weight:800;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--az);margin-bottom:12px;
}
.bl-check ul{list-style:none;padding:0;margin:0}
.bl-check li{
  position:relative;padding-left:30px;margin-bottom:10px;
  font-size:15px;color:var(--txt);line-height:1.55;
}
.bl-check li::before{
  content:"";position:absolute;left:0;top:6px;
  width:18px;height:18px;border-radius:50%;
  background:var(--tq);
}
.bl-check li::after{
  content:"";position:absolute;left:5px;top:10px;
  width:8px;height:5px;
  border-left:2px solid var(--az);
  border-bottom:2px solid var(--az);
  transform:rotate(-45deg);
}

/* CTA block dentro del artículo */
.bl-cta{
  background:var(--az);color:#fff;
  border-radius:var(--r20);padding:34px 36px;margin:48px 0 24px;
  text-align:center;
}
.bl-cta h3{
  color:#fff;font-size:24px;font-weight:900;
  letter-spacing:-.6px;margin:0 0 10px;line-height:1.2;
}
.bl-cta h3 em{color:var(--tq);font-style:italic}
.bl-cta p{
  color:rgba(255,255,255,.75);font-size:14.5px;
  line-height:1.6;margin:0 0 22px;max-width:480px;
  margin-left:auto;margin-right:auto;
}
.bl-cta-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.bl-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;border-radius:var(--rpill);
  font-weight:800;font-size:13.5px;letter-spacing:.2px;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
  text-decoration:none;cursor:pointer;border:1px solid transparent;
}
.bl-btn:hover{transform:translateY(-1px);text-decoration:none}
.bl-btn-tq{background:var(--tq);color:var(--az)}
.bl-btn-tq:hover{background:#0fb8c9;box-shadow:0 8px 22px rgba(18,199,217,.35)}
.bl-btn-wa{background:var(--wa);color:#fff}
.bl-btn-wa:hover{background:#1ea952;box-shadow:0 8px 22px rgba(37,211,102,.35)}
.bl-btn-out{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.bl-btn-out:hover{background:rgba(255,255,255,.08);border-color:#fff}

/* Disclaimer */
.bl-disclaimer{
  margin-top:48px;padding:16px 20px;
  border:1px dashed var(--gr-b);border-radius:10px;
  font-size:12.5px;color:var(--txt3);line-height:1.65;
}

/* ---------- RELATED ---------- */
.bl-related{
  background:var(--gr-l);padding:64px 24px;
  border-top:1px solid var(--gr-b);
}
.bl-related-inner{max-width:1100px;margin:0 auto}
.bl-related-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:30px;flex-wrap:wrap;gap:14px;
}
.bl-related-head h2{
  font-size:30px;font-weight:900;letter-spacing:-.8px;
  margin:0;color:var(--txt);
}
.bl-related-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.bl-related-card{
  background:#fff;border:1px solid var(--gr-b);
  border-radius:var(--r12);overflow:hidden;
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
  transition:transform .2s ease,box-shadow .2s ease;
}
.bl-related-card:hover{
  transform:translateY(-3px);box-shadow:var(--sh2);
  text-decoration:none;
}
.bl-related-img{
  height:160px;
  background:linear-gradient(135deg,var(--az) 0%,var(--az-d) 100%);
  position:relative;padding:18px 20px;
  display:flex;align-items:flex-end;overflow:hidden;
}
.bl-related-img::before{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(45deg,transparent 0 18px,rgba(18,199,217,.05) 18px 19px);
}
.bl-related-img span{
  position:relative;z-index:1;
  font-size:15px;font-weight:800;font-style:italic;
  color:var(--tq);line-height:1.3;letter-spacing:-.3px;
}
.bl-related-body{padding:18px 20px;flex:1;display:flex;flex-direction:column}
.bl-related-cat{
  font-size:10.5px;font-weight:700;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--tq-d);margin-bottom:8px;
}
.bl-related-title{
  font-size:15px;font-weight:800;letter-spacing:-.3px;
  color:var(--txt);line-height:1.35;margin-bottom:10px;
}
.bl-related-meta{
  margin-top:auto;font-size:11.5px;color:var(--txt3);font-weight:600;
}

/* ---------- FOOTER ---------- */
.bl-footer{
  background:var(--az-d);color:rgba(255,255,255,.7);
  padding:48px 28px 24px;text-align:center;
}
.bl-footer p{font-size:12.5px;margin:0 0 8px}
.bl-footer a{color:var(--tq);font-weight:600}
.bl-footer-bot{font-size:11px;color:rgba(255,255,255,.4);margin-top:18px}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .bl-cover-inner{padding:36px 28px;aspect-ratio:16/9}
  .bl-related-grid{grid-template-columns:1fr 1fr;gap:14px}
}
@media (max-width:680px){
  .bn-links{display:none}
  .bl-header{padding:36px 20px 28px}
  .bl-cover{padding:0 20px;margin-bottom:36px}
  .bl-cover-inner{padding:28px 24px;aspect-ratio:4/3}
  .bl-article{padding:0 20px 48px}
  .bl-article h2{margin:42px 0 14px}
  .bl-cta{padding:28px 22px}
  .bl-related{padding:48px 20px}
  .bl-related-grid{grid-template-columns:1fr}
  .bl-meta{gap:10px}
  .bl-meta-sep{display:none}
}
