/*
Theme Name: Mercado Muro
Theme URI: https://mercadomuro.com
Author: Mercado Muro
Description: Tema neón oscuro para Mercado Muro — blog de videojuegos. Portada con las últimas entradas automáticas y cabecera consistente en todo el sitio. Compatible con Gutenberg.
Version: 2.9.4
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mercado-muro
Tags: blog, one-column, custom-logo, custom-menu, featured-images, translation-ready, dark-mode
*/

/* ===================== TOKENS ===================== */
:root{
  --bg:#0b0c12; --bg2:#12111c; --surface:rgba(28,24,42,.72); --surface2:rgba(40,34,58,.7);
  --line:rgba(180,140,255,.14); --line2:rgba(180,140,255,.28);
  --text:#f3f0fb; --muted:#b3aac9; --faint:#7d7597;
  --gold:#a463f0; --acc2:#7a3ad1; --mint:#6be6d6; --panel:rgba(11,9,16,.55);
  --maxw:1160px;
}
[data-theme="light"]{
  --bg:#efe9f6; --bg2:#e6def2; --surface:#ffffff; --surface2:#f4eefb;
  --line:rgba(120,60,200,.14); --line2:rgba(120,60,200,.26);
  --text:#1a1526; --muted:#5b5273; --faint:#8b82a3;
  --gold:#8f3adf; --acc2:#6a1fc0; --mint:#12a893; --panel:rgba(255,255,255,.62);
}

/* ===================== BASE ===================== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body.mm{
  margin:0;padding:0;background:var(--bg);color:var(--text);
  font-family:'Manrope',system-ui,-apple-system,Segoe UI,sans-serif;
  min-height:100vh;position:relative;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;}
a{color:var(--gold);text-decoration:none;}
a:hover{color:var(--mint);}
::selection{background:var(--gold);color:#fff;}
.mm-mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
.mm-display{font-family:'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-.02em;}
.mm-scroll::-webkit-scrollbar{height:8px;width:8px;}
.mm-scroll::-webkit-scrollbar-thumb{background:var(--line2);border-radius:99px;}
@keyframes mmRise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.mm-rise{animation:mmRise .5s ease both;}

/* ===================== FONDO ===================== */
.mm-bg{position:fixed;inset:0;z-index:0;background:#08070d;pointer-events:none;}
.mm-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.18) brightness(1.15);}
.mm-bg .mm-veil{position:absolute;inset:0;
  background:linear-gradient(180deg, color-mix(in srgb,var(--bg) 18%, transparent), color-mix(in srgb,var(--bg) 45%, transparent)),
             radial-gradient(1100px 520px at 50% -6%, rgba(163,76,245,.30), transparent 70%);}
[data-theme="light"] .mm-bg img{opacity:.28;}

/* ===================== PANEL FLOTANTE ===================== */
.mm-panel{position:relative;z-index:1;max-width:var(--maxw);margin:26px auto;border-radius:22px;
  background:var(--panel);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid var(--line);box-shadow:0 20px 70px rgba(0,0,0,.5);}

/* ===================== HEADER ===================== */
.mm-header{position:sticky;top:26px;z-index:50;background:var(--panel);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);border-radius:22px 22px 0 0;}
.mm-header-in{max-width:1220px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:20px;}
.mm-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);flex-shrink:0;}
.mm-brand:hover{color:var(--text);}
.mm-brand img,.mm-brand .custom-logo{height:60px;width:auto;display:block;flex-shrink:0;}
.mm-brand .custom-logo-link{display:block;line-height:0;}
.mm-tag{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.22em;color:var(--faint);text-transform:uppercase;}
@media(max-width:640px){.mm-tag{display:none;}}

.mm-nav{display:flex;align-items:center;gap:4px;margin-left:8px;overflow-x:auto;flex:1;
  padding-bottom:6px;scrollbar-width:thin;scrollbar-color:var(--line2) transparent;}
.mm-nav::-webkit-scrollbar{height:6px;}
.mm-nav::-webkit-scrollbar-track{background:transparent;}
.mm-nav::-webkit-scrollbar-thumb{background:var(--line2);border-radius:99px;}
.mm-nav::-webkit-scrollbar-thumb:hover{background:var(--gold);}
.mm-nav::-webkit-scrollbar-button{display:none;width:0;height:0;}
.mm-nav ul{list-style:none;display:flex;align-items:center;gap:4px;margin:0;padding:0;}
.mm-nav a{padding:8px 12px;border-radius:8px;font-size:13.5px;font-weight:600;white-space:nowrap;
  color:var(--muted);transition:color .15s ease,background .15s ease;}
.mm-nav a:hover{color:var(--text);background:var(--surface2);}
.mm-nav .current-menu-item>a,.mm-nav a.mm-active{color:var(--text);background:var(--surface2);}
.mm-nav .sub-menu{display:none;}

.mm-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto;}
.mm-ico{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--muted);
  border:1px solid var(--line);background:transparent;cursor:pointer;transition:color .15s,border-color .15s;}
