*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --negro:#070604;
  --negro-card:#141209;
  --negro-line:rgba(255,255,255,0.05);
  --crema:#EDE8DF;
  --crema-soft:#DDD6CA;
  --crema-mute:#9B907F;
  --texto:#E0D9CE;
  --dorado:#B8973A;
  --dorado-claro:#D4AF62;
  --dorado-soft:rgba(184,151,58,0.18);
}

html, body { background:var(--negro) !important; }
body {
  font-family:'Jost',sans-serif;
  font-weight:300;
  color:var(--texto);
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}

.legal-wrap {
  max-width:680px;
  margin:0 auto;
  padding:48px 28px 80px;
}

/* Brand emblem (consistencia funnel) */
.legal-emblem {
  text-align:center;
  margin:0 0 36px;
  padding-bottom:28px;
  border-bottom:1px solid var(--negro-line);
}
.legal-emblem .monogram {
  font-family:'Cormorant Garamond',serif;
  font-size:0.92rem;
  font-style:italic;
  color:var(--dorado);
  letter-spacing:5px;
  text-transform:uppercase;
  display:inline-block;
  padding:0 18px;
  position:relative;
}
.legal-emblem .monogram::before,
.legal-emblem .monogram::after {
  content:'';
  position:absolute;
  top:50%;
  width:32px;
  height:1px;
  background:var(--dorado-soft);
}
.legal-emblem .monogram::before { right:100%; }
.legal-emblem .monogram::after { left:100%; }

.legal-wrap h1 {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(2rem,7vw,3rem);
  font-weight:400;
  color:var(--crema);
  margin-bottom:8px;
  line-height:1.1;
}
.legal-wrap .legal-updated {
  font-size:0.7rem;
  color:var(--crema-mute);
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:42px;
  display:block;
}
.legal-wrap h2 {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.35rem;
  font-weight:500;
  color:var(--dorado);
  margin:40px 0 14px;
  letter-spacing:0.3px;
  line-height:1.3;
}
.legal-wrap h3 {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.12rem;
  font-weight:500;
  font-style:italic;
  color:var(--crema-soft);
  margin:24px 0 10px;
}
.legal-wrap p {
  font-size:0.88rem;
  color:var(--texto);
  margin-bottom:14px;
  line-height:1.85;
}
.legal-wrap p strong { color:var(--crema-soft); font-weight:400; }
.legal-wrap ul {
  list-style:none;
  padding:0;
  margin:10px 0 18px;
}
.legal-wrap ul li {
  font-size:0.86rem;
  color:var(--crema-soft);
  padding:5px 0 5px 18px;
  position:relative;
  line-height:1.78;
}
.legal-wrap ul li::before {
  content:'';
  position:absolute;
  left:0;
  top:14px;
  width:4px;
  height:4px;
  background:var(--dorado);
  border-radius:50%;
}
.legal-wrap ul li strong { color:var(--crema); font-weight:400; }
.legal-wrap .legal-data {
  background:var(--negro-card);
  border-left:2px solid var(--dorado);
  padding:20px 24px;
  margin:18px 0 22px;
  font-size:0.85rem;
  line-height:1.95;
}
.legal-wrap .legal-data strong { color:var(--crema-soft); font-weight:400; }
.legal-wrap .legal-data a {
  color:var(--dorado-claro);
  text-decoration:none;
  border-bottom:1px solid var(--dorado-soft);
}
.legal-wrap .legal-data a:hover { border-bottom-color:var(--dorado-claro); }

/* Cookie table */
.legal-wrap .cookie-table {
  width:100%;
  border-collapse:collapse;
  margin:18px 0;
}
.legal-wrap .cookie-table th {
  text-align:left;
  font-size:0.65rem;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:var(--dorado);
  padding:12px 10px 12px 0;
  border-bottom:1px solid var(--dorado-soft);
  font-weight:500;
}
.legal-wrap .cookie-table th:not(:last-child) { padding-right:14px; }
.legal-wrap .cookie-table td {
  padding:12px 10px 12px 0;
  font-size:0.82rem;
  border-bottom:1px solid var(--negro-line);
  color:var(--texto);
  vertical-align:top;
  line-height:1.55;
}
.legal-wrap .cookie-table td:not(:last-child) { padding-right:14px; }
.legal-wrap .cookie-table code {
  font-family:'Menlo','Monaco','Courier New',monospace;
  font-size:0.76rem;
  color:var(--dorado-claro);
  background:rgba(184,151,58,0.08);
  padding:2px 6px;
  border-radius:2px;
  white-space:nowrap;
}
.legal-wrap .cookie-table .tipo {
  font-size:0.7rem;
  letter-spacing:0.5px;
  text-transform:uppercase;
  color:var(--crema-mute);
}
.legal-wrap .cookie-table .tipo-tec { color:var(--dorado-claro); }

.legal-wrap a {
  color:var(--dorado-claro);
  text-decoration:none;
  border-bottom:1px solid var(--dorado-soft);
  transition:border-color 0.2s;
}
.legal-wrap a:hover { border-bottom-color:var(--dorado-claro); }

.legal-wrap .panel-link {
  display:inline-block;
  border:1px solid var(--dorado);
  background:rgba(184,151,58,0.06);
  padding:13px 26px;
  font-family:'Jost',sans-serif;
  font-size:0.7rem;
  font-weight:500;
  letter-spacing:2.2px;
  text-transform:uppercase;
  color:var(--dorado-claro);
  text-decoration:none;
  border-bottom:1px solid var(--dorado);
  margin:18px 0 10px;
  cursor:pointer;
  transition:all 0.3s ease;
}
.legal-wrap .panel-link:hover {
  background:var(--dorado);
  color:var(--negro);
  border-bottom-color:var(--dorado);
}

.legal-wrap .legal-footer {
  margin-top:56px;
  padding-top:28px;
  border-top:1px solid var(--negro-line);
  text-align:center;
  font-size:0.7rem;
  color:var(--crema-mute);
  line-height:1.7;
}
.legal-wrap .legal-footer strong { color:var(--crema-soft); font-weight:400; }
.legal-wrap .legal-footer a {
  color:var(--dorado);
  border-bottom-color:transparent;
  letter-spacing:0.5px;
}
.legal-wrap .legal-footer-links {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 18px;
  margin-top:14px;
}

/* Responsive table mobile */
@media (max-width:560px) {
  .legal-wrap { padding:32px 22px 64px; }
  .legal-wrap .cookie-table { font-size:0.78rem; }
  .legal-wrap .cookie-table th,
  .legal-wrap .cookie-table td { padding:10px 6px 10px 0; }
  .legal-wrap .cookie-table th:first-child,
  .legal-wrap .cookie-table td:first-child { padding-right:8px; }
  .legal-wrap .cookie-table code { font-size:0.72rem; }
}