/*
Theme Name: Hotel Alameda
Theme URI: 
Author: Antigravity IDE
Author URI: 
Description: Custom WordPress theme for Hotel Alameda, featuring dynamic menus, logos, and custom templates.
Version: 1.0
License: 
License URI: 
Text Domain: hotel-alameda
Tags: bootstrap, custom-logo, custom-menu, portfolio, responsive-layout, clean
*/

:root {
    --primary-orange: #eb7a34;
    --dark-grey: #69655d;
    --text-dark: #333333;
    --bg-light: #f8f9fa;
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--text-dark);
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6, .navbar-brand {
    font-family: 'Montserrat', sans-serif;
}

.text-orange { color: var(--primary-orange) !important; }
.bg-orange { background-color: var(--primary-orange) !important; }
.bg-dark-grey { background-color: var(--dark-grey) !important; }
.bg-light-beige { background-color: #f4f1eb; }

.btn-orange {
    background-color: var(--primary-orange);
    border-color: var(--primary-orange);
}
.btn-orange:hover {
    background-color: #d66b2b;
    border-color: #d66b2b;
    color: white;
}

/* Navbar */
.nav-link {
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    color: var(--text-dark) !important;
    transition: color 0.3s ease;
}
.nav-link:hover, .current-menu-item > a {
    color: var(--primary-orange) !important;
}

/* Utils */
.tracking-wide { letter-spacing: 2px; }
.section-padding { padding-top: 5rem; padding-bottom: 5rem; }
.feature-img { max-height: 600px; object-fit: cover; width: 100%; }

/* Hero */
.hero-section { height: 70vh; width: 100%; position: relative; overflow: hidden; }
.hero-video {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.hero-image {
    width: 100%; height: 100%;
    background-size: cover; background-position: center;
    box-shadow: inset 0 -50px 100px rgba(0,0,0,0.1);
}

/* Hover effects */
.hover-scale { transition: transform 0.4s ease; }
.hover-scale:hover { transform: scale(1.03); }
.hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.hover-lift:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }

/* Forms */
.form-control, .form-select { border: none; border-radius: 4px; }
.form-control::placeholder { color: #999; }

/* Habitaciones specific */
.icon-lg { font-size: 3rem; color: #8c7d70; margin-bottom: 1rem; }
.text-brown { color: #5c574f; }
.room-img { border-radius: 20px; box-shadow: 0 15px 30px rgba(0,0,0,0.1); }

/* Restaurante specific */
.bistro-title { font-family: 'Montserrat', sans-serif; color: #4a3c31; }
.bistro-text { color: #69655d; font-size: 1.1rem; line-height: 1.8; }
.gallery-band {
    background-color: #f4f1eb; position: absolute;
    top: 50%; left: 0; width: 100%; height: 40%;
    z-index: -1; transform: translateY(-50%);
}
.gallery-img {
    border-radius: 20px; box-shadow: 0 15px 30px rgba(0,0,0,0.15);
    transition: transform 0.4s ease; width: 100%; height: 350px; object-fit: cover;
}
.gallery-img:hover { transform: scale(1.03); }

/* Servicios specific */
.service-img { border-radius: 20px; box-shadow: 0 15px 30px rgba(0,0,0,0.1); width: 100%; object-fit: cover; }
.info-table { border-left: 2px solid #5c4a3d; padding-left: 1rem; }
.info-label { color: #69655d; font-size: 1.1rem; }
.info-value { color: #4a3c31; font-weight: 700; }

/* Eventos specific */
.event-card-container, .salon-container { position: relative; margin-bottom: 6rem; }
.event-img { border-radius: 20px; width: 85%; height: 400px; object-fit: cover; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.event-text-box {
    position: absolute; bottom: -30px; right: 0; width: 45%;
    background-color: var(--primary-orange); color: white; padding: 2.5rem;
    border-radius: 20px; box-shadow: 0 15px 30px rgba(0,0,0,0.15); z-index: 10;
}
.salon-img { border-radius: 20px; width: 100%; height: 500px; object-fit: cover; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.salon-info-box {
    background-color: var(--primary-orange); color: white; border-radius: 20px;
    padding: 2rem; width: 90%; margin: -60px auto 0; position: relative; z-index: 10;
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}

@media (max-width: 991px) {
    .event-img { width: 100%; height: 300px; }
    .event-text-box { position: relative; width: 90%; bottom: 0; right: auto; margin: -50px auto 0; }
}

@media (min-width: 992px) {
    .position-lg-absolute { position: absolute !important; }
    .translate-middle-y-lg { transform: translateY(-50%) !important; }
    .info-card { z-index: 10; }
}

/* Animations */
.fade-in, .fade-in-down, .slide-in-left, .slide-in-right, .slide-up, .slide-in-up { opacity: 0; will-change: transform, opacity; }
.fade-in { transition: opacity 1s ease; }
.fade-in.visible { opacity: 1; }
.fade-in-down { transform: translateY(-30px); transition: opacity 0.8s ease, transform 0.8s ease; }
.fade-in-down.visible { opacity: 1; transform: translateY(0); }
.slide-in-left { transform: translateX(-50px); transition: opacity 1s ease, transform 1s ease; }
.slide-in-left.visible { opacity: 1; transform: translateX(0); }
.slide-in-right { transform: translateX(50px); transition: opacity 1s ease, transform 1s ease; }
.slide-in-right.visible { opacity: 1; transform: translateX(0); }
.slide-up { transform: translateY(50px); transition: opacity 0.8s ease, transform 0.8s ease; }
.slide-up.visible { opacity: 1; transform: translateY(0); }
.slide-in-up { transform: translateY(20px); transition: opacity 0.8s ease, transform 0.8s ease; }
.slide-in-up.visible { opacity: 1; transform: translateY(0); }

/* Rooms Swiper Slider */
.rooms-slider-container {
    padding-top: 1rem;
    padding-bottom: 2rem;
}
.roomsSwiper {
    width: 100%;
    padding-top: 10px;
    padding-bottom: 60px;
    overflow: hidden !important;
}
.roomsSwiper .swiper-slide {
    width: 100%;
    transition: transform 0.4s ease;
}
.room-card-wrapper {
    border-radius: 20px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
}
.room-slider-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 700px;
    object-fit: cover;
    display: block;
    border-radius: 20px;
}
@media (max-width: 991px) {
    .room-slider-img {
        border-radius: 12px;
    }
    .room-card-wrapper {
        border-radius: 12px;
    }
}
@media (max-width: 576px) {
    .room-slider-img {
        aspect-ratio: 4 / 3;
        border-radius: 10px;
    }
    .room-card-wrapper {
        border-radius: 10px;
    }
}
.roomsSwiper .swiper-pagination-bullet {
    background: #ffffff;
    opacity: 0.5;
    width: 12px;
    height: 12px;
}
.roomsSwiper .swiper-pagination-bullet-active {
    background: var(--primary-orange);
    opacity: 1;
    width: 30px;
    border-radius: 10px;
}
.roomsSwiper .swiper-button-next,
.roomsSwiper .swiper-button-prev {
    color: #ffffff;
    background: transparent;
    width: 60px;
    height: 60px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
.roomsSwiper .swiper-button-next:after,
.roomsSwiper .swiper-button-prev:after {
    font-size: 40px;
    font-weight: 300;
}

.logo-img
{
    max-width: 170px;
}