/* ===== Grid ===== */
.glc-grid { display: grid; gap: 16px; }
.glc-grid[data-cols="1"] { grid-template-columns: repeat(1, 1fr); }
.glc-grid[data-cols="2"] { grid-template-columns: repeat(2, 1fr); }
.glc-grid[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
.glc-grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .glc-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 640px)  { .glc-grid { grid-template-columns: repeat(1, 1fr) !important; } }

/* ===== Cards ===== */
.glc-card { border-radius: 10px; overflow: hidden; position: relative; background: transparent; }
.glc-card button.glc-open { all: unset; cursor: pointer; display: block; width: 100%; }

/* ===== Slightly landscape thumbnail / player (5:4) =====
   - Container is 5:4 (a bit landscape).
   - Thumbnail covers; iframe shows 16:9 centered with blue bars top/bottom. */
.glc-thumb { position: relative; width: 100%; aspect-ratio: 5 / 4; background: #0d6efd !important; overflow: hidden; }
.glc-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Inline player (centered 16:9 inside 5:4) */
.glc-thumb iframe {
  position: absolute; left: 0; width: 100%;
  height: 56.25%;               /* 9/16 of width */
  top: 50%; transform: translateY(-50%);
  border: 0;
}

/* ===== Play overlay ===== */
.glc-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.glc-play::before {
  content: ""; width: 64px; height: 64px; border-radius: 50%;
  background: rgba(0,0,0,.35);
}
.glc-play::after {
  content: ""; position: absolute; margin-left: -6px;
  width: 0; height: 0; border-left: 18px solid #fff;
  border-top: 12px solid transparent; border-bottom: 12px solid transparent;
}

/* ===== Title ===== */
.glc-title {
  color: #111; font-size: 0.95rem; line-height: 1.3;
  margin: 10px 8px 14px; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* ===== Actions ===== */
.glc-actions { margin-top: 10px; display: flex; justify-content: center; }
.glc-load-more {
  appearance: none; border: 0; padding: 10px 16px; border-radius: 8px; cursor: pointer; font-weight: 600;
}

/* ===== Lightbox (5:4, blue, centered video) ===== */
.glc-modal[hidden] { display: none; }
.glc-modal {
  position: fixed; inset: 0; background: rgba(0,0,0,.85);
  z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 20px;
}
.glc-modal .glc-iframe-wrap {
  width: min(520px, 92vw);
  aspect-ratio: 5 / 4;           /* slightly landscape */
  background: #0d6efd !important;
  position: relative; overflow: hidden;
}
.glc-modal iframe {
  position: absolute; left: 0; width: 100%;
  height: 56.25%; top: 50%; transform: translateY(-50%);
  border: 0;
}
.glc-close {
  position: absolute; top: 12px; right: 16px;
  background: transparent; border: 0; color: #fff; font-size: 32px; cursor: pointer;
}
