/* Estilos compartidos: pie global (index y páginas legales) y páginas legales (body.legal). */
:root{--navy:#0A1E3F;--nd:#060F22;--nm:#0F2B55;--red:#D42A3A;--rh:#B8222F;--rs:rgba(212,42,58,.08);--w:#FFF;--ow:#F8F9FC;--g50:#F3F4F8;--g100:#E8EAF0;--g200:#D1D4DE;--g400:#8A90A4;--g500:#6B7188;--g600:#4A4F63;--gn:#10B981;--r8:8px;--r14:14px}

/* ===== PIE GLOBAL ===== */
.ft{padding:50px 0 22px;background:var(--nd)}
.ft .ctn{max-width:1200px;margin:0 auto;padding:0 28px}
.ft-g{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:36px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:22px}
.ft-d{margin:12px 0 0;font-size:12.5px;color:rgba(255,255,255,.55);line-height:1.7;max-width:280px}
.ft-id{color:rgba(255,255,255,.7)}
.ft-c h4{font-family:'Clash Display',sans-serif;font-size:11.5px;font-weight:600;color:var(--w);margin:0 0 16px;text-transform:uppercase;letter-spacing:1.5px}
.ft-c a,.ft-c .ft-t{display:block;color:rgba(255,255,255,.6);text-decoration:none;font-size:12.5px;line-height:1.5;margin-bottom:9px;transition:color .3s;cursor:pointer}
.ft-c a:hover{color:var(--w)}
.ft-lr{display:flex;align-items:center;gap:22px;padding:4px 0 24px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:20px}
.ft-lr p{margin:0;font-size:12px;color:rgba(255,255,255,.6);line-height:1.6;max-width:560px}
.lr-badge{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;background:var(--w);color:var(--navy);padding:10px 18px 10px 12px;border-radius:var(--r8);text-decoration:none;border:2px solid var(--w);transition:border-color .3s}
.lr-badge:hover,.lr-badge:focus-visible{border-color:var(--red)}
.lr-badge svg{color:var(--red)}
.lr-badge strong{display:block;font-family:'Clash Display',sans-serif;font-size:15px;font-weight:700;line-height:1.1}
.lr-badge small{display:block;font-size:11.5px;color:var(--g600);margin-top:2px}
.ft-b{display:flex;justify-content:space-between;align-items:center}
.ft-b p{margin:0;font-size:11.5px;color:rgba(255,255,255,.5)}
.ft-tm{margin:12px 0 0;font-size:10.5px;line-height:1.6;color:rgba(255,255,255,.4)}
@media(max-width:1024px){.ft-g{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.ft-g{grid-template-columns:1fr}.ft-b{flex-direction:column;gap:12px;text-align:center}.ft-lr{flex-direction:column;align-items:flex-start}}

/* ===== PÁGINAS LEGALES ===== */
body.legal{margin:0;font-family:'General Sans',-apple-system,system-ui,sans-serif;color:var(--navy);background:var(--ow);-webkit-font-smoothing:antialiased}
body.legal *{box-sizing:border-box}
.lg-h{background:var(--w);border-bottom:1px solid var(--g100)}
.lg-h .in{max-width:900px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.lg-h img{height:38px;display:block}
.lg-h a.back{font-size:13.5px;font-weight:600;color:var(--navy);text-decoration:none;padding:8px 14px;border-radius:7px;border:1px solid var(--g200)}
.lg-h a.back:hover{border-color:var(--navy)}
.doc{max-width:900px;margin:0 auto;padding:44px 16px 64px}
.doc h1{font-family:'Clash Display',sans-serif;font-size:clamp(28px,4.4vw,40px);font-weight:700;letter-spacing:-1px;line-height:1.1;margin:0 0 10px}
.doc h2{font-family:'Clash Display',sans-serif;font-size:21px;font-weight:600;margin:38px 0 10px;scroll-margin-top:20px}
.doc h3{font-size:16px;font-weight:600;margin:22px 0 8px}
.doc p,.doc li{font-size:15px;line-height:1.75;color:var(--g600)}
.doc p{margin:0 0 12px}
.doc ul,.doc ol{margin:0 0 14px;padding-left:22px}
.doc li{margin-bottom:6px}
.doc strong{color:var(--navy)}
.doc a{color:#1F5FC4}
.doc .meta{font-size:13px;color:var(--g500);margin-bottom:26px}
.doc .card{background:var(--w);border:1px solid var(--g100);border-radius:var(--r14);padding:22px 22px 10px;margin:18px 0}
.doc .aviso{background:#FFF7E6;border:1px solid #F5D9A0;border-radius:var(--r14);padding:16px 18px;margin:18px 0}
.doc .aviso p{color:#5C4400;margin:0}
.doc .tabla{width:100%;overflow-x:auto;margin:10px 0 18px}
.doc table{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--w)}
.doc th,.doc td{border:1px solid var(--g100);padding:10px 12px;text-align:left;vertical-align:top;line-height:1.55;color:var(--g600)}
.doc th{background:var(--g50);color:var(--navy);font-weight:600}
.doc nav.toc{background:var(--w);border:1px solid var(--g100);border-radius:var(--r14);padding:16px 20px;margin:0 0 10px}
.doc nav.toc ol{margin:0}
.doc nav.toc li{font-size:14px;margin-bottom:3px}

/* ===== FORMULARIO LIBRO DE RECLAMACIONES ===== */
.lr-form fieldset{background:var(--w);border:1px solid var(--g100);border-radius:var(--r14);padding:20px 22px 8px;margin:0 0 18px}
.lr-form legend{font-family:'Clash Display',sans-serif;font-size:16px;font-weight:600;padding:0 8px;color:var(--navy)}
.lr-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.lr-grid .full{grid-column:1/-1}
.campo{margin-bottom:14px}
.campo label,.campo .lbl{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--navy)}
.campo .req{color:var(--red)}
.campo input[type=text],.campo input[type=email],.campo input[type=tel],.campo input[type=number],.campo select,.campo textarea{width:100%;font:inherit;font-size:14.5px;color:var(--navy);background:var(--w);border:1px solid var(--g200);border-radius:var(--r8);padding:10px 12px}
.campo textarea{min-height:110px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid #2E7CF6;outline-offset:1px;border-color:#2E7CF6}
.campo .ayuda{font-size:12px;color:var(--g500);margin-top:5px;line-height:1.5}
.campo .err{font-size:12.5px;color:#B3261E;margin-top:5px;display:none}
.campo.inval .err{display:block}
.campo.inval input,.campo.inval select,.campo.inval textarea{border-color:#B3261E}
.opciones{display:flex;flex-wrap:wrap;gap:10px 22px}
.opciones label{display:flex;align-items:flex-start;gap:8px;font-size:14px;font-weight:500;color:var(--g600);margin:0;cursor:pointer}
.opciones input{margin-top:3px;accent-color:var(--red)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.btn-lr{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:var(--w);border:0;border-radius:var(--r8);padding:14px 28px;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.btn-lr:hover{background:var(--rh)}
.btn-lr[disabled]{opacity:.6;cursor:wait}
.btn-sec{background:var(--w);color:var(--navy);border:1px solid var(--g200)}
.btn-sec:hover{background:var(--g50)}
.estado{margin:14px 0;padding:14px 16px;border-radius:var(--r8);font-size:14px;line-height:1.6;display:none}
.estado.error{display:block;background:#FDECEA;border:1px solid #F5C2BE;color:#7A1C15}
.constancia{display:none}
.constancia.visible{display:block}
.constancia .ok{background:#E8F7F0;border:1px solid #A7E3C9;border-radius:var(--r14);padding:18px 20px;margin-bottom:18px}
.constancia .ok p{color:#0B5A3C;margin:0 0 6px}
.constancia dl{display:grid;grid-template-columns:minmax(160px,34%) 1fr;gap:0;margin:0 0 16px;background:var(--w);border:1px solid var(--g100);border-radius:var(--r8);overflow:hidden}
.constancia dt,.constancia dd{margin:0;padding:9px 12px;border-bottom:1px solid var(--g100);font-size:13.5px;line-height:1.55}
.constancia dt{background:var(--g50);font-weight:600;color:var(--navy)}
.constancia dd{color:var(--g600);white-space:pre-wrap;word-break:break-word}
.constancia h3{margin-top:18px}
@media(max-width:640px){.lr-grid{grid-template-columns:1fr}.constancia dl{grid-template-columns:1fr}.constancia dt{border-bottom:0}}
@media print{
  .lg-h,.ft,.no-print,.lr-form{display:none!important}
  body.legal{background:#fff}
  .doc{padding:0;max-width:none}
  .constancia dl{break-inside:auto}
}
