@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;700;800&display=swap');

:root{
  --bg:#05050a;
  --text:#fff;
  --muted:rgba(255,255,255,.72);
  --stroke:rgba(255,255,255,.10);
  --shadow:0 24px 90px rgba(0,0,0,.66);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size:16px;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
.container{width:min(1380px,92vw);margin:0 auto}
.page{min-height:100vh;padding-bottom:44px}

/* TOPBAR */
.topbar{
  position:sticky;top:0;z-index:60;
  backdrop-filter: blur(16px);
  background: linear-gradient(to bottom, rgba(5,5,10,.92), rgba(5,5,10,.55));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar-inner{display:flex;align-items:center;gap:12px;padding:12px 0;flex-wrap:wrap}
.brand img{height:32px;width:auto;filter:drop-shadow(0 0 18px rgba(229,9,20,.18))}
.grow{flex:1;min-width:8px}

.nav{display:flex;gap:10px;align-items:center}
.nav a{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:800;font-size:14px;color:var(--muted);
  padding:10px 14px;border-radius:999px;
}
.nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.nav a.on{background:rgba(255,255,255,.06);color:#fff}
.nav svg{width:18px;height:18px;fill:currentColor;display:block;opacity:.92}

.search{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  padding:10px 12px;
  min-width:min(560px,44vw);
}
.search input{
  width:100%;
  background:transparent;border:0;outline:0;
  color:#fff;font-size:14px;font-weight:800;
}

.mnav{
  display:none;
  width:44px;height:44px;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  padding:0;line-height:0;cursor:pointer;
  align-items:center;justify-content:center;
}
.mnav svg{width:22px;height:22px;fill:currentColor;display:block}

.mnav-panel{display:none;border-top:1px solid rgba(255,255,255,.08);background:rgba(5,5,10,.95)}
.mnav-panel.on{display:block}
.mnav-inner{padding:12px 0;display:grid;gap:8px}
.mnav-inner a{padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);font-weight:800}

/* HERO */
.hero{position:relative;height:min(74vh,700px);overflow:hidden}
.hero-bg{position:absolute;inset:-50px;background-size:cover;background-position:center;filter:saturate(1.08) contrast(1.06);transform:scale(1.06)}
.hero-vignette{
  position:absolute;inset:0;
  background:
    radial-gradient(900px 520px at 18% 30%, rgba(255,255,255,.08), transparent 62%),
    linear-gradient(to top, rgba(5,5,10,.97), rgba(5,5,10,.30) 55%, rgba(5,5,10,.86));
}
.hero-inner{position:relative;z-index:2;padding:76px 0 44px}
.hero-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-weight:900;font-size:12px}
.hero-title{margin:14px 0 10px 0;font-size:clamp(34px,5.3vw,72px);letter-spacing:.2px;text-shadow:0 0 24px rgba(0,0,0,.75)}
.hero-desc{max-width:860px;color:rgba(255,255,255,.82);font-weight:700;line-height:1.6;margin:10px 0 18px 0}
.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.24);font-weight:900;font-size:12px;color:#fff}
.badge.subtle{opacity:.88}
.badge.live{border-color:rgba(229,9,20,.35);background:rgba(229,9,20,.12)}
.badge.vod{border-color:rgba(55,245,255,.28);background:rgba(55,245,255,.10)}
.dot{width:8px;height:8px;border-radius:50%;background:rgb(229,9,20);box-shadow:0 0 14px rgba(229,9,20,.8)}
.dot.vod{background:rgb(55,245,255);box-shadow:0 0 16px rgba(55,245,255,.75)}
.badge.sm{padding:6px 10px;font-size:11px}
.dot.sm{width:7px;height:7px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-weight:900;cursor:pointer;white-space:nowrap;line-height:1;max-width:100%}
.btn svg{width:22px;height:22px;fill:currentColor;display:block}
.btn-primary{background:linear-gradient(135deg, rgba(229,9,20,.97), rgba(181,107,255,.64));border-color:rgba(229,9,20,.28);box-shadow:0 0 26px rgba(229,9,20,.20), 0 0 62px rgba(181,107,255,.22)}
.btn-primary svg{width:26px;height:26px}
.btn-ghost{background:rgba(0,0,0,.24)}

/* TITLES */
.row-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:22px 0 12px}
.row-title h2{margin:0;font-size:18px;letter-spacing:.2px}
.hint{color:var(--muted);font-weight:800;font-size:13px}

/* ACCENTS per lane */
.lane{--accent-rgb:255,255,255;}
.acc-tv{--accent-rgb:55,245,255;}
.acc-news{--accent-rgb:74,163,255;}
.acc-sport{--accent-rgb:54,255,138;}
.acc-kids{--accent-rgb:255,79,216;}
.acc-music{--accent-rgb:181,107,255;}
.acc-docs{--accent-rgb:255,176,0;}
.acc-adult{--accent-rgb:229,9,20;}
.acc-vod{--accent-rgb:181,107,255;}
.acc-extra{--accent-rgb:120,220,255;}

/* lanes on black + subtle glow */
.lane{position:relative;padding:18px 0 22px;margin-top:-10px}
.lane:first-of-type{margin-top:18px}
.lane::before{
  content:"";
  position:absolute;left:50%;transform:translateX(-50%);
  top:-34px;bottom:-34px;width:100vw;
  z-index:0;opacity:.18;pointer-events:none;
  background:
    radial-gradient(820px 220px at 18% 18%, rgba(var(--accent-rgb), .55), transparent 68%),
    radial-gradient(820px 220px at 82% 28%, rgba(var(--accent-rgb), .38), transparent 70%);
  filter: blur(18px);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
}
.lane-inner{position:relative;z-index:1}
.lane-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}
.lane-head h3{
  margin:0;
  font-size:18px;
  letter-spacing:.15px;
  color: rgba(var(--accent-rgb), .95);
  text-shadow: 0 0 18px rgba(var(--accent-rgb), .18);
}

