/* ═══════════════════════════════════════
   JENZ VIDEOS — videos.css
═══════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Space+Mono:wght@400;700&family=DM+Sans:wght@300;400;500&display=swap');

:root {
  --red:        #C0392B;
  --red-dim:    rgba(192,57,43,0.12);
  --red-glow:   rgba(192,57,43,0.35);
  --silver:     #C0C0C0;
  --black:      #0A0A0A;
  --black-2:    #111111;
  --black-3:    #161616;
  --white:      #FFFFFF;
  --muted:      #888888;
  --font-display: 'Bebas Neue', sans-serif;
  --font-mono:    'Space Mono', monospace;
  --font-body:    'DM Sans', sans-serif;
  --px: clamp(24px, 5vw, 80px);
  --nav-h: 100px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { background:var(--black); color:var(--white); font-family:var(--font-body); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img  { display:block; max-width:100%; }
a    { text-decoration:none; color:inherit; }
ul   { list-style:none; }

body::before {
  content:''; position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:0.022; pointer-events:none; z-index:9000;
}

.scroll-progress { position:fixed; top:0; left:0; height:2px; background:var(--red); z-index:99999; width:0%; box-shadow:0 0 8px rgba(192,57,43,0.6); }
.cursor-glow { position:fixed; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(192,57,43,0.05) 0%,transparent 70%); pointer-events:none; z-index:9998; transform:translate(-50%,-50%); will-change:transform; }

/* ── NAV ── */
.nav { position:fixed; top:0; left:0; right:0; height:var(--nav-h); z-index:999; display:flex; flex-direction:row; align-items:center; justify-content:space-between; padding:0 var(--px); background:rgba(10,10,10,0.97); backdrop-filter:blur(20px); border-bottom:1px solid rgba(192,192,192,0.08); transition:height 0.4s; }
.nav.scrolled { height:72px; background:rgba(10,10,10,1); border-color:rgba(192,192,192,0.12); }
.nav__logo { display:flex; align-items:center; flex-shrink:0; }
.nav__logo img { height:clamp(48px,6vw,72px); object-fit:contain; filter:drop-shadow(0 0 14px var(--red-glow)); transition:filter 0.3s,height 0.4s; }
.nav.scrolled .nav__logo img { height:42px; }
.nav__logo--text { font-family:var(--font-display); font-size:clamp(36px,5vw,56px); letter-spacing:0.1em; color:var(--silver); filter:drop-shadow(0 0 14px var(--red-glow)); line-height:1; }
.nav__links { display:flex; flex-direction:row; align-items:center; justify-content:center; gap:clamp(16px,2.2vw,36px); list-style:none; margin:0; padding:0; flex:1; }
.nav__links li { display:flex; align-items:center; }
.nav__links a { display:inline-block; font-family:var(--font-display); font-size:clamp(13px,1.4vw,17px); letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.6); white-space:nowrap; transition:color 0.2s; position:relative; }
.nav__links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--red); border-radius:2px; transition:width 0.25s; }
.nav__links a:hover { color:var(--white); }
.nav__links a:hover::after { width:100%; }
.nav__link--active { color:var(--white) !important; }
.nav__link--active::after { width:100% !important; }
.nav__link--trabaye { display:inline-flex !important; align-items:center; gap:6px; color:var(--white) !important; background:var(--red); padding:6px 14px; border-radius:2px; font-size:clamp(11px,1.1vw,14px) !important; transition:background 0.2s !important; }
.nav__link--trabaye::after { display:none !important; }
.nav__link--trabaye:hover { background:#a93226 !important; }
.trabaye-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.75); flex-shrink:0; animation:trabayedot 1.6s ease-in-out infinite; }
@keyframes trabayedot { 0%,100%{opacity:0.5;transform:scale(1);}50%{opacity:1;transform:scale(1.5);} }
.nav__right { display:flex; flex-direction:row; align-items:center; gap:16px; flex-shrink:0; }
.nav__socials { display:flex; flex-direction:row; align-items:center; gap:12px; }
.nav__socials a { display:flex; align-items:center; justify-content:center; color:rgba(192,192,192,0.4); transition:color 0.2s; width:20px; height:20px; }
.nav__socials a:hover { color:var(--white); }
.nav__socials svg { width:17px; height:17px; display:block; }
.nav__cta { display:inline-block; font-family:var(--font-mono); font-size:10px; letter-spacing:0.15em; text-transform:uppercase; color:var(--white); background:transparent; border:1px solid rgba(192,192,192,0.3); padding:10px 20px; border-radius:2px; white-space:nowrap; transition:all 0.2s; }
.nav__cta:hover { border-color:rgba(192,192,192,0.65); background:rgba(192,192,192,0.06); }
.nav__hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; flex-shrink:0; }
.nav__hamburger span { display:block; width:26px; height:1.5px; background:var(--silver); border-radius:2px; transition:all 0.3s; }
.nav__hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.nav__hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav__hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.nav__drawer { position:fixed; top:0; left:0; right:0; background:rgba(10,10,10,0.98); backdrop-filter:blur(20px); z-index:998; padding:calc(var(--nav-h) + 24px) var(--px) 48px; display:flex; flex-direction:column; gap:28px; transform:translateY(-110%); transition:transform 0.4s cubic-bezier(0.4,0,0.2,1); border-bottom:1px solid rgba(192,192,192,0.08); }
.nav__drawer.open { transform:translateY(0); }
.nav__drawer a { display:block; font-family:var(--font-display); font-size:clamp(36px,9vw,52px); letter-spacing:0.06em; color:rgba(255,255,255,0.7); transition:color 0.2s; }
.nav__drawer a:hover { color:var(--white); }
.nav__drawer .drawer-trabaye { color:var(--red) !important; }

