/* Blog (/blog/ y /blog/<slug>): la identidad de las preventas en versión de lectura. Plantillas en site/plantillas/.
   La página usa el ancho completo (cabecera, lista y «Sigue leyendo» a 1120 px); solo el texto del artículo va en una
   columna de lectura. Sin tarjetas: cada entrada abre con una regla de tinta y el color va en barras angostas
   (petróleo para Piano, lila para Sonido, como en la portada del sitio). */
html{font-variant-numeric:tabular-nums}
:root{--wall:#E3E4E9;--ink:#262130;--muted:#4E4A59;--cream:#F6F3EA;--mustard:#F2C33E;--petrol:#136B80;--red:#F54547;--lila:#9FA2EE;
  --font:'Archivo',system-ui,sans-serif;--ancho:1120px;--lectura:38rem;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--wall);color:var(--ink);font:17px/1.65 var(--font);
  padding:0 max(16px,env(safe-area-inset-right,0px)) 56px max(16px,env(safe-area-inset-left,0px))}
a{color:var(--ink);text-underline-offset:4px;text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--petrol);outline-offset:3px}
img{max-width:100%;height:auto;display:block}

/* Cabecera a todo el ancho: marca, las dos apps, el blog y la clase gratis. */
.top{max-width:var(--ancho);margin:0 auto;padding:22px 0 18px;border-bottom:3px solid var(--ink);display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;font-size:1.5rem;font-weight:800;font-stretch:125%;letter-spacing:-.03em}
.logo{position:relative;width:44px;height:38px;flex:none}
.logo span{position:absolute;width:7px;box-shadow:3px 0 0 var(--ink)}
.logo i{position:absolute;left:0;top:15px;width:44px;height:5px;background:var(--ink)}
.top nav{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-weight:700}
.top nav a:not(.btn){text-decoration:none}
.top nav a:not(.btn):hover,.top nav a[aria-current]{text-decoration:underline}

