@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Roboto:wght@400;500&display=swap'); :root { --primary-light: #5E5CE6; --secondary-light: #34C759; --background-light: #F2F2F7; --surface-light: #FFFFFF; --text-light: #1C1C1E; --primary-dark: #6462F0; --secondary-dark: #30D158; --background-dark: #000000; --surface-dark: #1C1C1E; --text-dark: #F2F2F7; --font-heading: 'Playfair Display', Georgia, serif; --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; --border-radius: 12px; } body { font-family: var(--font-body); transition: background-color 0.3s, color 0.3s; } body.light-mode { --primary: var(--primary-light); --secondary: var(--secondary-light); --background: var(--background-light); --surface: var(--surface-light); --text-color: var(--text-light); background-color: var(--background); color: var(--text-color); } body.dark-mode { --primary: var(--primary-dark); --secondary: var(--secondary-dark); --background: var(--background-dark); --surface: var(--surface-dark); --text-color: var(--text-dark); background-color: var(--background); color: var(--text-color); } h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: 700; } .btn-primary { background-color: var(--primary); border-color: var(--primary); border-radius: var(--border-radius); padding: 12px 24px; font-weight: 500; transition: all 0.2s ease-in-out; } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); } .navbar { background-color: var(--surface); box-shadow: 0 2px 4px rgba(0,0,0,0.05); } .theme-switcher { cursor: pointer; } .hero { background-image: linear-gradient(45deg, rgba(94, 92, 230, 0.8), rgba(125, 123, 255, 0.8)), url('https://picsum.photos/seed/hero/1600/900'); background-size: cover; background-position: center; color: white; padding: 100px 0; text-align: center; } .section { padding: 80px 0; } .card { background-color: var(--surface); border: none; border-radius: var(--border-radius); box-shadow: 0 4px 20px rgba(0,0,0,0.05); transition: transform 0.3s, box-shadow 0.3s; } .card:hover { transform: translateY(-5px); box-shadow: 0 8px 30px rgba(0,0,0,0.1); } .card .card-body { color: var(--text-color); } .modal-content { background-color: var(--surface); border-radius: var(--border-radius); border: none; } .modal-header, .modal-footer { border: none; } .form-control { background-color: var(--background); border: 1px solid var(--surface); color: var(--text-color); border-radius: 8px; } .form-control:focus { background-color: var(--background); color: var(--text-color); box-shadow: 0 0 0 0.25rem rgba(var(--primary-rgb), 0.25); } .rating .star { cursor: pointer; color: #e4e5e9; font-size: 1.5rem; } .rating .star.selected, .rating .star:hover, .rating .star:hover ~ .star { color: #ffc107; }