/* Punto Vivienda — páginas de consulta (glosario, impuestos, ayudas y preguntas). Misma identidad que la web, sin JavaScript. */
:root { --noche: #12324A; --lino: #F8F6F0; --tinta: #26394A; --pizarra: #4F5B66; --sol: #F2A93B; --linea: #E6E0D3;
  --t1: #1D5258; --t2: #4E9AA0; --t3: #E3F2F2; }
.t-blue { --t1: #1F4466; --t2: #4F84B8; --t3: #E6EEF6; }
.t-honey { --t1: #6B4A12; --t2: #C48A2C; --t3: #FBF1DC; }
.t-green { --t1: #24543A; --t2: #3E7D5C; --t3: #E7F3EA; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--lino); color: var(--tinta); font: 400 1.0625rem/1.6 'PV Cifras', 'Atkinson Hyperlegible', system-ui, sans-serif; }
h1, h2, .pg-wm, .pg-btn, .pg-eb, .pg-lema { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
a { color: var(--t1); }
.pg-sr { position: absolute; left: -9999px; } .pg-sr:focus { left: 16px; top: 12px; z-index: 9; background: #fff; padding: 8px 12px; border-radius: 8px; }
.pg-wrap { width: 100%; max-width: 820px; margin: 0 auto; padding: 0 20px; }
.pg-top { background: var(--noche); color: #fff; }
.pg-top-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; }
.pg-brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.pg-logo { width: 38px; height: 38px; color: var(--lino); flex: none; }
.pg-logo .logo-p { fill: var(--noche); } .pg-logo .logo-g { fill: #8DBF7F; }
.pg-wm { display: flex; flex-direction: column; gap: 3px; line-height: 1; }
.pg-wm > span { font-weight: 800; font-size: 1.2rem; letter-spacing: -0.035em; display: flex; align-items: center; }
.pg-wm i { display: inline-block; width: .3em; height: .3em; border-radius: 50%; background: var(--sol); margin: 0 .14em; }
.pg-wm small { font-size: .56rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.pg-btn { display: inline-flex; align-items: center; padding: 11px 18px; border-radius: 999px; background: #fff; color: var(--noche); font-weight: 800; font-size: .95rem; text-decoration: none; white-space: nowrap; }
.pg-btn:hover { background: var(--sol); }
main { padding-top: 22px; padding-bottom: 48px; }
.pg-migas { font-size: .88rem; color: var(--pizarra); margin-bottom: 26px; }
.pg-migas a { color: var(--pizarra); }
.pg-eb { display: inline-flex; align-items: center; gap: 10px; font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: var(--t1); }
.pg-eb::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: var(--sol); box-shadow: 0 0 0 4px rgba(242,169,59,.2); }
h1 { margin: 14px 0 12px; font-size: clamp(2rem, 1.4rem + 2.6vw, 3rem); line-height: 1.05; letter-spacing: -0.04em; color: var(--noche); }
h2 { margin: 0 0 10px; font-size: 1.2rem; letter-spacing: -0.02em; color: var(--t1); }
.pg-lead { font-size: 1.18rem; line-height: 1.55; margin: 0 0 24px; }
.pg-card { background: #fff; border-radius: 22px; padding: 22px 24px; margin: 0 0 16px; box-shadow: inset 0 0 0 1.5px var(--linea); }
.pg-card p { margin: 0; } .pg-card ul { margin: 0; padding-left: 1.2em; } .pg-card li + li { margin-top: 6px; }
.pg-ej { background: var(--t3); box-shadow: none; }
.pg-ojo { background: #FBEAE5; box-shadow: none; } .pg-ojo h2 { color: #7E3426; }
.pg-tabla { width: 100%; border-collapse: collapse; }
.pg-tabla th, .pg-tabla td { text-align: left; padding: 10px 0; border-top: 1px solid #EFEAE0; vertical-align: top; }
.pg-tabla tr:first-child th, .pg-tabla tr:first-child td { border-top: 0; }
.pg-tabla th { font-weight: 400; padding-right: 16px; color: var(--pizarra); }
.pg-tabla td { font-weight: 700; color: var(--noche); }
.pg-tabla thead th { font-weight: 800; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--t1); }
.pg-nota { font-size: .92rem; color: var(--pizarra); margin: 12px 0 0; }
.pg-rel { margin: 28px 0 16px; }
.pg-rel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pg-rel a { display: flex; flex-direction: column; gap: 3px; padding: 14px 18px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1.5px var(--linea); text-decoration: none; color: var(--tinta); }
.pg-rel a:hover { box-shadow: inset 0 0 0 2px var(--t2); }
.pg-rel b { color: var(--t1); font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
.pg-rel span { font-size: .93rem; color: var(--pizarra); }
.pg-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 28px 0 16px; padding: 22px 24px; border-radius: 22px; background: var(--noche); color: #fff; }
.pg-cta p { margin: 0; flex: 1 1 320px; }
.pg-fuentes { margin-top: 28px; font-size: .9rem; }
.pg-fuentes h2 { font-size: 1rem; color: var(--pizarra); }
.pg-fuentes ul { margin: 0; padding-left: 1.1em; } .pg-fuentes li + li { margin-top: 6px; } .pg-fuentes span { color: var(--pizarra); }
.pg-pie { background: var(--noche); color: rgba(255,255,255,.82); padding: 34px 0 40px; font-size: .92rem; }
.pg-pie a { color: #fff; }
.pg-lema { font-size: 1.6rem; font-weight: 800; letter-spacing: -0.04em; color: #fff; margin: 0 0 8px; } .pg-lema span { color: var(--sol); }
.pg-pie-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0; }
.pg-pie-c { margin: 0; color: rgba(255,255,255,.6); }
@media (max-width: 520px) { .pg-wm small { display: none; } .pg-btn { padding: 9px 14px; font-size: .88rem; } .pg-card { padding: 18px; } }
