/* =================================
   THEME
================================= */
:root {
  --bg: #f6f8fb;
  --text: #1e293b;
  --card: #ffffff;
  --accent: #2563eb;
}

.dark {
  --bg: #0f172a;
  --text: #e2e8f0;
  --card: #1e293b;
  --accent: #60a5fa;
}


/* =================================
   BASE
================================= */
* {
  box-sizing: border-box;
}

body {
  font-family: system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--text);

  max-width: 900px;     /* narrower = better mobile look */
  margin: auto;
  padding: 18px;

  line-height: 1.7;
}


/* =================================
   HEADER
================================= */
header {
  text-align: center;
  padding: 40px 0 20px;
}


/* =================================
   NAVBAR
================================= */
nav {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 25px;
}

nav a {
  text-decoration: none;
  font-weight: 600;
  color: var(--accent);
}

/* Dark button right */
.toggle-btn {
  margin-left: auto;
  padding: 6px 10px;
  border-radius: 8px;
  border: none;
  background: var(--accent);
  color: white;
  cursor: pointer;
}


/* =================================
   SEARCH (small clean version)
================================= */
.search-box {
  margin-left: auto;
  display: flex;
  align-items: center;
}

.search-box input {
  width: 120px;
  padding: 6px 8px;
  font-size: 13px;
  border-radius: 8px;
}


/* =================================
   CARDS
================================= */
.card {
  background: var(--card);
  padding: 20px;
  margin-bottom: 18px;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  transition: 0.25s;
}

.card:hover {
  transform: translateY(-4px);
}

.card img {
  width: 100%;
  border-radius: 10px;
}


/* =================================
   GRID (THIS FIXES YOUR VIDEO + GALLERY BUG)
================================= */
.grid {
  display: grid;
  gap: 18px;

  /* AUTO RESPONSIVE MAGIC */
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

iframe {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 10px;
}


/* =================================
   MOBILE POLISH
================================= */
@media (max-width: 600px) {

  body {
    padding: 14px;
  }

  nav {
    gap: 10px;
  }

  .search-box input {
    width: 90px;
  }
}