.mm-ico:hover{color:var(--text);border-color:var(--line2);}
.mm-ico.yt:hover{color:#ff4b4b;}
.mm-ico svg{display:block;}

/* ===================== MAIN ===================== */
.mm-main{position:relative;z-index:1;max-width:1220px;margin:0 auto;padding:0 22px 90px;}
.mm-kicker{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.mm-h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(30px,4.4vw,52px);
  line-height:1.02;margin:0;letter-spacing:-.02em;}
.mm-lead{margin:14px 0 0;color:var(--muted);font-size:15px;max-width:52ch;line-height:1.55;}

.mm-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  flex-wrap:wrap;margin-bottom:26px;}
.mm-section-head .mm-more{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);white-space:nowrap;}

/* Explora por tipo */
.mm-types{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 26px;}
.mm-types .lbl{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--faint);margin-right:2px;}
.mm-type-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;
  background:var(--surface2);border:1px solid var(--line);color:var(--muted);
  font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;}
.mm-type-pill:hover{color:var(--text);border-color:var(--line2);}
.mm-type-pill .dot{width:8px;height:8px;border-radius:50%;}

/* ===================== HÉROE ===================== */
.mm-hero{position:relative;display:block;border-radius:20px;overflow:hidden;color:#fff;
  min-height:420px;border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.32);}
.mm-hero:hover{color:#fff;}
.mm-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mm-hero .veil{position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(6,7,12,.92) 0%, rgba(6,7,12,.72) 42%, rgba(6,7,12,.15) 100%);}
.mm-hero .body{position:relative;padding:clamp(26px,4vw,46px);max-width:640px;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;min-height:420px;}
.mm-hero h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(26px,3.4vw,42px);
  line-height:1.05;margin:0 0 14px;letter-spacing:-.02em;}
.mm-hero p{margin:0 0 20px;font-size:16px;line-height:1.55;color:rgba(255,255,255,.82);max-width:52ch;}
.mm-hero .meta{display:flex;align-items:center;gap:14px;font-size:13px;color:rgba(255,255,255,.72);}
.mm-hero .meta .au{font-weight:700;color:#fff;}
.mm-hero .meta .sep{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4);}
.mm-hero .meta .read{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:12px;
  letter-spacing:.1em;color:var(--gold);}
.mm-hero .toprow{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.mm-hero .toprow .new{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.62);}

/* ===================== CHIP DE TIPO ===================== */
.mm-chip{display:inline-block;padding:4px 10px;border-radius:999px;font-family:'JetBrains Mono',monospace;
  font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
  color:var(--chip,#a463f0);background:rgba(9,7,15,.82);backdrop-filter:blur(3px);
  border:1px solid var(--chip-bd,rgba(164,99,240,.55));}

/* ===================== REJILLA DE TARJETAS ===================== */
.mm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;}
.mm-grid.tight{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));}
.mm-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);
  border-radius:16px;overflow:hidden;color:var(--text);transition:transform .18s ease,border-color .18s ease;}
.mm-card:hover{transform:translateY(-4px);border-color:var(--line2);color:var(--text);}
.mm-card .thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg2);}
.mm-card .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mm-card .thumb .grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,7,12,.55));}
.mm-card .thumb .mm-chip{position:absolute;top:12px;left:12px;}
.mm-chips{position:absolute;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:6px;z-index:2;}
.mm-card .thumb .mm-chips .mm-chip{position:static;top:auto;left:auto;}
.mm-card .body{padding:17px 17px 19px;display:flex;flex-direction:column;gap:10px;flex:1;}
.mm-card h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:18px;line-height:1.18;
  margin:0;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.mm-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin:0;color:var(--muted);font-size:13.5px;line-height:1.55;}
.mm-card .meta{margin-top:auto;display:flex;align-items:center;gap:9px;font-size:12px;color:var(--faint);}
.mm-card .meta .au{font-weight:700;color:var(--muted);}
.mm-card .meta .sep{width:3px;height:3px;border-radius:50%;background:currentColor;}

