/* =====================================================================
   Blog de Stratpharma Iberia · hoja compartida
   Una sola hoja para todos los articulos: evita el CSS duplicado en cada
   pagina y los choques de cascada al tocar algo transversal.
   ===================================================================== */
:root{
  --red:#C8002B; --red-dk:#9B0021;
  --ink:#14151A; --ink-2:#4E5058; --ink-3:#868992;
  --rule:#E3E4E9; --rule-2:#F0F1F4; --wash:#F7F8FA;
  --p-mark:#902080; --p-triz:#E86000; --p-med:#1090D0; --p-cel:#00B0A0; --p-xrt:#1058A8;
  --disp:"Archivo","Segoe UI",Arial,sans-serif;
  --ser:"Newsreader",Cambria,Georgia,serif;
  --gut:26px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:#fff;color:var(--ink);font-family:var(--disp);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background:var(--red);color:#fff}
.w{max-width:1280px;margin:0 auto;padding:0 var(--gut)}
.num{font-variant-numeric:tabular-nums}

/* ---------- cabecera, identica al resto del sitio ---------- */
header.top{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--rule)}
header.top .in{display:flex;align-items:center;gap:18px;height:66px}
.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.brand img{height:34px;width:auto}
.hnav{margin-left:auto;display:flex;align-items:center;gap:2px}
.hnav>a,.menu>a{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;font-size:.82rem;font-weight:500;text-decoration:none;color:var(--ink-2)}
.hnav>a:hover,.menu>a:hover{color:var(--ink);background:var(--wash)}
.hnav>a:focus-visible,.menu>a:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.menu{position:relative}
.menu>a::after{content:"";width:0;height:0;border:4px solid transparent;border-top-color:currentColor;margin-top:3px;transition:transform .2s}
.menu:hover>a::after,.menu:focus-within>a::after{transform:rotate(180deg);margin-top:-3px}
.drop{position:absolute;top:calc(100% + 6px);left:0;min-width:330px;background:#fff;border:1px solid var(--rule);box-shadow:0 18px 44px rgba(18,20,26,.13);padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s}
.menu:hover .drop,.menu:focus-within .drop{opacity:1;visibility:visible;transform:none}
.drop a{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;text-decoration:none;color:var(--ink)}
.drop a:hover{background:var(--wash)}
.drop i{width:9px;height:9px;flex:0 0 auto;margin-top:6px;display:inline-block}
.drop .n{font-size:.93rem;font-weight:600;letter-spacing:-.015em;display:block}
.drop .d{font-size:.8rem;color:var(--ink-3);display:block;margin-top:2px;line-height:1.35}
.hbuy{background:var(--red);color:#fff!important;padding:10px 18px!important;font-weight:600!important;margin-left:8px}
.hbuy:hover{background:var(--red-dk)!important}
.movil{display:none;margin-left:auto;position:relative}
.movil>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:9px 13px;font-size:.83rem;font-weight:600;color:var(--ink);border:1px solid var(--rule)}
.movil>summary::-webkit-details-marker{display:none}
.movil>summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.burg{display:inline-flex;flex-direction:column;gap:3.5px;width:16px}
.burg i{display:block;height:1.8px;background:var(--ink);transition:transform .22s,opacity .22s}
.movil[open]>summary .burg i:nth-child(1){transform:translateY(5.3px) rotate(45deg)}
.movil[open]>summary .burg i:nth-child(2){opacity:0}
.movil[open]>summary .burg i:nth-child(3){transform:translateY(-5.3px) rotate(-45deg)}
.movil .panel{position:absolute;top:calc(100% + 10px);right:0;min-width:min(86vw,330px);background:#fff;border:1px solid var(--rule);box-shadow:0 18px 44px rgba(18,20,26,.15);padding:8px;z-index:70}
.movil .panel a{display:flex;align-items:center;gap:11px;padding:12px 13px;text-decoration:none;font-size:.92rem;font-weight:550;color:var(--ink)}
.movil .panel a:hover{background:var(--wash)}
.movil .panel a.compra{background:var(--red);color:#fff;justify-content:center;font-weight:650;margin-top:7px}
.movil .panel i.pt{width:9px;height:9px;flex:0 0 auto;display:inline-block}
.movil .panel hr{border:0;border-top:1px solid var(--rule-2);margin:7px 0}
.movil .panel .sec-lab{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:9px 13px 5px}
@media(max-width:1000px){.hnav{display:none}.movil{display:block}header.top .in{gap:12px}}

/* ---------- migas ---------- */
.migas{font-size:.78rem;color:var(--ink-3);padding:22px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.migas a{text-decoration:none;color:var(--ink-3)}
.migas a:hover{color:var(--red)}

/* ---------- cabecera del articulo ---------- */
/* Ojo: .cab y .art comparten div con .w. Hay que usar padding-block y no el
   atajo `padding`, porque el atajo borra los 26px laterales que pone .w y el
   texto se queda pegado al borde de la pantalla en movil. */
.cab{padding-block:26px clamp(30px,4vw,50px);border-bottom:1px solid var(--rule)}
.lab{font-family:var(--disp);font-size:.67rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
h1{font-family:var(--disp);font-size:clamp(1.95rem,4.4vw,3.15rem);font-weight:650;letter-spacing:-.032em;line-height:1.08;margin:16px 0 0;max-width:24ch;text-wrap:balance}
.entradilla{font-family:var(--ser);font-weight:300;font-size:clamp(1.12rem,2vw,1.38rem);line-height:1.5;color:var(--ink-2);max-width:60ch;margin-top:20px}
.meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:26px;font-size:.78rem;color:var(--ink-3)}
.meta b{font-weight:600;color:var(--ink-2)}

/* ---------- cuerpo ---------- */
.art{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(30px,5vw,64px);padding-block:clamp(34px,5vw,60px) clamp(50px,7vw,90px);align-items:start}
.lista-wrap{padding-block:clamp(30px,4vw,50px) clamp(50px,7vw,90px)}
.cuerpo{min-width:0;max-width:70ch}
.cuerpo h2{font-family:var(--disp);font-size:clamp(1.4rem,2.9vw,2rem);font-weight:650;letter-spacing:-.026em;line-height:1.15;margin:44px 0 16px;text-wrap:balance}
.cuerpo h3{font-family:var(--disp);font-size:1.14rem;font-weight:650;letter-spacing:-.015em;margin:30px 0 10px}
.cuerpo p{font-family:var(--ser);font-weight:300;font-size:1.12rem;line-height:1.68;color:var(--ink-2);margin:0 0 16px}
.cuerpo p strong{font-weight:500;color:var(--ink)}
.cuerpo ul,.cuerpo ol{margin:0 0 18px 1.2rem;display:flex;flex-direction:column;gap:9px}
.cuerpo li{font-family:var(--ser);font-weight:300;font-size:1.1rem;line-height:1.6;color:var(--ink-2)}
.cuerpo li strong{font-weight:500;color:var(--ink)}
.cuerpo li::marker{color:var(--ink-3)}
.cuerpo a{color:var(--red);text-underline-offset:2px}

/* respuesta directa: lo que extrae el fragmento destacado y la IA */
.directa{border-left:3px solid var(--red);background:var(--wash);padding:22px 26px;margin:0 0 28px}
.directa p{margin:0;font-size:1.14rem;color:var(--ink)}
.directa p+p{margin-top:12px}

/* aviso sanitario */
.aviso{border:1px solid var(--rule);background:var(--wash);padding:20px 24px;margin:30px 0}
.aviso p{font-size:.98rem;margin:0;color:var(--ink-2)}
.aviso .k{font-family:var(--disp);font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:8px}

/* tabla */
.tbl{overflow-x:auto;border:1px solid var(--rule);margin:0 0 26px}
table{border-collapse:collapse;width:100%;min-width:520px;font-family:var(--disp);font-size:.9rem}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--rule-2);vertical-align:top;line-height:1.45}
thead th{background:var(--wash);border-bottom:1px solid var(--rule);font-size:.65rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
td strong{font-weight:600}

/* bloque de producto */
.prod{border:1px solid var(--rule);border-top:3px solid var(--c,var(--red));background:#fff;padding:24px;margin:32px 0;display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;align-items:center}
.prod img{width:88px;height:88px;object-fit:contain;padding:8px;background:color-mix(in srgb,var(--c,var(--red)) 8%,#fff)}
.prod .n{font-family:var(--disp);font-size:1.16rem;font-weight:650;letter-spacing:-.02em}
.prod .d{font-family:var(--ser);font-weight:300;font-size:1rem;line-height:1.5;color:var(--ink-2);margin:7px 0 14px}
.prod .go{display:inline-flex;align-items:center;gap:9px;background:var(--c,var(--red));color:#fff;padding:12px 20px;font-size:.86rem;font-weight:650;text-decoration:none}
.prod .go:hover{opacity:.88}
.prod .go:focus-visible{outline:2px solid var(--c,var(--red));outline-offset:3px}
@media(max-width:600px){.prod{grid-template-columns:1fr}.prod img{width:72px;height:72px}}

/* faq */
.faq{border-top:1px solid var(--ink);margin-top:40px}
.faq details{border-bottom:1px solid var(--rule-2)}
.faq summary{cursor:pointer;list-style:none;padding:20px 44px 20px 0;position:relative;font-family:var(--disp);font-size:1.04rem;font-weight:650;letter-spacing:-.018em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--red)}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:13px;height:1.5px;background:var(--red)}
.faq summary::before{content:"";position:absolute;right:13.7px;top:calc(50% - 6px);width:1.5px;height:13px;background:var(--red);transition:transform .25s,opacity .25s}
.faq details[open] summary::before{transform:rotate(90deg);opacity:0}
.faq summary:focus-visible{outline:2px solid var(--red);outline-offset:-3px}
.faq .a{padding:0 0 22px;font-family:var(--ser);font-weight:300;font-size:1.06rem;line-height:1.6;color:var(--ink-2)}
.faq .a a{color:var(--red)}

/* barra lateral */
.lat{position:sticky;top:92px;display:flex;flex-direction:column;gap:26px}
.lat .caja{border:1px solid var(--rule);padding:20px}
.lat .t{font-family:var(--disp);font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.lat ol{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:9px}
.lat ol a{font-size:.88rem;text-decoration:none;color:var(--ink-2);line-height:1.4;display:block}
.lat ol a:hover{color:var(--red)}
.lat .rel{display:flex;flex-direction:column;gap:12px}
.lat .rel a{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;text-decoration:none;color:var(--ink-2);line-height:1.4}
.lat .rel a:hover{color:var(--red)}
.lat .rel i{width:8px;height:8px;flex:0 0 auto;margin-top:5px;display:inline-block}
@media(max-width:960px){.art{grid-template-columns:1fr}.lat{position:static}}

/* indice del blog */
.lista{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.post{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px var(--gut);padding:26px 0;border-bottom:1px solid var(--rule-2);text-decoration:none;transition:background .2s;align-items:baseline}
.post:hover{background:var(--wash)}
.post:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.post .tt{font-family:var(--disp);font-size:1.24rem;font-weight:650;letter-spacing:-.024em;line-height:1.25}
.post .ex{font-family:var(--ser);font-weight:300;font-size:1rem;line-height:1.5;color:var(--ink-2);margin-top:7px;max-width:66ch}
.post .cl{font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
@media(max-width:700px){.post{grid-template-columns:1fr}}

/* pie */
footer.st{background:var(--ink);color:#8A8D95;font-size:.85rem;padding:48px 0 40px}
footer.st a{color:#D9DBDF;text-decoration:none}
footer.st a:hover{color:#fff}
footer.st .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px var(--gut)}
.flab{font-family:var(--disp);font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#8A8D95;margin-bottom:14px}
.flist{display:flex;flex-direction:column;gap:10px}
.flist a{display:flex;align-items:center;gap:10px}
.flist i{width:9px;height:9px;flex:0 0 auto;display:inline-block}
.flogo{height:34px;width:auto;margin-bottom:16px}
.legal{margin-top:36px;padding-top:24px;border-top:1px solid #2C2E35;font-size:.77rem;line-height:1.58;color:#6B6E76;max-width:88ch}
@media(max-width:900px){footer.st .fg{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer.st .fg{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media(max-width:900px){body{font-size:16px}}
