/* =========================================================
   legal.css — Términos y condiciones, Cambios y devoluciones,
   Libro de reclamaciones. Reutiliza los tokens de layout.css.
   ========================================================= */
.legal-main{ padding:56px 0 100px; }
.legal-header{ max-width:760px; margin:0 auto 40px; }
.legal-breadcrumb{ font-size:13px; color:rgba(18,18,18,0.5); margin-bottom:16px; }
.legal-breadcrumb a{ color:var(--science); }
.legal-header h1{ font-family:var(--display); font-weight:700; font-size:clamp(28px,4vw,40px); color:var(--ink); margin-bottom:10px; letter-spacing:-0.01em; }
.legal-header .updated{ font-family:var(--mono); font-size:14px; color:rgba(18,18,18,0.5); text-transform:uppercase; letter-spacing:.04em; }
.legal-header .lead{ margin-top:14px; font-size:15px; color:rgba(18,18,18,0.65); line-height:1.6; }

.legal-doc{ max-width:760px; margin:0 auto; color:var(--ink); line-height:1.7; font-size:15px; }
.legal-doc h2{ font-family:var(--display); font-weight:700; font-size:19px; margin:34px 0 14px; color:var(--ink); }
.legal-doc h2:first-child{ margin-top:0; }
.legal-doc h3{ font-size:15.5px; font-weight:700; margin:18px 0 8px; color:var(--ink); }
.legal-doc p{ margin-bottom:14px; color:rgba(18,18,18,0.75); }
.legal-doc ul, .legal-doc ol{ margin:0 0 14px 22px; color:rgba(18,18,18,0.75); }
.legal-doc li{ margin-bottom:6px; }
.legal-doc strong{ color:var(--ink); }
.legal-doc a{ color:var(--science); text-decoration:underline; }

.legal-note{
  background:var(--foam); border-left:3px solid var(--teal); border-radius:10px;
  padding:14px 18px; margin:22px 0; font-size:14px; color:rgba(18,18,18,0.7); line-height:1.6;
}
.legal-note strong{ color:var(--teal-dark); }

/* ---------- Libro de reclamaciones (el resto de .co-field ya viene de ecommerce.css) ---------- */
.co-field textarea{
  width:100%; border:1px solid var(--line); border-radius:10px; padding:13px 14px;
  font-family:var(--body); font-size:14px; color:var(--ink); background:#fff; resize:vertical;
  transition:border-color .25s, box-shadow .25s;
}
.co-field textarea:focus{ outline:none; border-color:var(--science); box-shadow:0 0 0 3px rgba(236,85,152,0.12); }

.rc-type-toggle{ display:flex; gap:10px; margin-bottom:20px; }
.rc-type-btn{
  flex:1; padding:14px; border-radius:14px; border:1.5px solid var(--line); text-align:left;
  background:#fff; transition:all .2s var(--ease);
}
.rc-type-btn strong{ display:block; font-size:14px; color:var(--ink); margin-bottom:2px; }
.rc-type-btn span{ font-size:14px; color:rgba(18,18,18,0.55); line-height:1.4; }
.rc-type-btn.active{ border-color:var(--science); background:rgba(236,85,152,0.06); }
.rc-type-btn.active strong{ color:var(--science); }

.rc-section-title{
  font-family:var(--mono); font-size:13px; text-transform:uppercase; letter-spacing:.06em;
  color:rgba(18,18,18,0.45); margin:28px 0 14px; padding-top:20px; border-top:1px solid var(--line);
}
.rc-section-title:first-of-type{ border-top:none; padding-top:0; margin-top:4px; }

.rc-check{ display:flex; align-items:flex-start; gap:10px; font-size:13px; color:rgba(18,18,18,0.7); margin:6px 0 16px; }
.rc-check input{ margin-top:3px; accent-color:var(--science); width:15px; height:15px; }

.rc-submit{
  width:100%; padding:16px; border-radius:14px; background:var(--ink); color:#fff; font-weight:700; font-size:14.5px;
  transition:background .25s; margin-top:8px;
}
.rc-submit:hover{ background:var(--science); }
.rc-submit:disabled{ opacity:.6; cursor:default; }

.rc-card{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:32px; max-width:640px; margin:0 auto; }

.rc-success{ text-align:center; padding:20px 0; }
.rc-success-check{
  width:64px; height:64px; border-radius:50%; background:rgba(47,167,154,0.12); color:var(--teal-dark);
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
}
.rc-success-check svg{ width:30px; height:30px; }
.rc-success h2{ font-family:var(--display); font-size:21px; margin-bottom:10px; }
.rc-success p{ font-size:14px; color:rgba(18,18,18,0.6); margin-bottom:8px; line-height:1.6; }
.rc-success .rc-number{
  font-family:var(--mono); font-size:14px; background:var(--foam); padding:10px 18px; border-radius:10px;
  display:inline-block; margin:14px 0 20px; color:var(--science); font-weight:700;
}
.rc-success a{ display:inline-flex; background:var(--ink); color:#fff; padding:14px 26px; border-radius:14px; font-size:14px; font-weight:600; }

@media(max-width:640px){
  .rc-card{ padding:22px; }
  .rc-type-toggle{ flex-direction:column; }
}
