/* ResumeMatch ATS Stylesheet */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=JetBrains+Mono:wght@400;500&family=EB+Garamond:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
}

body {
  font-family: var(--font-sans);
}

/* Custom Scrollbars */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(156, 163, 175, 0.3);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(156, 163, 175, 0.5);
}

/* Dashboard Animations */
@keyframes pulse-slow {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(0.98); }
}

.pulse-slow {
  animation: pulse-slow 3s infinite ease-in-out;
}

/* ATS Loader Progress */
.progress-ring-circle {
  transition: stroke-dashoffset 0.35s;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
}

/* Interactive 3D Card Tilt & Mouse Glow */
.tilt-card {
  transition: transform 0.15s ease-out, box-shadow 0.25s ease-out, border-color 0.25s ease-out;
  transform-style: preserve-3d;
  perspective: 1000px;
}

.tilt-card:hover {
  box-shadow: 0 15px 35px rgba(99, 102, 241, 0.18);
  border-color: rgba(99, 102, 241, 0.4) !important;
}

/* Mouse-tracking border glow mask */
.glow-effect {
  position: relative;
}

.glow-effect::before {
  content: '';
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  border-radius: inherit;
  padding: 1.5px; /* border thickness */
  background: radial-gradient(
    350px circle at var(--mouse-x, 0px) var(--mouse-y, 0px),
    rgba(99, 102, 241, 0.6) 0%,
    rgba(168, 85, 247, 0.3) 50%,
    transparent 100%
  );
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.glow-effect:hover::before {
  opacity: 1;
}

/* Subtle glassmorphism and 3D shadow depth */
.glass-card {
  background: rgba(15, 23, 42, 0.6) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* 3D Translation of card elements on hover */
.tilt-card > * {
  transform: translateZ(10px);
}

/* Print Stylesheet Overrides */
@media print {
  /* Hide all dashboard chrome and UI elements */
  body {
    background: #ffffff !important;
    color: #000000 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 10pt !important;
    line-height: 1.4 !important;
  }

  /* Only display the printable resume container */
  header, footer, nav, sidebar, aside, button, .no-print, #sidebar, #dashboard-header, #main-nav, .form-container, .fix-panel, .tab-buttons, .editor-tabs, .action-buttons {
    display: none !important;
  }

  /* Make the preview occupy full page, centered */
  #resume-preview-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    display: block !important;
  }

  #resume-preview {
    width: 100% !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    color: #000000 !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  /* Force display of elements needed for resume output */
  #resume-preview-container {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
  }

  /* ATS Strict Rules: Avoid page-breaks inside list items or section blocks */
  .resume-section {
    page-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 12pt !important;
  }

  .resume-header {
    text-align: center !important;
    margin-bottom: 15pt !important;
  }

  .resume-header h1 {
    font-size: 18pt !important;
    font-weight: bold !important;
    margin-bottom: 4pt !important;
    color: #000000 !important;
  }

  .resume-header div {
    font-size: 9pt !important;
    margin-bottom: 2pt !important;
  }

  .section-title {
    font-size: 11pt !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid #000000 !important;
    padding-bottom: 2pt !important;
    margin-bottom: 6pt !important;
    color: #000000 !important;
  }

  .resume-item {
    page-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 8pt !important;
  }

  /* No color tags in printed output, pure black text */
  * {
    color: #000000 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a {
    text-decoration: none !important;
    color: #000000 !important;
  }

  /* Ensure page margins are standard */
  @page {
    size: A4 portrait;
    margin: 1.5cm;
  }
}
