* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    background: #f3f0ed;
    color: #222;
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
}

/* HEADER */
.header {
    background: #f3f0ed;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
}

.logo img {
    width: 120px;
}

.menu {
    display: flex;
    gap: 20px;
}

.menu a {
    text-decoration: none;
    color: #333;
    font-size: 14px;
}

.btn-inscribete {
    background: #7b1e1e;
    color: #fff;
    padding: 10px 18px;
    text-decoration: none;
    font-size: 14px;
}

/* HERO */
.hero {
    padding: 60px 0;
}

.hero-content {
    display: flex;
    align-items: center;
    gap: 40px;
}

.hero-text {
    flex: 1;
}

.tag {
    color: #7b1e1e;
    font-size: 25px;
    letter-spacing: 2px;
}

.hero-text h1 {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin: 20px 0;
    line-height: 1.2;
}

.hero-text p {
    font-size: 23px;
    margin-bottom: 15px;
    color: #444;
}

.hero-text small {
    font-size: 18px;
    color: #666;
}

.hero-buttons {
    margin-top: 25px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-outline {
    border: 1px solid #7b1e1e;
    padding: 10px 15px;
    text-decoration: none;
    color: #7b1e1e;
}

.btn-primary {
    background: #7b1e1e;
    color: #fff;
    padding: 10px 15px;
    text-decoration: none;
}

.btn-dark {
    background: #5a0f0f;
    color: #fff;
    padding: 10px 15px;
    text-decoration: none;
}

/* IMAGE */
.hero-image {
    flex: 1;
}

.hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* RESPONSIVE */
.menu-toggle {
    display: none;
    font-size: 24px;
    cursor: pointer;
}

@media (max-width: 900px) {

    .hero-content {
        flex-direction: column;
    }

    .menu {
        display: none;
        flex-direction: column;
        background: #fff;
        position: absolute;
        top: 70px;
        right: 20px;
        padding: 20px;
    }

    .menu.active {
        display: flex;
    }

    .menu-toggle {
        display: block;
    }
}



/* SECCIÓN PROGRAMAS */
.programas {
    padding: 80px 0;
    background: #f3f0ed;
}

.titulo-seccion {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-bottom: 10px;
}

.linea {
    width: 100%;
    height: 1px;
    background: #333;
    margin-bottom: 30px;
}

.intro-programas {
    max-width: 100%;
    margin-bottom: 40px;
}

.intro-programas h4 {
    color: #7b1e1e;
    margin-bottom: 5px;
    font-size: 25px;
}

.intro-programas span {
    font-size: 20px;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 15px;
}

.intro-programas p {
    font-size: 20px;
    color: #444;
    margin-bottom: 10px;
}

/* CARDS */
.cards-programas {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.card {
    background: #fff;
    flex: 1;
    min-width: 280px;
    border: 1px solid #ddd;
    transition: 0.3s;
}

.card:hover {
    transform: translateY(-5px);
}

.card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.card-body {
    padding: 20px;
}

.card-body h3 {
    font-family: 'Playfair Display', serif;
    margin-bottom: 5px;
    font-size: 30px;
}

.card-body span {
    font-size: 16px;
    color: #7b1e1e;
    display: block;
    margin-bottom: 10px;
}

.card-body p {
    font-size: 16px;
    color: #555;
    margin-bottom: 15px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .cards-programas {
        flex-direction: column;
    }
}



/* SECCIÓN PILARES */
.pilares {
    background: #f7f5f3;
    padding: 80px 0;
}

/* GRID 2x2 */
.grid-pilares {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

/* CADA BLOQUE */
.pilar {
    padding: 40px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    position: relative;
    transition: 0.3s;
}

/* NUMERO */
.numero {
    font-size: 20px;
    color: #b89b6b;
    display: block;
    margin-bottom: 10px;
}

/* TITULO */
.pilar h3 {
    font-family: 'Playfair Display', serif;
    font-size: 30px;
    margin-bottom: 10px;
}

/* TEXTO */
.pilar p {
    font-size: 16px;
    color: #555;
}

/* HOVER SUAVE */
.pilar:hover {
    background: #fff;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .grid-pilares {
        grid-template-columns: 1fr;
    }
}


.pilar {
    opacity: 0;
    transform: translateY(30px);
}



/* BARRA ANIMADA */
.barra-scroll {
    background: #d8cfc6;
    overflow: hidden;
    white-space: nowrap;
    padding: 10px 0;
}

.scroll-track {
    display: flex;
    width: max-content;
    animation: scrollText 25s linear infinite;
}

.scroll-track span {
    font-size: 13px;
    color: #333;
    margin-right: 50px;
    letter-spacing: 1px;
}

/* ANIMACIÓN */
@keyframes scrollText {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.barra-scroll:hover .scroll-track {
    animation-play-state: paused;
}



/* CTA CONTACTO */
.cta-contacto {
    background: #0f0f10;
    color: #fff;
    padding: 80px 0;
}

.cta-grid {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}

/* TEXTO */
.cta-info {
    flex: 1;
}

.cta-info h2 {
    font-family: 'Playfair Display', serif;
    font-size: 50px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.cta-info p {
    font-size: 16px;
    color: #ccc;
    margin-bottom: 15px;
}

.cta-datos p {
    color: #d6a85f;
    font-size: 15px;
}

/* FORMULARIO */
.cta-form {
    flex: 1;
}

.cta-form form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.cta-form input,
.cta-form select,
.cta-form textarea {
    background: transparent;
    border: 1px solid #555;
    padding: 12px;
    color: #fff;
    font-size: 14px;
}

.cta-form input::placeholder,
.cta-form textarea::placeholder {
    color: #aaa;
}

/* BOTÓN */
.cta-form button {
    background: #7b1e1e;
    color: #fff;
    padding: 12px;
    border: none;
    cursor: pointer;
    transition: 0.3s;
}

.cta-form button:hover {
    background: #a52a2a;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .cta-grid {
        flex-direction: column;
    }
}


/* FRASE FINAL */
.frase-final {
    background: #d6c3a5;
    padding: 80px 0;
    text-align: center;
}

.frase-box {
    position: relative;
    max-width: 800px;
    margin: auto;
}

/* COMILLAS */
.comilla-izq,
.comilla-der {
    font-size: 30px;
    color: #7b1e1e;
    position: absolute;
}

.comilla-izq {
    left: -20px;
    top: -10px;
}

.comilla-der {
    right: -20px;
    bottom: -10px;
}

/* TEXTO PRINCIPAL */
.frase-box h2 {
    font-family: 'Playfair Display', serif;
    font-size: 30px;
    line-height: 1.4;
    color: #222;
}

/* AUTOR */
.autor {
    margin-top: 15px;
    font-size: 13px;
    color: #555;
}

/* LINEA */
.linea-footer {
    margin: 40px auto;
    width: 80%;
    height: 1px;
    background: #aaa;
}

/* TEXTO LEGAL */
.texto-legal {
    font-size: 12px;
    color: #555;
    max-width: 900px;
    margin: auto;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .frase-box h2 {
        font-size: 20px;
    }
}

.frase-box {
    opacity: 0;
    transform: translateY(30px);
    transition: 0.6s ease;
}


/* FOOTER */
.footer {
    background: #f3f0ed;
    padding: 40px 0;
    border-top: 3px solid #2f5e2f;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr 1fr;
    align-items: center;
    gap: 20px;
}

/* LOGO */
.footer-logo img {
    width: 150px;
}

/* INFO */
.footer-info p {
    font-size: 16px;
    color: #333;
}

/* REDES */
.footer-redes {
    display: flex;
    gap: 10px;
}

.footer-redes a {
    width: 30px;
    height: 30px;
    background: #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #333;
    font-size: 16px;
    transition: 0.3s;
}

.footer-redes a:hover {
    background: #7b1e1e;
    color: #fff;
}

/* COPYRIGHT */
.footer-copy p {
    font-size: 16px;
    color: #333;
    text-align: right;
}

/* RESPONSIVE */
@media (max-width: 900px) {

    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-copy p {
        text-align: center;
    }

    .footer-redes {
        justify-content: center;
    }
}



/* SECCIÓN VISIÓN */
.vision-page {
    background: #f3f0ed;
    padding: 80px 0;
}

.vision-grid {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* TEXTO */
.vision-text {
    flex: 1;
}

.vision-text h2 {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-top: 25px;
    margin-bottom: 10px;
}

.vision-text h2:first-child {
    margin-top: 0;
}

.vision-text p {
    font-size: 18px;
    color: #444;
    line-height: 1.6;
    margin-bottom: 15px;
}

/* IMAGEN */
.vision-image {
    flex: 1;
}

.vision-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .vision-grid {
        flex-direction: column;
    }
}


/* SECCIÓN METODOLOGÍA */
.metodologia {
    background: #f3f0ed;
    padding: 80px 0;
}

.metodologia-grid {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* TEXTO */
.met-text {
    flex: 1;
}

.tag-met {
    font-size: 16px;
    letter-spacing: 2px;
    color: #7b1e1e;
    display: block;
    margin-bottom: 10px;
}

.met-text h2 {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-bottom: 20px;
}

.met-text p {
    font-size: 16px;
    color: #444;
    line-height: 1.7;
    margin-bottom: 15px;
}

/* IMAGEN */
.met-image {
    flex: 1;
}

.met-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .metodologia-grid {
        flex-direction: column;
    }

    .met-text h2 {
        font-size: 30px;
    }
}


/* SECCIÓN PRESENCIAL */
.presencial {
    background: #f3f0ed;
    padding: 80px 0;
}

/* TAG SUPERIOR */
.tag-pre {
    font-size: 16px;
    letter-spacing: 2px;
    color: #7b1e1e;
    display: block;
    margin-bottom: 10px;
}

/* TITULO */
.titulo-pre {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-bottom: 10px;
}

/* LINEA */
.linea-pre {
    width: 100%;
    height: 1px;
    background: #333;
    margin-bottom: 30px;
}

/* TEXTO */
.texto-pre {
    max-width: 900px;
}

.texto-pre p {
    font-size: 16px;
    color: #444;
    line-height: 1.7;
    margin-bottom: 15px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .titulo-pre {
        font-size: 30px;
    }
}


/* SECCIÓN ONLINE */
.online {
    background: #f3f0ed;
    padding: 80px 0;
}

.online-content {
    max-width: 100%;
}

/* TITULO */
.online-title {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    line-height: 1.3;
    margin-bottom: 20px;
}

/* INTRO */
.online-intro {
    font-size: 16px;
    color: #555;
    margin-bottom: 25px;
}

/* SUBTÍTULOS */
.online h3 {
    font-family: 'Playfair Display', serif;
    font-size: 50px;
    margin-top: 25px;
    margin-bottom: 10px;
}

/* PÁRRAFOS */
.online p {
    font-size: 16px;
    color: #444;
    line-height: 1.7;
    margin-bottom: 15px;
}

/* LISTA */
.lista-online {
    padding-left: 20px;
    margin-bottom: 20px;
}

.lista-online li {
    margin-bottom: 10px;
    font-size: 16px;
    color: #444;
}

/* CAJA FINAL */
.titulo-box {
    background: #eee;
    border-left: 4px solid #7b1e1e;
    padding: 12px;
    font-size: 16px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .online-title {
        font-size: 28px;
    }
}


/* SECCIÓN CURSOS */
.cursos {
    background: #f3f0ed;
    padding: 80px 0;
}

.cursos-grid {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}

/* TEXTO IZQUIERDA */
.cursos-texto {
    flex: 1;
}

.cursos-texto h2 {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-bottom: 20px;
}

.cursos-texto p {
    font-size: 18px;
    color: #444;
    line-height: 1.6;
}

/* MODULOS DERECHA */
.cursos-modulos {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* CARD MODULO */
.modulo {
    background: #fff;
    padding: 25px;
    border-left: 4px solid #7b1e1e;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* TITULO */
.modulo h3 {
    font-family: 'Playfair Display', serif;
    color: #7b1e1e;
    font-size: 30px;
    margin-bottom: 10px;
}

/* TEXTO */
.modulo p {
    font-size: 16px;
    color: #444;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .cursos-grid {
        flex-direction: column;
    }

    .cursos-texto h2 {
        font-size: 60px;
    }
}


/* CATÁLOGO */
.catalogo {
    background: #f3f0ed;
    padding: 80px 0;
}

/* TITULO PRINCIPAL */
.titulo-cat {
    text-align: center;
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-bottom: 40px;
}

/* SUBTITULOS */
.subtitulo-cat {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    color: #7b1e1e;
    margin-top: 30px;
    margin-bottom: 20px;
}

/* GRID */
.grid-cat {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-bottom: 40px;
}

/* BLOQUES */
.bloque h4 {
    font-family: 'Playfair Display', serif;
    font-size: 35px;
    color: #7b1e1e;
    margin-bottom: 10px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}

/* LISTA */
.bloque ul {
    list-style: none;
    padding-left: 0;
}

.bloque ul li {
    font-size: 16px;
    color: #444;
    margin-bottom: 5px;
    position: relative;
    padding-left: 10px;
}

/* PUNTICO */
.bloque ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #7b1e1e;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .grid-cat {
        grid-template-columns: 1fr;
    }
}


/* CTA FINAL */
.cta-final {
    background: #f3f0ed;
    padding: 80px 0;
    text-align: center;
}

.cta-final-content {
    max-width: 600px;
    margin: auto;
}

/* TITULO */
.cta-final h2 {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    margin-bottom: 15px;
}

/* TEXTO */
.cta-final p {
    font-size: 16px;
    color: #555;
    margin-bottom: 25px;
}

/* BOTON */
.btn-cta-final {
    background: #7b1e1e;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    font-size: 16px;
    display: inline-block;
    transition: 0.3s;
}

.btn-cta-final:hover {
    background: #a52a2a;
}


/* SECCIÓN DIPLOMADOS */
.diplomados {
    background: #f3f0ed;
    padding: 80px 0;
}

/* TAG */
.tag-dip {
    font-size: 30px;
    letter-spacing: 2px;
    color: #7b1e1e;
    display: block;
    margin-bottom: 10px;
}

/* TITULO */
.titulo-dip {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-bottom: 15px;
}

/* INTRO */
.intro-dip {
    max-width: 700px;
    font-size: 16px;
    color: #444;
    margin-bottom: 40px;
}

/* GRID */
.grid-dip {
    display: grid;
    grid-template-columns: 1fr 1fr 300px;
    gap: 40px;
}

/* BLOQUES */
.bloque-dip h3 {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    color: #7b1e1e;
    margin-bottom: 15px;
}

/* LISTA */
.bloque-dip ul {
    list-style: none;
    padding-left: 0;
}

.bloque-dip ul li {
    font-size: 16px;
    margin-bottom: 6px;
    color: #444;
    position: relative;
    padding-left: 10px;
}

.bloque-dip ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #7b1e1e;
}

/* IMAGEN */
.bloque-img img {
    width: 100%;
    height: auto;
    border-radius: 6px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .grid-dip {
        grid-template-columns: 1fr;
    }
}


/* DETALLE DIPLOMADOS */
.diplomados-detalle {
    background: #f3f0ed;
    padding: 60px 0;
}

/* FILAS */
.fila-dip {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
}

/* TITULO ÁREA */
.titulo-area {
    font-family: 'Playfair Display', serif;
    font-size: 30px;
    color: #7b1e1e;
    margin-bottom: 20px;
}

/* GRID INTERNO */
.grid-area {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* SUBTITULOS */
.grid-area h4 {
    font-size: 16px;
    color: #7b1e1e;
    margin-bottom: 10px;
}

/* LISTAS */
.grid-area ul {
    list-style: none;
    padding-left: 0;
}

.grid-area ul li {
    font-size: 16px;
    margin-bottom: 6px;
    color: #444;
    position: relative;
    padding-left: 10px;
}

.grid-area ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #7b1e1e;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .grid-area {
        grid-template-columns: 1fr;
    }
}


