/* site.css (MIAPS Static) - estable en móvil + ancho mejorado
   Ubicación: /public_html/aps/assets/css/site.css
*/

/* ===== Base ===== */
:root{
  --miaps-primary:#0b4d6d;
  --miaps-text:#0b2330;
  --miaps-accent:#0aa6b4;
  --miaps-surface:#ffffff;
  --miaps-soft:#e6eef4;
  --miaps-bg:#f6f9fb;
  --miaps-ok:#0a8f48;
  --shadow:0 8px 24px rgba(3,32,41,0.06);
  --focus:0 0 0 3px rgba(10,166,180,.35);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--miaps-bg);
  color:var(--miaps-text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.55;
}

/* Skip link */
.skip-link{
  position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;
  padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--miaps-soft);
  box-shadow:var(--shadow);z-index:9999
}
.skip-link:focus{left:12px;top:12px;width:auto;height:auto}

/* ===== Header (estable + hamburguesa móvil) ===== */
.site-header{background:#fff;border-bottom:1px solid var(--miaps-soft)}
.site-header__inner{
  max-width:1400px;
  margin:0 auto;
  padding:14px clamp(16px,2vw,28px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:inherit;
  min-width:0;
}
.brand__logo{
  height:56px;
  width:auto;
  max-width:72px;
  object-fit:contain;
}
.brand__title{
  font-size:clamp(18px,2.2vw,30px);
  font-weight:800;
  white-space:nowrap;
}

.nav{
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav a{
  color:var(--miaps-text);
  text-decoration:none;
  font-weight:600;
  padding:8px 10px;
  border-radius:10px;
  white-space:nowrap;
}
.nav a:hover{background:#f6fbff}

.nav-toggle{
  display:none;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--miaps-soft);
  background:#fff;
  font-weight:800;
}

/* Móvil: nav colapsa y se abre con el botón */
@media (max-width: 860px){
  .site-header__inner{flex-wrap:wrap}
  .brand__title{white-space:normal}
  .nav-toggle{display:inline-flex}
  .nav{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    padding:10px 0 0 0;
  }
  .site-header.is-open .nav{display:flex}
}

/* Badge patrocinio */
.sponsor{display:flex;justify-content:center;padding:10px 0 14px 0}
.sponsor__badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  background:rgba(10,166,180,.10);
  border:1px solid rgba(10,166,180,.25);
  color:var(--miaps-text);font-weight:700;text-decoration:none;
}
.sponsor__dot{
  width:18px;height:18px;border-radius:999px;background:var(--miaps-accent);
  display:inline-grid;place-items:center;color:#fff;font-size:12px;line-height:1;
}
.u-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}

/* ===== Contenedor principal (más ancho) ===== */
.page{
  max-width:1400px;
  margin:0 auto;
  padding:clamp(16px,2vw,28px);
}

/* ===== Footer (como tu captura) ===== */
.site-footer{
  margin-top:22px;
  background:#fff;
  border-top:1px solid var(--miaps-soft);
}
.site-footer__inner{
  max-width:1050px;
  margin:0 auto;
  padding:18px clamp(16px,2vw,28px);
  text-align:center;
}
.site-footer__line1{font-weight:700;margin-bottom:8px}
.site-footer__line2{font-size:13px;opacity:.95}
.site-footer a{color:inherit;text-decoration:underline}
.site-footer a:hover{opacity:.9}

/* ===== Estilos de contenido (entradas) ===== */
.lia-container{max-width:1400px;margin:0 auto;padding:0}
section[id]{scroll-margin-top:110px}
.mb-16{margin-bottom:16px}
.mt-0{margin-top:0}

.lia-title{display:flex;align-items:flex-end;gap:12px;margin:0 0 8px 0;flex-wrap:wrap}
.lia-title h1{font-size:clamp(24px,3.2vw,36px);color:var(--miaps-primary);margin:0}
.lia-sub{opacity:.9;margin:0 0 18px 0}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;padding:6px 10px;border:1px solid var(--miaps-soft);border-radius:999px;background:#fff;color:var(--miaps-primary)}

.lia-grid{display:block}
.lia-grid > *{margin-bottom:14px}
.cols-2,.cols-3{grid-template-columns:1fr}

.card{background:var(--miaps-surface);border:1px solid var(--miaps-soft);border-radius:16px;box-shadow:var(--shadow);padding:18px}
.card h2,.card h3{margin:.1rem 0 .6rem 0;color:var(--miaps-primary)}
.card h2{font-size:clamp(20px,2.2vw,26px)}
.card h3{font-size:clamp(18px,2vw,22px)}

.kpi{display:flex;gap:10px;flex-wrap:wrap;margin:.6rem 0}
.pill{padding:6px 10px;border-radius:999px;background:#f7fbfc;border:1px solid var(--miaps-soft);font-size:.92rem}

.btn{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;
  border:1px solid var(--miaps-soft);background:#fff;text-decoration:none;color:var(--miaps-primary);
  font-weight:600;box-shadow:var(--shadow);
  transition:transform .12s ease, filter .12s ease, background .12s ease, border-color .12s ease;
}
.btn:hover{transform:translateY(-1px);filter:brightness(0.99)}
.primary{background:var(--miaps-primary);color:#fff;border-color:transparent}
.accent{background:var(--miaps-accent);color:#062a36;border-color:transparent}
.row{width:100%;justify-content:center}

.link-list a{
  display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--miaps-soft);
  border-radius:12px;text-decoration:none;color:inherit;background:#fff;
  transition:background .12s ease, transform .12s ease;
}
.link-list a:hover{background:#f0f6ff;transform:translateY(-1px)}

details{border:1px solid var(--miaps-soft);border-radius:14px;background:#fff;padding:10px 12px}
details+details{margin-top:10px}
summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;font-weight:700;color:var(--miaps-primary)}
summary::-webkit-details-marker{display:none}
.summary-icon{inline-size:22px;block-size:22px;border-radius:6px;display:grid;place-items:center;background:#eef6ff;color:#0a58ca;font-weight:700}
.acc-body{padding:10px 4px 4px 6px}

ul{padding-left:18px;margin:.4rem 0 .8rem 0}
li+li{margin-top:6px}
.check li{list-style:none;position:relative;padding-left:26px}
.check li::before{content:"✔";position:absolute;left:0;top:0;color:var(--miaps-ok)}

.note{border-left:4px solid var(--miaps-accent);padding:10px 12px;border-radius:8px;background:#f4fbfc}

.risk-grid{display:block}
.risk-grid > *{margin-bottom:12px}
.risk{border:1px solid var(--miaps-soft);border-radius:14px;padding:12px;background:#fff}
.risk h4{margin:.1rem 0 .2rem 0}
.risk.bad{border-color:#ffd7d7;background:#fff7f7}
.risk.high{border-color:#ffe6cc;background:#fff9f3}
.risk.mod{border-color:#e5f3ff;background:#f7fbff}
.risk.low{border-color:#e6f5ec;background:#f7fdf9}

/* TOC */
.toc{position:static;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.toc a{
  display:inline-block;padding:8px 10px;border-radius:999px;color:var(--miaps-primary);text-decoration:none;
  border:1px solid var(--miaps-soft);background:#fff;transition:background .12s ease, transform .12s ease;
}
.toc a:hover{background:#f6fbff;transform:translateY(-1px)}

/* Foco visible */
a:focus-visible, summary:focus-visible, .btn:focus-visible, .nav-toggle:focus-visible{
  outline:0;
  box-shadow:var(--focus);
  border-radius:12px;
}

@media (prefers-reduced-motion:reduce){
  .btn, .link-list a, .toc a{transition:none}
  .btn:hover, .link-list a:hover, .toc a:hover{transform:none}
}

@media print{
  .toc, .btn, .site-header{display:none !important}
  body{background:#fff}
  .card{box-shadow:none}
  a{color:#000;text-decoration:underline}
}