/* ===================== "Puede que te hayas perdido" ===================== */
.mm-missed{padding:44px 0 0;border-top:1px solid var(--line);margin-top:44px;}
.mm-missed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;}
.mm-mini{display:flex;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:10px;color:var(--text);transition:border-color .18s ease;}
.mm-mini:hover{border-color:var(--line2);color:var(--text);}
.mm-mini .thumb{position:relative;flex:0 0 96px;height:72px;border-radius:9px;overflow:hidden;background:var(--bg2);}
.mm-mini .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mm-mini .body{display:flex;flex-direction:column;gap:6px;min-width:0;}
.mm-mini .k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;}
.mm-mini h4{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:14px;line-height:1.22;
  margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.mm-mini .d{font-size:11.5px;color:var(--faint);margin-top:auto;}

/* ===================== PAGINACIÓN ===================== */
.mm-pager{margin-top:36px;display:flex;justify-content:center;}
.mm-pager .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.mm-pager a,.mm-pager span{min-width:40px;height:40px;padding:0 12px;border-radius:10px;display:inline-flex;
  align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:13px;
  background:var(--surface);border:1px solid var(--line);color:var(--muted);}
.mm-pager a:hover{border-color:var(--line2);color:var(--text);}
.mm-pager .current{background:var(--gold);color:#fff;border-color:transparent;}

/* ===================== ARCHIVO (controles) ===================== */
.mm-arch-controls{margin-top:26px;background:var(--surface);border:1px solid var(--line);
  border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:16px;}
.mm-arch-controls .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.mm-arch-controls .row.genrow{border-top:1px solid var(--line);padding-top:16px;align-items:flex-start;}
.mm-arch-controls .divider{width:1px;height:24px;background:var(--line);}
.mm-arch-controls .lbl{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--faint);align-self:center;}
.mm-arch-search{position:relative;flex:1;min-width:220px;}
.mm-arch-search .ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--faint);font-size:14px;}
.mm-arch-search input{width:100%;height:44px;padding:0 14px 0 34px;border-radius:11px;background:var(--bg2);
  border:1px solid var(--line);color:var(--text);font-family:'Manrope',sans-serif;font-size:14px;outline:none;}
.mm-arch-search.sm input{height:38px;padding-left:30px;}
.mm-arch-search input:focus{border-color:var(--line2);}
.mm-arch-select{height:44px;padding:0 14px;border-radius:11px;background:var(--bg2);border:1px solid var(--line);
  color:var(--text);font-family:'Manrope',sans-serif;font-size:14px;cursor:pointer;}
.mm-seg{display:inline-flex;background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px;}
.mm-seg button{height:32px;padding:0 13px;border-radius:7px;border:none;cursor:pointer;background:transparent;
  color:var(--faint);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:500;}
.mm-seg button.active{background:var(--surface);color:var(--text);font-weight:600;}
.mm-arch-chips{display:flex;gap:8px;flex-wrap:wrap;}
.mm-arch-chip{height:34px;padding:0 14px;border-radius:999px;cursor:pointer;font-family:'JetBrains Mono',monospace;
  font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:6px;
  background:var(--surface2);color:var(--muted);border:1px solid var(--line);}
.mm-arch-chip:hover{border-color:var(--line2);color:var(--text);}
.mm-arch-chip .n{opacity:.6;}
.mm-arch-chip.active{background:var(--c);color:#0b0c12;border-color:transparent;}
.mm-arch-chip.active[data-type="todos"]{color:#fff;}

/* Género combobox */
.mm-genre{position:relative;}
.mm-genre-btn{height:38px;padding:0 13px;border-radius:9px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-family:'Manrope',sans-serif;font-size:13.5px;font-weight:600;background:var(--bg2);color:var(--text);border:1px solid var(--line);}
.mm-genre-btn .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;}
.mm-genre-btn .car{opacity:.55;font-size:11px;}
.mm-genre-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:61;width:290px;background:var(--surface);
  border:1px solid var(--line2);border-radius:13px;box-shadow:0 24px 60px rgba(0,0,0,.5);padding:11px;}
.mm-genre-list{max-height:238px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin-top:9px;}
.mm-genre-opt{width:100%;display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;border:none;cursor:pointer;
  background:transparent;color:var(--text);font-family:'Manrope',sans-serif;font-size:13.5px;text-align:left;}
.mm-genre-opt.sel{background:var(--surface2);}
.mm-genre-opt .box{flex:0 0 17px;width:17px;height:17px;border-radius:5px;display:grid;place-items:center;font-size:11px;
  line-height:1;color:#fff;border:1px solid var(--line2);background:transparent;}
.mm-genre-opt.sel .box{background:var(--gold);border-color:transparent;}
.mm-genre-opt .k{flex:1;}
.mm-genre-opt .n{opacity:.5;font-family:'JetBrains Mono',monospace;font-size:11px;}
.mm-genre-nomatch{padding:16px 12px;text-align:center;color:var(--faint);font-size:13px;}
.mm-genre-selected{display:flex;gap:7px;flex-wrap:wrap;align-items:center;flex:1;}
.mm-genre-tag{height:30px;padding:0 6px 0 12px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  background:rgba(164,99,240,.16);border:1px solid rgba(164,99,240,.4);color:var(--gold);
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.03em;font-weight:600;}
.mm-genre-tag span{opacity:.7;font-size:13px;}
.mm-genre-clear{background:transparent;border:none;cursor:pointer;color:var(--faint);font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;}

/* ===================== ENTRADA (single) ===================== */
.mm-article{padding:40px 0 0;}
.mm-article .top{max-width:760px;margin:0 auto;}
.mm-article .backlink{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);}
.mm-article .backlink:hover{color:var(--mint);}
.mm-article h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;
  font-size:clamp(28px,4vw,46px);line-height:1.05;margin:16px 0 0;letter-spacing:-.02em;}
.mm-article .meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13.5px;
  color:var(--muted);margin-top:18px;}
