/* GtmCamp × Tutor LMS. Brand tokens for Tutor's own screens (dashboard, lesson player)
   plus fixes for the places where Tutor's markup sits inside our templates. */

/* ---------- Tutor design tokens → GtmCamp palette ---------- */
:root {
  /* legacy (course pages, modals) */
  --tutor-color-primary: #1b2e4a;
  --tutor-color-primary-rgb: 27, 46, 74;
  --tutor-color-primary-hover: #24406a;
  --tutor-body-color: #33445f;
  --tutor-border-color: #d3dbe6;
  --tutor-color-gray: #e5eaf1;
  --tutor-color-gray-10: #f7f9fc;
  --tutor-color-success: #1e8a8a;
  --tutor-color-success-rgb: 30, 138, 138;
  --tutor-color-warning: #f5821f;
  --tutor-color-warning-rgb: 245, 130, 31;
  /* Tutor 4 design system (dashboard, learning area) */
  --tutor-font-family-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --tutor-font-family-heading: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --tutor-text-primary: #1b2e4a;
  --tutor-text-secondary: #33445f;
  --tutor-text-subdued: #64748b;
  --tutor-text-brand: #2f7de1;
  --tutor-text-success: #1e8a8a;
  --tutor-icon-brand: #2f7de1;
  --tutor-icon-brand-hover: #1b2e4a;
  --tutor-icon-success-primary: #1e8a8a;
  --tutor-border-idle: #e5eaf1;
  --tutor-border-idle2: #d3dbe6;
  --tutor-border-hover: #3b6fb8;
  --tutor-border-brand: #1b2e4a;
  --tutor-border-success: #1e8a8a;
  --tutor-surface-base: #ffffff;
  --tutor-surface-l1: #ffffff;
  --tutor-surface-l1-hover: #f7f9fc;
  --tutor-surface-brand-tertiary: #f0f5fd;
  --tutor-actions-success-primary: #1e8a8a;
  --tutor-brand-450: #24406a;
  --tutor-surface-sidebar-l1: #f7f9fc;
  --tutor-tab-sidebar-l2-active: #ffffff;
  --tutor-tab-sidebar-l2-hover: #eef2f8;
  --tutor-button-radius: 8px;
  --tutor-button-font-weight: 600;
  /* our sticky header is 72px tall */
  --tutor-site-header-offset: 72px;
}

