/*
Theme Name: Piaceresentire VIP
Theme URI: https://tu-dominio.com
Author: Tu Nombre o Agencia
Author URI: https://tu-dominio.com
Description: Tema premium y exclusivo para el catálogo de modelos y espacios Piaceresentire.
Version: 1.0
Text Domain: piaceresentire
*/

/* --- A PARTIR DE AQUÍ COMIENZAN TUS ESTILOS --- */
.perfil-espacio { padding: 80px 0; background: #fff; }
/* ... resto de tu código CSS ... */

/* --- RESET Y BÁSICOS --- */
/* --- NUEVO FONDO GLOBAL A PRUEBA DE FALLOS --- */
/* --- FONDO GLOBAL: BLANCO CON CORAZONES Y FLORES SUTILES (ESPARCIDOS) --- */
body {
    /* Base blanca limpia */
    background-color: #ffffff; 

    /* Patrón SVG de corazones y flores claros y nítidos */
    /* Color: Nuestro Rosado Elegante (#e91e63) con 10% de opacidad (fill-opacity='0.1') */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' width='200' height='200'%3E%3Cg fill='%23e91e63' fill-opacity='0.1'%3E%3C!-- Corazón Grande (Nítido) --%3E%3Cpath d='M10 3.22C10 1.44 8.56 0 6.78 0 5.06 0 3.91.93 3.22 1.56 2.53.93 1.38 0 .61 0-.61 0-2 1.44-2 3.22c0 3.56 2.94 4.56 5.22 8.47 2.28-3.91 5.22-4.91 5.22-8.47z' transform='translate(30, 20) scale(4)'/%3E%3C!-- Flor Sutil 1 --%3E%3Ccircle cx='10' cy='10' r='2' transform='translate(150, 80)'/%3E%3Cpath d='M10 0a10 10 0 0 1 10 10a10 10 0 0 1-10 10a10 10 0 0 1-10-10a10 10 0 0 1 10-10zM10 4a6 6 0 1 0 0 12a6 6 0 0 0 0-12z' transform='translate(150, 80) scale(1)'/%3E%3C!-- Corazón Mediano Rotado --%3E%3Cpath d='M10 3.22C10 1.44 8.56 0 6.78 0 5.06 0 3.91.93 3.22 1.56 2.53.93 1.38 0 .61 0-.61 0-2 1.44-2 3.22c0 3.56 2.94 4.56 5.22 8.47 2.28-3.91 5.22-4.91 5.22-8.47z' transform='translate(50, 150) rotate(-30) scale(2.5)'/%3E%3C!-- Flor Sutil 2 --%3E%3Ccircle cx='10' cy='10' r='2' transform='translate(120, 30)'/%3E%3Cpath d='M10 0a10 10 0 0 1 10 10a10 10 0 0 1-10 10a10 10 0 0 1-10-10a10 10 0 0 1 10-10zM10 4a6 6 0 1 0 0 12a6 6 0 0 0 0-12z' transform='translate(120, 30) scale(0.8)'/%3E%3C!-- Corazón Pequeño --%3E%3Cpath d='M10 3.22C10 1.44 8.56 0 6.78 0 5.06 0 3.91.93 3.22 1.56 2.53.93 1.38 0 .61 0-.61 0-2 1.44-2 3.22c0 3.56 2.94 4.56 5.22 8.47 2.28-3.91 5.22-4.91 5.22-8.47z' transform='translate(170, 160) rotate(15) scale(1.5)'/%3E%3C/g%3E%3C/svg%3E");

    /* Repetir por toda la página */
    background-repeat: repeat;
    /* Da ligereza al moverse con el scroll */
    background-attachment: scroll; 

    /* Estilos básicos de fuente */
    color: #212121; 
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
}

/* Enlaces por defecto: Quitamos el azul feo */
a {
    color: inherit;
    text-decoration: none;
    transition: 0.3s;
}

a:hover {
    color: #e91e63; /* Todos los enlaces se vuelven rosados al pasar el mouse */
}

/* Contenedores globales */
.contenedor {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* --- HEADER: Estructura Elegante --- */
.site-header {
    position: relative; /* ¡Esta es la regla clave! */
    z-index: 1000; /* Asegura que el menú siempre caiga por encima del slider */
    background-color: #000000; /* Fondo negro para el header */
    padding: 25px 0;
    border-bottom: 3px solid #e91e63; /* Línea de acento rosada abajo */
}

/* Flexbox para alinear logo y menú en fila */
.contenedor-header {
    display: flex;
    justify-content: space-between; /* Logo a la izq, Menú a la der */
    align-items: center; /* Centrado vertical */
}

/* Logo */
.site-logo h2 {
    margin: 0;
}
.site-logo a {
    color: #ffffff; /* Texto del logo blanco */
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: -1px;
}
.site-logo a:hover {
    color: #e91e63;
}

/* Menú Principal: Corrigiendo la lista vertical */
.site-nav ul.menu-items {
    list-style: none; /* Quitamos los puntos */
    margin: 0;
    padding: 0;
    display: flex; /* Enlaces en fila horizontal */
    gap: 35px; /* Espacio entre ellos */
}

.menu-items li a {
    color: #ffffff; /* Texto del menú blanco */
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.95rem;
    letter-spacing: 1px;
}

/* --- CUERPO: Secciones sobre Fondo Blanco --- */
.inicio-main {
    padding: 20px 0;
}

/* Sección Quiénes Somos */
.quienes-somos-sutil {
    padding: 80px 0 60px;
    text-align: center;
    font-size: 1.3rem;
    font-style: italic;
    color: #555555;
    background-color: #fbfbfb; /* Un gris muy tenue para diferenciar */
}

.decoracion-linea {
    display: block;
    width: 60px;
    height: 4px;
    background: #e91e63;
    margin: 0 auto 25px;
}

/* Sección Slider Modelos */
.seccion-modelos {
    padding: 60px 0 100px;
}
.titulo-seccion {
    text-align: center;
    margin-bottom: 60px;
    font-size: 2.8rem;
    color: #000000; /* Título negro */
}
.titulo-seccion span {
    color: #e91e63; /* La palabra "Modelos" en rosado */
}

/* Si aún no tienes modelos, muestra este mensaje */
.mySwiper {
    color: #888;
    text-align: center;
    padding: 40px;
}

/* --- FOOTER: Peso y Estilo --- */
.site-footer {
    background: #000000; /* Fondo negro */
    color: #ffffff; /* Texto blanco por defecto */
    padding: 80px 0;
    border-top: 1px solid #222222;
}

/* Flexbox para las 2 columnas del footer */
.contenedor-footer {
    display: flex;
    justify-content: space-around; /* Distribuimos las columnas */
    align-items: flex-start;
}

.site-footer h4 {
    color: #e91e63; /* Títulos de columna en rosado */
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    font-size: 1.1rem;
}

/* Listas del footer sin puntos */
.redes-lista {
    list-style: none;
    padding: 0;
    margin: 0;
}
.redes-lista li {
    margin-bottom: 12px;
}
.redes-lista a {
    color: #ffffff;
}
.redes-lista a:hover {
    color: #e91e63;
}

address {
    font-style: normal;
    color: #bbbbbb;
}

/* --- 1. CONTENEDORES: Márgenes estrictos para que no toquen los bordes --- */
.contenedor,
.contenedor-header,
.contenedor-footer {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Mantener elementos del header en línea */
.contenedor-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* --- 2. MENÚ: Eliminar la viñeta rebelde forzando a todo "ul" dentro del nav --- */
.site-nav ul {
    list-style-type: none !important; /* El important fuerza la eliminación */
    margin: 0;
    padding: 0;
    display: flex;
    gap: 35px;
}

/* --- 3. SWIPER: Forzar nuestro Rosado Elegante sobre el azul por defecto --- */
.swiper-button-next, 
.swiper-button-prev {
    color: #e91e63 !important;
}

/* Opcional: Hacer las flechas un poco más pequeñas y elegantes */
.swiper-button-next::after, 
.swiper-button-prev::after {
    font-size: 2rem !important;
    font-weight: bold;
}
/* --- SLIDER COMPACTO Y ELEGANTE --- */

/* Controlamos el ancho máximo del contenedor del slider */
.swiper {
    width: 100%;
    padding: 20px 0 50px 0; /* Espacio inferior para los puntos de paginación */
}
/* La tarjeta ahora tiene una proporción estricta */
.card-modelo {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border-radius: 6px; /* Bordes muy sutiles, menos redondeados */
    box-shadow: 0 10px 30px rgba(0,0,0,0.08); /* Sombra elegante de estilo revista */
    transition: transform 0.4s ease;
    aspect-ratio: 3 / 4; /* Fuerza un formato vertical perfecto de fotografía */
}

.card-modelo:hover {
    transform: translateY(-10px); /* Al pasar el mouse, sube un poco en lugar de agrandarse */
}

/* Control absoluto sobre la imagen */
.imagen-wrapper {
    width: 100%;
    height: 100%;
}

.imagen-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Garantiza que la imagen llene el espacio sin deformarse NUNCA */
    display: block;
}

/* Información sobre la foto más delicada */
.info-modelo {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 30px 20px 20px;
    box-sizing: border-box; /* Evita que el padding rompa el diseño */
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 100%); /* Degradado negro para leer bien el texto */
    text-align: left;
}

.info-modelo h3 {
    margin: 0;
    color: #ffffff;
    font-size: 1.3rem; /* Letra más pequeña y fina */
    font-weight: 500;
    letter-spacing: 0.5px;
}

.info-modelo p {
    margin: 5px 0 0;
    color: #e91e63; /* Acento rosado sutil */
    font-size: 0.85rem;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 1px;
}
/* --- DISEÑO DEL CATÁLOGO --- */
.contenedor-catalogo {
    width: 90%;
    max-width: 1200px;
    margin: 60px auto;
}

.header-archivo {
    text-align: center;
    margin-bottom: 50px;
}

.listado-modelos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* Crea columnas automáticas */
    gap: 30px;
}