/* BOTÓN REGISTRO */
.registro-academico {
    text-align: center;
    margin-top: 30px;
}

.btn-registro {
    background: #7b1e1e;
    color: #fff;
    padding: 12px 25px;
    text-decoration: none;
    font-size: 16px;
    display: inline-block;
    transition: 0.3s;
}

.btn-registro:hover {
    background: #a52a2a;
}


/* LISTADO PROGRAMAS */
.listado-programas {
    background: #f3f0ed;
    padding: 60px 0;
}

/* GRID */
.grid-listado {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

/* LISTAS */
.grid-listado ul {
    list-style: none;
    padding-left: 0;
}

.grid-listado ul li {
    font-size: 16px;
    color: #333;
    margin-bottom: 10px;
    position: relative;
    padding-left: 12px;
}

/* ICONO (PUNTO DORADO) */
.grid-listado ul li::before {
    content: "◆";
    position: absolute;
    left: 0;
    color: #b89b6b;
    font-size: 10px;
    top: 5px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .grid-listado {
        grid-template-columns: 1fr;
    }
}


/* SECCIÓN REGISTRO */
.registro {
    background: #f3f0ed;
    padding: 80px 0;
}

.registro-grid {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* TEXTO */
.registro-texto {
    flex: 1;
}

.registro-texto h2 {
    font-family: 'Playfair Display', serif;
    font-size: 70px;
    margin-bottom: 20px;
}

.intro-reg {
    font-size: 20px;
    color: #444;
    margin-bottom: 25px;
    max-width: 500px;
}

/* CAJA */
.requisitos-box {
    border: 1px solid #ccc;
    padding: 20px;
    background: #fff;
}

.requisitos-box h3 {
    font-family: 'Playfair Display', serif;
    margin-bottom: 15px;
}

/* LISTA */
.requisitos-box ul {
    padding-left: 20px;
}

.requisitos-box ul li {
    margin-bottom: 8px;
    font-size: 20px;
    color: #444;
}

/* IMAGEN */
.registro-img {
    flex: 1;
}

.registro-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .registro-grid {
        flex-direction: column;
    }

    .registro-texto h2 {
        font-size: 60px;
    }
}


/* SECCIÓN REQUISITOS DETALLE */
.requisitos-detalle {
    background: #d6c3a5;
    padding: 80px 0;
}

/* TITULO */
.titulo-req {
    text-align: center;
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-bottom: 40px;
}

/* GRID */
.grid-req {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* CARDS */
.card-req {
    background: #f3f0ed;
    padding: 25px;
    border: 1px solid #c9b79c;
}

/* TITULO CARD */
.card-req h3 {
    font-family: 'Playfair Display', serif;
    font-size: 25px;
    margin-bottom: 10px;
}

/* TEXTO */
.card-req p {
    font-size: 16px;
    color: #444;
    line-height: 1.6;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .grid-req {
        grid-template-columns: 1fr;
    }
}

/* FORMULARIO */
.formulario {
    background: #f3f0ed;
    padding: 80px 0;
}

/* TITULO */
.titulo-form {
    font-family: 'Playfair Display', serif;
    font-size: 48px;
    margin-bottom: 40px;
}

/* GRID */
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* FULL WIDTH */
.full {
    grid-column: span 2;
}

/* LABEL */
.form-grid label {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
}

/* INPUTS */
.form-grid input,
.form-grid select,
.form-grid textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    background: #fff;
    font-size: 14px;
}

/* TEXTAREA */
.form-grid textarea {
    height: 120px;
}

/* RADIO */
.radio-group {
    display: flex;
    gap: 30px;
    margin-top: 10px;
}

/* BOTON */
.form-grid button {
    background: #7b1e1e;
    color: #fff;
    padding: 15px;
    border: none;
    font-size: 14px;
    cursor: pointer;
    transition: 0.3s;
}

.form-grid button:hover {
    background: #a52a2a;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .form-grid {
        grid-template-columns: 1fr;
    }

    .full {
        grid-column: span 1;
    }

    .titulo-form {
        font-size: 60px;
    }
}


