/* =========================================================================
   MENSORA — estilos compartidos de "plataforma" (negro / dorado / blanco)
   Usado por las páginas de solicitud, legales y de preferencias.
   ========================================================================= */
:root{
  --negro:#0A0A0A; --negro2:#141414; --panel:#1A1A1A; --linea:#2A2A2A;
  --dorado:#C89B3C; --dorado2:#E2C16A; --blanco:#FFFFFF; --gris:#B9B9B9; --err:#E2645A;
}
*{box-sizing:border-box}
body{margin:0;background:var(--negro);color:var(--blanco);font-family:"Inter",system-ui,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--dorado2);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
.wrap.narrow{max-width:760px}

/* Topbar */
.top{position:sticky;top:0;z-index:10;background:rgba(10,10,10,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1080px}
.brand{display:flex;align-items:center;gap:10px;font-family:"Playfair Display",serif;font-weight:700;letter-spacing:.12em;color:var(--blanco)}
.brand:hover{text-decoration:none}
.brand img{height:30px;width:auto}
.back{font-size:.92rem;color:var(--gris)}

/* Cabecera de página */
.head{padding:48px 0 8px}
.kicker{color:var(--dorado2);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;margin:0 0 10px}
h1{font-family:"Playfair Display",serif;font-weight:700;font-size:2rem;line-height:1.15;margin:0 0 12px}
.sub{color:var(--gris);max-width:64ch;margin:0}

/* Texto legal / prosa */
.prose{margin:26px 0 10px}
.prose h2{font-family:"Playfair Display",serif;font-size:1.3rem;margin:30px 0 8px;color:var(--blanco)}
.prose h3{font-size:1.02rem;margin:20px 0 6px;color:#EDEDED}
.prose p,.prose li{color:#CFCFCF}
.prose ul{padding-left:20px;margin:8px 0}
.prose li{margin:5px 0}
.updated{color:#8C8C8C;font-size:.85rem;margin-top:6px}

/* Tarjetas / formularios */
.card{background:linear-gradient(180deg,var(--panel),var(--negro2));border:1px solid var(--linea);border-radius:18px;padding:26px;margin:26px 0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.field.full{grid-column:1 / -1}
label{font-size:.86rem;font-weight:600;color:#EDEDED}
.req{color:var(--dorado2)}
input,select,textarea{width:100%;background:#0F0F0F;border:1px solid var(--linea);border-radius:11px;color:var(--blanco);padding:13px 14px;font:inherit;outline:none;transition:border-color .15s}
input:focus,select:focus,textarea:focus{border-color:var(--dorado)}
textarea{resize:vertical;min-height:96px}
.note{font-size:.82rem;color:var(--gris);margin:6px 0 0}

/* Consentimientos */
.consent{display:flex;gap:12px;align-items:flex-start;background:#0F0F0F;border:1px solid var(--linea);border-radius:12px;padding:14px;margin-bottom:12px}
.consent input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--dorado);flex:0 0 auto}
.consent label{font-weight:500;color:#DDD;font-size:.9rem;line-height:1.5}
.consent .tag{display:block;font-weight:700;color:var(--blanco);margin-bottom:3px;font-size:.84rem}
.opt{color:var(--gris);font-weight:500}

/* Botón */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:linear-gradient(90deg,var(--dorado),var(--dorado2));color:#1A1206;border:none;border-radius:12px;padding:16px 20px;font-weight:700;font-size:1rem;cursor:pointer;transition:filter .15s,transform .05s}
.btn:hover{filter:brightness(1.06);text-decoration:none} .btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn.secondary{background:transparent;color:var(--dorado2);border:1px solid var(--linea)}

.status{margin-top:14px;font-size:.92rem;display:none}
.status.ok{display:block;color:#9BE6B0} .status.err{display:block;color:var(--err)}
.disclaimer{font-size:.78rem;color:#8C8C8C;line-height:1.6;border:1px solid var(--linea);background:#0E0E0E;border-radius:12px;padding:14px 16px;margin:18px 0}

/* Footer */
.site-foot{border-top:1px solid var(--linea);margin-top:40px;padding:28px 0 48px;color:#8C8C8C;font-size:.82rem}
.site-foot .links{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px}

/* Honeypot anti-spam (oculto a humanos) */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

@media (max-width:680px){ .grid{grid-template-columns:1fr} h1{font-size:1.6rem} .head{padding:32px 0 4px} }