/* ── PAGE HERO ── */
.page-hero {
  position: relative;
  height: 50vh;
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  padding: 0 var(--px) clamp(40px,7vh,72px);
  margin-top: var(--nav-h);
  overflow: hidden;
}

.page-hero__bg {
  position: absolute; inset: 0;
  background:
    linear-gradient(160deg, rgba(192,57,43,0.09) 0%, transparent 55%),
    repeating-linear-gradient(
      -45deg,
      rgba(192,192,192,0.015) 0px,
      rgba(192,192,192,0.015) 1px,
      transparent 1px,
      transparent 40px
    ),
    var(--black);
}

.page-hero__bg::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 50%;
  background: linear-gradient(to top, var(--black), transparent);
}

.page-hero__content { position: relative; z-index: 2; }

.eyebrow {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 12px;
}

.page-hero__title {
  font-family: var(--font-display);
  font-size: clamp(64px, 11vw, 130px);
  letter-spacing: 0.06em;
  line-height: 0.88;
  animation: fadeUp 0.9s ease both;
}

.page-hero__title em { font-style: normal; color: var(--red); }

@keyframes fadeUp { from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);} }

/* ── FEATURED ── */
.featured-section {
  padding: clamp(48px,7vh,80px) var(--px);
  max-width: 1280px;
  margin: 0 auto;
}

.featured-inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(32px,5vw,72px);
  align-items: center;
}

.featured-player {
  position: relative;
  aspect-ratio: 16/9;
  background: var(--black-3);
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(192,192,192,0.08);
  box-shadow: 0 32px 80px rgba(0,0,0,0.7);
}

.featured-player iframe {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  border: none;
}

.featured-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--black-3);
}

.loading-spinner {
  width: 36px; height: 36px;
  border: 2px solid rgba(192,192,192,0.1);
  border-top-color: var(--red);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }

.featured-info { display: flex; flex-direction: column; gap: 16px; }

.featured-title {
  font-family: var(--font-display);
  font-size: clamp(28px,4vw,48px);
  letter-spacing: 0.04em;
  line-height: 1;
  color: var(--white);
}

.featured-desc {
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255,255,255,0.5);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.featured-meta {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--muted);
  text-transform: uppercase;
}

/* ── VIDEOS SECTION ── */
.videos-section {
  padding: clamp(48px,6vh,80px) var(--px);
  max-width: 1280px;
  margin: 0 auto;
}

.videos-header { margin-bottom: clamp(32px,5vw,52px); }

.videos-title {
  font-family: var(--font-display);
  font-size: clamp(40px,6vw,76px);
  letter-spacing: 0.04em;
  line-height: 0.92;
}

.videos-loading, .videos-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 80px 0;
  color: var(--muted);
}

.videos-loading p, .videos-error p {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* ── VIDEO GRID ── */
.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(300px,100%), 1fr));
  gap: clamp(16px,2.5vw,28px);
}

.video-card {
  cursor: pointer;
  transition: transform 0.2s;
}

.video-card:hover { transform: translateY(-4px); }

.video-card__thumb {
  position: relative;
  aspect-ratio: 16/9;
  background: var(--black-3);
  border-radius: 3px;
  overflow: hidden;
  border: 1px solid rgba(192,192,192,0.07);
  margin-bottom: 14px;
  transition: border-color 0.2s;
}