/* carousel */
.row-shell{position:relative}
.row-track{
  display:flex;gap:14px;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  padding-bottom:12px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.row-track::-webkit-scrollbar{display:none}

/* arrows (JS adds .no-overflow) */
.row-shell.no-overflow .row-nav{display:none}
.row-nav{position:absolute;top:0;bottom:12px;width:58px;border:0;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;background:linear-gradient(to right, rgba(5,5,10,.70), rgba(5,5,10,0))}
.row-nav.next{right:-2px;transform:scaleX(-1)}
.row-nav.prev{left:-2px}
.row-nav span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:18px;background:rgba(255,255,255,.92);color:rgba(5,5,10,.95);border:1px solid rgba(255,255,255,.65);box-shadow:0 12px 40px rgba(0,0,0,.55)}
.row-nav svg{width:20px;height:20px;fill:currentColor;display:block}

/* cards w neon border per lane */
.card{
  position:relative;
  flex:0 0 auto;
  width:clamp(240px, 30vw, 420px);
  aspect-ratio:16/9;
  border-radius:0;
  overflow:hidden;
  scroll-snap-align:start;
  border:1px solid rgba(var(--accent-rgb), .22);
  background:rgba(255,255,255,.03);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03),
    0 0 24px rgba(var(--accent-rgb), .10);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.card-img{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.06);transform:scale(1.03)}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(5,5,10,.98), transparent 62%);opacity:.94}
.card-info{position:absolute;left:14px;right:14px;bottom:12px;z-index:3}
.card-top{display:flex;align-items:center;gap:10px}
.card-title{font-weight:900;font-size:15px;letter-spacing:.12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 0 18px rgba(0,0,0,.55)}
.card:hover{
  transform:translateY(-4px) scale(1.02);
  border-color:rgba(var(--accent-rgb), .55);
  box-shadow:
    var(--shadow),
    0 0 34px rgba(var(--accent-rgb), .18),
    0 0 90px rgba(var(--accent-rgb), .10);
}

/* PLAY overlay always visible (stronger on hover) */
.card-play{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  z-index:2;
  opacity:.55;
  transition: opacity .16s ease, transform .16s ease;
  pointer-events:none;
}
.card:hover .card-play{opacity:1}
.card-play-btn{
  width:74px;height:74px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.40);
  border:1px solid rgba(var(--accent-rgb), .70);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 0 28px rgba(var(--accent-rgb), .22),
    0 0 86px rgba(var(--accent-rgb), .14);
  backdrop-filter: blur(10px);
  transform: translateY(2px);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.card-play-btn svg{
  width:28px;height:28px;
  fill: rgba(var(--accent-rgb), .96);
  filter: drop-shadow(0 0 14px rgba(var(--accent-rgb), .28));
  transform: translateX(1px);
}
.card:hover .card-play-btn{
  transform: translateY(0) scale(1.06);
  border-color: rgba(var(--accent-rgb), .92);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 0 36px rgba(var(--accent-rgb), .32),
    0 0 120px rgba(var(--accent-rgb), .18);
  animation: playPulse 1.6s ease-in-out infinite;
}
@keyframes playPulse{
  0%,100% { box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 0 36px rgba(var(--accent-rgb), .30),
    0 0 120px rgba(var(--accent-rgb), .16); }
  50% { box-shadow:
    0 0 0 1px rgba(255,255,255,.10),
    0 0 44px rgba(var(--accent-rgb), .38),
    0 0 140px rgba(var(--accent-rgb), .22); }
}

/* WATCH */
.player-shell{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.22);box-shadow:var(--shadow)}
.player-responsive{position:relative;width:100%;height:0;padding-top:56.25%;background:#000}
.player-responsive iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* ===== Categories Modal Overlay ===== */
.catdrawer{position:fixed;inset:0;display:none;z-index:1000}
.catdrawer.on{display:block}
.catdrawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.64);backdrop-filter: blur(12px)}
.catdrawer-card{
  position:relative;
  width:min(1040px, 92vw);
  margin:6.5vh auto 0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  box-shadow:var(--shadow);
  max-height:86vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.catdrawer-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 14px 10px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(5,5,10,.55);
  backdrop-filter: blur(10px);
}
.catdrawer-title{font-weight:950;font-size:16px;letter-spacing:.2px}
.catdrawer-close{
  width:44px;height:44px;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;cursor:pointer;
  padding:0;line-height:0;
  display:flex;align-items:center;justify-content:center;
}
.catdrawer-close svg{width:22px;height:22px;fill:currentColor;display:block}

.catdrawer-controls{
  display:flex;gap:10px;align-items:center;
  padding:10px 14px 12px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(5,5,10,.40);
}
.seg{
  display:flex;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  overflow:hidden;
  flex:0 0 auto;
}
.seg button{
  border:0;background:transparent;
  color:rgba(255,255,255,.78);
  font-weight:950;
  padding:10px 14px;
  cursor:pointer;
}
.seg button.on{background:rgba(255,255,255,.10);color:#fff}
.catsearch{
  flex:1;
  display:flex;align-items:center;gap:10px;
  background:#0b0b12;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:10px 12px;
}
.catsearch svg{width:18px;height:18px;fill:rgba(255,255,255,.72);display:block}
.catsearch input{width:100%;background:transparent;border:0;outline:0;color:#fff;font-weight:900}

.catdrawer-body{
  padding:12px 14px 14px 14px;
  overflow:auto;
  flex:1 1 auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.22) rgba(255,255,255,.06);
}
.catdrawer-body::-webkit-scrollbar{width:10px}
.catdrawer-body::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}
.catdrawer-body::-webkit-scrollbar-thumb{
  background:linear-gradient(to bottom, rgba(255,255,255,.22), rgba(255,255,255,.14));
  border-radius:999px;
  border:2px solid rgba(5,5,10,.65);
}

.catpane{display:none}
.catpane.on{display:block}
.catlist{display:grid;gap:10px}
.catparent{border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.22)}
.catparent-btn{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:13px 12px;
  border:0;background:transparent;color:#fff;
  font-weight:950;cursor:pointer;
}
.catparent-btn i{font-style:normal;opacity:.70;transition: transform .14s ease}
.catparent.open .catparent-btn i{transform:rotate(180deg)}
.catsubs{display:none;padding:0 12px 12px 12px}
.catparent.open .catsubs{display:flex;flex-wrap:wrap;gap:8px}
.catsubs a{padding:9px 10px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);font-size:12px;font-weight:950}

