/* Custom home styles from user */
@import url('https://fonts.googleapis.com/css2?family=Comic+Neue:wght@400;700&family=Baloo+2:wght@400;600;700;800&display=swap');

body {
  box-sizing: border-box;
  font-family: 'Baloo 2', 'Comic Neue', cursive, sans-serif;
}

.gradient-bg {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 25%, #fed7aa 50%, #fecaca 75%, #ddd6fe 100%);
}

.card-hover {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -12px rgba(59, 130, 246, 0.3);
}

.pdf-icon {
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-8px) rotate(2deg); }
}

.bounce-icon {
  animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-10px) scale(1.1); }
}

.wiggle {
  animation: wiggle 1s ease-in-out;
}

@keyframes wiggle {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-5deg); }
  75% { transform: rotate(5deg); }
}

.shimmer {
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.1), transparent);
  background-size: 200% 100%;
  animation: shimmer 2s infinite;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.category-pill { transition: all 0.3s ease; }
.category-pill:hover { transform: scale(1.05); }
.category-pill.active { transform: scale(1.05); }

.search-input:focus { box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2); }

.download-btn { transition: all 0.3s ease; }
.download-btn:hover { transform: scale(1.05); }

.ad-space { background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); border: 2px dashed #bae6fd; }

.modal-backdrop { background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(4px); }
.modal-enter { animation: modalEnter 0.3s ease-out; }
@keyframes modalEnter { from { opacity:0; transform:scale(0.9);} to { opacity:1; transform:scale(1);} }

.pdf-viewer-container { height: calc(100% - 80px); }

.toolbar-btn { transition: all 0.2s ease; }
.toolbar-btn:hover { transform: scale(1.1); }

/* Minor utilities to align with original design */
.card-grid { display: grid; grid-template-columns: repeat(1, minmax(0,1fr)); gap: 1.5rem; }
@media (min-width: 768px) { .card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1024px) { .card-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }

/* Ensure large decorative blobs don't block interaction */
#site-header .absolute { pointer-events: none !important; z-index: 0; }
#site-header .relative { z-index: 10; }

/* Admin panel tweaks to match Home UI */
.admin-card-title { font-weight: 800; color: transparent; -webkit-background-clip: text; background-clip: text; background-image: linear-gradient(to right, #6b21a8, #db2777, #f97316); }
.admin-btn { padding: 0.5rem 1rem; border-radius: 9999px; background: linear-gradient(90deg,#34d399,#06b6d4); color: white; font-weight: 700; box-shadow: 0 8px 24px rgba(13,110,253,0.12); }
.admin-card { border-radius: 1rem; box-shadow: 0 12px 30px rgba(15,23,42,0.06); background: white; }

/* Admin table style */
.admin-table { border-collapse: collapse; width: 100%; }
.admin-table thead th { background: linear-gradient(90deg,#f8fafc,#fff); padding: 12px; text-align: left; font-weight: 700; }
.admin-table tbody td { padding: 12px; vertical-align: middle; }
.admin-table tbody tr { transition: all 0.15s ease; }
.admin-table tbody tr:hover { background: #fbfbfd; transform: translateY(-2px); }

/* Admin buttons and pagination */
.admin-btn { padding: 0.5rem 0.9rem; border-radius: 9999px; background: linear-gradient(90deg,#34d399,#06b6d4); color: #fff; font-weight: 700; display:inline-block; }
.admin-btn.bg-yellow-400 { background: linear-gradient(90deg,#f59e0b,#f97316); }
.admin-btn.bg-red-500 { background: linear-gradient(90deg,#ef4444,#dc2626); }

.admin-pagination { display:flex; justify-content:flex-end; }
.admin-pagination nav { background: transparent; }

/* Small utility for search/filter inputs in admin */
.search-input, select { border: 1px solid #e6e7ee; background: #fff; }

/* Make the forms and inputs look coherent */
input[type=search] { width: 240px; }



