
    html { scroll-behavior: smooth; }
    body { font-family: 'Roboto', sans-serif; margin:0; color:#333; }

    /* Header */
    header {
      position: fixed; top:0; left:0; width:100%; z-index:1000; transition: background 0.3s;
    }
    header.scrolled { background-color:#2d2d2b; }
    .navbar { padding: 15px 0; }
    .navbar-brand { font-family: 'Playfair Display', serif; font-weight:700; color:#fff !important; }
    .navbar-nav .nav-link { color:#fff !important; font-weight:500; margin-left:20px; }
    .social-icons a { color:#d9d4cb; margin-left:12px; font-size:1.2rem; transition: color 0.3s; }
    .social-icons a:hover { color:#c0b5a1; }

    /* Hero */
    .carousel-item { height:100vh; min-height:400px; background-size:cover; background-position:center; position:relative; }
    .carousel-item::after { content:""; position:absolute; top:0; left:0; right:0; bottom:0; background: rgba(0,0,0,0.45); }
    .carousel-caption { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; }
    .carousel-caption h1 { font-family:'Playfair Display', serif; font-weight:700; color:#fff; font-size:2rem; }
    .carousel-caption p { font-size:1rem; color:#fff; margin-top:10px; }
    @media(min-width:768px){ .carousel-caption h1{ font-size:3rem; } .carousel-caption p{ font-size:1.2rem; } }
    @media(min-width:1200px){ .carousel-caption h1{ font-size:3.5rem; } .carousel-caption p{ font-size:1.2rem; } }

    /* Secciones */
    section { padding:80px 20px; opacity:0; transform:translateY(50px); transition: all 0.8s ease-in-out; }
    section.visible { opacity:1; transform:translateY(0); }
    section h2 { font-family:'Playfair Display', serif; font-size:2.5rem; margin-bottom:30px; text-align:center; color:#595343; }

    
    /* Cabañas - Swiper */
    .swiper-slide .card { transition: transform 0.3s ease; }
    .swiper-slide .card:hover { transform: translateY(-5px) scale(1.02); }
    .swiper-slide img { height:200px; object-fit:cover; }
    @media(min-width:576px){ .swiper-slide img{ height:220px; } }
    @media(min-width:992px){ .swiper-slide img{ height:250px; } }
    @media(min-width:1200px){ .swiper-slide img{ height:280px; } }

    /* Footer */
    footer { background-color:#2d2d2b; color:#fff; padding:50px 20px; }
    footer a { color:#d9d4cb; text-decoration:none; }
    footer a:hover { color:#c0b5a1; }
    @media(max-width:767px){ footer .row{text-align:center;} footer .col-md-4{margin-bottom:20px;} }

    /* WhatsApp flotante */
 .whatsapp-float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #25D366;
    color: white;
    padding: 12px 16px;
    border-radius: 50px; 
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
    z-index: 1000;
}

.whatsapp-float i {
    font-size: 24px;
}

.whatsapp-float:hover {
    background-color: #1ebe57;
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.4);
}

/* Texto visible solo en pantallas grandes */
.whatsapp-float span {
    display: inline-block;
    white-space: nowrap;
}

/* Solo ícono en móviles */
@media (max-width: 768px) {
    .whatsapp-float {
        padding: 12px;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        justify-content: center;
    }
    .whatsapp-float span {
        display: none;
    }
}

    /* Carousel prev/next color */
    .swiper-button-next, .swiper-button-prev { color:#ffffff; }
    .swiper-pagination-bullet-active { background:#c0b5a1; }
    
/* Transición de carga de página */
body {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
body.loaded {
  opacity: 1;
}
