﻿/* Commons */
.landing_row__container {
    display: flex;
    align-items: flex-start;
    gap: 32px;
}

.landing_header {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    left: 50%;
    padding: 50px 16px;
    position: absolute;
    transform: translateX(-50%);
}

/* Hero */
.landing_hero__backend {
    background: linear-gradient(180deg, #018790 17.85%, #00ACB3 100%);    
    color: var(--fda-white);
    padding: 120px 0 0;
}
.landing_hero__ux {
    background: linear-gradient(180deg, #d67b4d 17.85%, #F3B48D 100%);
    color: var(--fda-white);
    padding: 120px 0 0;
}

.landing_hero .fda_section__content {
    position: relative;
}
.landing_info__block {
    max-width: 47%;
    position: relative;
    z-index: 1;
}
.landing_info__block h1 > span {
    display: block;
}
.landing_points_left {
    margin-top: 16px;
    margin-bottom: 24px;
}
.landing_point {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}
.landing_point i {
    color: var(--fda-secondary);
    font-size: 18px;
    margin-top: 4px;
}
.landing_price_section {
    margin-bottom: 24px;
}
.landing_price {
    margin-bottom: 8px;
}
.landing_toolkit_text .fda_code__text {
    color: var(--fda-white);
}
.landing_toolkit_container {
    background: var(--fda-white);
    border-radius: 8px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 12px;
    margin-bottom: 60px;
    width: fit-content;
}
.landing_toolkit_item {
    display: flex;
    align-items: center;
    justify-content: center;
}
.landing_toolkit_item img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

/* SQL Server logo específico en landing - más grande */
.landing_toolkit_item img[src*="sqlserver-logo"] {
    width: 80px;
}
.landing_image {
    max-width: 600px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
}


/* CAJAS Y CONTENEDORES*/

.landing_preheader {
    background-color: var(--fda-secondary);
    color: white;
    font-weight: 700;
    width: 100%;
    text-align: center; 
    padding: 5px ;
}



.landing_container {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}


.landing_row__container {
    display: flex;
    flex-flow: row wrap;
    gap: 2rem;
    width: auto;
}

.landing_column__container {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    flex-flow: row wrap;
    width: 100%;

}

.landing_menu {
    justify-content: space-between;
}


.landing_info__block {
    flex: 1;
    min-width: 350px;
}

.landing_dates_backend {
    font-family: Fira Code !important;
    color: var(--fda-auxiliar-aqua);
    font-size: 14px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.landing_dates_ux {
    font-family: Fira Code !important;
    color: var(--fda-auxiliar-creamy);
    font-size: 14px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.landing_dates_backend p, .landing_dates_ux p {
    margin-bottom: 3rem;
    font-weight: normal;
}

    .landing_dates_backend p span, .landing_dates_ux p span {
        margin-bottom: 3rem;
        color: var(--fda-secondary);
        font-weight: normal;
        color: white;
    }

    .landing_dates_backend i, .landing_dates_ux i {
        margin-right: 8px;
        font-size: 14px;
        color: var(--fda-auxiliar-aqua);
    }

    .landing_dates_ux i {
        margin-right: 8px;
        font-size: 14px;
        color: var(--fda-auxiliar-creamy);
    }

    .landing_card {
    background: white;
    border-radius: 8px;
    padding: 4px 8px;
}

.landing_mb {
    margin-bottom: 20px;
}

.landing_info__block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
}


/* SECCIONES */
footer {
    text-align: center;
    color: var(--fda-secondary);
    padding: 8px;
}

.herolanding {
    background: var(--fda-degradado);
    margin-top: -101px;
    padding: 100px 0px 0px 0px;
    color: white;
}

.landing_dark {
    background-color: var(--fda-secondary);
    border-radius: 0px 0px 16px 16px;
    color: white;
    max-height: 168px;
    padding: 32px 72px;
}

.landing_cardPanel {
    background-color: var(--fda-principal-white);
}

.landing_teachers  {
    background-image: url(../assets/images/fondocoding.jpg);
    color: white;
}
.landing_teachers .fda_title1 {
    font-size: 2.5rem;
    line-height: 2.75rem;
}

.landing_section__center{
    text-align: center;
}

/* LISTADOS */

.landing_logo {
    margin-right: 3rem;
}


.landing_button {
    border: none;
    padding: 10px 20px;
    border-radius: 50px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px;
    display: inline-block;
}

.landing_button__primary {
    background-color: var(--fda-secondary);
    color: white;
}

.landing_button:hover {
    background-color: var(--fda-secondary);
}

.landing_button__panel button{
    display:inline-block;
}

.landing_button__mini {
    display: none;

}

.fda_window__body img {
    width: 100%;
}
/* Estilos para alinear la flecha SVG en los botones */
.landing_button img {
    width: 20px;
    height: 20px;
    margin-left: 8px;
    vertical-align: middle;
    display: inline-block;
}

/* Ajuste específico para el botón del header */
.landing_button__header {
    display: flex !important;
    align-items: center;
    gap: 8px;
    background-color: white !important;
    color: var(--fda-secondary) !important;
}

.landing_button__header img {
    margin-left: 0;
    flex-shrink: 0;
    filter: brightness(0); /* Hace la flecha negra */
}

/* Estilos para los puntos con checks */
.landing_points_left {
    margin-bottom: 24px;
}

.landing_point {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    color: var(--fda-secondary);
    font-weight: 500;
}

.landing_point i {
    color: #030122;
    font-size: 18px;
    min-width: 20px;
}

.landing_point span {
    color: white;
    font-size: 16px;
    line-height: 1.4;
}

/* Estilos para la sección de precio */
.landing_price_section {
    text-align: left;
}

/* Ajustes de espaciado para mejor armonía visual */
.landing_info__block p {
    margin-bottom: 16px;
    line-height: 1.6;
}

.landing_info__block h1 {
    margin-bottom: 16px;
    line-height: 1.2;
}

.landing_price__amount {
    font-size: 3rem;
    font-weight: 900;
    color: var(--fda-secondary-back);
    line-height: 1;
}



.landing_price__subtitle {
    color: white;
    font-size: 1rem;
    line-height: 1.4;
    opacity: 0.9;
    margin: 0;
}

/* Estilos para la nueva sección Lorem ipsum dolor req.query.query */
.landing_lorem_section {
    margin: 24px 0 0px 0;
}

.landing_lorem_text {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.4;
}

.landing_lorem_main {
    color: var(--fda-secondary-back);
    font-weight: 500;
}

.landing_lorem_code {
    color: white;
    font-family: 'Fira Code', monospace;
    font-weight: 400;
    margin-left: 8px;
}

/* Estilos para la sección del toolkit */
.landing_toolkit_section {
    margin: 12px 0 24px 0;
}

.landing_toolkit_container {
    background: white;
    border-radius: 8px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    width: fit-content;
    margin: 0 auto;
}

.landing_toolkit_item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.landing_toolkit_item img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}



/* IMAGENES */

.landing_image {
    object-fit: cover;
    width: 100%;
    height: auto;
}

/* FORMULARIO */

.landing_form {
    border-radius: 8px;
    color: var(--fda-deep-grey);
    width: 100%;
    transition: position 0.3s ease;
    padding: 15px;
    position: relative;
    top: -100px;
}


/* RESPONSITIVO */
@media (max-width: 992px) {

    .landing_button__header {
        display: none;
    }

    .landing_button__mini {
        display: flex;
        padding: 10px 40px;
    }

    .landing_form {
        display: none;
    }


}






/* CSS DE BLOQUES PARTIALS MODIFICADOS */

/* Pasa a dos columnas siempre */
.fda_section__three-columns {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 0px;
    max-width: 600px;
    margin: 0px;
    padding: 0px;
}

.master_contenidos__listado {
    background-color: transparent;
    width: 100%;
}

.contenido_oculto {
    display: none;
}

/* Estilos para el diseño tipo acordeón */
.modulo_item {
    margin: 0 10px 8px 10px;
    background: transparent;
    border-radius: 6px;
    overflow: hidden;
}

/* Override específico para el acordeón - sin gap */
.master_contenidos__listado .fda_section__column__box {
    gap: 0;
}

.modulo_item .master_button__contenidos {
    width: 100%;
    text-align: left;
    margin: 0;
    background: transparent;
    border: none;
    padding: 12px 0px 8px 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 600;
    font-size: 15px;
}


.fda_section__column__box > *:not(:last-child){
    margin-bottom: 0px;
}
.modulo_item .master_button__contenidos:hover {
    background: rgba(0, 0, 0, 0.02);
}

.modulo_item .master_button__contenidos.active {
    background: white;
    color: #333;
}


.modulo_item .master_temario__contenido {
    margin: 0;
    padding: 16px;
    background: white;
    border-radius: 0 0 6px 6px;
    position: relative;
}

    .modulo_item .master_temario__contenido::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: var(--fda-auxiliar-aqua);
    }

.contenido_item {
    margin-bottom: 16px;
}

.contenido_item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

.contenido_item h3 {
    margin-bottom: 6px;
    color: #333;
    font-size: 15px;
    font-weight: 600;
}

/* Estilos para el título principal "Contenido del máster" */
.master_contenidos__listado h2 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 10px 0 20px 10px;
    opacity: 1;
    position: relative;
}

