/* ==========================================================================
   hauspartner — Recursos gratuitos (se carga después de styles.css)
   ========================================================================== */

/* ---------- Sección de recursos en la portada ---------- */
.resources{padding:clamp(100px,13vw,170px) 0;background:var(--paper-2);border-top:1px solid var(--line-light)}
.resources-head{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,100px);align-items:end;margin-bottom:56px}
.resources-head .muted{max-width:52ch}
.res-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.res-card{position:relative;display:flex;flex-direction:column;gap:14px;background:var(--paper);border:1px solid var(--line-light);border-radius:24px;padding:28px 26px 26px;min-height:300px;transition:transform .6s var(--ease-out),box-shadow .5s,border-color .4s}
.res-card:hover{transform:translateY(-4px);box-shadow:0 30px 70px -40px rgba(14,14,12,.4);border-color:rgba(14,14,12,.24)}
.res-card .res-n{color:var(--accent)}
.res-card h3{font-size:1.5rem;font-weight:500;letter-spacing:-.03em;line-height:1.1}
.res-card p{color:var(--muted-light);font-size:15.5px}
.res-card .res-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:var(--muted-light);padding-top:18px;border-top:1px solid var(--line-light)}
.res-card .res-go{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-light);display:grid;place-items:center;transition:background .3s,border-color .3s,color .3s,transform .5s var(--ease-out);font-size:16px;color:var(--ink)}
.res-card:hover .res-go{background:var(--accent);border-color:var(--accent);transform:translateX(3px)}
.res-card .res-art{width:52px;height:52px;color:var(--ink)}

/* ---------- Páginas de recurso ---------- */
.page-hero{position:relative;background:var(--ink);color:var(--bone);padding:clamp(140px,16vw,200px) 0 clamp(70px,9vw,110px);overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;width:900px;height:900px;right:-320px;top:-360px;background:radial-gradient(circle,rgba(255,90,31,.16),transparent 60%);pointer-events:none;z-index:-1}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted-dark);margin-bottom:28px}
.crumbs a{color:var(--muted-dark);transition:color .2s}
.crumbs a:hover{color:var(--accent)}
.page-title{font-weight:500;font-size:clamp(2.6rem,7vw,6rem);line-height:.95;letter-spacing:-.05em;max-width:16ch;margin-bottom:28px}
.page-title em{color:var(--accent)}
.page-lede{max-width:58ch;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.55;color:rgba(241,236,226,.78)}
.page-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.page-facts li{list-style:none;font-size:13px;padding:7px 13px;border-radius:999px;border:1px solid var(--line-dark);color:var(--muted-dark)}
.page-facts{padding:0}
.page-body{padding:clamp(60px,8vw,110px) 0 clamp(90px,11vw,150px)}
.page-body h2{font-weight:500;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.035em;line-height:1.05;margin-bottom:18px}
.page-body h3{font-weight:500;font-size:1.25rem;letter-spacing:-.02em;line-height:1.2;margin-bottom:8px}
.note{color:var(--muted-light);font-size:14.5px;max-width:70ch}
.tool-actions{display:flex;flex-wrap:wrap;gap:10px}
.btn-line{color:var(--ink);border:1px solid var(--line-light);background:transparent}
.btn-line:hover{border-color:var(--ink)}
.btn-sm{padding:11px 18px;font-size:14px}

/* Siguiente paso (al final de cada recurso) */
.next{background:var(--ink);color:var(--bone);border-radius:28px;padding:clamp(28px,4vw,48px);display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;margin-top:clamp(60px,8vw,100px)}
.next h2{color:var(--bone);margin-bottom:10px}
.next p{color:rgba(241,236,226,.72);max-width:52ch}
.next-links{display:flex;flex-direction:column;gap:10px}
.next-links a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;border:1px solid var(--line-dark);border-radius:16px;transition:border-color .3s,background .3s}
.next-links a:hover{border-color:var(--accent);background:rgba(255,90,31,.08)}
.next-links a span:last-child{color:var(--accent)}

