/* Jamie Clinic Brand Style Sheet v2.8 */
/* For HTML documents, reports, and presentations */
/* Updated: 2025-12-09 - Added Video/Motion and Print color systems */

:root {
  /* ===================================== */
  /* DIGITAL/WEB COLORS (Primary)          */
  /* ===================================== */

  /* Primary Brand Colors */
  --jamie-main-green: #6d7856;
  --jamie-green: #79A233;
  --jamie-light-green: #AFCC6D;
  --jamie-black: #000000;
  --jamie-white: #FFFFFF;

  /* Background Colors */
  --jamie-bg: #f1f4eb;
  --jamie-bg-warm-1: #f8f4ef;
  --jamie-bg-warm-2: #f7f5f4;
  --jamie-bg-warm-3: #f6f5f1;
  --jamie-bg-warm-4: #f7eee0;
  --jamie-gray: #f5f5f5;
  --jamie-dark-gray: #333333;

  /* ===================================== */
  /* VIDEO/MOTION COLORS                   */
  /* ===================================== */

  /* Video Backgrounds */
  --jamie-video-bg-light: #E8E6E2;
  --jamie-video-bg-warm: #EEECE8;
  --jamie-video-bg-dark: #2D2D2D;
  --jamie-video-bg-charcoal: #333333;

  /* Video Gold Accents */
  --jamie-video-gold: #B5A040;
  --jamie-video-gold-light: #C0AB45;
  --jamie-video-gold-dark: #C9B347;
  --jamie-video-cta: #C0A940;

  /* Decorative Circles */
  --jamie-circle-dark: #3D4A3D;
  --jamie-circle-charcoal: #4A5A4A;
  --jamie-circle-sage: #8FA87A;
  --jamie-circle-sage-light: #9CB88A;
  --jamie-circle-pale: #C5D4B8;
  --jamie-circle-mist: #D5E0C8;

  /* Video Text Colors */
  --jamie-video-text-dark: #333333;
  --jamie-video-text-medium: #3D3D3D;
  --jamie-video-text-light: #FFFFFF;

  /* ===================================== */
  /* PRINT COLORS                          */
  /* ===================================== */

  /* Print Backgrounds */
  --jamie-print-bg-mint: #E8F5E8;
  --jamie-print-bg-soft: #F0F8F0;
  --jamie-print-bg-blue: #D0DDE8;
  --jamie-print-bg-blue-light: #E0E8F0;

  /* Print Primary */
  --jamie-print-green: #79A233;
  --jamie-print-green-dark: #6D9040;
  --jamie-print-gray: #888888;

  /* Print Process/Steps */
  --jamie-step-light: #C5E0C5;
  --jamie-step-medium: #79A233;
  --jamie-step-arrow: #79A233;
  --jamie-step-text: #333333;

  /* ===================================== */
  /* TYPOGRAPHY                            */
  /* ===================================== */

  /* Korean Fonts */
  --font-primary-kr: 'Pretendard', 'Noto Sans KR', 'Apple SD Gothic Neo', sans-serif;
  --font-round-kr: 'NanumSquareRound', 'Pretendard', sans-serif;

  /* English Fonts */
  --font-primary-en: 'Inter', 'Poppins', sans-serif;

  /* Aliases */
  --font-primary: var(--font-primary-kr);
  --font-heading: var(--font-primary-kr);
  --font-title-round: var(--font-round-kr);

  /* Font Sizes */
  --font-size-base: 16px;
  --font-size-sm: 14px;
  --font-size-lg: 18px;
  --font-size-xl: 24px;
  --font-size-2xl: 32px;
  --font-size-3xl: 48px;
  --font-size-4xl: 60px;

  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.6;
  --line-height-relaxed: 1.8;

  /* Letter Spacing */
  --letter-spacing-tight: -0.03em;
  --letter-spacing-normal: 0;

  /* ===================================== */
  /* SPACING                               */
  /* ===================================== */

  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-2xl: 48px;
  --spacing-3xl: 64px;

  /* Print Margins (A4) */
  --print-margin-top: 25mm;
  --print-margin-bottom: 20mm;
  --print-margin-left: 20mm;
  --print-margin-right: 20mm;
}

/* ===================================== */
/* BASE RESET                            */
/* ===================================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  color: var(--jamie-dark-gray);
  background-color: var(--jamie-white);
  letter-spacing: var(--letter-spacing-tight);
}

/* ===================================== */
/* TYPOGRAPHY                            */
/* ===================================== */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: var(--line-height-tight);
  margin-bottom: var(--spacing-md);
  color: var(--jamie-black);
  letter-spacing: var(--letter-spacing-tight);
}

