:root { --primary-color: #214ba0; --secondary-color: #c32026; --light-gray: #f8f9fa; --dark-gray: #343a40; --text-color: #333; --body-font: 'Roboto', sans-serif; --heading-font: 'Poppins', sans-serif; } body { font-family: var(--body-font); color: var(--text-color); line-height: 1.6; } h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); font-weight: 600; color: var(--dark-gray); } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); transition: background-color 0.3s; } .btn-primary:hover { background-color: #1a3a7f; border-color: #1a3a7f; } .btn-secondary { background-color: var(--secondary-color); border-color: var(--secondary-color); color: white; transition: background-color 0.3s; } .btn-secondary:hover { background-color: #a01a1f; border-color: #a01a1f; color: white; } .btn-outline-primary { color: var(--primary-color); border-color: var(--primary-color); } .btn-outline-primary:hover { background-color: var(--primary-color); color: white; } .text-primary { color: var(--primary-color) !important; } .navbar-brand { font-family: var(--heading-font); font-size: 1.8rem; } .hero { padding: 6rem 0; background-color: var(--light-gray); } .hero h1 { color: var(--primary-color); font-weight: 700; } .search-form .form-control { padding: 1rem; border-radius: 0; border: 1px solid #ced4da; } .search-form .input-group > :not(:first-child) { margin-left: -1px; } .search-form .btn { border-radius: 0; padding: 1rem 1.5rem; } .category-card { border: 1px solid #e9ecef; border-radius: 0.5rem; transition: transform 0.2s, box-shadow 0.2s; } .category-card:hover { transform: translateY(-5px); box-shadow: 0 4px 15px rgba(0,0,0,0.1); } footer a { text-decoration: none; } footer a:hover { text-decoration: underline; } .social-icons i { font-size: 1.5rem; transition: color 0.3s; } .social-icons a:hover i { color: var(--primary-color) !important; }