/* ==========================================================================
   nombresff theme — main.css
   Ported faithfully from the DC demo (Home / Categoria / Articulo).
   No Bootstrap, no jQuery. Plain CSS custom properties + components.
   ========================================================================== */

:root{
  --bg:#f5f3ec;
  --ink:#111827;
  --ink-2:#1f2937;
  --muted:#4b5563;
  --muted-2:#6b7280;
  --muted-3:#9ca3af;
  --mono-muted:#8a8270;
  --line:#e2ddd0;
  --line-2:#ece7da;
  --line-3:#d8d2c4;
  --line-soft:#f1ede2;
  --line-soft-2:#efece2;
  --panel:#ffffff;
  --panel-2:#faf8f2;
  --orange:#f97316;
  --orange-dark:#ea6a0a;
  --orange-ink:#9a3412;
  --orange-soft:#fff7ed;
  --orange-soft-2:#7c2d12;
  --badge-bg:#fdebd2;
  --yellow:#facc15;
  --green:#16a34a;
  --red:#dc2626;
  --footer-bg:#f0ede4;
  --maxw:1180px;
  --mono:'Roboto Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:'Roboto',Arial,Helvetica,sans-serif;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.5;
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;display:block;}
input,button,textarea,select{font-family:inherit;}
::selection{background:var(--yellow);color:var(--ink);}

/* ---- Layout helpers ---- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:22px;padding-right:22px;}
.wrap-narrow{max-width:820px;margin:0 auto;padding-left:22px;padding-right:22px;}
.wrap-article{max-width:1080px;margin:0 auto;padding-left:22px;padding-right:22px;}
.section{background:var(--bg);border-bottom:1px solid var(--line);}
.section--white{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--orange-dark);text-transform:uppercase;margin-bottom:14px;}
.mono{font-family:var(--mono);}

/* ---- Utility strip ---- */
.utilbar{background:var(--bg);border-bottom:1px solid var(--line);}
.utilbar__inner{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px;font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--mono-muted);text-transform:uppercase;}
.utilbar__live{color:var(--orange-dark);}

/* ---- Masthead / header ---- */
.masthead{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line);}
.masthead__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:16px;}
.brand{display:flex;align-items:flex-end;gap:3px;}
.brand__name{font-weight:900;font-size:26px;letter-spacing:-1.2px;line-height:.9;}
.brand__name span{color:var(--orange);}
.brand__dot{width:10px;height:10px;background:var(--yellow);display:block;margin-bottom:4px;}
.nav{display:flex;align-items:center;gap:4px;font-family:var(--mono);font-size:12px;letter-spacing:1px;text-transform:uppercase;}
.nav a{padding:8px 12px;color:var(--muted);}
.nav a:hover{color:var(--ink);}
.nav a.current,.nav .current-menu-item > a{color:var(--ink);border-bottom:2px solid var(--orange);}
.nav__cta{margin-left:6px;padding:9px 16px !important;background:var(--orange);color:var(--ink) !important;font-weight:700;letter-spacing:1px;}
.nav__cta:hover{background:var(--orange-dark);}
.nav-toggle{display:none;background:none;border:1px solid var(--line-3);padding:8px 10px;cursor:pointer;font-family:var(--mono);font-size:12px;}

/* ---- Buttons ---- */
.btn{display:inline-block;cursor:pointer;font-family:var(--mono);font-weight:700;letter-spacing:1px;text-transform:uppercase;border:none;}
.btn-copy{flex:none;background:transparent;color:var(--orange-dark);border:1px solid var(--orange);padding:6px 12px;font-size:11px;font-weight:700;}
.btn-copy:hover,.btn-copy.is-copied{background:var(--orange);color:var(--ink);}
.btn-solid{background:var(--orange);color:var(--ink);font-weight:900;letter-spacing:1px;padding:11px 16px;text-align:center;}
.btn-solid:hover{background:var(--orange-dark);}
.btn-block{display:block;width:100%;}

