/* Ali Figma Single Roof Card Final - responsive overflow safe */
.ali-frc-wrap,
.ali-frc-wrap *{
    box-sizing:border-box;
}

.ali-frc-wrap{
    width:100%;
    max-width:100%;
    min-width:0;
    line-height:normal;
    display:block;
    overflow:visible;
}

.ali-frc-card{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-end;
    width:100%;
    max-width:396px;
    height:490px;
    padding:0 12px 12px;
    overflow:hidden;
    isolation:isolate;
    background:#ddd;
    min-width:0;
}

.ali-frc-bg{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
}

.ali-frc-img{
    --ali-frc-img-x:0px;
    --ali-frc-img-y:0px;
    --ali-frc-img-scale:1;
    position:absolute;
    left:calc(50% + var(--ali-frc-img-x));
    top:calc(50% + var(--ali-frc-img-y));
    width:100%;
    height:100%;
    max-width:none !important;
    max-height:none !important;
    min-width:0 !important;
    min-height:0 !important;
    display:block;
    object-fit:cover;
    object-position:center center;
    transform:translate(-50%, -50%) scale(var(--ali-frc-img-scale));
    transition:transform .55s cubic-bezier(.22,.61,.36,1), width .3s ease, height .3s ease, object-position .3s ease;
    will-change:transform;
    pointer-events:none;
    user-select:none;
}

.ali-frc-overlay{
    --ali-frc-overlay-color:#111042;
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:460px;
    max-height:100%;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(0deg, var(--ali-frc-overlay-color) 4.84%, rgba(17,16,66,0) 44.72%);
}

.ali-frc-content{
    --ali-frc-collapsed-height:64px;
    --ali-frc-expanded-height:204px;
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:stretch;
    width:100%;
    max-width:372px;
    min-height:var(--ali-frc-collapsed-height);
    max-height:var(--ali-frc-collapsed-height);
    padding:16px;
    gap:0;
    overflow:hidden;
    background:#F8F5F0;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    transition:max-height .45s cubic-bezier(.22,.61,.36,1), min-height .45s cubic-bezier(.22,.61,.36,1), gap .3s ease, transform .45s cubic-bezier(.22,.61,.36,1);
}

.ali-frc-title{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    margin:0 !important;
    padding:0 !important;
    width:100%;
    color:#01040A;
    font-family:'Playfair Display', Georgia, serif;
    font-style:normal;
    font-weight:700;
    font-size:24px;
    line-height:32px;
    letter-spacing:-.16px;
    text-align:inherit;
    transform:none !important;
}

.ali-frc-desc{
    display:block;
    margin:0 !important;
    padding:0 !important;
    width:100%;
    color:#6B6564;
    font-family:'DM Sans', Arial, sans-serif;
    font-weight:400;
    font-size:18px;
    line-height:140%;
    opacity:0;
    transform:translateY(8px);
    max-height:0;
    overflow:hidden;
    transition:opacity .3s ease .08s, transform .3s ease .08s, max-height .45s ease;
}

.ali-frc-button{
    display:flex;
    width:100%;
    opacity:0;
    transform:translateY(8px);
    max-height:0;
    overflow:hidden;
    transition:opacity .3s ease .13s, transform .3s ease .13s, max-height .45s ease;
}

.ali-frc-button a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#C62828;
    font-family:'DM Sans', Arial, sans-serif;
    font-weight:500;
    font-size:16px;
    line-height:20px;
    text-decoration:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
}

.ali-frc-button a span{
    display:inline-block;
    transition:transform .25s ease;
}

.ali-frc-button a:hover span{
    transform:translateX(4px);
}

.ali-frc-card:hover .ali-frc-content,
.ali-frc-card:focus-within .ali-frc-content{
    justify-content:center;
    min-height:var(--ali-frc-expanded-height);
    max-height:var(--ali-frc-expanded-height);
    gap:12px;
}

.ali-frc-card:hover .ali-frc-desc,
.ali-frc-card:focus-within .ali-frc-desc,
.ali-frc-card:hover .ali-frc-button,
.ali-frc-card:focus-within .ali-frc-button{
    opacity:1;
    transform:translateY(0);
    max-height:220px;
}

@media (max-width:767px){
    .ali-frc-card{
        max-width:100%;
        margin-left:auto;
        margin-right:auto;
    }
    .ali-frc-content{
        max-width:100%;
    }
}

/* Carousel mode */
.ali-frc-carousel-wrap{
    width:100%;
    max-width:100%;
}

.ali-frc-carousel{
    --ali-frc-slides:3;
    --ali-frc-scroll:1;
    --ali-frc-gap:24px;
    position:relative;
    width:100%;
    max-width:100%;
    min-width:0;
}

.ali-frc-carousel-viewport{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    touch-action:pan-y;
}

.ali-frc-carousel-track{
    display:flex;
    align-items:stretch;
    gap:var(--ali-frc-gap);
    will-change:transform;
    transition-property:transform;
    transition-timing-function:cubic-bezier(.22,.61,.36,1);
    user-select:none;
}

.ali-frc-carousel-track.is-dragging{
    cursor:grabbing;
}

.ali-frc-carousel-slide{
    flex:0 0 auto;
    min-width:0;
    display:flex;
    justify-content:center;
    align-items:stretch;
}

.ali-frc-carousel-slide .ali-frc-card{
    width:100%;
    margin-left:0;
    margin-right:0;
}

.ali-frc-carousel-arrow{
    position:absolute;
    top:50%;
    z-index:5;
    width:44px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    padding:0 !important;
    margin:0 !important;
    border:0;
    border-radius:999px;
    background:#F8F5F0;
    color:#01040A;
    font-size:32px;
    line-height:1;
    cursor:pointer;
    transition:opacity .25s ease, transform .25s ease, box-shadow .25s ease;
    box-shadow:0 10px 24px rgba(0,0,0,.14);
}

.ali-frc-carousel-arrow:hover{
    transform:translateY(-50%) scale(1.04);
}

.ali-frc-carousel-arrow:disabled{
    opacity:.35;
    cursor:not-allowed;
    pointer-events:none;
}

.ali-frc-carousel-prev{
    left:10px;
}

.ali-frc-carousel-next{
    right:10px;
}

.ali-frc-carousel-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:18px;
    width:100%;
}

.ali-frc-carousel-dot{
    width:10px;
    height:10px;
    min-width:0 !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:999px;
    background:#D4CEC7;
    cursor:pointer;
    opacity:1;
    transition:background .25s ease, transform .25s ease, width .25s ease;
}

.ali-frc-carousel-dot.is-active{
    background:#C62828;
    transform:scale(1.22);
}

@media (max-width:767px){
    .ali-frc-carousel-arrow{
        width:38px;
        height:38px;
        font-size:28px;
    }

    .ali-frc-carousel-prev{
        left:6px;
    }

    .ali-frc-carousel-next{
        right:6px;
    }
}