/* Floating Categories button (desktop+mobile) */
.fab-cats{
  position:fixed;
  right: calc(12px + env(safe-area-inset-right,0px));
  bottom: calc(12px + env(safe-area-inset-bottom,0px));
  z-index:900;
  display:inline-flex;
  align-items:center;gap:10px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:rgba(5,5,10,.95);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 18px 60px rgba(0,0,0,.55);
  font-weight:950;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform: translateY(10px);
  transition: opacity .14s ease, transform .14s ease;
}
.fab-cats svg{width:18px;height:18px;fill:currentColor;display:block}
.fab-cats.on{opacity:1;pointer-events:auto;transform:none}
.fab-label{display:inline}

/* Mobile */
@media (max-width: 760px){
  .nav{display:none}
  .mnav{display:flex}
  .search{order:10;width:100%;min-width:unset}
  .card{width:min(86vw, 380px)}
  .card-play-btn{width:66px;height:66px}
  .card-play-btn svg{width:26px;height:26px}
  .fab-label{display:none}
  .catdrawer-card{
    width:100vw;height:100vh;max-height:100vh;margin:0;border-radius:0;
  }
  .catdrawer-controls{flex-direction:column;align-items:stretch}
  .seg{width:100%}
  .seg button{flex:1}
}

/* HERO_CAROUSEL_CSS_START */
.hero.hero-carousel-root{position:relative}
.hero-carousel{position:absolute;inset:0}
.hero-slide{
  position:absolute;inset:0;
  opacity:0;
  transition:opacity .65s ease;
  pointer-events:none;
}
.hero-slide.is-active{
  opacity:1;
  pointer-events:auto;
}

.hero-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:20;
  width:56px;height:56px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  color:#fff;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 16px 60px rgba(0,0,0,.55);
}
.hero-nav svg{width:22px;height:22px;fill:currentColor;display:block}
.hero-nav.prev{left:14px}
.hero-nav.next{right:14px;transform:translateY(-50%) scaleX(-1)}
.hero-nav:hover{background:rgba(255,255,255,.08)}

.hero-dots{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:18px;
  z-index:20;
  display:flex;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
}
.hero-dot{
  width:9px;height:9px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.35);
  cursor:pointer;
  padding:0;
}
.hero-dot.on{background:rgba(255,255,255,.92); box-shadow:0 0 18px rgba(255,255,255,.16)}
.hero-dot:focus{outline:2px solid rgba(255,255,255,.35);outline-offset:2px}

@media (max-width: 760px){
  .hero-nav{display:none}
  .hero-dots{bottom:12px}
}
/* HERO_CAROUSEL_CSS_END */









/* HERO_CAROUSEL_MOBILE_V5_START */
/* Mobile HERO: Netflix-like height, no tagli, dots+arrows always visible */
@media (max-width: 760px){
  .hero.hero-carousel-root{
    height: min(74vh, 660px) !important;
    min-height: 440px !important;
    overflow: hidden !important;
  }

  .hero.hero-carousel-root .hero-bg{
    inset: -18px !important;
    transform: scale(1.03) !important;
  }

  .hero.hero-carousel-root .hero-inner{
    padding: 56px 0 120px !important; /* space for dots/arrows */
    position: relative !important;
    z-index: 6 !important;
  }

  .hero.hero-carousel-root .hero-title{
    font-size: clamp(24px, 7.8vw, 48px) !important;
    line-height: 1.06 !important;
    margin: 12px 0 8px 0 !important;
  }

  .hero.hero-carousel-root .hero-desc{
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin: 10px 0 14px 0 !important;
  }

  .hero.hero-carousel-root .hero-actions{
    gap: 10px !important;
  }
  .hero.hero-carousel-root .hero-actions .btn{
    width: 100% !important;
    justify-content: center !important;
  }

  /* arrows: white modern glass, visible */
  .hero.hero-carousel-root .hero-nav{
    display:flex !important;
    top:auto !important;
    bottom: calc(60px + env(safe-area-inset-bottom,0px)) !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    background: rgba(255,255,255,.06) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    z-index: 90 !important;
    pointer-events: auto !important;
  }
  .hero.hero-carousel-root .hero-nav svg{
    width: 22px !important;
    height: 22px !important;
    fill: rgba(255,255,255,.98) !important;
    filter: drop-shadow(0 0 14px rgba(255,255,255,.14)) !important;
  }
  .hero.hero-carousel-root .hero-nav.prev{ left: 12px !important; transform:none !important; }
  .hero.hero-carousel-root .hero-nav.next{ right: 12px !important; transform: scaleX(-1) !important; }

  /* dots: always visible */
  .hero.hero-carousel-root .hero-dots{
    display:flex !important;
    bottom: calc(12px + env(safe-area-inset-bottom,0px)) !important;
    z-index: 90 !important;
    pointer-events: auto !important;
  }
  .hero.hero-carousel-root .hero-dot{
    width: 10px !important;
    height: 10px !important;
  }
}

@media (max-width: 380px){
  .hero.hero-carousel-root{ min-height: 420px !important; }
  .hero.hero-carousel-root .hero-inner{ padding: 54px 0 118px !important; }
  .hero.hero-carousel-root .hero-title{ font-size: clamp(22px, 8.2vw, 40px) !important; }
}
/* HERO_CAROUSEL_MOBILE_V5_END */

/* HERO_CAROUSEL_BUTTONS_MOBILE_START */
@media (max-width: 760px){
  /* keep enough height; don’t crush the banner */
  .hero.hero-carousel-root{
    min-height: 460px !important;
    height: min(76vh, 700px) !important;
  }

  /* push the content lower so buttons sit at the bottom area */
  .hero.hero-carousel-root .hero-inner{
    padding: 58px 0 136px !important;
  }

  /* buttons: bottom, side-by-side */
  .hero.hero-carousel-root .hero-actions{
    display:flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }
  .hero.hero-carousel-root .hero-actions .btn{
    flex: 1 1 0 !important;
    width: auto !important;
    justify-content: center !important;
    padding: 12px 14px !important;
  }
}
/* HERO_CAROUSEL_BUTTONS_MOBILE_END */





