/* ═══════════════════════════════════════════════════════════════════
   TU OPINIÓN — formulario de feedback. Estética editorial de la web
   (tokens --carbon/--bone/--burgundy; se adapta a claro/oscuro).
   ═══════════════════════════════════════════════════════════════════ */

.leb-fb-intro { max-width: 640px; margin: 0 0 44px; }
.leb-fb-lead {
  margin: 0 0 14px;
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 4vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--bone);
}
.leb-fb-lead em { font-style: italic; }
.leb-fb-intro-body {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--bone-dim);
}

.leb-fb-form {
  max-width: 640px;
  display: flex;
  flex-direction: column;
  gap: 26px;
  position: relative;
}
.leb-fb-field { display: flex; flex-direction: column; gap: 9px; }
.leb-fb-label {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bone-dim);
}
.leb-fb-req { color: var(--burgundy-glow); }
.leb-fb-opt { color: var(--bone-faint); letter-spacing: 0.12em; }

.leb-fb-input,
.leb-fb-textarea {
  width: 100%;
  background: var(--carbon-2);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 15px 16px;
  font-family: var(--sans);
  font-size: 15.5px;
  color: var(--bone);
  transition: border-color 0.2s ease, background 0.2s ease;
}
.leb-fb-input::placeholder,
.leb-fb-textarea::placeholder { color: var(--bone-faint); }
.leb-fb-input:focus,
.leb-fb-textarea:focus {
  outline: none;
  border-color: var(--bone-dim);
  background: var(--steel);
}
.leb-fb-textarea { resize: vertical; min-height: 148px; line-height: 1.55; }

.leb-fb-legend {
  margin: 2px 0 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--bone-faint);
}
.leb-fb-legend strong { color: var(--bone-dim); font-weight: 500; }

/* Honeypot: fuera de pantalla (sin display:none, para que el bot lo complete) */
.leb-fb-hp {
  position: absolute;
  left: -9999px;
  top: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.leb-fb-submit {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 15px 30px;
  background: var(--bone);
  color: var(--carbon);
  border: 1px solid var(--bone);
  border-radius: 4px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter 0.2s ease, transform 0.15s ease, opacity 0.2s ease;
}
.leb-fb-submit:hover { filter: brightness(1.1); }
.leb-fb-submit:active { transform: scale(0.98); }
.leb-fb-submit:disabled { opacity: 0.5; cursor: default; filter: none; }
.leb-fb-submit-arrow { font-size: 15px; }

.leb-fb-status {
  margin: 4px 0 0;
  padding: 13px 16px;
  border: 1px solid var(--line);
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--bone);
}
.leb-fb-status[data-tone="ok"] {
  border-color: rgba(122, 22, 32, 0.55);
  background: rgba(91, 14, 22, 0.14);
}
.leb-fb-status[data-tone="err"] {
  border-color: rgba(190, 74, 74, 0.5);
  background: rgba(150, 55, 55, 0.12);
}

@media (max-width: 560px) {
  .leb-fb-submit { width: 100%; justify-content: center; }
}
