body {

  margin: 0;

  font-family: 'Orbitron', sans-serif;

  background:
    url('../img/oficina_oravega.jpg')
    center/cover
    no-repeat
    fixed;

  display: flex;

  flex-direction: column;

  justify-content: center;

  align-items: center;

  min-height: 100vh;

  padding:
    48px
    20px
    78px;

  color: #00ffff;

  box-sizing: border-box;

}

/* ====================================== */
/* CONTENEDOR PRINCIPAL */
/* ====================================== */

.form-container {

  background: rgba(0, 0, 0, 0.7);

  backdrop-filter: blur(10px);

  padding: 40px;

  border-radius: 8px;

  box-shadow:
    0 0 25px rgba(0,255,255,0.4);

  width: 90%;

  max-width: 450px;

}

.contact-links {

  margin-top: 22px;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 10px;

}

.contact-links a {

  color: #9fefff;

  font-size: 0.78rem;

  text-decoration: none;

}

.contact-links a:hover,
.contact-links a:focus {

  color: #ffffff;

  text-decoration: underline;

}

.legal-panel {

  width: 90%;

  max-width: 720px;

  margin-top: 22px;

  padding: 24px;

  border:
    1px solid rgba(0,255,255,0.22);

  border-radius: 8px;

  background:
    rgba(0, 0, 0, 0.62);

  backdrop-filter: blur(10px);

  box-shadow:
    0 0 18px rgba(0,255,255,0.18);

}

.legal-panel h2 {

  margin-bottom: 12px;

  font-size: 1.1rem;

}

.legal-panel p {

  margin: 0;

  color: #c7f7ff;

  line-height: 1.7;

  font-size: 0.88rem;

}

/* ====================================== */
/* TITULO */
/* ====================================== */

h2 {

  text-align: center;

  color: #00ffff;

  margin-bottom: 25px;

  text-shadow:
    0 0 10px #00ffff;

}

/* ====================================== */
/* LABELS */
/* ====================================== */

label {

  display: block;

  margin-top: 15px;

  font-weight: bold;

  color: #00ffff;

}

/* ====================================== */
/* INPUTS */
/* ====================================== */

input,
textarea {

  width: 100%;

  padding: 10px;

  margin-top: 6px;

  border-radius: 6px;

  border:
    1px solid rgba(0,255,255,0.3);

  background-color:
    rgba(0, 0, 0, 0.6);

  color: #00ffff;

  resize: none;

  font-family: 'Orbitron', sans-serif;

  box-sizing: border-box;

}

/* ====================================== */
/* BOTON */
/* ====================================== */

button {

  margin-top: 20px;

  width: 100%;

  background:
    rgba(0,255,255,0.2);

  border:
    1px solid rgba(0,255,255,0.5);

  color: #00ffff;

  padding: 10px;

  border-radius: 6px;

  cursor: pointer;

  transition: all 0.3s ease;

}

button:hover {

  background:
    rgba(0,255,255,0.4);

  box-shadow:
    0 0 20px #00ffff;

}

/* ====================================== */
/* FOOTER */
/* ====================================== */

footer {

  position: fixed;

  bottom: 15px;

  text-align: center;

  width: 100%;

  color:
    rgba(0,255,255,0.6);

  font-size: 0.8rem;

}

button:disabled {
  cursor: wait;
  opacity: 0.65;
}

#contact-status {
  min-height: 1.4em;
  margin-top: 14px;
  color: #9fefff;
  font-size: 0.82rem;
  text-align: center;
}
