        /* Encapsulamos los estilos con prefijo único */
        .sierra-corre-hotels * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .sierra-corre-hotels {
            font-family: Arial, Helvetica, sans-serif;
            background-color: #ffffff;
            color: #2c2c2c;
            line-height: 1.6;
        }

        .sierra-corre-hotels .donde-dormir-section {
            padding: 30px 20px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .sierra-corre-hotels .section-title {
            text-align: center;
            font-size: 2.5rem;
            font-weight: 700;
            margin-bottom: 20px;
            color: #2c2c2c;
        }

        .sierra-corre-hotels .section-subtitle {
            text-align: center;
            font-size: 1.1rem;
            color: #666;
            margin-bottom: 50px;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }

        .sierra-corre-hotels .hotels-container {
            position: relative;
            margin-top: 40px;
        }

        .sierra-corre-hotels .hotels-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 30px;
        }

        .sierra-corre-hotels .hotel-card {
            background: #ffffff;
            border-radius: 12px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            border: 1px solid #f0f0f0;
        }

        .sierra-corre-hotels .hotel-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .sierra-corre-hotels .hotel-image {
            width: 100%;
            height: 250px;
            object-fit: cover;
            border-bottom: 1px solid #f0f0f0;
        }

        .sierra-corre-hotels .hotel-content {
            padding: 25px;
        }

        .sierra-corre-hotels .hotel-name {
            font-size: 1.4rem;
            font-weight: 600;
            color: #2c2c2c;
            margin-bottom: 10px;
        }

        .sierra-corre-hotels .hotel-address {
            font-size: 0.95rem;
            color: #666;
            margin-bottom: 8px;
            display: flex;
            align-items: center;
        }

        .sierra-corre-hotels .hotel-phone {
            font-size: 0.95rem;
            color: #666;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
        }

        .sierra-corre-hotels .hotel-address::before,
        .sierra-corre-hotels .hotel-phone::before {
            content: '';
            display: inline-block;
            width: 16px;
            height: 16px;
            margin-right: 8px;
            background-size: contain;
            background-repeat: no-repeat;
        }

        .sierra-corre-hotels .hotel-address::before {
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23666' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
        }

        .sierra-corre-hotels .hotel-phone::before {
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23666' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
        }

        .sierra-corre-hotels .hotel-button {
            display: inline-block;
            background-color: #2c2c2c;
            color: white;
            padding: 12px 24px;
            text-decoration: none;
            border-radius: 6px;
            font-weight: 500;
            transition: all 0.3s ease;
            border: none;
            cursor: pointer;
            font-size: 0.95rem;
        }

        .sierra-corre-hotels .hotel-button:hover {
            background-color: #444;
            transform: translateY(-1px);
        }

        .sierra-corre-hotels .hotel-button:active {
            transform: translateY(0);
        }


        /* Responsive Design */
        @media (max-width: 768px) {
            .sierra-corre-hotels .donde-dormir-section {
                padding: 20px 15px 0;
            }

            .sierra-corre-hotels .section-title {
                font-size: 2rem;
                margin-bottom: 15px;
            }

            .sierra-corre-hotels .section-subtitle {
                font-size: 1rem;
                margin-bottom: 30px;
            }

            .sierra-corre-hotels .hotels-container {
                overflow-x: auto;
                overflow-y: hidden;
                margin: 30px -15px 0 -15px;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: thin;
                scrollbar-color: #ddd transparent;
            }

            .sierra-corre-hotels .hotels-container::-webkit-scrollbar {
                height: 6px;
            }

            .sierra-corre-hotels .hotels-container::-webkit-scrollbar-track {
                background: #f1f1f1;
                border-radius: 3px;
            }

            .sierra-corre-hotels .hotels-container::-webkit-scrollbar-thumb {
                background: #ddd;
                border-radius: 3px;
            }

            .sierra-corre-hotels .hotels-container::-webkit-scrollbar-thumb:hover {
                background: #bbb;
            }

            .sierra-corre-hotels .hotels-grid {
                display: flex;
                gap: 20px;
                padding: 10px 15px 30px 15px;
                width: max-content;
            }

            .sierra-corre-hotels .hotel-card {
                flex: 0 0 280px;
                margin-bottom: 0;
            }

            .sierra-corre-hotels .hotel-content {
                padding: 20px;
            }

            .sierra-corre-hotels .hotel-name {
                font-size: 1.2rem;
            }

            .sierra-corre-hotels .hotel-image {
                height: 200px;
            }
        }

        @media (max-width: 480px) {
            .sierra-corre-hotels .section-title {
                font-size: 1.8rem;
            }
            
            .sierra-corre-hotels .hotel-card {
                flex: 0 0 260px;
            }
            
            .sierra-corre-hotels .hotel-content {
                padding: 15px;
            }

            .sierra-corre-hotels .hotels-grid {
                gap: 15px;
                padding: 10px 10px 25px 10px;
            }
        }

/* La galería se abre fuera de las tarjetas y no modifica el layout original. */
.accommodation-gallery {
    width: min(900px, calc(100% - 28px));
    max-height: calc(100% - 28px);
    padding: 0;
    border: 0;
    background: transparent;
}

.accommodation-gallery::backdrop {
    background: rgba(0, 0, 0, 0.68);
}

.gallery-dialog-content {
    position: relative;
    overflow: auto;
    max-height: inherit;
    padding: 48px 24px 28px;
    background: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    color: #2c2c2c;
}

.gallery-dialog-content h2 {
    margin: 0 38px 20px 0;
    font-size: 1.6rem;
}

#close-gallery {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 38px;
    height: 38px;
    border: 0;
    background: transparent;
    color: #2c2c2c;
    cursor: pointer;
    font-size: 2rem;
    line-height: 1;
}

#gallery-image {
    display: block;
    width: 100%;
    max-height: 65vh;
    object-fit: contain;
    background: #111111;
}

.gallery-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 16px;
}

.gallery-navigation button {
    border: 0;
    border-radius: 6px;
    padding: 10px 15px;
    background: #2c2c2c;
    color: #ffffff;
    cursor: pointer;
    font-size: 1rem;
}

@media (max-width: 768px) {
    .accommodation-gallery {
        width: 100%;
        max-height: 100%;
    }

    .gallery-dialog-content {
        min-height: 100vh;
        padding: 54px 16px 24px;
    }

    #gallery-image {
        max-height: 68vh;
    }
}