.mm-article .meta .au{font-weight:700;color:var(--text);}
.mm-article .meta .sep{width:4px;height:4px;border-radius:50%;background:var(--faint);}
.mm-article .hero-img{max-width:960px;margin:32px auto 0;border-radius:18px;overflow:hidden;
  border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.35);}
.mm-article .hero-img img{width:100%;display:block;}

.mm-prose{max-width:760px;margin:0 auto;padding:36px 0 10px;font-size:17px;line-height:1.75;color:var(--text);}
.mm-prose::after{content:"";display:table;clear:both;}
.mm-prose > *{margin:0 0 1.15em;}
.mm-prose p{color:#e4dff2;}
[data-theme="light"] .mm-prose p{color:#2b2340;}
.mm-prose h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(22px,2.6vw,30px);
  line-height:1.15;margin:1.6em 0 .5em;letter-spacing:-.01em;}
.mm-prose h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:22px;
  margin:1.4em 0 .4em;}
.mm-prose h4{font-weight:800;font-size:18px;margin:1.3em 0 .3em;}
.mm-prose a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--line2);}
.mm-prose a:hover{color:var(--mint);text-decoration-color:var(--mint);}
.mm-prose img,.mm-prose figure img,.mm-prose iframe,.mm-prose video{border-radius:14px;max-width:100%;height:auto;}
.mm-prose figure{margin:1.6em 0;}
.mm-prose figcaption{font-size:13px;color:var(--faint);text-align:center;margin-top:8px;}
.mm-prose ul,.mm-prose ol{padding-left:1.3em;}
.mm-prose li{margin:.4em 0;}
.mm-prose blockquote{border-left:3px solid var(--gold);margin:1.6em 0;padding:.2em 0 .2em 1.1em;
  color:var(--muted);font-style:italic;}
.mm-prose code{font-family:'JetBrains Mono',monospace;font-size:.9em;background:var(--surface2);
  padding:.15em .4em;border-radius:6px;}
.mm-prose pre{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px;overflow:auto;}
.mm-prose pre code{background:none;padding:0;}
.mm-prose hr{border:none;border-top:1px solid var(--line);margin:2em 0;}
.mm-prose table{width:100%;border-collapse:collapse;font-size:15px;}
.mm-prose th,.mm-prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;}
.mm-prose th{background:var(--surface2);}

.mm-tags{max-width:760px;margin:8px auto 0;display:flex;flex-wrap:wrap;gap:8px;}
.mm-tags a{padding:6px 12px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.03em;color:var(--muted);}
.mm-tags a:hover{color:var(--text);border-color:var(--line2);}

/* ===================== CAJA DE AUTOR ===================== */
.mm-author{max-width:760px;margin:48px auto 0;display:flex;gap:26px;align-items:flex-start;
  background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;}
.mm-author .avatar{flex:0 0 130px;width:130px;height:130px;border-radius:50%;overflow:hidden;
  border:3px solid var(--gold);box-shadow:0 0 0 4px var(--surface2),0 10px 30px rgba(0,0,0,.4);}
.mm-author .avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;}
.mm-author .bio{flex:1;min-width:0;}
.mm-author .bio h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:26px;
  margin:2px 0 12px;letter-spacing:-.01em;}
.mm-author .bio p{margin:0 0 16px;color:var(--muted);font-size:15.5px;line-height:1.65;}
.mm-author .bio .more{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:12px;
  letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--gold);
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line2);}
.mm-author .bio .more:hover{color:var(--mint);text-decoration-color:var(--mint);}
@media(max-width:560px){
  .mm-author{flex-direction:column;align-items:center;text-align:center;gap:16px;}
  .mm-author .avatar{flex-basis:110px;width:110px;height:110px;}
}

.mm-postnav{max-width:760px;margin:40px auto 0;display:flex;gap:14px;flex-wrap:wrap;}
.mm-postnav a{flex:1;min-width:220px;background:var(--surface);border:1px solid var(--line);
  border-radius:14px;padding:16px;color:var(--text);}
.mm-postnav a:hover{border-color:var(--line2);color:var(--text);}
.mm-postnav .k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--faint);display:block;margin-bottom:6px;}
.mm-postnav .t{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:15px;line-height:1.25;}

/* comentarios */
.mm-comments{max-width:760px;margin:48px auto 0;}
.mm-comments h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:22px;margin:0 0 18px;}
.mm-comments .comment-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;}
.mm-comments .comment-body{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;}
.mm-comments .comment-author{font-weight:700;}
.mm-comments input[type=text],.mm-comments input[type=email],.mm-comments input[type=url],
.mm-comments textarea{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:10px;
  color:var(--text);padding:10px 12px;font-family:inherit;font-size:14px;margin-bottom:12px;}