/* HERO_ACTIONS_LOWER_MOBILE_START */
@media (max-width: 760px){
  /* If actions are absolute (from prior tuning), move them closer to dots */
  .hero.hero-carousel-root .hero-actions{
    bottom: calc(28px + env(safe-area-inset-bottom,0px)) !important;
    margin-top: 18px !important; /* if not absolute, pushes them lower from title */
  }
}
/* HERO_ACTIONS_LOWER_MOBILE_END */

/* FOOTER2026_CSS_START */
.site-footer{
  margin-top: 44px;
  border-top: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(900px 420px at 80% 0%, rgba(255,255,255,.04), transparent 60%),
    linear-gradient(to bottom, rgba(5,5,10,.92), rgba(5,5,10,1));
}
.footer-inner{
  padding: 34px 0;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 22px;
  align-items:start;
}
.footer-brand{
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.footer-brand .tag{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  letter-spacing:.2px;
}
.footer-brand .muted{
  color: rgba(255,255,255,.68);
  font-weight:700;
  line-height:1.55;
}
.footer-links h4,
.footer-apps h4{
  margin: 0 0 10px 0;
  font-size: 14px;
  font-weight: 950;
  color: rgba(255,255,255,.92);
}
.footer-links a{
  display:block;
  padding: 7px 0;
  color: rgba(255,255,255,.74);
  font-weight:800;
}
.footer-links a:hover{ color:#fff; }

.store-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.store-btn{
  display:flex;
  gap:10px;
  align-items:center;
  padding: 10px 12px;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color:#fff;
  font-weight:900;
}
.store-btn svg{ width:18px;height:18px; fill: rgba(255,255,255,.92); display:block; }
.store-btn small{ display:block; font-weight:800; color: rgba(255,255,255,.70); margin-top:2px; }
.store-btn:hover{ background: rgba(255,255,255,.08); }

.footer-bottom{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
  display:flex;
  gap: 14px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.azoto{
  display:flex;
  align-items:center;
  gap:12px;
  color: rgba(255,255,255,.72);
  font-weight:800;
}
.azoto img{
  height: 26px;
  width:auto;
  filter: drop-shadow(0 0 18px rgba(255,255,255,.10));
  opacity:.95;
}
.copy{
  color: rgba(255,255,255,.60);
  font-weight:800;
  font-size: 12px;
}

@media (max-width: 900px){
  .footer-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px){
  .footer-grid{ grid-template-columns: 1fr; }
  .store-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px){
  .store-grid{ grid-template-columns: 1fr; }
}
/* FOOTER2026_CSS_END */

/* PARTNER_BRAND_CSS_START */
.brand-partner{display:inline-flex;align-items:center;gap:10px;margin-left:10px}
.brand-plus{display:inline-flex;width:18px;height:18px;transform:rotate(-12deg);opacity:.92}
.brand-plus svg{width:18px;height:18px;fill:rgba(255,255,255,.92);display:block}
.brand-azoto img{height:32px;width:auto;opacity:.95;filter:drop-shadow(0 0 18px rgba(255,255,255,.10))}
@media (max-width:760px){.brand-azoto img{height:26px}.brand-plus{width:16px;height:16px}}
/* PARTNER_BRAND_CSS_END */



/* SURPRISE_NEON_CSS_START */
.btn-surprise{
  position: relative;
  border: 1px solid rgba(var(--accent-rgb, 120, 255, 240), .50) !important;
  background: rgba(var(--accent-rgb, 120, 255, 240), .10) !important;
  box-shadow:
    0 0 0 1px rgba(var(--accent-rgb, 120, 255, 240), .22),
    0 0 26px rgba(var(--accent-rgb, 120, 255, 240), .22),
    0 18px 60px rgba(0,0,0,.45);
  font-weight: 950 !important;
}

.btn-surprise::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: inherit;
  pointer-events:none;
  box-shadow: 0 0 34px rgba(var(--accent-rgb, 120, 255, 240), .40);
  opacity:.35;
}

@keyframes surprisePulse{
  0%,100%{
    box-shadow:
      0 0 0 1px rgba(var(--accent-rgb, 120, 255, 240), .22),
      0 0 24px rgba(var(--accent-rgb, 120, 255, 240), .20),
      0 18px 60px rgba(0,0,0,.45);
    transform: translateY(0);
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(var(--accent-rgb, 120, 255, 240), .30),
      0 0 34px rgba(var(--accent-rgb, 120, 255, 240), .32),
      0 22px 70px rgba(0,0,0,.55);
    transform: translateY(-1px);
  }
}
.btn-surprise{
  animation: surprisePulse 2.6s ease-in-out infinite;
}

.btn-surprise:hover{
  background: rgba(var(--accent-rgb, 120, 255, 240), .16) !important;
  border-color: rgba(var(--accent-rgb, 120, 255, 240), .70) !important;
}
/* SURPRISE_NEON_CSS_END */

/* ZAP_SPACING_CSS_V2_START */
/* Bring Zapping + Sorprendimi much closer to the player on mobile */
.zap-2026{
  margin-top: 10px !important;
}
.zap-2026 .row-title{
  margin-top: 8px !important;
}
@media (max-width: 760px){
  /* Pull section up a bit but keep spacing via padding (prevents overlap) */
  .zap-2026{
    margin-top: -14px !important;   /* 👈 reduces “gap” hard */
    padding-top: 14px !important;   /* 👈 keeps nice breathing room */
  }
  .zap-2026 .row-title{
    margin-top: 6px !important;
  }
  /* make the "Sorprendimi" row tighter */
  .zap-2026 .hint{
    margin-bottom: 6px !important;
  }
}
/* ZAP_SPACING_CSS_V2_END */





/* WATCH_PLAYER_RATIO_CSS_START */
.watch-player-ratio{
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
}
.watch-player-ratio iframe{
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block;
}

/* Mobile: cap height so zapping is visible without scrolling */
@media (max-width: 760px){
  .watch-player-ratio{
    max-height: 52vh; /* 👈 key: prevents player from eating the whole screen */
  }
}
/* WATCH_PLAYER_RATIO_CSS_END */



/* ZAP_SPACING_TUNE_START */
.zap-2026{
  margin-top: 12px !important;
}
@media (max-width: 760px){
  .zap-2026{
    margin-top: 10px !important;
  }
}
/* ZAP_SPACING_TUNE_END */

/* ZAP_HEAD_INLINE_MOBILE_START */
/* Keep "Zapping" + "Sorprendimi" on the SAME ROW on mobile */
@media (max-width: 760px){
  .zap-2026 .zap-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap: nowrap !important;      /* 👈 no wrap */
    gap: 10px !important;
  }

  .zap-2026 .zap-head .hint{
    white-space: nowrap !important;
  }

  .zap-2026 .btn-surprise{
    white-space: nowrap !important;
    flex: 0 0 auto !important;
    padding: 10px 12px !important;     /* slightly smaller so it fits */
    font-size: 14px !important;
  }
}
/* ZAP_HEAD_INLINE_MOBILE_END */

/* ZAP_HEAD_INLINE_ALL_START */
/* Keep "Zapping" (left) + "Sorprendimi" (right) on ONE line (desktop + mobile) */
.zap-2026 .zap-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
}

