.cfi-wrap{
max-width:1200px;
margin:auto;
padding:20px;
}

/* CALENDAR */
#cfi-calendar{
background:#fff;
border-radius:16px;
padding:10px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

/* SLIDER */
.cfi-slider-section{
margin-top:40px;
}

.cfi-slider-title{
font-size:18px;
font-weight:600;
margin-bottom:10px;
}

#cfi-slider{
display:flex;
gap:15px;
overflow-x:auto;
scroll-snap-type:x mandatory;
padding-bottom:10px;
}

#cfi-slider::-webkit-scrollbar{
display:none;
}

/* CARD */
.cfi-card{
min-width:180px;
height:240px;
border-radius:14px;
overflow:hidden;
cursor:pointer;
position:relative;
transition:0.3s;
scroll-snap-align:start;
}

.cfi-card:hover{
transform:scale(1.07);
}

.cfi-card-img{
width:100%;
height:100%;
background-size:cover;
background-position:center;
transition:0.3s;
}

.cfi-card:hover .cfi-card-img{
filter:brightness(0.6);
}

.cfi-card-title{
position:absolute;
bottom:0;
width:100%;
padding:10px;
color:#fff;
font-size:13px;
background:linear-gradient(to top, rgba(0,0,0,0.85), transparent);
}

/* POPUP */
#cfi-popup{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.85);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
}

#cfi-popup.active{
display:flex;
}

#cfi-popup-inner{
width:90%;
max-width:950px;
max-height:90vh;
background:#111;
border-radius:16px;
overflow:hidden;
position:relative;
}

/* FULL IMAGE FIT (IMPORTANT FIX) */
.cfi-popup-img{
width:100%;
height:auto;
max-height:70vh;
object-fit:contain;
background:#000;
display:block;
}

/* INFO */
.cfi-popup-info{
padding:20px;
color:#fff;
}

/* BUTTON */
.cfi-btn{
display:inline-block;
margin-top:10px;
padding:10px 16px;
background:#ff2d55;
color:#fff;
border-radius:8px;
text-decoration:none;
}

/* CLOSE */
#cfi-close{
position:absolute;
top:10px;
right:10px;
background:#000;
color:#fff;
border:none;
font-size:20px;
width:38px;
height:38px;
border-radius:50%;
cursor:pointer;
}