/* Shared styles for the legal pages (terminos, privacidad, cookies, aviso-legal).
   Union of the four original inline <style> blocks, deduped by rule. */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
      background: #0a0c10;
      color: #cbd5e1;
      font-family: 'Inter', sans-serif;
      font-size: .93rem;
      line-height: 1.75;
      padding: 40px 20px 80px;
    }
.wrap { max-width: 780px; margin: 0 auto; }
.back {
      display: inline-flex; align-items: center; gap: 6px;
      color: #00d4aa; text-decoration: none; font-size: .82rem;
      font-weight: 600; margin-bottom: 32px;
    }
.back:hover { text-decoration: underline; }
.badge {
      display: inline-block;
      background: rgba(0,212,170,.12);
      border: 1px solid rgba(0,212,170,.3);
      color: #00d4aa;
      font-size: .65rem; font-weight: 800;
      letter-spacing: .12em; text-transform: uppercase;
      padding: 4px 12px; border-radius: 40px;
      margin-bottom: 16px;
    }
h1 { font-size: 1.9rem; font-weight: 800; color: #f1f5f9; margin-bottom: 8px; }
.meta { font-size: .78rem; color: #475569; margin-bottom: 40px; }
h2 {
      font-size: 1rem; font-weight: 700; color: #e2e8f0;
      margin: 36px 0 12px;
      padding-bottom: 8px;
      border-bottom: 1px solid rgba(255,255,255,.07);
    }
h3 { font-size: .9rem; font-weight: 700; color: #cbd5e1; margin: 20px 0 8px; }
p { margin-bottom: 12px; color: #94a3b8; }
strong { color: #e2e8f0; }
a { color: #00d4aa; }
ul { margin: 8px 0 16px 20px; }
ul li { color: #94a3b8; margin-bottom: 6px; }
.data-table {
      width: 100%;
      border-collapse: collapse;
      margin: 16px 0 24px;
      font-size: .84rem;
    }
.data-table th {
      background: #111318;
      color: #94a3b8;
      font-weight: 600;
      padding: 10px 14px;
      text-align: left;
      border: 1px solid rgba(255,255,255,.07);
    }
.data-table td {
      padding: 10px 14px;
      border: 1px solid rgba(255,255,255,.05);
      color: #94a3b8;
      vertical-align: top;
    }
.data-table tr:nth-child(even) td { background: rgba(255,255,255,.02); }
.green-box {
      background: rgba(34,197,94,.06);
      border: 1px solid rgba(34,197,94,.2);
      border-radius: 10px;
      padding: 16px 20px;
      margin: 16px 0;
    }
.green-box p { color: #86efac; margin: 0; }
.rights-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 12px;
      margin: 16px 0 24px;
    }
.right-card {
      background: #111318;
      border: 1px solid rgba(255,255,255,.07);
      border-radius: 10px;
      padding: 14px 16px;
    }
.right-card strong { display: block; color: #e2e8f0; margin-bottom: 4px; font-size: .85rem; }
.right-card span { color: #64748b; font-size: .8rem; }
.footer-nav {
      margin-top: 56px;
      padding-top: 24px;
      border-top: 1px solid rgba(255,255,255,.07);
      display: flex; gap: 20px; flex-wrap: wrap;
    }
.footer-nav a { color: #475569; font-size: .8rem; text-decoration: none; }
.footer-nav a:hover { color: #00d4aa; }
.highlight-box {
      background: rgba(239,68,68,.07);
      border: 1px solid rgba(239,68,68,.2);
      border-radius: 10px;
      padding: 16px 20px;
      margin: 16px 0;
    }
.highlight-box p { color: #fca5a5; margin: 0; }
.price-table {
      width: 100%;
      border-collapse: collapse;
      margin: 16px 0 24px;
      font-size: .85rem;
    }
.price-table th {
      background: #111318;
      color: #94a3b8;
      font-weight: 600;
      padding: 10px 14px;
      text-align: left;
      border: 1px solid rgba(255,255,255,.07);
    }
.price-table td {
      padding: 10px 14px;
      border: 1px solid rgba(255,255,255,.05);
      color: #94a3b8;
    }
.price-table tr:nth-child(even) td { background: rgba(255,255,255,.02); }
.data-box {
      background: #111318;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 12px;
      padding: 20px 24px;
      margin: 16px 0 24px;
    }
.data-box p { margin: 4px 0; }