/* Contenedor para el título y la línea */
.master_contenidos__listado h2 {
    position: relative;
}

.master_contenidos__listado h2::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    height: 1px;
    background: #E5E5E5;
}

.modulo_item{ 
    margin-top: 16px;
}
.contenido_item p {
    margin: 0;
    color: #555;
    line-height: 1.4;
    font-size: 14px;
}

.master_button__contenidos.active{
    box-shadow: none;
}
/* Estilos específicos para párrafos del contenido del máster - SIN HERENCIA */
.master_contenidos__listado p,
.master_contenidos__listado .contenido_item p {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Clase específica para evitar herencia de landing_info__block */
.no_landing_info p {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* NUEVA CLASE COMPLETAMENTE INDEPENDIENTE */
.contenido_master_section p {
    margin: 0 !important;
    padding: 0 !important;
}

.contenido_master_section .contenido_item p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Quitar el gap de 32px entre módulos */
.contenido_master_section .fda_section__column__box {
    gap: 0 !important;
}

/* Override más específico para el gap */
.master_contenidos__listado.fda_section__column__box {
    gap: 0 !important;
}

/* Override aún más específico */
.contenido_master_section .master_contenidos__listado.fda_section__column__box {
    gap: 0 !important;
}

/* Nueva clase específica para los iconos de VS Code en el landing */
.landing_vscode_icons {
    padding: 10px !important;
    text-align: center;
    background-color: #f5f5f5;
    border-right: 1px solid #e5e5e5;
    gap: 0;
    position: relative;
}

/* Ajustar la posición de la línea vertical */
.landing_vscode_icons::after {
    content: '';
    position: absolute;
    right: -1px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #e5e5e5;
}

.landing_vscode_icons h3 {
    margin: 10px 0px;
}

/* Estilos específicos para el perfil del profesor */
.master_vscode__subheader {
    padding: 12px 16px;
}
.master_vscode__subheader .profile_container {
    gap: 15px;
    padding: 0;
}
.inscription_button {
    margin: 0;
}
.inscription_button .fda_button {
    width: max-content;
}
.profile_image {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    display: block;
    position: relative;
}

.profile_info {
    display: flex;
    flex-direction: column;
}
.master_vscode__body  {
    background-color: #f5f5f5;
}

/* Clase específica para el perfil del máster */
.profile_info_master {
    display: flex;
    flex-direction: column;
}

.professor_name {
    margin: 0;
    font-size: 12px;
    margin-bottom: 0px!important;
    font-weight: 600;
    color: var(--fda-secondary);
    font-family: 'Fira Code', monospace !important;
}

.professor_subtitle {
    margin: 0;
    font-size: 12px;
    margin-bottom: 0px !important;
    color: #666;
    font-family: 'Fira Code', monospace !important;
}

/* Estilos para las cards de beneficios con rotación automática */
.landing_benefits_cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 400px; 
    margin-top: 16px;
}

.landing_benefits_card {
    opacity: 0.6;
    transition: all 0.5s ease-in-out;
    background: white;
    border-radius: 12px;
    padding: 10px 20px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    border-bottom: 3px solid var(--fda-secondary);
    min-height: 60px;
    display: flex;
    align-items: center;
}

.landing_benefits_card.active,
.landing_benefits_card:hover {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
    border-bottom: 3px solid var(--fda-secondary);
    padding: 20px;
    min-height: auto;
}

.landing_benefits_card.active {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
    border-bottom: 3px solid var(--fda-secondary);
}

.landing_benefits_card__header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    flex-wrap: nowrap;
    min-width: 0;
    height: 100%;
}

