/* Adana Course v1.0.8 — Public Pages & Student Area UI Consistency
   Non-destructive polish layer for public/student pages. This file intentionally
   sits after page-specific CSS and only standardizes spacing, cards, mobile flow,
   quick search tools, and visual density. */
:root {
  --student-bg: #eef6ff;
  --student-surface: #ffffff;
  --student-ink: #0f1b2d;
  --student-slate: #3d5478;
  --student-muted: #7b93b3;
  --student-border: #dde8f5;
  --student-blue: #2563eb;
  --student-blue-soft: #eff6ff;
  --student-violet: #7c3aed;
  --student-emerald: #059669;
  --student-amber: #f59e0b;
  --student-rose: #e11d48;
  --student-radius-lg: 26px;
  --student-radius-md: 18px;
  --student-shadow-card: 0 14px 42px rgba(37, 99, 235, .095);
  --student-shadow-hover: 0 24px 64px rgba(37, 99, 235, .145);
}

/* Shared page rhythm */
.mc-header,
.notes-header,
.ph-header,
.certs-header,
.notif-header,
.page-header,
.lp-hero,
.detail-hero {
  isolation: isolate;
}

.mc-header .hz,
.notes-header .hz,
.ph-header .hz,
.certs-header .hz,
.notif-header .header-z,
.page-header .page-header-inner,
.lp-hero .container,
.detail-hero .hero-inner {
  max-width: 1180px;
}

.mc-header,
.notes-header,
.ph-header,
.certs-header,
.notif-header,
.page-header,
.lp-hero {
  border-bottom: 1px solid rgba(191, 219, 254, .72) !important;
}

.page-title,
.mc-header h1,
.bookmarks-head h1,
.notes-header .page-title,
.ph-header .page-title,
.certs-header .page-title,
.notif-header .page-title,
.detail-hero .hero-title,
.lp-hero h1 {
  letter-spacing: -.035em;
}

.page-sub,
.mc-header p,
.bookmarks-head p,
.notes-header .page-sub,
.ph-header .page-sub,
.certs-header .page-sub,
.detail-hero .hero-desc,
.lp-hero p {
  max-width: 760px;
}

/* Shared cards: course, student tools, payment, certificate, notes, notifications */
.mc-card,
.stat-card,
.learning-tool-card,
.activity-mini,
.bookmarks-head,
.bookmark-card,
.note-card,
.ph-table-wrap,
.pm-card,
.cert-card,
.notif-list,
.detail-card,
.sidebar-card,
.free-preview-card,
.path-card,
.empty-wrap,
.empty-bookmarks,
.notif-empty,
.login-gate,
.voucher-box,
.learn-sidebar,
.lesson-content,
.lesson-notes-panel,
.locked-content,
.mat-item,
.cm-inner {
  border-color: rgba(221, 232, 245, .96) !important;
  box-shadow: var(--student-shadow-card) !important;
}

.mc-card,
.bookmark-card,
.note-card,
.pm-card,
.cert-card,
.path-card,
.detail-card,
.sidebar-card,
.free-preview-card,
.mat-item {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.mc-card:hover,
.bookmark-card:hover,
.note-card:hover,
.pm-card:hover,
.cert-card:hover,
.path-card:hover,
.detail-card:hover,
.sidebar-card:hover,
.free-preview-card:hover,
.mat-item:hover {
  transform: translateY(-3px);
  box-shadow: var(--student-shadow-hover) !important;
  border-color: rgba(147, 197, 253, .95) !important;
}

/* Student summary cards */
.stat-card,
.learning-tool-card {
  position: relative;
  overflow: hidden;
}
.stat-card::after,
.learning-tool-card::after {
  content: '';
  position: absolute;
  width: 120px;
  height: 120px;
  right: -50px;
  top: -55px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(37,99,235,.14), transparent 68%);
  pointer-events: none;
}

/* Course/progress cards */
.mc-card,
.bookmark-card,
.note-card,
.pm-card,
.cert-card {
  border-radius: var(--student-radius-lg) !important;
}
.mc-card-head,
.cert-card-preview {
  border-radius: calc(var(--student-radius-lg) - 2px) calc(var(--student-radius-lg) - 2px) 0 0 !important;
}
.progress-track,
.path-progress,
.mc-progress .progress-track {
  overflow: hidden;
  background: #eaf2ff !important;
}
.progress-fill {
  background: linear-gradient(135deg, var(--student-blue), var(--student-violet)) !important;
}

/* Modern quick toolbar injected by student-ui.js */
.student-quick-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  background: rgba(255,255,255,.88);
  border: 1px solid var(--student-border);
  border-radius: 20px;
  padding: 12px 14px;
  margin: 0 0 20px;
  box-shadow: 0 10px 30px rgba(37,99,235,.08);
  backdrop-filter: blur(14px);
}
.student-quick-search {
  position: relative;
  flex: 1 1 300px;
  max-width: 560px;
}
.student-quick-search i {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--student-blue);
  font-size: .86rem;
}
.student-quick-input {
  width: 100%;
  border: 1px solid #cfe0f8;
  border-radius: 999px;
  padding: 11px 16px 11px 42px;
  outline: none;
  font: 700 .86rem 'Plus Jakarta Sans', sans-serif;
  color: var(--student-ink);
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.student-quick-input:focus {
  border-color: var(--student-blue);
  box-shadow: 0 0 0 4px rgba(37,99,235,.12);
}
.student-quick-count {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--student-blue-soft);
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}
.student-no-result {
  display: none;
  background: #fff;
  border: 1px dashed #bfdbfe;
  border-radius: 22px;
  padding: 34px 18px;
  text-align: center;
  color: var(--student-muted);
  box-shadow: 0 12px 34px rgba(37,99,235,.07);
  margin-top: 14px;
}
.student-no-result.is-visible { display: block; }
.student-filter-hidden { display: none !important; }

