/*
Theme Name: Viento Sur
Theme URI: https://viento-sur.mx
Author: Tu Nombre
Description: Tema minimalista de alto rendimiento, FontAwesome y Google Fonts.
Version: 1.0
Text Domain: viento-sur
*/

:root {
    --font-size: 16px;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    --font-size-4xl: 2.25rem;
    --font-size-5xl: 3rem;
}
        body {
            background: linear-gradient(180deg, #90A7B0 0%, #D1D3D4 100%);
            /*background-attachment: fixed;*/
            overflow-x: hidden;
            position: relative;
            min-height: 100vh;
        }
article {
    h1 {
    font-size: var(--font-size-4xl); 
    line-height: calc(2.5 / 2.25);
    }
    h2 {
    font-size: var(--font-size-3xl); 
    line-height: calc(2.25 / 1.875);
    }
    p {
    padding-bottom: 1rem;
    }
}


        /* Scrollbar Oculto */
        .hide-scroll::-webkit-scrollbar { display: none; }
        .hide-scroll { -ms-overflow-style: none; scrollbar-width: none; }

        /* Reveal Animation */
        .reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        /* Nav Glass */
        .glass-nav {
            /*background: rgba(15, 23, 42, 0.95);*/
            background: #2A4458;
            backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(255,255,255,0.05);
        }

        /* Planos */
        .plan-blueprint {
            background-color: #ffffff;
            background-image: linear-gradient(#f1f5f9 1px, transparent 1px), linear-gradient(90deg, #f1f5f9 1px, transparent 1px);
            background-size: 20px 20px;
            border: 1px solid #e2e8f0;
            transition: all 0.3s ease;
        }
        .plan-blueprint:hover {
            border-color: #2eb9ba;
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
        }

        /* --- SISTEMA DE NUBES ABSOLUTO --- */
        #clouds-layer {
            position: absolute;
            /*top: 0;
            left: 0;*/
            width: 100%;
            height: 100%; 
            pointer-events: none;
            z-index: 20; 
            overflow: hidden;
        }

        .cloud-wrapper {
            position: absolute;
            will-change: transform;
        }
        
        .cloud-inner-img {
            filter: blur(0px); 
            opacity: 0.8;
            display: block;
        }

        /* Contenido encima de nubes */
        section {
            position: relative;
            z-index: 10;
        }
        
        #navbar {
            z-index: 50;
        }

        /* AMENITY ACCORDION STYLES */
        .amenity-content, .accordion-content {
            transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease;
            max-height: 0;
            overflow: hidden;
            opacity: 0;
        }
        .amenity-content.open, .accordion-content.open {
            opacity: 1;
        }
        
        .amenity-icon, .accordion-icon {
            transition: transform 0.3s ease;
        }
        .amenity-item.active .amenity-icon {
            transform: rotate(180deg);
            /*color: #2eb9ba;*/
        }
        .amenity-item.active h3, .amenity-item.active span, .amenity-item.active i {
            color: #000000;
        }
        .amenity-item {
            border-color: #9CA3AF;
        }
        #lasamenidades {
            border-color: #9CA3AF;
        }
        #lasamenidades h3 {
            text-transform: uppercase;
        }
        
        /* Estilos especificos para Ubicación */
        .accordion-btn[aria-expanded="true"] .accordion-icon {
             transform: rotate(45deg);
             color: black;
        }
        .accordion-btn[aria-expanded="true"] h3 {
             color: black;
        }

        /* ESTILOS FICHA MODELO */
        .info-col {
            padding: 0 1.5rem;
            text-align: center;
        }
        .info-col:not(:last-child) {
            border-right: 1px solid #1a1a1a;
        }
        .info-val {
            font-family: 'Playfair Display', serif;
            font-size: 2rem;
            color: #1a1a1a;
            line-height: 1;
        }
        .info-label {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.7rem;
            font-weight: 600;
            color: #1a1a1a;
            margin-top: 0.25rem;
            text-transform: none;
            opacity: 0.8;
        }

        /* Círculos Fachadas */
        /*.facade-circle-ref {
            width: 100px;
            height: 100px;
            border: 1px solid #1a1a1a;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            transition: all 0.3s ease;
            background: transparent;
            cursor: pointer;
            position: relative;
            z-index: 20;
        }*/
        /*.facade-circle-ref {
            width: 100px;
            height: 110px;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            background: transparent; 
            position: relative; 
            z-index: 20;
        }*/
        /*.facade-text {
            font-family: 'Playfair Display', serif;
            font-size: 0.65rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: #1a1a1a;
            line-height: 1.4;
        }*/
        .facade-text {
            font-family: 'Playfair Display', serif; 
            font-size: 0.65rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: #1a1a1a; 
            line-height: 1.4;
            z-index: 21; 
            padding: 0 10px;
            margin-left: -35px;
        }
        /*.facade-circle-ref:hover {
            border-width: 2px;
            transform: scale(1.05);
            background-color: rgba(255,255,255,0.2);
        }*/
        .facade-circle-ref {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        background: transparent;
        position: relative;
        z-index: 20;
        }
        .circulo-parcial {
        width: 80px;
        height: 80px;
        border: 1px solid #1a1a1a; /* El color y grosor del arco */
        border-radius: 50%;
        position: relative;
        clip-path: polygon(
            0% 0%, 
            100% 0%, 
            100% 35%, /* Empieza el corte más arriba */
            70% 50%,  /* Punto de control interno más profundo (70% en vez de 85%) */
            100% 65%,  /* Termina el corte más abajo */
            100% 100%, 
            0% 100%);
        }



        /* Línea conectora vertical */
        .vertical-line-connect {
            width: 1px;
            height: 80px; 
            background-color: #1a1a1a;
            margin: 0 auto 20px auto; 
        }

        /* Botón circular estilo Cumbres Platino */
        .btn-circle-outline {
            width: 150px;
            height: 150px;
            border: 1px solid #1a1a1a;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            transition: all 0.3s ease;
            color: #1a1a1a;
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            line-height: 1.4;
        }
        .btn-circle-outline:hover {
            background-color: #1a1a1a;
            color: #fff;
            transform: scale(1.05);
        }
        .btn-outline {
            background-color: #22FFBB;
            color: #1A1A1A;
            font-size: 12px;
            border-width: 1px;
            border-color: #22FFBB;
            border-radius: 100px;
            padding-top: 0.85rem;
            padding-bottom: 0.85rem;
            padding-left: 2rem;
            padding-right: 2rem;
            font-weight: 500;
        }
        .btn-outline:hover {
            background-color: transparent;
            transform: scale(1.05);
        }
        .c-acre {
            background-color: #D1A154;
            border-color: #D1A154;
        }