/* ==========================================================================
   HERO + GENERATOR (front-page)
   ========================================================================== */
.hero__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:38px;align-items:start;padding:44px 0 38px;}
.hero__kicker{font-family:var(--mono);font-size:12px;letter-spacing:2px;color:var(--orange-dark);text-transform:uppercase;margin-bottom:14px;}
.hero__title{font-size:clamp(34px,6vw,58px);line-height:1.02;font-weight:900;letter-spacing:-2px;margin:0 0 16px;text-transform:uppercase;color:var(--ink);}
.hero__title span.orange{color:var(--orange);}
.hero__title span.mark{background:var(--yellow);color:var(--ink);padding:0 8px;display:inline-block;}
.hero__lead{font-size:16px;line-height:1.6;color:var(--muted);max-width:440px;margin:0 0 26px;}
.stats{display:flex;gap:0;border:1px solid var(--line);background:var(--panel);}
.stats__cell{flex:1;min-width:0;padding:14px 16px;border-right:1px solid var(--line);}
.stats__cell:last-child{border-right:none;}
.stats__num{font-family:var(--mono);font-size:clamp(16px,3vw,28px);font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.stats__num--orange{color:var(--orange-dark);}
.stats__label{font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--muted-3);text-transform:uppercase;margin-top:3px;}