/* Page-specific density fixes */
.bookmarks-wrap,
.notes-body,
.ph-body,
.certs-body,
.notif-body,
.lp-main {
  background:
    radial-gradient(circle at top left, rgba(219,234,254,.62), transparent 30%),
    radial-gradient(circle at bottom right, rgba(237,233,254,.62), transparent 28%),
    var(--student-bg) !important;
}

.bookmark-grid,
.note-inner .row,
.certs-body .row,
.payment-history-grid {
  align-items: stretch;
}

.bookmark-actions,
.note-actions,
.cert-actions,
.btn-row,
.mc-actions,
.learning-tool-actions {
  gap: 10px !important;
}

.bookmark-actions a,
.note-btn,
.btn-learn,
.btn-learn-primary,
.btn-learn-outline,
.btn-cert,
.btn-go-courses,
.btn-shop,
.btn-pending,
.btn-expired,
.btn-cert-view,
.btn-cert-print,
.btn-cta,
.btn-voucher,
.btn-gate-login,
.btn-gate-register {
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* Payment history: mobile cards should look intentional */
.ph-mobile-list .pm-card,
.pm-card {
  background: rgba(255,255,255,.98) !important;
}
.pm-top,
.pm-footer,
.note-top-bar,
.note-footer,
.cert-actions {
  gap: 12px;
  flex-wrap: wrap;
}

/* Learn page: better focus and mobile reading comfort */
.learn-main {
  background:
    radial-gradient(circle at 6% 4%, rgba(37,99,235,.08), transparent 32%),
    radial-gradient(circle at 96% 14%, rgba(124,58,237,.08), transparent 30%),
    #f8fbff !important;
}
.learn-layout {
  gap: 24px !important;
}
.lesson-content,
.lesson-notes-panel,
.locked-content {
  border-radius: 24px !important;
}
.lesson-h1 {
  letter-spacing: -.028em;
}
.learn-tabs {
  border-radius: 18px !important;
  background: #fff !important;
  border: 1px solid var(--student-border) !important;
  box-shadow: 0 10px 30px rgba(37,99,235,.07);
}
.learn-tabs .active,
.learn-tabs .is-active {
  box-shadow: 0 10px 26px rgba(37,99,235,.14);
}

/* Course detail conversion card polish */
.payment-bar,
.price-block,
.login-gate,
.voucher-box {
  border-radius: 22px !important;
}
.includes-item,
.outcome-item,
.info-item,
.meta-pill {
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.includes-item:hover,
.outcome-item:hover,
.info-item:hover {
  transform: translateY(-2px);
  border-color: #bfdbfe !important;
  background: #f8fbff !important;
}

/* Public course listing */
.course-card,
.filter-inner,
.search-bar-wrap,
.empty-state {
  border-color: rgba(221,232,245,.95) !important;
  box-shadow: var(--student-shadow-card) !important;
}
.course-card:hover {
  box-shadow: var(--student-shadow-hover) !important;
  transform: translateY(-4px);
}
.course-grid {
  align-items: stretch;
}
.course-body {
  min-height: 255px;
}

/* Accessibility: clearer focus rings */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(37,99,235,.28) !important;
  outline-offset: 3px;
}

/* Mobile polish */
@media (max-width: 991.98px) {
  .mc-header,
  .notes-header,
  .ph-header,
  .certs-header,
  .notif-header,
  .page-header,
  .lp-hero {
    padding-top: 42px !important;
    padding-bottom: 36px !important;
  }
  .detail-hero { padding-top: 36px !important; }
  .stat-card,
  .learning-tool-card,
  .mc-card,
  .bookmark-card,
  .note-card,
  .pm-card,
  .cert-card,
  .detail-card,
  .sidebar-card,
  .path-card {
    border-radius: 22px !important;
  }
  .learn-layout {
    grid-template-columns: 1fr !important;
  }
  .learn-sidebar {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
  }
  .student-quick-tools {
    border-radius: 18px;
  }
}

@media (max-width: 575.98px) {
  .page-title,
  .mc-header h1,
  .bookmarks-head h1,
  .notes-header .page-title,
  .ph-header .page-title,
  .certs-header .page-title,
  .notif-header .page-title,
  .detail-hero .hero-title,
  .lp-hero h1 {
    font-size: clamp(1.75rem, 9vw, 2.45rem) !important;
  }
  .mc-actions,
  .bookmark-actions,
  .note-actions,
  .cert-actions,
  .btn-row,
  .learning-tool-actions {
    width: 100%;
  }
  .mc-actions a,
  .bookmark-actions a,
  .note-actions button,
  .cert-actions a,
  .btn-row a,
  .learning-tool-actions a {
    flex: 1 1 100%;
    width: 100%;
  }
  .student-quick-input {
    font-size: .82rem;
  }
  .student-quick-count {
    width: 100%;
    justify-content: center;
  }
  .notif-item {
    align-items: flex-start !important;
    padding: 18px !important;
  }
  .notif-actions {
    margin-left: auto;
  }
  .course-body {
    min-height: auto;
  }
}
