
/* Netflix-safe visual patch
   Add this stylesheet AFTER your current public CSS.
   It is intentionally non-destructive and does not change PHP flow.
*/

:root{
  --nf-bg:#141414;
  --nf-bg-2:#181818;
  --nf-card:#1f1f1f;
  --nf-card-2:#232323;
  --nf-text:#ffffff;
  --nf-muted:#b3b3b3;
  --nf-red:#e50914;
  --nf-border:rgba(255,255,255,.08);
  --nf-shadow:0 12px 28px rgba(0,0,0,.35);
}

html,body{
  background:var(--nf-bg) !important;
  color:var(--nf-text) !important;
}

body{
  font-family:Arial, Helvetica, sans-serif !important;
}

/* generic containers */
.container,
.container-fluid,
main,
section,
.content,
.page-content{
  color:var(--nf-text);
}

/* header / navbar */
header,
.navbar,
.site-header,
.main-header{
  background:linear-gradient(to bottom, rgba(0,0,0,.92), rgba(0,0,0,.72), rgba(0,0,0,.35)) !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
}

.navbar a,
.site-header a,
.main-header a,
header a{
  color:#fff !important;
}

.navbar a:hover,
.site-header a:hover,
.main-header a:hover,
header a:hover{
  color:#e5e5e5 !important;
}

/* buttons */
.btn-primary,
button.btn-primary,
input[type=submit].btn-primary{
  background:var(--nf-red) !important;
  border-color:var(--nf-red) !important;
  color:#fff !important;
}

.btn-primary:hover,
button.btn-primary:hover,
input[type=submit].btn-primary:hover{
  filter:brightness(1.06);
}

.btn-secondary,
button.btn-secondary{
  background:rgba(109,109,110,.7) !important;
  border-color:transparent !important;
  color:#fff !important;
}

/* cards */
.card,
.movie-card,
.series-card,
.catalog-card,
.content-card,
.item-card{
  background:var(--nf-card) !important;
  border:1px solid var(--nf-border) !important;
  border-radius:12px !important;
  overflow:hidden !important;
  box-shadow:var(--nf-shadow) !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}

.card:hover,
.movie-card:hover,
.series-card:hover,
.catalog-card:hover,
.content-card:hover,
.item-card:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 16px 34px rgba(0,0,0,.45) !important;
}

/* card media */
.card img,
.movie-card img,
.series-card img,
.catalog-card img,
.content-card img,
.item-card img{
  width:100%;
  display:block;
  object-fit:cover;
}

/* grids */
.row.cards,
.catalog-grid,
.movie-grid,
.series-grid,
.content-grid{
  row-gap:18px;
}

/* forms */
input,
select,
textarea{
  background:#111 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:8px !important;
}

input::placeholder,
textarea::placeholder{
  color:#9a9a9a !important;
}

/* search */
.search-box,
.search-form input[type=text],
.search-form input[type=search]{
  background:#111 !important;
  color:#fff !important;
}

/* hero/banner sections if present */
.hero,
.hero-banner,
.banner,
.featured-banner,
.featured-hero{
  position:relative;
  background-color:#000 !important;
  background-size:cover !important;
  background-position:center center !important;
  min-height:60vh;
  color:#fff !important;
}

.hero::before,
.hero-banner::before,
.banner::before,
.featured-banner::before,
.featured-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top, rgba(20,20,20,1) 0%, rgba(20,20,20,.65) 35%, rgba(20,20,20,.18) 100%),
    linear-gradient(to right, rgba(0,0,0,.88) 0%, rgba(0,0,0,.45) 50%, rgba(0,0,0,.10) 100%);
  pointer-events:none;
}

.hero > *,
.hero-banner > *,
.banner > *,
.featured-banner > *,
.featured-hero > *{
  position:relative;
  z-index:1;
}

/* detail pages */
.detail-page,
.movie-detail,
.series-detail,
.player-page{
  background:var(--nf-bg) !important;
  color:#fff !important;
}

.detail-page .panel,
.movie-detail .panel,
.series-detail .panel,
.player-page .panel,
.panel,
.box,
.widget{
  background:var(--nf-bg-2) !important;
  color:#fff !important;
  border:1px solid var(--nf-border) !important;
  border-radius:14px !important;
  box-shadow:var(--nf-shadow) !important;
}

/* tables */
table{
  color:#fff !important;
}
table th, table td{
  border-color:rgba(255,255,255,.08) !important;
}

/* footer */
footer,
.site-footer{
  background:#0b0b0b !important;
  color:#bdbdbd !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
}

/* utility classes you can add manually where useful */
.nf-shell{background:var(--nf-bg);min-height:100vh}
.nf-container{max-width:1400px;margin:0 auto;padding:0 4vw}
.nf-title{font-size:clamp(2rem,5vw,4.4rem);line-height:1.05;font-weight:800}
.nf-subtitle{color:#d2d2d2;font-size:1.05rem;line-height:1.7}
.nf-row-title{font-size:1.55rem;font-weight:700;margin:0 0 14px}
.nf-chip{display:inline-block;background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:4px 10px;font-size:.78rem}

/* responsive */
@media (max-width: 900px){
  .hero,
  .hero-banner,
  .banner,
  .featured-banner,
  .featured-hero{
    min-height:46vh;
  }
}