/* ---------- Calculadora ---------- */
.calc{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,4vw,56px);align-items:start}
.calc-panel{background:var(--paper);border:1px solid var(--line-light);border-radius:28px;padding:clamp(22px,3.4vw,40px)}
.calc-settings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:22px 0 30px}
.inp{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted-light)}
.inp input,.inp select{font:inherit;font-size:16px;color:var(--ink);background:var(--paper-2);border:1px solid transparent;border-radius:12px;padding:11px 12px;width:100%;min-width:0;outline:none;transition:border-color .2s,background .2s}
.inp input:focus,.inp select:focus{border-color:var(--accent);background:#fff}
.tasks{display:grid;gap:12px}
.task{display:grid;grid-template-columns:1fr 1fr 1.6fr 40px;gap:10px;align-items:end;padding:16px;border:1px solid var(--line-light);border-radius:18px;background:rgba(255,255,255,.3)}
.task .inp:first-child{grid-column:1/-1}
.task .x{width:40px;height:44px;border-radius:12px;border:1px solid var(--line-light);background:transparent;cursor:pointer;color:var(--muted-light);font-size:18px;line-height:1;transition:color .2s,border-color .2s}
.task .x:hover{color:var(--accent);border-color:var(--accent)}
.add-task{margin-top:14px}
.calc-out{position:sticky;top:96px;background:var(--ink);color:var(--bone);border-radius:28px;padding:clamp(24px,3.4vw,40px);overflow:hidden}
.calc-out .mono{color:var(--muted-dark)}
.big{font-size:clamp(3rem,6vw,4.6rem);font-weight:500;letter-spacing:-.05em;line-height:1;margin:8px 0 4px}
.big small{font-size:.38em;letter-spacing:-.01em;color:var(--muted-dark);font-weight:400;margin-left:6px}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.kpi{border:1px solid var(--line-dark);border-radius:16px;padding:14px 16px}
.kpi strong{display:block;font-size:1.5rem;font-weight:500;letter-spacing:-.03em;color:var(--bone)}
.kpi span{font-size:13px;color:var(--muted-dark)}
.rank{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:12px}
.rank li{display:grid;gap:6px;font-size:14px}
.rank .rk-top{display:flex;justify-content:space-between;gap:12px}
.rank .rk-top span:last-child{color:var(--muted-dark);white-space:nowrap}
.rank .rk-bar{height:6px;border-radius:6px;background:var(--line-dark);overflow:hidden}
.rank .rk-bar i{display:block;height:100%;background:var(--accent);border-radius:6px;transition:width .6s var(--ease-out)}
.verdict{padding:16px 18px;border-radius:16px;background:rgba(255,90,31,.08);border:1px solid rgba(255,90,31,.3);color:rgba(241,236,226,.86);font-size:15px;margin-bottom:22px}
.verdict b{color:var(--bone);font-weight:600}
.calc-out .btn-ghost{width:100%;justify-content:center}
.howto{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(50px,7vw,80px)}
.howto div{border-top:1px solid var(--line-light);padding-top:18px}
.howto .mono{color:var(--accent);display:block;margin-bottom:12px}
.howto p{color:var(--muted-light);font-size:15.5px}

/* ---------- Glosario ---------- */
.gl-tools{position:sticky;top:72px;z-index:5;background:rgba(246,242,234,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:18px 0;border-bottom:1px solid var(--line-light);margin-bottom:36px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.gl-search{flex:1 1 260px;position:relative}
.gl-search input{width:100%;font:inherit;font-size:17px;padding:14px 18px 14px 46px;border-radius:999px;border:1px solid var(--line-light);background:#fff;color:var(--ink);outline:none;transition:border-color .2s}
.gl-search input:focus{border-color:var(--accent)}
.gl-search svg{position:absolute;left:17px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--muted-light)}
.gl-cats{display:flex;flex-wrap:wrap;gap:8px}
.gl-cats button{font:inherit;font-size:14px;padding:9px 15px;border-radius:999px;border:1px solid var(--line-light);background:transparent;color:var(--ink);cursor:pointer;transition:all .2s}
.gl-cats button:hover{border-color:var(--ink)}
.gl-cats button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.gl-count{color:var(--muted-light)}
.gl-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.term{background:var(--paper);border:1px solid var(--line-light);border-radius:22px;padding:26px 26px 22px;display:flex;flex-direction:column;gap:12px;scroll-margin-top:170px}
.term[hidden]{display:none}
.term header{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.term h3{font-size:1.45rem;margin:0}
.term .cat{color:var(--muted-light);white-space:nowrap}
.term p{font-size:16px}
.term .ex,.term .why{font-size:15px;color:var(--muted-light);padding-left:14px;border-left:2px solid var(--line-light)}
.term .why{border-left-color:var(--accent)}
.term .ex b,.term .why b{color:var(--ink);font-weight:600}
.gl-empty{padding:40px 0;color:var(--muted-light)}
.term:target{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,90,31,.18)}

/* ---------- Política de uso de IA ---------- */
.pol{display:grid;grid-template-columns:4fr 8fr;gap:clamp(28px,5vw,72px);align-items:start}
.pol-side{position:sticky;top:96px;display:grid;gap:18px}
.pol-card{background:var(--paper);border:1px solid var(--line-light);border-radius:22px;padding:24px}
.pol-card h3{margin-bottom:12px}
.pol-card .tool-actions{flex-direction:column;align-items:stretch;margin-top:16px}
.pol-card .btn{justify-content:center}
.pol-toc{list-style:none;padding:0;margin:0;display:grid;gap:2px;font-size:14.5px}
.pol-toc a{display:block;padding:6px 0;color:var(--muted-light);transition:color .2s}
.pol-toc a:hover{color:var(--accent)}
.doc{background:#fff;border:1px solid var(--line-light);border-radius:24px;padding:clamp(26px,5vw,64px);box-shadow:0 40px 90px -60px rgba(14,14,12,.35)}
.doc h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:6px}
.doc .doc-sub{color:var(--muted-light);margin-bottom:32px}
.doc section{padding-top:28px;margin-top:28px;border-top:1px solid var(--line-light);scroll-margin-top:96px}
.doc h3{font-size:1.2rem;margin-bottom:12px;display:flex;gap:12px;align-items:baseline}
.doc h3 .mono{color:var(--accent)}
.doc p,.doc li{font-size:16px;color:#2a2925}
.doc p+p{margin-top:10px}
.doc ul,.doc ol{margin:10px 0 0;padding-left:20px;display:grid;gap:6px}
.fill{background:rgba(255,90,31,.12);border-bottom:1px dashed var(--accent);padding:0 4px;border-radius:3px;font-weight:500;color:var(--ink)}
.lights{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.light{border-radius:16px;padding:18px;border:1px solid var(--line-light)}
.light b{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:15px}
.light b::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--c)}
.light ul{padding-left:18px;margin:0;gap:4px}
.light li{font-size:14.5px}
.light.g{--c:#2f9e5b;background:rgba(47,158,91,.06)}
.light.y{--c:#e0a100;background:rgba(224,161,0,.07)}
.light.r{--c:#e03b2f;background:rgba(224,59,47,.06)}
.doc table{width:100%;border-collapse:collapse;margin-top:14px;font-size:15px}
.doc th,.doc td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-light);vertical-align:top}
.doc th{font-weight:600;font-size:13px;color:var(--muted-light)}
.doc td:empty::after{content:"…………";color:var(--line-light)}
.signs{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:22px}
.signs div{border-top:1px solid var(--ink);padding-top:8px;font-size:14px;color:var(--muted-light)}
.disclaimer{margin-top:24px;font-size:14px;color:var(--muted-light)}

/* ---------- Autodiagnóstico: plan de acción ---------- */
.plan{margin:0 0 28px;max-width:560px}
.plan .mono{color:var(--muted-dark);display:block;margin-bottom:12px}
.plan ol{list-style:none;padding:0;margin:0;display:grid;gap:10px;counter-reset:pl}
.plan li{counter-increment:pl;display:grid;grid-template-columns:28px 1fr;gap:12px;padding:14px 16px;border:1px solid var(--line-dark);border-radius:14px;font-size:15px;line-height:1.45;color:rgba(241,236,226,.86)}
.plan li::before{content:counter(pl);width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--ink);font-family:var(--mono);font-size:12px;display:grid;place-items:center;margin-top:1px}
.plan li a{color:var(--accent);border-bottom:1px solid rgba(255,90,31,.4);white-space:nowrap}
.plan li a:hover{border-color:var(--accent)}
.print-only{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .res-grid{grid-template-columns:repeat(2,1fr)}
  .resources-head{grid-template-columns:1fr;gap:0}
  .calc,.pol{grid-template-columns:1fr}
  .calc-out,.pol-side{position:static}
  .pol-side .pol-card+.pol-card{display:none}
  .next{grid-template-columns:1fr}
}
@media (max-width:820px){
  .gl-list{grid-template-columns:1fr}
  .task{grid-template-columns:1fr 1fr 40px}
  .task .inp:nth-child(4){grid-column:1/3}
  .task .x{grid-column:3;grid-row:3}
  .howto{grid-template-columns:1fr}
  .lights{grid-template-columns:1fr}
  .gl-tools{top:64px}
}
@media (max-width:560px){
  .res-grid{grid-template-columns:1fr}
  .res-card{min-height:0}
  .calc-settings{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr}
  .signs{grid-template-columns:1fr}
  .doc{border-radius:18px}
  .term{padding:22px 20px 18px}
  .term header{flex-direction:column;gap:4px}
}

/* ---------- Impresión ---------- */
@media print{
  @page{margin:16mm}
  body{background:#fff!important;color:#000;font-size:11pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .nav,.footer,.page-hero,.next,.no-print,.pol-side,.calc-panel .add-task,.task .x,.tool-actions,.skip{display:none!important}
  .page-body{padding:0}
  .pol{display:block}
  .doc{border:0;box-shadow:none;padding:0;border-radius:0}
  .doc section{break-inside:avoid-page}
  .fill{background:none;border-bottom:1px solid #999}
  .calc{display:block}
  .calc-panel{border:0;padding:0}
  .calc-out{position:static;background:#fff;color:#000;border:1px solid #ccc;margin-top:18px}
  .calc-out *{color:#000!important}
  .rank .rk-bar{background:#eee}
  .print-only{display:block}
  .reveal{opacity:1!important;transform:none!important}
  /* Resultado del autodiagnóstico */
  body.print-result main>*:not(#pulso){display:none!important}
  body.print-result #pulso{background:#fff;color:#000;padding:0}
  body.print-result #pulso::before{display:none}
  body.print-result .quiz{background:#fff;border:0;padding:0;min-height:0}
  body.print-result .quiz-progress,body.print-result .result-actions{display:none}
  body.print-result .pulse-head .muted{display:none}
  body.print-result #pulso *{color:#000!important;border-color:#ccc!important}
  body.print-result .result{grid-template-columns:200px 1fr;align-items:start}
  body.print-result .bar div{background:#e5e5e5!important}
  body.print-result .result .rec{background:#fff4ef}
  body.print-result .gauge .val{stroke:#ff5a1f}
  body.print-result .bar div i{background:#333!important}
  body.print-result .plan li::before{background:#ff5a1f}
  body.print-result .q{animation:none}
}

/* Política de IA: texto justificado */
.doc p,.doc li{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.doc .doc-sub{text-align:left}
