@import url("./color-consistency-final.css?v=1");

:root{
  color-scheme:dark;
  --legal-bg:#06110a;
  --legal-panel:#0b1a10;
  --legal-panel-2:#0e2415;
  --legal-border-color:var(--theme-border);
  --legal-text:#f3fff6;
  --legal-muted:#a9b8ad;
  --legal-accent:#5df08d;
  --legal-accent-soft:rgba(93,240,141,.12);
}
*{box-sizing:border-box}
html{background:var(--legal-bg)}
body.legal-body{margin:0;min-height:100vh;background:var(--theme-surface-2);color:var(--legal-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
.legal-shell{width:min(920px,calc(100% - 28px));margin:0 auto;padding:34px 0 52px}
.legal-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.legal-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--legal-text)}
.legal-brand img{width:118px;height:auto;display:block}
.legal-back{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid var(--legal-border);border-radius:14px;background:var(--theme-surface-2);color:var(--legal-text);text-decoration:none;font-weight:700;font-size:14px}
.legal-hero{padding:26px;border:1px solid var(--legal-border);border-radius:24px;background:var(--theme-surface-2);box-shadow:none;margin-bottom:18px}
.legal-kicker{margin:0 0 8px;color:var(--legal-accent);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.legal-hero h1{margin:0;font-size:clamp(30px,6vw,48px);line-height:1.08;letter-spacing:-.035em}
.legal-meta{margin:12px 0 0;color:var(--legal-muted);font-size:14px}
.legal-card{padding:24px 26px;border:1px solid var(--legal-border);border-radius:22px;background:var(--theme-surface-2);margin-top:14px}
.legal-card h2{margin:0 0 12px;font-size:20px;line-height:1.25}
.legal-card h3{margin:20px 0 8px;font-size:16px}
.legal-card p{margin:9px 0;color:var(--theme-text-2)}
.legal-card ul{margin:10px 0 0;padding-left:20px;color:var(--theme-text-2)}
.legal-card li{margin:7px 0}
.legal-card a{color:var(--legal-accent);text-underline-offset:3px}
.legal-callout{padding:15px 17px;border:1px solid rgba(93,240,141,.24);border-radius:16px;background:var(--legal-accent-soft);color:var(--theme-text);margin:14px 0}
.legal-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.legal-contact a{display:block;padding:13px 14px;border:1px solid var(--legal-border);border-radius:14px;background:var(--theme-surface-2);text-decoration:none;color:var(--legal-text);font-weight:750;overflow-wrap:anywhere}
.legal-footer,.plans-legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;color:var(--legal-muted);font-size:13px}
.legal-footer{padding:24px 8px 0}
.legal-footer a,.plans-legal-footer a{color:var(--theme-text-2);text-decoration:none}
.plans-legal-footer{width:min(980px,calc(100% - 26px));margin:20px auto 110px;padding:18px;border-top:1px solid var(--legal-border)}
.plans-legal-footer span{width:100%;text-align:center;color:var(--legal-muted)}

/* Pie legal de Planes: presentación compacta y organizada. */
.plans-legal-footer{
  display:grid;
  grid-template-columns:repeat(3,max-content);
  align-items:center;
  justify-content:center;
  gap:10px 12px;
  padding:15px 17px 16px;
  border:1px solid var(--legal-border);
  border-radius:18px;
  background:var(--theme-surface-2);
  box-shadow:none;
}
.plans-legal-footer a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 11px;
  border:1px solid rgba(105,255,164,.10);
  border-radius:10px;
  background:var(--theme-surface-2);
  color:var(--theme-text-2);
  font-size:12px;
  font-weight:750;
  line-height:1.2;
}
.plans-legal-footer span{
  grid-column:1/-1;
  width:100%;
  margin-top:2px;
  padding-top:11px;
  border-top:1px solid rgba(105,255,164,.10);
  color:var(--theme-muted);
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

@media(max-width:640px){
  .legal-shell{width:min(100% - 20px,920px);padding-top:22px}
  .legal-header{align-items:flex-start}
  .legal-brand img{width:104px}
  .legal-back{font-size:13px;padding:0 12px}
  .legal-hero,.legal-card{padding:20px;border-radius:19px}
  .legal-contact{grid-template-columns:1fr}
  .plans-legal-footer{
    grid-template-columns:1fr;
    gap:7px;
    padding:13px;
  }
  .plans-legal-footer a{
    width:100%;
  }
  .plans-legal-footer span{
    grid-column:1;
    margin-top:3px;
  }
}

/* =========================================================
   KOVRA — CALIDAD RESPONSIVE LEGAL
   Misma identidad; solo legibilidad y compactación por viewport.
========================================================= */
@media screen {
  body.legal-body{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
  }
  .legal-kicker{font-size:clamp(12.5px,1.6vw,13px)}
  .legal-meta{font-size:clamp(13.5px,1.7vw,14.5px)}
  .legal-card p,
  .legal-card li,
  .legal-callout{
    font-size:clamp(14.5px,1.75vw,16px);
    line-height:1.62;
  }
  .legal-footer,
  .legal-footer a{
    font-size:clamp(12.5px,1.55vw,13.5px);
    line-height:1.3;
  }
  .legal-contact a{font-size:clamp(13.5px,1.7vw,15px)}
}

@media screen and (max-width:390px){
  .legal-shell{
    width:calc(100% - 16px);
    padding-top:max(16px,env(safe-area-inset-top));
    padding-bottom:34px;
  }
  .legal-header{gap:10px;margin-bottom:14px}
  .legal-brand img{width:98px}
  .legal-back{min-height:40px;padding:0 11px;font-size:12.5px}
  .legal-hero,
  .legal-card{padding:17px 16px;border-radius:17px}
  .legal-hero{margin-bottom:12px}
  .legal-card{margin-top:10px}
  .legal-card h2{font-size:18px}
}

@media screen and (min-width:700px){
  .legal-shell{width:min(920px,calc(100% - 48px));padding-top:32px}
}

/* KOVRA Legal — área segura y nitidez final. */
html,body.legal-body{-webkit-font-smoothing:antialiased!important;text-rendering:optimizeLegibility!important;font-synthesis:none!important}
.legal-shell{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
@media(max-width:640px){
  .legal-shell{width:calc(100% - max(20px,env(safe-area-inset-left) + env(safe-area-inset-right)))!important}
  .legal-card p,.legal-card li,.legal-callout{font-size:14.5px!important}
}
