body { background: #f8f9fa; }
.navbar-brand { font-weight: 700; }
.container { max-width: 980px; }

/* Dark theme for selection page */
body.theme-dark { background: #0f1221; color: #e9ecf5; }
body.theme-dark .navbar, body.theme-dark .navbar * { color: #e9ecf5; }
.page-title { color: #e9ecf5; letter-spacing: .3px; }
.page-subtitle { color: #9aa3b2; }

/* Card and panels */
.card-dark { background: #151836; border: 1px solid #23264b; border-radius: 12px; overflow: hidden; }
.card-dark-header { background: #1b1f45; color: #e9ecf5; }
.card-dark .accordion-button { color: #e9ecf5; }
.card-dark .accordion-button:not(.collapsed) { background: #202552; color: #fff; box-shadow: inset 0 -1px 0 rgba(255,255,255,0.05); }
.panel-dark { background: #121533; border: 1px solid #23264b; border-radius: 12px; padding: 16px; }
.panel-title { color: #c7cff1; font-weight: 600; }

/* Form styles */
.form-check-dark .form-check-input { background-color: transparent; border-color: #3d4270; }
.form-check-dark .form-check-input:checked { background-color: #5b6cf8; border-color: #5b6cf8; }
.form-check-dark .form-check-label { color: #d9dff7; }

/* Package cards */
.package-card { background: #0e1433; border: 1px solid #2a2f5a; border-radius: 12px; padding: 14px 14px; display: flex; gap: 12px; align-items: flex-start; }
.package-card + .package-card { margin-top: 10px; }
.package-card .form-check-input { margin-top: 6px; }
.pkg-title { color: #e4e8ff; font-weight: 600; }
.pkg-sub { color: #9aa3b2; font-size: 0.9rem; }

.modern-accordion .accordion-item { border: none; }
.modern-accordion .accordion-button { border: none; }
.modern-accordion .accordion-button::after { filter: invert(1) opacity(.7); }

/* Buttons */
body.theme-dark .btn-primary { background: #5b6cf8; border-color: #5b6cf8; }
body.theme-dark .btn-primary:hover { background: #495bf2; border-color: #495bf2; }
body.theme-dark .btn-outline-secondary { color: #c7cff1; border-color: #3b3f6b; }
body.theme-dark .btn-outline-secondary:hover { background: #1a1e44; border-color: #495bf2; color: #e9ecf5; }

/* Prices */
.price { color: #e9ecf5; font-weight: 600; }
