:root {
  --bg-body:#121212;
  --bg-header:#1e1e1e;
  --bg-card:#252525;
  --text-main:#ffffff;
  --text-muted:#aaaaaa;
  --primary:#e50914;
  --hover:#ff1f2a;
  --border:#333333;
  --gap:20px
}
* {
  box-sizing:border-box;
  margin:0;
  padding:0
}
body {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background-color:var(--bg-body);
  color:var(--text-main);
  line-height:1.5
}
a {
  text-decoration:none;
  color:inherit
}
.container {
  max-width:1400px;
  margin:0 auto;
  padding:0 15px
}
.site-header {
  background-color:var(--bg-header);
  border-bottom:1px solid var(--border);
  padding:15px 0;
  position:sticky;
  top:0;
  z-index:100;
  box-shadow:0 2px 10px rgb(0 0 0 / .3)
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap
}
.logo {
  font-size:24px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-.5px;
  white-space:nowrap
}
.logo span {
  color:var(--primary)
}
.search-container {
  flex:1;
  max-width:600px;
  display:flex
}
.search-input {
  width:100%;
  padding:10px 15px;
  border:1px solid var(--border);
  background:var(--bg-body);
  color:var(--text-main);
  border-radius:4px 0 0 4px;
  font-size:16px
}
.search-input:focus {
  outline:none;
  border-color:var(--primary)
}
.search-btn {
  padding:10px 25px;
  background:var(--primary);
  border:none;
  color:#fff;
  border-radius:0 4px 4px 0;
  cursor:pointer;
  font-weight:700;
  white-space:nowrap
}
.search-btn:hover {
  background:var(--hover)
}
.lang-select {
  padding:8px 12px;
  background:var(--bg-card);
  color:var(--text-main);
  border:1px solid var(--border);
  border-radius:4px;
  cursor:pointer
}
.lang-select:hover {
  border-color:var(--text-main);
  color:var(--text-main)
}
.navbar {
  background:var(--bg-header);
  border-bottom:1px solid var(--border);
  overflow:hidden
}
.navbar-inner {
  height:60px
}
.navbar-inner {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:60px
}
.nav-links {
  display:flex;
  list-style:none;
  gap:30px;
  margin:0;
  padding:0
}
.nav-link {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--text-muted);
  text-decoration:none;
  font-weight:500;
  font-size:14px;
  border-radius:4px;
  transition:all 0.2s
}
.nav-link:hover {
  color:var(--text-main)
}
.nav-icon {
  width:18px;
  height:18px;
  opacity:.8
}
.expand-navbar {
  display:none;
  background:none;
  border:none;
  color:var(--text-main);
  padding:10px;
  cursor:pointer;
  font-size:20px;
  margin-left:auto
}
.expand-navbar:hover {
  color:var(--primary)
}
.search-container {
  flex:1;
  max-width:600px
}
.search-container.mobile-hidden {
  display:none !important
}
.related-searches {
  margin:0 0 15px 0;
  padding:10px 15px;
  background-color:rgb(51 51 51 / .3);
  border-radius:4px;
  width:100%
}
.related-searches-title {
  font-size:14px;
  font-weight:600;
  margin:0 0 8px 0;
  color:var(--text-muted)
}
.related-searches-links {
  display:flex;
  flex-wrap:wrap;
  gap:15px
}
.related-searches-links a {
  font-size:14px;
  color:var(--text-main);
  text-decoration:none;
  position:relative;
  transition:color 0.2s ease;
  display:inline-flex;
  align-items:center;
  gap:6px
}
.related-searches-links svg.search-icon {
  flex-shrink:0;
  opacity:.7;
  transition:opacity 0.2s ease
}
.related-searches-links a:hover svg.search-icon {
  opacity:1
}
.related-searches-links a::after {
  content:'';
  position:absolute;
  bottom:-2px;
  left:0;
  width:0;
  height:1px;
  background-color:var(--primary);
  transition:width 0.3s ease
}
.related-searches-links a:hover {
  color:var(--primary)
}
.related-searches-links a:hover::after {
  width:100%
}
@media (max-width:768px) {
  .search-container {
    display:none !important;
    max-width:100%;
    order:2;
    flex-direction:row
  }
  .search-container.mobile-active {
    display:flex !important;
    max-width:100%;
    order:3;
    margin-top:0;
    margin-bottom:20px;
    flex-direction:row;
    flex-wrap:nowrap
  }
  .search-container.mobile-active .search-input {
    flex:1;
    min-width:0;
    margin-right:8px
  }
  .search-container.mobile-active .search-btn {
    flex-shrink:0;
    white-space:nowrap
  }
  .lang-select {
    order:1
  }
}
.lang-select option {
  padding-left:25px;
  background-repeat:no-repeat;
  background-position:8px center;
  background-size:16px 12px
}
.lang-select option[value="en"] {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%2300274D'/%3E%3Cpath d='M0 0L60 30M60 0L0 30' stroke='%23FFFFFF' stroke-width='3'/%3E%3Cpath d='M0 0L60 30M60 0L0 30' stroke='%23C41E3A' stroke-width='2'/%3E%3C/svg%3E")
}
.lang-select option[value="fr"] {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='20' height='30' fill='%23002B7F'/%3E%3Crect x='20' width='20' height='30' fill='%23FFFFFF'/%3E%3Crect x='40' width='20' height='30' fill='%23ED2939'/%3E%3C/svg%3E")
}
.lang-select option[value="it"] {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%23009246'/%3E%3Ccircle cx='30' cy='15' r='8' fill='%23FFFFFF'/%3E%3Ccircle cx='30' cy='15' r='6' fill='%23009246'/%3E%3C/svg%3E")
}
.main-content {
  padding:15px 0
}
.section-title {
  margin-bottom:20px;
  font-size:20px;
  border-left:4px solid var(--primary);
  padding-left:10px
}
.no-results {
  background:rgb(229 9 20 / .1);
  border:1px solid var(--primary);
  border-radius:8px;
  padding:15px 20px;
  margin:20px 0;
  color:var(--text-main);
  font-size:16px;
  text-align:center;
  backdrop-filter:blur(10px);
  animation:fadeIn 0.3s ease-in-out
}
.title-with-filters {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px;
  margin-bottom:0
}
.title-section {
  flex:1;
  min-width:200px
}
.filters-desktop {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:-10px
}
.filters-grid {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0
}
.filter-group {
  display:flex;
  flex-direction:column
}
.filter-select {
  padding:6px 8px;
  background:var(--bg-card);
  color:var(--text-muted);
  border:1px solid var(--border);
  border-radius:4px;
  font-size:13px;
  cursor:pointer;
  transition:border-color 0.2s,color 0.2s;
  padding-right:22px;
  min-width:120px
}
.filter-select:focus {
  outline:none;
  border-color:var(--text-main);
  color:var(--text-main)
}
.filter-select:hover {
  border-color:var(--text-main);
  color:var(--text-main)
}
.filters-responsive {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:-10px
}
@media (max-width:768px) {
  .title-with-filters {
    flex-direction:column;
    align-items:stretch;
    gap:15px
  }
  .filters-responsive {
    display:grid;
    grid-template-columns:repeat(2,minmax(120px,1fr));
    gap:5px;
    margin-bottom:20px
  }
  .filter-select {
    min-width:auto
  }
  .error-code {
    font-size:80px
  }
  .error-title {
    font-size:24px
  }
  .error-message {
    font-size:16px
  }
  .error-actions {
    flex-direction:column;
    align-items:stretch
  }
}
.category-grid {
  display:grid;
  gap:var(--gap);
  grid-template-columns:repeat(5,1fr)
}
.item-card {
  background:var(--bg-card);
  border-radius:8px;
  overflow:hidden;
  transition:transform 0.2s,box-shadow 0.2s;
  border:1px solid var(--border);
  display:flex;
  flex-direction:column
}
.item-card a {
  display:block;
  text-decoration:none
}
.item-title-link {
  text-decoration:none
}
.item-title-link:hover .item-title {
  color:var(--primary)
}
.video-info-tags {
  margin-top:4px;
  display:flex;
  gap:6px;
  flex-wrap:wrap
}
.video-info-tags .info-tag {
  font-size:11px;
  padding:0
}
.video-info-tags .info-tag:hover {
  color:var(--text-main)
}
.item-thumb {
  width:100%;
  aspect-ratio:16/9;
  position:relative;
  overflow:hidden;
  background-color:var(--bg-card)
}
.item-thumb.lazy-bg {
  background-image:none !important;
  background-color:var(--bg-card)
}
.item-thumb.lazy-bg::before {
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:40px;
  height:40px;
  background:rgb(255 255 255 / .1);
  border-radius:50%;
  animation:pulse 2s infinite
}
@keyframes pulse {
  0% {
    box-shadow:0 0 0 0 rgb(255 255 255 / .4)
  }
  70% {
    box-shadow:0 0 0 10px #fff0
  }
  100% {
    box-shadow:0 0 0 0 #fff0
  }
}
.item-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:.8;
  transition:opacity 0.2s
}
.item-card:hover .item-thumb img {
  opacity:1
}
.video_views {
  position:absolute;
  bottom:2px;
  left:2px;
  background:rgb(0 0 0 / .5);
  color:#fff;
  padding:1px 6px;
  border-radius:3px;
  font-size:11px;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:3px;
  backdrop-filter:blur(4px);
  border:1px solid rgb(255 255 255 / .2)
}
.video_views svg,
.category-count svg {
  width:10px;
  height:10px;
  opacity:.9
}
.item-info {
  padding:6px
}
.item-title {
  font-weight:600;
  font-size:14px;
  margin-bottom:0;
  white-space:nowrap;
  overflow:hidden;
  display:flex;
  align-items:center;
  color:var(--text-main);
  transition:all 0.2s
}
.pagination {
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:30px;
  flex-wrap:wrap
}
.page-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px;
  background:var(--bg-card);
  border:1px solid var(--border);
  color:var(--text-muted);
  border-radius:6px;
  text-decoration:none;
  font-size:14px;
  font-weight:500;
  transition:all 0.2s ease;
  cursor:pointer
}
.page-btn:hover {
  background:var(--bg-header);
  border-color:var(--primary);
  color:var(--text-main);
  transform:translateY(-1px)
}
.page-btn.active {
  background:var(--primary);
  border-color:var(--primary);
  color:#fff
}
.page-btn.step-left,
.page-btn.step-right {
  min-width:36px;
  padding:0 8px
}
.page-btn.step-left svg,
.page-btn.step-right svg {
  stroke-width:3
}
.page-btn.step-left:hover svg,
.page-btn.step-right:hover svg {
  stroke:var(--primary)
}
.ad-section {
  margin-top:40px
}
.ad-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:20px;
  max-width:960px;
  margin:0 auto
}
.ad-card {
  background:var(--bg-card);
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--border);
  transition:transform 0.2s,box-shadow 0.2s;
  display:block
}
.ad-card:hover {
  transform:translateY(-3px);
  box-shadow:0 5px 15px rgb(0 0 0 / .3);
  border-color:var(--primary)
}
.alphabetical-categories {
  margin-top:40px
}
.letter-categories-section {
  margin-bottom:10px
}
.letter-categories-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
  margin-top:15px
}
.letter-categories-grid .category-link:hover {
  color:var(--primary);
  background-color:rgb(229 9 20 / .1);
  border-color:var(--primary);
  transform:translateY(-1px);
  box-shadow:0 2px 4px rgb(0 0 0 / .1)
}
.letter-categories-grid .category-link:hover .video-count {
  color:var(--primary)
}
.alphabetical-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  margin-top:20px
}
.alphabetical-list {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  margin-top:20px
}
.letter-group {
  display:flex;
  flex-direction:column
}
.letter-heading {
  color:var(--primary);
  font-size:18px;
  font-weight:600;
  margin:0 0 15px 0;
  text-transform:uppercase;
  letter-spacing:1px;
  text-align:left;
  background:linear-gradient(135deg,var(--primary) 0%,rgb(229 9 20 / .1) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:#fff0;
  background-clip:text;
  position:relative;
  padding-left:12px
}
.letter-heading::before {
  content:'';
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:4px;
  height:18px;
  background:var(--primary);
  border-radius:2px
}
.category-link {
  color:var(--text-main);
  text-decoration:none;
  font-size:14px;
  padding:4px 8px;
  border-radius:4px;
  transition:color 0.2s,background-color 0.2s;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--border);
  margin-bottom:8px;
  background:#fff0
}
.category-link:hover {
  color:var(--primary);
  background-color:rgb(229 9 20 / .1);
  border-color:var(--primary)
}
.category-name {
  flex:1
}
.video-count {
  color:var(--text-muted);
  font-size:12px;
  font-weight:400;
  min-width:fit-content;
  margin-left:16px
}
.category-link:hover .video-count {
  color:var(--primary)
}
.video-duration,
.category-count {
  position:absolute;
  bottom:2px;
  right:2px;
  background:rgb(0 0 0 / .5);
  color:#fff;
  padding:1px 6px;
  border-radius:3px;
  font-size:11px;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:3px;
  backdrop-filter:blur(4px);
  border:1px solid rgb(255 255 255 / .2)
}
.ad-image {
  width:100%;
  height:250px;
  object-fit:cover;
  display:block
}
.site-footer {
  margin-top:60px;
  border-top:1px solid var(--border);
  padding:40px 0;
  background:var(--bg-header);
  text-align:center
}
.footer-links {
  display:flex;
  justify-content:center;
  gap:30px;
  flex-wrap:wrap;
  margin-bottom:20px
}
.footer-logo {
  text-align:center;
  margin-bottom:20px
}
.footer-links a {
  color:var(--text-muted);
  font-size:14px
}
.footer-links a:hover {
  color:var(--primary)
}
.copyright {
  color:#555;
  font-size:12px
}
@media (max-width:1200px) {
  .category-grid {
    grid-template-columns:repeat(4,1fr)
  }
}
@media (max-width:992px) {
  .category-grid {
    grid-template-columns:repeat(3,1fr)
  }
}
@media (min-width:769px) {
  .search-container {
    flex-direction:row !important
  }
}
@media (max-width:768px) {
  .category-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .letter-categories-section {
    margin-bottom:30px
  }
  .letter-categories-grid {
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    margin-top:12px
  }
  .header-inner {
    flex-direction:column;
    align-items:stretch
  }
  .logo {
    text-align:left;
    padding-left:50px
  }
  .search-container {
    max-width:100%;
    order:2;
    flex-direction:row;
    flex-wrap:nowrap
  }
  .search-input {
    flex:1;
    min-width:0;
    margin-right:8px
  }
  .search-btn {
    flex-shrink:0;
    white-space:nowrap
  }
  .lang-select {
    position:absolute;
    top:15px;
    right:15px;
    order:1
  }
  .expand-navbar {
    display:block;
    order:1;
    position:absolute;
    top:12px;
    left:15px;
    z-index:1000
  }
  .navbar {
    display:none;
    max-height:0;
    overflow:hidden;
    transition:all 0.3s ease
  }
  .navbar.active {
    display:block;
    max-height:80px
  }
}
@media (max-width:768px) {
  .alphabetical-grid {
    grid-template-columns:repeat(2,1fr);
    gap:20px
  }
  .letter-section {
    padding:12px
  }
  .letter-heading {
    font-size:16px;
    margin-bottom:8px
  }
  .category-link {
    font-size:13px;
    padding:3px 6px
  }
  .video-count {
    margin-left:12px
  }
}
@media (max-width:480px) {
  .alphabetical-grid {
    grid-template-columns:1fr;
    gap:15px
  }
  .category-grid {
    grid-template-columns:1fr
  }
}
.video-title-section {
  margin-bottom:30px
}
.video-title {
  font-size:28px;
  font-weight:700;
  color:var(--text-main);
  margin:0;
  line-height:1.3
}
.video-player-section {
  margin-bottom:40px
}
.video-player-container {
  display:grid;
  grid-template-columns:1fr 300px;
  gap:20px;
  align-items:start
}
.video-player-wrapper {
  background:var(--bg-card);
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--border)
}
.video-player {
  position:relative;
  width:100%;
  height:0;
  padding-bottom:56.25%;
  overflow:hidden
}
.video-player iframe {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  border:none;
  border-radius:8px
}
.ntv-banners {
  display:flex;
  flex-direction:column;
  gap:5px
}
.ntv-banner {
  overflow:hidden;
  text-align:center
}
.video-info-section {
  margin-bottom:20px;
}
.video-info-container {
  background:var(--bg-card);
  border-radius:8px;
  padding:10px;
  border:1px solid var(--border)
}
.video-info-grid {
  display:flex;
  flex-direction:column;
  gap:8px;
}
.info-item {
  display:flex;
  flex-direction:column;
  gap:8px;
}
.info-item.stats-bar {
  width:100%;
  flex-direction:row;
  justify-content:space-between;
  align-items:center;
  padding:4px 4px;
  margin-bottom:0;
  flex-wrap:nowrap
}
.stats-left {
  display:flex;
  gap:16px;
  align-items:center
}
.stats-right {
  display:flex;
  gap:10px;
  align-items:center
}
.rating-item {
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 12px;
  background:var(--bg-card);
  border-radius:6px;
  border:3px solid #666;
  transition:all 0.2s;
  cursor:pointer;
  box-shadow:0 2px 4px rgb(0 0 0 / .2)
}
.rating-item:hover:not(.thumb-down) {
  background:#28a745;
  border-color:#28a745;
  transform:translateY(-1px);
  box-shadow:0 4px 8px rgb(0 0 0 / .3)
}
.rating-item:hover.thumb-down {
  background:#dc3545;
  border-color:#dc3545;
  transform:translateY(-1px);
  box-shadow:0 4px 8px rgb(0 0 0 / .3)
}
.rating-item:hover .rating-count {
  color:#fff
}
.rating-item.voted {
  background:#28a745;
  border-color:#28a745
}
.rating-item.voted .rating-count {
  color:#fff
}
.rating-item.voted.thumb-down {
  background:#dc3545;
  border-color:#dc3545
}
.rating-item svg {
  flex-shrink:0;
  width:14px;
  height:14px
}
.rating-count {
  font-size:12px;
  font-weight:600;
  color:var(--text-main)
}
.info-content {
  flex:1
}
.actors-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.actor-tag {
  background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);
  color:var(--text-main);
  padding:3px 8px;
  border-radius:20px;
  font-size:13px;
  font-weight:500;
  border:1px solid #5a67d8;
  transition:all 0.2s;
  display:inline-flex;
  align-items:center;
  box-shadow:0 2px 4px rgb(102 126 234 / .3)
}
.actor-tag:hover {
  background:linear-gradient(135deg,#764ba2 0%,#667eea 100%);
  border-color:var(--primary);
  transform:translateY(-1px);
  box-shadow:0 4px 8px rgb(102 126 234 / .4);
}
.actor-tag svg {
  flex-shrink:0
}
.tags-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.tag {
  background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);
  color:var(--text-main);
  padding:3px 8px;
  border-radius:20px;
  font-size:13px;
  font-weight:500;
  border:1px solid #ec4899;
  transition:all 0.2s;
  display:inline-flex;
  align-items:center;
  box-shadow:0 2px 4px rgb(240 147 251 / .3)
}
.tag:hover {
  background:linear-gradient(135deg,#f5576c 0%,#f093fb 100%);
  border-color:var(--primary);
  transform:translateY(-1px);
  box-shadow:0 4px 8px rgb(240 147 251 / .4)
}
.tag svg {
  flex-shrink:0
}
.duration,
.views {
  font-size:15px;
  font-weight:500;
  color:var(--text-main);
  display:inline-flex;
  align-items:center
}
.duration svg,
.views svg {
  flex-shrink:0;
  margin-right:8px;
  color:var(--text-main)
}
.back-to-top {
  position:fixed;
  bottom:30px;
  right:30px;
  width:50px;
  height:50px;
  background:var(--primary);
  color:#fff;
  border:none;
  border-radius:50%;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  box-shadow:0 4px 12px rgb(0 0 0 / .3);
  transition:all 0.3s ease;
  z-index:1000;
  opacity:0;
  visibility:hidden;
  transform:translateY(20px)
}
.back-to-top:hover {
  background:var(--hover);
  transform:translateY(-3px);
  box-shadow:0 6px 16px rgb(0 0 0 / .4)
}
.back-to-top.show {
  opacity:1;
  visibility:visible;
  transform:translateY(0)
}
.back-to-top svg {
  width:24px;
  height:24px;
  stroke-width:2
}
.advertisement-note {
  font-size: 10px;
  color: #888;
  margin-bottom: 5px;
}
.advertisement-note.small {
  font-size: 10px;
  font-weight: normal;
  text-transform: none;
  letter-spacing: normal;
}
.advertisement-note.right-aligned {
  text-align: right;
}
@media (max-width:768px) {
  .video-title {
    font-size:24px
  }
  .video-player-container {
    grid-template-columns:1fr
  }
  .ntv-banners {
    flex-direction:column;
    gap:15px
  }
  .ntv-banner:nth-child(2) {
    display:none
  }
  .video-info-container {
    padding:16px
  }
  .stats-bar {
    flex-direction:column;
    gap:12px;
    padding:10px 12px
  }
  .stats-left {
    justify-content:space-between;
    width:100%;
    flex-direction:row;
    gap:12px
  }
  .stats-right {
    justify-content:right;
    flex-direction:row;
    gap:8px
  }
}
@media (max-width:480px) {
  .video-title {
    font-size:20px
  }
  .ntv-banners {
    gap:10px
  }
}