.mm-comments .submit,.mm-btn{height:44px;padding:0 22px;border-radius:11px;background:var(--gold);
  color:#fff;border:none;cursor:pointer;font-weight:700;font-family:'Manrope',sans-serif;font-size:14px;}
.mm-comments .submit:hover,.mm-btn:hover{filter:brightness(1.08);}

/* ===================== ESTADO VACÍO ===================== */
.mm-empty{margin-top:36px;text-align:center;padding:60px 20px;border:1px dashed var(--line2);border-radius:16px;}
.mm-empty .ic{font-size:34px;margin-bottom:10px;}
.mm-empty h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:20px;margin:0 0 6px;}
.mm-empty p{color:var(--muted);margin:0 0 18px;font-size:14px;}

/* ===================== FOOTER ===================== */
.mm-footer{position:relative;z-index:1;border-top:1px solid var(--line);background:var(--bg2);
  border-radius:0 0 22px 22px;}
.mm-footer-in{max-width:1220px;margin:0 auto;padding:48px 22px 34px;display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;}
.mm-footer img{height:60px;width:auto;display:block;margin-bottom:14px;}
.mm-footer .about{color:var(--muted);font-size:14px;line-height:1.6;max-width:38ch;margin:0;}
.mm-footer .social{display:flex;gap:9px;margin-top:18px;}
.mm-footer .col-title{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--faint);margin-bottom:14px;}
.mm-footer .col-links{display:flex;flex-direction:column;gap:10px;}
.mm-footer .col-links a{color:var(--muted);font-size:14px;}
.mm-footer .col-links a:hover{color:var(--text);}
.mm-footer .col-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.mm-copy{border-top:1px solid var(--line);}
.mm-copy-in{max-width:1220px;margin:0 auto;padding:16px 22px;display:flex;justify-content:space-between;
  gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--faint);}

/* ===================== RESPONSIVE ===================== */
@media(max-width:900px){
  .mm-footer-in{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .mm-panel{margin:12px;border-radius:18px;}
  .mm-header{top:12px;border-radius:18px 18px 0 0;}
  .mm-main{padding:0 16px 70px;}
  .mm-footer-in{grid-template-columns:1fr;gap:24px;}
  .mm-brand img,.mm-brand .custom-logo{height:48px;}
}

/* ===================== BLOQUES DE GUTENBERG ===================== */

/* -- Alineaciones "breakout" SOLO a nivel de artículo (hijos directos de la prosa) -- */
.mm-prose > .alignwide{max-width:min(1040px,94vw);margin-left:50%;transform:translateX(-50%);}
.mm-prose > .alignfull{max-width:none;width:94vw;margin-left:50%;transform:translateX(-50%);}

/* -- Imagen -- */
.mm-prose .wp-block-image{margin:1.6em 0;}
.mm-prose .wp-block-image img{height:auto;border-radius:14px;max-width:100%;}
.mm-prose .wp-block-image figcaption,.mm-prose figcaption{font-size:13px;color:var(--faint);text-align:center;margin-top:8px;}
/* Imagen a tamaño fijo (is-resized) o flotada/centrada: la figura se ajusta a su contenido */
.mm-prose .wp-block-image.is-resized,
.mm-prose .wp-block-image.alignleft,
.mm-prose .wp-block-image.alignright,
.mm-prose .wp-block-image.aligncenter{display:table;}
.mm-prose .wp-block-image.is-resized img{max-width:none;}
.mm-prose .wp-block-image.aligncenter{margin-left:auto;margin-right:auto;}
.mm-prose .wp-block-image.alignleft{float:left;margin:.3em 1.6em .8em 0;}
.mm-prose .wp-block-image.alignright{float:right;margin:.3em 0 .8em 1.6em;}
/* Imagen a ancho completo dentro de su contenedor (columna, o artículo) */
.mm-prose .wp-block-image.alignfull img,
.mm-prose .wp-block-image.alignwide img{width:100%;}

/* Texto suelto con clases de alineación (no imagen) */
.mm-prose p.aligncenter,.mm-prose .has-text-align-center{text-align:center;}
.mm-prose .has-text-align-right{text-align:right;}
.mm-prose .has-text-align-left{text-align:left;}

/* -- Columnas -- */
.mm-prose .wp-block-columns{display:flex;flex-wrap:wrap;gap:1.5em;margin:1.6em 0;align-items:flex-start;}
.mm-prose .wp-block-columns.are-vertically-aligned-center{align-items:center;}
.mm-prose .wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end;}
.mm-prose .wp-block-column{flex-grow:1;flex-basis:0;min-width:0;margin:0;}
.mm-prose .wp-block-column.is-vertically-aligned-center{align-self:center;}
.mm-prose .wp-block-column > *:first-child{margin-top:0;}
.mm-prose .wp-block-column > *:last-child{margin-bottom:0;}
@media(min-width:782px){ .mm-prose .wp-block-columns{flex-wrap:nowrap;} }

/* CLAVE: dentro de columnas/multimedia NO se debe romper hacia fuera. Neutraliza
   alignfull/alignwide anidados (si no, revientan la maquetación de la columna). */
.mm-prose .wp-block-column .alignfull,
.mm-prose .wp-block-column .alignwide,
.mm-prose .wp-block-media-text .alignfull,
.mm-prose .wp-block-media-text .alignwide{
  width:100%;max-width:100%;margin-left:0;margin-right:0;transform:none;}
