/* Recovery Shop · estilos específicos de Legal.html.
   Tipografía, tokens, cabecera, pie, botones y contenedores comunes
   se normalizan después desde recovery-global.css. */

:root{
      --rs-green:#52ff2f;
      --rs-green-dark:#1fa83b;
      --rs-ink:#111611;
      --rs-muted:#61705d;
      --rs-soft:#f5f7f2;
      --rs-line:rgba(17,22,17,.10);
      --rs-shadow:0 18px 55px rgba(16,22,16,.10);
      --rs-max:980px;
      --rs-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;padding:0;font-family:var(--rs-font);color:var(--rs-ink);background:#fff}
    a{color:inherit}

    .rs-legal{background:#fff}
    .rs-legal-hero{
      position:relative;
      overflow:hidden;
      color:#fff;
      background:
        radial-gradient(circle at 80% 20%,rgba(82,255,47,.18),transparent 30%),
        linear-gradient(135deg,#070a07 0%,#111811 58%,#071007 100%);
      border-bottom:1px solid rgba(82,255,47,.16);
    }
    .rs-legal-hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);
      background-size:58px 58px;
      pointer-events:none;
    }
    .rs-legal-wrap{
      width:min(var(--rs-max),calc(100% - 34px));
      margin-inline:auto;
    }
    .rs-legal-hero-inner{
      position:relative;
      z-index:1;
      padding:74px 0 66px;
    }
    .rs-legal-kicker{
      margin:0 0 10px;
      color:var(--rs-green);
      font-size:13px;
      font-weight:950;
      letter-spacing:.10em;
      text-transform:uppercase;
    }
    .rs-legal-hero h1{
      margin:0;
      font-size:clamp(42px,6vw,72px);
      line-height:.96;
      letter-spacing:-.065em;
    }
    .rs-legal-hero p{
      max-width:720px;
      margin:18px 0 0;
      color:#dce5d8;
      font-size:17px;
      line-height:1.6;
    }

    .rs-legal-content{
      padding:54px 0 76px;
    }
    .rs-legal-card{
      padding:clamp(22px,4vw,42px);
      border:1px solid var(--rs-line);
      border-radius:28px;
      background:#fff;
      box-shadow:var(--rs-shadow);
    }
    .rs-legal-section + .rs-legal-section{
      margin-top:38px;
      padding-top:38px;
      border-top:1px solid var(--rs-line);
    }
    .rs-legal-section h2{
      margin:0 0 15px;
      color:var(--rs-ink);
      font-size:clamp(23px,3vw,31px);
      line-height:1.12;
      letter-spacing:-.035em;
    }
    .rs-legal-section p{
      margin:0 0 14px;
      color:#394335;
      line-height:1.72;
      font-size:15.5px;
    }
    .rs-legal-section p:last-child{margin-bottom:0}
    .rs-legal-section ul{
      margin:16px 0 0;
      padding-left:22px;
    }
    .rs-legal-section li{
      margin:9px 0;
      color:#394335;
      line-height:1.62;
    }
    .rs-legal-section a{
      color:#167f22;
      font-weight:800;
      text-decoration:underline;
      text-underline-offset:3px;
    }
    .rs-legal-data{
      display:grid;
      grid-template-columns:minmax(0,1fr);
      gap:10px;
      margin:18px 0 0;
      padding:0;
      list-style:none;
    }
    .rs-legal-section ul.rs-legal-data{
      padding-left:0;
    }
    .rs-legal-data li{
      min-width:0;
      overflow-wrap:anywhere;
      margin:0;
      padding:13px 15px;
      border:1px solid var(--rs-line);
      border-radius:15px;
      background:var(--rs-soft);
    }
    .rs-legal-data strong{color:var(--rs-ink)}
    .rs-legal-note{
      margin-top:38px;
      padding:18px 20px;
      border-radius:18px;
      background:var(--rs-soft);
      color:var(--rs-muted);
      font-size:14px;
      line-height:1.6;
    }

    @media (max-width:760px){
      .rs-legal-wrap{width:min(100% - 24px,var(--rs-max))}
      .rs-legal-hero-inner{padding:52px 0 48px}
      .rs-legal-content{padding:34px 0 54px}
      .rs-legal-card{border-radius:22px}
      .rs-legal-section + .rs-legal-section{margin-top:30px;padding-top:30px}
    }