.zap-2026 .zap-head .hint{
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.zap-2026 .btn-surprise{
  flex: 0 0 auto !important;
  width: auto !important;          /* 👈 prevents 100% width stacking */
  white-space: nowrap !important;
}

/* Mobile: keep slightly smaller so it fits */
@media (max-width: 760px){
  .zap-2026 .btn-surprise{
    padding: 10px 12px !important;
    font-size: 14px !important;
  }
}
/* ZAP_HEAD_INLINE_ALL_END */























/* ADMIN_LOGIN_ENTERPRISE_DETECT_CSS_START */
body.admin-login-enterprise{
  min-height:100vh;
  background:#05050a !important;
}
body.admin-login-enterprise::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(1200px 520px at 15% 0%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(1200px 520px at 85% 0%, rgba(255,255,255,.04), transparent 60%),
    linear-gradient(to bottom, rgba(5,5,10,.92), rgba(5,5,10,1));
  background-repeat:no-repeat;
  background-size:cover;
}

/* login should show ONLY the card */
body.admin-login-enterprise .topbar,
body.admin-login-enterprise .fab-cats,
body.admin-login-enterprise .catdrawer,
body.admin-login-enterprise .actions,
body.admin-login-enterprise .admin-actions-search{
  display:none !important;
}

.admin-login-enterprise-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 34px 16px 52px;
}

.admin-login-enterprise-card{
  width:min(680px, 100%);
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 28px 160px rgba(0,0,0,.72);
  padding: 28px;
}

.admin-login-enterprise-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.admin-login-enterprise-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.admin-login-enterprise-brand img{ height:36px; width:auto; }

.admin-login-enterprise-partner{
  display:flex;
  align-items:center;
  gap: 10px;
  opacity:.95;
}
.admin-login-enterprise-partner .plus{
  font-weight: 950;
  font-size: 18px;
  transform: rotate(-10deg);
  display:inline-block;
  opacity:.9;
}
.admin-login-enterprise-partner img{
  height: 30px;
  width:auto;
  filter: drop-shadow(0 0 18px rgba(255,255,255,.12));
}

.admin-login-enterprise-title{
  margin: 2px 0 0 0;
  font-size: 30px;
  font-weight: 950;
  letter-spacing: .2px;
}
.admin-login-enterprise-sub{
  margin: 10px 0 0 0;
  color: rgba(255,255,255,.74);
  font-weight: 850;
  font-size: 16px;
  line-height: 1.55;
}

.admin-login-enterprise-form{
  margin-top: 18px;
  display:flex;
  flex-direction:column;
  gap: 14px;
}

.admin-login-enterprise-field{
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.admin-login-enterprise-label{
  font-weight: 950;
  color: rgba(255,255,255,.88);
  font-size: 14px;
}

.admin-login-enterprise-form input[type="text"],
.admin-login-enterprise-form input[type="email"],
.admin-login-enterprise-form input[type="password"]{
  width:100%;
  height: 54px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.86) !important; /* NERO */
  color: #fff !important;                /* BIANCO */
  padding: 0 16px;
  font-size: 18px;
  font-weight: 900;
  outline:none;
}

.admin-login-enterprise-form input::placeholder{
  color: rgba(255,255,255,.42);
}

.admin-login-enterprise-form input:focus{
  border-color: rgba(var(--accent-rgb, 120,255,240), .70);
  box-shadow: 0 0 0 4px rgba(var(--accent-rgb, 120,255,240), .16);
}

.admin-login-enterprise-submit{
  height: 54px;
  border-radius: 16px;
  width: 100%;
  font-weight: 950;
  font-size: 17px;
}

.admin-login-enterprise-error{
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,120,120,.35);
  background: rgba(255,80,80,.10);
  color: rgba(255,230,230,.95);
  font-weight: 950;
}
/* ADMIN_LOGIN_ENTERPRISE_DETECT_CSS_END */

/* ADMIN_BG_FIXED_LAYER_START */
body.admin-skin{
  background: none !important;
  position: relative;
  min-height: 100vh;
}
body.admin-skin::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(1200px 520px at 15% 0%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(1200px 520px at 85% 0%, rgba(255,255,255,.04), transparent 60%),
    linear-gradient(to bottom, rgba(5,5,10,.92), rgba(5,5,10,1));
  background-repeat:no-repeat;
  background-size:cover;
}
body.admin-skin .page, body.admin-skin .admin-wrap{ background: transparent !important; }
/* ADMIN_BG_FIXED_LAYER_END */

/* ADMIN_SEARCH_DARK_CSS_START */
.admin-actions-search input,
.actions input[type="search"]{
  background: rgba(0,0,0,.60) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}
