/* El foro de Electonomics: marfil, tinta y oro, como la web. Letra grande (mínimo 13–14 px; los mensajes, a 20 px). */
@font-face { font-family: "Albert Sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(fuentes/albert-sans-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Albert Sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(fuentes/albert-sans-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url(fuentes/ibm-plex-mono-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url(fuentes/ibm-plex-mono-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --tinta: #111418; --marfil: #F5F1E8; --oro: #C8A44D; --oro-texto: #7A5D17;
  --elevada: #FBF9F4; --hundida: #ECE6D9; --muted: #5E5A52; --linea: #D9D1C1; --rojo: #A3402A; --verde: #2F7A3A;
  --sans: "Albert Sans", "Helvetica Neue", Arial, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --ancho: 1240px;
  color-scheme: only light;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 70px; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--marfil); color: var(--tinta); font: 400 19px/1.55 var(--sans); font-kerning: normal; }
img { max-width: 100%; }
a { color: inherit; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--oro-texto); text-decoration-color: currentColor; }
:focus-visible { outline: 3px solid var(--oro); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--oro) 45%, transparent); }
button { font-family: inherit; }
.oculto { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.saltar { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--oro); color: var(--tinta); padding: 10px 16px; font-weight: 700; }
.saltar:focus { top: 12px; }
[hidden] { display: none !important; }
.icono { width: 22px; height: 22px; flex: none; }
.icono--mini { width: 16px; height: 16px; vertical-align: -3px; }
.simbolo { width: 30px; height: 22px; flex: none; }
.simbolo .b { fill: currentColor; }
.simbolo .o { fill: var(--oro); }

