/* ============================================================
   PLS Pharma — Páginas legales y Libro de Reclamaciones
   Reutiliza el lenguaje de .pls-cf7 para que el formulario
   obligatorio no desentone del de contacto.
   ============================================================ */

/* ---------- Texto legal corrido ---------- */
.pls-legal{ max-width:860px; margin-inline:auto; font-family:var(--pls-sans); color:var(--pls-body); font-size:.95rem; line-height:1.75; }
.pls-legal h2{ font-family:var(--pls-serif); color:var(--pls-blue-deep); font-size:1.45rem; margin:2.4rem 0 .8rem; }
.pls-legal h3{ font-family:var(--pls-sans); font-weight:600; color:var(--pls-ink); font-size:1.05rem; margin:1.6rem 0 .5rem; }
.pls-legal p{ margin:0 0 1rem; }
.pls-legal ul,.pls-legal ol{ margin:0 0 1.2rem 1.1rem; padding:0; }
.pls-legal li{ margin-bottom:.45rem; }
.pls-legal a{ color:var(--pls-blue-dark); text-decoration:underline; text-underline-offset:2px; }
.pls-legal strong{ color:var(--pls-ink); }

/* Ficha de identificación del titular */
.pls-legal__ficha{
  background:var(--pls-blue-tint); border-left:4px solid var(--pls-blue);
  border-radius:var(--pls-radius); padding:1.2rem 1.4rem; margin:0 0 2rem;
  font-size:.9rem; line-height:1.7;
}
.pls-legal__ficha p{ margin:0; }
.pls-legal__fecha{ color:var(--pls-muted); font-size:.85rem; margin-top:2.5rem; }

/* ---------- Libro de Reclamaciones ---------- */
.pls-rec{ font-family:var(--pls-sans); color:var(--pls-body); }

.pls-rec__form{
  background:#F2FAFD; border:1.5px solid var(--pls-blue);
  border-radius:var(--pls-radius); padding:1.8rem;
}

.pls-rec__bloque{ border:0; padding:0; margin:0 0 1.8rem; }
.pls-rec__bloque legend{
  font-family:var(--pls-serif); color:var(--pls-blue-deep);
  font-size:1.1rem; font-weight:600; padding:0; margin-bottom:1rem;
}

.pls-rec__rejilla{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.1rem; }
.pls-rec__campo{ margin:0 0 1rem; }
.pls-rec__campo--ancho{ grid-column:1 / -1; }

.pls-rec label{
  display:block; font-size:.82rem; font-weight:500;
  color:var(--pls-blue-dark); margin-bottom:.35rem;
}
.pls-rec label span{ color:var(--pls-green-dark); }

.pls-rec input[type=text],.pls-rec input[type=email],.pls-rec input[type=tel],
.pls-rec input[type=number],.pls-rec select,.pls-rec textarea{
  width:100%; border:1.5px solid var(--pls-green); border-radius:8px; background:#fff;
  padding:.7rem .9rem; font-family:var(--pls-sans); font-size:.92rem; color:var(--pls-ink);
}
.pls-rec input:focus,.pls-rec select:focus,.pls-rec textarea:focus{
  outline:none; border-color:var(--pls-blue); box-shadow:0 0 0 3px rgba(26,143,209,.15);
}

.pls-rec__radios{ display:flex; gap:1.2rem; padding-top:.35rem; }
.pls-rec__radios--col{ flex-direction:column; gap:.6rem; }
.pls-rec__radios label{
  display:flex; gap:.5rem; align-items:flex-start;
  font-weight:400; color:var(--pls-body); font-size:.88rem; margin:0;
}
.pls-rec__radios input{ margin-top:.2rem; flex:0 0 auto; }
.pls-rec__radios strong{ color:var(--pls-ink); font-weight:600; }

.pls-rec__acepta label{
  display:flex; gap:.6rem; align-items:flex-start;
  font-weight:400; color:var(--pls-body); font-size:.85rem;
}
.pls-rec__acepta input{ margin-top:.2rem; flex:0 0 auto; }

.pls-rec__enviar{ margin:1.4rem 0 0; }

.pls-rec__legal{
  margin:1.4rem 0 0; padding-top:1.2rem; border-top:1px solid var(--pls-line);
  font-size:.8rem; line-height:1.65; color:var(--pls-muted);
}

/* El señuelo antispam: fuera de la vista pero no display:none,
   que algunos robots lo detectan. */
.pls-rec__trampa{
  position:absolute!important; left:-9999px!important;
  width:1px; height:1px; overflow:hidden;
}

/* Acuse y errores */
.pls-rec--ok{
  background:var(--pls-green-soft); border:1.5px solid var(--pls-green);
  border-radius:var(--pls-radius); padding:1.8rem;
}
.pls-rec--ok h3{
  font-family:var(--pls-serif); color:var(--pls-blue-deep);
  font-size:1.3rem; margin:0 0 .7rem;
}
.pls-rec--ok p{ margin:0 0 .7rem; }
.pls-rec__nota{ font-size:.85rem; color:var(--pls-muted); }

.pls-rec__error{
  background:#FDF2F2; border:1.5px solid #D8908F; border-radius:var(--pls-radius);
  padding:1.1rem 1.4rem; margin-bottom:1.4rem; font-size:.9rem;
}
.pls-rec__error p{ margin:0 0 .5rem; color:#8E2A29; }
.pls-rec__error ul{ margin:0 0 0 1.1rem; padding:0; color:#8E2A29; }

@media (max-width:767px){
  .pls-rec__form{ padding:1.2rem; }
  .pls-rec__rejilla{ grid-template-columns:1fr; }
  .pls-rec__radios{ flex-direction:column; gap:.6rem; }
}