.admin-actions-search input::placeholder,
.actions input[type="search"]::placeholder{
  color: rgba(255,255,255,.45) !important;
}
/* ADMIN_SEARCH_DARK_CSS_END */

/* ADMIN_LOGIN_MODE_CSS_START */
body.admin-login-mode .topbar,
body.admin-login-mode .fab-cats,
body.admin-login-mode .catdrawer,
body.admin-login-mode .admin-actions-search{
  display:none !important;
}

body.admin-login-mode .admin-login-shell{
  min-height: 100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 34px 16px 52px;
}
body.admin-login-mode .admin-login-card{
  width: min(680px, 100%);
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 28px 160px rgba(0,0,0,.72);
  padding: 28px;
}
body.admin-login-mode .admin-login-title{ font-size: 30px; font-weight: 950; margin: 0; }
body.admin-login-mode .admin-login-sub{ margin-top: 10px; color: rgba(255,255,255,.74); font-weight: 850; font-size: 16px; line-height: 1.55; }
body.admin-login-mode .admin-login-form{ margin-top: 18px; display:flex; flex-direction:column; gap: 14px; }
body.admin-login-mode .admin-login-label{ font-weight: 950; color: rgba(255,255,255,.88); font-size: 14px; margin-bottom: 8px; }
body.admin-login-mode input[type="text"],
body.admin-login-mode input[type="password"]{
  width:100%;
  height:54px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.86) !important;
  color:#fff !important;
  padding: 0 16px;
  font-size: 18px;
  font-weight: 900;
  outline:none;
}
body.admin-login-mode input::placeholder{ color: rgba(255,255,255,.42); }
body.admin-login-mode input:focus{
  border-color: rgba(var(--accent-rgb, 120,255,240), .70);
  box-shadow: 0 0 0 4px rgba(var(--accent-rgb, 120,255,240), .16);
}
body.admin-login-mode .admin-login-submit{
  height:54px;
  border-radius:16px;
  width:100%;
  font-weight:950;
  font-size: 17px;
}
/* ADMIN_LOGIN_MODE_CSS_END */

/* ADMIN_ACTIONS_SEARCH_V3_CSS_START */
.admin-actions-search{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}
.admin-actions-search input{
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.65) !important;
  color: #fff !important;
  padding: 0 12px;
  font-weight: 850;
  min-width: 220px;
  outline: none;
}
.admin-actions-search input::placeholder{
  color: rgba(255,255,255,.45) !important;
}
@media (max-width: 760px){
  .admin-actions-search{ width:100%; margin-left:0; }
  .admin-actions-search input{ width:100%; min-width:0; }
}
/* ADMIN_ACTIONS_SEARCH_V3_CSS_END */

/* ADMIN_ONLY_RESPONSIVE_FIX_START */
/* Everything here is scoped => DOES NOT affect public pages */
body.admin-only{
  overflow-x: hidden; /* prevents page spilling right */
}

/* tighter container on small screens */
@media (max-width: 760px){
  body.admin-only .container{
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body.admin-only .admin-wrap{
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body.admin-only .panel{
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}

/* Actions row (buttons + search) */
body.admin-only .actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
@media (max-width: 760px){
  body.admin-only .actions{
    width: 100%;
  }
  body.admin-only .actions > *{
    flex: 1 1 auto;
  }
  body.admin-only .actions a.btn,
  body.admin-only .actions button.btn{
    width: 100%;
    justify-content:center;
  }
}

/* Admin search input dark (never white) */
body.admin-only .admin-actions-search input,
body.admin-only .actions input[type="search"]{
  background: rgba(0,0,0,.65) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}
body.admin-only .admin-actions-search input::placeholder,
body.admin-only .actions input[type="search"]::placeholder{
  color: rgba(255,255,255,.45) !important;
}

/* Tables: prevent overflow -> horizontal scroll inside table only */
@media (max-width: 760px){
  body.admin-only .admin-wrap table{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
  }
  body.admin-only .admin-wrap thead,
  body.admin-only .admin-wrap tbody{
    display: table;
    width: 100%;
  }
  body.admin-only .admin-wrap th,
  body.admin-only .admin-wrap td{
    white-space: nowrap;
  }
}

/* Forms / inputs: full width on mobile */
@media (max-width: 760px){
  body.admin-only input,
  body.admin-only select,
  body.admin-only textarea{
    max-width: 100% !important;
  }
}

/* Category modal (if present in admin pages) - keep inside screen */
@media (max-width: 760px){
  body.admin-only .catdrawer-card{
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    left: 12px !important;
    right: 12px !important;
    margin: 0 auto !important;
  }
  body.admin-only .catdrawer-body,
  body.admin-only .catlist,
  body.admin-only .catpane,
  body.admin-only .catsubs{
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body.admin-only .catparent-btn{
    width:100% !important;
    min-width:0 !important;
  }
  body.admin-only .catparent-btn a{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}
/* ADMIN_ONLY_RESPONSIVE_FIX_END */

/* SHARE_ZAP_2026_CSS_START */
/* Center "Condividi" between Zapping and Sorprendimi */
.zap-2026 .zap-head{
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 10px !important;
}
.zap-2026 .zap-head .hint{
  justify-self: start !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.zap-2026 .btn-share{
  justify-self: center !important;
  white-space: nowrap !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.05) !important;
  font-weight: 950 !important;
}
.zap-2026 .btn-share:hover{ background: rgba(255,255,255,.08) !important; }
.zap-2026 .btn-surprise{
  justify-self: end !important;
  width: auto !important;
}

@media (max-width: 760px){
  .zap-2026 .btn-share{
    padding: 10px 12px !important;
    font-size: 14px !important;
  }
}

/* modal share */
.sharemodal{position:fixed;inset:0;display:none;z-index:9999}
.sharemodal[aria-hidden="false"]{display:block}
.sharemodal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sharemodal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 24px));border-radius:22px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);box-shadow:0 26px 120px rgba(0,0,0,.70);overflow:hidden}
.sharemodal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.10)}
.sharemodal-title{font-weight:950;letter-spacing:.2px}
.sharemodal-close{width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-weight:950}
.sharemodal-body{padding:16px}
.sharegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sharechip{display:flex;align-items:center;justify-content:center;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-weight:950}
.sharechip:hover{background:rgba(255,255,255,.09)}
.sharechip.ghost{background:rgba(0,0,0,.35)}
.sharehint{margin-top:10px;color:rgba(255,255,255,.70);font-weight:800;font-size:12px;line-height:1.5}
@media(max-width:760px){.sharegrid{grid-template-columns:1fr}}
/* SHARE_ZAP_2026_CSS_END */