/* SECCIÓN DUDAS */
.dudas {
    background: #f3f0ed;
    padding: 60px 0;
}

.dudas-grid {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    align-items: center;
}

/* TEXTO */
.dudas-texto h2 {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-bottom: 10px;
}

.dudas-texto p {
    font-size: 18px;
    color: #444;
}

/* CONTACTO */
.dudas-contacto p {
    font-size: 18px;
    color: #333;
    margin-bottom: 15px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .dudas-grid {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* SECCIÓN PLATAFORMAS */
.plataformas {
    background: #f3f0ed;
    padding: 80px 0;
    text-align: center;
}

/* TITULO */
.titulo-plat {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-bottom: 10px;
}

/* INTRO */
.intro-plat {
    font-size: 20px;
    color: #555;
    max-width: 700px;
    margin: 0 auto 40px;
}

/* SUBTITULOS */
.subtitulo-plat {
    text-align: left;
    font-size: 18px;
    letter-spacing: 2px;
    color: #7b1e1e;
    margin: 30px 0 20px;
}

/* GRID */
.grid-plat {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* CARDS */
.card-plat {
    background: #e9e6e3;
    padding: 20px;
    text-align: left;
    border-radius: 6px;
}

/* TITULO CARD */
.card-plat h4 {
    font-family: 'Playfair Display', serif;
    margin-bottom: 10px;
}

/* TEXTO */
.card-plat p {
    font-size: 18px;
    color: #444;
    margin-bottom: 15px;
}

/* BOTON */
.btn-plat {
    background: #7b1e1e;
    color: #fff;
    padding: 8px 12px;
    font-size: 18px;
    text-decoration: none;
    display: inline-block;
    transition: 0.3s;
}

.btn-plat:hover {
    background: #a52a2a;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .grid-plat {
        grid-template-columns: 1fr;
    }

    .subtitulo-plat {
        text-align: center;
    }
}


/* PROGRAMAS CARDS */
.programas-cards {
    background: #f3f0ed;
    padding: 80px 0;
}

/* TITULO */
.titulo-prog {
    font-family: 'Playfair Display', serif;
    font-size: 60px;
    margin-bottom: 30px;
}

/* GRID */
.grid-prog {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

/* CARD */
.card-prog {
    background: #fff;
    border: 1px solid #ddd;
    transition: 0.3s;
}

.card-prog:hover {
    transform: translateY(-5px);
}

/* IMAGEN */
.card-prog img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

/* CONTENIDO */
.contenido-prog {
    padding: 15px;
}

/* TITULO */
.contenido-prog h3 {
    font-size: 20px;
    margin-bottom: 10px;
}

/* GRATIS */
.gratis {
    font-size: 16px;
    color: #777;
    display: block;
    margin-bottom: 15px;
}

/* BOTON */
.btn-prog {
    display: inline-block;
    background: #7b1e1e;
    color: #fff;
    padding: 8px 12px;
    font-size: 16px;
    text-decoration: none;
    transition: 0.3s;
}

.btn-prog:hover {
    background: #a52a2a;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .grid-prog {
        grid-template-columns: 1fr;
    }
}


/* DETALLE PROGRAMA */
.detalle-programa {
    background: #f3f0ed;
}

/* HEADER */
.detalle-header {
    padding: 60px 0 20px;
}

.detalle-header h1 {
    font-family: 'Playfair Display', serif;
    font-size: 50px;
}

.info-prog {
    font-size: 18px;
    color: #777;
}

/* IMAGEN */
.detalle-img img {
    width: 100%;
    height: 350px;
    object-fit: cover;
}

/* GRID */
.detalle-grid {
    display: flex;
    gap: 40px;
    padding: 40px 0;
}

/* INFO */
.detalle-info {
    flex: 1;
}

.detalle-info h3 {
    font-family: 'Playfair Display', serif;
    margin: 20px 0 10px;
}

.detalle-info p {
    font-size: 18px;
    color: #444;
    line-height: 1.6;
}

/* PRECIO */
.precio {
    font-weight: bold;
    color: #7b1e1e;
}

/* HR */
.detalle-info hr {
    margin: 20px 0;
    border: none;
    border-top: 1px solid #ccc;
}

/* COMPARTIR */
.compartir {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.compartir a {
    font-size: 18px;
    text-decoration: none;
    color: #333;
}

/* BOTON */
.btn-unirse {
    display: inline-block;
    background: #7b1e1e;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
}

/* DERECHA */
.detalle-extra {
    flex: 1;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .detalle-grid {
        flex-direction: column;
    }
}


/* DROPDOWN */
.dropdown {
    position: relative;
}

/* SUBMENÚ */
.submenu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    display: none;
    flex-direction: column;
    min-width: 200px;
    border: 1px solid #ddd;
    z-index: 1000;
}

/* LINKS SUBMENU */
.submenu a {
    padding: 10px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
}

.submenu a:hover {
    background: #f3f0ed;
}

/* HOVER */
.dropdown:hover .submenu {
    display: flex;
}

@media (max-width: 900px) {

    .submenu {
        position: static;
        display: none;
        border: none;
    }

    .submenu.active {
        display: flex;
    }
}

.header-diplomados {
    background: #f3f0ed;
    padding: 80px 20px;
    text-align: center;
}

/* TITULO SUPERIOR */
.header-diplomados h1 {
    font-family: 'Playfair Display', serif;
    font-size: 42px;
    margin-bottom: 20px;
}

/* TITULO PRINCIPAL */
.header-diplomados h2 {
    font-family: 'Playfair Display', serif;
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 30px;
}

/* TEXTO */
.header-diplomados p {
    max-width: 800px;
    margin: 0 auto 15px;
    font-size: 15px;
    line-height: 1.7;
    color: #444;
}

@media (max-width: 768px) {
    .header-diplomados h1 {
        font-size: 28px;
    }

    .header-diplomados h2 {
        font-size: 32px;
    }

    .header-diplomados p {
        font-size: 14px;
    }
}

.lista-programas {
    background: #f3f0ed;
    padding: 60px 20px;
}

/* GRID 3 COLUMNAS */
.grid-programas {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

/* LISTAS */
.grid-programas ul {
    list-style: none;
    padding: 0;
}

/* ITEMS */
.grid-programas li {
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    margin-bottom: 15px;
    position: relative;
    padding-left: 18px;
}

/* VIÑETA DORADA */
.grid-programas li::before {
    content: "◆";
    position: absolute;
    left: 0;
    color: #c49b63;
    font-size: 10px;
    top: 6px;
}