/*Ajustes*/
/*.modelo {
    right: 18rem;
    top: -4rem;
}*/
.h-30 {
    height: 7rem;
}
section.entrada .barra {
    margin-top: -60px;
    margin-bottom: -120px;
}
section.entrada {
    margin-bottom: -150px;
    margin-top: -180px;
}
.btn-contact {
    border-color: #22FFBB;
}
.btn-contact:hover {
    background-color: #22FFBB;
}
.bg-vs-charcoal {
    background:#2a44588a;
    
}
.btn-enviar {
    width: fit-content !important;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    padding-left: 2rem;
    padding-right: 2rem;
    border-radius: 9999px;
    background-color: #4C9796;
    border: 1px solid #4C9796;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.btn-enviar:hover {
    background-color: transparent;
    color: #1a1a1a;
}
span.uacf7-value {
    float: left !important;
}
span.uacf7-value::before {
    content: '$';
}
.range-presupuesto input[type=range]{
    height: 4px !important;
    background-color: #30aeacd6 !important;
}
input.wpcf7-form-control {
    width: -webkit-fill-available;
}
input.wpcf7-form-control:focus-visible {
    outline: none; !important;
}
#tour {
    width: auto;
    position: fixed;
    bottom: 16px;
    z-index: 20;
    left: 16px;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    background-color: #4e656e;
    border-radius: 30px;
    color: var(--bricks-color-lznuma);
    transition: all 0.3s ease;
    animation: pulse-animation 2s ease infinite;
    align-items: center;
    border-width: 0;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    letter-spacing: .5px;
    padding: .5em 1em;
    text-align: center;
    color: white;
}
#tour svg {
    width: 30px;
    height: auto;
}
.whatsapp-bg {
    position: fixed;
    bottom: 16px;
    right: 16px;
    z-index: 100; /* Aseguramos que esté arriba de todo */
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #25D366;
    
    /* Imagen en Base64 real (sin caracteres extraños que den error) */
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xNy40NzIgMTQuMzgyYy0uMjk3LS4xNDktMS43NTgtLjg2Ny0yLjAzLS45NjctLjI3My0uMDk5LS40NzEtLjE0OC0uNjcuMTUtLjE5Ny4yOTctLjc2Ny45NjYtLjk0IDEuMTY0LS4xNzMuMTk5LS4zNDcuMjIzLS42NDQuMDc1LS4yOTctLjE1LTEuMjU1LS40NjMtMi4zOS0xLjQ3NS0uODgzLS43ODgtMS40OC0xLjc2MS0xLjY1My0yLjA1OS0uMTczLS4yOTctLjAxOC0uNDU4LjEzLS42MDYuMTM0LS4xMzMuMjk4LS4zNDcuNDQ2LS41Mi4xNDktLjE3NC4xOTgtLjI5OC4yOTgtLjQ5Ny4wOTktLjE5OC4wNS0uMzcxLS4wMjUtLjUyLS4wNzUtLjE0OS0uNjY5LTEuNjEyLS45MTYtMi4yMDctLjI0Mi0uNTc5LS40ODctLjUtLjY2OS0uNTEtLjE3My0uMDA4LS4zNzEtLjAxLS41Ny0uMDEtLjE5OCAwLS41Mi4wNzQtLjc5Mi4zNzItLjI3Mi4yOTctMS4wNCAxLjAxNi0xLjA0IDIuNDc5IDAgMS40NjIgMS4wNjUgMi44NzUgMS4yMTMgMy4wNzQuMTQ5LjE5OCAyLjA5NiAzLjIgNS4wNzcgNC40ODcuNzA5LjMwNiAxLjI2Mi40ODkgMS42OTQuNjI1LjcxMi4yMjcgMS4zNi4xOTUgMS44NzEuMTE4LjU3MS0uMDg1IDEuNzU4LS43MTkgMi4wMDYtMS40MTMuMjQ4LS42OTQuMjQ4LTEuMjg5LjE3My0xLjQxMy0uMDc0LS4xMjQtLjI3Mi0uMTk4LS41Ny0uMzQ3bS01LjQyMSA3LjQwM2gtLjAwNGE5Ljg3IDkuODcgMCAwMS01LjAzMS0xLjM3OGwtLjM2MS0uMjE0LTMuNzQxLjk4Mi45OTgtMy42NDgtLjIzNS0uMzc0YTkuODYgOS44NiAwIDAxLTEuNTEtNS4yNmMuMDAxLTUuNDUgNC40MzYtOS44ODQgOS44ODgtOS44ODQgMi42NCAwIDUuMTIyIDEuMDMgNi45ODggMi44OThhOS44MjUgOS44MjUgMCAwMTIuODkzIDYuOTk0Yy0uMDAzIDUuNDUtNC40MzcgOS44ODQtOS44ODUgOS44ODRtOC40MTMtMTguMjk3QTExLjgxNSAxMS44MTUgMCAwMDEyLjA1IDBDNS40OTUgMCAuMTYgNS4zMzUuMTU3IDExLjg5MmMwIDIuMDk2LjU0NyA0LjE0MiAxLjU4OCA1Ljk0NUwwIDI0bDYuMzM1LTEuNjYyYzEuODAxLjk4MyAzLjgzNCAxLjUwNCA1LjkwMyAxLjUwNWguMDA1YzYuNTU0IDAgMTEuODktNS4zMzUgMTEuODkzLTExLjg5M2ExMS44MjEgMTEuODIxIDAgMDAtMy40OC04LjQxM1oiLz48L3N2Zz4=");
    
    background-repeat: no-repeat;
    background-position: center;
    background-size: 34px; /* Tamaño fijo del logo para que no se deforme */
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    cursor: pointer;
    display: block; /* OBLIGATORIO: Si es un <a> o <span> necesita esto */
}

