/* Jupá · Guías (jupa.app/guias/…). CSS propio y liviano sobre tokens.css: no depende de m.css ni de los estilos de la portada.
   Lectura cómoda en el celular primero (texto 17px, renglones de ~68 caracteres), índice al costado en compu, y versión para imprimir. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px}
body.gb{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.7 var(--font-body);-webkit-tap-highlight-color:transparent;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--violet);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--violet-deep)}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:6px}
.skip{position:fixed;left:12px;top:12px;z-index:100;transform:translateY(-200%);background:var(--ink-2);color:#fff;padding:12px 16px;border-radius:12px;text-decoration:none}
.skip:focus{transform:none;color:#fff}
em{font-family:var(--font-accent);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.01em}

/* ——— Barra de arriba ——— */
.gh{position:sticky;top:0;z-index:40;background:rgba(251,250,252,.88);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
/* se va (hacia arriba, suave) cuando el pie llega arriba; vuelve si alguien llega con el teclado a un enlace (guia.js) */
.gh{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.gh.pie:not(:focus-within){transform:translateY(-105%)}
@media (prefers-reduced-motion:reduce){.gh{transition:none}}
.gh-in{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1180px;height:60px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left))}
.gh-logo{display:flex;align-items:center;min-height:44px}
.gh-logo img{width:100px;height:auto;display:block}
.gh-nav{display:flex;align-items:center;gap:4px}
.gh-l{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;color:var(--ink);text-decoration:none;font-weight:500;font-size:15px}
.gh-l:hover{background:var(--lilac-soft);color:var(--ink)}
.gh-b{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;margin-left:4px;border-radius:999px;background:var(--ink-2);color:#fff;text-decoration:none;font-weight:600;font-size:14.5px;transition:transform .2s var(--ease)}
.gh-b:hover{color:#fff}
.gh-b:active,.gbtn:active,.gcard:active{transform:scale(.97)}
@media (max-width:420px){.gh-hide{display:none}}

/* ——— Encabezado de la guía ——— */
.gm{display:block}
.ghero{max-width:780px;margin:0 auto;padding:22px 16px 8px}
.gcr ol{display:flex;flex-wrap:wrap;gap:2px 0;list-style:none;margin:0 0 18px;padding:0;font-size:14px;color:var(--muted)}
.gcr li+li::before{content:"›";margin:0 8px;color:var(--line-strong)}
.gcr li{padding:6px 0}
.gcr a{color:var(--muted);text-decoration:none}
.gcr a:hover{color:var(--violet)}
.gk{margin:0 0 10px;font:600 12.5px/1.4 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--violet)}
.ghero h1{margin:0;font:500 clamp(30px,8.4vw,54px)/1.04 var(--font-display);text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.ghero h1 em{font-size:1.08em;letter-spacing:-.02em}
.glead{margin:16px 0 0;font-size:18.5px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.gmeta{margin:16px 0 0;font-size:14.5px;color:var(--muted)}
.gmeta b{color:var(--ink);font-weight:600}
.gprint{margin-top:16px}

/* ——— Cuerpo: índice + texto ——— */
.gwrap{max-width:780px;margin:0 auto;padding:12px 16px 40px}
.gtoc{margin:16px 0 32px;padding:14px 18px 10px;border:1px solid var(--line);border-radius:var(--radius-m);background:#fff}
.gtoc-k{margin:0 0 6px;font:600 12px/1.4 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.gtoc ol{margin:0;padding:0 0 0 20px;font-size:15.5px;line-height:1.45}
.gtoc li{padding:0}
.gtoc a{display:block;padding:6px 0;color:var(--ink);text-decoration:none}
.gtoc a:hover{color:var(--violet)}
.gtoc li::marker{color:var(--violet);font-size:.85em}
.gbody{min-width:0}
.gans{margin:24px 0 8px;padding:20px 20px 6px;border-radius:var(--radius-m);background:var(--lilac-soft);border:1px solid var(--lilac)}
.gans-k{margin:0 0 8px;font:600 12px/1.4 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--violet-deep)}
.gans p{margin:0 0 14px}
.gs{margin:0 0 40px}
.gs h2,.grel h2,.gidx-how h2{margin:0 0 14px;font:500 clamp(23px,5.6vw,32px)/1.12 var(--font-display);text-transform:uppercase;letter-spacing:-.005em;color:var(--ink);text-wrap:balance}
.gs h2 em,.grel h2 em,.gidx-how h2 em{font-size:1.1em}
.gs h3{margin:28px 0 10px;font:650 19px/1.35 var(--font-body);color:var(--ink)}
.gs p{margin:0 0 16px;text-wrap:pretty}
.gs ul,.gs ol{margin:0 0 18px;padding-left:22px}
.gs li{margin:0 0 9px}
.gs li::marker{color:var(--violet)}
.gs small{color:var(--muted);font-size:13.5px}

/* Tablas: angostas (2–4 columnas); si no entran, se desplazan dentro de su caja, nunca la página */
.tw{margin:0 0 20px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius-m);background:#fff;overscroll-behavior-x:contain}
.tw table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.tw caption{caption-side:top;text-align:left;padding:12px 14px 4px;font-size:13.5px;color:var(--muted)}
.tw th,.tw td{padding:11px 14px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.tw thead th{border-top:0;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.tw tbody th{font-weight:600;color:var(--ink);min-width:4.5em}
.tw tbody tr:nth-child(even){background:#fbfafc}

/* Celular: las tablas de 3+ columnas se leen como tarjetas (cada dato con el título de su columna) */
@media (max-width:640px){
  .tw-c{overflow:visible;border:0;background:transparent}
  .tw-c table,.tw-c tbody,.tw-c tr,.tw-c th,.tw-c td{display:block;width:auto}
  .tw-c caption{display:block;padding:0 2px 8px}
  .tw-c thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .tw-c tr{margin:0 0 10px;padding:4px 16px 8px;border:1px solid var(--line);border-radius:var(--radius-m);background:#fff!important}
  .tw-c tbody th{padding:10px 0 6px;border:0;font-size:16px}
  .tw-c td{padding:6px 0;border-top:1px solid var(--line)}
  .tw-c td:empty{display:none}
  .tw-c td::before{content:attr(data-l);display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
}
/* Pasos numerados */
.steps{list-style:none;counter-reset:st;margin:0 0 20px;padding:0!important}
.steps>li{counter-increment:st;position:relative;margin:0 0 14px!important;padding:16px 16px 4px 64px;border:1px solid var(--line);border-radius:var(--radius-m);background:#fff}
.steps>li::before{content:counter(st);position:absolute;left:16px;top:16px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--ink-2);color:#fff;font:600 15px/1 var(--font-body)}
.steps h3{margin:4px 0 6px!important;font-size:17.5px!important}
.steps p{margin:0 0 12px!important;font-size:16px}

/* Notas */
.gnote{margin:0 0 20px;padding:16px 18px;border-left:3px solid var(--violet);border-radius:0 var(--radius-s) var(--radius-s) 0;background:#fff}
.gnote p{margin:0;font-size:16px}
.gnote .gnote-k{margin:0 0 4px;font:600 12px/1.4 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}

/* Textos modelo para copiar */
.tx{margin:0 0 14px;padding:16px 18px 14px;border-radius:var(--radius-m);background:var(--paper-warm);border:1px solid var(--line)}
.tx figcaption{margin:0 0 8px;font:600 12px/1.4 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}
.tx blockquote{margin:0;font:400 19px/1.5 var(--font-accent);color:var(--violet-deep);overflow-wrap:anywhere}
.tx-c{margin-top:12px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);font:600 14.5px var(--font-body);cursor:pointer;transition:transform .2s var(--ease),background .2s}
.tx-c:hover{border-color:var(--violet)}
.tx-c:active{transform:scale(.97)}
.tx-c.ok{background:var(--ok);border-color:var(--ok);color:#fff}

/* Checklist para tildar (≥44px por renglón) */
.ck{list-style:none;margin:0 0 18px;padding:0!important;border:1px solid var(--line);border-radius:var(--radius-m);background:#fff;overflow:hidden}
.ck li{margin:0!important;border-top:1px solid var(--line)}
.ck li:first-child{border-top:0}
.ck label{display:flex;align-items:flex-start;gap:14px;min-height:48px;padding:12px 16px;cursor:pointer;font-size:16px;line-height:1.45}
.ck input{margin-top:1px}
.ck input:checked+span{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line-strong)}

/* Preguntas frecuentes */
.gfaq{border-top:1px solid var(--line)}
.gfaq details{border-bottom:1px solid var(--line)}
.gfaq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 0;cursor:pointer;list-style:none;font-weight:600;font-size:17px;line-height:1.4}
.gfaq summary::-webkit-details-marker{display:none}
.gfaq summary::after{content:"";flex:none;width:10px;height:10px;border-right:2px solid var(--violet);border-bottom:2px solid var(--violet);transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s var(--ease)}
.gfaq details[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.gfaq details>div p{margin:0 0 18px;color:var(--ink-2)}

/* Llamado suave a Jupá */
.gcta{margin:8px 0 44px;padding:24px 22px;border-radius:var(--radius-l);background:var(--night);color:rgba(255,255,255,.82)}
.gcta p{margin:0 0 12px}
.gcta-k{font:600 12px/1.4 var(--font-body)!important;letter-spacing:.16em;text-transform:uppercase;color:#cdb8ec}
.gcta-h{font:500 clamp(24px,6vw,32px)/1.1 var(--font-display);text-transform:uppercase;color:#fff;margin-bottom:12px!important}
.gcta-b{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.gbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;font:600 15.5px var(--font-body);text-decoration:none;cursor:pointer;transition:transform .2s var(--ease)}
.gbtn-w{background:#fff;color:var(--ink)}
.gbtn-w:hover{color:var(--ink)}
.gbtn-g{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.gbtn-g:hover{color:#fff;border-color:#fff}
.gbtn-o{background:#fff;color:var(--ink);border-color:var(--line-strong)}

/* Fuentes */
.gsrc ol{font-size:15px;line-height:1.5}
.gsrc li{overflow-wrap:anywhere}
.gsrc p{font-size:15.5px;color:var(--ink-2)}
.gsrc-up{margin-top:18px!important;padding-top:16px;border-top:1px solid var(--line)}

/* Tarjetas de guías (relacionadas e índice) */
.grel,.gidx,.gidx-how{max-width:1180px;margin:0 auto;padding:8px 16px 48px}
.gcards{display:grid;gap:14px;grid-template-columns:1fr}
.gcard{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-l);background:#fff;color:var(--ink);text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.gcard:hover{color:var(--ink);border-color:var(--line-strong);box-shadow:0 20px 40px -28px rgba(35,26,46,.45)}
.gcard-k{font:600 11.5px/1.4 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}
.gcard b{font:500 21px/1.15 var(--font-display);text-transform:uppercase}
.gcard b em{font-size:1.08em}
.gcard-p{font-size:15.5px;line-height:1.5;color:var(--muted)}
.gcard-go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-weight:600;font-size:15px;color:var(--violet)}
.ghero-i{max-width:1180px;padding-bottom:20px}
.ghero-i h1{max-width:16ch}
.ghero-i .glead{max-width:640px}
.gidx-how{max-width:780px}
.gidx-how li{margin-bottom:10px}

/* ——— Pie: dist/pie.css (el mismo del sitio; lo enlaza el propio pie) ——— */

@media (min-width:720px){
  .gcards{grid-template-columns:repeat(2,1fr)}
  .ghero{padding-top:34px}
  .gcta{padding:32px 34px}
}
@media (min-width:980px){
  .gcards{grid-template-columns:repeat(3,1fr)}
  .grel,.gidx{padding-left:20px;padding-right:20px}
}
/* Compu: índice fijo al costado del texto */
@media (min-width:1120px){
  .ghero{max-width:1100px;padding-left:320px;padding-right:20px}
  .ghero .gans,.ghero .glead{max-width:740px}
  .ghero-i{max-width:1180px;padding-left:20px}
  .gwrap{max-width:1100px;display:grid;grid-template-columns:250px minmax(0,740px);gap:50px;padding:20px 20px 60px}
  .gtoc{position:sticky;top:84px;align-self:start;margin:0;max-height:calc(100vh - 110px);overflow:auto;border:0;background:transparent;padding:2px 4px}
  .gtoc ol{font-size:14.5px}
  .gtoc a{padding:6px 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ——— Para imprimir: solo el contenido, en negro, con casillas para tildar a mano ——— */
@media print{
  @page{margin:16mm 14mm}
  body.gb{background:#fff;color:#000;font-size:11.5pt;line-height:1.5}
  .gh,.foot,.gtoc,.gcta,.grel,.gcr,.gprint,.tx-c,.skip,.gfaq,.gsrc-up{display:none!important}
  .ghero,.gwrap{max-width:none;padding:0;display:block}
  .ghero h1{font-size:24pt;color:#000}
  .glead{font-size:12pt}
  .gans,.steps>li,.tw,.ck,.tx,.gnote{background:#fff!important;border-color:#999!important;break-inside:avoid}
  .gs{break-inside:auto;margin-bottom:18pt}
  .gs h2{font-size:15pt;break-after:avoid;color:#000}
  .ck label{min-height:0;padding:5pt 8pt}
  .ck input{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important;border:1.5px solid #000!important}
  .ck input:checked+span{text-decoration:none;color:#000}
  a{color:#000;text-decoration:none}
  .gsrc a::after{content:" (" attr(href) ")";font-size:9pt;color:#444;word-break:break-all}
  .steps>li::before{background:#fff;color:#000;border:1.5px solid #000}
}
