/* ===== Teatro Impro · estilos ===== */
:root{
  --bg:#faf6ef; --bg2:#f2eadc; --card:#fffdf8; --ink:#241b1a; --muted:#6e605a;
  --line:#e3d8c5; --accent:#8c1c2c; --accent-ink:#fff; --gold:#b8861b; --link:#8c1c2c;
  --mark:#fff0a8; --shadow:0 1px 2px rgba(60,30,20,.08),0 6px 20px rgba(60,30,20,.06);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --radius:14px; --w:72ch;
}
:root[data-theme="dark"]{
  --bg:#17120f; --bg2:#1f1814; --card:#211a16; --ink:#f0e6d8; --muted:#b3a496;
  --line:#3a2f28; --accent:#d4586a; --accent-ink:#1a0d10; --gold:#e0a43a; --link:#f08a9a;
  --mark:#5b4a12; --shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.3);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#17120f; --bg2:#1f1814; --card:#211a16; --ink:#f0e6d8; --muted:#b3a496;
    --line:#3a2f28; --accent:#d4586a; --accent-ink:#1a0d10; --gold:#e0a43a; --link:#f08a9a;
    --mark:#5b4a12; --shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.3);
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.7 var(--serif);
  padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
img{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:.15em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.1rem}

/* ---- cabecera ---- */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line);
  backdrop-filter:saturate(1.2) blur(6px);padding-top:env(safe-area-inset-top)}
.bar{display:flex;align-items:center;gap:.6rem;min-height:3.6rem}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font:700 1.15rem/1 var(--serif)}
.brand svg{width:2rem;height:2rem;flex:none}
.brand span em{font-style:normal;color:var(--accent)}
.spacer{flex:1}
.icon-btn{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);
  width:2.5rem;height:2.5rem;border-radius:999px;display:grid;place-items:center;cursor:pointer;font:inherit;text-decoration:none}
.icon-btn:hover{border-color:var(--accent)}
.icon-btn svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav{display:none;gap:.2rem;font:600 .95rem var(--sans)}
.nav a{padding:.45rem .75rem;border-radius:999px;text-decoration:none;color:var(--ink)}
.nav a:hover{background:var(--bg2)}
.nav a[aria-current="page"]{background:var(--accent);color:var(--accent-ink)}
.nav-open .nav{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg);
  border-bottom:1px solid var(--line);padding:.6rem 1.1rem 1rem;box-shadow:var(--shadow)}
.nav-open .nav a{padding:.75rem .9rem;font-size:1.05rem}
@media(min-width:900px){
  .nav{display:flex}.menu-btn{display:none}
}

/* ---- contenido ---- */
main{padding:1.6rem 0 3rem;min-height:60vh}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.2;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,5vw,2.8rem);margin:.2rem 0 .6rem}
h2{font-size:1.5rem;margin:2.2rem 0 .6rem}
h3{font-size:1.2rem;margin:1.6rem 0 .4rem}
.prose{max-width:var(--w)}
.prose p{margin:0 0 1.15em}
.prose blockquote{margin:1.2rem 0;padding:.2rem 1.1rem;border-left:4px solid var(--gold);background:var(--bg2);border-radius:0 10px 10px 0}
.prose img{display:block;margin:1.5rem auto;border-radius:10px;border:1px solid var(--line);background:#fff}
.prose ul,.prose ol{padding-left:1.4rem}
.prose li{margin:.25rem 0}
.prose table{border-collapse:collapse;width:100%;font:.95rem var(--sans);display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:.45rem .6rem;text-align:left}
.prose strong a,.prose a.term{font-weight:700;text-decoration-style:dotted}
.prose span.mark,.prose mark{background:var(--mark);color:inherit;padding:0 .15em;border-radius:3px}
.crumbs{font:.88rem var(--sans);color:var(--muted);margin-bottom:.4rem}
.crumbs a{color:var(--muted)}
.lede{font-size:1.2rem;color:var(--muted);max-width:var(--w)}
.badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 1rem;font:600 .78rem var(--sans)}
.badge{padding:.2rem .6rem;border-radius:999px;background:var(--bg2);border:1px solid var(--line);color:var(--muted)}
.badge.warn{background:#fff3d6;color:#6b4b00;border-color:#ecd08a}
:root[data-theme="dark"] .badge.warn{background:#3b2f10;color:#f0cf7a;border-color:#6a5420}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .badge.warn{background:#3b2f10;color:#f0cf7a;border-color:#6a5420}}
.notice{border:1px dashed var(--gold);border-radius:var(--radius);padding:1rem 1.2rem;background:var(--card);font:1rem/1.5 var(--sans);margin:1rem 0 1.6rem;max-width:var(--w)}
.toc{font:.95rem var(--sans);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem 1.1rem;margin:1rem 0 1.6rem;max-width:var(--w)}
.toc strong{display:block;margin-bottom:.2rem}
.toc ul{margin:0;padding-left:1.1rem}
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:1rem 0 1.6rem;max-width:var(--w);font-family:var(--sans)}
.meta div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.55rem .8rem}
.meta b{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:3rem;max-width:var(--w);font-family:var(--sans)}
.pager a{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem;text-decoration:none;color:var(--ink);background:var(--card)}
.pager a:hover{border-color:var(--accent)}
.pager small{display:block;color:var(--muted);font-size:.78rem}
.pager .next{text-align:right;grid-column:2}

