.nfsearch-app{
max-width:1200px;
margin:0 auto;
}

/* search input */

.nf-header input{
width:100%;
padding:14px;
font-size:16px;
margin-bottom:12px;
}

/* filter bar */

.nf-filters{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-bottom:10px;
overflow:visible;
}

/* dropdown fix (tema CSS override) */

.nf-filters select{
padding:8px 10px;
border:1px solid #ccc;
border-radius:6px;

height:auto !important;
line-height:1.4 !important;
font-size:14px;

background:#fff;
min-width:140px;
}

/* result counter */

.nf-count{
font-size:14px;
margin:10px 0 18px;
color:#666;
}

/* grid layout */

.nf-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:14px;
}

@media(min-width:600px){
.nf-grid{
grid-template-columns:repeat(3,1fr);
}
}

@media(min-width:900px){
.nf-grid{
grid-template-columns:repeat(3,1fr);
}
}

@media(min-width:1200px){
.nf-grid{
grid-template-columns:repeat(3,1fr);
}
}

/* card */

.nf-card{
background:#fff;
border-radius:10px;
overflow:hidden;
box-shadow:0 2px 8px rgba(0,0,0,.08);
transition:transform .15s ease, box-shadow .15s ease;
}

.nf-card:hover{
transform:translateY(-3px);
box-shadow:0 6px 16px rgba(0,0,0,.15);
}

/* poster wrapper */

.nf-poster{
position:relative;
}

.nf-poster img{
width:100%;
aspect-ratio:16/9;
object-fit:cover;
display:block;
}
.nf-noimg{
width:100%;
aspect-ratio:16/9;
background:#eee;
display:block;
}
/* card meta */

.nf-meta{
padding:5px;
}

.nf-title{
font-weight:700;
font-size:14px;

display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;

overflow:hidden;
min-height:38px;
}

.nf-info{
font-size:12px;
color:#666;
margin-top:2px;
}
/* Netflix style premiere badge */
.nf-premiere{
position:absolute;

bottom:0px;
left:50%;
transform:translateX(-50%);

background:rgba(0,0,0,.85);

color:#fff;

font-size:10px;
font-weight:600;

padding: 4px 4px;

border-radius:3px;

white-space:nowrap;

line-height:1;

pointer-events:none;

}

/* Netflix style expiry badge */

.nf-expiry{
position:absolute;

bottom:0px;
left:50%;
transform:translateX(-50%);

background:rgba(229,9,20,0.95);
backdrop-filter:blur(2px);

color:#fff;

font-size:10px;
font-weight:600;

padding: 4px 4px;
border-radius:3px;

line-height:1;
white-space:nowrap;

pointer-events:none;
}

/* load more */

.nf-load-container{
text-align:center;
margin:20px 0;
}

.nf-more{
padding:10px 18px;
font-weight:700;
cursor:pointer;
border:none;
border-radius:6px;
background:#111;
color:#fff;
font-size:14px;
}

.nf-more:hover{
background:#e50914;
}
/* modal overlay */

.nf-modal{
display:none;
position:fixed;
z-index:9999;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(0,0,0,.8);
}

/* modal overlay */

.nf-modal{
display:none;

position:fixed;
top:0;
left:0;

width:100vw;
height:100vh;

background:rgba(0,0,0,.85);

z-index:999999999;

align-items:center;
justify-content:center;

padding:20px;
box-sizing:border-box;
}

/* modal box */

.nf-modal-content{

background:#fff;

width:100%;
max-width:900px;

border-radius:12px;

padding:24px;

position:relative;

box-shadow:0 20px 60px rgba(0,0,0,.4);

max-height:90vh;
overflow:auto;

}

/* close button */

.nf-modal-close{
position:absolute;
top:10px;
right:16px;
font-size:26px;
cursor:pointer;
line-height:1;
}

/* layout */

.nf-modal-grid{
display:grid;
grid-template-columns:220px 1fr;
gap:22px;
align-items:start;
}

/* poster */

.nf-modal-poster img{
width:100%;
border-radius:8px;
display:block;
}

/* title */

.nf-modal-meta h2{
margin-top:0;
margin-bottom:8px;
font-size:22px;
}

/* info */

.nf-modal-info{
color:#666;
margin-bottom:12px;
font-size:14px;
}

/* synopsis */

.nf-modal-plot{
margin-top:12px;
line-height:1.6;
}
.nf-netflix-btn{

display:inline-block;

margin-top:14px;

background:#e50914;
color:#fff;

padding:10px 16px;

font-weight:700;
font-size:14px;

border-radius:6px;

text-decoration:none;

}

.nf-netflix-btn:hover{
background:#b20710;
}
/* mobile */

@media (max-width:700px){

.nf-modal-grid{
grid-template-columns:1fr;
}

.nf-modal-poster{
max-width:260px;
}

}