/* SHARE_ZAP_VIOLET_CSS_START */
:root{ --share-rgb: 180,120,255; }

.zap-2026 .zap-head{
  display:grid !important;
  grid-template-columns: minmax(0,1fr) auto auto !important;
  align-items:center !important;
  gap:10px !important;
}

.zap-2026 .zap-head .hint{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.zap-2026 .btn-share,
.zap-2026 .btn-surprise{
  white-space:nowrap !important;
  width:auto !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  z-index:6 !important;
}

.zap-2026 .btn-share{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  border:1px solid rgba(var(--share-rgb), .55) !important;
  background:rgba(var(--share-rgb), .10) !important;
  box-shadow:0 0 18px rgba(var(--share-rgb), .18) !important;
  color:#fff !important;
  font-weight:950 !important;
  pointer-events:auto !important;
  touch-action: manipulation;
}
.zap-2026 .btn-share:hover{ background:rgba(var(--share-rgb), .16) !important; box-shadow:0 0 26px rgba(var(--share-rgb), .25) !important; }
.zap-2026 .btn-share .sico svg{ width:18px;height:18px;display:block;fill:rgba(255,255,255,.92); }

@media (max-width: 760px){
  .zap-2026 .zap-head{
    grid-template-columns: 1fr 1fr !important;
    row-gap:10px !important;
  }
  .zap-2026 .zap-head .hint{ grid-column:1 / -1 !important; }
  .zap-2026 .btn-share{ grid-column:1/2 !important; width:100% !important; justify-content:center !important; }
  .zap-2026 .btn-surprise{ grid-column:2/3 !important; width:100% !important; justify-content:center !important; }
}

/* Share modal */
.sharemodal{position:fixed;inset:0;display:none;z-index:9999}
.sharemodal[aria-hidden="false"]{display:block}
.sharemodal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sharemodal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(540px,calc(100vw - 24px));border-radius:22px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);box-shadow:0 26px 120px rgba(0,0,0,.70);overflow:hidden}
.sharemodal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.10)}
.sharemodal-title{font-weight:950;letter-spacing:.2px}
.sharemodal-close{width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-weight:950}
.sharemodal-body{padding:16px}
.sharegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sharechip{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:12px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-weight:950}
.sharechip:hover{background:rgba(255,255,255,.09)}
.sharechip .ico svg{width:18px;height:18px;display:block;fill:rgba(255,255,255,.92)}
.sharechip.wa{border-color:rgba(37,211,102,.35)}
.sharechip.tg{border-color:rgba(39,159,222,.35)}
.sharechip.fb{border-color:rgba(24,119,242,.35)}
.sharechip.ig{border-color:rgba(var(--share-rgb),.35)}
.sharechip.cp{background:rgba(0,0,0,.35)}
@media(max-width:760px){.sharegrid{grid-template-columns:1fr}}
/* SHARE_ZAP_VIOLET_CSS_END */

/* SHARE_ZAP_UI_FINAL_CSS_START */
:root{ --share-rgb: 180,120,255; }

.zap-2026 .zap-head{
  display:grid !important;
  grid-template-columns: minmax(0,1fr) auto auto !important;
  align-items:center !important;
  gap:10px !important;
}

.zap-2026 .zap-head .hint{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.zap-2026 .btn-share,
.zap-2026 .btn-surprise{
  white-space:nowrap !important;
  width:auto !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  z-index:6 !important;
}

.zap-2026 .btn-share{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  border:1px solid rgba(var(--share-rgb), .55) !important;
  background:rgba(var(--share-rgb), .10) !important;
  box-shadow:0 0 18px rgba(var(--share-rgb), .18) !important;
  color:#fff !important;
  font-weight:950 !important;
  pointer-events:auto !important;
  touch-action: manipulation;
}
.zap-2026 .btn-share:hover{ background:rgba(var(--share-rgb), .16) !important; box-shadow:0 0 26px rgba(var(--share-rgb), .25) !important; }
.zap-2026 .btn-share .sico svg{ width:18px;height:18px;display:block;fill:rgba(255,255,255,.92); }

@media (max-width: 760px){
  .zap-2026 .zap-head{
    grid-template-columns: 1fr 1fr !important;
    row-gap:10px !important;
  }
  .zap-2026 .zap-head .hint{ grid-column:1 / -1 !important; }
  .zap-2026 .btn-share{ grid-column:1/2 !important; width:100% !important; justify-content:center !important; }
  .zap-2026 .btn-surprise{ grid-column:2/3 !important; width:100% !important; justify-content:center !important; }
}

/* Share modal */
.sharemodal{position:fixed;inset:0;display:none;z-index:9999}
.sharemodal[aria-hidden="false"]{display:block}
.sharemodal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sharemodal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(540px,calc(100vw - 24px));border-radius:22px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);box-shadow:0 26px 120px rgba(0,0,0,.70);overflow:hidden}
.sharemodal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.10)}
.sharemodal-title{font-weight:950;letter-spacing:.2px}
.sharemodal-close{width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-weight:950}
.sharemodal-body{padding:16px}
.sharegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sharechip{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:12px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-weight:950}
.sharechip:hover{background:rgba(255,255,255,.09)}
.sharechip .ico svg{width:18px;height:18px;display:block;fill:rgba(255,255,255,.92)}
.sharechip.wa{border-color:rgba(37,211,102,.35)}
.sharechip.tg{border-color:rgba(39,159,222,.35)}
.sharechip.fb{border-color:rgba(24,119,242,.35)}
.sharechip.ig{border-color:rgba(var(--share-rgb),.35)}
.sharechip.cp{background:rgba(0,0,0,.35)}
@media(max-width:760px){.sharegrid{grid-template-columns:1fr}}
/* SHARE_ZAP_UI_FINAL_CSS_END */