.landing_benefits_card.active .landing_benefits_card__header,
.landing_benefits_card:hover .landing_benefits_card__header {
    align-items: flex-start;
}

.landing_benefits_card__header .fda_circle {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0 !important;
}

.landing_benefits_card__content {
    flex: 1;
    min-width: 0;
}

.landing_benefits_card__header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--fda-secondary);
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}



.landing_benefits_card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--fda-deep-grey);
    font-weight: 400;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.landing_benefits_card.active p,
.landing_benefits_card:hover p {
    opacity: 1;
    max-height: 100px;
    margin-bottom: 0;
}

/* Contenedor de benefits con gap reducido */
.benefits_content_container {
    gap: 24px !important;
}

.landing_cards_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 32px;
}

.landing_card_panel {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    transition: all 0.3s ease-in-out;
}

.landing_card_panel:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.landing_card_panel h3 {
    margin: 0;
    font-weight: 600;
}

.landing_card_panel p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    font-weight: 400;
}

.master_classes_content {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.master_classes_visual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.master_classes_cards {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    padding: 20px;
}

.master_class_card {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 200px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.master_class_card .icon_container {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: var(--fda-auxiliar-aqua);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.master_class_card .icon_container i {
    color: white;
    font-size: 12px;
}

.master_class_card .content {
    flex: 1;
    min-width: 0;
}

.master_class_card .title {
    font-weight: 600;
    font-size: 14px;
    color: #333;
    margin-bottom: 4px;
    line-height: 1.2;
}

.master_class_card .description {
    font-size: 12px;
    color: #666;
    line-height: 1.4;
}

/* Posicionamiento específico de cada card */
    .master_class_card:nth-child(1) {
        position: absolute;
        bottom: 80%;
        right: 65%;
        width: 100%;
    }

    .master_class_card:nth-child(1) .icon_container {
        background-color: #0056FC; /* Azul para "Define la idea" */
    }

    .master_class_card:nth-child(2) {
        position: absolute;
        top: 10%;
        left: 70%;
        width: 100%;
    }

    .master_class_card:nth-child(2) .icon_container {
        background-color: #5A22F5; /* Lila para "Sé UX Research" */
    }

    .master_class_card:nth-child(3) {
        position: absolute;
        bottom: 10%;
        right: 70%;
        width: 100%;
    }

    .master_class_card:nth-child(3) .icon_container {
        background-color: #08C78F; /* Verde para "Transforma el diseño" */
    }

.master_class_card:nth-child(4) {
    position: absolute;
    bottom: 10%;
    right: 10%;
}

.master_class_card:nth-child(4) .icon_container {
    background-color: #FF472D; /* Rojo para "Haz pruebas" */
}



section .teachers{
    padding: 0;
}

.teachers{
    background-image: none;
}
/* Estilos para la sección de contacto del formulario */
.landing_contact_section {
    background-color: var(--fda-white-grey);
    padding: 80px 0;
}

.landing_contact_full_width {
    flex: 1;
    max-width: 100%;
    text-align: left;
}

.landing_contact_highlight {
    color: var(--fda-auxiliar-aqua);
}

.landing_contact_process {
    margin-top: 40px;
}

.landing_contact_step {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 16px;
    align-items: flex-start;
    margin-top: 24px;
    position: relative;
}

.landing_contact_step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 10px;
    top: 36px;
    width: 1px;
    height: 24px;
    background-color: var(--fda-secondary);
    opacity: 0.6;
}

.landing_contact_step_number {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--fda-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
}

.landing_contact_step_number h3 {
    color: white;
    font-size: 12px;
    font-weight: 600;
    margin: 0;
}

.landing_contact_step h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--fda-deep-grey);
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.landing_contact_step p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--fda-grey50);
    margin: 0;
}
.fixed_contact {
    max-width: 514px;
    position: fixed;
    top: 16px;
}

