/* Theme Variables - Jinan University */
@import url("https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&family=Roboto+Slab:wght@400;700&family=Inter:wght@300;400;500;600;700&display=swap");

:root {
  /* ===============================
     BRAND COLORS
     =============================== */
  --jinan-teal: rgb(49, 102, 103);
  --jinan-teal-hover: rgb(38, 79, 80);
  --jinan-teal-light: rgba(49, 102, 103, 0.1);
  --jinan-teal-dark: #1a472a;

  --jinan-gold: #cd9933;
  --jinan-gold-hover: #ba8827;
  --jinan-gold-light: rgba(205, 153, 51, 0.1);
  --jinan-gold-dark: #a06900;

  /* Legacy Brand Color Aliases */
  --dark-teal: var(--jinan-teal);
  --dark-teal-hover: var(--jinan-teal-hover);
  --gold-accent: var(--jinan-gold);
  --gold-accent-hover: var(--jinan-gold-hover);
  --primary-color: var(--jinan-teal);
  --primary-hover: var(--jinan-teal-hover);
  --accent-color: var(--jinan-gold);
  --accent-hover: var(--jinan-gold-hover);

  /* ===============================
     NEUTRAL COLORS
     =============================== */
  --white: #ffffff;
  --light-grey: #f4f4f4;
  --medium-grey: #e0e0e0;
  --dark-grey: #555555;
  --dark-charcoal: #222222;
  --text-muted: #6c757d;
  --text-dark: #2c3e50;
  --text-secondary: #495057;

  /* ===============================
     SEMANTIC COLORS
     =============================== */
  --success: #1cc88a;
  --info: #36b9cc;
  --warning: #f6c23e;
  --danger: #e74a3b;

  /* ===============================
     BACKGROUND COLORS
     =============================== */
  --bg-primary: #ffffff;
  --bg-secondary: #f8f9fa;
  --bg-tertiary: #f4f4f4;
  --bg-light: #f8f9fa;
  --border-light: #e9ecef;
  --bg-gradient-light: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  --bg-gradient-teal: linear-gradient(
    135deg,
    var(--jinan-teal) 0%,
    var(--jinan-teal-dark) 100%
  );
  --bg-gradient-gold: linear-gradient(
    90deg,
    var(--jinan-teal),
    var(--jinan-gold)
  );

  /* ===============================
     TYPOGRAPHY
     =============================== */
  --font-primary: "Inter", "Roboto Slab", serif;
  --font-headings: "Merriweather", serif;
  --font-arabic: "Lato", "Droid Arabic Kufi", "Helvetica Neue", Helvetica, Arial,
    sans-serif;

  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Font Sizes */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-size-5xl: 3rem;
  --font-size-h1: 2.5rem;
  --font-size-h2: 2rem;
  --font-size-h3: 1.75rem;
  --font-size-h4: 1.5rem;
  --font-size-h5: 1.25rem;
  --font-size-h6: 1rem;
  --font-size-small: 0.875rem;
  --font-size-xxs: 0.65rem;

  /* Line Heights */
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;
  --line-height-base: 1.6;
  --line-height-headings: 1.3;

  /* ===============================
     SPACING SYSTEM
     =============================== */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 2.5rem;
  --space-3xl: 3rem;
  --space-4xl: 4rem;
  --space-5xl: 5rem;

  --spacing-xs: var(--space-xs);
  --spacing-sm: var(--space-sm);
  --spacing-md: var(--space-md);
  --spacing-lg: var(--space-lg);
  --spacing-xl: var(--space-xl);
  --spacing-xxl: var(--space-2xl);
  --spacing-xxxl: var(--space-3xl);

  --section-spacing: 5rem;
  --section-spacing-sm: 3rem;

  /* ===============================
     LAYOUT
     =============================== */
  --container-max-width: 1240px;
  --top-nav-height: 60px;
  --content-max-width: 800px;
  --navbar-height: 70px;

  /* ===============================
     BORDERS & RADIUS
     =============================== */
  --border-width: 1px;
  --border-width-thick: 2px;
  --border-color: var(--medium-grey);
  --border-color-light: var(--light-grey);

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --radius-full: 50%;

  --border-radius: var(--radius-sm);
  --border-radius-sm: var(--radius-sm);
  --border-radius-md: var(--radius-md);
  --border-radius-lg: var(--radius-lg);

  /* ===============================
     SHADOWS
     =============================== */
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 12px rgba(49, 102, 103, 0.15);
  --shadow-lg: 0 8px 25px rgba(49, 102, 103, 0.1);
  --shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.15);
  --shadow-2xl: 0 20px 60px rgba(0, 0, 0, 0.1);

  --box-shadow: var(--shadow-md);
  --box-shadow-sm: var(--shadow-sm);
  --box-shadow-md: var(--shadow-md);
  --box-shadow-lg: var(--shadow-lg);
  --card-shadow: var(--shadow-sm);
  --card-shadow-hover: var(--shadow-md);
  --button-shadow: var(--shadow-sm);
  --button-shadow-hover: var(--shadow-md);
  --navbar-shadow: var(--shadow-sm);

  /* ===============================
     TRANSITIONS
     =============================== */
  --transition-fast: all 0.15s ease;
  --transition-standard: all 0.25s ease;
  --transition-slow: all 0.3s ease;
  --transition-cubic: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

  /* ===============================
     Z-INDEX SCALE
     =============================== */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
  --z-overlay: 1040;

  /* ===============================
     COMPONENT SPECIFIC
     =============================== */
  --card-padding: var(--space-xl);
  --card-border-radius: var(--radius-xl);
  --card-min-height: 200px;
  --card-max-height: 260px;

  --button-padding-sm: 0.5rem 1rem;
  --button-padding-md: 0.75rem 1.5rem;
  --button-padding-lg: 1rem 2rem;

  --input-padding: 0.875rem 1.25rem;
  --input-border-radius: var(--radius-lg);

  /* Publication Card Specific */
  --publication-cover-width: 110px;
  --publication-content-padding: var(--spacing-md);
  --publication-gap: var(--spacing-sm);

  /* ===============================
     ASPECT RATIOS
     =============================== */
  --aspect-square: 1 / 1;
  --aspect-portrait: 3 / 4;
  --aspect-landscape: 4 / 3;
  --aspect-video: 16 / 9;

  /* ===============================
     ANIMATION VARIABLES
     =============================== */
  --animation-fast: 0.15s;
  --animation-normal: 0.25s;
  --animation-slow: 0.4s;
  --animation-ease: ease;
  --animation-ease-in-out: ease-in-out;
  --animation-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);

  /* ===============================
     RESPONSIVE BREAKPOINTS
     =============================== */
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-2xl: 1400px;

  /* ===============================
     BOOTSTRAP OVERRIDE VARIABLES
     =============================== */
  --bs-primary: var(--jinan-teal);
  --bs-primary-rgb: 49, 102, 103;
  --bs-secondary: var(--dark-grey);
  --bs-success: #28a745;
  --bs-info: #17a2b8;
  --bs-warning: var(--jinan-gold);
  --bs-danger: #dc3545;
  --bs-light: var(--light-grey);
  --bs-dark: var(--dark-charcoal);
}

/* ===============================
   PRINT VARIABLES
   =============================== */
@media print {
  :root {
    --box-shadow: none;
    --transition-standard: none;
    --animation-fast: 0s;
    --animation-normal: 0s;
    --animation-slow: 0s;
  }
}
