/* === ESTILOS GENERALES === */
body {
    scroll-behavior: smooth;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    padding-top: 56px;
}

@media (min-width: 992px) {
    body {
        padding-top: 70px;
    }
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* === NAVBAR === */
.navbar-nav .nav-link {
    transition: color 0.3s ease;
}

.navbar-nav .nav-link:hover {
    color: #ffc107;
}

/* === PORTADA / HEADER === */
header {
    position: relative;
    overflow: hidden;
}

/* CARRUSEL GENERAL */
header .carousel,
header .carousel-inner,
header .carousel-item {
    height: auto;
    max-height: 60vh; /* Altura máxima en desktop */
    overflow: hidden;
    background: white; /* Fondo por si la imagen no cubre */
}

/* IMÁGENES del CARRUSEL */
header .carousel img,
.carousel-item img {
    width: 100%;
    max-height: 60vh;
    object-fit: contain; /* Mostrar imagen completa sin recortar */
    object-position: center;
}

/* CAPTION CENTRADO */
.carousel-caption {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    bottom: initial;
}

/* TRANSICIÓN SUAVE */
.carousel-inner .carousel-item {
    transition: transform 1s ease;
}

/* RESPONSIVO PARA MÓVILES */
@media (max-width: 768px) {
    header .carousel,
    header .carousel-inner,
    header .carousel-item {
        max-height: 300px;
    }

    header .carousel img {
        object-fit: contain;
        max-height: 300px;
    }
}

/* === PORTADA CON FONDO === */
.portada {
    background-size: cover;
    background-position: center;
}