/* Estilos del formulario */
.landing_contact_form {
    background-color: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    padding: 32px;
    max-width: 500px;
    margin: 0 auto;
}

/* Desplazar el formulario de contacto hacia la derecha en landings */
.landing_dark .relative_container {
    margin-left: 50px;
}

.landing_hero__backend ~ section .teachers_controls {
    justify-content: flex-start; /* Mover controles a la izquierda */
    margin-top: 20px;
    gap: 20px;
}


.landing_hero__backend ~ section .teachers_controls button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: var(--fda-light-grey);
    color: var(--fda-grey);
    border-color: var(--fda-light-grey);
}

.landing_contact_form h3 {
    font-size: 24px;
    font-weight: 600;
    color: var(--fda-deep-grey);
    margin: 0 0 24px 0;
    text-align: center;
}

.landing_contact_form form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.landing_contact_form label {
    font-weight: 500;
    color: var(--fda-deep-grey);
    font-size: 14px;
}

.landing_contact_form input,
.landing_contact_form select {
    border: 1px solid var(--fda-bordergrey);
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 14px;
    transition: border-color 0.3s ease;
}

.landing_contact_form input:focus,
.landing_contact_form select:focus {
    outline: none;
    border-color: var(--fda-auxiliar-aqua);
    box-shadow: 0 0 0 3px rgba(0, 171, 176, 0.1);
}

