:root {
    --fondo-top: #ffd3ab;      /* Tono melocotón claro superior */
    --fondo-mid: #b0704c;      /* Marrón terracota medio */
    --fondo-bottom: #36221c;   /* Marrón muy oscuro inferior */
    --texto-crema: #fff0db;    /* Color crema de los textos intermedios */
    --texto-naranja: #fca768;  /* Color del título "INVENTO" y "CONVOCATORIA" */
    --fondo-footer: #4f4f4f;   /* Tu color de footer solicitado */
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: #fcfcfc;
    margin: 0;
    padding: 0;
}

/* Recreación del banner degradado de portada.jpg */
header {
    background: linear-gradient(to bottom, var(--fondo-top) 0%, var(--fondo-mid) 45%, var(--fondo-bottom) 100%);
    color: var(--texto-crema);
    padding: 60px 0;
    text-align: center;
    position: relative;
}

/* Estilos tipográficos inspirados en el cartel */
.title-pre {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-weight: 600;
    opacity: 0.8;
    margin-bottom: 0;
}

.main-title-block {
    font-family: 'Antonio', sans-serif;
    text-transform: uppercase;
    line-height: 0.9;
    margin: 10px 0;
    letter-spacing: 1px;
}

.title-teatro {
    font-size: 75px;
    color: #432b24; /* Marrón oscuro del cartel */
}

.title-flor {
    font-size: 85px;
    color: #ffffff; /* Blanco/Crema puro */
}

.title-invento {
    font-size: 70px;
    color: var(--texto-naranja);
}

.subtitle-laboratorio {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    max-width: 650px;
    margin: 30px auto 20px auto;
    line-height: 1.4;
}

.subtitle-laboratorio em {
    font-style: italic;
    font-weight: 400;
    text-transform: lowercase;
}

.badge-convocatoria {
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 8px;
    color: var(--texto-naranja);
    margin-top: 25px;
}

/* Sección del Formulario */
main {
    min-height: 50vh;
}

.card-formulario {
    border: none;
    border-top: 5px solid var(--fondo-mid);
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* Footer Solicitado de Ancho Completo #4f4f4f */
footer {
    background-color: var(--fondo-footer) !important;
    color: #e0e0e0;
    padding: 40px 0;
    width: 100%;
}

footer a {
    color: #fca768;
}

.accionboton {
    background-color: #4f4f4f;
    color: white;
    padding: 15px 25px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    border-radius: 5px;
    font-weight: bold;
    width: 100%;
    margin-bottom: 30px;
}
.accionboton:hover {
    background-color: #fca768;
    color: white;
    text-decoration: none;
}

.step {
  border: 1px solid #ccc;
  padding: 20px;
  width: 100%;
}