h1 { font-size: var(--font-size-3xl); }
h2 { font-size: var(--font-size-2xl); }
h3 { font-size: var(--font-size-xl); }
h4 { font-size: var(--font-size-lg); }

p {
  margin-bottom: var(--spacing-md);
}

/* Video Title Style */
.jamie-title-video {
  font-family: var(--font-title-round);
  font-weight: 800;
  color: var(--jamie-video-gold);
}

.jamie-title-video-dark {
  color: var(--jamie-video-gold-dark);
}

/* ===================================== */
/* BRAND ACCENTS                         */
/* ===================================== */

.jamie-accent {
  color: var(--jamie-green);
}

.jamie-accent-gold {
  color: var(--jamie-video-gold);
}

.jamie-highlight {
  background-color: var(--jamie-light-green);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: 4px;
}

/* ===================================== */
/* DOCUMENT CONTAINER                    */
/* ===================================== */

.jamie-document {
  max-width: 800px;
  margin: 0 auto;
  padding: var(--spacing-2xl);
}

.jamie-document-wide {
  max-width: 1200px;
}

/* ===================================== */
/* HEADER                                */
/* ===================================== */

.jamie-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-lg) 0;
  border-bottom: 2px solid var(--jamie-green);
  margin-bottom: var(--spacing-2xl);
}

.jamie-logo {
  height: 48px;
  width: auto;
}

.jamie-header-text {
  text-align: right;
}

.jamie-header-title {
  font-size: var(--font-size-sm);
  color: var(--jamie-main-green);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ===================================== */
/* COVER PAGE                            */
/* ===================================== */

.jamie-cover {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: linear-gradient(135deg, var(--jamie-black) 0%, #1a1a1a 100%);
  color: var(--jamie-white);
  padding: var(--spacing-3xl);
}

.jamie-cover-logo {
  width: 120px;
  margin-bottom: var(--spacing-2xl);
}

.jamie-cover h1 {
  color: var(--jamie-white);
  font-size: var(--font-size-3xl);
  margin-bottom: var(--spacing-md);
}

.jamie-cover .subtitle {
  font-size: var(--font-size-lg);
  color: var(--jamie-light-green);
  margin-bottom: var(--spacing-2xl);
}

.jamie-cover .meta {
  font-size: var(--font-size-sm);
  color: var(--jamie-main-green);
}

/* Video-style Cover (Light) */
.jamie-cover-video {
  background: var(--jamie-video-bg-light);
  color: var(--jamie-video-text-dark);
}

.jamie-cover-video h1 {
  color: var(--jamie-video-gold);
  font-family: var(--font-title-round);
}

.jamie-cover-video .subtitle {
  color: var(--jamie-video-text-dark);
}

/* ===================================== */
/* DECORATIVE CIRCLES (Video Style)      */
/* ===================================== */

.jamie-circle {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.jamie-circle-lg {
  width: 180px;
  height: 180px;
}

.jamie-circle-md {
  width: 100px;
  height: 100px;
}

.jamie-circle-sm {
  width: 40px;
  height: 40px;
}

.jamie-circle-dark { background-color: var(--jamie-circle-dark); }
.jamie-circle-charcoal { background-color: var(--jamie-circle-charcoal); }
.jamie-circle-sage { background-color: var(--jamie-circle-sage); }
.jamie-circle-sage-light { background-color: var(--jamie-circle-sage-light); }
.jamie-circle-pale { background-color: var(--jamie-circle-pale); }
.jamie-circle-mist { background-color: var(--jamie-circle-mist); }
.jamie-circle-gold { background-color: var(--jamie-video-cta); }

/* ===================================== */
/* SECTION                               */
/* ===================================== */

.jamie-section {
  margin-bottom: var(--spacing-3xl);
  page-break-inside: avoid;
}

.jamie-section-header {
  display: flex;
  align-items: center;
  margin-bottom: var(--spacing-lg);
  padding-bottom: var(--spacing-sm);
  border-bottom: 1px solid var(--jamie-gray);
}

.jamie-section-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: var(--jamie-green);
  color: var(--jamie-white);
  font-weight: 700;
  border-radius: 50%;
  margin-right: var(--spacing-md);
  font-size: var(--font-size-sm);
}

/* ===================================== */
/* CARDS                                 */
/* ===================================== */

.jamie-card {
  background: var(--jamie-white);
  border: 1px solid var(--jamie-gray);
  border-radius: 8px;
  padding: var(--spacing-lg);
  margin-bottom: var(--spacing-md);
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.jamie-card-accent {
  border-left: 4px solid var(--jamie-green);
}

.jamie-card-highlight {
  background: linear-gradient(135deg, var(--jamie-green) 0%, var(--jamie-light-green) 100%);
  color: var(--jamie-white);
}

.jamie-card-highlight h3,
.jamie-card-highlight h4 {
  color: var(--jamie-white);
}

/* Video-style Card */
.jamie-card-video {
  background: var(--jamie-video-bg-light);
  border: none;
  border-radius: 12px;
}

.jamie-card-video-dark {
  background: var(--jamie-video-bg-dark);
  color: var(--jamie-video-text-light);
}

/* Print-style Card */
.jamie-card-print {
  background: var(--jamie-print-bg-mint);
  border: none;
}

/* ===================================== */
/* TABLES                                */
/* ===================================== */

.jamie-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--spacing-lg);
  font-size: var(--font-size-sm);
}

.jamie-table th {
  background-color: var(--jamie-green);
  color: var(--jamie-white);
  padding: var(--spacing-sm) var(--spacing-md);
  text-align: left;
  font-weight: 600;
}

.jamie-table td {
  padding: var(--spacing-sm) var(--spacing-md);
  border-bottom: 1px solid var(--jamie-gray);
}

.jamie-table tr:hover {
  background-color: var(--jamie-gray);
}

/* Video-style Table */
.jamie-table-video th {
  background-color: var(--jamie-video-gold);
}

/* ===================================== */
/* LISTS                                 */
/* ===================================== */

.jamie-list {
  list-style: none;
  padding-left: 0;
}

.jamie-list li {
  position: relative;
  padding-left: var(--spacing-lg);
  margin-bottom: var(--spacing-sm);
}

.jamie-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background-color: var(--jamie-green);
  border-radius: 50%;
}