.mm-prose .wp-block-column .wp-block-image.alignfull,
.mm-prose .wp-block-column .wp-block-image.alignwide{display:block;}

/* -- Multimedia y texto -- */
.mm-prose .wp-block-media-text{display:grid;grid-template-columns:50% 1fr;gap:0 1.8em;align-items:center;margin:1.8em 0;}
.mm-prose .wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%;}
.mm-prose .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{order:2;}
.mm-prose .wp-block-media-text__media{margin:0;}
.mm-prose .wp-block-media-text__media img{width:100%;border-radius:14px;display:block;}
.mm-prose .wp-block-media-text__content{padding:0;}
.mm-prose .wp-block-media-text__content > *:first-child{margin-top:0;}
.mm-prose .wp-block-media-text__content > *:last-child{margin-bottom:0;}

/* -- Galería -- */
.mm-prose .wp-block-gallery{display:flex;flex-wrap:wrap;gap:10px;margin:1.6em 0;list-style:none;padding:0;}
.mm-prose .wp-block-gallery .wp-block-image{flex:1 1 auto;margin:0;}
.mm-prose .wp-block-gallery img{border-radius:10px;}

/* -- Botones, embeds, grupos, citas, tablas, código -- */
.mm-prose .wp-block-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:1.4em 0;list-style:none;padding:0;}
.mm-prose .wp-block-button__link{display:inline-block;background:var(--gold);color:#fff;padding:10px 20px;
  border-radius:11px;font-weight:700;text-decoration:none;}
.mm-prose .wp-block-embed,.mm-prose figure.wp-block-embed{margin:1.6em 0;}
.mm-prose .wp-block-group{margin:1.6em 0;}
.mm-prose .wp-block-separator{border:none;border-top:1px solid var(--line);margin:2em auto;max-width:120px;}
.mm-prose .wp-block-pullquote,.mm-prose .wp-block-quote{border-left:3px solid var(--gold);margin:1.6em 0;
  padding:.2em 0 .2em 1.1em;color:var(--muted);font-style:italic;}
.mm-prose .wp-block-table table{width:100%;border-collapse:collapse;}
.mm-prose .wp-block-code,.mm-prose pre.wp-block-code{background:var(--bg2);border:1px solid var(--line);
  border-radius:12px;padding:16px;overflow:auto;}

@media(max-width:781px){
  .mm-prose .wp-block-columns:not(.is-not-stacked-on-mobile){flex-direction:column;}
  .mm-prose .wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column{flex-basis:auto;}
  .mm-prose .wp-block-media-text{grid-template-columns:1fr;}
  .mm-prose .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{order:0;}
  .mm-prose .wp-block-image.alignleft,
  .mm-prose .wp-block-image.alignright{float:none;display:table;margin:1.2em 0;}
}

/* Neutraliza separadores tipo flecha inyectados en el menú por otros temas/plugins */
.mm-nav li::before,.mm-nav li::after,.mm-nav a::before,.mm-nav a::after,
.mm-nav .menu-item::before,.mm-nav .menu-item::after{content:none !important;}

/* ===================== REFUERZO IMÁGENES FLOTADAS =====================
   El editor añade clases propias mm-alignleft / mm-alignright a las imágenes
   flotadas. Como nada del núcleo/globales de WordPress toca esas clases, las
   usamos con prioridad absoluta para garantizar el flotado y el ajuste al ancho
   real de la imagen, pase lo que pase con otros estilos. */
.mm-prose figure.mm-alignright,
.mm-prose figure.wp-block-image.alignright{
  float:right !important;display:table !important;width:fit-content !important;
  max-width:60% !important;margin:.3em 0 1em 1.6em !important;}
.mm-prose figure.mm-alignleft,
.mm-prose figure.wp-block-image.alignleft{
  float:left !important;display:table !important;width:fit-content !important;
  max-width:60% !important;margin:.3em 1.6em 1em 0 !important;}
.mm-prose figure.mm-alignright img,.mm-prose figure.mm-alignleft img,
.mm-prose figure.wp-block-image.alignright img,.mm-prose figure.wp-block-image.alignleft img{
  display:block;height:auto !important;max-width:100%;}
@media(max-width:781px){
  .mm-prose figure.mm-alignright,.mm-prose figure.mm-alignleft,
  .mm-prose figure.wp-block-image.alignright,.mm-prose figure.wp-block-image.alignleft{
    float:none !important;max-width:100% !important;margin:1.2em 0 !important;}
}

/* ===================== IMÁGENES FLOTADAS SIN <figure> (editor clásico) =====================
   El editor clásico pone alignleft/alignright directamente en el <img> (o en un <p>
   que lo envuelve), sin <figure>. El tema solo flotaba las <figure>, así que estas
   imágenes perdían el ajuste alrededor del texto. Las cubrimos todas. */
.mm-prose img.alignleft,
.mm-prose p > img.alignleft,
.mm-prose .wp-caption.alignleft{
  float:left !important;margin:.3em 1.6em 1em 0 !important;max-width:60% !important;height:auto !important;}
