*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
padding-top:0 !important;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
color:#e2e8f0;
overflow-x:hidden;

/* 🌈 PREMIUM BACKGROUND */
background:
radial-gradient(circle at 20% 20%, #1e3a8a 0%, transparent 40%),
radial-gradient(circle at 80% 0%, #2563eb 0%, transparent 40%),
#020617;
}

/* ===== NAVBAR ===== */
.nav{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;

background:linear-gradient(90deg, rgba(2,6,23,0.9), rgba(30,64,175,0.6));
backdrop-filter:blur(20px);
border-bottom:1px solid rgba(255,255,255,0.08);
}

.nav-inner{
max-width:1100px;
margin:auto;
padding:0 14px;
height:50px;
display:flex;
align-items:center;
justify-content:space-between;
}

.nav-left{
display:flex;
align-items:center;
gap:8px;
}

.nav-logo{
width:28px;
height:28px;
border-radius:50%;
}

.brand{
font-size:12px;
max-width:140px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.nav-links{
display:flex;
gap:18px;
}

.nav-links a{
color:#cbd5f5;
font-size:13px;
text-decoration:none;
transition:0.2s;
}

.nav-links a:hover{
color:#fff;
}

/* MOBILE NAV */
.nav-toggle{
display:none;
flex-direction:column;
gap:4px;
cursor:pointer;
}

.nav-toggle span{
width:22px;
height:2px;
background:#fff;
}

@media(max-width:768px){
.nav-toggle{display:flex;}

.nav-links{
position:fixed;
top:50px;
left:0;
right:0;
background:#020617;
padding:18px;
display:none;
flex-direction:column;
gap:16px;
}

.nav-links.active{display:flex;}
}

/* ===== HERO ===== */
.hero{
text-align:center;
padding:20px 16px 10px;
margin-top:60px;
}

.hero img{
width:85px;
height:85px;
border-radius:50%;
margin-bottom:8px;
}

.hero-title{
font-size:22px;
font-weight:600;
background:linear-gradient(90deg,#fff,#93c5fd,#60a5fa);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.hero-title span{
display:block;
font-size:14px;
color:#94a3b8;
}

/* ===== SLIDER ===== */
.slider{
max-width:1200px;
margin:10px auto 30px;
border-radius:24px;
overflow:hidden;
position:relative;

background:
radial-gradient(circle at center, #1e40af 0%, #020617 70%);

box-shadow:0 25px 80px rgba(0,0,0,0.6);
}

/* BLUR FILL BACKGROUND */
.slider::after{
content:"";
position:absolute;
inset:0;
background:inherit;
filter:blur(40px);
opacity:0.5;
z-index:1;
}

.slider-track{
display:flex;
transition:transform 0.5s ease;
position:relative;
z-index:2;
}

/* 🔥 FULL IMAGE NO CROP */
.slider img{
width:100%;
height:380px;
object-fit:contain;
border-radius:16px;
flex-shrink:0;
}

/* BUTTONS */
.slide-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
width:40px;
height:40px;
border:none;
border-radius:50%;
background:rgba(255,255,255,0.1);
color:#fff;
cursor:pointer;
z-index:3;
}

.slide-btn.left{left:10px;}
.slide-btn.right{right:10px;}

.slide-btn:hover{
background:#2563eb;
}

/* MOBILE */
@media(max-width:768px){
.slider img{height:240px;}
}

/* ===== SEARCH ===== */
.search-box{
max-width:600px;
margin:10px auto 20px;
padding:0 16px;
}

.search-box input{
width:100%;
padding:16px 18px;

border-radius:18px;
border:1px solid rgba(255,215,0,0.4);

background:linear-gradient(135deg,#3b2f0b,#8b6f1f,#d4af37);

color:#fff8dc;
font-size:15px;

box-shadow:
0 8px 25px rgba(212,175,55,0.5),
inset 0 0 10px rgba(255,215,0,0.3);
}

.search-box input:focus{
outline:none;
border-color:#2563eb;
box-shadow:0 0 20px rgba(37,99,235,0.6);
}

/* ===== GRID ===== */
.section{
max-width:1100px;
margin:auto;
padding:10px 16px 30px;
}

.yt-grid{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
gap:28px;
}

/* ===== BEAUTIFUL CARD ===== */
.card{
border-radius:20px;
overflow:hidden;
cursor:pointer;

background:linear-gradient(145deg,#2c2206,#6b5515,#d4af37);

border:1px solid rgba(255,215,0,0.4);

box-shadow:
0 10px 30px rgba(212,175,55,0.4);

transition:all 0.3s ease;
}

/* THUMB */
.card img{
width:100%;
aspect-ratio:16/9;

object-fit:contain;

background:linear-gradient(135deg,#3b2f0b,#8b6f1f);

border-radius:12px;
padding:6px;
}

/* TITLE */
/* ================= ✨ TEXT PERFECTION (READABILITY FIX) ================= */

/* 🔥 improve rendering */
.card .title{
  font-size:15px !important;
  font-weight:500 !important;

  line-height:1.7 !important;
  letter-spacing:0.2px;

  padding:16px 18px !important;

  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;

  color:#fff8dc !important;

  /* 👁️ readability */
  text-shadow:
    0 1px 1px rgba(0,0,0,0.4),
    0 0 6px rgba(0,0,0,0.25);
}

/* 🔥 AUTHOR (FIRST LINE) */
.card .title br{
  display:block;
  margin-bottom:6px;
}

/* 🔥 QUOTE TEXT (SECOND LINE) */
.card .title small{
  display:block;

  font-size:13px !important;
  font-weight:400;

  line-height:1.75;

  color:#fff3b0 !important;

  opacity:0.95;

  margin-top:6px;

  /* better wrapping */
  word-break:break-word;
}

/* 🔥 PERFECT TEXT WIDTH (EYE COMFORT) */
.card .title{
  max-width:90%;
  margin:auto;
}

/* 🔥 BALANCED MULTI-LINE TEXT */
.card .title{
  text-wrap:balance;
}

/* 🔥 MOBILE OPTIMIZATION */
@media(max-width:600px){
  .card .title{
    font-size:14px !important;
    line-height:1.65 !important;
  }

  .card .title small{
    font-size:12.5px !important;
  }
}

/* HOVER */
.card:hover{
transform:translateY(-6px);

box-shadow:
0 15px 40px rgba(255,215,0,0.7);
}

/* ===== PLAYER ===== */
.player-overlay{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#000;
display:none;
z-index:9999;
}

.close{
position:absolute;
top:10px;
right:10px;

/* 🔥 BIG CLICK AREA */
width:48px;
height:48px;

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

font-size:26px;
color:#fff;

background:rgba(0,0,0,0.6);
border-radius:50%;

cursor:pointer;
z-index:10000;

/* smooth feel */
transition:0.2s;
}

/* HOVER */
.close:hover{
background:#ef4444;
transform:scale(1.1);
}


.close::after{
content:"";
position:absolute;
inset:-10px; /* 🔥 extra invisible click area */
}
  

.player-frame{
width:100%;
height:100%;
display:flex;
justify-content:center;
align-items:center;
}

.player-frame iframe{
width:100%;
height:100%;
border:none;
}

.controls{
position:absolute;
bottom:20px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:12px;
}

.controls button{
padding:12px 20px;

border:none;
border-radius:14px;

/* 🏆 GOLD + HIGH VISIBILITY */
background:linear-gradient(135deg,#d4af37,#facc15);

color:#000;
font-weight:600;
font-size:14px;

box-shadow:0 8px 25px rgba(212,175,55,0.6);

cursor:pointer;
transition:0.2s;
}

.controls button:hover{
transform:scale(1.05);
box-shadow:0 12px 30px rgba(255,215,0,0.8);
}

.controls button:hover{
background:#2563eb;
}

/* ===== AUDIO ===== */
.mute-btn{
position:fixed;
bottom:16px;
right:16px;
background:linear-gradient(135deg,#2563eb,#1e40af);
padding:12px;
border-radius:50%;
cursor:pointer;
box-shadow:0 10px 40px rgba(37,99,235,0.7);
}

/* ===== EMPTY ===== */
#noResults{
text-align:center;
margin-top:20px;
color:#94a3b8;
}

html{
scroll-behavior:smooth;
}

*{
touch-action: manipulation;
}
html, body{
touch-action: manipulation;
}
body{
padding-bottom: env(safe-area-inset-bottom);
}
/* ===== PREMIUM SPLASH ===== */

.app-loader{
position:fixed;
inset:0;
z-index:99999;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}

/* animated background */
.loader-bg{
position:absolute;
inset:0;
background:
radial-gradient(circle at 20% 20%, #1e3a8a, transparent 40%),
radial-gradient(circle at 80% 0%, #2563eb, transparent 40%),
#020617;
animation: bgMove 6s infinite alternate;
}

/* glow animation */
@keyframes bgMove{
0%{transform:scale(1);}
100%{transform:scale(1.1);}
}

/* content */
.loader-content{
position:relative;
text-align:center;
z-index:2;
}

/* logo */
.loader-logo{
width:140px;
height:140px;
border-radius:50%;
animation: glow 2s infinite alternate, float 3s ease-in-out infinite;
}

/* glow effect */
@keyframes glow{
0%{box-shadow:0 0 10px rgba(255,215,0,0.4);}
100%{box-shadow:0 0 40px rgba(255,215,0,0.9);}
}

/* text */
.loader-text{
margin-top:12px;
color:#fff;
font-size:16px;
letter-spacing:2px;
opacity:0.9;
animation: fadeText 2s infinite;
}

@keyframes fadeText{
0%,100%{opacity:0.5;}
50%{opacity:1;}
}

@keyframes float{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-10px);}
}

button, .card{
transition:transform 0.1s ease;
}

button:active, .card:active{
transform:scale(0.95);
}
  


/* 🔥 SCROLLABLE CATEGORY BAR (LIKE YOUR REFERENCE) */
.category-bar{
display:flex;
gap:12px;
margin-bottom:16px;

overflow-x:auto;
scroll-behavior:smooth;

padding-bottom:6px;
}

/* hide scrollbar */
.category-bar::-webkit-scrollbar{
display:none;
}

/* BUTTON */
.cat{
flex:0 0 auto;
display:flex;
align-items:center;
gap:6px;

padding:10px 16px;
border-radius:20px;

font-size:13px;
white-space:nowrap;

/* 🔥 FIX */
cursor:pointer;

background:rgba(255,255,255,0.08);
border:1px solid rgba(255,255,255,0.15);
}

.cat:hover{
background:rgba(255,255,255,0.15);
}

/* ACTIVE */
.cat.active{
background:linear-gradient(135deg,#d4af37,#facc15);
color:#000;
box-shadow:0 0 12px rgba(255,215,0,0.6);
}

/* REMOVE INDICATOR (causing bug) */
.cat-indicator{
display:none;
}

/* MOBILE SMALL ADJUST */
@media(max-width:600px){
.cat{
font-size:12px;
padding:10px 6px;
}
}

/* SHORTS (VERTICAL) */
/* ================= SHORTS ================= */
.card.short{
aspect-ratio:9/16;
display:flex;
flex-direction:column;
overflow:hidden;
}

/* 🔥 IMAGE SMALLER */
.card.short img{
width:100%;
height:75%;   /* 👈 KEY FIX */
object-fit:cover;
padding:0;
}

/* 🔥 TITLE VISIBLE */
.card.short .title{
height:25%;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:8px;
}


/* ================= IMAGES ================= */
.card.image{
aspect-ratio:1/1.1;  /* 👈 BIGGER CARD */
display:flex;
flex-direction:column;
overflow:hidden;
}

/* 🔥 BIG IMAGE */
.card.image img{
width:100%;
height:75%;
object-fit:cover;
padding:0;
}

/* 🔥 TITLE */
.card.image .title{
height:25%;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:8px;

/* same behavior as videos */
word-break: break-word;
}

/* 🔥 SLIDING INDICATOR */
.category-bar{
position:relative;
}

.cat-indicator{
position:absolute;
bottom:-2px;
left:0;

height:3px;
width:0;

background:linear-gradient(90deg,#d4af37,#facc15);
border-radius:10px;

transition:all 0.35s ease;

/* 🔥 CRITICAL FIX */
pointer-events:none;   /* allow clicks through */
z-index:1;
}

/* 🔥 ACTIVE GLOW */
.cat.active{
box-shadow:0 0 15px rgba(255,215,0,0.6);
transform:scale(1.05);
}

.player-frame{
  position: relative;
}

.player-frame iframe{
  pointer-events: auto;
}

/* ================= 🏆 ELITE QUOTE CARD SYSTEM ================= */

/* 🔥 FIXED CARD SIZE */
.card{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  position:relative;
  overflow:hidden;

  border-radius:20px;
}



/* 🔥 TEXT CONTAINER */
.card .title{
  position:relative;

  display:-webkit-box !important;   /* 🔥 REQUIRED FOR CLAMP */
  -webkit-box-orient:vertical;

  text-align:center;

  padding:20px;

  font-size:15px;
  line-height:1.8;

  width:100%;
  height:100%;

  max-width:85%;
  margin:auto;

  color:#fef3c7;

  text-shadow:
    0 1px 2px rgba(0,0,0,0.6);

  white-space:pre-line;   /* paragraphs */

  overflow:hidden;

  -webkit-line-clamp:12;   /* 🔥 ONLY bottom fade */
}


.card{
  display:flex;
  align-items:center;
  justify-content:center;
}

/* 🔥 QUOTE SYMBOL */

.qmark{
  position:absolute;
  top:14px;
  left:16px;

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

  color:rgba(255,215,0,0.35);

  z-index:3;
  pointer-events:none;

  text-shadow:
    0 2px 6px rgba(0,0,0,0.4);

  opacity:0.85;
}

/* 🔥 FADE EFFECT (BOTTOM) */
.card::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:80px;

  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0),
    rgba(44,34,6,0.9)
  );

  pointer-events:none;
}

/* 🔥 CLAMP TEXT (NO ...) */
.card .title{
  display:-webkit-box !important;
  -webkit-line-clamp:12;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* 🔥 SMALL QUOTE CENTER PERFECT */
.card .title:empty{
  display:none;
}

/* ================= 🏆 FINAL TYPOGRAPHY POLISH ================= */

/* 1️⃣ PERFECT READING TEXT */
.card .title{
  font-size:16px;                 /* slightly bigger */
  line-height:1.85;               /* book-like spacing */
  letter-spacing:0.2px;

  color:#fef3c7;                  /* warm readable tone */

  max-width:82%;                  /* better text width */
  margin:auto;

  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;

  text-shadow:
    0 1px 2px rgba(0,0,0,0.55);
}

/* 2️⃣ FIRST LINE EMPHASIS (SUBTLE) */
.card .title::first-line{
  font-weight:600;
  color:#fff3b0;
}

/* 3️⃣ PARAGRAPH SPACING IMPROVEMENT */
.card .title br{
  display:block;
  margin-bottom:6px;
}

/* 4️⃣ BETTER FADE (SMOOTHER) */
.card::after{
  height:100px;   /* smoother bottom fade */
  z-index:2;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0),
    rgba(44,34,6,0.95)
  );
}

/* 5️⃣ SMALL SCREEN PERFECT TUNING */
@media(max-width:480px){
  .card .title{
    font-size:17px;
    line-height:1.9;
    max-width:88%;
  }
}

/* 6️⃣ HOVER MICRO-INTERACTION (DESKTOP ONLY) */
@media(min-width:768px){
  .card:hover .title{
    transform:translateY(-2px);
    transition:transform 0.25s ease;
  }
}

/* 7️⃣ TOUCH FEEDBACK (MOBILE) */
.card:active{
  transform:scale(0.98);
  transition:transform 0.15s ease;
}

/* ================= 🏆 FINAL MOBILE AD SPACE FIX ================= */

@media(max-width:768px){

  .card .title{
    padding-bottom:90px !important;   /* 🔥 reserve space for ad */
  }

}



  
/* ================= 🏆 PREMIUM CARD AD ================= */
/* ================= 🏆 FINAL DYNAMIC PREMIUM AD ================= */

.card-ad{
  position:absolute;
  bottom:16px;
  left:50%;
  transform:translateX(-50%);

  width:72%;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  padding:10px 14px;

  border-radius:20px;
  text-decoration:none;

  /* 🔥 IMPORTANT: no fixed color (comes from JS g.ad) */
  backdrop-filter:blur(14px);

  border:1px solid rgba(255,255,255,0.15);

  box-shadow:
    0 6px 18px rgba(0,0,0,0.35);

  z-index:3;

  transition:all 0.25s ease;

  /* 🔥 subtle premium motion */
  animation:adBreath 3.5s ease-in-out infinite;
}

/* ================= TITLE ================= */
.card-ad .ad-main{
  font-size:13px;
  font-weight:600;
  color:#ffffff;

  text-align:center;

  white-space:nowrap;   /* single line */
}

/* ================= TAGLINE ================= */
.card-ad .ad-sub{
  font-size:11px;
  color:rgba(255,255,255,0.85);

  margin-top:2px;
  text-align:center;

  white-space:nowrap;   /* single line */
}

/* ================= BREATH EFFECT ================= */
@keyframes adBreath{
  0%{
    box-shadow:0 4px 14px rgba(0,0,0,0.35);
  }
  50%{
    box-shadow:0 8px 22px rgba(255,215,0,0.25);
  }
  100%{
    box-shadow:0 4px 14px rgba(0,0,0,0.35);
  }
}

/* ================= ARROW (INDICATOR ONLY) ================= */
.card-ad::after{
  content:"›";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);

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

  color:rgba(255,255,255,0.7);

  pointer-events:none;

  animation:arrowMove 1.6s ease-in-out infinite;
}

@keyframes arrowMove{
  0%,100%{ transform:translateY(-50%) translateX(0); opacity:0.6; }
  50%{ transform:translateY(-50%) translateX(4px); opacity:1; }
}

/* ================= TOUCH ================= */
.card-ad:active{
  transform:translateX(-50%) scale(0.96);
}

/* ================= AD BADGE ================= */
.card-ad::before{
  content:"AD";
  position:absolute;
  top:-6px;
  right:10px;

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

  padding:2px 6px;

  background:#2563eb;
  color:#fff;

  border-radius:8px;
}

/* ================= SPACE FIX ================= */
@media(max-width:768px){
  .card .title{
    padding-bottom:90px !important;
  }
}

/* ================= MOBILE ONLY ================= */
@media(min-width:768px){
  .card-ad{
    display:none;
  }
}

/* OVERLAY */
.card::before{
  content:"";
  position:absolute;
  inset:0;

  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0.2),
    rgba(0,0,0,0.65)
  );

  z-index:1;
}

/* TEXT ABOVE */
.card .title{
  position:relative;
  z-index:2;
}

/* AD ABOVE */
.card-ad{
  z-index:3;
}

/* CARD DEPTH */
.card{
  box-shadow:
    0 10px 30px rgba(0,0,0,0.4),
    inset 0 0 40px rgba(255,255,255,0.05);
}

@media(max-width:768px){

  html,
  body{
    height:100%;
    overflow:hidden;
  }

  .section{
    padding:0;
    margin:0;
    max-width:none;
    width:100%;
    height:100vh;
  }

}


/* MOBILE REELS MODE ONLY */
@media(max-width:768px){

  .yt-grid{
    height:100vh;
    overflow-y:auto;

    display:flex;
    flex-direction:column;

    gap:0;

    scroll-snap-type:y mandatory;
    -webkit-overflow-scrolling:touch;

    scrollbar-width:none;
  }

  .yt-grid::-webkit-scrollbar{
    display:none;
  }

  .card{
    flex:0 0 calc(100dvh - 80px);

    height:calc(100dvh - 80px);
    width:100%;

    scroll-snap-align:start;
    scroll-snap-stop:always;

    border-radius:20px;

    margin:0;
  }

}


/* ================= LOAD MORE BUTTON ================= */

.load-more-wrap{

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

  height:calc(100dvh - 80px);

  scroll-snap-align:start;
  scroll-snap-stop:always;
}

.load-more-btn{

  width:100px;
  height:100px;

  border:none;
  border-radius:50%;

  cursor:pointer;

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

  color:#fff;

  background:linear-gradient(
    135deg,
    #2563eb,
    #1e40af
  );

  box-shadow:
    0 10px 35px rgba(37,99,235,.45);

  transition:all .2s ease;
}

.load-more-btn:hover{
  transform:scale(1.08);
}

.load-more-btn:active{
  transform:scale(.95);
}
 