.video-card:hover .video-card__thumb { border-color: rgba(192,57,43,0.4); }

.video-card__thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.video-card:hover .video-card__thumb img { transform: scale(1.04); }

.video-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10,10,10,0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s;
  backdrop-filter: blur(2px);
}

.video-card:hover .video-card__overlay { opacity: 1; }

.play-btn {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: var(--red);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 24px rgba(192,57,43,0.6);
  transition: transform 0.2s;
}

.video-card:hover .play-btn { transform: scale(1.1); }

.play-btn svg { width: 18px; height: 18px; fill: var(--white); margin-left: 3px; }

.video-card__duration {
  position: absolute;
  bottom: 8px; right: 8px;
  background: rgba(0,0,0,0.8);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.05em;
  color: var(--white);
  padding: 3px 7px;
  border-radius: 2px;
}

.video-card__title {
  font-family: var(--font-display);
  font-size: clamp(16px,2vw,20px);
  letter-spacing: 0.05em;
  color: var(--white);
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.2;
}

.video-card__meta {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  color: var(--muted);
  text-transform: uppercase;
}

/* ── LOAD MORE ── */
.load-more-wrap {
  text-align: center;
  margin-top: 48px;
}

/* ── VIDEO MODAL ── */
.video-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: fadeIn 0.25s ease;
}

@keyframes fadeIn { from{opacity:0;}to{opacity:1;} }

.video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.88);
  backdrop-filter: blur(12px);
}

.video-modal__box {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 900px;
  background: var(--black-2);
  border: 1px solid rgba(192,192,192,0.1);
  border-radius: 4px;
  overflow: hidden;
  animation: scaleIn 0.3s ease;
}

@keyframes scaleIn { from{transform:scale(0.93);opacity:0;}to{transform:scale(1);opacity:1;} }

.video-modal__close {
  position: absolute;
  top: 14px; right: 14px;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(10,10,10,0.7);
  border: 1px solid rgba(192,192,192,0.2);
  color: var(--white);
  font-size: 20px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  z-index: 3;
  transition: background 0.2s;
}

.video-modal__close:hover { background: var(--red); border-color: var(--red); }

.video-modal__player {
  position: relative;
  aspect-ratio: 16/9;
  background: #000;
}

.video-modal__player iframe {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  border: none;
}

.video-modal__info {
  padding: clamp(16px,2vw,24px);
}

.video-modal__info h3 {
  font-family: var(--font-display);
  font-size: clamp(20px,2.5vw,28px);
  letter-spacing: 0.05em;
  color: var(--white);
  margin-bottom: 8px;
}

.video-modal__info p {
  font-size: 13px;
  line-height: 1.7;
  color: rgba(255,255,255,0.5);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── BUTTONS ── */
.btn { display:inline-block; font-family:var(--font-mono); font-size:10px; letter-spacing:0.18em; text-transform:uppercase; border-radius:2px; cursor:pointer; transition:all 0.2s; border:1px solid transparent; padding:13px 28px; }
.btn--primary { background:var(--red); color:var(--white); border-color:var(--red); }
.btn--primary:hover { background:#a93226; transform:translateY(-2px); }
.btn--outline { background:transparent; color:var(--silver); border-color:rgba(192,192,192,0.22); }
.btn--outline:hover { border-color:rgba(192,192,192,0.55); color:var(--white); }

/* ── FOOTER ── */
.footer { padding:clamp(40px,5vh,52px) var(--px); display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(192,192,192,0.05); flex-wrap:wrap; gap:20px; margin-top:clamp(48px,6vh,80px); }
.footer__logo img { height:24px; object-fit:contain; opacity:0.5; }
.footer__nav { display:flex; gap:clamp(20px,3vw,36px); flex-wrap:wrap; justify-content:center; }
.footer__nav a { font-family:var(--font-mono); font-size:10px; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); transition:color 0.2s; }
.footer__nav a:hover { color:var(--white); }
.footer__copy { font-family:var(--font-mono); font-size:9px; color:rgba(192,192,192,0.17); letter-spacing:0.1em; }

/* ── RESPONSIVE ── */
@media (max-width:860px) {
  .featured-inner { grid-template-columns:1fr; }
  .featured-info .btn { width:100%; text-align:center; }
}

@media (max-width:640px) {
  :root { --nav-h:72px; }
  .nav__links,.nav__socials,.nav__cta { display:none; }
  .nav__hamburger { display:flex; }
  .video-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .footer { flex-direction:column; text-align:center; }
}

@media (max-width:380px) {
  .video-grid { grid-template-columns:1fr; }
}