.mm-prose img.alignright,
.mm-prose p > img.alignright,
.mm-prose .wp-caption.alignright{
  float:right !important;margin:.3em 0 1em 1.6em !important;max-width:60% !important;height:auto !important;}
.mm-prose img.aligncenter,
.mm-prose .wp-caption.aligncenter{
  display:block !important;margin-left:auto !important;margin-right:auto !important;}
.mm-prose .wp-caption{max-width:60%;}
.mm-prose .wp-caption img{max-width:100%;height:auto;}
.mm-prose .wp-caption .wp-caption-text{font-size:13px;color:var(--faint);text-align:center;margin-top:8px;}
@media(max-width:781px){
  .mm-prose img.alignleft,.mm-prose p > img.alignleft,.mm-prose .wp-caption.alignleft,
  .mm-prose img.alignright,.mm-prose p > img.alignright,.mm-prose .wp-caption.alignright{
    float:none !important;display:block !important;max-width:100% !important;margin:1.2em 0 !important;}
}

/* ===================== TABLAS A RAYAS (is-style-stripes) =====================
   WordPress core pinta las filas impares con gris claro (#f0f0f0). En tema oscuro
   el texto casi blanco quedaba invisible sobre esas filas (p. ej. la ficha técnica).
   Reescribimos las rayas con superficies oscuras y texto legible. */
.mm-prose .wp-block-table.is-style-stripes{
  border-bottom-color:var(--line) !important;background:transparent !important;}
.mm-prose .wp-block-table.is-style-stripes tbody tr:nth-child(odd){
  background-color:rgba(180,140,255,.08) !important;}
[data-theme="light"] .mm-prose .wp-block-table.is-style-stripes tbody tr:nth-child(odd){
  background-color:rgba(120,60,200,.07) !important;}
.mm-prose .wp-block-table.is-style-stripes tbody tr:nth-child(even){
  background-color:transparent !important;}
.mm-prose .wp-block-table.is-style-stripes td,
.mm-prose .wp-block-table.is-style-stripes th{
  border:none !important;padding:10px 14px !important;color:var(--text) !important;}
/* Cualquier tabla dentro de la prosa: garantiza texto legible pase lo que pase */
.mm-prose table td,.mm-prose table th{color:var(--text);}
.mm-prose table strong{color:var(--text);}

/* ===================== FLOTADO — CAZA-TODO =====================
   Independientemente de la etiqueta o envoltura (figure, p, div, span, img,
   .wp-caption), cualquier elemento con la clase alignleft/alignright dentro de
   la prosa flota y ajusta el texto a su alrededor. Última línea de defensa para
   contenidos antiguos con marcado variado. */
.mm-prose .alignright{
  float:right !important;margin:.3em 0 1em 1.6em !important;
  max-width:min(60%,560px) !important;height:auto !important;}
.mm-prose .alignleft{
  float:left !important;margin:.3em 1.6em 1em 0 !important;
  max-width:min(60%,560px) !important;height:auto !important;}
.mm-prose .aligncenter{
  display:block !important;margin-left:auto !important;margin-right:auto !important;float:none !important;}
.mm-prose .alignright img,.mm-prose .alignleft img{max-width:100%;height:auto;display:block;}
/* No flotar bloques que se rompen a ancho completo/ancho */
.mm-prose .alignfull,.mm-prose .alignwide{float:none !important;max-width:none;}
@media(max-width:781px){
  .mm-prose .alignright,.mm-prose .alignleft{
    float:none !important;display:block !important;max-width:100% !important;margin:1.2em 0 !important;}
}

/* ===================== CAJAS CON FONDO CLARO (has-background) =====================
   Índice, avisos y grupos que el autor dejó con un fondo claro de la paleta de
   WordPress. En tema oscuro el título/texto claro quedaba invisible. Remapeamos
   esos fondos a una superficie oscura y forzamos texto legible dentro. */
.mm-prose .has-white-background-color,
.mm-prose .has-very-light-gray-background-color,
.mm-prose .has-cyan-bluish-gray-background-color,
.mm-prose .has-pale-cyan-blue-background-color,
.mm-prose .has-pale-pink-background-color,
.mm-prose .has-light-green-cyan-background-color,
.mm-prose .has-luminous-vivid-amber-background-color{
  background-color:var(--surface2) !important;border-radius:14px;}
[data-theme="light"] .mm-prose .has-white-background-color,
[data-theme="light"] .mm-prose .has-very-light-gray-background-color,
[data-theme="light"] .mm-prose .has-cyan-bluish-gray-background-color,
[data-theme="light"] .mm-prose .has-pale-cyan-blue-background-color,
[data-theme="light"] .mm-prose .has-pale-pink-background-color,
[data-theme="light"] .mm-prose .has-light-green-cyan-background-color,
[data-theme="light"] .mm-prose .has-luminous-vivid-amber-background-color{
  background-color:var(--surface) !important;}
