/* ============================================================
   TravelMaps — Estilos compartidos de páginas legales
   ============================================================ */
:root{
  --green:#78BE20;--green-d:#5f9a18;--orange:#F7941D;--blue:#29ABE2;
  --dark:#1A1A2E;--cream:#F9F9F6;--gray:#6B7280;--gray-l:#9aa1ab;--line:#ECECE7;
  --grad:linear-gradient(90deg,#78BE20 0%,#F7941D 50%,#29ABE2 100%);
  --display:'Playfair Display',Georgia,serif;--body:'DM Sans',system-ui,sans-serif;--mono:'Space Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--body);background:var(--cream);color:var(--dark);line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--green-d);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:var(--green);color:#fff}
.wrap{max-width:820px;margin:0 auto;padding:0 28px}

/* Header */
.legal-header{background:var(--dark);position:relative;padding:20px 0}
.legal-header::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad)}
.legal-header .wrap{max-width:1180px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.legal-header .logo{height:52px;width:auto}
.legal-header .back{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.82);font-size:.9rem;font-weight:600}
.legal-header .back:hover{color:#fff;text-decoration:none}
.legal-header .back svg{width:17px;height:17px}

/* Hero band */
.legal-hero{background:#fff;border-bottom:1px solid var(--line);padding:54px 0 40px}
.legal-hero .eyebrow{font-family:var(--mono);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--green-d);font-weight:700;display:inline-flex;align-items:center;gap:10px}
.legal-hero .eyebrow::before{content:"";width:24px;height:2px;background:var(--green-d)}
.legal-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(2rem,4.6vw,2.9rem);line-height:1.1;margin:14px 0 12px;letter-spacing:-.01em}
.legal-hero .updated{font-size:.88rem;color:var(--gray-l);font-family:var(--mono)}

/* Body */
.legal-body{padding:50px 0 80px}
.legal-body h2{font-family:var(--display);font-weight:800;font-size:1.5rem;margin:38px 0 14px;letter-spacing:-.01em}
.legal-body h2:first-child{margin-top:0}
.legal-body h3{font-size:1.08rem;font-weight:700;margin:24px 0 8px}
.legal-body p{margin-bottom:15px;color:#33384a}
.legal-body ul,.legal-body ol{margin:0 0 16px 22px}
.legal-body li{margin-bottom:8px;color:#33384a}
.legal-body strong{color:var(--dark)}
.legal-body a{font-weight:600}
.legal-body .lead{font-size:1.12rem;color:var(--gray);margin-bottom:30px}

/* Data table */
.legal-table{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:.95rem}
.legal-table th,.legal-table td{text-align:left;padding:11px 14px;border:1px solid var(--line);vertical-align:top}
.legal-table th{background:var(--cream);font-weight:700;width:38%}

/* Note / placeholder callout */
.legal-note{background:#FEF7EC;border:1px solid #F6D9A8;border-left:4px solid var(--orange);border-radius:10px;padding:16px 18px;margin:24px 0;font-size:.92rem;line-height:1.6;color:#7a5a1e}
.legal-note b{color:#5f4615}
.placeholder{background:#FFF3CD;border-radius:4px;padding:1px 6px;font-family:var(--mono);font-size:.82em;color:#8a6d1a;font-weight:700}

/* Index / anchor list */
.legal-index{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin-bottom:40px}
.legal-index h4{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-l);font-weight:700;margin-bottom:12px}
.legal-index ol{margin:0;padding-left:20px}
.legal-index li{margin-bottom:7px}
.legal-index a{font-weight:600}

/* Footer */
.legal-footer{background:var(--dark);color:rgba(255,255,255,.6);padding:40px 0;font-size:.86rem;position:relative}
.legal-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad)}
.legal-footer .wrap{max-width:1180px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.legal-footer a{color:rgba(255,255,255,.7)}
.legal-footer a:hover{color:#fff}
.legal-footer .lf-links{display:flex;flex-wrap:wrap;gap:8px 18px}
