/* ===========================================================
   IPSE · legal.css  ·  Páginas de texto (privacidad, términos,
   libro de reclamaciones) y página de error 404
   =========================================================== */
.lg{--red:#FF2C2C;--redD:#B40017;--redDp:#6B0010;--ink:#0f172a;--sub:#475569;--ease:cubic-bezier(.2,.9,.2,1);width:100%;background:#f8fafc;position:relative;overflow:hidden;padding:clamp(40px,5vw,72px) clamp(16px,4vw,48px) clamp(56px,7vw,96px)}
.lg::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 55% 50% at 12% 10%,rgb(255 44 44 / .07),transparent 60%),radial-gradient(ellipse 50% 50% at 90% 92%,rgb(255 44 44 / .05),transparent 58%)}
.lg-in{position:relative;z-index:1;max-width:880px;margin:0 auto}
.lg-crumbs{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 system-ui,Arial;color:#94a3b8;margin-bottom:16px}
.lg-crumbs a{color:#94a3b8;text-decoration:none;transition:color .15s ease}
.lg-crumbs a:hover{color:var(--redD)}
.lg-crumbs span{color:var(--redD);font-weight:900}
.lg-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;background:rgb(255 44 44 / .07);border:1px solid rgb(255 44 44 / .18);font:900 11px/1 system-ui,Arial;letter-spacing:.18em;text-transform:uppercase;color:rgb(180 0 23 / .88);margin-bottom:16px}
.lg-kicker-dot{width:7px;height:7px;border-radius:99px;background:var(--red);box-shadow:0 0 0 3px rgb(255 44 44 / .20)}
.lg-h1{font:900 clamp(26px,3.4vw,42px)/1.1 system-ui,Arial;letter-spacing:-.03em;color:var(--ink);margin:0 0 8px}
.lg-h1 span{color:var(--redD)}
.lg-updated{font:600 13px/1.4 system-ui,Arial;color:#94a3b8;margin:0 0 24px}
.lg-card{background:#fff;border:1px solid rgb(15 23 42 / .07);border-radius:22px;box-shadow:0 12px 44px rgb(15 23 42 / .09);padding:clamp(24px,3.5vw,44px)}
.lg-card h2{font:900 19px/1.3 system-ui,Arial;color:var(--ink);letter-spacing:-.01em;margin:28px 0 10px}
.lg-card h2:first-child{margin-top:0}
.lg-card p,.lg-card li{font:500 15px/1.7 system-ui,Arial;color:#334155}
.lg-card p{margin:0 0 14px}
.lg-card ul{margin:0 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.lg-card a{color:var(--redD);font-weight:700;text-decoration:none}
.lg-card a:hover{text-decoration:underline}
.lg-card strong{color:var(--ink)}

/* ----- Formulario Libro de Reclamaciones ----- */
.lr-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lr-field{display:flex;flex-direction:column;gap:6px}
.lr-field.full{grid-column:1/-1}
.lr-field label{font:800 12px/1 system-ui,Arial;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.lr-field input,.lr-field select,.lr-field textarea{padding:13px 15px;border-radius:12px;border:1.5px solid rgb(15 23 42 / .14);font:500 15px/1.4 system-ui,Arial;color:var(--ink);background:#fff;transition:border-color .15s ease,box-shadow .15s ease;width:100%}
.lr-field textarea{resize:vertical;min-height:110px}
.lr-field input:focus,.lr-field select:focus,.lr-field textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgb(255 44 44 / .12);outline:none}
.lr-note{grid-column:1/-1;font:500 12.5px/1.5 system-ui,Arial;color:#94a3b8;margin:0}
.lr-submit{grid-column:1/-1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 28px;border-radius:14px;border:none;background:#C00;color:#fff;font:900 15px/1 system-ui,Arial;cursor:pointer;box-shadow:0 8px 22px rgb(180 0 0 / .26);transition:background .16s ease,transform .14s var(--ease),box-shadow .16s ease}
.lr-submit:hover{background:#b30000;transform:translateY(-1px);box-shadow:0 12px 28px rgb(180 0 0 / .34)}
@media(max-width:560px){.lr-form{grid-template-columns:1fr}}

/* ----- Página 404 ----- */
.nf{--red:#FF2C2C;--redD:#B40017;--ink:#0f172a;--sub:#475569;--ease:cubic-bezier(.2,.9,.2,1);width:100%;min-height:72vh;background:#fff;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;padding:clamp(48px,7vw,96px) clamp(16px,4vw,48px)}
.nf::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 55% 55% at 50% 0%,rgb(255 44 44 / .08),transparent 60%),radial-gradient(ellipse 45% 45% at 50% 100%,rgb(255 44 44 / .05),transparent 60%)}
.nf-in{position:relative;z-index:1;max-width:560px}
.nf-code{font:900 clamp(90px,18vw,180px)/.9 system-ui,Arial;letter-spacing:-.05em;background:linear-gradient(135deg,var(--redD),var(--red));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:8px}
.nf-h1{font:900 clamp(22px,3vw,32px)/1.15 system-ui,Arial;letter-spacing:-.02em;color:var(--ink);margin:0 0 12px}
.nf-p{font:500 clamp(14px,1.2vw,16.5px)/1.6 system-ui,Arial;color:var(--sub);margin:0 0 28px}
.nf-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.nf-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:999px;font:900 14.5px/1 system-ui,Arial;text-decoration:none;transition:transform .15s var(--ease),box-shadow .16s ease,background .16s ease}
.nf-btn.primary{background:#C00;color:#fff;box-shadow:0 8px 24px rgb(180 0 0 / .28)}
.nf-btn.primary:hover{background:#b30000;transform:translateY(-2px);box-shadow:0 14px 32px rgb(180 0 0 / .38)}
.nf-btn.ghost{background:#fff;color:var(--ink);border:1px solid rgb(255 44 44 / .22);box-shadow:0 6px 20px rgb(15 23 42 / .09)}
.nf-btn.ghost:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgb(15 23 42 / .14)}