.console{background:var(--panel);border:1px solid var(--line);box-shadow:0 1px 2px rgba(17,24,39,.04);}
.console__bar{display:flex;align-items:center;gap:7px;padding:11px 16px;border-bottom:1px solid var(--line-2);font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--muted-3);text-transform:uppercase;}
.console__led{width:9px;height:9px;display:block;}
.console__led--o{background:var(--orange);}
.console__led--y{background:var(--yellow);}
.console__body{padding:18px 16px;}
.console__label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--muted-3);text-transform:uppercase;margin-bottom:8px;}
.gen-input{display:flex;gap:0;border:1px solid var(--line-3);margin-bottom:16px;}
.gen-input input{flex:1;min-width:0;background:var(--panel-2);border:none;outline:none;padding:13px 14px;font-size:16px;color:var(--ink);}
.gen-input input:focus{background:var(--panel);}
.gen-input button{flex:none;background:var(--orange);color:var(--ink);border:none;padding:0 22px;font-weight:900;font-size:14px;letter-spacing:1px;cursor:pointer;}
.gen-input button:hover{background:var(--orange-dark);}
.gen-results{display:flex;flex-direction:column;gap:7px;max-height:360px;overflow-y:auto;}
.gen-sec{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:1px;color:var(--orange-dark);text-transform:uppercase;margin:8px 0 1px;padding-top:6px;border-top:1px solid var(--line-2);}
.gen-sec:first-child{margin-top:0;padding-top:0;border-top:none;}
.gen-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;background:var(--panel-2);border:1px solid var(--line-2);}
.gen-row__text{font-size:18px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);}
.console__note{font-family:var(--mono);font-size:10px;letter-spacing:.5px;color:#b0a892;margin:14px 0 0;text-transform:uppercase;}

/* ---- Generador: estado "pensando" + revelado tipo IA ---- */
.gen-loading{display:flex;align-items:center;gap:7px;padding:13px;font-family:var(--mono);font-size:13px;color:var(--muted-2);letter-spacing:.5px;text-transform:uppercase;}
.gen-cursor{display:inline-block;width:8px;height:15px;background:var(--orange);animation:nffBlink 1s step-end infinite;}
.gen-dots{display:inline-flex;gap:3px;margin-left:2px;}
.gen-dots i{width:4px;height:4px;border-radius:50%;background:var(--orange);display:inline-block;animation:nffDot 1.2s infinite;}
.gen-dots i:nth-child(2){animation-delay:.18s;}
.gen-dots i:nth-child(3){animation-delay:.36s;}
.gen-row.gen-in,.gen-sec.gen-in{animation:nffIn .26s ease both;}
.gen-input button.is-loading{opacity:.9;cursor:default;animation:nffBtn 1s ease-in-out infinite;}
@keyframes nffBlink{50%{opacity:0;}}
@keyframes nffDot{0%,100%{opacity:.25;transform:translateY(0);}50%{opacity:1;transform:translateY(-3px);}}
@keyframes nffIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@keyframes nffBtn{50%{opacity:.55;}}
@media (prefers-reduced-motion:reduce){
  .gen-cursor,.gen-dots i,.gen-row.gen-in,.gen-sec.gen-in,.gen-input button.is-loading{animation:none !important;}
}

/* ---- Numbered section header ---- */
.numhead{display:flex;align-items:baseline;gap:16px;margin-bottom:6px;}
.numhead__n{font-family:var(--mono);font-size:clamp(30px,5vw,52px);font-weight:700;color:transparent;-webkit-text-stroke:1.5px var(--orange);line-height:.9;}
.numhead__n--ink{-webkit-text-stroke:1.5px var(--ink);}
.numhead__t{font-size:clamp(22px,3.6vw,34px);font-weight:900;letter-spacing:-1px;margin:0;text-transform:uppercase;}
.section__sub{font-family:var(--mono);font-size:12px;color:var(--mono-muted);letter-spacing:.5px;margin:0 0 26px;}
.section--pad{padding:46px 0;}

/* ---- Tendencias (trends) ---- */
.trends{border-top:1px solid var(--line-3);}
.trend{display:grid;grid-template-columns:34px 1fr 64px;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid var(--line);}
.trend:hover{background:#efece2;}
.trend__rank{font-family:var(--mono);font-size:13px;color:var(--muted-3);}
.trend__name{font-size:16px;font-weight:500;margin-bottom:7px;}
.trend__track{height:6px;background:#e6e1d4;}
.trend__bar{height:6px;background:var(--orange);}
.trend__pct{font-family:var(--mono);font-size:14px;font-weight:700;text-align:right;}
.trend__pct--up{color:var(--green);}
.trend__pct--down{color:var(--red);}

/* ---- Estilos grid ---- */
.estilos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:0;border-top:1px solid var(--line-3);border-left:1px solid var(--line);background:var(--panel);}
.estilo{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);}
.estilo:hover{background:var(--panel-2);}
.estilo__name{font-size:17px;font-weight:700;}
.estilo__count{font-family:var(--mono);font-size:12px;color:var(--orange-dark);}

/* ---- Top 100 table ---- */
.top100{background:var(--panel);border:1px solid var(--line);padding:0 16px;}
.top100__head{display:grid;grid-template-columns:46px 1fr 88px 96px;gap:14px;padding:11px 0 9px;border-bottom:2px solid var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--muted-3);text-transform:uppercase;}
.top100__head span:nth-child(3){text-align:right;}
.top-row{display:grid;grid-template-columns:46px 1fr 88px 96px;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line-soft-2);}
.top-row:nth-child(even){background:var(--panel-2);}
.top-row__rank{font-family:var(--mono);font-size:13px;color:var(--muted-3);}
.top-row__name{font-size:17px;font-weight:500;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:5px;}
.top-row__track{height:4px;background:#eee7d8;}
.top-row__bar{height:4px;background:var(--orange);}
.top-row__copies{font-family:var(--mono);font-size:13px;color:var(--muted-2);text-align:right;}
.top-row .btn-copy{padding:7px 0;text-align:center;}

/* ---- SEO / author / FAQ ---- */
.seo__inner{padding-top:54px;padding-bottom:54px;}
.seo-article{max-width:820px;margin:0 auto;}
.seo-extra{max-width:980px;margin:48px auto 0;padding-top:40px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:40px;align-items:start;}
.seo-extra__col .author{margin-bottom:0;}
.seo h2{font-size:clamp(24px,3.6vw,34px);font-weight:900;letter-spacing:-1px;margin:0 0 18px;line-height:1.1;}
.seo-article h2{margin-top:30px;}
.seo-article > .eyebrow + h2{margin-top:0;}
.seo p{font-size:16px;line-height:1.75;color:var(--ink-2);margin:0 0 15px;}
.seo p:last-child{margin-bottom:0;}
.seo a{color:var(--orange-dark);font-weight:700;}

.author{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);background:var(--panel-2);padding:18px;margin-bottom:24px;}
.author__av{flex:none;width:58px;height:58px;background:var(--orange);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;}
.author__top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;}
.author__name{font-weight:900;font-size:16px;}
.tag{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:1px;color:var(--orange-ink);background:var(--badge-bg);padding:3px 8px;text-transform:uppercase;}
.author p{margin:0 0 6px;font-size:13px;line-height:1.55;color:#374151;}
.author__meta{font-family:var(--mono);font-size:11px;color:var(--muted-2);}
.author__meta a{color:var(--orange-dark);font-weight:700;}

.faq{border-top:1px solid var(--line);}
.faq__item{padding:14px 0;border-bottom:1px solid var(--line);}
.faq__item:last-child{border-bottom:none;}
.faq__item h3{margin:0 0 5px;font-size:15px;font-weight:700;}
.faq__item p{margin:0;font-size:13px;line-height:1.55;color:#374151;}

/* ==========================================================================
   ARCHIVE / CATEGORIA
   ========================================================================== */
.breadcrumb{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--mono-muted);text-transform:uppercase;margin-bottom:18px;}
.breadcrumb a:hover{color:var(--ink);}
.breadcrumb .sep{color:#c9c2b2;}
.breadcrumb .current{color:var(--orange-dark);}

.archive-head{padding:24px 0 30px;}
.archive-head__row{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.archive-head h1{font-size:clamp(30px,5vw,48px);font-weight:900;letter-spacing:-1.5px;margin:0;text-transform:uppercase;line-height:1;}
.archive-head h1 span{color:var(--orange);}
.archive-head__count{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:1px;color:var(--orange-ink);background:var(--badge-bg);padding:5px 10px;text-transform:uppercase;margin-top:6px;}
.archive-head__lead{font-size:16px;line-height:1.65;color:var(--muted);max-width:680px;margin:0 0 16px;}
.byline{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;color:var(--mono-muted);text-transform:uppercase;letter-spacing:.5px;}
.byline__av{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--orange);color:var(--ink);font-weight:900;font-size:11px;border-radius:50%;}

.layout-main{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;align-items:start;padding:30px 0 10px;}

.filterbar{display:flex;align-items:center;gap:0;border:1px solid var(--line-3);background:var(--panel);margin-bottom:18px;}
.filterbar__icon{padding:0 14px;font-family:var(--mono);font-size:13px;color:var(--muted-3);}
.filterbar input{flex:1;min-width:0;border:none;outline:none;padding:12px 4px;font-size:15px;color:var(--ink);background:transparent;}
.filterbar__count{padding:0 14px;font-family:var(--mono);font-size:11px;color:var(--muted-3);text-transform:uppercase;letter-spacing:1px;}

.nicklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:10px;}
.nick-card{display:flex;align-items:center;gap:10px;padding:11px 13px;background:var(--panel);border:1px solid var(--line);}
.nick-card__rank{flex:none;font-family:var(--mono);font-size:11px;color:#c0b9a7;width:24px;}
.nick-card__body{min-width:0;flex:1;}
.nick-card__text{font-size:17px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nick-card__meta{font-family:var(--mono);font-size:11px;color:var(--muted-3);}
.nick-card.is-hidden{display:none;}

.empty-state{padding:40px 20px;text-align:center;font-family:var(--mono);font-size:13px;color:var(--muted-3);border:1px dashed var(--line-3);background:var(--panel);}

/* ---- Pagination ---- */
.pagination{display:flex;gap:6px;justify-content:center;margin:28px 0 8px;font-family:var(--mono);font-size:13px;flex-wrap:wrap;}
.pagination .page-numbers{padding:9px 14px;border:1px solid var(--line-3);background:var(--panel);color:var(--ink);}
.pagination .page-numbers:hover{background:var(--panel-2);}
.pagination .page-numbers.current{border:1px solid var(--orange);background:var(--orange);color:var(--ink);font-weight:700;}
.pagination .page-numbers.dots{border:none;background:transparent;color:#c0b9a7;padding:9px 8px;}

/* ---- Sidebar ---- */
.sidebar{display:flex;flex-direction:column;gap:18px;}
.widget{border:1px solid var(--line);background:var(--panel);}
.widget__title{padding:13px 16px;border-bottom:1px solid var(--line-2);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1px;color:var(--ink);text-transform:uppercase;}
.widget__row{display:flex;justify-content:space-between;padding:11px 16px;border-bottom:1px solid var(--line-soft);}
.widget__row:last-child{border-bottom:none;}
.widget__row:hover{background:var(--panel-2);}
.widget__row .count{font-family:var(--mono);font-size:11px;color:var(--muted-3);}
.widget-cta{border:1px solid var(--orange);background:var(--orange-soft);padding:18px 16px;}
.widget-cta__k{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1px;color:var(--orange-ink);text-transform:uppercase;margin-bottom:8px;}
.widget-cta p{font-size:14px;color:var(--orange-soft-2);line-height:1.5;margin:0 0 14px;}
.widget-top__row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line-soft);}
.widget-top__row:last-child{border-bottom:none;}
.widget-top__rank{font-family:var(--mono);font-size:12px;color:var(--orange);font-weight:700;}
.widget-top__text{flex:1;min-width:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ==========================================================================
   SINGLE / ARTICULO
   ========================================================================== */
.article-head{padding:26px 0 28px;}
.article-head .tag{display:inline-block;margin-bottom:16px;}
.article-head h1{font-size:clamp(28px,4.6vw,44px);font-weight:900;letter-spacing:-1.5px;line-height:1.08;margin:0 0 18px;}
.article-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;}
.article-meta__av{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--orange);color:var(--ink);font-weight:900;font-size:14px;border-radius:50%;}
.article-meta__who{display:flex;flex-direction:column;gap:2px;}
.article-meta__name{font-weight:700;font-size:14px;}
.article-meta__date{font-family:var(--mono);font-size:11px;color:var(--mono-muted);text-transform:uppercase;letter-spacing:.5px;}
.article-meta__share{margin-left:auto;display:flex;gap:6px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;}
.article-meta__share span{padding:6px 11px;border:1px solid var(--line-3);background:var(--panel);color:var(--muted-2);}

.featured-img{width:100%;border:1px solid var(--line-3);overflow:hidden;}
.featured-img img{width:100%;display:block;}
.featured-img--ph{position:relative;aspect-ratio:1200/630;background:repeating-linear-gradient(135deg,#ece7da 0,#ece7da 12px,#f3efe6 12px,#f3efe6 24px);display:flex;align-items:center;justify-content:center;}
.featured-img--ph span{font-family:var(--mono);font-size:12px;letter-spacing:1px;color:#9a8f78;text-transform:uppercase;background:var(--bg);padding:7px 12px;border:1px solid var(--line-3);}

.article-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;align-items:start;padding:34px 0;}
.toc{position:sticky;top:96px;}
.toc__title{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1px;color:var(--mono-muted);text-transform:uppercase;margin-bottom:12px;}
.toc__list{display:flex;flex-direction:column;border-left:2px solid var(--line);}
.toc__list a{padding:7px 14px;font-size:13px;color:var(--muted);}
.toc__list a:hover,.toc__list a.is-active{color:var(--orange-dark);}

.article-body{max-width:680px;}
.article-body > p{font-size:17px;line-height:1.75;color:var(--ink-2);margin:0 0 16px;}
.article-body > p:first-child{font-size:18px;line-height:1.7;}
.article-body h2{font-size:clamp(22px,3.2vw,28px);font-weight:900;letter-spacing:-.6px;margin:34px 0 14px;scroll-margin-top:90px;}
.article-body h3{font-size:17px;font-weight:700;margin:0 0 6px;}
.article-body a{color:var(--orange-dark);font-weight:700;}
.article-body img{margin:24px 0;border:1px solid var(--line-3);}
.article-body ul,.article-body ol{font-size:17px;line-height:1.75;color:var(--ink-2);padding-left:20px;}
.article-body blockquote{border-left:3px solid var(--orange);margin:20px 0;padding:6px 0 6px 18px;color:var(--muted);font-size:17px;}

.steps{display:flex;flex-direction:column;gap:10px;margin:0 0 16px;}
.step{display:flex;gap:14px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);padding:14px 16px;}
.step__n{flex:none;font-family:var(--mono);font-weight:700;color:var(--orange);font-size:18px;}
.step p{margin:0;font-size:16px;line-height:1.6;color:var(--ink-2);}

.symbol-grid{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px;}
.symbol-chip{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);padding:8px 12px;cursor:pointer;}
.symbol-chip:hover{border-color:var(--orange);}
.symbol-chip__s{font-size:18px;}
.symbol-chip__l{font-family:var(--mono);font-size:10px;color:var(--muted-3);text-transform:uppercase;letter-spacing:1px;}

.namegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:8px;margin:0 0 8px;}
.namegrid__item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);}
.namegrid__item span{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.namegrid .btn-copy{padding:5px 10px;font-size:10px;}

.author-box{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);background:var(--panel);padding:18px;margin:30px 0 0;}
.author-box__av{flex:none;width:58px;height:58px;background:var(--orange);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;}
.author-box p{margin:0;font-size:14px;line-height:1.55;color:#374151;}

/* ---- Related ---- */
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px;}
.related-card{border:1px solid var(--line);background:var(--panel);display:block;}
.related-card:hover{border-color:var(--orange);}
.related-card__thumb{aspect-ratio:16/9;background:repeating-linear-gradient(135deg,#ece7da 0,#ece7da 10px,#f3efe6 10px,#f3efe6 20px);border-bottom:1px solid var(--line);overflow:hidden;}
.related-card__thumb img{width:100%;height:100%;object-fit:cover;}
.related-card__body{padding:14px 16px;}
.related-card__cat{font-family:var(--mono);font-size:10px;color:var(--orange-ink);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.related-card__title{font-size:16px;font-weight:700;line-height:1.3;}

/* ==========================================================================
   PAGE / 404 / SEARCH
   ========================================================================== */
.page-body{max-width:760px;margin:0 auto;}
.page-body h1{font-size:clamp(28px,4.6vw,44px);font-weight:900;letter-spacing:-1.5px;margin:0 0 20px;}
.page-body h2{font-size:clamp(20px,3vw,28px);font-weight:900;margin:30px 0 12px;}
.page-body p{font-size:16px;line-height:1.75;color:var(--ink-2);margin:0 0 15px;}
.page-body a{color:var(--orange-dark);font-weight:700;}

.notfound{text-align:center;padding:80px 22px;}
.notfound__code{font-family:var(--mono);font-size:clamp(70px,18vw,150px);font-weight:700;color:transparent;-webkit-text-stroke:2px var(--orange);line-height:.9;}
.notfound h1{font-size:clamp(24px,4vw,34px);font-weight:900;text-transform:uppercase;letter-spacing:-1px;margin:16px 0 12px;}
.notfound p{color:var(--muted);font-size:16px;margin:0 0 26px;}

.searchform{display:flex;gap:0;border:1px solid var(--line-3);background:var(--panel);max-width:480px;margin:0 auto;}
.searchform input[type=search]{flex:1;min-width:0;border:none;outline:none;padding:13px 14px;font-size:16px;background:var(--panel-2);}
.searchform button{background:var(--orange);color:var(--ink);border:none;padding:0 20px;font-family:var(--mono);font-weight:900;letter-spacing:1px;cursor:pointer;}

.post-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line-3);}
.post-item{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);}
.post-item__thumb{aspect-ratio:16/9;background:repeating-linear-gradient(135deg,#ece7da 0,#ece7da 10px,#f3efe6 10px,#f3efe6 20px);border:1px solid var(--line);overflow:hidden;}
.post-item__thumb img{width:100%;height:100%;object-fit:cover;}
.post-item__cat{font-family:var(--mono);font-size:10px;color:var(--orange-ink);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.post-item__title{font-size:20px;font-weight:800;line-height:1.25;margin:0 0 8px;}
.post-item__title a:hover{color:var(--orange-dark);}
.post-item__excerpt{font-size:14px;color:var(--muted);line-height:1.6;margin:0;}
.post-item__date{font-family:var(--mono);font-size:11px;color:var(--muted-3);text-transform:uppercase;margin-top:8px;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{background:var(--footer-bg);border-top:1px solid var(--line);color:var(--muted-2);}
.site-footer__top{padding:40px 0 0;}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:26px;}
.footer-col__title{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1px;color:var(--ink);text-transform:uppercase;margin-bottom:12px;}
.footer-col a{display:block;font-size:13px;padding:4px 0;}
.footer-col a:hover{color:var(--ink);}
.footer__legal{font-size:12px;line-height:1.6;color:var(--muted-3);border-top:1px solid var(--line);padding-top:16px;margin:24px 0 0;}
.footer__bar{border-top:1px solid var(--line);margin-top:18px;}
.footer__bar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 0;font-family:var(--mono);font-size:11px;letter-spacing:.5px;color:var(--muted-3);text-transform:uppercase;}

/* ==========================================================================
   EMBEDDED CONTENT SAFETY (contenido de Gutenberg / shortcodes)
   ========================================================================== */
.seo img, .page-body img, .article-body img,
.seo iframe, .page-body iframe, .article-body iframe,
.seo video, .page-body video, .article-body video{max-width:100%;height:auto;}
.seo table, .page-body table, .article-body table{display:block;max-width:100%;overflow-x:auto;}
.seo pre, .page-body pre, .article-body pre{max-width:100%;overflow-x:auto;}
.seo figure, .page-body figure, .article-body figure{max-width:100%;margin-left:0;margin-right:0;}
.article-body, .page-body, .seo{overflow-wrap:break-word;word-break:break-word;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:900px){
  .layout-main{grid-template-columns:1fr;}
  .article-layout{grid-template-columns:1fr;}
  .toc{position:static;display:none;}
}
@media (max-width:400px){
  .wrap,.wrap-narrow,.wrap-article{padding-left:14px;padding-right:14px;}
  .hero__grid{gap:26px;padding:30px 0 26px;}
  .section--pad{padding:32px 0;}
  .seo__grid{gap:28px;padding:36px 0;}
  .stats__label,.console__note{font-size:9px;}
  .top100{padding:0 10px;}
}
@media (max-width:720px){
  .nav{display:none;}
  .nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 22px 16px;gap:0;}
  .nav.is-open a{padding:10px 0;}
  .nav.is-open .nav__cta{margin-left:0;margin-top:8px;}
  .nav-toggle{display:block;}
  .masthead__inner{position:relative;}
  .top100,.top100__head,.top-row{grid-template-columns:36px 1fr 70px;}
  .top100__head span:nth-child(4),.top-row .btn-copy{display:none;}
  .post-item{grid-template-columns:1fr;}
  .post-item__thumb{display:none;}
}
