/* ===== JoyCook · Páginas legales (tema terracota) ===== */
:root{
  --accent:#c2552a;            /* se sobreescribe por página con {{brandColor}} */
  --accent-600:#a8431f;
  --bg:#fbf3ec; --bg-soft:#f6ebe1; --card:#ffffff;
  --ink:#2c2320; --body:#3c332d; --muted:#6d5f53; --border:#eadccf;
  --radius:18px;
}
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--bg);
  background-image: radial-gradient(900px 480px at 100% -8%, #f7e5d6 0%, rgba(247,229,214,0) 58%);
  color:var(--body);
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  line-height:1.72;
  padding:0 16px calc(56px + env(safe-area-inset-bottom));
}

/* Header */
.legal-header{ max-width:820px; margin:0 auto; padding:22px 0 6px; }
.legal-header a{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.legal-header img{ height:40px; width:auto; display:block; }
.legal-header .brand{
  font-family:"Montserrat", sans-serif; font-weight:800; font-size:18px;
  color:var(--accent); letter-spacing:.02em; text-transform:uppercase;
}

/* Documento */
.legal-card{
  max-width:820px; margin:14px auto 0; background:var(--card);
  border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:0 1px 3px rgba(120,60,30,.05), 0 18px 46px rgba(120,60,30,.08);
  padding:clamp(24px, 5vw, 54px);
}
.legal-card h1{
  font-family:"Montserrat", sans-serif; font-weight:800;
  font-size:clamp(26px, 5vw, 34px); line-height:1.15; letter-spacing:-.01em;
  color:var(--ink); margin:0 0 6px;
}
.legal-updated{ color:var(--muted); font-size:13px; margin:0 0 26px; }
.legal-lead{
  font-size:16.5px; color:#4a4039; background:var(--bg-soft);
  border-left:4px solid var(--accent); border-radius:0 12px 12px 0;
  padding:14px 18px; margin:0 0 8px;
}
.legal-card h2{
  font-family:"Montserrat", sans-serif; font-weight:700; font-size:18px;
  color:var(--accent-600); margin:32px 0 10px; line-height:1.3;
}
.legal-card h2 .num{ color:var(--accent); margin-right:6px; }
.legal-card p{ font-size:15.5px; margin:10px 0; }
.legal-card ul{ padding-left:20px; margin:10px 0; }
.legal-card li{ font-size:15.5px; margin:7px 0; }
.legal-card strong{ color:var(--ink); }
.legal-card a{ color:var(--accent-600); }
.legal-contact{
  background:var(--bg-soft); border:1px solid var(--border); border-radius:14px;
  padding:16px 18px; margin:14px 0;
}
.legal-contact p{ margin:4px 0; font-size:15px; }
.legal-card a.back-home{
  display:inline-flex; align-items:center; gap:8px; margin-top:30px;
  background:linear-gradient(180deg, var(--accent), var(--accent-600));
  color:#ffffff !important; text-decoration:none;
  font-family:"Montserrat", sans-serif; font-weight:800; font-size:15px;
  padding:13px 26px; border-radius:12px; box-shadow:0 10px 24px rgba(194,85,42,.30);
  transition:filter .15s, transform .08s;
}
.legal-card a.back-home:hover{ filter:brightness(1.08); color:#ffffff !important; }
.legal-card a.back-home:active{ transform:translateY(1px); }

/* Footer */
.legal-footer{
  max-width:820px; margin:26px auto 0; display:flex; flex-wrap:wrap;
  gap:6px 16px; align-items:center; justify-content:center; font-size:13px;
}
.legal-footer a{ color:var(--muted); text-decoration:none; }
.legal-footer a:hover{ color:var(--accent-600); }
.legal-footer .dot{ color:var(--border); }

@media (max-width:600px){
  .legal-card{ border-radius:14px; }
  .legal-card h2{ font-size:16.5px; }
  body{ line-height:1.66; }
}

/* Foco visible para navegacion con teclado */
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px;}
