/* Formulario de arrepentimiento.
   Usa las variables del tema si están, y si no cae en valores propios: así el
   plugin sigue viéndose bien aunque un día se cambie el diseño del sitio. */

.pnlegal {
  --l-tinta: var(--pn-text, #111);
  --l-tenue: var(--pn-text-2, #5f5f5f);
  --l-linea: var(--pn-input, #e2e2e2);
  --l-fondo: var(--pn-off, #fafafa);
  --l-negro: var(--pn-black, #111);

  display: flex;
  flex-direction: column;
  gap: 28px;
  max-width: 620px;
  font-family: var(--pn-sans, inherit);
  color: var(--l-tinta);
}

.pnlegal__intro { display: flex; flex-direction: column; gap: 12px; font-size: 14.5px; line-height: 1.65; }

.pnlegal__ley { font-size: 12px; color: var(--l-tenue); }

.pnlegal__error {
  border-left: 3px solid #8e2f24;
  background: var(--l-fondo);
  padding: 13px 16px;
  font-size: 13.5px;
}

.pnlegal__ok {
  border: 1px solid var(--l-linea);
  background: var(--l-fondo);
  padding: 26px 24px;
  display: flex; flex-direction: column; gap: 12px;
}

.pnlegal__ok h2 {
  font-family: var(--pn-serif, inherit);
  font-size: 26px;
  font-weight: 400;
  margin: 0;
}

.pnlegal__form { display: flex; flex-direction: column; gap: 18px; }

.pnlegal__campo { display: flex; flex-direction: column; gap: 6px; margin: 0; }

.pnlegal__campo label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--l-tenue);
}

.pnlegal__req { color: #8e2f24; }

.pnlegal__campo input,
.pnlegal__campo textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid var(--l-linea);
  background: #fff;
  font: inherit;
  font-size: 14.5px;
  color: var(--l-tinta);
  border-radius: 0;
}

.pnlegal__campo input:focus,
.pnlegal__campo textarea:focus { outline: none; border-color: var(--l-negro); }

.pnlegal__ayuda { font-size: 12px; color: var(--l-tenue); }

.pnlegal__boton {
  align-self: flex-start;
  padding: 15px 34px;
  background: var(--l-negro);
  color: #fff;
  border: 0;
  font: inherit;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity .2s ease;
}

.pnlegal__boton:hover { opacity: .85; }

/* La trampa antispam: fuera de pantalla, no display:none, porque algunos robots
   detectan lo oculto y salteán el campo justamente por eso. */
.pnlegal__trampa {
  position: absolute;
  left: -9999px;
  width: 1px; height: 1px;
  overflow: hidden;
}

.pnlegal__vendedor {
  border-top: 1px solid var(--l-linea);
  padding-top: 20px;
  font-size: 13px;
  line-height: 1.8;
  color: var(--l-tenue);
}

.pnlegal__vendedor-titulo {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--l-tinta);
  margin-bottom: 8px;
}

.pnlegal__datos { font-size: 12.5px; color: var(--l-tenue); line-height: 1.7; }

@media (max-width: 600px) {
  .pnlegal__boton { align-self: stretch; text-align: center; }
}