.card-modelo-catalogo {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: 0.3s;
}

.card-modelo-catalogo:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(233, 30, 99, 0.2);
}

.foto-perfil img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
}

.info-breve {
    padding: 20px;
    text-align: center;
}

.info-breve h3 {
    margin: 0 0 10px;
    font-size: 1.2rem;
    color: #000;
}

.info-breve span {
    color: #e91e63;
    font-size: 0.8rem;
    font-weight: bold;
    text-transform: uppercase;
}
/* --- PERFIL PREMIUM --- */
.perfil-premium { padding: 60px 0; background: #fff; }

.grid-perfil {
    display: grid;
    grid-template-columns: 350px 1fr; /* Sidebar fija y contenido flexible */
    gap: 50px;
}

.foto-principal-wrapper img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.ficha-tecnica, .servicios-caja {
    background: #f9f9f9;
    padding: 25px;
    margin-top: 30px;
    border-left: 4px solid #e91e63; /* Detalle rosado */
}

.ficha-tecnica h3, .servicios-caja h4 {
    margin-top: 0;
    font-size: 1.1rem;
    text-transform: uppercase;
    color: #000;
}

.ficha-tecnica ul { list-style: none; padding: 0; }
.ficha-tecnica li { margin-bottom: 10px; border-bottom: 1px dashed #ddd; padding-bottom: 5px; }

.nombre-modelo { font-size: 3rem; margin: 0; font-weight: 700; color: #000; }
.linea-decorativa { width: 80px; height: 5px; background: #e91e63; margin: 20px 0 40px; }

.galeria-seccion { margin-top: 50px; }

/* Estilo para los comentarios */
.valoraciones-clientes {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid #eee;
}

.aviso-login {
    background: #000;
    color: #fff;
    padding: 15px;
    text-align: center;
    border-radius: 4px;
}
.aviso-login a { color: #e91e63; font-weight: bold; }

/* --- DISEÑO Y EFECTO HOVER DE LA GALERÍA (FORZADO) --- */
.galeria-seccion {
    margin-top: 50px;
}

.galeria-seccion h3 {
    font-size: 1.8rem;
    color: #000000;
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.wp-block-gallery {
    gap: 15px !important;
    margin: 0 !important;
}

/* 1. Forzar el contenedor para que oculte el exceso al hacer zoom */
.wp-block-gallery figure.wp-block-image {
    overflow: hidden !important;
    border-radius: 6px !important;
    transition: box-shadow 0.4s ease !important;
}

/* 2. Forzar la transición en la imagen (esté dentro de un enlace o no) */
.wp-block-gallery figure.wp-block-image img {
    transition: transform 0.4s ease !important;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 3. El efecto Hover definitivo (!important anula estilos por defecto de WP) */
.wp-block-gallery figure.wp-block-image:hover img {
    transform: scale(1.08) !important; /* El zoom ahora es del 8% para que se note más */
}

.wp-block-gallery figure.wp-block-image:hover {
    box-shadow: 0 10px 25px rgba(233, 30, 99, 0.4) !important; /* La sombra rosada */
    z-index: 2; /* Asegura que la sombra se vea por encima de las otras fotos */
}
/* --- PÁGINA DE ESPACIOS --- */
.pagina-espacios {
    padding: 60px 0 100px;
    background-color: #ffffff;
}

.header-espacios {
    text-align: center;
    margin-bottom: 50px;
}

.header-espacios .subtitulo {
    font-size: 1.2rem;
    color: #666;
    margin-top: 10px;
}

.separador-rosado-centro {
    width: 60px;
    height: 4px;
    background: #e91e63;
    margin: 20px auto 0;
}

.introduccion-espacios {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 50px;
    font-size: 1.1rem;
    color: #333;
}

/* Grid de Locaciones */
.grid-locaciones {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
}

.card-espacio {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    background: #000;
    
}

.imagen-espacio {
    height: 350px;
    width: 100%;
}

.imagen-espacio img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease, opacity 0.4s ease;
    opacity: 0.85; /* Un poco oscuras por defecto */
}

/* Información superpuesta */
.info-espacio {
    position: absolute;
    bottom: -100px; /* Escondido por defecto */
    left: 0;
    width: 100%;
    padding: 30px 20px 20px;
    box-sizing: border-box;
    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0) 100%);
    transition: bottom 0.4s ease;
    color: #fff;
}

.info-espacio h3 {
    margin: 0 0 10px;
    font-size: 1.5rem;
    color: #e91e63;
    text-transform: uppercase;
}

.info-espacio p {
    margin: 0;
    font-size: 0.95rem;
    color: #ccc;
    line-height: 1.4;
    opacity: 0; /* Texto invisible hasta el hover */
    transition: opacity 0.4s ease 0.1s;
}

/* Efectos al pasar el cursor (Hover) */
.card-espacio:hover .imagen-espacio img {
    transform: scale(1.1);
    opacity: 0.4; /* Se oscurece más para dejar leer el texto */
}

.card-espacio:hover .info-espacio {
    bottom: 0; /* Sube la caja de información */
}

.card-espacio:hover .info-espacio p {
    opacity: 1; /* Aparece el texto descriptivo */
}
.costo-badge {
    display: inline-block;
    background: #e91e63;
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: bold;
    margin-bottom: 10px;
    letter-spacing: 1px;
}
.descripcion-corta {
    font-size: 0.95rem;
    color: #cccccc;
}
/* --- ÍCONOS DE REDES SOCIALES --- */
.redes-lista.con-iconos li a {
    display: flex;
    align-items: center; /* Alinea el ícono y el texto en el centro */
    gap: 12px; /* Separación entre el ícono y la palabra */
}

.redes-lista.con-iconos i {
    font-size: 1.3rem; /* Tamaño del logo */
    width: 25px; /* Ancho fijo para que los textos de todas las redes queden en línea recta */
    text-align: center;
    transition: transform 0.3s ease;
}

/* Efecto divertido: el logo salta un poquito al pasar el cursor */
.redes-lista.con-iconos a:hover i {
    transform: translateY(-3px);
    color: #e91e63; /* Nuestro rosado elegante */
}

/* --- MEGA FOOTER --- */
.site-footer {
    background: #000000;
    color: #bbbbbb;
    padding: 70px 0 0 0;
    border-top: 3px solid #e91e63;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* 3 columnas en PC, 1 en móvil */
    gap: 50px;
    padding-bottom: 50px;
}

.footer-columna h4 {
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 0;
    margin-bottom: 25px;
    font-size: 1.1rem;
}

/* Logos y Textos Legales */
.footer-logo-img { max-width: 180px; margin-bottom: 20px; }
.footer-logo-texto { color: #fff; margin: 0 0 20px 0; font-size: 2rem; }

.footer-legal {
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid #222;
    padding: 15px;
    border-radius: 6px;
    background: #0a0a0a;
}

.footer-legal i { font-size: 1.8rem; color: #e91e63; }
.footer-legal p { margin: 0; font-size: 0.85rem; line-height: 1.4; color: #999; }

/* Métodos de Pago */
.footer-pagos h4 { font-size: 0.9rem; color: #888; margin: 25px 0 10px; }
.pagos-img { max-width: 180px; filter: grayscale(100%); transition: 0.3s; opacity: 0.7; }
.pagos-img:hover { filter: grayscale(0%); opacity: 1; }

/* Listas de Contacto y Enlaces */
.footer-lista-info, .footer-lista-enlaces { list-style: none; padding: 0; margin: 0; }
.footer-lista-info li, .footer-lista-enlaces li {
    margin-bottom: 15px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.footer-lista-info i, .footer-lista-enlaces i { color: #e91e63; margin-top: 4px; }
.footer-lista-enlaces a { color: #bbbbbb; transition: 0.3s; }
.footer-lista-enlaces a:hover { color: #e91e63; padding-left: 5px; }

/* Mapa */
.footer-mapa {
    margin-top: 20px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #333;
}
.footer-mapa iframe { width: 100% !important; height: 180px !important; display: block; border: none; }

/* Footer Bottom (Copyright) */
.footer-bottom {
    background: #050505;
    padding: 20px 0;
    text-align: center;
    font-size: 0.85rem;
    border-top: 1px solid #111;
}

/* --- MARCO ELEGANTE DEL SLIDER --- */
.marco-elegante-slider {
    background-color: #fff8fa; /* Fondo blanco con un levísimo toque rosado */
    border: 2px solid #fce4ec; /* Borde rosado muy tenue */
    border-radius: 15px; /* Bordes redondeados del marco */
    padding: 50px 20px; /* Espacio interno para respirar */
    box-shadow: 0 15px 40px rgba(233, 30, 99, 0.08); /* Sombra rosada elegante */
    margin: 0 auto;
    position: relative;
}

/* Controlamos el ancho del slider dentro del marco */
.swiper {
    width: 100%;
    padding: 10px 0 40px 0; /* Espacio inferior para los puntos */
}

/* --- TARJETAS DE LAS MODELOS (NUEVO ESTILO LIMPIO) --- */
.card-modelo {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.06);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.card-modelo:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(233, 30, 99, 0.15);
}

.imagen-wrapper {
    width: 100%;
    height: 380px; /* Altura fija para uniformidad */
}

.imagen-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* --- INFO Y BOTÓN DE CORAZÓN --- */
.info-modelo {
    padding: 25px 15px;
    text-align: center; /* Todo centrado */
    background-color: #ffffff;
}

.info-modelo h3 {
    margin: 0 0 20px 0;
    color: #212121; /* Texto oscuro */
    font-size: 1.25rem;
    font-weight: 600;
}

.btn-ver-perfil {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px; /* Espacio entre corazón y texto */
    color: #e91e63;
    background: transparent;
    border: 2px solid #e91e63;
    padding: 8px 24px;
    border-radius: 30px; /* Forma de píldora */
    font-size: 0.85rem;
    font-weight: bold;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.btn-ver-perfil i {
    font-size: 1.1rem;
}

/* Efecto al pasar el cursor por toda la tarjeta */
.card-modelo:hover .btn-ver-perfil {
    background-color: #e91e63;
    color: #ffffff;
}

/* Ajuste de flechas de Swiper para que no se salgan del marco */
.swiper-button-next { right: 10px !important; }
.swiper-button-prev { left: 10px !important; }

/* --- HOVER DEL MENÚ PRINCIPAL --- */
.menu-items li a {
    position: relative;
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    padding: 10px 0;
    transition: color 0.3s ease;
}

/* Color en el Hover */
.menu-items li a:hover {
    color: #e91e63 !important;
}

/* Línea animada bajo el menú al hacer hover */
.menu-items li a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #e91e63;
    transition: width 0.3s ease;
}

.menu-items li a:hover::after {
    width: 100%;
}

/* --- RESPONSIVIDAD GLOBAL --- */

/* Ocultar botón de menú en PC */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
}

/* AJUSTES PARA TABLETS Y MÓVILES (Max 992px) */
/* AJUSTES PARA TABLETS Y MÓVILES (Max 992px) */
@media (max-width: 992px) {
    .menu-toggle {
        display: block;
    }

    .site-nav {
        display: none; 
        position: absolute;
        top: 100%; /* Cae exactamente debajo del borde rosado del header */
        left: 0;
        width: 100%;
        background-color: #000000;
        box-shadow: 0 15px 25px rgba(0,0,0,0.5); /* Sombra elegante */
        border-bottom: 2px solid #e91e63;
    }

    .site-nav.active {
        display: block; 
    }

    /* Forzamos con !important que la lista sea vertical y centrada */
    .site-nav ul.menu-items {
        display: flex !important;
        flex-direction: column !important; /* Obliga a que estén uno debajo del otro */
        align-items: center !important; /* Centra los botones en la pantalla */
        padding: 30px 0 !important;
        margin: 0 !important;
        gap: 25px !important; /* Espacio cómodo para tocar con el dedo */
    }

    .site-nav ul.menu-items li {
        width: 100%;
        text-align: center;
    }

    .site-nav ul.menu-items li a {
        display: block;
        font-size: 1.1rem;
        padding: 10px;
    }

    /* El resto de tus reglas para footer y perfil siguen igual... */
    .footer-grid { grid-template-columns: 1fr; text-align: center; gap: 40px; }
    .footer-legal { justify-content: center; }
    .grid-perfil { grid-template-columns: 1fr; }
    .perfil-sidebar { order: 2; }
}

/* AJUSTES PARA MÓVILES PEQUEÑOS (Max 600px) */
@media (max-width: 600px) {
    .nombre-modelo {
        font-size: 2rem;
    }
    
    .titulo-seccion {
        font-size: 1.8rem;
    }

    .marco-elegante-slider {
        padding: 20px 10px;
    }
}
/* Separar un poco el botón del nombre en el catálogo */
.info-breve .btn-ver-perfil {
    margin-top: 15px;
    margin-bottom: 5px;
}

/* Efecto Hover del botón específico para la página de Catálogo */
.card-modelo-catalogo:hover .btn-ver-perfil {
    background-color: #e91e63;
    color: #ffffff;
}

/* --- PÁGINA QUIÉNES SOMOS --- */
.pagina-qs {
    padding: 100px 0;
    min-height: 60vh;
}

.grid-qs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.qs-imagen-box img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    box-shadow: 20px 20px 0px #fce4ec; /* Sombra sólida rosada */
}

.placeholder-qs {
    width: 100%;
    height: 400px;
    background: #f9f9f9;
    border-radius: 15px;
}

.separador-rosado {
    width: 60px;
    height: 4px;
    background: #e91e63;
    margin: 20px 0 40px;
}

.descripcion-qs {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #444;
    margin-bottom: 40px;
}

.qs-valores {
    display: flex;
    gap: 30px;
}

.valor-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.valor-item i {
    font-size: 1.5rem;
    color: #e91e63;
}

.valor-item span {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 1px;
}

/* Responsivo para móviles */
@media (max-width: 992px) {
    .grid-qs {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center;
    }
    .separador-rosado { margin: 20px auto 40px; }
    .qs-valores { justify-content: center; }
}
/* --- ESTILOS DEL EQUIPO --- */
.seccion-equipo { padding: 80px 0; border-top: 1px solid #f0f0f0; margin-top: 50px; }
.titulo-seccion-centro { text-align: center; font-size: 2.5rem; margin-bottom: 10px; }
.separador-rosado-centro { width: 60px; height: 4px; background: #e91e63; margin: 0 auto 50px; }

.grid-equipo {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
}

.card-equipo { text-align: center; }

.equipo-foto-wrapper {
    width: 200px;
    height: 200px;
    margin: 0 auto 20px;
    border-radius: 50%; /* Fotos circulares para el equipo */
    overflow: hidden;
    border: 5px solid #fce4ec;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.equipo-foto-wrapper img { width: 100%; height: 100%; object-fit: cover; }
.foto-placeholder { background: #f9f9f9; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: #ddd; }

.card-equipo h3 { margin: 10px 0 5px; font-size: 1.3rem; color: #000; }
.card-equipo p { color: #e91e63; font-weight: bold; text-transform: uppercase; font-size: 0.85rem; }

/* --- PÁGINA INDIVIDUAL DE ESPACIO --- */
.perfil-espacio { padding: 80px 0; background: #fff; }

.grid-espacio-detalle {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 60px;
}

.foto-grande img {
    width: 100%;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.titulo-espacio { font-size: 2.5rem; margin: 0; color: #000; }

.precio-tarjeta {
    background: #000;
    color: #fff;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
}

.precio-tarjeta .label { color: #e91e63; text-transform: uppercase; font-size: 0.8rem; font-weight: bold; }
.precio-tarjeta .monto { font-size: 2rem; font-weight: bold; }
.precio-tarjeta .monto small { font-size: 1rem; color: #888; }

.bloque-detalle { margin-bottom: 30px; }
.bloque-detalle h3 { font-size: 1.1rem; text-transform: uppercase; margin-bottom: 15px; border-bottom: 1px solid #eee; padding-bottom: 10px; }

.lista-incluye {
    background: #fdf2f5;
    padding: 20px;
    border-left: 4px solid #e91e63;
    color: #444;
    line-height: 1.6;
}

.btn-reservar {
    display: block;
    background: #e91e63;
    color: #fff;
    text-align: center;
    padding: 18px;
    border-radius: 50px;
    font-weight: bold;
    text-decoration: none;
    transition: 0.3s;
}

.btn-reservar:hover { background: #000; transform: scale(1.02); }

/* Móvil */
@media (max-width: 992px) {
    .grid-espacio-detalle { grid-template-columns: 1fr; }
    .espacio-info-sidebar { order: 1; }
    .espacio-visual { order: 2; }
}

.card-espacio a {
    display: block;
    height: 100%;
    width: 100%;
    position: relative;
    z-index: 5; /* Asegura que el link esté por encima de todo */
}

/* Evita que los elementos internos bloqueen el clic */
.imagen-espacio, .info-espacio {
    pointer-events: none; 
}

/* Pero queremos que la tarjeta completa sí reaccione al cursor */
.card-espacio {
    cursor: pointer;
}
/* --- PÁGINA DE RESERVAS VIP --- */
.pagina-reservas { padding: 80px 0; min-height: 70vh; }

.caja-formulario {
    max-width: 800px;
    margin: 0 auto;
    background: #ffffff;
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.05);
    border-top: 4px solid #e91e63;
}

.form-elegante .campo, .form-elegante .campo-doble { margin-bottom: 25px; }

.form-elegante .campo-doble {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.form-elegante label {
    display: block;
    font-weight: bold;
    color: #333;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.form-elegante label i { color: #e91e63; margin-right: 5px; }

.form-elegante input, .form-elegante select {
    width: 100%;
    padding: 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 1rem;
    font-family: inherit;
    background: #fdfdfd;
    transition: 0.3s;
}

.form-elegante input:focus, .form-elegante select:focus {
    border-color: #e91e63;
    outline: none;
    box-shadow: 0 0 0 3px rgba(233, 30, 99, 0.1);
}

.btn-whatsapp-reserva {
    display: block;
    width: 100%;
    background: #25D366; /* Verde oficial de WhatsApp */
    color: #ffffff;
    border: none;
    padding: 18px;
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 8px;
    cursor: pointer;
    transition: 0.3s;
    margin-top: 10px;
}

.btn-whatsapp-reserva:hover { background: #1ebe57; transform: translateY(-2px); }

/* Alerta de Acceso Denegado */
.alerta-acceso {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
    background: #fff;
    padding: 50px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.alerta-acceso i { font-size: 4rem; color: #e91e63; margin-bottom: 20px; }
.alerta-acceso h2 { margin: 0 0 15px; }
.btn-login-reserva {
    display: inline-block;
    margin-top: 20px;
    background: #000;
    color: #fff;
    padding: 12px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
}

@media (max-width: 768px) {
    .form-elegante .campo-doble { grid-template-columns: 1fr; gap: 0; }
}

/* --- PÁGINA DE REGISTRO --- */
.pagina-registro { padding: 80px 0; min-height: 70vh; }

.caja-registro { max-width: 500px; /* Un poco más angosta para que luzca mejor */ }

.texto-intro-registro { text-align: center; color: #666; margin-bottom: 30px; font-size: 0.95rem; }

.btn-registro-submit {
    display: block;
    width: 100%;
    background: #000000;
    color: #ffffff;
    border: none;
    padding: 16px;
    font-size: 1.1rem;
    font-weight: bold;
    border-radius: 8px;
    cursor: pointer;
    transition: 0.3s;
    margin-top: 20px;
}

.btn-registro-submit:hover { background: #e91e63; }

.enlace-login-inferior { text-align: center; margin-top: 20px; font-size: 0.9rem; }
.enlace-login-inferior a { color: #e91e63; font-weight: bold; text-decoration: none; }
.enlace-login-inferior a:hover { text-decoration: underline; }

/* Mensajes de éxito y error */
.mensaje-sistema { padding: 15px 20px; border-radius: 8px; margin-bottom: 25px; text-align: center; font-weight: bold; }
.mensaje-sistema.exito { background: #e8f5e9; color: #2e7d32; border: 1px solid #c8e6c9; }
.mensaje-sistema.error { background: #ffebee; color: #c62828; border: 1px solid #ffcdd2; }
/* --- SECCIÓN DE COMENTARIOS Y RESEÑAS --- */
.titulo-comentarios {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 30px;
    color: #000;
}

.sin-comentarios {
    text-align: center;
    color: #888;
    font-style: italic;
    margin-bottom: 40px;
}

.lista-comentarios {
    list-style: none;
    padding: 0;
    margin: 0 0 50px 0;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Tarjeta individual de cada comentario */
.lista-comentarios li.comment {
    background: #ffffff;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 25px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.04);
    border-left: 4px solid #e91e63;
}

/* Cabecera del comentario (Foto y Nombre) */
.comment-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 15px;
}

.comment-meta img.avatar {
    border-radius: 50%;
    border: 2px solid #fce4ec;
}

.comment-author b {
    font-size: 1.1rem;
    color: #000;
}

.comment-metadata a {
    color: #aaa;
    font-size: 0.85rem;
    text-decoration: none;
}

/* Texto del comentario */
.comment-content p {
    color: #444;
    line-height: 1.6;
    margin: 0;
}

/* Caja de formulario de respuesta */
.caja-formulario-comentario {
    max-width: 800px;
    margin: 0 auto;
    background: #fdfdfd;
    padding: 30px;
    border-radius: 15px;
    border: 1px solid #eee;
}

.caja-formulario-comentario #reply-title {
    font-size: 1.5rem;
    margin-top: 0;
    margin-bottom: 20px;
}

/* Ocultar texto extra de WordPress que no necesitamos */
.comment-notes, .form-allowed-tags {
    display: none;
}