/* Checklist */
.jamie-checklist li::before {
  content: '✓';
  background: none;
  color: var(--jamie-green);
  font-weight: 700;
  width: auto;
  height: auto;
  top: 0;
}

/* ===================================== */
/* QUOTES / CALLOUTS                     */
/* ===================================== */

.jamie-quote {
  background-color: var(--jamie-gray);
  border-left: 4px solid var(--jamie-green);
  padding: var(--spacing-lg);
  margin: var(--spacing-lg) 0;
  font-style: italic;
}

.jamie-callout {
  background-color: #f0f7e6;
  border: 1px solid var(--jamie-light-green);
  border-radius: 8px;
  padding: var(--spacing-lg);
  margin: var(--spacing-lg) 0;
}

.jamie-callout-title {
  display: flex;
  align-items: center;
  font-weight: 700;
  color: var(--jamie-green);
  margin-bottom: var(--spacing-sm);
}

/* Video-style Callout */
.jamie-callout-video {
  background-color: var(--jamie-video-bg-warm);
  border: none;
  border-left: 4px solid var(--jamie-video-gold);
}

.jamie-callout-video .jamie-callout-title {
  color: var(--jamie-video-gold);
}

/* ===================================== */
/* STATUS BADGES                         */
/* ===================================== */

.jamie-badge {
  display: inline-block;
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: 4px;
  font-size: var(--font-size-sm);
  font-weight: 600;
}

.jamie-badge-success {
  background-color: var(--jamie-green);
  color: var(--jamie-white);
}

.jamie-badge-warning {
  background-color: #f59e0b;
  color: var(--jamie-white);
}

.jamie-badge-error {
  background-color: #ef4444;
  color: var(--jamie-white);
}

.jamie-badge-info {
  background-color: var(--jamie-main-green);
  color: var(--jamie-white);
}

.jamie-badge-gold {
  background-color: var(--jamie-video-gold);
  color: var(--jamie-white);
}

/* ===================================== */
/* PROGRESS BAR                          */
/* ===================================== */

.jamie-progress {
  height: 8px;
  background-color: var(--jamie-gray);
  border-radius: 4px;
  overflow: hidden;
}

.jamie-progress-bar {
  height: 100%;
  background-color: var(--jamie-green);
  transition: width 0.3s ease;
}

/* ===================================== */
/* PROCESS STEPS (Print Style)           */
/* ===================================== */

