/* Mansa Homepage V3
   Loaded only on the public homepage.
*/

.lux-home-slider{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    background:#091015 !important;
    background-image:none !important;
}

.home-slider-images{
    position:absolute;
    inset:0;
    z-index:-3;
    overflow:hidden;
}

.home-slide{
    position:absolute;
    inset:-3%;
    opacity:0;
    background-size:cover;
    background-position:center center;
    transform:scale(1);
    transition:
        opacity 1.45s ease-in-out,
        transform 7.5s cubic-bezier(.18,.72,.22,1);
    will-change:opacity,transform;
}

.home-slide.active{
    opacity:1;
    transform:scale(1.095);
}

.home-slider-shade{
    position:absolute;
    inset:0;
    z-index:-2;
    pointer-events:none;
    background:
        linear-gradient(
            90deg,
            rgba(5,13,19,.82) 0%,
            rgba(5,13,19,.58) 42%,
            rgba(5,13,19,.20) 72%,
            rgba(5,13,19,.06) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.02),
            rgba(0,0,0,.18)
        );
}

.lux-home-slider .lux-hero-inner{
    position:relative;
    z-index:2;
}

.home-slider-controls{
    position:absolute;
    right:0;
    bottom:20px;
    display:flex;
    align-items:center;
    gap:8px;
    z-index:5;
}

.home-slider-dot{
    width:20px;
    height:4px;
    padding:0;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.42);
    cursor:pointer;
    transition:.25s ease;
}

.home-slider-dot.active{
    width:44px;
    background:var(--gold2);
}

.home-slider-dot:hover{
    background:#fff;
}

/* Premium homepage experiences */
.home-exp-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
}

.home-exp-card{
    background:#fbf8f2;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    display:flex;
    flex-direction:column;
    min-width:0;
    transition:transform .24s ease,box-shadow .24s ease;
}

.home-exp-card:hover{
    position:relative;
    z-index:2;
    transform:translateY(-5px);
    box-shadow:0 20px 36px rgba(28,23,18,.10);
}

.home-exp-image{
    position:relative;
    height:205px;
    overflow:hidden;
    display:block;
    background:#e8e0d5;
}

.home-exp-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .55s ease;
}

.home-exp-card:hover .home-exp-image img{
    transform:scale(1.055);
}

.home-exp-number{
    position:absolute;
    left:14px;
    top:14px;
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(17,19,21,.83);
    color:#fff;
    font-family:var(--serif);
    font-size:13px;
    border:1px solid rgba(255,255,255,.22);
    backdrop-filter:blur(4px);
}

.home-exp-body{
    padding:18px 18px 20px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.home-exp-title{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    text-decoration:none;
    color:var(--ink);
}

.home-exp-title h3{
    margin:0;
    font-family:var(--serif);
    font-size:25px;
    line-height:1;
}

.home-exp-title>span{
    color:var(--gold);
    font-size:24px;
    line-height:1;
    transition:transform .2s ease;
}

.home-exp-title:hover>span{
    transform:translateX(4px);
}

.home-exp-description{
    color:#635f59;
    font-family:var(--serif);
    font-size:14px;
    line-height:1.45;
    margin:13px 0 15px;
    min-height:60px;
}

.home-exp-meta{
    display:flex;
    align-items:center;
    gap:8px;
    font-family:var(--serif);
    color:#4f4a44;
    font-size:14px;
}

.home-exp-icon{
    color:var(--gold);
    font-family:var(--sans);
}

.home-exp-price{
    border-top:1px solid #e4d9cb;
    margin-top:15px;
    padding-top:14px;
}

.home-price-label{
    display:block;
    margin-bottom:3px;
    color:#988a7a;
    font-size:9px;
    font-weight:800;
    letter-spacing:.22em;
}

.home-price-value{
    display:flex;
    align-items:baseline;
    gap:6px;
}

.home-price-value strong{
    font-family:var(--serif);
    font-size:30px;
    line-height:1;
    color:#17130f;
}

.home-price-value span{
    color:var(--gold);
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
}

.home-exp-wa{
    margin-top:16px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:9px;
    padding:12px 10px;
    background:#111315;
    color:#fff;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
    letter-spacing:.03em;
    transition:.2s ease;
}

.home-exp-wa img{
    width:18px;
    height:18px;
    filter:brightness(0) invert(1);
}

.home-exp-wa:hover{
    background:var(--gold);
    color:#111;
}

.home-exp-wa:hover img{
    filter:none;
}

.home-exp-more{
    margin-top:22px;
    display:flex;
    justify-content:center;
}

/* Contact direction visibility */
.contact-direction,
.contact-direction:visited,
.contact-direction:active{
    display:inline-flex !important;
    margin-top:5px;
    color:#f2a63a !important;
    font-size:12px;
    font-weight:800;
    text-decoration:none !important;
}

.contact-direction:hover{
    color:#ffc66a !important;
}

/* Keep floating WhatsApp clickable over all homepage sections */
.lux-floating-wa{
    position:fixed !important;
    z-index:99999 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
}

.lux-floating-wa img,
.lux-floating-wa .wa-pulse,
.lux-floating-wa::after{
    pointer-events:none !important;
}

@media(max-width:1100px){
    .home-exp-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:800px){
    .home-slide{
        background-position:62% center;
    }

    .home-exp-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home-slider-controls{
        right:0;
        bottom:18px;
    }
}

@media(max-width:560px){
    .home-slide{
        background-position:66% center;
    }

    .home-slider-controls{
        left:0;
        right:auto;
        bottom:16px;
    }

    .home-slider-dot{
        width:16px;
    }

    .home-slider-dot.active{
        width:32px;
    }

    .home-exp-grid{
        grid-template-columns:1fr;
    }

    .home-exp-image{
        height:240px;
    }

    .home-exp-description{
        min-height:0;
    }
}

@media(prefers-reduced-motion:reduce){
    .home-slide{
        transform:none !important;
        transition:opacity .45s ease-in-out;
    }
}
