/* ==========================================
   CARDS
   Стилі для карток та контейнерів контенту
   ========================================== */

/* ==========================================
   CONTENT CARD
   ========================================== */
.content-card {
  border: none;
  border-radius: var(--radius);
  padding: 1.5rem;
  background: var(--bg-card);
  box-shadow: var(--shadow);
  min-width: 0;
  max-width: 100%;
}

/* ==========================================
   STATS CARD
   ========================================== */
.stats-card {
  transition: var(--transition);
}

.stats-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

/* ==========================================
   DASHBOARD CARD
   ========================================== */
.dashboard-card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: var(--shadow);
  transition: var(--transition);
}

.dashboard-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}

/* ==========================================
   PAGE HEADER
   ========================================== */
.page-header {
  position: relative;
  overflow: hidden;
  background: var(--gradient-hero);
  color: var(--color-white);
  margin: -1rem -1rem -1rem -1rem;
  padding: 2rem 1rem;
  border-radius: var(--radius-lg);
}

.page-header::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 120% at 90% 0%, rgba(var(--rgb-white), 0.28), transparent 55%),
    radial-gradient(120% 120% at 10% 110%, rgba(var(--rgb-black), 0.12), transparent 60%);
  pointer-events: none;
}

.page-header > * {
  position: relative;
  z-index: 1;
}

/* ==========================================
   WELCOME HEADER
   ========================================== */
.welcome-header {
  position: relative;
  overflow: hidden;
  background: var(--gradient-hero);
  color: var(--color-white);
  border-radius: var(--radius-lg);
  padding: 2.5rem 2rem;
  margin-bottom: 2rem;
  text-align: center;
  box-shadow: var(--shadow);
}

.welcome-header::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 120% at 85% 5%, rgba(var(--rgb-white), 0.24), transparent 55%),
    radial-gradient(120% 120% at 5% 110%, rgba(var(--rgb-black), 0.12), transparent 60%);
  pointer-events: none;
}

.welcome-header > * {
  position: relative;
  z-index: 1;
}

.welcome-header h1 {
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.welcome-header p {
  opacity: 0.9;
  margin-bottom: 0;
}

/* ==========================================
   DARK MODE - PAGE/WELCOME HEADER
   ========================================== */
body.dark-mode .page-header::after,
body.dark-mode .welcome-header::after {
  background:
    radial-gradient(120% 120% at 90% 0%, rgba(var(--rgb-white), 0.12), transparent 55%),
    radial-gradient(120% 120% at 10% 110%, rgba(var(--rgb-black), 0.35), transparent 60%);
}

/* ==========================================
   BOOTSTRAP CARD OVERRIDES
   ========================================== */
.card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-card);
}

.card.shadow-sm {
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.card-header {
  background-color: var(--light);
  border-bottom: 1px solid var(--border);
  padding: 1rem 1.25rem;
}

.card-header.bg-primary.text-white {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(var(--rgb-white), 0.15);
}

.card-title {
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.card-title.mb-0 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0 !important;
}

.card-body {
  padding: 1.25rem;
}

.card-body.p-0 {
  position: relative;
  padding: 0;
}

.card-footer {
  background-color: var(--light);
  border-top: 1px solid var(--border);
  padding: 0.75rem 1.25rem;
}

.card-footer.border-top {
  border-top: 1px solid var(--border);
  background-color: var(--light);
  padding: 0.75rem 1.25rem;
  color: var(--text);
}

.card-footer .btn.btn-outline-secondary.btn-sm {
  border-color: var(--border);
  transition: var(--transition);
}

.card-footer .btn.btn-outline-secondary.btn-sm:hover {
  background: var(--primary);
  color: var(--color-white);
  border-color: var(--primary);
}

/* ==========================================
   DARK MODE - CARDS
   ========================================== */
body.dark-mode .content-card {
  background: var(--dark-surface);
  box-shadow: 0 4px 20px rgba(var(--rgb-black), 0.3);
  border: 1px solid rgba(var(--rgb-white), 0.05);
}

body.dark-mode .stats-card:hover {
  box-shadow: 0 8px 30px rgba(var(--rgb-black), 0.4);
  border: 1px solid rgba(var(--rgb-white), 0.1);
}

body.dark-mode .dashboard-card {
  background: var(--dark-surface);
  border: 1px solid rgba(var(--rgb-white), 0.05);
  box-shadow: 0 4px 20px rgba(var(--rgb-black), 0.3);
}

body.dark-mode .dashboard-card:hover {
  box-shadow: 0 8px 30px rgba(var(--rgb-black), 0.4);
  border: 1px solid rgba(var(--rgb-white), 0.1);
}

body.dark-mode .welcome-header {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
  border: 1px solid rgba(var(--rgb-white), 0.05);
}

body.dark-mode .card {
  background-color: var(--dark-surface);
  border-color: rgba(var(--rgb-white), 0.1);
}

body.dark-mode .card-header {
  background-color: rgba(var(--rgb-white), 0.05);
  border-bottom-color: rgba(var(--rgb-white), 0.1);
}

body.dark-mode .card.shadow-sm {
  background-color: var(--dark-surface);
  color: var(--light);
  border: 1px solid rgba(var(--rgb-white), 0.1);
  box-shadow: 0 4px 20px rgba(var(--rgb-black), 0.3);
}

body.dark-mode .card-header.bg-primary.text-white {
  background-color: var(--primary-hover);
  border-bottom-color: rgba(var(--rgb-white), 0.15);
}

body.dark-mode .card-footer {
  background-color: var(--dark-hover);
  border-top-color: rgba(var(--rgb-white), 0.1);
  color: var(--text-dark);
}

/* ==========================================
   RESPONSIVE
   ========================================== */
@media (max-width: 768px) {
  .content-card {
    padding: 1rem;
  }

  .dashboard-card {
    padding: 1rem;
  }

  .welcome-header {
    padding: 1.5rem 1rem;
  }
}