/* Dentro de cualquier caja con fondo: título, texto y enlaces siempre legibles */
.mm-prose .has-background{padding:18px 22px;border-radius:14px;}
.mm-prose .has-background,
.mm-prose .has-background p,
.mm-prose .has-background li,
.mm-prose .has-background strong,
.mm-prose .has-background h1,.mm-prose .has-background h2,
.mm-prose .has-background h3,.mm-prose .has-background h4{color:var(--text) !important;}
.mm-prose .has-background a{color:var(--gold) !important;}
.mm-prose .has-background a:hover{color:var(--mint) !important;}

/* ===================== ÍNDICE (.mm-toc) =====================
   Clase propia del contenido para el índice del artículo. El tema no la
   estilizaba, así que heredaba un fondo claro/enlaces rojos de CSS externo.
   La definimos como una tarjeta oscura con enlaces de la paleta. */
.mm-prose .mm-toc{
  background:var(--surface2) !important;border:1px solid var(--line) !important;
  border-radius:14px !important;padding:18px 24px !important;margin:1.8em 0 !important;
  border-left:3px solid var(--gold) !important;}
.mm-prose .mm-toc > p:first-child,
.mm-prose .mm-toc strong{color:var(--text) !important;font-size:15px;}
.mm-prose .mm-toc p{margin:0 0 .7em !important;color:var(--text) !important;}
.mm-prose .mm-toc ul{margin:0 !important;padding-left:1.2em !important;list-style:disc;}
.mm-prose .mm-toc li{margin:.35em 0 !important;color:var(--muted);}
.mm-prose .mm-toc li::marker{color:var(--gold);}
.mm-prose .mm-toc a{color:var(--gold) !important;text-decoration:none !important;}
.mm-prose .mm-toc a:hover{color:var(--mint) !important;text-decoration:underline !important;}

/* ===================== ÍNDICE — CUALQUIER VARIANTE =====================
   Distintos artículos usan clases y marcados distintos para el índice
   (.mm-toc, nav.indice-articulo con estilos en línea, etc.). Cubrimos todas
   con selectores por patrón de clase y !important para vencer los estilos en
   línea (background:#f4f4f4, border rojo…). Cualquier índice futuro que
   contenga "indice" o "toc" en su clase queda cubierto automáticamente. */
.mm-prose [class*="indice"],
.mm-prose [class*="toc"]{
  background:var(--surface2) !important;border:1px solid var(--line) !important;
  border-left:3px solid var(--gold) !important;border-radius:14px !important;
  padding:18px 24px !important;margin:1.8em 0 !important;color:var(--text) !important;}
.mm-prose [class*="indice"] strong,
.mm-prose [class*="toc"] strong,
.mm-prose [class*="indice"] p,
.mm-prose [class*="toc"] p{color:var(--text) !important;}
.mm-prose [class*="indice"] ul,
.mm-prose [class*="toc"] ul{margin:.6em 0 0 !important;padding-left:1.2em !important;list-style:disc;}
.mm-prose [class*="indice"] li,
.mm-prose [class*="toc"] li{margin:.35em 0 !important;color:var(--muted);}
.mm-prose [class*="indice"] li::marker,
.mm-prose [class*="toc"] li::marker{color:var(--gold);}
.mm-prose [class*="indice"] a,
.mm-prose [class*="toc"] a{color:var(--gold) !important;text-decoration:none !important;}
.mm-prose [class*="indice"] a:hover,
.mm-prose [class*="toc"] a:hover{color:var(--mint) !important;text-decoration:underline !important;}

/* ===================== IMÁGENES REDIMENSIONADAS SIN ALINEAR =====================
   Imágenes con ancho fijo (is-resized / width en línea) pero sin clase de
   alineación. En vez de dejarlas como bloque suelto, flotan a la derecha para
   que el texto las rodee (comportamiento clásico del artículo). Solo a nivel
   raíz de la prosa: nunca dentro de columnas, multimedia-texto ni galerías. */
.mm-prose > img[style*="width"]:not([class*="align"]),
.mm-prose > p > img[style*="width"]:not([class*="align"]),
.mm-prose > figure.wp-block-image.is-resized:not([class*="align"]),
.mm-prose > p > figure.wp-block-image.is-resized:not([class*="align"]){
  float:right !important;margin:.3em 0 1em 1.8em !important;
  max-width:min(50%,420px) !important;height:auto !important;border-radius:14px;}
.mm-prose > figure.wp-block-image.is-resized:not([class*="align"]) img,
.mm-prose > p > figure.wp-block-image.is-resized:not([class*="align"]) img{
  max-width:100% !important;height:auto;border-radius:14px;}
@media(max-width:781px){
  .mm-prose > img[style*="width"]:not([class*="align"]),
  .mm-prose > p > img[style*="width"]:not([class*="align"]),
  .mm-prose > figure.wp-block-image.is-resized:not([class*="align"]),
  .mm-prose > p > figure.wp-block-image.is-resized:not([class*="align"]){
    float:none !important;display:block !important;max-width:100% !important;margin:1.2em auto !important;}
}