.landing_contact_form input::placeholder {
    color: var(--fda-lightgrey);
}

/* Estilos para WhatsApp */
.landing_contact_whatsapp {
    margin: 8px 0;
}

.landing_contact_whatsapp p {
    margin: 0 0 12px 0;
    font-weight: 500;
    color: var(--fda-deep-grey);
}

.landing_contact_radio {
    display: flex;
    gap: 24px;
    align-items: center;
}

.landing_contact_radio input[type="radio"] {
    margin: 0;
    width: auto;
}

.landing_contact_radio label {
    margin: 0;
    font-weight: 400;
    cursor: pointer;
}

/* Estilos para checkbox */
.landing_contact_checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 8px 0;
}

.landing_contact_checkbox input[type="checkbox"] {
    margin: 0;
    width: auto;
    margin-top: 2px;
}

.landing_contact_checkbox label {
    font-size: 13px;
    line-height: 1.4;
    color: var(--fda-grey50);
    cursor: pointer;
}

/* Botón de envío */
.landing_contact_button {
    background-color: var(--fda-auxiliar-aqua);
    color: white;
    border: none;
    border-radius: 8px;
    padding: 16px 32px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 16px;
}

.landing_contact_button:hover {
    background-color: #009aa0;
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 171, 176, 0.3);
}

/* Estilos para la sección Dorem ipsum con pasos numerados */
.landing_dorem_process {
    margin-top: 40px;
}

.landing_dorem_step {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 16px;
    align-items: flex-start;
    margin-top: 24px;
    position: relative;
}

.landing_dorem_step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 10px;
    top: 20px;
    width: 1px;
    height: 40px;
    background-color: var(--fda-secondary);
    opacity: 0.6;
}

.landing_dorem_step_number {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--fda-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
}

.landing_dorem_step_number h3 {
    color: white;
    font-size: 12px;
    font-weight: 600;
    margin: 0;
}

.landing_dorem_step h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--fda-deep-grey);
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.landing_dorem_step p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--fda-grey50);
    margin: 0;
}


.landing_toolkit_title {
    font-size: 20px;
    font-weight: 600;
    color: var(--fda-deep-grey);
    margin-bottom: 24px;
    text-align: center;
    line-height: 1.4;
}

.metodologia_section {
    padding: 88px 72px 0;
}

.landing_sticky_layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.landing_content_column {
    flex: 1;
    max-width: calc(100% - 400px);
}

.landing_form_column {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
}

.landing_form_sticky {
    position: relative;
    width: 100%;
    z-index: 10;
    transition: transform 0.1s ease-out;
}

/* Cuando el formulario está siguiendo el scroll */
.landing_form_sticky.scroll-following {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    border-radius: 12px;
    background: white;
    padding: 20px;
}

/* Contenedor para controlar el límite del sticky */
.landing_sticky_container {
    position: relative;
}

/* Footer para detectar el límite */
.landing_footer_boundary {
    position: relative;
    z-index: 1;
}

/* Responsive para móviles */
@media (max-width: 992px) {
    .fixed_contact {
        position: static;
    }
    .landing_sticky_layout {
        flex-direction: column;
        gap: 20px;
    }
    
    .landing_content_column {
        max-width: 100%;
    }
    
    .landing_form_column {
        width: 100%;
    }
    
    .landing_form_sticky {
        position: static;
    }
}

/* Estilos para el botón de descargar dossier en el perfil del profesor */
.profile_container {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.profile_button_container {
    margin-left: auto;
}

.profile_button_container .fda_button {
    padding: 12px 20px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.profile_button_container .fda_button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Estilos para el contenedor del navegador en landing */
.fda_landing_browser__container {
    position: relative;
    width: 100%;
    max-width: 100%;
    background: var(--fda-white);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin: 0 auto;
}

.fda_landing_browser__container .fda_window__body {
    padding: 20px;
    min-height: 400px;
}

.fda_landing_browser__container .master_classes_content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
}

.fda_landing_browser__container .master_classes_text {
    flex: 1;
    min-height: 120px;
}

.fda_landing_browser__container .master_classes_visual {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 380px;
    overflow: hidden;
    border-radius: 8px;
}

.fda_landing_browser__container .masterclass_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
    max-height: 300px;
}

