/* Ajustes propios sobre el CSS original. Lo que se añada aquí manda sobre lo demás. */

/* Formulario de contacto (sustituye al de JetFormBuilder) */
.formulario-mbcm textarea {
  width: 100%;
  min-height: 300px;
  resize: vertical;
  color: #000;
  background-color: #fff;
}
.formulario-mbcm input { color: #000; background-color: #fff; }
.campo-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.jet-form-builder-messages-wrap { margin-top: var(--space-s); font-size: var(--text-s); }
.jet-form-builder-messages-wrap.ok { color: #2e7d32; }
.jet-form-builder-messages-wrap.error { color: #c62828; }

/* Formulario: sugerencia de email y casilla de privacidad */
.sugerencia-email { margin-top: .4em; font-size: var(--text-s); }
.sugerencia-email button { background: none; border: 0; padding: 0; color: var(--primary); text-decoration: underline; cursor: pointer; font: inherit; }
.casilla-privacidad label { display: flex; gap: .6em; align-items: flex-start; font-size: var(--text-s); line-height: 1.4; cursor: pointer; }
.casilla-privacidad input { margin-top: .2em; flex: none; }
.casilla-privacidad a { color: var(--primary); text-decoration: underline; }
.info-privacidad { margin-top: .5em; font-size: var(--text-xs); line-height: 1.4; opacity: .75; }

/* Página de preguntas frecuentes (/faqs/) */
.faqs .content-105__container { padding-top: var(--section-space-m, var(--container-gap)); }
.faqs__lista { display: flex; flex-direction: column; width: 100%; border-top: 1px solid var(--neutral-trans-10, #0000001a); }
.faqs__item { border-bottom: 1px solid var(--neutral-trans-10, #0000001a); }
.faqs__pregunta { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--space-s); padding: var(--space-s) 0; font-weight: 600; font-size: var(--text-m); color: var(--neutral); }
.faqs__pregunta::-webkit-details-marker { display: none; }
.faqs__pregunta::after { content: "+"; flex: none; font-size: 1.4em; line-height: 1; transition: transform .3s ease; }
.faqs__item[open] .faqs__pregunta::after { transform: rotate(45deg); }
.faqs__respuesta { padding: 0 0 var(--space-m); color: var(--neutral-trans-60); max-width: 70ch; }
.faqs__respuesta p + p { margin-top: var(--space-xs); }
.faqs__item[open] .faqs__respuesta { animation: fade-in .4s ease; }
.faqs__cta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s); }
.faqs__cta p { width: 100%; font-weight: 600; color: var(--neutral); margin: 0; }
.faqs__cta-secundario { background: transparent !important; color: var(--neutral) !important; border: 1px solid var(--neutral); }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
.faqs__cta .brxe-button { padding: var(--space-xs) var(--space-m); border-radius: var(--radius-xs); font-weight: 600; }
.faqs__cta .brxe-button:not(.faqs__cta-secundario) { background: var(--neutral); color: var(--white); border: 1px solid var(--neutral); }
.faqs__cta .brxe-button:not(.faqs__cta-secundario):hover { background: var(--neutral-trans-90); }

/* Aviso de cookies */
.aviso-cookies { position: fixed; z-index: 10000; left: var(--space-s); right: var(--space-s); bottom: var(--space-s); max-width: 560px; margin-inline: auto;
  background: var(--white); color: var(--neutral); border: 1px solid var(--neutral-trans-10, #0000001a); border-radius: var(--radius-xs);
  box-shadow: 0 10px 40px #00000026; padding: var(--space-s) var(--space-m); display: flex; flex-direction: column; gap: var(--space-s); font-size: var(--text-s); line-height: 1.5; }
.aviso-cookies[hidden] { display: none; }
.aviso-cookies a { color: var(--neutral); text-decoration: underline; }
.aviso-cookies__botones { display: flex; gap: var(--space-xs); justify-content: flex-end; flex-wrap: wrap; }
.aviso-cookies button { cursor: pointer; font: inherit; font-weight: 600; padding: var(--space-xs) var(--space-m); border-radius: var(--radius-xs);
  border: 1px solid var(--neutral); background: transparent; color: var(--neutral); }
.aviso-cookies .aviso-cookies__aceptar { background: var(--neutral); color: var(--white); }

/* Textos legales sencillos (política de cookies) */
.texto-legal__cuerpo { max-width: 75ch; color: var(--neutral-trans-60); }
.texto-legal__cuerpo h2 { font-size: var(--text-l); color: var(--neutral); margin: var(--space-m) 0 var(--space-xs); }
.texto-legal__cuerpo h2:first-child { margin-top: 0; }
.texto-legal__cuerpo p + p { margin-top: var(--space-xs); }
.texto-legal__cuerpo a { color: var(--neutral); text-decoration: underline; }