/* PWA_INSTALL_2026_CSS_START */
.pwa-banner{
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom,0px));
  z-index: 9998;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 22px 90px rgba(0,0,0,.65);
  padding: 12px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.pwa-title{ font-weight: 950; letter-spacing:.2px; }
.pwa-sub{ color: rgba(255,255,255,.72); font-weight: 850; font-size: 12px; margin-top:2px; }
.pwa-actions{ display:flex; gap:10px; align-items:center; }
.pwa-btn{ border: 1px solid rgba(255,255,255,.14) !important; background: rgba(255,255,255,.06) !important; font-weight: 950 !important; }
.pwa-close{ width: 40px; height: 40px; display:flex; align-items:center; justify-content:center; }
@media (min-width: 980px){
  .pwa-banner{ left: 24px; right: 24px; bottom: 18px; max-width: 980px; margin: 0 auto; }
}
/* PWA_INSTALL_2026_CSS_END */



/* GLOBAL_SEARCH_2026_CSS_START */
html.is-searching .hero,
html.is-searching .hero-carousel-root,
html.is-searching .hero-carousel,
html.is-searching .featured,
html.is-searching .featured-hero,
html.is-searching .slider,
html.is-searching .carousel,
html.is-searching #hero,
html.is-searching [data-hero]{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
body.is-searching .hero,
body.is-searching .hero-carousel-root,
body.is-searching .hero-carousel,
body.is-searching .featured,
body.is-searching .featured-hero,
body.is-searching .slider,
body.is-searching .carousel,
body.is-searching #hero,
body.is-searching [data-hero]{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* Overlay */
.gs-overlay{
  position: fixed;
  left: 0; right: 0;
  top: 72px;
  bottom: 0;
  z-index: 1200;
  display: none;
  background: rgba(5,5,10,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
@media (max-width: 760px){
  .gs-overlay{ top: 64px; }
}
html.is-searching .gs-overlay,
body.is-searching .gs-overlay{ display:block; }

.gs-inner{ max-width:1180px; margin:0 auto; padding:16px 14px 26px; }
.gs-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.gs-title{ font-weight:950; letter-spacing:.2px; font-size:18px; color:rgba(255,255,255,.92); }
.gs-sub{ font-weight:850; color:rgba(255,255,255,.62); margin-top:4px; }
.gs-close{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:#fff; border-radius:14px; padding:10px 12px;
  font-weight:950; cursor:pointer;
}
.gs-close:hover{ background: rgba(255,255,255,.09); }
.gs-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
@media (max-width:1100px){ .gs-grid{ grid-template-columns:repeat(4,1fr);} }
@media (max-width:760px){ .gs-grid{ grid-template-columns:repeat(2,1fr);} }
.gs-card{
  display:block; border-radius:14px; overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  text-decoration:none; color:#fff;
}
.gs-img{ aspect-ratio:16/9; background-size:cover; background-position:center; background-color:rgba(255,255,255,.06); }
.gs-meta{ padding:10px 10px 12px; display:flex; gap:8px; align-items:flex-start; justify-content:space-between; }
.gs-name{ font-weight:950; font-size:14px; line-height:1.25; max-height:2.5em; overflow:hidden; }
.gs-kind{
  font-weight:950; font-size:11px; padding:6px 8px; border-radius:999px;
  border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); white-space:nowrap;
}
.gs-empty{ margin-top:12px; color:rgba(255,255,255,.72); font-weight:900; }
/* GLOBAL_SEARCH_2026_CSS_END */

/* MOBILE_SEARCH_HERO_FORCE_2026_START */
html.is-searching .hero,
html.is-searching .hero-carousel-root,
html.is-searching .hero-carousel,
html.is-searching .featured,
html.is-searching .featured-hero,
html.is-searching .slider,
html.is-searching .carousel,
html.is-searching .swiper,
html.is-searching .splide,
html.is-searching .glide,
html.is-searching .keen-slider,
html.is-searching .slick-slider,
html.is-searching #hero,
html.is-searching [data-hero],
html.is-searching [class*="hero"],
html.is-searching [class*="carousel"],
html.is-searching [class*="slider"]{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

@media (max-width: 760px){
  /* su mobile l’overlay deve coprire tutto e l’utente non deve vedere la hero */
  .gs-overlay{
    top: 0 !important;
  }
  .gs-inner{
    padding-top: calc(64px + env(safe-area-inset-top,0px)) !important;
  }
}
/* MOBILE_SEARCH_HERO_FORCE_2026_END */

/* ADMIN_HIDE_MENU_DUPLICATES_START */
.is-admin .actions a[href*="/admin/index.php"],
.is-admin .actions a[href*="/admin/channels.php"],
.is-admin .actions a[href*="/admin/categories.php"],
.is-admin .actions a[href*="/admin/category_order.php"],
.is-admin .actions a[href*="/admin/stream_check.php"],
.is-admin .actions a[href*="/admin/featured_posters.php"],
.is-admin .actions a[href*="/admin/users.php"],
.is-admin .actions a[href*="/admin/logout.php"],
.is-admin .actions a[href*="/itaflix_portal/public/admin/index.php"],
.is-admin .actions a[href*="/itaflix_portal/public/admin/channels.php"],
.is-admin .actions a[href*="/itaflix_portal/public/admin/categories.php"],
.is-admin .actions a[href*="/itaflix_portal/public/admin/category_order.php"],
.is-admin .actions a[href*="/itaflix_portal/public/admin/stream_check.php"],
.is-admin .actions a[href*="/itaflix_portal/public/admin/featured_posters.php"],
.is-admin .actions a[href*="/itaflix_portal/public/admin/users.php"],
.is-admin .actions a[href*="/itaflix_portal/public/admin/logout.php"]{
  display:none !important;
}
.is-admin .actions:empty{ display:none !important; }
/* ADMIN_HIDE_MENU_DUPLICATES_END */
