/* ============================================================
   PDFModo - Main Stylesheet
   ============================================================ */
:root {
  --primary: #0d6efd;
  --primary-light: #e8f0fe;
  --sidebar-width: 260px;
  --topbar-height: 64px;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

* { box-sizing: border-box; }

body {
  font-family: var(--font-sans);
  color: #212529;
  background: #f8f9fa;
}

/* Hero */
.hero-section { background: linear-gradient(135deg, #f8f9ff 0%, #e8f0fe 100%); }
.hero-illustration { perspective: 1000px; }
.pdf-card { max-width: 350px; transform: rotateY(-10deg) rotateX(5deg); transition: transform 0.3s; }
.pdf-card:hover { transform: rotateY(0deg) rotateX(0deg); }

/* Tool Cards */
.tool-card { transition: all 0.25s; border-radius: 16px !important; }
.tool-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0,0,0,.12) !important; }
.tool-icon { transition: transform 0.25s; }
.tool-card:hover .tool-icon { transform: scale(1.1); }

.hover-lift { transition: all 0.2s; }
.hover-lift:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.1) !important; }
.hover-bg:hover { background: #f8f9fa; border-radius: 8px; }

/* Dropzone */
.dropzone-area {
  border-color: #dee2e6 !important;
  cursor: pointer;
  transition: all 0.2s;
  background: #fff;
}
.dropzone-area:hover { border-color: var(--primary) !important; background: var(--primary-light); }
.dropzone-area.dragover { border-color: var(--primary) !important; background: var(--primary-light); }

/* Navbar Mega Menu */
.mega-menu { min-width: 700px; border-radius: 12px; border: 0; box-shadow: 0 20px 60px rgba(0,0,0,.15); }

/* Buttons */
.btn-white { background: white; color: var(--primary); }
.btn-white:hover { background: #f0f0f0; color: var(--primary); }

/* Badges */
.popular-plan { box-shadow: 0 0 0 2px var(--primary); }

/* Progress */
.progress-bar { border-radius: 99px; }

/* Toast */
.toast { min-width: 300px; }

/* Avatar */
.avatar-sm { width: 36px; height: 36px; font-size: .85rem; }

/* Cursor */
.cursor-pointer { cursor: pointer; }

/* Animations */
@keyframes fadeInUp {
  from { opacity:0; transform: translateY(20px); }
  to   { opacity:1; transform: translateY(0); }
}
.fade-in-up { animation: fadeInUp 0.4s ease forwards; }
