/* Global Styles */ :root { --primary: #0D6EFD; --primary-light: #E7F0FF; --accent: #FF9F1C; --dark: #1D3557; --text-muted: #6C757D; --bg-body: #F8F9FA; --radius-sm: 8px; --radius-md: 16px; --radius-lg: 24px; --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.05); --transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } body { font-family: 'Plus Jakarta Sans', sans-serif; background-color: var(--bg-body); color: var(--dark); line-height: 1.6; overflow-x: hidden; } h1, h2, h3, h4, h5, h6 { font-weight: 700; letter-spacing: -0.02em; } /* Glassmorphism Effect */ .bg-glass { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255, 255, 255, 0.2); transition: var(--transition-base); } /* Gradient Text */ .text-primary-gradient { background: linear-gradient(135deg, var(--primary) 0%, #00B4D8 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } /* Buttons */ .btn-primary { background-color: var(--primary); border: none; border-radius: var(--radius-lg); padding: 0.8rem 1.8rem; font-weight: 600; transition: var(--transition-base); } .btn-primary:hover { background-color: #0056b3; transform: translateY(-2px); box-shadow: 0 8px 15px rgba(13, 110, 253, 0.2); } .btn-outline-dark { border-radius: var(--radius-lg); border: 2px solid var(--dark); font-weight: 600; transition: var(--transition-base); } .btn-outline-dark:hover { background-color: var(--dark); transform: translateY(-2px); } /* Hero Section */ .hero-section { background: linear-gradient(180deg, #FFFFFF 0%, #F1F4F9 100%); position: relative; overflow: hidden; } .hero-section::after { content: ''; position: absolute; width: 600px; height: 600px; background: radial-gradient(circle, rgba(13, 110, 253, 0.03) 0%, rgba(13, 110, 253, 0) 70%); top: -200px; right: -200px; z-index: 0; } /* Book Card */ .book-card { background: #FFFFFF; border: none; border-radius: var(--radius-md); overflow: hidden; transition: var(--transition-base); box-shadow: var(--shadow-soft); } .book-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08); } .book-card img { border-radius: var(--radius-md) var(--radius-md) 0 0; transition: transform 0.6s ease; } .book-card:hover img { transform: scale(1.05); } .book-card .card-body { padding: 1.5rem; } /* Search Box */ .search-box-wrap { background: #FFFFFF; border-radius: var(--radius-lg); padding: 8px; box-shadow: var(--shadow-soft); } .search-box-wrap input { border: none; background: transparent; } .search-box-wrap input:focus { box-shadow: none; } /* Category Pill */ .category-pill { background: #FFFFFF; border-radius: var(--radius-md); padding: 1.5rem; text-align: center; transition: var(--transition-base); box-shadow: var(--shadow-soft); border: 1px solid transparent; } .category-pill:hover { border-color: var(--primary); transform: translateY(-5px); } /* Hover Primary */ .hover-primary { transition: var(--transition-base); } .hover-primary:hover { color: var(--primary) !important; } /* Custom Utilities */ .rounded-pill-start { border-top-left-radius: 50px; border-bottom-left-radius: 50px; } .rounded-pill-end { border-top-right-radius: 50px; border-bottom-right-radius: 50px; } /* Animation */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .fade-in-up { animation: fadeInUp 0.8s ease forwards; }