.jamie-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-md);
  margin: var(--spacing-xl) 0;
}

.jamie-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.jamie-step-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  margin-bottom: var(--spacing-sm);
}

.jamie-step-circle-light {
  background-color: var(--jamie-step-light);
  color: var(--jamie-step-text);
}

.jamie-step-circle-medium {
  background-color: var(--jamie-step-medium);
  color: var(--jamie-white);
}

.jamie-step-arrow {
  color: var(--jamie-step-arrow);
  font-size: var(--font-size-xl);
}

/* ===================================== */
/* FOOTER                                */
/* ===================================== */

.jamie-footer {
  margin-top: var(--spacing-3xl);
  padding-top: var(--spacing-lg);
  border-top: 1px solid var(--jamie-gray);
  text-align: center;
  font-size: var(--font-size-sm);
  color: var(--jamie-main-green);
}

/* ===================================== */
/* PRINT STYLES                          */
/* ===================================== */

@media print {
  @page {
    margin-top: var(--print-margin-top);
    margin-bottom: var(--print-margin-bottom);
    margin-left: var(--print-margin-left);
    margin-right: var(--print-margin-right);
  }

  .jamie-cover {
    min-height: auto;
    page-break-after: always;
  }

  .jamie-section {
    page-break-inside: avoid;
  }

  body {
    font-size: 12pt;
    line-height: var(--line-height-relaxed);
  }

  .jamie-card {
    box-shadow: none;
    border: 1px solid #ddd;
  }

  /* Print-friendly backgrounds */
  .jamie-cover {
    background: var(--jamie-print-bg-mint);
    color: var(--jamie-black);
  }

  .jamie-cover h1 {
    color: var(--jamie-print-green);
  }
}

/* ===================================== */
/* SLIDE LAYOUT (Presentations)          */
/* ===================================== */

.jamie-slide {
  min-height: 100vh;
  padding: var(--spacing-3xl);
  display: flex;
  flex-direction: column;
  page-break-after: always;
  position: relative;
  overflow: hidden;
}

.jamie-slide-title {
  background-color: var(--jamie-black);
  color: var(--jamie-white);
}

.jamie-slide-video {
  background-color: var(--jamie-video-bg-light);
  color: var(--jamie-video-text-dark);
}

.jamie-slide-video h1,
.jamie-slide-video h2 {
  color: var(--jamie-video-gold);
}

.jamie-slide-video-dark {
  background-color: var(--jamie-video-bg-dark);
  color: var(--jamie-video-text-light);
}

.jamie-slide-video-dark h1,
.jamie-slide-video-dark h2 {
  color: var(--jamie-video-gold-dark);
}

.jamie-slide-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.jamie-slide-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--spacing-md);
  border-top: 1px solid var(--jamie-gray);
  font-size: var(--font-size-sm);
  color: var(--jamie-main-green);
}

/* ===================================== */
/* TWO COLUMN LAYOUT                     */
/* ===================================== */

.jamie-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
}

/* ===================================== */
/* RESPONSIVE                            */
/* ===================================== */

@media (max-width: 768px) {
  .jamie-two-col {
    grid-template-columns: 1fr;
  }

  .jamie-document {
    padding: var(--spacing-lg);
  }

  h1 { font-size: var(--font-size-2xl); }
  h2 { font-size: var(--font-size-xl); }

  .jamie-steps {
    flex-direction: column;
  }

  .jamie-step-arrow {
    transform: rotate(90deg);
  }
}

/* ===================================== */
/* UTILITY CLASSES                       */
/* ===================================== */

/* Backgrounds */
.bg-video-light { background-color: var(--jamie-video-bg-light); }
.bg-video-warm { background-color: var(--jamie-video-bg-warm); }
.bg-video-dark { background-color: var(--jamie-video-bg-dark); }
.bg-print-mint { background-color: var(--jamie-print-bg-mint); }
.bg-print-blue { background-color: var(--jamie-print-bg-blue); }

/* Text Colors */
.text-gold { color: var(--jamie-video-gold); }
.text-green { color: var(--jamie-green); }
.text-main { color: var(--jamie-main-green); }
.text-light { color: var(--jamie-video-text-light); }
.text-dark { color: var(--jamie-video-text-dark); }

/* Font Families */
.font-round { font-family: var(--font-round-kr); }
.font-primary { font-family: var(--font-primary-kr); }
.font-en { font-family: var(--font-primary-en); }