.whatsapp-bg:hover {
    transform: scale(1.1);
}
/*#whatsapp {
    display: block;
    position: relative;
    text-decoration: none;
    width: 60px;
    height: 60px;
    right 16px;
    border-radius: 50%;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    -webkit-transform: scale(1);
    transform: scale(1);
    box-shadow: 0 6px 8px 2px rgba(0, 0, 0, .15);
    background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEyLjAzNyAxLjk3OGMtNS41MDkgMC05Ljk5MyA0LjQ4NC05Ljk5MyA5Ljk5MyAwIDIuMzU3LjgwMyA0LjUyOCAyLjE3MSA2LjI2OWwtMS4yMDYgNC40MjQgNC41NDItMS4xOTNjMS42NzcgMS4xNTggMy42NjEgMS44MzcgNS43ODUgMS44MzcgNS41MDkgMCA5Ljk5My00LjQ4NCA5Ljk5My05Ljk5MyAwLTUuNTA5LTQuNDg0LTkuOTkzLTkuOTkzLTkuOTkzem01LjE2IDEyLjM5MWMtLjI0OC42NzUtMS40NjIgMS4yNjgtMi4xMzUgMS4zODItLjUzNS4wODktMS4yMDguMTcxLTMuODA1LS45MTYtMy4yNDItMS4zMDItNS4zMjctNC4xMDctNS40ODItNC4zMTctLjE1NC0uMjEtMS4yODEtMS43MDgtMS4yODEtMy4yNzEgMC0xLjU2NC44MDMtMi4zMTkgMS4wODUtMi42MjIuMjcxLS4yOTEuNTk4LS4zNjYuODA0LS4zNjYuMTM0IDAgLjI2MS4wMDkuMzQ5LjAxNy4xOTQuMDEuNDI5LS4wNDQuNjUyLjQ4Ni4yNDEuNTYzLjgxOSAxLjk5MS44ODkgMi4xMzcuMDcuMTQ3LjExNy4zMTcuMDI4LjUwMS0uMDkuMTgzLS4xNDMuMjg5LS4yODYuNDU5LS4xNDQuMTY5LS4zMDQuMzQxLS40MzcuNDc4LS4xNDMuMTUuMjkzLjYwMS40NDQuODU4LjE1My4yNTguNjYxLjczMiAxLjE4IDEuMTgzLjY4MS41OTIgMS4yOTcuOTM4IDEuODkzIDEuMjYxLjI0Ny4xMzQuNDE3LjE2Ni41NzEuMTQwLjE2NC0uMDI3LjYyNy0uMjc5Ljc0My0uNTEuMTE1LS4yMy4yMjYtLjIxNy4zOC0uMTU1LjE1My4wNjEuOTcwLjQ2IDIuMTQxIDEuMDE2LjE3MS4wODEuMzY3LjM0NC40MjIuNDU0LjA1NS4xMDkuMDk2LjMxMi0uMDUyLjk4NnoiLz48L3N2Zz4=') center / 44px 44px no-repeat #25D366;

}*/
#contacto .shadow {
    box-shadow: 0 5px 50px -12px rgb(0 0 0 / 80%);
}
#amenidades .n-05 {
    top: -894px;
}
.entrada {
    overflow: hidden;
    clip-path: polygon(0% 0%, 100% 0%, 100% 80%, 0% 93%);
}
/*.nivel .circulo-parcial {
    width: 100px;
    height: 100px;
}*/
/*.nivel .facade-text {
    margin-left: -70px;
}*/
.f-icon {
    width: 30px;
    height: 30px;
    background-position: center;
    -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        mask-size: contain;
}
/*.c268 .p-image::before {
    background: url(http://localhost:8888/vientosur.com/wp-content/themes/viento%20sur/img/clouds-7.png);
}*/
.amenity-content p.text-gray-600.font-light.max-w-2xl {
    display: none;
}
@media (max-width: 768px) {
    .c213 .modelo .facade-text {
        margin-left: -75px;
    }
}
p.lugar {
    background: #ebb859;
    background: linear-gradient(90deg, rgba(235, 184, 89, 1) 0%, rgba(197, 160, 89, 1) 63%, rgba(163, 128, 62, 1) 100%);
    padding: 4px 10px;
}
#hero a {
    border-color: #EBB859;
}