/* Dark Theme Extensions for specific pages */

/* Dark theme for index page */
body.dark-theme .hero-section {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .hero-section::before {
    opacity: 0.05;
}

body.dark-theme .hero-title {
    color: var(--dark-text-primary) !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

body.dark-theme .hero-subtitle {
    color: var(--dark-text-secondary) !important;
    opacity: 0.9;
}

body.dark-theme .features-section {
    background: var(--dark-bg-primary) !important;
}

body.dark-theme .section-title {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .feature-card {
    background: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .feature-card:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4) !important;
    border-color: var(--dark-accent) !important;
}

body.dark-theme .cta-section {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .btn-primary-hero {
    background: var(--dark-accent) !important;
    border-color: var(--dark-accent) !important;
    color: var(--dark-bg-primary) !important;
}

body.dark-theme .btn-primary-hero:hover {
    background: var(--dark-accent-hover) !important;
    border-color: var(--dark-accent-hover) !important;
    color: var(--dark-bg-primary) !important;
}

body.dark-theme .btn-outline-hero {
    background: transparent !important;
    border: 2px solid var(--dark-text-primary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .btn-outline-hero:hover {
    background: var(--dark-text-primary) !important;
    color: var(--dark-bg-primary) !important;
}

body.dark-theme .btn-cta {
    background: var(--dark-text-primary) !important;
    color: var(--dark-bg-primary) !important;
}

body.dark-theme .btn-cta:hover {
    background: var(--dark-text-secondary) !important;
    color: var(--dark-bg-primary) !important;
}

/* Dark theme for For Employers page */
body.dark-theme .content-box {
    background: rgba(22, 27, 34, 0.95) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .hero-section h1 {
    background: linear-gradient(135deg, var(--dark-accent) 0%, var(--dark-accent-hover) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

body.dark-theme .hero-section p {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme .services-section h2 {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .service-item {
    background: rgba(33, 38, 45, 0.8) !important;
    border: 2px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .service-item:hover {
    border-color: var(--dark-accent) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important;
}

body.dark-theme .contact-section {
    background: linear-gradient(135deg, var(--dark-accent) 0%, var(--dark-accent-hover) 100%) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .form-section {
    background: rgba(33, 38, 45, 0.9) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .btn-submit {
    background: linear-gradient(135deg, var(--dark-accent) 0%, var(--dark-accent-hover) 100%) !important;
    border: none !important;
    color: var(--dark-bg-primary) !important;
}

body.dark-theme .btn-submit:hover {
    color: var(--dark-bg-primary) !important;
}

/* Dark theme for Application Form page */
body.dark-theme .animated-bg {
    background: linear-gradient(-45deg, #1a1a2e, #16213e, #0f3460, #533483) !important;
}

body.dark-theme .card {
    background: rgba(22, 27, 34, 0.95) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .card-header {
    background: linear-gradient(135deg, var(--dark-accent) 0%, var(--dark-accent-hover) 100%) !important;
    color: var(--dark-bg-primary) !important;
    border: none !important;
}

body.dark-theme .form-control {
    background: rgba(33, 38, 45, 0.9) !important;
    border: 2px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .form-control:focus {
    background: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-accent) !important;
    color: var(--dark-text-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(88, 166, 255, 0.25) !important;
}

body.dark-theme .form-control::placeholder {
    color: var(--dark-text-muted) !important;
}

body.dark-theme .form-group label {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .form-group label i {
    color: var(--dark-accent) !important;
}

body.dark-theme .btn-primary {
    background: linear-gradient(135deg, var(--dark-accent) 0%, var(--dark-accent-hover) 100%) !important;
    border: none !important;
    color: var(--dark-bg-primary) !important;
}

body.dark-theme .btn-primary:hover {
    color: var(--dark-bg-primary) !important;
}

body.dark-theme .btn-outline-primary {
    color: var(--dark-accent) !important;
    border-color: var(--dark-accent) !important;
}

body.dark-theme .btn-outline-primary:hover {
    background: var(--dark-accent) !important;
    border-color: var(--dark-accent) !important;
    color: var(--dark-bg-primary) !important;
}

/* Dark theme for mass mail page */
body.dark-theme .mass-mail-container {
    background-color: var(--dark-bg-primary);
}

body.dark-theme .template-card {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
}

body.dark-theme .template-card:hover {
    box-shadow: 0 4px 20px var(--dark-shadow);
}

/* Dark theme for dashboard */
body.dark-theme .seaman-dashboard {
    background-color: var(--dark-bg-primary);
}

body.dark-theme .seaman-dashboard .card {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
}

body.dark-theme .seaman-dashboard .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px var(--dark-shadow);
}

/* Dark theme for profile page */
body.dark-theme .profile-container {
    background-color: var(--dark-bg-primary);
}

body.dark-theme .profile-section {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
}

/* Dark theme for documents page */
body.dark-theme .documents-container {
    background-color: var(--dark-bg-primary);
}

body.dark-theme .document-card {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
}

body.dark-theme .document-card:hover {
    box-shadow: 0 4px 20px var(--dark-shadow);
}

/* Dark theme for forms */
body.dark-theme .form-container {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
}

body.dark-theme .form-section {
    border-bottom: 1px solid var(--dark-border);
}

/* Dark theme for validation messages */
body.dark-theme .validation-status {
    background-color: var(--dark-bg-tertiary);
    border: 1px solid var(--dark-border);
}

body.dark-theme .validation-status.valid {
    color: var(--dark-success);
}

body.dark-theme .validation-status.invalid {
    color: var(--dark-danger);
}

body.dark-theme .validation-status.warning {
    color: var(--dark-warning);
}

/* Dark theme for requirements lists */
body.dark-theme .username-requirements,
body.dark-theme .password-requirements {
    background-color: var(--dark-bg-tertiary);
    border: 1px solid var(--dark-border);
}

body.dark-theme .username-requirements li,
body.dark-theme .password-requirements li {
    color: var(--dark-text-secondary);
}

body.dark-theme .username-requirements li.met,
body.dark-theme .password-requirements li.met {
    color: var(--dark-success);
}

/* Dark theme for progress bars */
body.dark-theme .progress {
    background-color: var(--dark-bg-tertiary);
}

body.dark-theme .progress-bar {
    background: linear-gradient(45deg, var(--dark-accent) 0%, var(--dark-accent-hover) 100%);
}

/* Dark theme for strength indicators */
body.dark-theme .strength-bar {
    background-color: var(--dark-bg-tertiary);
}

body.dark-theme .strength-fill.very-weak {
    background-color: var(--dark-danger);
}

body.dark-theme .strength-fill.weak {
    background-color: #ff6b6b;
}

body.dark-theme .strength-fill.fair {
    background-color: var(--dark-warning);
}

body.dark-theme .strength-fill.good {
    background-color: #51cf66;
}

body.dark-theme .strength-fill.strong {
    background-color: var(--dark-success);
}

/* Dark theme for notifications */
body.dark-theme .notification {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

/* Dark theme for modals */
body.dark-theme .modal-backdrop {
    background-color: rgba(0, 0, 0, 0.8);
}

/* Dark theme for tooltips */
body.dark-theme .tooltip .tooltip-inner {
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
}

body.dark-theme .tooltip .tooltip-arrow::before {
    border-top-color: var(--dark-bg-tertiary);
}

/* Dark theme for custom scrollbars */
/* Firefox */
body.dark-theme {
    scrollbar-width: thin;
    scrollbar-color: var(--dark-border) var(--dark-bg-secondary);
}

/* WebKit/Blink */
@supports selector(::-webkit-scrollbar) {
    body.dark-theme::-webkit-scrollbar {
        width: 8px;
    }

    body.dark-theme::-webkit-scrollbar-track {
        background: var(--dark-bg-secondary);
    }

    body.dark-theme::-webkit-scrollbar-thumb {
        background: var(--dark-border);
        border-radius: 4px;
    }

    body.dark-theme::-webkit-scrollbar-thumb:hover {
        background: var(--dark-border-hover);
    }
}

/* Dark theme for code blocks */
body.dark-theme code {
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
    border: 1px solid var(--dark-border);
}

body.dark-theme pre {
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
    border: 1px solid var(--dark-border);
}

/* Dark theme for blockquotes */
body.dark-theme blockquote {
    border-left: 4px solid var(--dark-accent);
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
}

/* Dark theme for mark elements */
body.dark-theme mark {
    background-color: var(--dark-warning);
    color: var(--dark-bg-primary);
}

/* Dark theme for selection */
body.dark-theme ::selection {
    background-color: var(--dark-accent);
    color: var(--dark-bg-primary);
}

body.dark-theme ::-moz-selection {
    background-color: var(--dark-accent);
    color: var(--dark-bg-primary);
}

/* Dark theme for alerts and notifications */
body.dark-theme .alert {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .alert-success {
    background-color: rgba(63, 185, 80, 0.1) !important;
    border-color: var(--dark-success) !important;
    color: var(--dark-success) !important;
}

body.dark-theme .alert-warning {
    background-color: rgba(210, 153, 34, 0.1) !important;
    border-color: var(--dark-warning) !important;
    color: var(--dark-warning) !important;
}

body.dark-theme .alert-danger {
    background-color: rgba(248, 81, 73, 0.1) !important;
    border-color: var(--dark-danger) !important;
    color: var(--dark-danger) !important;
}

body.dark-theme .alert-info {
    background-color: rgba(88, 166, 255, 0.1) !important;
    border-color: var(--dark-info) !important;
    color: var(--dark-info) !important;
}

/* Dark theme for invalid feedback */
body.dark-theme .invalid-feedback {
    color: var(--dark-danger) !important;
}

body.dark-theme .is-invalid {
    border-color: var(--dark-danger) !important;
}

body.dark-theme .is-valid {
    border-color: var(--dark-success) !important;
}

/* Dark theme for dropdown menus */
body.dark-theme .dropdown-menu {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    box-shadow: 0 4px 20px var(--dark-shadow) !important;
}

body.dark-theme .dropdown-item {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .dropdown-item:hover,
body.dark-theme .dropdown-item:focus {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .dropdown-divider {
    border-top: 1px solid var(--dark-border) !important;
}

/* Dark theme for breadcrumbs */
body.dark-theme .breadcrumb {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .breadcrumb-item a {
    color: var(--dark-accent) !important;
}

body.dark-theme .breadcrumb-item.active {
    color: var(--dark-text-secondary) !important;
}

/* Dark theme for spinners */
body.dark-theme .spinner-border {
    color: var(--dark-accent) !important;
}

body.dark-theme .spinner-grow {
    color: var(--dark-accent) !important;
}

/* Dark theme for close buttons */
body.dark-theme .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%) !important;
}

/* Dark theme for carousel */
body.dark-theme .carousel-indicators [data-bs-target] {
    background-color: var(--dark-border) !important;
}

body.dark-theme .carousel-indicators .active {
    background-color: var(--dark-accent) !important;
}

body.dark-theme .carousel-control-prev-icon,
body.dark-theme .carousel-control-next-icon {
    filter: invert(1) !important;
}

/* Dark theme for accordion */
body.dark-theme .accordion-item {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .accordion-header .accordion-button {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
    border: none !important;
}

body.dark-theme .accordion-header .accordion-button:not(.collapsed) {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .accordion-header .accordion-button::after {
    filter: invert(1) !important;
}

body.dark-theme .accordion-body {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
}

/* Dark theme for offcanvas */
body.dark-theme .offcanvas {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .offcanvas-header {
    border-bottom: 1px solid var(--dark-border) !important;
}

/* Dark theme for toast notifications */
body.dark-theme .toast {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .toast-header {
    background-color: var(--dark-bg-tertiary) !important;
    border-bottom: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .toast-body {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
}

/* Dark theme for popovers */
body.dark-theme .popover {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .popover-header {
    background-color: var(--dark-bg-tertiary) !important;
    border-bottom: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .popover-body {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
}

/* Dark theme for tooltips */
body.dark-theme .tooltip .tooltip-inner {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .tooltip .tooltip-arrow::before {
    border-top-color: var(--dark-bg-tertiary) !important;
}

/* Dark theme for custom elements */
body.dark-theme .seaman-dashboard .card {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .seaman-dashboard .card:hover {
    box-shadow: 0 4px 20px var(--dark-shadow) !important;
}

/* Dark theme for profile page */
body.dark-theme .profile-container {
    background-color: var(--dark-bg-primary) !important;
}

body.dark-theme .profile-section {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

/* Dark theme for documents page */
body.dark-theme .documents-container {
    background-color: var(--dark-bg-primary) !important;
}

body.dark-theme .document-card {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .document-card:hover {
    box-shadow: 0 4px 20px var(--dark-shadow) !important;
}

/* Dark theme for forms */
body.dark-theme .form-container {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .form-section {
    border-bottom: 1px solid var(--dark-border) !important;
}

/* Dark theme for validation messages */
body.dark-theme .validation-status {
    background-color: var(--dark-bg-tertiary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .validation-status.valid {
    color: var(--dark-success) !important;
}

body.dark-theme .validation-status.invalid {
    color: var(--dark-danger) !important;
}

body.dark-theme .validation-status.warning {
    color: var(--dark-warning) !important;
}

/* Dark theme for requirements lists */
body.dark-theme .username-requirements,
body.dark-theme .password-requirements {
    background-color: var(--dark-bg-tertiary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .username-requirements li,
body.dark-theme .password-requirements li {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme .username-requirements li.met,
body.dark-theme .password-requirements li.met {
    color: var(--dark-success) !important;
}

/* Dark theme for progress bars */
body.dark-theme .progress {
    background-color: var(--dark-bg-tertiary) !important;
}

body.dark-theme .progress-bar {
    background: linear-gradient(45deg, var(--dark-accent) 0%, var(--dark-accent-hover) 100%) !important;
}

/* Dark theme for strength indicators */
body.dark-theme .strength-bar {
    background-color: var(--dark-bg-tertiary) !important;
}

body.dark-theme .strength-fill.very-weak {
    background-color: var(--dark-danger) !important;
}

body.dark-theme .strength-fill.weak {
    background-color: #ff6b6b !important;
}

body.dark-theme .strength-fill.fair {
    background-color: var(--dark-warning) !important;
}

body.dark-theme .strength-fill.good {
    background-color: #51cf66 !important;
}

body.dark-theme .strength-fill.strong {
    background-color: var(--dark-success) !important;
}

/* Dark theme for notifications */
body.dark-theme .notification {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

/* Dark theme for modals */
body.dark-theme .modal-backdrop {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

/* Dark theme for code blocks */
body.dark-theme code {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme pre {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
    border: 1px solid var(--dark-border) !important;
}

/* Dark theme for blockquotes */
body.dark-theme blockquote {
    border-left: 4px solid var(--dark-accent) !important;
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

/* Dark theme for mark elements */
body.dark-theme mark {
    background-color: var(--dark-warning) !important;
    color: var(--dark-bg-primary) !important;
}