/* Biblioteca Técnica · plantilla maestra v5.3.0 */
.ml-guide-page { background:#090507; color:#f7edf2; min-height:100vh; }
.ml-guide { --guide-pink:#ff2b8a; --guide-pink-soft:#ff85bc; --guide-wine:#3a0d20; --guide-line:rgba(255,43,138,.34); --guide-paper:#f7edf2; --guide-muted:#cdbcc5; font-family:Arial,Helvetica,sans-serif; }
.ml-guide-progress { position:fixed; top:0; left:0; right:0; height:3px; z-index:1005; pointer-events:none; }
.ml-guide-progress span { display:block; width:100%; height:100%; background:var(--guide-pink); transform:scaleX(0); transform-origin:left center; box-shadow:0 0 12px var(--guide-pink); }

.ml-guide-hero { min-height:520px; position:relative; display:flex; align-items:flex-end; overflow:hidden; border-bottom:1px solid var(--guide-line); isolation:isolate; }
.ml-guide-hero-image,.ml-guide-hero-texture { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-3; }
.ml-guide-hero-texture { background:radial-gradient(circle at 72% 25%,rgba(255,43,138,.24),transparent 30%),linear-gradient(135deg,#210814,#050304 65%); }
.ml-guide-hero-image { filter:saturate(.78) contrast(1.08) brightness(.62); }
.ml-guide-hero-overlay { position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(6,2,4,.82) 62%,#090507 100%); }
.ml-guide-hero-inner { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:150px 0 58px; }
.ml-guide-breadcrumb { display:flex; flex-wrap:wrap; gap:9px; align-items:center; font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; color:#eedbe4; margin-bottom:20px; }
.ml-guide-breadcrumb a { color:#fff; text-decoration:none; border-bottom:1px solid var(--guide-pink); }
.ml-guide-code,.ml-guide-section-kicker { color:var(--guide-pink-soft); font-size:.82rem; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
.ml-guide-hero h1 { max-width:1020px; margin:8px 0 18px; font-family:'newSlendermanswriting',cursive; font-size:clamp(3rem,7vw,6.3rem); line-height:.92; font-weight:400; color:#fff; text-shadow:0 0 18px rgba(255,0,122,.72),3px 3px 0 #000; overflow-wrap:anywhere; }
.ml-guide-deck { max-width:840px; margin:0 0 26px; color:#f4e8ee; font-size:clamp(1.12rem,2vw,1.35rem); line-height:1.55; }
.ml-guide-meta-strip { display:flex; flex-wrap:wrap; gap:10px 18px; color:#e5d5dd; font-size:.88rem; }
.ml-guide-meta-strip span { padding-left:12px; border-left:2px solid var(--guide-pink); }

.ml-guide-shell { width:min(1240px,calc(100% - 40px)); margin:0 auto; display:grid; grid-template-columns:250px minmax(0,820px); gap:54px; justify-content:center; padding:58px 0 90px; align-items:start; }
.ml-guide-toc { position:sticky; top:92px; }
.ml-guide-toc-card { border:1px solid var(--guide-line); background:rgba(35,8,20,.6); padding:22px 20px; box-shadow:8px 8px 0 rgba(255,43,138,.08); }
.ml-guide-toc-title { font-family:'newSlendermanswriting',cursive; font-size:1.55rem; color:#fff; margin-bottom:14px; }
.ml-guide-toc-links { display:flex; flex-direction:column; gap:2px; }
.ml-guide-toc-links a { color:#cdbcc5; text-decoration:none; font-size:.86rem; line-height:1.35; padding:7px 8px; border-left:2px solid transparent; transition:.18s ease; }
.ml-guide-toc-links a:hover,.ml-guide-toc-links a.is-active { color:#fff; border-left-color:var(--guide-pink); background:rgba(255,43,138,.08); }
.ml-guide-toc-links a.is-sub { padding-left:22px; font-size:.8rem; }
.ml-guide-back { display:block; margin-top:18px; padding-top:15px; border-top:1px solid var(--guide-line); color:var(--guide-pink-soft); text-decoration:none; font-size:.82rem; }
.ml-guide-toc-card.is-empty { display:none; }
.ml-guide-toc-mobile { display:none; }

.ml-guide-main { min-width:0; }
.ml-guide-content { color:var(--guide-paper); font-size:clamp(1.08rem,1.25vw,1.19rem); line-height:1.82; overflow-wrap:anywhere; }
.ml-guide-content > :first-child { margin-top:0; }
.ml-guide-content p,.ml-guide-content ul,.ml-guide-content ol,.ml-guide-content table,.ml-guide-content figure,.ml-guide-content blockquote { margin:0 0 1.65em; }
.ml-guide-content h2,.ml-guide-content h3,.ml-guide-content h4 { scroll-margin-top:100px; color:#fff; }
.ml-guide-content h2 { font-family:'newSlendermanswriting',cursive; font-size:clamp(2.25rem,4.7vw,3.5rem); line-height:1; margin:2.15em 0 .55em; font-weight:400; color:#ff7fba; text-shadow:0 0 10px rgba(255,0,122,.34); }
.ml-guide-content h3 { font-family:'newSlendermanswriting',cursive; font-size:clamp(1.72rem,3.4vw,2.45rem); line-height:1.05; margin:1.8em 0 .5em; font-weight:400; }
.ml-guide-content h4 { font-size:1.2rem; margin:1.6em 0 .55em; color:#ff9ac8; }
.ml-guide-content a { color:#ff91c2; text-decoration-thickness:1px; text-underline-offset:3px; }
.ml-guide-content strong { color:#fff; }
.ml-guide-content ul,.ml-guide-content ol { padding-left:1.35em; }
.ml-guide-content li { margin:.46em 0; padding-left:.2em; }
.ml-guide-content li::marker { color:var(--guide-pink); }
.ml-guide-content blockquote { margin:2.2em 0; padding:24px 26px; border-left:5px solid var(--guide-pink); background:linear-gradient(90deg,rgba(255,43,138,.13),rgba(255,43,138,.02)); color:#f8dce9; font-size:1.12em; }
.ml-guide-content hr { border:0; height:1px; margin:3rem 0; background:linear-gradient(90deg,transparent,var(--guide-pink),transparent); }

/* Figuras: nunca se recortan ni fuerzan a un aspect ratio. */
.ml-guide-content figure,.ml-guide-content .wp-block-image { width:100%; max-width:100%; margin:2.4rem auto; }
.ml-guide-content figure img,.ml-guide-content .wp-block-image img,.ml-guide-content > img { display:block; width:auto; max-width:100%; height:auto; margin:0 auto; border:1px solid rgba(255,43,138,.62); background:#12070c; box-shadow:0 16px 40px rgba(0,0,0,.38),0 0 0 5px rgba(255,43,138,.035); }
.ml-guide-content figcaption,.ml-guide-content .wp-element-caption { max-width:100%; margin:10px auto 0; padding:10px 12px; color:#dbc7d1; background:rgba(51,13,31,.56); border-left:3px solid var(--guide-pink); font-size:.88rem; line-height:1.5; text-align:left; }
.ml-guide-content .alignwide { width:min(1000px,calc(100vw - 48px)); max-width:none; margin-left:50%; transform:translateX(-50%); }
.ml-guide-content .alignfull { width:100vw; max-width:none; margin-left:50%; transform:translateX(-50%); }

.ml-guide-content table { width:100%; border-collapse:collapse; display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; font-size:.96rem; }
.ml-guide-content th,.ml-guide-content td { min-width:150px; padding:13px 14px; border:1px solid rgba(255,43,138,.24); vertical-align:top; }
.ml-guide-content th { color:#fff; background:#401127; text-align:left; }
.ml-guide-content td { background:rgba(255,255,255,.025); }

/* Bloques reutilizables dentro del contenido: class="ml-note", "ml-warning" o "ml-key-point". */
.ml-guide-content .ml-note,.ml-guide-content .ml-warning,.ml-guide-content .ml-key-point { margin:2rem 0; padding:20px 22px; border:1px solid var(--guide-line); background:rgba(255,43,138,.055); }
.ml-guide-content .ml-warning { border-color:rgba(255,109,64,.72); background:rgba(255,89,48,.065); }
.ml-guide-content .ml-key-point { border-left:5px solid var(--guide-pink); }

.ml-guide-editorial,.ml-guide-related { margin-top:74px; padding-top:42px; border-top:1px solid var(--guide-line); }
.ml-guide-editorial h2,.ml-guide-related h2 { margin:7px 0 24px; font-family:'newSlendermanswriting',cursive; color:#fff; font-size:clamp(2rem,4vw,3rem); font-weight:400; }
.ml-guide-editorial-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:34px; }
.ml-guide-editorial dl { margin:0; }
.ml-guide-editorial dl div { display:grid; grid-template-columns:120px 1fr; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.ml-guide-editorial dt { color:#ff83bb; font-weight:700; }
.ml-guide-editorial dd { margin:0; color:#fff; }
.ml-guide-editorial-copy { color:#e5d5dd; line-height:1.7; }
.ml-guide-editorial-copy p { margin:0 0 14px; }
.ml-guide-editorial-copy a { color:#ff91c2; }

.ml-guide-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.ml-guide-related-card { min-height:170px; padding:20px; display:flex; flex-direction:column; text-decoration:none; background:#15080e; border:1px solid var(--guide-line); transition:transform .18s ease,border-color .18s ease; }
.ml-guide-related-card:hover { transform:translateY(-3px); border-color:var(--guide-pink); }
.ml-guide-related-card span { color:#ff86bb; font-size:.75rem; letter-spacing:.12em; }
.ml-guide-related-card strong { color:#fff; font-family:'newSlendermanswriting',cursive; font-size:1.55rem; line-height:1; margin:16px 0; font-weight:400; }
.ml-guide-related-card em { margin-top:auto; color:#d8c6cf; font-size:.83rem; font-style:normal; }
.ml-guide-related-empty { color:#cdbcc5; }
.ml-guide-footer-nav { margin-top:58px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; border-top:1px solid var(--guide-line); color:#a9949e; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; }
.ml-guide-footer-nav a { color:#ff91c2; text-decoration:none; }

/* Portada Biblioteca */
.ml-library-page { background:#090507; color:#f7edf2; min-height:75vh; padding:70px 0 90px; font-family:Arial,Helvetica,sans-serif; }
.ml-library-inner { width:min(1120px,calc(100% - 40px)); margin:0 auto; }
.ml-library-kicker { color:#ff75b2; font-size:.82rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.ml-library-page h1 { margin:6px 0 10px; font-family:'newSlendermanswriting',cursive; font-size:clamp(3.2rem,7vw,6rem); line-height:.95; font-weight:400; color:#fff; text-shadow:0 0 18px rgba(255,0,122,.48); }
.ml-library-intro { max-width:720px; color:#d8c7cf; font-size:1.18rem; line-height:1.65; }
.ml-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:46px; }
.ml-library-card { position:relative; min-height:360px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; padding:25px; border:1px solid rgba(255,43,138,.38); background:linear-gradient(150deg,#2b0b1b,#0b0508); text-decoration:none; }
.ml-library-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.32; filter:grayscale(.2) contrast(1.05); transition:transform .35s ease; }
.ml-library-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.94)); }
.ml-library-card > *:not(img) { position:relative; z-index:1; }
.ml-library-card:hover img { transform:scale(1.035); }
.ml-library-card-code { color:#ff7db7; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; }
.ml-library-card h2 { margin:9px 0 12px; color:#fff; font-family:'newSlendermanswriting',cursive; font-size:2rem; line-height:1; font-weight:400; }
.ml-library-card p { color:#dfced6; font-size:.92rem; line-height:1.5; }
.ml-library-card-read { color:#ff8fc2; font-size:.82rem; margin-top:12px; }
.ml-library-pagination { margin-top:38px; display:flex; flex-wrap:wrap; gap:8px; }
.ml-library-pagination .page-numbers { color:#fff; border:1px solid var(--rosa-neon,#ff007a); padding:8px 11px; text-decoration:none; }
.ml-library-pagination .current { background:#ff007a; }

@media (max-width:1020px) {
  .ml-guide-shell { grid-template-columns:minmax(0,820px); }
  .ml-guide-toc { display:none; }
  .ml-guide-toc-mobile { display:block; margin:0 0 28px; border:1px solid var(--guide-line); background:#160910; }
  .ml-guide-toc-mobile summary { cursor:pointer; padding:15px 18px; color:#fff; font-family:'newSlendermanswriting',cursive; font-size:1.45rem; }
  .ml-guide-toc-mobile .ml-guide-toc-links { padding:0 12px 14px; }
  .ml-guide-toc-mobile.is-empty { display:none; }
  .ml-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:680px) {
  .ml-guide-hero { min-height:430px; }
  .ml-guide-hero-inner { width:min(100% - 30px,1180px); padding:110px 0 38px; }
  .ml-guide-hero h1 { font-size:clamp(2.7rem,13vw,4.4rem); line-height:.94; }
  .ml-guide-deck { font-size:1.08rem; line-height:1.55; }
  .ml-guide-meta-strip { font-size:.8rem; }
  .ml-guide-shell { width:min(100% - 28px,1240px); padding:34px 0 70px; }
  .ml-guide-content { font-size:1.12rem; line-height:1.76; }
  .ml-guide-content h2 { font-size:clamp(2.05rem,10vw,2.8rem); }
  .ml-guide-content h3 { font-size:clamp(1.68rem,8vw,2.2rem); }
  .ml-guide-content figure,.ml-guide-content .wp-block-image { margin:2rem auto; }
  .ml-guide-content figcaption,.ml-guide-content .wp-element-caption { font-size:.92rem; }
  .ml-guide-editorial,.ml-guide-related { margin-top:56px; padding-top:32px; }
  .ml-guide-editorial-grid { grid-template-columns:1fr; gap:22px; }
  .ml-guide-editorial dl div { grid-template-columns:100px 1fr; }
  .ml-guide-related-grid { grid-template-columns:1fr; }
  .ml-guide-related-card { min-height:140px; }
  .ml-guide-footer-nav { flex-direction:column; align-items:flex-start; }
  .ml-library-page { padding:48px 0 70px; }
  .ml-library-inner { width:min(100% - 28px,1120px); }
  .ml-library-grid { grid-template-columns:1fr; gap:16px; margin-top:34px; }
  .ml-library-card { min-height:320px; }
}
