/*
 * Resume Styles CSS
 * - Optimized with consolidated selectors
 * - Uses DRY principles to reduce repetition
 * - Organized in logical groupings
 * - Dark mode support
 * - Responsive design
 */

/* ====== CSS VARIABLES ====== */
:root {
  /* Color Palette */
  --primary-color: #0d6efd; --primary-color-hover: #0b5ed7; --secondary-color: #6c757d; --accent-color: #ff6b6b; --success-color: #28a745; --warning-color: #ffc107; --error-color: #dc3545; --info-color: #17a2b8; --logo-color: #FF4500; /* UI Colors */
  --text-color: #333; --text-color-light: #6c757d; --background-color: #fff; --background-secondary: #f9f9f9; --border-color: #e0e0e0; /* Dark Theme Colors */
  --dark-text-color: #eee; --dark-text-color-light: #aaa; --dark-background-color: #222; --dark-background-secondary: #2a2a2a; --dark-border-color: #444; /* Layout */
  --container-max-width: 1200px; --sidebar-width: 280px; --section-padding: 80px 20px; --card-padding: 25px; --border-radius: 8px; --box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); --box-shadow-hover: 0 8px 20px rgba(0, 0, 0, 0.15); /* Typography */
  --font-primary: 'PT Sans', Arial, sans-serif; --font-secondary: 'Roboto', Arial, sans-serif; --font-heading: 'Montserrat', Arial, sans-serif; --font-monospace: 'Consolas', monospace; /* Z-Index Layers */
  --z-modal: 1050; --z-popup: 1000; --z-fixed: 900; --z-overlay: 100; --z-dropdown: 50; --z-normal: 1; /* Transitions & Animations */
  --transition-speed: 0.3s; --transition-function: ease; --hover-transition: all 0.3s ease; --hover-lift: translateY(-5px); --card-hover-transform: translateY(-10px) scale(1.02); --animation-speed-fast: 0.4s; --animation-speed-medium: 0.6s; --animation-speed-slow: 0.8s; --animation-curve: cubic-bezier(0.25, 0.1, 0.25, 1); /* Border Styles */
  --border-width-small: 2px; --border-width-medium: 2.5px; --border-width-large: 3px; }

/* ====== RESET & BASE STYLES ====== */
*,
*::before,
*::after {
  box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth; font-size: 16px; line-height: 1.6; }

body {
  font-family: var(--font-primary); color: var(--text-color); background-color: var(--background-color); overflow-x: hidden; transition: background-color var(--transition-speed),
              color var(--transition-speed); }

/* ====== TYPOGRAPHY ====== */
h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0.75em; font-weight: 600; }

h1 {
  letter-spacing: -0.5px; }

h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }

a {
  text-decoration: none; background-color var(--transition-speed); }

/* ====== LAYOUT & CONTAINERS ====== */
.container {
  width: 100%; max-width: var(--container-max-width); }

.section-title {
  position: relative; display: inline-block; text-align: center; }

.section-title::after {
  content: ''; bottom: -10px; left: 50%; transform: translateX(-50%); height: 4px; background: linear-gradient(90deg, transparent, var(--primary-color), transparent); border-radius: 2px; }

/* ====== COMMON COMPONENTS ====== */
/* Social Media Links */
.social-links {
  justify-content: center; gap: 15px; margin-top: 20px; }

.social-links a {
  align-items: center; }

.social-links a:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); }

/* Card Animation Common Styles - consolidated selectors */
.education-card-animated,
.skills-card-animated,
.project-card-animated,
.experience-card-animated {
  border: 1px solid var(--border-color); overflow: hidden; }

/* Dark mode card styles */
body.dark-mode .education-card-animated,
body.dark-mode .skills-card-animated,
body.dark-mode .project-card-animated,
body.dark-mode .experience-card-animated {
  border-color: var(--dark-border-color); }

/* Card content positioning */
.education-card-content,
.skills-card-content,
.project-card-content,
.experience-card-content {
  z-index: 2; }

/* SVG Animation Common Styles */
.education-card-animated svg,
.skills-card-animated svg,
.project-card-animated svg,
.experience-card-animated svg {
  top: 0; pointer-events: none; }

/* SVG animation parameters - grouped by animation type */
.education-card-animated svg rect,
.skills-card-animated svg rect {
  stroke: var(--primary-color); stroke-width: var(--border-width-medium); stroke-dasharray: 600, 600; stroke-dashoffset: 600; fill: transparent; }

/* Skill tag specific styles */
.skill-tag {
  cursor: default; }

/* Tags container */
.project-tags,
.experience-tags {
  flex-wrap: wrap; }

/* ====== NAVIGATION ====== */
.navbar {
  right: 0; }

.navbar.scrolled {
  backdrop-filter: blur(10px); }

.logo:hover + .name-reveal {
  opacity: 1; }

.name-reveal {
  white-space: nowrap; }

/* ====== SIDEBAR ====== */
.sidebar {
  overflow-y: auto; }

/* Sidebar sections */
.sidebar-about {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1); }

/* Sidebar navigation */
.sidebar ul {
  list-style: none; }

.sidebar li a.active {
  border-left: 3px solid white; }

.sidebar i {
  margin-right: 10px; }

/* Overlay */
.overlay {
  visibility: hidden; }

/* Modern split layout container */
.knuford-profile-container {
  min-height: 600px; }

/* Image area styling */
.profile-image-area {
  /* Clip path creates the diagonal cut */
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%); }

.profile-image-area img {
  object-fit: cover; object-position: center; }

/* Content area styling */
.knuford-profile-container .profile-content {
  flex-direction: column; }

.knuford-profile-container .profile-objective h2 {
  padding-bottom: 8px; }

/* Skills specific styles */
.skills-container {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

.responsibilities ul {
  list-style-type: disc; padding-left: 20px; }

/* Resume Gallery */
.resume-gallery {
  margin-left: auto; }

/* Resume cards use project-card-animated base styles */
.resume-card {
  /* Inherit base styles from .project-card-animated */
}

/* Additional resume-specific styling */
.resume-card::before {
  transform-origin: left; }

.resume-card-header h3 {
  flex: 1; }

/* Resume buttons inherit from standard .btn classes */
.resume-view-btn,
.resume-download-btn {
  /* All other styles inherited from .btn, .btn-primary, .btn-outline */
}

/* Make download section responsive */
@media (max-width: 768px) {
}

@media (max-width: 480px) {
}

.footer-links-column {
  min-width: 160px; }

/* Footer bottom section */
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 30px; }

/* ====== ANIMATIONS ====== */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes bounce {
}

@keyframes draw {
}

@keyframes fadeIn {
}

/* Animation for the Logo */
.stem, .crossbar, .top-loop, .bottom-curve, .diagonal {
  animation: none; }

/* ====== RESPONSIVE DESIGN ====== */
@media (max-width: 992px) {
}

@media (max-width: 768px) {
}

@media (max-width: 576px) {
}
