/* EduVerse live cards fix + responsive UI */
.edu-live-grid,
#productsGrid,
#modulesGrid,
#pricingGrid,
#customersGrid {
  width: min(1180px, calc(100vw - 32px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 22px;
  align-items: stretch;
}
#productsGrid:empty::before,
#modulesGrid:empty::before,
#pricingGrid:empty::before,
#customersGrid:empty::before { content: "Loading..."; }
.edu-card,
.product-card.edu-card,
.module-card.edu-card,
.pricing-card.edu-card,
.customer-card.edu-card {
  min-height: 260px;
  height: 100%;
  padding: 24px;
  border-radius: 28px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(148,163,184,.28);
  box-shadow: 0 22px 55px rgba(15,23,42,.09);
  backdrop-filter: blur(16px);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  opacity: 1 !important;
  transform: none;
  display: flex;
  flex-direction: column;
}
.edu-card:hover { transform: translateY(-8px); border-color: rgba(37,99,235,.45); box-shadow: 0 28px 70px rgba(37,99,235,.18); }
.edu-card::before {
  content:"";
  position:absolute; inset:-1px;
  background: radial-gradient(circle at top right, rgba(37,99,235,.14), transparent 34%), radial-gradient(circle at bottom left, rgba(14,165,233,.12), transparent 35%);
  pointer-events:none;
}
.edu-card > * { position: relative; z-index: 1; }
.edu-icon {
  width: 58px; height: 58px;
  display:grid; place-items:center;
  font-size: 28px;
  border-radius: 20px;
  background: linear-gradient(135deg, #dbeafe, #eff6ff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 12px 28px rgba(37,99,235,.14);
  margin-bottom: 14px;
}
.edu-card h3 { margin: 4px 0 8px; color:#0f172a; font-size: 1.15rem; line-height: 1.22; }
.edu-card p { color:#64748b; line-height:1.55; margin: 4px 0; }
.edu-subtitle { color:#2563eb !important; font-weight:800; font-size:.9rem; }
.edu-price { margin-top:auto; padding-top:14px; display:flex; align-items:flex-end; gap:8px; flex-wrap:wrap; }
.edu-price del { color:#94a3b8; font-size:1rem; }
.edu-price strong { color:#1d4ed8; font-size:2rem; line-height:1; }
.edu-price span { color:#64748b; font-weight:700; font-size:.86rem; padding-bottom:4px; }
.edu-actions { display:flex; gap:10px; margin-top:16px; flex-wrap:wrap; }
.edu-actions .btn, .edu-actions button { flex:1; min-width:112px; white-space:nowrap; }
.edu-school-logo { width:78px; height:78px; border-radius:22px; object-fit:contain; background:#fff; padding:8px; box-shadow:0 14px 34px rgba(37,99,235,.16); margin-bottom:14px; }
.edu-school-fallback { display:grid; place-items:center; font-size:36px; }
.edu-rank { position:absolute; right:16px; top:16px; z-index:2; padding:7px 11px; border-radius:999px; background:#eff6ff; color:#2563eb; font-weight:900; font-size:.85rem; }
.edu-badge { display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; background:#dcfce7; color:#15803d; font-weight:800; font-size:.78rem; margin-top:12px; width:max-content; }
.edu-scroll-box { max-height:82px; overflow:auto; padding-right:4px; }
.edu-empty, .edu-error, .edu-loading { grid-column:1/-1; min-height:190px; display:grid; place-items:center; text-align:center; border-radius:30px; background:rgba(255,255,255,.72); border:1px solid rgba(148,163,184,.25); color:#64748b; padding:28px; }
.edu-error { color:#991b1b; background:#fff1f2; }
.edu-modal { position:fixed; inset:0; z-index:9999; display:none; place-items:center; background:rgba(15,23,42,.55); padding:18px; }
.edu-modal.active { display:grid; }
.edu-modal-card { width:min(560px, 96vw); max-height:86vh; overflow:auto; border-radius:30px; background:rgba(255,255,255,.96); padding:28px; box-shadow:0 35px 90px rgba(0,0,0,.25); }
.edu-modal-head { display:flex; gap:16px; align-items:center; margin-bottom:12px; }
.edu-modal-card h2 { margin:0; color:#0f172a; }
.edu-modal-card p { color:#64748b; line-height:1.6; }
.edu-modal-actions { display:flex; gap:12px; margin-top:18px; flex-wrap:wrap; }
@media (max-width: 680px) {
  .section { padding-left: 10px !important; padding-right: 10px !important; }
  .edu-live-grid,
  #productsGrid,
  #modulesGrid,
  #pricingGrid,
  #customersGrid {
    width: 100%;
    grid-template-columns: repeat(2, 200px);
    justify-content: start;
    overflow-x: auto;
    gap: 12px;
    padding: 4px 6px 12px;
    scroll-snap-type: x mandatory;
  }
  .edu-card,
  .product-card.edu-card,
  .module-card.edu-card,
  .pricing-card.edu-card,
  .customer-card.edu-card {
    width: 200px !important;
    height: 200px !important;
    min-height: 200px !important;
    padding: 14px;
    border-radius: 22px;
    scroll-snap-align: start;
    overflow: auto;
  }
  .edu-icon { width: 44px; height: 44px; font-size:22px; border-radius:15px; margin-bottom:8px; }
  .edu-card h3 { font-size:.95rem; margin:2px 0 5px; }
  .edu-card p { font-size:.78rem; line-height:1.35; }
  .edu-subtitle { font-size:.72rem; }
  .edu-price { padding-top:7px; gap:5px; }
  .edu-price strong { font-size:1.25rem; }
  .edu-price del, .edu-price span { font-size:.7rem; }
  .edu-actions { gap:6px; margin-top:8px; }
  .edu-actions .btn, .edu-actions button { min-width:76px; padding:8px 9px; font-size:.72rem; }
  .edu-school-logo { width:48px; height:48px; border-radius:14px; margin-bottom:8px; }
  .edu-rank { top:10px; right:10px; padding:5px 8px; font-size:.7rem; }
  .edu-badge { font-size:.65rem; padding:5px 8px; margin-top:6px; }
  .title h2, .hero-copy h1 { font-size: clamp(2rem, 9vw, 3rem) !important; }
}