.tutor-btn { border-radius: 8px; font-weight: 600; font-family: var(--sans); }
.tutor-btn-primary { background-color: var(--navy); border-color: var(--navy); }
.tutor-btn-primary:hover, .tutor-btn-primary:focus { background-color: #24406a; border-color: #24406a; }
.tutor-btn-outline-primary { color: var(--navy); border-color: var(--navy); }
.tutor-btn-outline-primary:hover { background-color: var(--navy); border-color: var(--navy); color: #fff; }
.tutor-card { border-radius: var(--radius); border-color: var(--line-strong); box-shadow: none; }
.tutor-form-control { border-radius: 8px; border-color: var(--line-strong); }
.tutor-form-control:focus { border-color: var(--blue); box-shadow: 0 0 0 2px color-mix(in srgb, var(--blue) 30%, transparent); }
.tutor-modal-content { border-radius: 14px; }

/* ---------- Courses catalogue ---------- */
a.chip { display: inline-block; text-decoration: none; }
a.chip[aria-current="page"] { background: var(--navy); border-color: var(--navy); color: #fff; }
a.course-card { color: inherit; text-decoration: none; }
a.course-card:hover h2 { color: var(--navy); }

/* ---------- Single course ---------- */
.gtmcamp-course .byline .tag { text-transform: uppercase; }
.lessons li a { color: inherit; }
.lessons li a:hover { color: var(--blue); }
.lessons li > span:not(.dur):not(.free) { color: var(--navy-soft); }

.buy > .card-cover { border: 0; border-bottom: 1px solid var(--line-strong); border-radius: 0; transform: none !important; box-shadow: none !important; }
.buy > .card-cover code { font-size: 20px; }
.buy .buy-media { border-bottom: 1px solid var(--line-strong); }
.buy .buy-media .tutor-video-player, .buy .buy-media .tutor-ratio { border-radius: 0; margin: 0; }

/* Tutor's entry box, flattened into our purchase card */
.buy .tutor-sidebar-card { border: 0; border-radius: 0; background: none; }
.buy .tutor-sidebar-card > .tutor-card-body { padding: 0; }
.buy .tutor-sidebar-card > .tutor-card-footer { padding: 16px 0 0; margin-top: 18px; border-top: 1px solid var(--line); background: none; }
.buy .tutor-sidebar-card .tutor-ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 14px; color: var(--navy-soft); }
.buy .tutor-course-sidebar-card-pricing .tutor-fs-4 { font-size: 38px !important; line-height: 1.1; letter-spacing: -0.02em; color: var(--navy) !important; }
.buy .tutor-course-sidebar-card-pricing::after { content: "one-time payment · lifetime access"; display: block; width: 100%; font: 400 11px var(--mono); color: var(--muted); margin-top: 6px; }
.buy .tutor-course-sidebar-card-pricing { flex-wrap: wrap; }
.buy .tutor-btn-lg { padding: 16px; font-size: 16px; }
.buy .tutor-btn-primary.tutor-btn-lg { background: var(--orange); border-color: var(--orange); }
.buy .tutor-btn-primary.tutor-btn-lg:hover { background: #e2730f; border-color: #e2730f; }
.buy .includes { margin-top: 18px; }

/* ---------- Tutor pages rendered inside our header/footer ---------- */
.tutor-wrap, .tutor-dashboard, .tutor-learning-area { font-family: var(--sans); color: var(--navy); }
.tutor-wrap.tutor-container, .tutor-dashboard .tutor-container { max-width: var(--wrap); }
.tutor-dashboard { padding-top: 40px; padding-bottom: 80px; }

/* ---------- Student dashboard (Tutor 4 app layout) ---------- */
.tutor-dashboard-sidebar { border-right: 1px solid var(--line); }
.tutor-dashboard-sidebar .tutor-dashboard-sidebar-nav ul li a { border-radius: 8px; font-weight: 500; }
.tutor-dashboard-sidebar .tutor-dashboard-sidebar-nav ul li a.active { color: var(--navy); font-weight: 600; box-shadow: inset 3px 0 0 var(--orange), 0 0 0 1px var(--line); }
.tutor-dashboard-layout .tutor-card, .tutor-dashboard-layout [class*="stat-card"] { border-radius: var(--radius); }
.tutor-progress-bar-fill, .tutor-progress-bar .tutor-progress-value { background-color: var(--teal) !important; }

/* ---------- Lesson player (Tutor 4 learning area) ---------- */
.tutor-learning-header { border-bottom: 1px solid var(--line); background: #fff; }
.tutor-learning-header-content::before { content: ""; flex: none; order: -1; width: 30px; height: 28px; margin: 0 4px 0 12px; background: url(../img/tent.svg) center / contain no-repeat; }
.tutor-learning-header-title { font-weight: 600; letter-spacing: -0.01em; }
.tutor-learning-sidebar { background: var(--bg-soft); border-right: 1px solid var(--line); }
.tutor-learning-progress-text { font-family: var(--mono); font-size: 12px; color: var(--muted); }
.tutor-learning-nav-header-title { font-weight: 600; }
.tutor-learning-nav-item { border-left: 3px solid transparent; border-radius: 0 8px 8px 0; }
.tutor-learning-nav-item:hover { background: #fff; }
.tutor-learning-nav-item.active { background: #fff; border-left-color: var(--orange); font-weight: 600; }
.tutor-learning-area-container { max-width: 920px; }
.tutor-lesson-content .tutor-tab-panel { border-radius: var(--radius); }
.tutor-lesson-content .tutor-tab-panel.prose { font-size: 17px; line-height: 1.75; color: #24364f; }
.tutor-lesson-content .tutor-tab-panel.prose > *:first-child { margin-top: 0; }
.tutor-lesson-content video, .tutor-lesson-content .plyr, .tutor-lesson-content iframe { border-radius: var(--radius); }
.tutor-learning-area-footer .tutor-btn { font-weight: 600; }

/* ---------- Sandbox card inside Tutor's dashboard, chip inside the lesson ---------- */
.gtmcamp-sandbox-section { margin: 0 0 32px; font-family: var(--sans); }
.gtmcamp-sandbox-title { font-size: 20px; letter-spacing: -0.015em; margin: 0 0 14px; color: var(--navy); }
.gtmcamp-sandbox-section .sandbox-card { background: #fff; }
.gtmcamp-sandbox-section .btn { text-decoration: none; }
.gtmcamp-sandbox-section .btn:not(.ghost) { color: #fff; }
.gtmcamp-lesson-chip { margin: 0 0 18px; }
.gtmcamp-lesson-chip .sandbox-chip { text-decoration: none; }
