/* --------------------------------------------------------------------------
   1. Variables  2. Reset  3. Layout  4. Header/Footer  5. Componentes
   6. Portada  7. Listado  8. Entrada  9. WordPress  10. Responsive
   -------------------------------------------------------------------------- */

/* 0. Fuentes autoalojadas ------------------------------------------------ */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600 900;font-display:swap;
  src:url(../fonts/montserrat-var.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:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-500.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff2) format('woff2')}

/* 1. Variables ----------------------------------------------------------- */
:root{
  --purple:#7c3aed; --purple-d:#6d28d9; --purple-l:#a855f7;
  --pink:#ec4899; --magenta:#c026d3; --orange:#f97316; --amber:#fbbf24;
  --ink:#17123a; --ink-2:#3d3856; --ink-3:#565272; --muted:#8b88a3;
  --line:#ececf5; --line-2:#e2ddf5; --soft:#faf8ff; --bg:#f6f5fa;
  --dark:#14103a; --dark-2:#120d2e; --white:#fff;
  --green:#16a34a;
  --gutter:clamp(15px,3vw,24px);      /* 15px en móvil, 24px en escritorio */
  --radius:13px; --radius-lg:16px;
  --shadow:0 12px 30px rgba(29,20,72,.07);
  --shadow-hover:0 18px 38px rgba(29,20,72,.12);
  --grad:linear-gradient(96deg,var(--purple) 0%,var(--magenta) 26%,var(--pink) 52%,var(--orange) 78%,var(--amber) 100%);
  --grad-btn:linear-gradient(90deg,var(--purple-l),var(--pink) 48%,var(--orange));
  --grad-gold:linear-gradient(90deg,var(--amber),#f59e0b);
  --font:'Poppins',system-ui,-apple-system,sans-serif;
  --font-head:'Montserrat',var(--font);
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --head-h:60px;
}

/* 2. Reset --------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:18.2px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
img{height:auto}
/* Los iconos van en línea; las reglas de componente ajustan tamaño y color. */
svg.ico{display:inline-block;vertical-align:middle;flex:none}
a{color:var(--purple);text-decoration:none;transition:color .16s}
a:hover{color:var(--pink)}
h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:-.3px;margin:0;text-wrap:pretty}
p{margin:0;text-wrap:pretty}
ul{margin:0;padding-left:20px}
button,input,select{font:inherit}
button{cursor:pointer}
::placeholder{color:#a9a7bd}
:focus-visible{outline:2px solid var(--purple-l);outline-offset:2px}
[hidden]{display:none!important}

/* 3. Layout -------------------------------------------------------------- */
.container{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
.section{padding-top:40px}
.stack{display:flex;flex-direction:column}
.row{display:flex;flex-wrap:wrap}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.grid{display:grid;gap:14px}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.grid--5{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr))}
.grid--6{grid-template-columns:repeat(auto-fit,minmax(min(100%,185px),1fr))}
.grid--8{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr))}
.grid--cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 4. Header / Footer ----------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid #e9e7f3}
.site-header__inner{max-width:1200px;margin:0 auto;padding:11px var(--gutter);display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px}
.brand{display:flex;align-items:center;gap:9px;color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand__mark{display:flex;color:var(--purple)}
.brand__text{display:flex;flex-direction:column;line-height:1.02;font-family:var(--font-head);font-weight:800;letter-spacing:-.2px}
.brand__text b{font-size:19.5px;font-weight:800}
.brand__text span{font-size:14.3px;color:#6b6a80;letter-spacing:.4px}
.nav{display:flex;align-items:center;gap:6px;margin:0 auto}
.nav a{padding:7px 15px;border-radius:999px;color:#3a3552;font-size:16.3px;font-weight:500;white-space:nowrap}
.nav a:hover{background:#f2effc;color:var(--purple)}
.nav a.is-active{padding:7px 18px;background:var(--purple);color:var(--white);font-weight:600;box-shadow:0 4px 12px rgba(124,58,237,.35)}
.nav a.is-active:hover{background:var(--purple-d);color:var(--white)}
.btn-favs{display:flex;align-items:center;gap:7px;padding:9px 17px;border:0;border-radius:999px;background:#1c1440;color:var(--white);font-size:15.6px;font-weight:600;white-space:nowrap;transition:background .16s}
.btn-favs:hover{background:#2a1f5c}
.btn-favs svg{color:var(--amber);display:flex}

.site-footer{margin-top:34px;background:var(--dark-2);color:#cdc9e6}
.site-footer__grid{max-width:1200px;margin:0 auto;padding:34px var(--gutter) 26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:26px}
.site-footer .brand{color:var(--white)}
.site-footer .brand:hover{color:var(--white)}
.site-footer .brand__mark{color:var(--purple-l)}
.site-footer .brand__text{font-style:italic;font-weight:900}
.site-footer .brand__text span{color:#a9a5c9}
.site-footer__about{margin:0;font-size:15px;line-height:1.7;color:#9c98bd;max-width:230px}
.socials{display:flex;gap:9px}
.socials a{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:8px;background:rgba(255,255,255,.07);color:#cdc9e6}
.socials a:hover{background:var(--purple);color:var(--white)}
.foot-col{display:flex;flex-direction:column;gap:9px}
.foot-col__title{font-family:var(--font-head);font-weight:800;font-size:15px;letter-spacing:.7px;color:var(--white)}
.foot-col a{font-size:15px;color:#9c98bd}
.foot-col a:hover{color:var(--amber)}
.brandmark{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px}
.brandmark__ff{display:flex;align-items:center;gap:2px;font-family:var(--font-head);font-style:italic;font-weight:900;font-size:clamp(33.8px,5.2vw,44.2px);letter-spacing:-1px;color:var(--white)}
.brandmark__ff svg{color:var(--orange);display:flex;margin:0 -2px}
.brandmark__booyah{font-family:var(--font-head);font-style:italic;font-weight:900;font-size:24.7px;color:var(--amber);letter-spacing:-.5px}
.legal{border-top:1px solid rgba(255,255,255,.08)}
.legal__inner{max-width:1200px;margin:0 auto;padding:14px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14.3px;color:#8b87ab}
.legal__inner span{display:flex;align-items:center;gap:6px}
.legal__inner svg{color:#ef4444;display:flex}

/* 5. Componentes --------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;font-family:var(--font-head);font-weight:800;transition:filter .16s,transform .16s,background .16s}
.btn--grad{padding:16px 30px;background:var(--grad-btn);color:var(--white);font-size:22.1px;letter-spacing:.3px;box-shadow:0 12px 26px rgba(236,72,153,.34)}
.btn--grad:hover{filter:brightness(1.06);transform:translateY(-1px);color:var(--white)}
.btn--grad:active{transform:translateY(1px)}
.btn--pink{padding:13px 28px;background:linear-gradient(90deg,var(--purple-l),var(--pink));color:var(--white);font-size:16.9px;letter-spacing:.3px;box-shadow:0 10px 24px rgba(236,72,153,.28)}
.btn--pink:hover{filter:brightness(1.06);color:var(--white)}
.btn--gold{padding:13px 24px;background:var(--grad-gold);color:var(--dark);font-size:16.3px;box-shadow:0 10px 24px rgba(251,191,36,.28)}
.btn--gold:hover{filter:brightness(1.06);color:var(--dark)}
.btn--ghost{padding:12px 20px;border:1.5px solid #cdb8f7;border-radius:10px;background:var(--white);color:var(--purple);font-family:var(--font);font-size:15px;font-weight:700;letter-spacing:.4px}
.btn--ghost:hover{background:#f4eeff}
.btn--ok{background:var(--green)!important;color:var(--white)!important}

.field{display:flex;flex-direction:column;gap:9px}
.field__label{font-size:15.6px;font-weight:600;color:#3a3552}
.control{display:flex;align-items:center;border:1.5px solid var(--line-2);border-radius:11px;background:var(--white);overflow:hidden;transition:border-color .16s}
.control:focus-within{border-color:var(--purple-l)}
.control input,.control select{flex:1;min-width:0;border:0;outline:none;background:transparent;padding:14px 15px;font-size:16.9px;color:var(--ink)}
.control select{appearance:none;padding:14px 10px;font-size:16.3px;font-weight:500;cursor:pointer}
.control__ico{display:flex;color:var(--purple-l);padding-left:13px}
.control__caret{display:flex;color:var(--muted);padding-right:13px;pointer-events:none}
.control__btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border:0;border-left:1px solid var(--line);background:var(--soft);color:var(--purple)}
.control__btn:hover{background:#f2effc}

.icon-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border:0;border-radius:6px;background:transparent;color:#b6b3c9;transition:color .16s}
.icon-btn:hover{color:var(--purple)}
.icon-btn--sm{width:20px;height:20px}
.icon-btn.is-fav{color:var(--amber)}
.icon-btn.is-fav svg{fill:var(--amber)}
.icon-btn.is-copied{color:var(--green)}

.badge{display:inline-block;padding:4px 9px;border-radius:6px;background:#f3effd;color:var(--purple);font-size:13.7px;font-weight:700;letter-spacing:.4px}
.badge--cat{background:color-mix(in srgb,var(--c,var(--purple)) 12%,#fff);color:var(--c,var(--purple));padding:3px 8px;border-radius:5px;font-size:13.7px}
.tag{padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:#fbfaff;font-size:14.3px;font-weight:500;color:#4c4766}
.tag:hover{border-color:#c9b4f5;background:#f4eeff;color:var(--purple)}
.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13.7px;color:var(--muted)}
.meta svg{width:11px;height:11px}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:14.3px;color:var(--muted)}
.breadcrumb a{color:var(--muted)}
.breadcrumb b{color:var(--purple);font-weight:600}
.breadcrumb svg{width:12px;height:12px}
.thumb{background-image:repeating-linear-gradient(135deg,#f3effd 0 9px,#faf8ff 9px 18px);display:flex;align-items:center;justify-content:center;text-align:center}
.thumb span{font-family:var(--font-mono);font-size:13px;color:#9b93bd;padding:0 10px;line-height:1.5}

.side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.side-card__head{padding:13px 16px;background:var(--soft);border-bottom:1px solid #eeeaf9;display:flex;align-items:center;gap:7px;font-family:var(--font-head);font-weight:800;font-size:15px;letter-spacing:.5px;color:var(--purple)}
.side-card__head svg{color:var(--orange);fill:var(--amber);width:13px;height:13px}
.side-card__body{display:flex;flex-direction:column;padding:6px 0}
.side-card--pad{padding:16px}
.side-card__title{font-family:var(--font-head);font-weight:800;font-size:15px;letter-spacing:.5px;margin-bottom:12px}

.promo{position:relative;overflow:hidden;border-radius:var(--radius);padding:20px;background:linear-gradient(150deg,var(--purple-d),#a21caf);color:var(--white)}
.promo__deco{position:absolute;right:-10px;top:-10px;color:rgba(255,255,255,.16)}
.promo h4{position:relative;font-weight:900;font-size:19.5px;line-height:1.25}
.promo p{position:relative;margin:8px 0 14px;font-size:15px;line-height:1.6;color:#e6dcff}
.promo .btn{position:relative;width:100%}

.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:9px;padding:12px 20px;border-radius:999px;background:var(--dark);color:var(--white);font-size:16.3px;font-weight:600;box-shadow:0 14px 34px rgba(20,16,58,.35);animation:pop .22s ease both}
.toast svg{color:#4ade80;display:flex}
@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-9px) rotate(var(--r,0deg))}}
@keyframes spin{to{transform:rotate(360deg)}}

/* 6. Home ---------------------------------------------------------------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fbfaff,var(--bg));padding:34px 0 46px}
.hero__deco{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero__deco>*{position:absolute}
.deco-dots{left:-6px;top:34px;width:130px;height:150px;background-image:radial-gradient(var(--purple-l) 1.7px,transparent 1.8px),radial-gradient(var(--orange) 1.7px,transparent 1.8px);background-size:13px 13px,13px 13px;background-position:0 0,6.5px 6.5px;opacity:.5;mask-image:linear-gradient(120deg,#000,transparent 78%)}
.deco-bolt{color:var(--amber);animation:floaty 6s ease-in-out infinite;filter:drop-shadow(0 4px 10px rgba(251,191,36,.4))}
.deco-bolt svg{fill:var(--amber)}
.deco-bolt--1{--r:-14deg;left:150px;top:52px}
.deco-bolt--2{--r:12deg;right:34px;top:112px;animation-delay:.8s}
.deco-bolt--3{--r:8deg;left:104px;top:132px;color:var(--purple-l);animation-delay:.4s;filter:none}
.deco-bolt--3 svg{fill:var(--purple-l)}
.deco-x{color:var(--purple);opacity:.85;left:78px;top:186px}
.deco-x--2{color:var(--purple-l);opacity:.7;left:auto;right:118px;top:56px}
.deco-ring{left:50%;margin-left:-260px;top:206px;width:22px;height:22px;border:3px solid var(--purple-l);border-right-color:transparent;border-radius:50%;opacity:.6;animation:spin 6s linear infinite}
.deco-sq{left:50%;margin-left:322px;top:22px;width:14px;height:14px;background:var(--amber);border-radius:3px;transform:rotate(24deg)}
.deco-dot{left:50%;margin-left:344px;top:46px;width:9px;height:9px;background:var(--pink);border-radius:50%}
.hero__inner{position:relative}
.hero__head{text-align:center;max-width:880px;margin:0 auto}
.hero h1{font-weight:800;font-size:clamp(31.2px,6.8vw,53.3px);line-height:1.1;letter-spacing:-.8px}
.hero h1 b{font-weight:900}
.hero__title2{margin-top:2px;font-family:var(--font-head);font-weight:900;font-size:clamp(38px,9vw,72px);line-height:1.02;letter-spacing:-1.4px}
.hero__sub{margin-top:14px;font-size:17.6px;font-weight:500;color:#4c4766}
.hero__pill{display:inline-block;margin-top:12px;padding:8px 20px;border-radius:999px;background:linear-gradient(90deg,var(--purple),var(--pink));color:var(--white);font-size:16.3px;font-weight:600;box-shadow:0 8px 20px rgba(192,38,211,.3)}
.hero__pill:hover{color:var(--white);filter:brightness(1.08)}
.booyah{position:absolute;right:18px;top:18px;transform:rotate(-6deg);background:#0e0a24;border-radius:8px;padding:10px 22px 12px;box-shadow:0 14px 30px rgba(14,10,36,.3);font-family:var(--font-head);font-style:italic;font-weight:900;font-size:33.8px;letter-spacing:-1px;color:var(--amber);line-height:1}

.gen{margin-top:34px;background:var(--white);border:1px solid #ece9f7;border-radius:var(--radius-lg);box-shadow:0 18px 44px rgba(29,20,72,.08);padding:26px;display:flex;flex-wrap:wrap;gap:26px}
.gen__main{flex:6 1 460px;min-width:0;display:flex;flex-direction:column;gap:18px}
.gen__side{flex:1 1 280px;min-width:0;border:1px solid #e6dffb;border-radius:var(--radius);background:var(--soft);padding:13px;display:flex;flex-direction:column;gap:9px}
.gen__side-title{text-align:center;font-size:15.6px;font-weight:700;color:var(--purple);padding:3px 0 4px}
.style-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:16px 6px;border:1.5px solid #eae7f6;border-radius:11px;background:var(--white);color:#4c4766;text-align:center;font-size:15px;font-weight:600;line-height:1.25;transition:.18s}
.style-tab:hover{border-color:#d9cef7}
.style-tab.is-active{border-color:transparent;background:linear-gradient(160deg,var(--purple),var(--magenta));color:var(--white);box-shadow:0 10px 22px rgba(124,58,237,.3)}
.style-tab svg{width:18px;height:18px}
.btn-generate{margin:4px auto 0;width:min(420px,100%)}
.result-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--white);border:1px solid #eeeaf9;border-radius:9px;animation:pop .28s ease both}
.result-row__text{flex:1;min-width:0;text-align:center;font-family:var(--font-mono);font-size:16.3px;font-weight:500;color:#231c4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.copy-all{margin-top:auto}
.gen__side-hint{margin:auto 0;padding:0 8px;text-align:center;font-size:15px;line-height:1.6;color:var(--muted)}

.strip{background:var(--dark);border-radius:14px;padding:20px 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.strip__item{display:flex;align-items:center;justify-content:center;gap:13px;padding:8px 18px;border-left:1px solid rgba(255,255,255,.08)}
.strip__ico{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--c)}
.strip__ico svg{width:19px;height:19px}
.strip b{display:block;font-size:16.3px;font-weight:700;color:var(--c)}
.strip small{font-size:15px;color:#a09cc0}

.section__title{text-align:center;font-weight:800;font-size:24.7px;letter-spacing:.6px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:9px}
.section__title svg{color:var(--orange);fill:var(--amber);width:18px;height:18px}
.cat-card{display:flex;flex-direction:column;align-items:center;gap:11px;padding:20px 8px 16px;background:var(--white);border:1px solid var(--line);border-radius:12px;color:var(--ink);transition:transform .18s,box-shadow .18s}
.cat-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(29,20,72,.1);color:var(--ink)}
.cat-card__ico{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c)}
.cat-card__ico svg{width:20px;height:20px}
.cat-card span{font-size:15px;font-weight:600}

.pop-col{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.pop-col__head{padding:11px 12px;background:var(--c,#6d5bd0);color:var(--white);font-size:14.3px;font-weight:700;letter-spacing:.4px;text-align:center}
.pop-col__body{display:flex;flex-direction:column;padding:4px 0}
.pop-row{display:flex;align-items:center;gap:6px;padding:5px 9px;border-bottom:1px solid #f5f4fa}
.pop-row__text{flex:1;min-width:0;font-family:var(--font-mono);font-size:14.3px;font-weight:500;color:#231c4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pop-row__text.is-empty{color:#a3a0b8}
.pop-col__more{margin-top:auto;padding:11px;border:0;border-top:1px solid #f0eef8;background:var(--white);color:var(--purple);font-size:14.3px;font-weight:700;letter-spacing:.3px}
.pop-col__more:hover{background:var(--soft)}

.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;align-items:start}
.about{position:relative;overflow:hidden;padding:24px 26px 26px}
.about__wm{position:absolute;right:-10px;bottom:-6px;font-family:var(--font-head);font-style:italic;font-weight:900;font-size:67.6px;color:#f4f2fa;letter-spacing:-2px;pointer-events:none}
.about h3{position:relative;font-weight:800;font-size:19.5px;letter-spacing:.2px;margin-bottom:12px}
.about p{position:relative;font-size:16.3px;line-height:1.72;color:var(--ink-3)}
.checks{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px 22px;margin:16px 0}
.checks div{display:flex;align-items:center;gap:8px;font-size:15px;color:#3f3a5c}
.checks svg{color:var(--green);width:15px;height:15px;flex:none}
.howto__head{padding:16px 20px;background:linear-gradient(100deg,var(--purple-d),#a21caf);color:var(--white);font-family:var(--font-head);font-weight:800;font-size:17.6px;letter-spacing:.4px}
.howto__body{display:flex;flex-direction:column;gap:14px;padding:20px}
.step{display:flex;align-items:flex-start;gap:12px}
.step__n{flex:none;width:22px;height:22px;border-radius:6px;background:var(--purple);color:var(--white);font-size:14.3px;font-weight:700;display:flex;align-items:center;justify-content:center}
.step p{font-size:15.6px;line-height:1.55;color:#474262}
.trend-row{display:flex;align-items:center;gap:9px;padding:5px 12px}
.trend-row__n{flex:none;width:16px;text-align:right;font-size:13.7px;font-weight:700;color:#a3a0b8}
.trend-row__n.is-top{color:var(--orange)}
.trend-row__text{flex:1;min-width:0;font-family:var(--font-mono);font-size:15px;font-weight:500;color:#231c4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.feature{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:24px 22px}
.feature__ico{display:flex;color:var(--c)}
.feature__ico svg{width:26px;height:26px}
.feature b{font-family:var(--font-head);font-weight:800;font-size:16.3px;letter-spacing:.3px;margin-top:2px}
.feature p{font-size:15px;line-height:1.55;color:#6b6a80}
.feature a{font-size:14.3px;font-weight:600;color:var(--c)}

.cta-band{position:relative;overflow:hidden;background:var(--dark);border-radius:14px;padding:26px clamp(18px,3vw,34px);display:flex;flex-wrap:wrap;align-items:center;gap:22px 30px}
.cta-band__deco{position:absolute;pointer-events:none}
.cta-band__deco--1{right:210px;top:-14px;color:var(--white);transform:rotate(14deg)}
.cta-band__deco--1 svg{fill:var(--white)}
.cta-band__deco--2{right:150px;bottom:-18px;color:var(--amber);transform:rotate(-8deg)}
.cta-band__deco--2 svg{fill:var(--amber)}
.cta-band__rocket{flex:none;color:var(--purple-l);display:flex}
.cta-band__txt{display:flex;flex-direction:column;gap:5px;flex:1 1 260px}
.cta-band__txt b{font-family:var(--font-head);font-weight:800;font-size:clamp(19.5px,3.1vw,23.4px);color:var(--white);letter-spacing:.2px}
.cta-band__txt span{font-size:16.3px;color:#a9a5c9}
.cta-band .btn{position:relative;margin-left:auto;padding:14px 26px;font-size:18.2px}


/* 6b. Resultados del generador ------------------------------------------- */
.gen-out[hidden]{display:none}
.gen-out .section__title span{font-weight:800}
.gen-out .section__title em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Estado de carga: se reserva el alto para que la página no dé un salto. */
.gen-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:120px;color:var(--muted);font-size:16.3px}
.gen-spin{width:17px;height:17px;border:2px solid #ded7f5;border-top-color:var(--purple);border-radius:50%;animation:spin .7s linear infinite}

/* Cada sección del motor se pinta como una columna de la rejilla. */
.pop-col__head{display:flex;align-items:center;justify-content:center;gap:7px}
.pop-row__text{cursor:pointer}
.pop-col__body--scroll{max-height:340px;overflow-y:auto;scrollbar-width:thin}

.emoji-box{margin-top:18px;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.emoji-box[hidden]{display:none}
.emoji-box__title{font-family:var(--font-head);font-weight:800;font-size:15.6px;letter-spacing:.4px;color:var(--purple);margin-bottom:11px}
.emoji-box__grid{display:flex;flex-wrap:wrap;gap:7px}
.emoji-chip{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:#fbfaff;font-size:21px;line-height:1;cursor:pointer;transition:.16s}
.emoji-chip:hover{border-color:#c9b4f5;background:#f4eeff;transform:translateY(-2px)}

/* Aportaciones de otras personas ----------------------------------------- */
.community{margin-top:22px;display:flex;flex-direction:column;gap:18px}
.community[hidden]{display:none}
.community__block[hidden]{display:none}
.community__h{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-weight:800;font-size:17.6px;letter-spacing:.2px}
.community__h svg{color:var(--purple);flex:none}
.community__name{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.community__list{gap:8px}
.community__empty{font-size:16.3px;color:var(--muted)}
.community__empty[hidden]{display:none}
.community__more{margin:14px auto 0;display:block}
.community__more[hidden]{display:none}
.nick-chip{display:flex;align-items:center;gap:7px;padding:7px 10px;background:var(--white);border:1px solid var(--line);border-radius:10px}
.nick-chip__text{flex:1;min-width:0;font-family:var(--font-mono);font-size:14.8px;color:#231c4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.nick-chip__like{display:flex;align-items:center;gap:4px;flex:none;border:0;background:transparent;color:#b6b3c9;font-size:13.7px;font-weight:600;cursor:pointer}
.nick-chip__like:hover,.nick-chip__like.is-on{color:var(--pink)}
.nick-chip__like.is-on svg{fill:var(--pink)}

.community__add{padding:18px;background:var(--soft);border:1px solid #e6dffb;border-radius:var(--radius)}
.community__form{display:flex;flex-wrap:wrap;gap:10px}
.community__form .control{flex:1 1 240px}
.community__form .btn{flex:none}
.community__note{margin-top:9px;font-size:14.3px;color:var(--muted)}

/* Tendencias y listas de estadística ------------------------------------- */
.trend-row{display:flex;align-items:center;gap:9px;padding:6px 12px}
.trend-row__n{flex:none;display:flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:6px;background:#f1eefb;color:#6b6a80;font-size:13px;font-weight:700}
.trend-row__n.is-top{background:var(--grad-btn);color:var(--white)}
.trend-row__text{flex:1;min-width:0;font-family:var(--font-mono);font-size:15px;font-weight:500;color:#231c4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trend-row__text a{color:inherit}
.trend-row__text a:hover{color:var(--purple)}

/* 7. Blog ---------------------------------------------------------------- */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fbfaff,var(--bg));border-bottom:1px solid #eeecf6;padding:30px 0 26px}
.page-hero__deco{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.page-hero__deco>*{position:absolute}
.page-hero h1{margin-top:10px;font-weight:900;font-size:clamp(33.8px,6.5vw,52px);line-height:1.08;letter-spacing:-1px}
.page-hero p{margin-top:10px;max-width:620px;font-size:16.9px;line-height:1.7;color:var(--ink-3)}
.filters{padding-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 380px}
.chip{padding:8px 16px;border:1.5px solid #e7e3f5;border-radius:999px;background:var(--white);color:#4c4766;font-size:15.6px;font-weight:600;transition:.16s}
.chip:hover{border-color:#c9b4f5;color:var(--purple)}
.chip.is-active{border-color:transparent;background:var(--purple);color:var(--white);box-shadow:0 6px 16px rgba(124,58,237,.28)}
.search{flex:0 1 260px;min-width:200px;padding:0 13px}
.search input{padding:11px 0;font-size:16.3px}
.search .control__ico{color:#a9a7bd;padding-left:0;padding-right:9px}
.blog-layout{padding-top:22px;display:flex;flex-wrap:wrap;gap:26px;align-items:flex-start}
.blog-main{flex:3 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.sidebar{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(var(--head-h) + 18px)}
.post-featured{display:flex;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--ink);box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s}
.post-featured:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);color:var(--ink)}
.post-featured__thumb{flex:none;width:44%;min-height:210px;position:relative}
.post-featured__flag{position:absolute;left:12px;top:12px;padding:5px 11px;border-radius:999px;background:linear-gradient(90deg,var(--purple),var(--pink));color:var(--white);font-size:13px;font-weight:700;letter-spacing:.5px}
.post-featured__body{flex:1;min-width:0;padding:clamp(18px,2.4vw,26px);display:flex;flex-direction:column;gap:11px;justify-content:center}
.post-featured h2{font-weight:800;font-size:clamp(23.4px,3.1vw,31.2px);line-height:1.22;letter-spacing:-.4px}
.post-featured p{font-size:16.3px;line-height:1.72;color:var(--ink-3)}
.post-featured__more{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:700;color:var(--purple)}
.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 2px 0}
.list-head h3{font-weight:800;font-size:16.9px;letter-spacing:.5px}
.list-head span{font-size:14.3px;color:var(--muted)}
.post-row{display:flex;gap:16px;padding:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);animation:pop .3s ease both;transition:transform .16s,box-shadow .16s,border-color .16s}
.post-row:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(29,20,72,.09);border-color:#e0d7f8;color:var(--ink)}
.post-row__thumb{flex:none;width:172px;height:118px;border-radius:10px;overflow:hidden}
.post-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;padding:2px 4px 2px 0}
.post-row h4{font-weight:800;font-size:19.5px;line-height:1.3;letter-spacing:-.2px}
.post-row p{font-size:15.6px;line-height:1.66;color:#6b6a80}
.empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:44px 20px;background:var(--white);border:1px dashed #ddd7f0;border-radius:var(--radius);text-align:center}
.empty-state svg{color:#c3bedd;width:30px;height:30px}
.empty-state b{font-family:var(--font-head);font-weight:800;font-size:18.2px}
.empty-state p{font-size:15.6px;color:#6b6a80}
.empty-state button{margin-top:4px;padding:9px 18px;border:1.5px solid #cdb8f7;border-radius:999px;background:var(--white);color:var(--purple);font-size:15px;font-weight:700}
.empty-state button:hover{background:#f4eeff}
.load-more{align-self:center;margin-top:6px}
.pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;padding-top:10px}
.pager button{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border:1px solid #e7e3f5;border-radius:9px;background:var(--white);color:#4c4766;font-size:15.6px;font-weight:600}
.pager button:hover{border-color:#c9b4f5;color:var(--purple)}
.pager button.is-active{border-color:transparent;background:var(--purple);color:var(--white)}
.pager button.is-next{color:var(--purple)}
.rank{flex:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;font-size:13px;font-weight:700;background:#f1eff8;color:var(--muted)}
.rank.is-top{background:var(--orange);color:var(--white)}
.side-link{display:flex;align-items:flex-start;gap:10px;padding:9px 14px;color:#231c4d}
.side-link:hover{background:var(--soft);color:var(--purple)}
.side-link span{flex:1;min-width:0;font-size:15px;line-height:1.5;font-weight:500}
.tags{display:flex;flex-wrap:wrap;gap:7px}
.newsletter{position:relative;overflow:hidden;background:var(--dark);border-radius:14px;padding:24px clamp(18px,3vw,34px);display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px}
.newsletter__deco{position:absolute;left:-14px;bottom:-18px;color:rgba(255,255,255,.12);transform:rotate(14deg)}
.newsletter__deco svg{fill:currentColor}
.newsletter__ico{flex:none;color:var(--purple-l);display:flex}
.newsletter__txt{display:flex;flex-direction:column;gap:4px;flex:1 1 260px}
.newsletter__txt b{font-family:var(--font-head);font-weight:800;font-size:clamp(19.5px,2.9vw,22.1px);color:var(--white)}
.newsletter__txt span{font-size:15.6px;color:#a9a5c9}
.newsletter__form{position:relative;display:flex;flex-wrap:wrap;gap:9px;flex:1 1 300px}
.newsletter__form input{flex:1 1 160px;min-width:0;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);color:var(--white);padding:12px 18px;font-size:16.3px;outline:none}
.newsletter__form input:focus{border-color:var(--purple-l)}
.newsletter__form .btn{flex:none;padding:12px 22px;font-size:15.6px}

/* 8. Artículo ------------------------------------------------------------ */
.progress{position:sticky;top:var(--head-h);z-index:39;height:3px;background:#eeecf6}
.progress__bar{height:100%;width:0;background:var(--grad);transition:width .12s linear}
.article{padding-top:26px}
.article__head{max-width:760px}
.article__head h1{margin-top:12px;font-weight:900;font-size:clamp(32.5px,5.7vw,52px);line-height:1.12;letter-spacing:-1px}
.article__lede{margin-top:14px;font-size:clamp(16.9px,2.1vw,19.5px);line-height:1.72;color:var(--ink-3)}
.article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:20px 0 22px;padding-bottom:20px;border-bottom:1px solid #eae7f4}
.author{display:flex;align-items:center;gap:10px}
.avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:50%;background:repeating-linear-gradient(135deg,#f3effd 0 7px,#faf8ff 7px 14px);color:#a99fd0}
.author__txt{display:flex;flex-direction:column;line-height:1.35}
.author__txt b{font-size:15.6px;font-weight:600}
.author__txt span{font-size:14.3px;color:var(--muted)}
.article__meta .meta{font-size:15px}
.shares{display:flex;gap:7px;margin-left:auto}
.share-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:#6b6a80}
.share-btn:hover{border-color:#c9b4f5;color:var(--purple)}
.cover{position:relative;width:100%;aspect-ratio:16/7;border-radius:14px;overflow:hidden}
.cover span{font-size:14.3px}
.article__layout{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start;padding-top:26px}
.article__body{flex:3 1 540px;min-width:0;max-width:760px;font-size:18.2px;line-height:1.82;color:var(--ink-2)}
.article__body h2{margin:26px 0 12px;font-weight:800;font-size:clamp(23.4px,3.1vw,28.6px);color:var(--ink);scroll-margin-top:calc(var(--head-h) + 28px)}
.article__body h2:first-child{margin-top:6px}
.article__body p{margin-bottom:16px}
.article__body ul{margin-bottom:16px}
.article__body li{margin-bottom:9px}
.char-box{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;padding:16px 18px;border:1px solid #e6dffb;border-radius:12px;background:var(--soft)}
.char-box__code{flex:1 1 200px;min-width:0;font-family:var(--font-mono);font-size:16.9px;color:#231c4d;padding:12px 14px;background:var(--white);border:1px dashed #d9cef7;border-radius:9px;text-align:center}
.char-box .btn{flex:none;padding:12px 20px;font-size:15px;letter-spacing:.3px}
.warn{display:flex;gap:13px;margin-bottom:22px;padding:15px 17px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa}
.warn svg{flex:none;color:#ea580c;width:17px;height:17px;margin-top:3px}
.warn p{margin:0;font-size:16.3px;line-height:1.7;color:#7c2d12}
.step-card{display:flex;gap:13px;padding:14px 16px;background:var(--white);border:1px solid var(--line);border-radius:11px}
.step-card span{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:var(--purple);color:var(--white);font-size:15px;font-weight:700}
.step-card p{margin:0;flex:1;min-width:0;font-size:16.9px;line-height:1.65}
.steps-list{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}
.article__body blockquote{margin:0 0 22px;padding:18px 22px;border-left:3px solid var(--purple-l);background:var(--soft);border-radius:0 11px 11px 0}
.article__body blockquote p{margin:0;font-size:18.2px;line-height:1.72;font-style:italic}
.faq{display:flex;flex-direction:column;gap:9px;margin-bottom:26px}
.faq__item{background:var(--white);border:1px solid var(--line);border-radius:11px;overflow:hidden}
.faq__q{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border:0;background:transparent;text-align:left}
.faq__q:hover{background:var(--soft)}
.faq__q b{flex:1;min-width:0;font-family:var(--font);font-size:16.9px;font-weight:600;color:var(--ink)}
.faq__q svg{flex:none;color:var(--purple);width:16px;height:16px;transition:transform .18s}
.faq__item.is-open .faq__q svg{transform:rotate(180deg)}
.faq__a{margin:0;padding:0 16px 15px;font-size:16.3px;line-height:1.72;color:var(--ink-3)}
.tagline{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:18px 0;border-top:1px solid #eae7f4;border-bottom:1px solid #eae7f4}
.tagline b{font-size:14.3px;font-weight:700;letter-spacing:.4px;color:var(--muted);margin-right:4px}
.author-box{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px;padding:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.author-box .avatar{width:54px;height:54px}
.author-box div{flex:1 1 240px;min-width:0}
.author-box b{font-family:var(--font-head);font-weight:800;font-size:16.9px}
.author-box p{margin-top:6px;font-size:15.6px;line-height:1.68;color:#6b6a80}
.prevnext{display:flex;gap:14px;margin-top:22px}
.prevnext a{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:12px;color:var(--ink)}
.prevnext a:hover{border-color:#d9cef7;color:var(--ink)}
.prevnext small{display:flex;align-items:center;gap:6px;font-size:13.7px;font-weight:700;color:var(--muted)}
.prevnext b{font-family:var(--font-head);font-weight:700;font-size:16.9px;line-height:1.4}
.prevnext a:last-child{text-align:right;align-items:flex-end}
.toc{display:flex;flex-direction:column;gap:2px}
.toc a{padding:8px 11px;border-radius:8px;font-size:15px;line-height:1.45;font-weight:500;color:var(--ink-3)}
.toc a:hover{background:#f6f2ff;color:var(--purple)}
.toc a.is-active{background:#f4eeff;color:var(--purple);font-weight:600}
.nick-row{display:flex;align-items:center;gap:8px;padding:6px 12px}
.nick-row span{flex:1;min-width:0;font-family:var(--font-mono);font-size:15px;color:#231c4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.related{padding-top:34px}
.related h3{margin-bottom:14px;font-weight:800;font-size:16.9px;letter-spacing:.5px}
.rel-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:var(--ink);transition:transform .16s,box-shadow .16s}
.rel-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(29,20,72,.1);color:var(--ink)}
.rel-card__thumb{height:130px}
.rel-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:7px;align-items:flex-start}
.rel-card__body b{font-family:var(--font-head);font-weight:800;font-size:17.6px;line-height:1.32}
.rel-card__body small{font-size:14.3px;color:var(--muted)}

/* 9. WordPress ----------------------------------------------------------- */
/* Accesibilidad: enlace de salto y texto sólo para lectores de pantalla. */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;left:12px;top:12px;z-index:200;width:auto;height:auto;clip:auto;margin:0;padding:10px 16px;background:var(--white);border-radius:9px;box-shadow:var(--shadow);font-weight:700;color:var(--purple)}

/* Contenido servido por el editor: hereda la tipografía de .article__body. */
.entry-content>*:first-child{margin-top:0}
.entry-content h2{margin:26px 0 12px;font-family:var(--font-head);font-weight:800;font-size:clamp(23.4px,3.1vw,28.6px);color:var(--ink);scroll-margin-top:calc(var(--head-h) + 28px)}
.entry-content h3{margin:22px 0 10px;font-family:var(--font-head);font-weight:800;font-size:clamp(19.5px,2.5vw,22.8px);color:var(--ink);scroll-margin-top:calc(var(--head-h) + 28px)}
.entry-content h4{margin:18px 0 9px;font-family:var(--font-head);font-weight:700;font-size:18.9px;color:var(--ink)}
.entry-content p{margin-bottom:16px}
.entry-content ul,.entry-content ol{margin-bottom:16px}
.entry-content li{margin-bottom:9px}
.entry-content img{height:auto;border-radius:11px}
.entry-content figure{margin:0 0 20px}
.entry-content figcaption{margin-top:8px;font-size:14.3px;color:var(--muted);text-align:center}
.entry-content blockquote{margin:0 0 22px;padding:18px 22px;border-left:3px solid var(--purple-l);background:var(--soft);border-radius:0 11px 11px 0}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content code{padding:2px 6px;border-radius:6px;background:var(--soft);border:1px solid var(--line-2);font-family:var(--font-mono);font-size:.9em}
.entry-content pre{overflow-x:auto;padding:16px 18px;border-radius:11px;background:var(--dark);color:#e8e4ff;font-family:var(--font-mono);font-size:15px;line-height:1.6}
.entry-content pre code{padding:0;background:none;border:0;color:inherit}
.entry-content hr{height:1px;margin:26px 0;border:0;background:#eae7f4}
.entry-content a{text-decoration:underline;text-underline-offset:2px}
.entry-content>iframe,.entry-content .wp-block-embed iframe{max-width:100%;border-radius:11px}

/* Tablas del editor: nunca deben desbordar el ancho del artículo. */
.entry-content .wp-block-table,.entry-content .wp-block-table>table{width:100%}
.entry-content .wp-block-table{overflow-x:auto}
.entry-content table{width:100%;border-collapse:collapse;font-size:16.3px}
.entry-content th,.entry-content td{padding:10px 12px;border:1px solid var(--line);text-align:left}
.entry-content th{background:var(--soft);font-weight:700}

/* Alineaciones del editor, acotadas al ancho de lectura. */
.entry-content .alignleft{float:left;margin:4px 20px 16px 0;max-width:50%}
.entry-content .alignright{float:right;margin:4px 0 16px 20px;max-width:50%}
.entry-content .aligncenter{margin-left:auto;margin-right:auto;display:block}
.entry-content .alignwide,.entry-content .alignfull{margin-left:0;margin-right:0;max-width:100%}

/* Imagen destacada como portada del artículo. */
.cover img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}

/* Paginación de archivos. */
.pager .page-numbers{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);font-size:15.6px;font-weight:600;color:var(--ink-3)}
.pager .page-numbers:hover{border-color:#c9b4f5;color:var(--purple)}
.pager .page-numbers.current{background:var(--purple);border-color:var(--purple);color:var(--white)}
.pager .page-numbers.dots{border-color:transparent;background:none}

/* Comentarios (el sitio puede tenerlos desactivados; el bloque se oculta solo). */
.comments{max-width:760px;padding-top:30px;margin-top:30px;border-top:1px solid #eae7f4}
.comments__title{font-family:var(--font-head);font-weight:800;font-size:20.7px;margin-bottom:16px}
.comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.comment-list ol.children{list-style:none;margin:14px 0 0;padding-left:20px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:14px}
.comment-body{padding:15px 17px;background:var(--white);border:1px solid var(--line);border-radius:12px}
.comment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:14.3px;color:var(--muted)}
.comment-author b{font-size:15.6px;font-weight:600;color:var(--ink)}
.comment-content p{margin-bottom:10px;font-size:16.3px;line-height:1.7}
.comment-content p:last-child{margin-bottom:0}
.comment-form{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.comment-form p{display:flex;flex-direction:column;gap:6px;margin:0}
.comment-form label{font-size:14.3px;font-weight:600;color:var(--ink-2)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;padding:11px 13px;border:1px solid var(--line-2);border-radius:10px;background:var(--white);font-family:var(--font);font-size:16.3px;color:var(--ink)}
.comment-form textarea{min-height:130px;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{outline:0;border-color:var(--purple-l);box-shadow:0 0 0 3px rgba(168,85,247,.14)}

/* Resultados de búsqueda y estados vacíos reutilizan .empty-state. */
.search-form{display:flex;gap:8px}
.search-form input[type=search]{flex:1;min-width:0}


/* Texto de la portada: ancho de lectura cómodo, pero las rejillas de símbolos
   y las tablas aprovechan todo el ancho de la caja. */
.home-content{max-width:860px;margin:0 auto;font-size:18.2px;line-height:1.82;color:var(--ink-2)}
.home-content>h2:first-child{margin-top:0}

/* 9b. Clases que ya usa el contenido publicado ---------------------------- */
/* Estos nombres vienen de las entradas y páginas ya escritas. Se mantienen tal
   cual: cambiar el marcado del contenido para adaptarlo al tema sería reescribir
   lo que ya está indexado. */

/* Rejilla de símbolos para copiar. Se ajusta sola al ancho disponible y deja
   que los combos largos ocupen dos huecos. */
.glyph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin:0 0 18px}
.gly{display:flex;align-items:center;justify-content:center;min-height:52px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:#231c4d;font-family:var(--font-mono);font-size:19px;line-height:1.25;cursor:pointer;word-break:break-word;text-align:center;transition:transform .14s,border-color .14s,background .14s}
.gly:hover{border-color:#c9b4f5;background:#f8f4ff;transform:translateY(-2px)}
.gly:active{transform:translateY(0)}
.gly.is-copied{border-color:var(--green);background:#f0fdf4;color:var(--green)}
.gly--wide{grid-column:span 2;font-size:15.6px}
.glyph-note{margin:-6px 0 20px;font-size:15.6px;line-height:1.7;color:var(--muted)}

/* Aviso destacado dentro del contenido. */
.aviso{margin:0 0 22px;padding:15px 18px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12}
.aviso p{margin-bottom:10px;font-size:16.3px;line-height:1.7}
.aviso p:last-child{margin-bottom:0}
.aviso strong{color:#7c2d12}
.aviso a{color:#9a3412}

/* Nota discreta al pie de un bloque. */
.note{font-size:15.6px;line-height:1.7;color:var(--ink-3);padding:12px 15px;background:var(--soft);border:1px solid var(--line-2);border-radius:11px}

/* Tabla ancha: se desplaza dentro de su caja, nunca empuja el ancho de la
   página (que es lo que rompe la lectura en móvil). */
.table-scroll{overflow-x:auto;margin:0 0 20px;-webkit-overflow-scrolling:touch}
.table-scroll table{min-width:520px;margin:0}

@media (max-width:520px){
  .glyph-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px}
  .gly{min-height:46px;font-size:17px}
  .gly--wide{font-size:14.3px}
}

/* 10. Responsive ---------------------------------------------------------- */
@media (max-width:900px){
  .hide-sm{display:none!important}
  .nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-ms-overflow-style:none}
  .nav::-webkit-scrollbar{display:none}
  .brandmark{align-items:flex-start}
  .sidebar{position:static}
  .gen{padding:18px}
}
@media (max-width:700px){
  .post-featured,.post-row,.prevnext{flex-direction:column}
  .post-featured__thumb{width:100%;min-height:0;height:180px}
  .post-row__thumb{width:100%;height:170px}
  .prevnext a:last-child{text-align:left;align-items:flex-start}
  .strip__item{border-left:0}
  .cta-band .btn{margin-left:0;width:100%}
  .article__meta .shares{margin-left:0}
}
@media (max-width:1180px){
  .booyah{display:none}
}
@media (max-width:620px){
  .legal__inner{flex-direction:column;text-align:center}
  .section{padding-top:30px}
}
@media (max-width:420px){
  .btn--grad{font-size:19.5px;padding:15px 20px}
  .brand__text b{font-size:18.2px}
}
@media print{
  .site-header,.progress,.shares,.newsletter,.promo,.cta-band{display:none}
  body{background:#fff}
}

/* Índice de páginas fijas (server-side) */
.page-toc{margin:0 0 26px}
.page-toc .toc a{text-decoration:none}
.page-toc .toc a:hover{text-decoration:none}