/* ---- tarjetas y rejillas ---- */
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:1rem 0}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;
  text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .12s,border-color .12s}
a.card:hover{transform:translateY(-2px);border-color:var(--accent)}
.card h3{margin:.1rem 0 .3rem;font-size:1.15rem}
.card p{margin:0;font:.95rem/1.5 var(--sans);color:var(--muted)}
.card .tag{font:700 .72rem var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}

/* ---- portada ---- */
.hero{padding:2.2rem 0 1.2rem;text-align:center}
.hero h1{font-size:clamp(2.2rem,7vw,3.6rem);margin:0 auto .5rem;max-width:18ch}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{max-width:52ch;margin:0 auto 1.4rem;color:var(--muted);font-size:1.15rem}
.search{display:flex;gap:.5rem;max-width:560px;margin:0 auto}
.search input{flex:1;min-width:0;font:1rem var(--sans);padding:.8rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
.btn{appearance:none;border:0;background:var(--accent);color:var(--accent-ink);font:700 .95rem var(--sans);padding:.8rem 1.2rem;border-radius:999px;cursor:pointer;text-decoration:none;display:inline-block}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.section-title{display:flex;align-items:baseline;justify-content:space-between;margin:2.4rem 0 .4rem}
.section-title h2{margin:0}
.section-title a{font:600 .9rem var(--sans)}
.daily{background:var(--card);color:var(--ink);border:1px solid var(--accent);border-radius:var(--radius);padding:1.4rem 1.5rem;margin:1.6rem 0}
.daily h3 a{color:var(--link)}
.daily small{font:700 .75rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.daily h3{margin:.2rem 0 .3rem;font-size:1.5rem}
.daily p{margin:0 0 .6rem;font-size:1rem}

/* ---- wiki índice ---- */
.chapter{margin:2rem 0}
.chapter h2{border-bottom:2px solid var(--gold);padding-bottom:.3rem}
.tree{list-style:none;padding:0;margin:.4rem 0}
.tree ul{list-style:none;padding-left:1.2rem;margin:0;border-left:2px solid var(--line)}
.tree li{margin:.15rem 0;font-family:var(--sans);font-size:1rem}
.tree .soon{color:var(--muted)}
.az a{display:inline-block;margin:.1rem .25rem;font:600 .9rem var(--sans)}
.az-list{columns:2 260px;font-family:var(--sans);padding-left:0;list-style:none}
.az-list li{margin:.2rem 0;break-inside:avoid}

/* ---- búsqueda ---- */
.results{list-style:none;padding:0;margin:1.2rem 0;max-width:var(--w)}
.results li{padding:.9rem 0;border-bottom:1px solid var(--line)}
.results a{font:700 1.1rem var(--serif)}
.results p{margin:.2rem 0 0;font:.95rem/1.5 var(--sans);color:var(--muted)}
.results mark{background:var(--mark);color:inherit}

/* ---- agenda / directorio ---- */
.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0;font-family:var(--sans)}
.chip{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:.4rem .9rem;border-radius:999px;font:600 .88rem var(--sans);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.event{display:grid;grid-template-columns:4.2rem 1fr;gap:1rem;align-items:start}
.date{text-align:center;border:1px solid var(--line);border-radius:12px;padding:.35rem 0;background:var(--bg2);font-family:var(--sans)}
.date b{display:block;font-size:1.5rem;line-height:1.1}
.date span{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.empty{text-align:center;padding:2.5rem 1rem;border:1px dashed var(--line);border-radius:var(--radius);background:var(--card);font-family:var(--sans);color:var(--muted)}

/* ---- pie ---- */
.site-footer{border-top:1px solid var(--line);padding:1.6rem 0 2.2rem;font:.9rem/1.6 var(--sans);color:var(--muted)}
.site-footer .row{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;justify-content:space-between}
.site-footer a{color:var(--muted)}
[hidden]{display:none!important}
@media print{.site-header,.site-footer,.pager,.search{display:none}body{font-size:12pt;background:#fff;color:#000}}
.filtro{font:1rem var(--sans);padding:.7rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);width:100%;max-width:420px;margin-top:.4rem}
.chip small{opacity:.65;font-weight:600;margin-left:.15rem}
a.badge{text-decoration:none}
a.badge:hover{border-color:var(--accent);color:var(--accent)}
.more-cats{display:contents}
.more-cats summary{list-style:none;cursor:pointer;border:1px dashed var(--line);padding:.4rem .9rem;border-radius:999px;font:600 .88rem var(--sans);color:var(--muted)}
.more-cats summary::-webkit-details-marker{display:none}
.more-cats[open] summary{display:none}

/* ===== v2: pestañas, conceptos, libro, mapa ===== */
.nav,.menu-btn{display:none!important}
.tabs{border-top:1px solid var(--line);background:var(--bg)}
.tabs-in{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;padding-top:.35rem;padding-bottom:.35rem;-webkit-overflow-scrolling:touch}
.tabs-in::-webkit-scrollbar{display:none}
.tabs a{flex:none;padding:.4rem .8rem;border-radius:999px;text-decoration:none;color:var(--ink);font:600 .9rem var(--sans);white-space:nowrap}
.tabs a:hover{background:var(--bg2)}
.tabs a[aria-current="page"]{background:var(--accent);color:var(--accent-ink)}
html{scroll-padding-top:7.5rem}
.def{max-width:var(--w);border-left:4px solid var(--accent);background:var(--card);border-radius:0 var(--radius) var(--radius) 0;padding:.9rem 1.2rem;margin:1rem 0;box-shadow:var(--shadow)}
.def p{margin:0;font-size:1.15rem;line-height:1.55}
.ejemplo{max-width:var(--w);background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1.2rem;margin:0 0 1.4rem}
.ejemplo b{font:700 .75rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.ejemplo p{margin:.25rem 0 0}
.fuente{font:.85rem var(--sans);color:var(--muted);margin-top:2rem;max-width:var(--w)}
.abc{display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 1.5rem;font:700 1rem var(--sans)}
.abc a,.abc .vacia{width:2.2rem;height:2.2rem;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:var(--card);text-decoration:none}
.abc .vacia{color:var(--line);background:transparent}
.letra h2{border-bottom:2px solid var(--gold);padding-bottom:.2rem;margin-top:2rem}
.az-def{list-style:none;padding:0;margin:.4rem 0;max-width:var(--w)}
.az-def li{padding:.45rem 0;border-bottom:1px dashed var(--line);font-family:var(--sans)}
.az-def a{font:700 1.05rem var(--serif);margin-right:.5rem}
.az-def span{color:var(--muted);font-size:.92rem}
.grupo{margin-top:1.5rem}
.libro{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:2rem;align-items:center;margin:1rem 0 2rem}
@media(max-width:640px){.libro{grid-template-columns:1fr}.portada-libro{max-width:200px}}
.portada-libro{aspect-ratio:2/3;border-radius:6px 14px 14px 6px;background:linear-gradient(160deg,#8c1c2c,#4a0d17);color:#f6e7c8;padding:1.2rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 30px rgba(60,20,20,.35);border-left:8px solid #5b0f1b}
.portada-libro span{font:700 1.35rem/1.15 var(--serif)}
.portada-libro small{font:600 .8rem var(--sans);opacity:.85}
.btn-grande{font-size:1.15rem;padding:1rem 1.6rem;box-shadow:var(--shadow)}
.cita{max-width:var(--w);margin:1rem 0;padding:.4rem 1.2rem;border-left:4px solid var(--gold);background:var(--bg2);border-radius:0 10px 10px 0;font-style:italic}
.capitulos{font-family:var(--sans);columns:2 280px;max-width:900px}
.capitulos li{margin:.25rem 0;break-inside:avoid}
.mapa{height:min(70vh,560px);border-radius:var(--radius);border:1px solid var(--line);margin:1rem 0 .4rem;background:var(--bg2);z-index:0}
.mapa .leaflet-popup-content{font-family:var(--sans)}
.libro .tag{font:700 .78rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0}
.libro h1{margin-top:.2rem}
@media(max-width:640px){.libro{gap:1rem}.portada-libro{max-width:120px;padding:.7rem}.portada-libro span{font-size:.95rem}.portada-libro small{font-size:.65rem}}
@media(min-width:900px){.tabs-in{flex-wrap:wrap;overflow:visible;gap:.1rem}.tabs a{padding:.35rem .65rem;font-size:.86rem}}
@media(min-width:900px){.tabs a{padding:.35rem .5rem;font-size:.82rem}}
@media(min-width:1100px){.tabs a{padding:.35rem .6rem;font-size:.85rem}}
@media(min-width:1100px){.tabs-in{max-width:1240px;justify-content:center;flex-wrap:wrap}}
.etiquetas{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin:.2rem 0 1rem;font:600 .78rem var(--sans)}
.etiquetas .et{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem}
.etiquetas .et b{color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}
.filtros{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem 1rem 1rem;margin:1rem 0 1.5rem}
.filtros .crumbs{margin:.8rem 0 .2rem}
.filtros .chips{margin:.2rem 0}
select.filtro{appearance:auto;border-radius:12px}
.az-def li.ref a{font-weight:600;font-style:italic}
.az-def li.ref span b{color:var(--ink)}

/* ===================================================================
   WIKI · aspecto de la Wikipedia (solo páginas con <body class="wp">)
   =================================================================== */
body.wp{
  --w-bg:#fff;--w-box:#f8f9fa;--w-text:#202122;--w-muted:#54595d;--w-border:#a2a9b1;--w-line:#eaecf0;
  --w-link:#0645ad;--w-visited:#0b0080;--w-head:#cedff2;--w-btn:#36c;
  background:var(--w-bg);color:var(--w-text);
  font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Lato,Helvetica,Arial,sans-serif;
  padding:0;
}
:root[data-theme="dark"] body.wp{
  --w-bg:#101418;--w-box:#1b1f23;--w-text:#eaecf0;--w-muted:#a2a9b1;--w-border:#54595d;--w-line:#2a2e33;
  --w-link:#88a3e8;--w-visited:#b69ee8;--w-head:#2a3a52;--w-btn:#6485d1;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) body.wp{
    --w-bg:#101418;--w-box:#1b1f23;--w-text:#eaecf0;--w-muted:#a2a9b1;--w-border:#54595d;--w-line:#2a2e33;
    --w-link:#88a3e8;--w-visited:#b69ee8;--w-head:#2a3a52;--w-btn:#6485d1;
  }
}
body.wp a{color:var(--w-link);text-decoration:none}
body.wp a:visited{color:var(--w-visited)}
body.wp a:hover{text-decoration:underline}
body.wp :focus-visible{outline:2px solid var(--w-btn);outline-offset:1px}
body.wp .wp-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:.7rem;background:var(--w-bg);
  border-bottom:1px solid var(--w-line);padding:.45rem 1rem;padding-top:calc(.45rem + env(safe-area-inset-top))}
body.wp .wp-brand{display:flex;align-items:center;gap:.55rem;color:var(--w-text)!important;flex:none}
body.wp .wp-brand svg{width:2.1rem;height:2.1rem}
body.wp .wp-name{display:flex;flex-direction:column;font:400 1.25rem/1.05 "Linux Libertine",Georgia,Times,serif}
body.wp .wp-name em{font-style:normal;color:#8c1c2c}
:root[data-theme="dark"] body.wp .wp-name em{color:#d4586a}
body.wp .wp-name small{font:600 .6rem/1.3 -apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.04em;color:var(--w-muted);text-transform:uppercase}
body.wp .wp-search{flex:1;display:flex;max-width:34rem;margin:0 auto}
body.wp .wp-search input{flex:1;min-width:0;font:inherit;padding:.4rem .7rem;border:1px solid var(--w-border);border-right:0;border-radius:2px 0 0 2px;background:var(--w-bg);color:var(--w-text)}
body.wp .wp-search button{font:inherit;padding:.4rem .9rem;border:1px solid var(--w-border);background:var(--w-box);color:var(--w-text);border-radius:0 2px 2px 0;cursor:pointer}
body.wp .wp-search button:hover{background:var(--w-line)}
body.wp .wp-menu,body.wp .wp-theme{appearance:none;border:0;background:transparent;color:var(--w-text);width:2.3rem;height:2.3rem;border-radius:2px;display:grid;place-items:center;cursor:pointer}
body.wp .wp-menu:hover,body.wp .wp-theme:hover{background:var(--w-box)}
body.wp .wp-menu svg,body.wp .wp-theme svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:900px){body.wp .wp-menu{display:none}}

body.wp .wp-page{display:grid;grid-template-columns:11.5rem minmax(0,1fr);gap:1.6rem;max-width:1180px;margin:0 auto;padding:1rem 1rem 2rem}
body.wp .wp-side{font-size:.85rem;align-self:start;position:sticky;top:4rem}
body.wp .wp-portlet{margin-bottom:1.1rem}
body.wp .wp-portlet h3{font:700 .72rem/1.3 -apple-system,"Segoe UI",Roboto,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--w-muted);margin:0 0 .35rem;padding-bottom:.25rem;border-bottom:1px solid var(--w-line)}
body.wp .wp-portlet ul{list-style:none;margin:0;padding:0}
body.wp .wp-portlet li{margin:.2rem 0}
@media(max-width:899px){
  body.wp .wp-page{grid-template-columns:1fr;gap:0}
  body.wp .wp-side{display:none;position:static;background:var(--w-box);border:1px solid var(--w-line);padding:.8rem 1rem;margin-bottom:1rem;border-radius:2px}
  body.wp.wp-open .wp-side{display:block}
  body.wp .wp-search button{padding:.4rem .6rem}
  body.wp .wp-brand .wp-name small{display:none}
}
body.wp .wp-content{min-width:0}
body.wp .mw h1.firstHeading{font:400 1.8rem/1.3 "Linux Libertine",Georgia,Times,serif;margin:0 0 .2rem;padding:0 0 .15rem;border-bottom:1px solid var(--w-border);letter-spacing:0}
body.wp .siteSub{font-size:.85rem;color:var(--w-muted);margin:0 0 1rem}
body.wp .mw h2{font:400 1.5rem/1.3 "Linux Libertine",Georgia,Times,serif;margin:1.1rem 0 .3rem;padding:0 0 .1rem;border-bottom:1px solid var(--w-border);letter-spacing:0}
body.wp .mw h2 small{font:400 .9rem -apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--w-muted)}
body.wp .mw h3{font:700 1.15rem/1.3 -apple-system,"Segoe UI",Roboto,Arial,sans-serif;margin:.9rem 0 .2rem}
body.wp .mw p{margin:.5rem 0}
body.wp .mw p.lead{font-size:1rem}
body.wp .mw ul{margin:.3rem 0 .5rem 1.6rem;padding:0;list-style:disc}
body.wp .mw ol{margin:.3rem 0 .5rem 2rem;padding:0}
body.wp .mw li{margin:.15rem 0}
body.wp .mw strong a.term{font-weight:inherit}
body.wp .hatnote{font-style:italic;padding-left:1.6rem;margin:0 0 .6rem;font-size:.92rem}
body.wp .infobox{float:right;clear:right;width:21rem;max-width:100%;margin:.3rem 0 1rem 1.4rem;border:1px solid var(--w-border);background:var(--w-box);
  border-collapse:collapse;font-size:.88rem;line-height:1.5}
body.wp .infobox caption{caption-side:top;font-weight:700;text-align:center;background:var(--w-head);border:1px solid var(--w-border);border-bottom:0;padding:.35rem .5rem}
body.wp .infobox th{text-align:left;vertical-align:top;padding:.3rem .5rem;width:34%;font-weight:700}
body.wp .infobox td{padding:.3rem .5rem}
body.wp .infobox tr+tr{border-top:1px solid var(--w-line)}
@media(max-width:699px){body.wp .infobox{float:none;width:100%;margin:.5rem 0 1rem}}
body.wp .toc{display:inline-block;border:1px solid var(--w-border);background:var(--w-box);padding:.5rem .9rem;margin:.5rem 0 .8rem;font-size:.9rem}
body.wp .toc ol{margin:.2rem 0 0 1.2rem}
body.wp .aviso-wp{border:1px solid var(--w-border);border-left:.5rem solid #fc3;background:var(--w-box);padding:.4rem .8rem;margin:.6rem 0;font-size:.9rem}
body.wp .catlinks{clear:both;border:1px solid var(--w-border);background:var(--w-box);padding:.35rem .7rem;margin-top:1.4rem;font-size:.85rem}
body.wp .fuente-wp{clear:both;font-size:.8rem;color:var(--w-muted);margin-top:1.2rem}
body.wp .mw-body{overflow:hidden}
body.wp .abc{font-size:1rem;display:flex;flex-wrap:wrap;gap:.2rem .6rem}
body.wp .abc .vacia{color:var(--w-border)}
body.wp .wp-az{columns:3 13rem;column-gap:1.6rem;list-style:disc;margin:.3rem 0 .5rem 1.4rem;padding:0}
body.wp .wp-az li{break-inside:avoid;margin:.1rem 0}
body.wp .wp-az .ref i{color:var(--w-muted)}
body.wp .wp-def{list-style:disc;margin:.3rem 0 .5rem 1.6rem;padding:0}
body.wp .wp-def li{margin:.25rem 0}
body.wp .filtros{background:var(--w-box);border:1px solid var(--w-border);padding:.5rem .9rem .8rem;margin:.8rem 0 1.2rem}
body.wp .filtros .crumbs{margin:.7rem 0 .2rem;color:var(--w-muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
body.wp .filtro{font:inherit;padding:.35rem .6rem;border:1px solid var(--w-border);border-radius:2px;background:var(--w-bg);color:var(--w-text);width:100%;max-width:26rem;margin:0}
body.wp .chips{display:flex;flex-wrap:wrap;gap:.3rem;margin:.2rem 0}
body.wp .chip{font:inherit;font-size:.85rem;padding:.15rem .6rem;border:1px solid var(--w-border);border-radius:2px;background:var(--w-bg);color:var(--w-link);cursor:pointer}
body.wp .chip:hover{background:var(--w-line)}
body.wp .chip[aria-pressed="true"]{background:var(--w-btn);border-color:var(--w-btn);color:#fff}
body.wp .chip small{opacity:.7}
body.wp .wp-foot{border-top:1px solid var(--w-line);background:var(--w-box);color:var(--w-muted);font-size:.78rem;line-height:1.6;padding:1rem 1rem calc(1.2rem + env(safe-area-inset-bottom));text-align:left}
body.wp .wp-foot p{max-width:1180px;margin:.2rem auto}

/* ===================================================================
   MANUAL · aspecto de libro (solo <body class="manual">)
   =================================================================== */
body.manual main{background:radial-gradient(ellipse at top,var(--bg2),transparent 60%)}
.pagina-libro{max-width:760px;margin:.5rem auto 2rem;background:var(--card);border:1px solid var(--line);border-left:10px solid #5b0f1b;
  border-radius:6px 14px 14px 6px;box-shadow:0 10px 30px rgba(60,20,20,.18);padding:1rem 1.6rem 2rem}
.libro-cab{font:700 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:.5rem;margin-bottom:.8rem}
.libro-cab span{color:var(--muted);font-weight:600}
.pagina-libro h1{font-size:clamp(1.7rem,4.5vw,2.3rem);margin:.2rem 0 1rem}
.pagina-libro .prose{max-width:none;font-size:1.08rem;line-height:1.8}
.pagina-libro .prose p{text-align:left}
.en-capitulo{margin:2rem 0 1rem;padding:.8rem 1.1rem;background:var(--bg2);border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:.95rem}
.en-capitulo ul{margin:.3rem 0 0;padding-left:1.1rem}
body.manual .wrap>.prose,body.manual .wrap>.cita{max-width:none}   /* en las portadas de los libros, el texto ocupa el mismo ancho que la cabecera */
.toc-libro{font-family:var(--sans);font-size:1rem;max-width:760px;padding-left:1.4rem}
.toc-libro>li{margin:.5rem 0;font-weight:700}
.toc-libro ul{font-weight:400;margin:.2rem 0;padding-left:1.2rem}
.toc-libro .soon,.en-capitulo .soon{color:var(--muted)}
.toc-libro .soon small,.en-capitulo .soon small{font-size:.75em}
.aviso-wiki{font:.85rem var(--sans);color:var(--muted);border-top:1px dashed var(--line);padding-top:.8rem;margin-top:1.8rem}
.aviso-wiki a{font-weight:600}
.btn.ghost.btn-grande{background:transparent}
body.wp .wp-name b{font-weight:400;white-space:nowrap}
body.wp .abc a,body.wp .abc .vacia{width:auto;height:auto;display:inline;border:0;background:transparent;border-radius:0;font-weight:400}
body.wp .abc a{font-weight:700}
body.wp .wp-search{min-width:0}
@media(max-width:699px){
  body.wp .wp-top{gap:.35rem;padding-left:.5rem;padding-right:.5rem}
  body.wp .wp-search button{display:none}
  body.wp .wp-search input{border-right:1px solid var(--w-border);border-radius:2px}
  body.wp .wp-search{margin:0}
  body.wp .wp-brand svg{width:1.8rem;height:1.8rem}
  body.wp .wp-name{font-size:1.05rem}
}
body.wp .wp-abc{border-bottom:1px solid var(--w-line);background:var(--w-box);position:sticky;top:3.3rem;z-index:49}
body.wp .wp-abc-in{max-width:1180px;margin:0 auto;padding:.3rem 1rem;display:flex;flex-wrap:wrap;gap:.1rem .25rem;font:600 .92rem -apple-system,"Segoe UI",Roboto,Arial,sans-serif}
body.wp .wp-abc a,body.wp .wp-abc span{min-width:1.7rem;text-align:center;padding:.1rem .3rem;border-radius:2px}
body.wp .wp-abc a:hover{background:var(--w-line);text-decoration:none}
body.wp .wp-abc a[aria-current="page"]{background:var(--w-btn);color:#fff}
body.wp .wp-abc span{color:var(--w-border)}
body.wp .wp-side{top:6.2rem}
@media(max-width:699px){body.wp .wp-abc{top:3rem}body.wp .wp-abc-in{flex-wrap:nowrap;overflow-x:auto;padding:.3rem .5rem;scrollbar-width:none}body.wp .wp-abc-in::-webkit-scrollbar{display:none}}
body.wp a.ext::after{content:"↗";font-size:.75em;margin-left:.15em;opacity:.7}
.portada-ensenar{background:linear-gradient(160deg,#1f4e5f,#0d2a33);border-left-color:#0b222a;color:#f3ead8}
/* ===== resultados de búsqueda: wiki frente al resto de la web ===== */
.results{max-width:820px}
.results li.r{padding:0;border:0;margin:0 0 .8rem}
.results li.r>a{display:block;text-decoration:none;color:inherit;padding:.8rem 1rem;border-radius:var(--radius)}
.results .r-titulo{display:block;font-size:1.15rem;margin:.15rem 0 .2rem}
.results .r-texto{display:block;font:.92rem/1.5 var(--sans);color:var(--muted)}
.results .r-alias{display:block;font:.82rem var(--sans);color:var(--muted)}
/* de la wiki: aspecto Wikipedia */
.results .r-wiki>a{background:#fff;border:1px solid #a2a9b1;border-radius:2px;color:#202122}
.results .r-wiki>a:hover{border-color:#36c;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.results .r-wiki .r-origen{display:block;font:400 1.5rem/1 "Linux Libertine",Georgia,Times,serif;color:#202122;letter-spacing:.01em}
.results .r-wiki .r-origen b{font-weight:400;font-size:1.15em}
.results .r-wiki .r-origen small{font:600 .7rem -apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#54595d;text-transform:uppercase;letter-spacing:.06em;margin-left:.5rem;vertical-align:middle}
.results .r-wiki .r-titulo{font:400 1.25rem "Linux Libertine",Georgia,Times,serif;color:#36c}
.results .r-wiki .r-texto,.results .r-wiki .r-alias{color:#54595d;font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.results .r-wiki mark{background:#fef6e7;color:inherit}
/* del resto de la web: estilo Teatro Impro */
.results .r-web>a{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--accent);box-shadow:var(--shadow)}
.results .r-web>a:hover{border-color:var(--accent)}
.results .r-web .r-origen{display:block;font:700 .75rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.results .r-web .r-titulo{font-family:var(--serif);font-weight:700;color:var(--ink)}
:root[data-theme="dark"] .results .r-wiki>a{background:#1b1f23;border-color:#54595d;color:#eaecf0}
:root[data-theme="dark"] .results .r-wiki .r-origen{color:#eaecf0}
:root[data-theme="dark"] .results .r-wiki .r-titulo{color:#88a3e8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .results .r-wiki>a{background:#1b1f23;border-color:#54595d;color:#eaecf0}
:root:not([data-theme="light"]) .results .r-wiki .r-origen{color:#eaecf0}:root:not([data-theme="light"]) .results .r-wiki .r-titulo{color:#88a3e8}}
/* ===== mapas de Google y funciones de Ticketmaster ===== */
.gmapa{margin:1rem 0 2rem}
.gmapa-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;justify-content:space-between}
.gmapa-ciudad{font:600 .9rem var(--sans);display:flex;align-items:center;gap:.5rem}
.gmapa-ciudad select{font:inherit;padding:.45rem .7rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
.gmapa-marco{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--bg2);margin-top:.6rem;height:min(70vh,560px)}
.gmapa-marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gmapa-pie{margin-top:.4rem}
.tm-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card.tm{display:grid}
.otras-webs{font:.95rem var(--sans);margin:1rem 0 2rem}
.otras-webs a{font-weight:600}
.grid>.empty{grid-column:1/-1}
.tm-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:.4rem 0 .8rem;font:600 .9rem var(--sans)}
.tm-filtros select{font:inherit;padding:.4rem .7rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);margin-left:.4rem}

/* ===== v5.1: cabecera común marrón (web + wiki) ===== */
:root{--head-bg:#5a3b2b;--head-ink:#f7ecd9;--head-hover:rgba(247,236,217,.14);--head-gold:#f0c46a}
:root[data-theme="dark"]{--head-bg:#2f2018}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--head-bg:#2f2018}}
.site-header{background:var(--head-bg);color:var(--head-ink);border-bottom:1px solid rgba(0,0,0,.28)}
.site-header .brand,.site-header .brand:visited,.site-header .brand:hover{color:var(--head-ink);text-decoration:none}
.site-header .brand span em{color:var(--head-gold)}
.site-header .brand svg{border-radius:.5rem;box-shadow:0 0 0 2px rgba(247,236,217,.35)}
.site-header .icon-btn{background:transparent;border-color:rgba(247,236,217,.35);color:var(--head-ink)}
.site-header .icon-btn:hover{background:var(--head-hover);border-color:var(--head-ink)}
.site-header .tabs{background:transparent;border-top:1px solid rgba(247,236,217,.18)}
.site-header .tabs a,.site-header .tabs a:visited{color:var(--head-ink);text-decoration:none}
.site-header .tabs a:hover{background:var(--head-hover);text-decoration:none}
.site-header .tabs a[aria-current="page"],.site-header .tabs a[aria-current="page"]:visited{background:var(--head-ink);color:var(--head-bg)}

/* wiki: debajo de la cabecera común van el buscador y las letras (ya no son fijos, para no pisarse con ella) */
body.wp .wp-top{position:static;border-bottom:1px solid var(--w-line);padding:.55rem 1rem;
  padding-left:max(1rem,calc((100% - 1180px)/2 + 1rem));padding-right:max(1rem,calc((100% - 1180px)/2 + 1rem))}
body.wp .wp-title,body.wp .wp-title:visited{font:700 1.2rem/1 "Linux Libertine",Georgia,Times,serif;color:var(--w-text);white-space:nowrap;text-decoration:none}
body.wp .wp-search{margin:0 0 0 auto}
body.wp .wp-abc{position:static}
body.wp .wp-side{position:static}
@media(max-width:699px){body.wp .wp-title{font-size:1.05rem}body.wp .wp-search{margin:0 0 0 auto}}

/* v5.2: «Sirve como» en las fichas */
.usos{margin:.2rem 0 .8rem;color:var(--muted,#6b5d52);font-size:.95rem}
.usos b{font-weight:700;margin-right:.25rem}

/* v5.3: directorio de escuelas con logo */
#directorio{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.card.escuela{display:flex;gap:1rem;align-items:flex-start}
.escuela .logo{flex:0 0 56px;width:56px;height:56px;border-radius:.8rem;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.escuela .logo img{width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box}
.escuela .logo-ini{font:800 1.1rem var(--sans);color:#fff;background:var(--head-bg,#5a3b2b);width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.escuela-txt{min-width:0}
.escuela .lugar{font-weight:600;color:var(--ink,inherit);margin-bottom:.3rem}
.escuela .enlaces a{font:700 .9rem var(--sans)}
.dir-fuente{margin:.4rem 0 1rem}

/* ===== Compañías y funciones encontradas en Google (Espectáculos) ===== */
.web-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.8rem;margin:.6rem 0 2rem}
.web-card{display:flex;gap:.8rem;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;color:inherit;text-decoration:none}
.web-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.web-card .ico{position:relative;flex:0 0 28px;width:28px;height:28px;border-radius:6px;background:var(--bg2);overflow:hidden;display:grid;place-items:center;font:700 .9rem var(--sans);color:var(--accent)}
.web-card .ico::before{content:attr(data-l)}
.web-card .ico img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--card)}
.web-card h3{margin:0 0 .1rem;font-size:1.02rem;line-height:1.25}
.web-card .dom{display:block;font:600 .75rem var(--sans);color:var(--accent);margin-bottom:.25rem;overflow-wrap:anywhere}
.web-card p{margin:0;font:.9rem/1.45 var(--sans);color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.card.tm.con-img{grid-template-columns:4.2rem 1fr 64px}
.ev-img{width:64px;height:64px;object-fit:cover;border-radius:.5rem;background:var(--bg2)}
@media(max-width:420px){.card.tm.con-img{grid-template-columns:3.4rem 1fr 52px}.ev-img{width:52px;height:52px}}

.hero h1 .en-obras{color:var(--ink);font-size:.55em;white-space:nowrap}

/* ===== Novedades (publicaciones de Instagram de las compañías) ===== */
.nov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:.8rem 0 2rem}
.nov-grid>.empty{grid-column:1/-1}
.nov{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:inherit;text-decoration:none}
.nov:hover{border-color:var(--accent);transform:translateY(-2px)}
.nov-cab{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem}
.nov-av{position:relative;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--accent-ink);overflow:hidden;display:grid;place-items:center;font:700 .95rem var(--sans)}
.nov-av::before{content:attr(data-l)}
.nov-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nov-quien{min-width:0}
.nov-quien b{display:block;font:700 .92rem/1.2 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nov-quien span{font:.78rem var(--sans);color:var(--muted)}
.nov-img{position:relative;aspect-ratio:1/1;background:var(--bg2)}
.nov-img img{width:100%;height:100%;object-fit:cover;display:block}
.nov-video{position:absolute;right:.6rem;top:.6rem;background:rgba(0,0,0,.6);color:#fff;font:700 .7rem var(--sans);padding:.2rem .5rem;border-radius:999px}
.nov-txt{padding:.8rem .9rem 1rem;font:.9rem/1.45 var(--sans);color:var(--ink)}
.nov-txt p{margin:0 0 .5rem;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.nov-txt em{font:700 .78rem var(--sans);font-style:normal;color:var(--accent)}

/* Novedades · tarjetas de Bluesky (azul #0085ff, tarjeta con cabecera, texto y pie como en la red) */
.nov.bsky{--bsky:#0085ff;border-radius:14px;background:var(--card)}
.nov.bsky:hover{border-color:var(--bsky)}
.bsky-cab{display:flex;align-items:center;gap:.65rem;padding:.8rem .9rem .3rem}
.bsky-av{position:relative;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--bsky);color:#fff;overflow:hidden;display:grid;place-items:center;font:700 1rem var(--sans)}
.bsky-av::before{content:attr(data-l)}
.bsky-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#fff}
.bsky-quien{min-width:0;flex:1}
.bsky-quien b{display:block;font:700 .95rem/1.2 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bsky-quien span{display:block;font:.78rem var(--sans);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bsky-mar{color:var(--bsky);flex:none}
.bsky-txt{padding:.2rem .9rem .7rem;font:.95rem/1.45 var(--sans);color:var(--ink)}
.bsky-txt p{margin:0;white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.bsky-img{margin:0 .9rem .7rem;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--bg2)}
.bsky-img img{display:block;width:100%;max-height:260px;object-fit:cover}
.bsky-pie{margin-top:auto;display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;border-top:1px solid var(--line);font:600 .8rem var(--sans);color:var(--bsky)}

/* ===== Festivales y funciones (Eventos) ===== */
.festivales{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:.6rem 0 1.4rem}
.card.festival .lugar{font:600 .82rem var(--sans);color:var(--muted);margin:.1rem 0 .4rem}
.card.festival p{font:.92rem/1.45 var(--sans)}

.escuela .enlaces a{margin-right:.9rem}
#funciones{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}

/* ===== Bibliografía ===== */
#libros{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card.bib .lugar{font:600 .82rem var(--sans);color:var(--muted);margin:.1rem 0 .3rem}
.card.bib .orig{font:italic .85rem var(--sans);color:var(--muted);margin:0 0 .3rem}
.card.bib p{font:.92rem/1.45 var(--sans)}
.card.bib .enlaces a{margin-right:.9rem}

.card.curso .horario{font-size:.9rem;color:var(--muted)}
#cursos,#talleres,#tall-lista{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.lista-simple{columns:2 260px;padding-left:1.1rem;margin:.4rem 0 1rem}
.lista-simple li{margin:.25rem 0;break-inside:avoid}

.fichas-abc{margin:.2rem 0 .8rem;gap:.25rem;align-items:center}
.fichas-abc .letra{min-width:2rem;height:2rem;padding:0 .35rem;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:700 .95rem var(--sans);cursor:pointer}
.fichas-abc .letra:hover{background:var(--bg2)}
.fichas-abc .letra[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.fichas-abc .vacia{min-width:2rem;height:2rem;display:grid;place-items:center;color:var(--line);font:700 .95rem var(--sans)}
.portada-img{display:block;max-width:220px;border-radius:6px 12px 12px 6px;overflow:hidden;box-shadow:0 10px 30px rgba(60,20,20,.3);transition:transform .15s}
.portada-img:hover{transform:translateY(-3px)}
.portada-img img{display:block;width:100%;height:auto}
@media(max-width:640px){.portada-img{max-width:200px}}
.feed-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin:0 0 .7rem;background:var(--bg2)}
/* ===== «Más …»: pestañas de fuentes y filtros de feeds ===== */
.mas{margin-top:2.2rem;padding-top:1rem;border-top:1px solid var(--line)}
.mas.js .panel-mas:not(.on){display:none}
.mas.js .panel-mas>h3{display:none}
.mas:not(.js) .panel-mas>h3{margin:1.4rem 0 .4rem}
.tabs-mas{margin:.4rem 0 1.2rem}
.feed-filtros{display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 1rem}
.feed-filtros select{font:inherit;font-size:.95rem;padding:.4rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink)}
.feed-filtros select:disabled{opacity:.5}

/* Bibliografía: portada pequeña (generada con CSS, un color por libro) */
.card.bib{display:flex;gap:1rem;align-items:flex-start}
.bib-txt{flex:1;min-width:0}
.bib-cover{flex:0 0 96px;width:96px;aspect-ratio:2/3;border-radius:3px 8px 8px 3px;box-shadow:0 4px 12px rgba(40,20,20,.28);object-fit:cover}
.bib-gen{box-sizing:border-box;padding:.55rem .5rem .5rem .6rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;
  background:linear-gradient(160deg,hsl(var(--h) 42% 34%),hsl(calc(var(--h) + 24) 46% 17%));border-left:5px solid hsl(var(--h) 45% 12%);color:hsl(var(--h) 70% 92%)}
.bib-gen span{font:700 .72rem/1.15 var(--serif);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.bib-gen small{font:600 .58rem var(--sans);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:420px){.bib-cover{flex-basis:76px;width:76px}}
/* iconos de las tarjetas de festivales y de los feeds */
.card.festival .feed-img{margin-bottom:.6rem}
.feed-ico{float:right;width:32px;height:32px;margin:0 0 .3rem .6rem;padding:3px;box-sizing:border-box;border-radius:8px;border:1px solid var(--line);background:#fff}

/* Código de ejemplo (Contacto): que no ensanche la página en el móvil */
pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:pre;font-size:.78rem;line-height:1.5;background:rgba(127,127,127,.12);border-radius:8px;padding:.75rem .9rem;tab-size:2}
pre code{white-space:pre;overflow-wrap:normal;font-size:inherit;background:none;padding:0}
.prose,.prose>*,article,main{min-width:0}
.prose code,.prose a{overflow-wrap:anywhere}
html,body{overflow-x:clip}