/* ---------- Cabecera ---------- */
.fcab__franja { background: var(--tinta); color: var(--marfil); }
.fcab__dentro { max-width: var(--ancho); margin: 0 auto; padding: 10px 20px; display: flex; align-items: center; gap: 20px; }
.fcab__marca { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; font-weight: 700; font-size: 21px; letter-spacing: -.01em; }
.fcab__marca:hover { color: inherit; }
.fcab__foro { font: 700 14px/1 var(--sans); text-transform: uppercase; letter-spacing: .12em; background: var(--oro); color: var(--tinta); padding: 5px 8px 4px; border-radius: 3px; }
.fcab__buscar { position: relative; flex: 1; max-width: 460px; margin-left: auto; }
.fcab__buscar input { width: 100%; height: 42px; padding: 0 46px 0 16px; border-radius: 21px; border: 1px solid rgba(245,241,232,.28); background: rgba(245,241,232,.08); color: var(--marfil); font: 400 16px var(--sans); }
.fcab__buscar input::placeholder { color: rgba(245,241,232,.6); }
.fcab__buscar input:focus { outline: none; border-color: var(--oro); background: rgba(245,241,232,.14); }
.fcab__buscar button { position: absolute; right: 4px; top: 4px; width: 34px; height: 34px; border-radius: 50%; border: 0; background: transparent; color: var(--marfil); display: grid; place-items: center; cursor: pointer; }
.fcab__usuario { display: flex; align-items: center; gap: 10px; flex: none; }
.fcab__entrar { color: var(--marfil); font-weight: 600; text-decoration: none; padding: 8px 6px; }
.fcab__entrar:hover { color: var(--oro); }
.fcab__icono { position: relative; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; color: var(--marfil); }
.fcab__icono:hover { background: rgba(245,241,232,.1); color: var(--marfil); }
.contador { position: absolute; top: 1px; right: -2px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: #C2412F; color: #fff; font: 700 13px/20px var(--sans); text-align: center; box-shadow: 0 0 0 2px var(--tinta); }
.fcab__yo { position: relative; }
.fcab__yo summary { list-style: none; display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 4px 8px 4px 4px; border-radius: 24px; }
.fcab__yo summary::-webkit-details-marker { display: none; }
.fcab__yo summary:hover { background: rgba(245,241,232,.1); }
.fcab__yo-nombre { font-weight: 600; font-size: 17px; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fcab__menu { position: absolute; right: 0; top: calc(100% + 10px); z-index: 40; min-width: 260px; background: #fff; color: var(--tinta); border: 1px solid var(--linea); border-radius: 8px; box-shadow: 0 18px 48px rgba(17,20,24,.22); padding: 8px; display: grid; }
.fcab__menu-cab { margin: 0 0 6px; padding: 8px 10px 12px; border-bottom: 1px solid var(--linea); font-weight: 700; font-size: 17px; line-height: 1.8; }
.fcab__menu a, .fcab__menu button { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 6px; text-decoration: none; font: 500 17px var(--sans); color: var(--tinta); background: none; border: 0; cursor: pointer; text-align: left; }
.fcab__menu a:hover, .fcab__menu button:hover { background: var(--hundida); color: var(--tinta); }
.fnav { position: sticky; top: 0; z-index: 30; background: var(--elevada); border-bottom: 1px solid var(--linea); }
.fnav__dentro { max-width: var(--ancho); margin: 0 auto; padding: 0 12px; display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.fnav__dentro::-webkit-scrollbar { display: none; }
.fnav a { padding: 13px 12px 10px; font-weight: 600; font-size: 17px; color: var(--muted); text-decoration: none; border-bottom: 3px solid transparent; white-space: nowrap; }
.fnav a:hover { color: var(--tinta); }
.fnav a[aria-current] { color: var(--tinta); border-bottom-color: var(--oro); }
.fnav__web { margin-left: auto; display: inline-flex !important; align-items: center; gap: 6px; }
@media (max-width: 820px) {
  .fcab__dentro { flex-wrap: wrap; gap: 10px 12px; }
  .fcab__usuario { margin-left: auto; }
  .fcab__buscar { order: 3; flex-basis: 100%; max-width: none; margin: 0; }
  .fcab__yo-nombre { display: none; }
  .fcab__entrar { font-size: 17px; }
}

/* ---------- Comunes ---------- */
.fmain { flex: 1; width: 100%; max-width: var(--ancho); margin: 0 auto; padding: 26px 20px 64px; }
.boton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 20px; border: 2px solid var(--tinta); border-radius: 4px; background: var(--tinta); color: var(--marfil); font: 700 17px/1.2 var(--sans); text-decoration: none; cursor: pointer; transition: transform .15s var(--ease), background .15s; }
.boton:hover { color: var(--marfil); transform: translateY(-1px); }
.boton:disabled, .boton.ocupado { opacity: .6; cursor: wait; transform: none; }
.boton--oro { background: var(--oro); border-color: var(--oro); color: var(--tinta); }
.boton--oro:hover { color: var(--tinta); background: #D4B25E; }
.boton--claro { background: transparent; color: var(--tinta); }
.boton--claro:hover { color: var(--tinta); background: rgba(17,20,24,.05); }
.boton--peque { padding: 7px 13px; font-size: 15px; }
.boton--ancho { width: 100%; margin-top: 6px; }
.boton--peligro { background: var(--rojo); border-color: var(--rojo); color: #fff; }
.boton-texto { background: none; border: 0; padding: 0; margin-left: 6px; color: var(--oro-texto); text-decoration: underline; cursor: pointer; font: inherit; }
.etiqueta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font: 700 14px/1.2 var(--sans); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.etiqueta a { color: var(--c, inherit); text-decoration: none; }
.etiqueta--oro { color: var(--oro-texto); }
.pildora { display: inline-flex; align-items: center; gap: 4px; padding: 4px 9px; border-radius: 999px; font: 700 13px/1.1 var(--sans); letter-spacing: .02em; white-space: nowrap; vertical-align: middle; text-transform: none; }
.pildora--rango { color: var(--c); background: color-mix(in srgb, var(--c) 11%, #fff); border: 1px solid color-mix(in srgb, var(--c) 32%, transparent); }
.pildora--equipo { background: var(--tinta); color: var(--marfil); }
.pildora--equipo .icono { color: var(--oro); }
.pildora--privada, .pildora--invitado { background: var(--hundida); color: var(--muted); }
.miembro { font-weight: 600; text-decoration: none; }
.miembro:hover { text-decoration: underline; }
.miembro--oro { color: var(--oro-texto); }
.miembro--sin { color: var(--muted); font-style: italic; }
.avatar { --tam: 40px; width: var(--tam); height: var(--tam); flex: none; border-radius: 50%; display: inline-grid; place-items: center; background: hsl(var(--h) 34% 33%); color: #fff; font: 700 calc(var(--tam) * .38)/1 var(--sans); letter-spacing: .02em; box-shadow: 0 0 0 2px var(--marfil), 0 0 0 4px var(--anillo, transparent); user-select: none; }
.avatar--s { --tam: 32px; box-shadow: 0 0 0 2px var(--anillo, transparent); }
.avatar--m { --tam: 44px; }
.avatar--l { --tam: 64px; }
.avatar--xl { --tam: 116px; box-shadow: 0 0 0 4px var(--marfil), 0 0 0 7px var(--anillo, transparent); }
.avatar .simbolo { width: 58%; height: auto; }
.avatar:has(.simbolo) { background: var(--tinta); }
.avatar:has(.simbolo) .simbolo .b { fill: var(--marfil); }
.migas ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 6px; margin: 0 0 18px; padding: 0; font-size: 15px; color: var(--muted); }
.migas li + li::before { content: "›"; margin-right: 6px; color: var(--linea); }
.migas a { text-decoration: none; }
.migas a:hover { text-decoration: underline; }
.migas [aria-current] { max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.caja { background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; padding: 18px 20px; margin-bottom: 20px; }
.caja__titulo { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 0 0 12px; font: 700 15px/1.2 var(--sans); text-transform: uppercase; letter-spacing: .09em; }
.caja__cuenta { font: 400 14px var(--mono); text-transform: none; letter-spacing: 0; color: var(--muted); }
.caja__vacio { color: var(--muted); font-size: 17px; margin: 0; }
.caja__mas { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-weight: 600; font-size: 16px; }
.caja--tinta { background: var(--tinta); color: var(--marfil); border-color: var(--tinta); }
.caja--tinta .caja__titulo { color: var(--oro); }
.caja--tinta a { color: var(--marfil); }
.caja--ancha p { font-size: 18px; }
.caja--peligro { border-color: #E2B7AA; }
.caja--peligro .caja__titulo { color: var(--rojo); }
.nota { font-size: 15px; color: var(--muted); }
.vacio { padding: 48px 20px; text-align: center; background: var(--elevada); border: 1px dashed var(--linea); border-radius: 6px; color: var(--muted); font-size: 19px; }
.vacio p { margin: 6px 0; }
.icono--vacio { width: 52px; height: 52px; color: var(--linea); }

/* ---------- Portada del foro ---------- */
.pf { margin: -26px calc(50% - 50vw) 32px; padding: 54px max(20px, calc(50vw - 600px)) 46px; background: var(--tinta); color: var(--marfil); position: relative; overflow: hidden; }
.pf__dentro { position: relative; z-index: 1; max-width: 900px; }
.pf .etiqueta--oro { color: var(--oro); }
.pf__titulo { margin: 10px 0 16px; font-size: clamp(36px, 5.4vw, 60px); line-height: 1.04; letter-spacing: -.025em; font-weight: 700; }
.pf__titulo span { color: var(--oro); }
.pf__intro { max-width: 760px; margin: 0 0 22px; font-size: 21px; line-height: 1.5; color: rgba(245,241,232,.86); }
.pf__cifras { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0 0 26px; padding: 0; font-size: 17px; color: rgba(245,241,232,.8); }
.pf__cifras b { font: 400 25px/1 var(--mono); color: var(--marfil); margin-right: 4px; }
.pf__cifras a { color: var(--oro); }
.pf__acciones { display: flex; flex-wrap: wrap; gap: 12px; }
.pf .boton--claro { color: var(--marfil); border-color: rgba(245,241,232,.7); }
.pf .boton--claro:hover { background: rgba(245,241,232,.08); }
.pf-cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; }
@media (max-width: 1060px) { .pf-cuerpo { grid-template-columns: 1fr; } }
.grupo { margin-bottom: 34px; }
.grupo__cab { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 16px; padding-top: 10px; margin-bottom: 10px; border-top: 4px solid var(--tinta); }
.grupo__cab h2 { margin: 0; font: 700 16px/1.3 var(--sans); text-transform: uppercase; letter-spacing: .1em; }
.grupo__cab p { margin: 0; color: var(--muted); font-size: 16px; }
.grupo--privado .grupo__cab { border-top-color: var(--oro); }
.cats { list-style: none; margin: 0; padding: 0; background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; }
.cat { display: grid; grid-template-columns: 52px minmax(0, 1fr) 150px 250px; gap: 16px; align-items: center; padding: 16px 18px; border-top: 1px solid var(--linea); transition: background .15s; }
.cat:first-child { border-top: 0; }
.cat:hover { background: #fff; }
.cat__icono { width: 50px; height: 50px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: var(--c); }
.cat__icono .icono { width: 26px; height: 26px; }
.cat__icono--grande { width: 68px; height: 68px; border-radius: 14px; }
.cat__icono--grande .icono { width: 36px; height: 36px; }
.cat__texto h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; font-size: 20px; line-height: 1.25; }
.cat__texto h3 a { text-decoration: none; }
.cat__texto h3 a:hover { text-decoration: underline; color: var(--tinta); }
.cat__texto p { margin: 3px 0 0; font-size: 16px; line-height: 1.4; color: var(--muted); }
.cat__cifras, .hilo__cifras { display: flex; gap: 18px; margin: 0; justify-content: center; }
.cat__cifras div, .hilo__cifras div { text-align: center; }
.cat__cifras dt, .hilo__cifras dt { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.cat__cifras dd, .hilo__cifras dd { margin: 2px 0 0; font: 400 20px/1.1 var(--mono); }
.cat__ultimo { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: 15px; }
.cat__ultimo > div { min-width: 0; display: flex; flex-direction: column; }
.cat__ultimo-titulo { font-weight: 600; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cat__ultimo span, .cat__vacio { color: var(--muted); }
.cat--privada .cat__icono { box-shadow: inset 0 0 0 2px rgba(255,255,255,.25); }
@media (max-width: 1240px) { .cat { grid-template-columns: 52px minmax(0, 1fr) 150px; } .cat__ultimo { grid-column: 2 / -1; } }
@media (max-width: 640px) { .cat { grid-template-columns: 44px minmax(0, 1fr); gap: 6px 14px; padding: 14px; } .cat__icono { width: 44px; height: 44px; } .cat__cifras { grid-column: 2; justify-content: flex-start; } .cat__cifras div { display: flex; gap: 6px; align-items: baseline; } .cat__cifras dd { font-size: 17px; } }
.mini { list-style: none; margin: 0; padding: 0; }
.mini li { padding: 10px 0; border-top: 1px solid var(--linea); }
.mini li:first-child { border-top: 0; padding-top: 0; }
.mini__titulo { display: block; font-weight: 600; line-height: 1.3; text-decoration: none; }
.mini__titulo:hover { text-decoration: underline; }
.mini__meta { font-size: 15px; color: var(--muted); }
.podio { list-style: none; margin: 0; padding: 0; counter-reset: podio; }
.podio li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 0; }
.podio li div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.podio b { font: 400 18px var(--mono); }
.escalera { list-style: none; margin: 0; padding: 0; }
.escalera li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 5px 0; font-size: 16px; }
.escalera b { color: var(--c); }
.escalera li > span:last-child { font: 400 14px var(--mono); color: var(--muted); }
.escalera__n { width: 26px; height: 26px; border-radius: 50%; background: var(--c); color: #fff; display: grid; place-items: center; font: 400 14px var(--mono); }
.normas-cortas { margin: 0; padding-left: 1.1em; font-size: 17px; }
.normas-cortas li { margin-bottom: 6px; }

/* ---------- Apartados y listas de hilos ---------- */
.cab-cat { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; padding-bottom: 20px; margin-bottom: 18px; border-bottom: 2px solid var(--tinta); }
.cab-cat--simple { grid-template-columns: minmax(0, 1fr) auto; }
.cab-cat h1 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0; font-size: clamp(30px, 4vw, 42px); line-height: 1.1; letter-spacing: -.02em; }
.cab-cat p { margin: 6px 0 0; font-size: 19px; color: var(--muted); }
.cab-cat .cab-cat__permisos { font-size: 15px; }
@media (max-width: 760px) { .cab-cat, .cab-cat--simple { grid-template-columns: 1fr; } .cab-cat .cat__icono--grande { width: 54px; height: 54px; } }
.orden { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.orden a, .orden span { padding: 6px 13px; border: 1px solid var(--linea); border-radius: 999px; font-size: 15px; font-weight: 600; text-decoration: none; background: var(--elevada); }
.orden span[aria-current] { background: var(--tinta); border-color: var(--tinta); color: var(--marfil); }
.hilos { list-style: none; margin: 0; padding: 0; background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; }
.hilo { display: grid; grid-template-columns: 52px minmax(0, 1fr) 190px 200px; gap: 16px; align-items: center; padding: 14px 18px; border-top: 1px solid var(--linea); }
.hilo:first-child { border-top: 0; }
.hilo--articulo { grid-template-columns: 96px minmax(0, 1fr) 190px 200px; }
.hilo:hover { background: #fff; }
.hilo--fijado { background: color-mix(in srgb, var(--oro) 9%, var(--elevada)); }
.hilo__foto { width: 96px; height: 64px; object-fit: cover; border-radius: 4px; display: block; background: var(--hundida); }
.hilo__texto { min-width: 0; }
.hilo__texto h3 { margin: 0; font-size: 20px; line-height: 1.3; }
.hilo__texto h3 a { text-decoration: none; }
.hilo__texto h3 a:hover { text-decoration: underline; color: var(--tinta); }
.hilo__estado { display: inline-flex; gap: 4px; margin-right: 6px; color: var(--oro-texto); vertical-align: -3px; }
.hilo__estado .icono { width: 18px; height: 18px; }
.hilo__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 5px 0 0; font-size: 15px; color: var(--muted); }
.hilo__pregunta { font-style: italic; }
.hilo__cat { color: var(--c); font-weight: 600; text-decoration: none; }
.hilo__ultimo { display: flex; align-items: center; gap: 10px; font-size: 15px; min-width: 0; }
.hilo__ultimo > div { display: flex; flex-direction: column; min-width: 0; }
.hilo__ultimo a:not(.miembro) { color: var(--muted); text-decoration: none; }
.hilo__vacio { color: var(--muted); font-size: 15px; }
@media (max-width: 1060px) {
  .hilo, .hilo--articulo { grid-template-columns: 52px minmax(0, 1fr); gap: 8px 14px; }
  .hilo--articulo { grid-template-columns: 84px minmax(0, 1fr); }
  .hilo__foto { width: 84px; height: 56px; }
  .hilo__cifras, .hilo__ultimo { grid-column: 2; justify-content: flex-start; }
  .hilo__cifras div { display: flex; gap: 6px; align-items: baseline; }
  .hilo__cifras dd { font-size: 16px; }
}
@media (max-width: 560px) { .hilo__ultimo { display: none; } .hilo__avatar { display: none; } .hilo:not(.hilo--articulo) { grid-template-columns: 1fr; } .hilo:not(.hilo--articulo) .hilo__cifras { grid-column: 1; } }
.debates-cats { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; margin: 0 0 22px; padding: 0; }
.debates-cats a { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 0 10px; align-items: center; padding: 12px 14px; background: var(--elevada); border: 1px solid var(--linea); border-left: 5px solid var(--c); border-radius: 6px; text-decoration: none; }
.debates-cats .icono { grid-row: span 2; width: 30px; height: 30px; color: var(--c); }
.debates-cats b { font-size: 18px; }
.debates-cats span { font-size: 14px; color: var(--muted); }
.paginas ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 26px 0; padding: 0; }
.paginas a, .paginas span { display: inline-block; min-width: 42px; padding: 8px 12px; border: 1px solid var(--linea); border-radius: 4px; background: var(--elevada); text-align: center; text-decoration: none; font-weight: 600; font-size: 16px; }
.paginas span[aria-current] { background: var(--tinta); border-color: var(--tinta); color: var(--marfil); }
.paginas__hueco { padding: 8px 4px; color: var(--muted); }

/* ---------- Un hilo ---------- */
.cab-hilo { padding-bottom: 18px; margin-bottom: 22px; border-bottom: 2px solid var(--tinta); }
.cab-hilo h1 { max-width: 980px; margin: 8px 0 10px; font-size: clamp(30px, 4.2vw, 46px); line-height: 1.08; letter-spacing: -.022em; overflow-wrap: anywhere; }
.cab-hilo__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 0 0 14px; font-size: 16px; color: var(--muted); }
.cab-hilo__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cab-hilo__acciones [data-seguir][aria-pressed="true"] { background: var(--tinta); color: var(--marfil); }
.herramientas-equipo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 4px; background: var(--hundida); font-size: 15px; }
.herramientas-equipo button, .herramientas-equipo select { padding: 5px 10px; border: 1px solid var(--linea); border-radius: 4px; background: #fff; font: 600 15px var(--sans); cursor: pointer; color: var(--tinta); }
.tarjeta-art { display: grid; grid-template-columns: 330px minmax(0, 1fr); margin-bottom: 24px; background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; overflow: hidden; }
.tarjeta-art__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tarjeta-art__texto { padding: 20px 24px; }
.tarjeta-art h2 { margin: 6px 0 8px; font-size: 26px; line-height: 1.2; letter-spacing: -.01em; }
.tarjeta-art h2 a { text-decoration: none; }
.tarjeta-art p { margin: 0 0 12px; font-size: 18px; color: var(--muted); }
.tarjeta-art .tarjeta-art__pregunta { padding: 10px 14px; border-left: 4px solid var(--oro); background: var(--marfil); color: var(--tinta); font-weight: 600; font-size: 19px; }
.tarjeta-art__pregunta span { display: block; margin-bottom: 4px; font: 700 13px var(--sans); text-transform: uppercase; letter-spacing: .08em; color: var(--oro-texto); }
@media (max-width: 780px) { .tarjeta-art { grid-template-columns: 1fr; } .tarjeta-art__foto img { aspect-ratio: 16 / 9; height: auto; } }
.encuesta { margin-bottom: 24px; padding: 18px 22px; background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; }
.encuesta h2 { margin: 6px 0 12px; font-size: 24px; line-height: 1.25; }
.encuesta__opciones { list-style: none; display: grid; gap: 8px; margin: 0; padding: 0; }
.encuesta__opciones button { position: relative; width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 14px; overflow: hidden; border: 1px solid var(--linea); border-radius: 4px; background: var(--marfil); color: var(--tinta); font: 600 18px var(--sans); text-align: left; cursor: pointer; }
.encuesta__opciones button:hover { border-color: var(--tinta); }
.encuesta__barra { position: absolute; inset: 0 auto 0 0; background: color-mix(in srgb, var(--oro) 30%, transparent); transition: width .6s var(--ease); }
.encuesta__texto, .encuesta__opciones b { position: relative; }
.encuesta__opciones b { font: 400 17px var(--mono); }
.encuesta--votada button { cursor: default; }
.encuesta--votada button:hover { border-color: var(--linea); }
.encuesta__mia { outline: 2px solid var(--oro); }
.encuesta__pie { margin: 10px 0 0; font-size: 15px; color: var(--muted); }
.mensajes { list-style: none; display: grid; gap: 16px; margin: 0; padding: 0; }
.msj { display: grid; grid-template-columns: 210px minmax(0, 1fr); background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; scroll-margin-top: 80px; }
.msj__autor { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 14px; text-align: center; background: color-mix(in srgb, var(--hundida) 55%, var(--elevada)); border-right: 1px solid var(--linea); border-radius: 6px 0 0 6px; }
.msj__quien { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; max-width: 100%; }
.msj__nombre { font-size: 18px; font-weight: 700; overflow-wrap: anywhere; }
.msj__pildoras { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.msj__insignias { list-style: none; display: flex; gap: 6px; margin: 2px 0 0; padding: 0; color: var(--oro-texto); }
.icono--insignia { width: 20px; height: 20px; }
.msj__datos { margin: 0; font-size: 14px; color: var(--muted); }
.msj__cuerpo { display: flex; flex-direction: column; min-width: 0; padding: 16px 22px 10px; }
.msj__cab { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-bottom: 8px; font-size: 15px; color: var(--muted); }
.msj__n { font: 400 15px var(--mono); color: var(--muted); text-decoration: none; }
.msj__responde { display: inline-flex; align-items: center; gap: 5px; }
.msj__texto { flex: 1; font-size: 20px; line-height: 1.6; overflow-wrap: anywhere; }
.msj__texto p { margin: 0 0 .8em; }
.msj__texto > :last-child { margin-bottom: 0; }
.msj__texto blockquote { margin: 0 0 .9em; padding: 10px 16px; border-left: 4px solid var(--oro); background: var(--marfil); font-size: 18px; color: #2B2A27; }
.msj__texto blockquote p { margin: 0 0 .4em; }
.msj__texto ul, .msj__texto ol { margin: 0 0 .8em; padding-left: 1.3em; }
.msj__texto a { color: var(--oro-texto); }
.mencion { padding: 0 4px; border-radius: 3px; background: color-mix(in srgb, var(--oro) 20%, transparent); color: var(--tinta) !important; font-weight: 600; text-decoration: none; }
.enlace-texto { color: var(--muted); word-break: break-all; }
.msj__firma { margin: 14px 0 0; padding-top: 8px; border-top: 1px dashed var(--linea); font-size: 15px; font-style: italic; color: var(--muted); }
.msj__editado { font-style: italic; }
.msj__acciones { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 2px; margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--linea); }
.accion { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border: 0; border-radius: 4px; background: none; color: var(--muted); font: 600 15px var(--sans); cursor: pointer; }
.accion:hover { background: var(--hundida); color: var(--tinta); }
.accion .icono { width: 20px; height: 20px; }
.accion--util b { font: 400 15px var(--mono); }
.accion--util[aria-pressed="true"] { background: color-mix(in srgb, var(--oro) 18%, transparent); color: var(--oro-texto); }
.accion--mas { position: static; margin-left: auto; padding: 0; }
.accion--mas summary { list-style: none; padding: 8px 10px; border-radius: 4px; cursor: pointer; display: grid; }
.accion--mas summary::-webkit-details-marker { display: none; }
.accion--mas summary:hover { background: var(--hundida); }
.menu-msj { position: absolute; right: 0; bottom: calc(100% + 4px); z-index: 15; display: grid; min-width: 280px; padding: 6px; background: #fff; border: 1px solid var(--linea); border-radius: 8px; box-shadow: 0 14px 36px rgba(17,20,24,.16); }
.menu-msj button { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 0; border-radius: 6px; background: none; color: var(--tinta); font: 500 16px var(--sans); text-align: left; cursor: pointer; }
.menu-msj button:hover { background: var(--hundida); }
.msj--oficial { border-color: var(--tinta); }
.msj--oficial .msj__autor { background: var(--tinta); color: var(--marfil); }
.msj--oficial .msj__nombre, .msj--oficial .msj__datos { color: var(--marfil); }
.msj--mejor { border: 2px solid var(--verde); }
.msj--destacado { box-shadow: inset 4px 0 0 var(--oro); }
.msj--foco { box-shadow: 0 0 0 3px var(--oro); }
.msj--recien { animation: aparece .7s var(--ease); }
@keyframes aparece { from { opacity: 0; transform: translateY(10px); } }
.marca { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; font: 700 13px var(--sans); }
.marca--mejor { background: var(--verde); color: #fff; }
.marca--destacado { background: var(--oro); color: var(--tinta); }
.marca--recien { background: var(--tinta); color: var(--marfil); }
.msj--hueco { display: block; padding: 12px 18px; color: var(--muted); font-size: 16px; font-style: italic; }
.msj--hueco p { margin: 0; }
.msj--ignorado { display: block; }
.msj--ignorado > :not(.msj__ver-ignorado) { display: none; }
.msj__ver-ignorado { width: 100%; padding: 12px 18px; border: 0; background: none; color: var(--muted); font: italic 16px var(--sans); text-align: left; cursor: pointer; }
.msj--privado { grid-template-columns: 180px minmax(0, 1fr); }
.msj--mio { border-color: color-mix(in srgb, var(--oro) 55%, var(--linea)); }
.error-accion { margin: 8px 0 0; padding: 8px 12px; border-radius: 4px; background: #F6E3DE; color: #7A2A18; font-size: 15px; width: 100%; }
.denuncia { margin-top: 12px; padding: 14px 16px; border: 1px solid var(--linea); border-radius: 6px; background: var(--marfil); display: grid; gap: 6px; font-size: 16px; }
.denuncia__titulo { margin: 0 0 4px; font-weight: 700; }
.denuncia label { display: flex; gap: 8px; align-items: baseline; }
.denuncia__detalle { flex-direction: column; align-items: stretch !important; }
.denuncia textarea { width: 100%; padding: 8px 10px; border: 1px solid #B9B09E; border-radius: 4px; font: 400 16px var(--sans); }
.denuncia__botones { display: flex; gap: 8px; margin-top: 4px; }
.denuncia__nota { margin: 4px 0 0; font-size: 14px; color: var(--muted); }
.denuncia__hecha { margin: 10px 0 0; font-size: 16px; color: var(--verde); }
@media (max-width: 760px) {
  .msj, .msj--privado { grid-template-columns: 1fr; }
  .msj__autor { flex-direction: row; align-items: center; gap: 12px; padding: 12px 14px; text-align: left; border-right: 0; border-bottom: 1px solid var(--linea); border-radius: 6px 6px 0 0; }
  .msj__quien { align-items: flex-start; }
  .msj__pildoras { justify-content: flex-start; }
  .msj__autor .avatar--l, .msj__autor .avatar--m { --tam: 46px; }
  .msj__datos, .msj__insignias { display: none; }
  .msj__cuerpo { padding: 14px 16px 8px; }
  .msj__texto { font-size: 19px; }
  .accion span { display: none; }
}

/* ---------- Escribir ---------- */
.responder { margin-top: 28px; }
.editor { padding: 18px 20px; background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; }
.editor--editar { margin: 4px 0 0; padding: 0; border: 0; background: none; }
.editor__titulo { margin: 0 0 10px; font-size: 21px; }
.editor__barra { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 6px; }
.editor__barra button { min-width: 40px; height: 38px; padding: 0 10px; border: 1px solid var(--linea); border-radius: 4px; background: var(--marfil); color: var(--tinta); font: 600 16px var(--sans); cursor: pointer; display: inline-grid; place-items: center; }
.editor__barra button:hover { border-color: var(--tinta); }
.editor textarea, .campo input, .campo textarea, .campo select, .buscar-grande input, .buscar-miembro input, .encuesta-form input { width: 100%; padding: 12px 14px; border: 1px solid #B9B09E; border-radius: 4px; background: #fff; color: var(--tinta); font: 400 19px/1.5 var(--sans); }
.editor textarea { min-height: 150px; resize: vertical; }
textarea:focus, input:focus, select:focus { outline: 3px solid color-mix(in srgb, var(--oro) 55%, transparent); outline-offset: 1px; border-color: var(--tinta); }
.editor__pie { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 10px; }
.editor--editar .editor__pie { justify-content: flex-end; }
.editor__ayuda { margin: 0; font: 400 14px var(--mono); color: var(--muted); }
.editor__responde { margin: 0 0 10px; padding: 8px 12px; border-left: 4px solid var(--oro); background: var(--marfil); font-size: 16px; }
.invita { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 24px; background: var(--tinta); color: var(--marfil); border-radius: 6px; }
.invita p { margin: 0; max-width: 640px; font-size: 19px; }
.invita div { display: flex; flex-wrap: wrap; gap: 10px; }
.invita .boton--claro { color: var(--marfil); border-color: rgba(245,241,232,.7); }
.responder__cerrado { display: flex; align-items: center; gap: 10px; padding: 16px 20px; border-radius: 6px; background: var(--hundida); }
.aviso-form { margin: 10px 0 0; padding: 10px 12px; border-radius: 4px; background: #F6E3DE; color: #7A2A18; font-size: 16px; }
.aviso-form--ok { background: #E1EFE4; color: #1E5A2A; }

/* ---------- Formularios de cuenta ---------- */
.fondo-form .fmain { max-width: 640px; }
.tarjeta-form { width: 100%; max-width: 540px; margin: 16px auto; padding: 28px 30px; background: var(--elevada); border: 1px solid var(--linea); border-radius: 8px; box-shadow: 0 24px 60px rgba(17,20,24,.06); }
.tarjeta-form--ancha { max-width: 880px; }
.tarjeta-form h1 { margin: 0 0 6px; font-size: 34px; letter-spacing: -.02em; }
.tarjeta-form__intro { margin: 0 0 22px; font-size: 18px; color: var(--muted); }
.tarjeta-form__pie { margin: 18px 0 0; font-size: 16px; text-align: center; }
.campo { margin-bottom: 16px; }
.campo label { display: block; margin-bottom: 6px; font-weight: 700; font-size: 17px; }
.campo__ayuda { margin: 6px 0 0; font-size: 15px; color: var(--muted); }
.campo--trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.casilla { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 18px; font-size: 16px; }
.casilla input { width: 20px; height: 20px; margin-top: 3px; flex: none; accent-color: var(--tinta); }
.codigo { text-align: center; }
.codigo h2 { margin: 0 0 8px; font-size: 26px; }
.codigo__valor { margin: 18px 0; padding: 16px; border: 2px dashed var(--oro); border-radius: 6px; background: var(--marfil); font: 400 28px var(--mono); letter-spacing: .06em; user-select: all; overflow-wrap: anywhere; }
.codigo .boton { margin: 4px; }
.encuesta-form { margin-bottom: 16px; padding: 12px 16px; border: 1px solid var(--linea); border-radius: 6px; }
.encuesta-form summary { font-weight: 700; cursor: pointer; }
.encuesta-form__opciones { display: grid; gap: 8px; margin: 10px 0; }
.buscar-grande, .buscar-miembro { display: flex; gap: 8px; margin-top: 14px; grid-column: 1 / -1; }
.buscar-miembro { margin: 0; max-width: 420px; }
.buscar-miembro input { padding: 9px 12px; font-size: 17px; }

/* ---------- Perfiles, miembros y rangos ---------- */
.perfil { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 26px; align-items: center; margin-bottom: 22px; }
.perfil h1 { margin: 0; font-size: clamp(30px, 4vw, 46px); letter-spacing: -.02em; overflow-wrap: anywhere; }
.perfil__pildoras { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.perfil__meta { margin: 0; font-size: 16px; color: var(--muted); }
.perfil__bio { max-width: 760px; margin: 10px 0 0; font-size: 19px; }
.perfil__acciones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.progreso { margin-bottom: 16px; padding: 14px 18px; background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; }
.progreso__cab { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; margin-bottom: 8px; font-size: 16px; }
.progreso__barra { height: 10px; overflow: hidden; border-radius: 5px; background: var(--hundida); }
.progreso__barra span { display: block; height: 100%; border-radius: 5px; background: var(--c); }
.perfil__cifras { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 0 0 22px; }
.perfil__cifras div { padding: 12px; text-align: center; background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; }
.perfil__cifras dt { font-size: 14px; color: var(--muted); }
.perfil__cifras dd { margin: 4px 0 0; font: 400 26px var(--mono); }
.perfil__columnas { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 20px; align-items: start; }
@media (max-width: 700px) { .perfil { grid-template-columns: 1fr; gap: 14px; } .avatar--xl { --tam: 86px; } .perfil__cifras { grid-template-columns: repeat(2, 1fr); } }
.insignias { list-style: none; display: grid; gap: 10px; margin: 0; padding: 0; }
.insignias li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; align-items: center; }
.insignias li.no { opacity: .5; }
.insignias .icono--insignia { width: 36px; height: 36px; padding: 7px; border-radius: 50%; background: var(--hundida); color: var(--muted); }
.insignias li.si .icono--insignia { background: color-mix(in srgb, var(--oro) 24%, transparent); color: var(--oro-texto); }
.insignias b { display: block; font-size: 17px; }
.insignias span { font-size: 15px; color: var(--muted); }
.insignias--catalogo { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.actividad { list-style: none; margin: 0; padding: 0; }
.actividad li { padding: 10px 0; border-top: 1px solid var(--linea); }
.actividad li:first-child { border-top: 0; padding-top: 0; }
.actividad__titulo { font-weight: 700; text-decoration: none; }
.actividad p { margin: 4px 0; font-size: 16px; color: #3A3833; }
.actividad span { font-size: 14px; color: var(--muted); }
.tabla-miembros { width: 100%; border-collapse: collapse; background: var(--elevada); border: 1px solid var(--linea); font-size: 17px; }
.tabla-miembros th { padding: 10px 14px; border-bottom: 2px solid var(--tinta); font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); text-align: left; }
.tabla-miembros td { padding: 10px 14px; border-top: 1px solid var(--linea); }
.tabla-miembros .n { text-align: right; font-family: var(--mono); }
.tabla-miembros__quien { display: flex; align-items: center; gap: 10px; }
@media (max-width: 700px) { .tabla-miembros th:nth-child(n+4), .tabla-miembros td:nth-child(n+4) { display: none; } }
.equipo { margin-bottom: 18px; }
.tarjetas-miembro { list-style: none; display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; }
.tarjetas-miembro li { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; }
.tarjetas-miembro div { display: flex; flex-direction: column; gap: 4px; }
.rangos { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin-bottom: 24px; }
.rango-tarjeta { padding: 16px 18px; background: var(--elevada); border: 1px solid var(--linea); border-top: 5px solid var(--c); border-radius: 6px; }
.rango-tarjeta header { display: flex; align-items: center; gap: 12px; }
.rango-tarjeta__n { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--c); color: #fff; font: 400 18px var(--mono); }
.rango-tarjeta h2 { margin: 0; font-size: 22px; color: var(--c); }
.rango-tarjeta p { margin: 2px 0 0; font-size: 15px; color: var(--muted); }
.rango-tarjeta ul { margin: 12px 0 0; padding-left: 1.2em; font-size: 16px; }
.tabla-puntos { width: 100%; border-collapse: collapse; font-size: 17px; }
.tabla-puntos th { width: 52%; padding: 10px 14px 10px 0; border-top: 1px solid var(--linea); font-weight: 600; text-align: left; vertical-align: top; }
.tabla-puntos td { padding: 10px 0; border-top: 1px solid var(--linea); }
.zonas { list-style: none; display: grid; gap: 12px; margin: 0; padding: 0; }
.zonas li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; }
.zonas .icono { width: 44px; height: 44px; padding: 9px; border-radius: 10px; background: var(--c); color: #fff; }
.zonas b { display: block; }
.zonas span { font-size: 16px; color: var(--muted); }

/* ---------- Búsqueda, avisos, privados y ajustes ---------- */
.resultados__cuenta { color: var(--muted); font-size: 16px; }
.resultados { list-style: none; margin: 0; padding: 0; }
.resultados li { padding: 16px 0; border-top: 1px solid var(--linea); }
.resultados__titulo { font-size: 21px; font-weight: 700; text-decoration: none; }
.resultados p { margin: 6px 0; font-size: 17px; }
.resultados mark { padding: 0 2px; background: color-mix(in srgb, var(--oro) 42%, transparent); color: inherit; }
.resultados span { font-size: 15px; color: var(--muted); }
.avisos { list-style: none; margin: 0; padding: 0; background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; }
.aviso { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 14px; padding: 14px 18px; border-top: 1px solid var(--linea); }
.aviso:first-child { border-top: 0; }
.aviso > .icono { width: 26px; height: 26px; margin-top: 2px; color: var(--muted); }
.aviso--nuevo { background: color-mix(in srgb, var(--oro) 11%, var(--elevada)); }
.aviso--nuevo > .icono { color: var(--oro-texto); }
.aviso p { margin: 0; }
.aviso__extracto { margin-top: 4px !important; font-size: 16px; color: var(--muted); }
.aviso time { font-size: 14px; color: var(--muted); }
.bandeja { list-style: none; margin: 0; padding: 0; background: var(--elevada); border: 1px solid var(--linea); border-radius: 6px; }
.bandeja li { border-top: 1px solid var(--linea); }
.bandeja li:first-child { border-top: 0; }
.bandeja a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 18px; text-decoration: none; }
.bandeja a:hover { background: #fff; color: var(--tinta); }
.bandeja b { display: block; font-size: 19px; }
.bandeja__con, .bandeja__ultimo { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; color: var(--muted); }
.bandeja__t { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-size: 14px; color: var(--muted); }
.bandeja .contador { position: static; box-shadow: none; }
.bandeja--nueva b::after { content: ""; display: inline-block; width: 9px; height: 9px; margin-left: 8px; border-radius: 50%; background: #C2412F; vertical-align: middle; }
.ajustes { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 20px; align-items: start; }
.ajustes .caja { margin: 0; }
.ignorados { list-style: none; margin: 0; padding: 0; }
.ignorados li { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.ignorados button { margin-left: auto; }

/* ---------- Normas y errores ---------- */
.texto-largo { max-width: 780px; margin: 0 auto; font-size: 20px; }
.texto-largo h1 { margin: 0 0 12px; font-size: clamp(32px, 4vw, 44px); letter-spacing: -.02em; }
.texto-largo h2 { margin: 32px 0 10px; font-size: 26px; }
.texto-largo .entradilla { font-size: 23px; color: #2B2A27; }
.texto-largo li { margin-bottom: 8px; }
.error { max-width: 660px; margin: 0 auto; padding: 56px 20px; text-align: center; }
.error__codigo { margin: 0; font: 400 64px var(--mono); color: var(--oro-texto); }
.icono--error { width: 72px; height: 72px; }
.error h1 { margin: 10px 0; font-size: 34px; }
.error p { font-size: 19px; }
.error__botones { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* ---------- Pie ---------- */
.fpie { margin-top: 40px; background: var(--tinta); color: var(--marfil); }
.fpie__dentro { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 28px; max-width: var(--ancho); margin: 0 auto; padding: 38px 20px 22px; }
.fpie h2 { margin: 0 0 10px; font: 700 14px var(--sans); text-transform: uppercase; letter-spacing: .1em; color: var(--oro); }
.fpie ul { list-style: none; margin: 0; padding: 0; }
.fpie li { margin: 7px 0; }
.fpie a { color: var(--marfil); text-decoration: none; font-size: 17px; }
.fpie a:hover { color: var(--oro); }
.fpie p { font-size: 16px; color: rgba(245,241,232,.76); }
.fpie p a { text-decoration: underline; }
.fpie__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; max-width: var(--ancho); margin: 0 auto; padding: 14px 20px 26px; border-top: 1px solid rgba(245,241,232,.15); font-size: 14px; color: rgba(245,241,232,.62); }
@media (max-width: 860px) { .fpie__dentro { grid-template-columns: 1fr 1fr; } .fpie__marca { grid-column: 1 / -1; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