.btn{display:inline-flex;align-items:center;gap:12px;padding:12px 18px;font-weight:800;background:var(--ink);color:#fff;text-decoration:none}
.btn::after{content:"";width:6px;height:16px;background:var(--mustard)}
.btn.chico{padding:9px 14px;font-size:.95rem}

main{max-width:var(--ancho);margin:0 auto}

/* --- Lista --- */
.portada-blog{padding:48px 0 34px;display:grid;gap:12px}
.portada-blog h1{margin:0;font-weight:800;font-stretch:112%;font-size:clamp(2.3rem,6vw,4rem);line-height:1;letter-spacing:-.04em;text-wrap:balance;max-width:16ch}
.intro{margin:0;color:var(--muted);font-size:1.12rem;max-width:56ch}

.rejilla{display:grid;gap:44px 32px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.entrada{border-top:3px solid var(--ink);padding-top:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.entrada .foto img{width:100%;aspect-ratio:16/9;object-fit:cover;outline:2px solid var(--ink);outline-offset:-2px}
.entrada :is(h2,h3){margin:0;font-weight:800;font-stretch:110%;font-size:1.32rem;line-height:1.18;letter-spacing:-.02em;text-wrap:balance}
.entrada :is(h2,h3) a{text-decoration:none}
.entrada :is(h2,h3) a:hover{text-decoration:underline}
.entrada p{margin:0}
.entrada .resumen{color:var(--muted)}
.dato{color:var(--muted);font-size:.9rem;font-weight:600}
/* El más reciente, protagonista: ocupa toda la fila, con la portada grande a la izquierda. */
.entrada.destacada{grid-column:1/-1}
.entrada.destacada h2{font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.08}
.entrada.destacada .resumen{font-size:1.08rem}
@media (min-width:860px){
  .entrada.destacada{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:center}
  .entrada.destacada .texto{display:flex;flex-direction:column;gap:12px}
}
.texto{display:flex;flex-direction:column;gap:10px}
.app{display:inline-flex;align-items:center;gap:7px}
.app::before{content:"";width:5px;height:14px;background:var(--muted);box-shadow:2px 0 0 var(--ink)}
[data-producto="piano"] .app::before{background:var(--petrol)}
[data-producto="sonido"] .app::before{background:var(--lila)}
.aviso-estado{color:#B3262A}
.vacio{border-top:3px solid var(--ink);padding-top:22px}

/* --- Artículo --- */
.cabeza{max-width:var(--lectura);margin:0 auto;padding:40px 0 0}
.cabeza h1{margin:0 0 14px;font-weight:800;font-stretch:112%;font-size:clamp(2.1rem,5.4vw,3.1rem);line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
.migas{margin:0 0 16px;font-weight:700;font-size:.95rem}
.meta{margin:0 0 28px;color:var(--muted);font-size:.95rem}
.aviso{background:var(--cream);border-left:8px solid var(--red);padding:12px 16px;font-weight:700;margin:0 0 22px}
.portada{max-width:60rem;margin:0 auto 34px}
.portada img{width:100%;aspect-ratio:16/9;object-fit:cover;outline:2px solid var(--ink);outline-offset:-2px}
.portada figcaption{margin-top:8px;color:var(--muted);font-size:.88rem}
.lectura{max-width:var(--lectura);margin:0 auto}
.cuerpo{border-top:3px solid var(--ink);padding-top:8px;font-size:1.06rem}
.cuerpo h2{margin:36px 0 10px;font-weight:800;font-stretch:110%;font-size:1.5rem;line-height:1.2;letter-spacing:-.02em}
.cuerpo h3{margin:26px 0 8px;font-weight:800;font-size:1.18rem}
.cuerpo p,.cuerpo ul,.cuerpo ol{margin:0 0 16px}
.cuerpo ul,.cuerpo ol{padding-left:1.3em}
.cuerpo li{margin-bottom:6px}
.cuerpo li::marker{color:var(--petrol);font-weight:800}
.cuerpo blockquote{margin:24px 0;padding:4px 0 4px 18px;border-left:6px solid var(--mustard);font-size:1.15rem;font-weight:600}
.cuerpo blockquote p{margin:0}
.cuerpo img{margin:24px 0}
.cuerpo hr{border:0;border-top:3px solid var(--ink);margin:30px 0}
.cuerpo code{background:var(--cream);padding:1px 5px;font-size:.92em}
.cuerpo pre{background:var(--cream);padding:14px;overflow-x:auto}
.cuerpo pre code{padding:0}
.cuerpo table{width:100%;border-collapse:collapse;font-size:.95rem;margin:18px 0 22px}
.cuerpo th,.cuerpo td{text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid rgba(38,33,48,.25);vertical-align:top}
.cuerpo th{font-weight:800;border-bottom:2px solid var(--ink)}
@media (max-width:600px){.cuerpo table{display:block;overflow-x:auto}}

/* Llamado a la app del artículo: crema con la barra de su app. */
.llamado{margin:40px 0 0;background:var(--cream);padding:22px 22px 24px;border-left:8px solid var(--muted)}
.llamado[data-producto="piano"]{border-left-color:var(--petrol)}
.llamado[data-producto="sonido"]{border-left-color:var(--lila)}
.llamado h2{margin:0 0 8px;font-weight:800;font-stretch:110%;font-size:1.35rem;line-height:1.2}
.llamado p{margin:0 0 16px}
.autor{margin-top:36px;padding-top:18px;border-top:3px solid var(--ink);color:var(--muted);font-size:.95rem}
.autor p{margin:0}

/* Sigue leyendo: a todo el ancho, con la misma rejilla de la lista. */
.relacionados{margin-top:64px;padding-top:26px;border-top:3px solid var(--ink)}
.relacionados > h2{margin:0 0 22px;font-weight:800;font-stretch:112%;font-size:clamp(1.6rem,3.4vw,2.2rem);letter-spacing:-.03em}
.relacionados .entrada{border-top-width:2px}

footer{max-width:var(--ancho);margin:56px auto 0;padding-top:18px;border-top:3px solid var(--ink);color:var(--muted);font-size:.9rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 22px}
footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}
