/* ============================================================
   1. HEADER Y NAVEGACIÓN (PROLIJO Y SIN LÍNEAS)
   ============================================================ */

header {
    background-color: #fff;
    padding: 10px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.logo-img {
    max-height: 55px;
}

.nav-principal ul {
    list-style: none;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    gap: 30px; 
}

.nav-principal ul li a {
    text-decoration: none !important;
    color: #7d344d !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700; 
    font-size: 16px;
    transition: color 0.3s ease;
    border: none !important;
}

.nav-principal ul li a:hover,
.nav-principal ul li a.active {
    color: #12b1de !important;
    border: none !important;
}

/* ============================================================
   2. CUERPO Y TARJETAS (LETRAS NEGRAS)
   ============================================================ */

body { 
    background-color: #f4f4f9 !important; 
    margin: 0; 
    padding: 0;
    font-family: 'Roboto', sans-serif;
}

.contenedor-pagina {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}

.seccion-invitacion {
    display: flex;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 40px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.columna-imagen {
    flex: 1;
    height: 320px;
    background-size: cover;
    background-position: center;
}

.columna-texto {
    flex: 1.5;
    padding: 30px;
}

.columna-texto h2 {
    color: #7d344d;
    font-family: 'Montserrat', sans-serif;
    margin: 10px 0;
}

.columna-texto p, 
.columna-texto ul li {
    color: #000 !important; /* Letras siempre negras */
    line-height: 1.5;
}

/* ============================================================
   3. BOTONES (MORADO -> AZUL SIN BORDE)
   ============================================================ */

.btn-principal, .btn-secundario {
    display: inline-block;
    background-color: #7d344d !important;
    color: #fff !important;
    padding: 10px 25px;
    border-radius: 50px;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    border: none !important;
    margin-top: 15px;
    transition: background 0.3s;
}

.btn-principal:hover, .btn-secundario:hover {
    background-color: #12b1de !important;
    border: none !important;
}

/* ============================================================
   4. PIE DE PÁGINA (FRANJA REDUCIDA Y OSCURA)
   ============================================================ */

.pie-pagina {
    text-align: center;
    padding: 25px 10px; /* REDUCIDO: Menos espacio arriba y abajo */
    background-color: #2e2e2e !important; 
}

.redes-sociales p {
    color: #999 !important;
    font-size: 0.85em;
    margin-bottom: 10px; /* Espacio mínimo */
}

.iconos-redes a {
    color: #fff !important;
    font-size: 1.8em; /* Un poco más pequeños para no estirar la franja */
    margin: 0 12px;
}

.copyright {
    color: #777 !important;
    font-size: 0.75em;
    margin-top: 15px;
}

@media (max-width: 850px) {
    .seccion-invitacion { flex-direction: column; }
    .columna-imagen { width: 100%; height: 220px; }
}