/* TuCalculadoraLaboral.es — shared stylesheet (static, no build step)
   Mobile-first. All layout widths are fluid; nothing exceeds the viewport. */
:root{
  --primary:#1a56db; --primary-dark:#1443ad; --accent:#f59e0b;
  --bg:#f5f7fa; --card:#fff; --text:#1f2937; --muted:#6b7280;
  --border:#e5e7eb; --ok:#047857; --warn:#b45309; --err:#b91c1c;
  --radius:12px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg);color:var(--text);line-height:1.6;font-size:1rem}
a{color:var(--primary)}
a:hover{color:var(--primary-dark)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.narrow{max-width:780px}

/* ---------- Header / nav ---------- */
header{background:var(--card);border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:10}
.nav{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:24px;
  padding:14px 20px;flex-wrap:wrap}
.logo{font-weight:800;font-size:1.2rem;color:var(--primary);text-decoration:none;white-space:nowrap}
.logo span{color:#b45309}
nav.links{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap;font-size:.92rem}
nav.links a{color:var(--text);text-decoration:none;font-weight:500}
nav.links a:hover{color:var(--primary)}
nav.links .current{color:var(--primary);font-weight:700}
nav.links .soon{color:var(--muted);cursor:default}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(135deg,#1a56db 0%,#1443ad 60%,#0f2f7a 100%);
  color:#fff;border-radius:16px;padding:48px 36px;margin:20px 0 8px;text-align:center}
.hero h1{font-size:2rem;line-height:1.25;margin-bottom:12px}
.hero p{opacity:.92;max-width:640px;margin:0 auto 22px;font-size:1.02rem}
.hero .cta{display:inline-block;background:var(--accent);color:#1f2937;
  font-weight:800;text-decoration:none;padding:13px 28px;border-radius:10px;font-size:1rem}
.hero .cta:hover{filter:brightness(1.06);color:#1f2937}

/* ---------- Sections / cards ---------- */
h2.section{font-size:1.4rem;margin:32px 0 6px;line-height:1.3}
p.section-sub{color:var(--muted);margin-bottom:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:20px;margin-bottom:16px}
.card h2{font-size:1.15rem;margin-bottom:8px}
.card h3{font-size:1rem;margin:14px 0 6px}
.card p{margin-bottom:10px}
.card ul,.card ol{margin:0 0 12px 20px}
.card li{margin-bottom:6px}
.note{font-size:.85rem;color:var(--muted)}
.ok{color:var(--ok);font-weight:700}
.bad{color:var(--err);font-weight:700}
.warn{color:var(--warn);font-weight:700}

/* ---------- Tool grid ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.toolcard{background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:20px;display:flex;flex-direction:column}
a.toolcard-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}
a.toolcard-link:hover{box-shadow:0 8px 24px rgba(26,86,219,.12);transform:translateY(-2px)}
.toolcard .icon{font-size:1.8rem;margin-bottom:8px}
.toolcard h3{font-size:1.05rem;margin-bottom:6px}
.toolcard p{color:var(--muted);font-size:.92rem;flex:1;margin-bottom:12px}
.toolcard .go{color:var(--primary);font-weight:700}
.badge{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.05em;
  border-radius:999px;padding:3px 11px;margin-bottom:10px;width:fit-content}
.badge.live{background:#d1fae5;color:var(--ok)}
.badge.soon{background:#e0e7ff;color:#3730a3}
.soon-note{color:var(--muted);font-size:.85rem;font-weight:600}

/* ---------- Forms (calculator) ---------- */
label{display:block;font-weight:600;margin:12px 0 4px}
input[type="number"],input[type="date"],input[type="text"],select{
  width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;
  font-size:1rem;background:#fff;color:var(--text)}
input[type="range"]{width:100%}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn{background:var(--primary);color:#fff;border:0;border-radius:8px;
  padding:12px 20px;font-size:1rem;font-weight:700;cursor:pointer;width:100%;margin-top:16px}
.btn:hover{filter:brightness(1.1)}
.cta-center{text-align:center;margin:18px 0}
.cta-center .btn{display:inline-block;width:auto;padding:14px 36px;margin-top:0}
.radios{display:flex;gap:8px;flex-wrap:wrap}
.radios label{font-weight:500;margin:0;background:#eef2ff;border:1px solid #c7d2fe;
  border-radius:999px;padding:8px 16px;cursor:pointer}
.radios input{accent-color:var(--primary);margin-right:6px}
.seg{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.seg button{border:1px solid var(--border);background:#fff;border-radius:8px;
  padding:8px 14px;cursor:pointer;font-weight:600;font-size:.92rem}
.seg button.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.kpi{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.kpi div{background:var(--bg);border-radius:8px;padding:12px;min-width:0}
.kpi span{display:block;font-size:.8rem;color:var(--muted)}
.kpi b{font-size:1.1rem;overflow-wrap:anywhere}
.big{font-size:1.9rem;font-weight:800;color:var(--primary);overflow-wrap:anywhere}

/* ---------- Tables ---------- */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:.85rem;margin:10px 0}
th,td{border:1px solid var(--border);padding:6px 5px;text-align:center;white-space:nowrap}
th{background:#eef2ff}
td.hl{background:#fffbeb;font-weight:700}

/* ---------- FAQ ---------- */
.faq{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:8px 22px}
.faq details{border-bottom:1px solid var(--border);padding:14px 0}
.faq details:last-child{border-bottom:0}
.faq summary{font-weight:600;cursor:pointer}
.faq p{color:var(--muted);font-size:.93rem;margin-top:8px}

/* ---------- Footer ---------- */
footer{background:#111827;color:#9ca3af;margin-top:48px}
footer .wrap{padding:36px 20px;display:grid;grid-template-columns:1.6fr 1.4fr 1fr;gap:24px}
footer h4{color:#fff;font-size:.95rem;margin-bottom:10px}
footer a{color:#9ca3af;text-decoration:none;font-size:.88rem;display:block;margin-bottom:6px}
footer a:hover{color:#fff}
footer .plain{color:#6b7280;font-size:.88rem;display:block;margin-bottom:6px}
footer .legal{border-top:1px solid #1f2937;padding:16px 20px;font-size:.78rem;
  text-align:center;color:#6b7280;max-width:1100px;margin:0 auto}
footer .legal a{display:inline;margin:0}

/* ---------- Responsive ---------- */
@media(max-width:700px){
  .hero{padding:32px 20px}.hero h1{font-size:1.55rem}
  .row{grid-template-columns:1fr}
  .kpi{grid-template-columns:1fr 1fr}
  footer .wrap{grid-template-columns:1fr}
  nav.links{margin-left:0}
}
@media(max-width:400px){
  .wrap,.nav{padding-left:14px;padding-right:14px}
  .hero h1{font-size:1.4rem}
  .kpi{grid-template-columns:1fr}
  .big{font-size:1.6rem}
  table{font-size:.78rem}
}

.trust-badge{display:inline-block;background:#e8f5e9;border:1px solid #2e7d32;color:#1b5e20;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:700;margin:0 0 14px}