/* Responsive */
@media (max-width: 992px) {
    .landing_header {
        padding-top: 70px;
    }
    section {
        padding: 80px 16px;
    }
    .landing_hero__backend {
        padding-top: 120px;
    }
    .landing_toolkit_section {
        text-align: center;
    }
    .landing_image {
        position: relative;
        bottom: -6px;
    }
    .landing_info__block {
        display: block;
        max-width: 100%;
    }
    .landing_info__block p {
        margin-bottom: 14px;
    }
    .landing_dark {
        background-color: transparent;
        max-height: 100%;
        padding: 0;
    }
    .landing_dates_text {
        background-color: var(--fda-secondary);
        border-radius: 0 0 16px 16px;
        padding: 32px 16px;
    }
    .landing_dates_text .landing_row__container {
        display: block;
    }
    .landing_dark .relative_container {
        margin: 0;
        padding: 0 16px;
    }
    .contact_form__field {
        flex-basis: 100%;
    }
    .metodologia_section {
        padding: 80px 16px 66px;
    }
    .fda_section__column__box > *:not(:last-child){
        margin-bottom: 16px;
    }
    .landing_vscode {
        padding: 0 16px 80px;
    }
    .master_vscode__subheader {
        flex-wrap: wrap;
        row-gap: 8px;
    }
    .landing_vscode_icons {
        display: none;
    }
    .landing_vscode .fda_section__three-columns {
        display: block;
    }
    .landing_benefits_card {
        padding: 24px;
    }
    .landing_cards_grid {
        display: block;
    }
    .landing_card_panel:not(:last-child) {
        margin-bottom: 16px;
    }
    .landing_card_panel p {
        margin: 0;
    }
    .master_classes_text {
        text-align: center;
    }
    .teachers_carousel {
        gap: 24px;
    }
    .landing_teachers .fda_section__content {
        padding: 0;
    }
    .landing_hero__backend ~ section .teachers_controls {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin-top: 14px;
        gap: 12px;
    }
    .fda_list__numbers {
        margin-top: 24px;
    }
    .fda_list__numbers__item {
        margin-top: 24px;
    }

    .fda_landing_browser__container .master_classes_content {
        flex-direction: column;
    }
    
    .fda_landing_browser__container .master_classes_visual {
        min-height: 150px;
    }
    
    .fda_landing_browser__container .masterclass_image {
        max-height: 200px;
    }
    
    footer {
        margin-top: 0;
        position: relative;
        z-index: 1;
    }

    .fda_footer__content {
        padding: 32px 16px;
        text-align: center;
    }

    .footer_menu {
        flex-direction: column;
        align-items: center;
        gap: 24px;
    }

    .footer_menu img {
        max-width: 200px;
        height: auto;
    }

    .footer_menu__principal {
        gap: 8px;
        justify-content: center;
    }

    .footer_menu__principal a {
        padding: 0;
    }

    .footer_legales {
        flex-direction: column;
        gap: 24px;
        align-items: center;
        text-align: center;
    }

    .footer_redes {
        justify-content: center;
        margin-bottom: 16px;
    }

    .footer_menu__secundario {
        gap: 8px;
        justify-content: center;
        align-items: center;
    }

    .footer_legales p {
        text-align: center;
        margin-top: 16px;
    }

    .footer_menu__principal a,
    .footer_menu__secundario a,
    .footer_legales p {
        font-size: 14px;
        font-weight: 500;
    }

    .footer_menu__secundario a {
        color: var(--fda-grey);
    }
}


.primer-proyecto-section {
    background-color: transparent;
    padding: 0;
}

.info-card-landing {
    background: var(--fda-white);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.primer-proyecto-container {
    margin: 0;
    padding: 0;
}

.primer-proyecto-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 24px;
}

/* Estilos específicos para las cards en landings */
.landing-info-card {
    background: var(--fda-white);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.landing-info-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.landing-info-card .card-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.landing-info-card .card-icon i {
    color: white;
    font-size: 18px;
}

.landing-info-card .card-content h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--fda-secondary);
    line-height: 1.3;
}

.landing-info-card .card-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #666;
}

/* Responsive para móviles */
@media (max-width: 768px) {
    .primer-proyecto-content {
        gap: 16px;
    }
}
