/* Dark Mode Styles */

/* Body and Background */
body.dark-mode {
  background-color: #1a1a2e !important;
  background-image: none !important;
  color: #e0e0e0 !important;
}

body.dark-mode .feat.bg-gray {
  background-color: #16213e !important;
}

/* Header - Same blue as wave and services section */
body.dark-mode .site-navbar {
  background-color: #16213e !important;
  border-bottom: 1px solid #2a3a5c;
}

/* Logo - Transform black parts to white while keeping red red */
/* Using SVG filter to brighten dark areas while preserving red with high saturation */
body.dark-mode .header-img-logo,
body.dark-mode .site-navbar .header-img-logo,
body.dark-mode .logo-link .header-img-logo,
body.dark-mode .site-logo .header-img-logo {
  /* Use custom SVG filter that brightens dark pixels (black->white) and preserves red */
  filter: url(#brightenDarkPreserveRed) !important;
  opacity: 1 !important;
  /* Ensure good visibility with contrast */
  mix-blend-mode: normal !important;
}

/* Ensure logo visibility on jobs page and all pages */
body.dark-mode .site-navbar .header-img-logo,
body.dark-mode .site-navbar .logo-link .header-img-logo {
  filter: url(#brightenDarkPreserveRed) !important;
  opacity: 1 !important;
}

body.dark-mode .logo-link:hover .header-img-logo {
  filter: url(#brightenDarkPreserveRed) brightness(1.1) !important;
  opacity: 1 !important;
}

body.dark-mode .header-link {
  color: #e0e0e0 !important;
}

body.dark-mode .header-link:hover {
  color: #2EB2E7 !important;
}

/* Text Colors */
body.dark-mode {
  color: #e0e0e0 !important;
}

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
  color: #ffffff !important;
}

body.dark-mode p {
  color: #d0d0d0 !important;
}

/* Services Section */
body.dark-mode .section-services-title,
body.dark-mode .section-services-subtitle {
  color: #ffffff !important;
}

body.dark-mode .item-services {
  background: #1e2749 !important;
  border-color: #2a3a5c !important;
  color: #e0e0e0 !important;
}

body.dark-mode .item-services:hover {
  background: #2a3a5c !important;
  box-shadow: 0 8px 20px 0px rgba(0, 0, 0, 0.4) !important;
}

body.dark-mode .item-services h6 {
  color: #ffffff !important;
}

body.dark-mode .item-services p {
  color: #d0d0d0 !important;
}

/* Why Choose Us Section */
body.dark-mode .section-whychooseus-title,
body.dark-mode .section-whychooseus-subtitle {
  color: #ffffff !important;
}

body.dark-mode .section-whychooseus {
  background-color: #16213e !important;
}

/* Contact Section */
body.dark-mode .section-contact-title,
body.dark-mode .section-contact-subtitle {
  color: #ffffff !important;
}

body.dark-mode .section-contact {
  background-color: #16213e !important;
}

body.dark-mode .form-field {
  background-color: #1e2749 !important;
  border-color: #2a3a5c !important;
  color: #e0e0e0 !important;
}

body.dark-mode .form-field:focus {
  background-color: #1e2749 !important;
  border-color: #2EB2E7 !important;
  color: #ffffff !important;
}

body.dark-mode .form-field::placeholder {
  color: #8198ae !important;
}

body.dark-mode .contacts-address,
body.dark-mode .contacts-info {
  color: #d0d0d0 !important;
}

body.dark-mode .contacts-info-link {
  color: #2EB2E7 !important;
}

/* Footer - Enhanced specificity */
body.dark-mode footer.footer,
body.dark-mode .footer {
  background-color: #0a0e1a !important;
  background: #0a0e1a !important;
  color: #b0b0b0 !important;
}

body.dark-mode footer.footer .container,
body.dark-mode .footer .container {
  background-color: #0a0e1a !important;
  background: #0a0e1a !important;
}

body.dark-mode footer.footer .row,
body.dark-mode .footer .row {
  background-color: transparent !important;
  background: transparent !important;
}

body.dark-mode footer.footer .row > div,
body.dark-mode .footer .row > div {
  background-color: transparent !important;
}

body.dark-mode footer.footer .footer-title,
body.dark-mode .footer .footer-title,
body.dark-mode .footer-title {
  color: #ffffff !important;
}

body.dark-mode footer.footer .footer-light,
body.dark-mode .footer .footer-light,
body.dark-mode .footer-light {
  color: #b0b0b0 !important;
}

body.dark-mode footer.footer .footer-light a,
body.dark-mode .footer .footer-light a,
body.dark-mode .footer-light a {
  color: #2EB2E7 !important;
}

body.dark-mode footer.footer .footer-light strong,
body.dark-mode .footer .footer-light strong,
body.dark-mode .footer-light strong {
  color: #d0d0d0 !important;
}

body.dark-mode footer.footer ul li a,
body.dark-mode .footer ul li a {
  color: #b0b0b0 !important;
}

body.dark-mode footer.footer ul li a:hover,
body.dark-mode .footer ul li a:hover {
  color: #2EB2E7 !important;
}

body.dark-mode footer.footer .footer-bottom,
body.dark-mode .footer .footer-bottom,
body.dark-mode .footer-bottom {
  border-top-color: rgba(148, 163, 184, 0.3) !important;
  background-color: #0a0e1a !important;
  background: #0a0e1a !important;
}

body.dark-mode footer.footer .footer-bottom p,
body.dark-mode .footer .footer-bottom p,
body.dark-mode .footer-bottom p {
  color: #b0b0b0 !important;
}

body.dark-mode footer.footer .footer-bottom a,
body.dark-mode .footer .footer-bottom a,
body.dark-mode .footer-bottom a {
  color: #2EB2E7 !important;
}

body.dark-mode footer.footer .header-img-logo,
body.dark-mode .footer .header-img-logo {
  filter: brightness(0) invert(1) brightness(0.8) !important;
}

body.dark-mode footer.footer .footer-description,
body.dark-mode .footer .footer-description,
body.dark-mode .footer-description {
  color: #b0b0b0 !important;
}

body.dark-mode footer.footer #cookie-preferences-link,
body.dark-mode .footer #cookie-preferences-link,
body.dark-mode #cookie-preferences-link {
  color: #b0b0b0 !important;
}

body.dark-mode footer.footer #cookie-preferences-link:hover,
body.dark-mode .footer #cookie-preferences-link:hover,
body.dark-mode #cookie-preferences-link:hover {
  color: #2EB2E7 !important;
}

body.dark-mode footer.footer .contacts-info-link,
body.dark-mode .footer .contacts-info-link,
body.dark-mode .contacts-info-link {
  color: #2EB2E7 !important;
}

/* SVG Wave Separator - Carousel - Same blue as section below */
body.dark-mode .carousel svg path,
body.dark-mode .carousel svg path[style*="fill: #fff"],
body.dark-mode .carousel svg path[style*="fill:#fff"],
body.dark-mode .carousel svg path[style*="fill: #ffffff"],
body.dark-mode .carousel svg path[style*="fill:#ffffff"] {
  fill: #16213e !important;
}

/* All SVG paths with white fill in dark mode */
body.dark-mode svg path[style*="fill: #fff"],
body.dark-mode svg path[style*="fill:#fff"],
body.dark-mode svg path[style*="fill: #ffffff"],
body.dark-mode svg path[style*="fill:#ffffff"] {
  fill: #16213e !important;
}

/* Specific targeting for the wave separator div */
body.dark-mode .carousel > div[style*="position: absolute"] svg path {
  fill: #16213e !important;
}

/* Section backgrounds that should be dark */
body.dark-mode .feat.bg-gray {
  background-color: #16213e !important;
}

body.dark-mode .sect {
  background-color: #16213e !important;
}

body.dark-mode .section-services {
  background-color: #16213e !important;
}

/* Partners Section */
body.dark-mode .section-partners,
body.dark-mode .section-contact[id="partners"] {
  background-color: #16213e !important;
}

body.dark-mode .section-partners-title,
body.dark-mode .section-partners-subtitle {
  color: #ffffff !important;
}

body.dark-mode .section-partners {
  background-color: #16213e !important;
}

/* Buttons */
body.dark-mode .btn-site {
  background-color: #2EB2E7 !important;
  color: #ffffff !important;
}

body.dark-mode .btn-site:hover {
  background-color: #1a9bc7 !important;
}

body.dark-mode .btn-color {
  background-color: #2EB2E7 !important;
  color: #ffffff !important;
}

/* Carousel */
body.dark-mode .carousel-caption h2,
body.dark-mode .carousel-caption p {
  color: #ffffff !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important;
}

/* Jobs Page - Improved readability in dark mode */
body.dark-mode .job-card {
  background: #2a3a5c !important;
  border-color: #3d4f6e !important;
  color: #ffffff !important;
}

body.dark-mode .job-card h6 {
  color: #ffffff !important;
  font-weight: 600 !important;
}

body.dark-mode .job-card p {
  color: #e0e0e0 !important;
}

body.dark-mode .job-card .text-muted {
  color: #b8c5d6 !important;
}

body.dark-mode .job-card:hover {
  background: #354869 !important;
  border-color: #4a5f7f !important;
}

body.dark-mode .job-card.selected {
  background: #354869 !important;
  border-color: #2EB2E7 !important;
}

body.dark-mode #job-details .item-services {
  background: #2a3a5c !important;
  color: #ffffff !important;
}

/* Job details headings and text */
body.dark-mode #job-details h2,
body.dark-mode #job-details h3,
body.dark-mode #job-details h4,
body.dark-mode #job-details h5 {
  color: #ffffff !important;
}

body.dark-mode #job-details p {
  color: #e0e0e0 !important;
}

/* Job details section titles with better contrast */
body.dark-mode #job-details .section-title,
body.dark-mode #job-details h4.section-title {
  color: #2EB2E7 !important;
}

/* Job detail content specific styles */
body.dark-mode #job-detail-content {
  color: #ffffff !important;
}

body.dark-mode #job-detail-content p {
  color: #e0e0e0 !important;
}

body.dark-mode #job-detail-content p strong {
  color: #2EB2E7 !important;
}

body.dark-mode #job-detail-content h3 {
  color: #2EB2E7 !important;
  border-bottom-color: rgba(46, 178, 231, 0.3) !important;
}

body.dark-mode #job-detail-content h3::before {
  color: #2EB2E7 !important;
}

/* Job details list items */
body.dark-mode #job-details ul li,
body.dark-mode #job-detail-content ul li {
  color: #ffffff !important;
  border-bottom-color: rgba(255, 255, 255, 0.15) !important;
}

body.dark-mode #job-detail-content ul li:hover {
  background: rgba(46, 178, 231, 0.1) !important;
}

body.dark-mode #job-detail-content ul li strong {
  color: #2EB2E7 !important;
}

body.dark-mode #job-details .text-muted {
  color: #b8c5d6 !important;
}

/* Job detail title */
body.dark-mode #job-detail-title {
  color: #ffffff !important;
}

/* Job badge */
body.dark-mode #job-badge {
  background: rgba(46, 178, 231, 0.2) !important;
  color: #2EB2E7 !important;
}

/* Separator line */
body.dark-mode #job-details hr {
  background: linear-gradient(to right, transparent, rgba(46, 178, 231, 0.5), transparent) !important;
}

/* Border top in job details */
body.dark-mode #job-details .item-services > div:last-child {
  border-top-color: rgba(255, 255, 255, 0.15) !important;
}

/* Jobs page intro section */
body.dark-mode .section-intro-jobs {
  background: transparent !important;
}

body.dark-mode .section-intro-jobs .intro-text {
  color: #e0e0e0 !important;
}

body.dark-mode .section-intro-jobs .intro-title {
  color: #ffffff !important;
}

body.dark-mode .section-intro-jobs .intro-subtitle {
  color: #b8c5d6 !important;
}

/* Job cards buttons */
body.dark-mode .job-card .btn-site {
  background: linear-gradient(135deg, #2EB2E7, #1f8bc4) !important;
  color: #ffffff !important;
  border: none !important;
}

body.dark-mode .job-card .btn-site:hover {
  background: linear-gradient(135deg, #1f8bc4, #2EB2E7) !important;
  color: #ffffff !important;
}

/* Job apply button */
body.dark-mode #job-apply-btn {
  background: linear-gradient(135deg, #2EB2E7, #1f8bc4) !important;
  color: #ffffff !important;
  border: none !important;
}

body.dark-mode #job-apply-btn:hover {
  background: linear-gradient(135deg, #1f8bc4, #2EB2E7) !important;
  color: #ffffff !important;
}

/* Application Modal - Dark Mode */
body.dark-mode .apply-modal-content {
  background: #2a3a5c !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6) !important;
}

body.dark-mode .apply-modal-header {
  border-bottom-color: rgba(255, 255, 255, 0.15) !important;
}

body.dark-mode .apply-modal-header h2 {
  color: #ffffff !important;
}

body.dark-mode .apply-modal-close {
  color: #b8c5d6 !important;
}

body.dark-mode .apply-modal-close:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #2EB2E7 !important;
}

/* Form labels and inputs */
body.dark-mode .apply-form-group label {
  color: #ffffff !important;
}

body.dark-mode .apply-form-group input[type="text"],
body.dark-mode .apply-form-group input[type="email"] {
  background: #1e2749 !important;
  border-color: #3d4f6e !important;
  color: #ffffff !important;
}

body.dark-mode .apply-form-group input[type="text"]:focus,
body.dark-mode .apply-form-group input[type="email"]:focus {
  border-color: #2EB2E7 !important;
  background: #25304a !important;
  color: #ffffff !important;
}

body.dark-mode .apply-form-group input[type="text"]::placeholder,
body.dark-mode .apply-form-group input[type="email"]::placeholder {
  color: #8198ae !important;
}

/* File upload buttons and text */
body.dark-mode .apply-form-group input[type="file"] {
  background: #1e2749 !important;
  border-color: #3d4f6e !important;
  color: #ffffff !important;
}

body.dark-mode .apply-form-group input[type="file"]:hover {
  background: #25304a !important;
  border-color: #2EB2E7 !important;
}

body.dark-mode .apply-form-group small {
  color: #b8c5d6 !important;
}

/* File name display area */
body.dark-mode .file-name-display {
  background: #1e2749 !important;
  border-color: #3d4f6e !important;
  color: #b8c5d6 !important;
}

/* Form action buttons */
body.dark-mode .apply-form-actions .btn-site {
  background: linear-gradient(135deg, #2EB2E7, #1f8bc4) !important;
  color: #ffffff !important;
  border: none !important;
}

body.dark-mode .apply-form-actions .btn-site:hover {
  background: linear-gradient(135deg, #1f8bc4, #2EB2E7) !important;
  color: #ffffff !important;
}

/* Cancel button */
body.dark-mode .apply-form-actions .btn-cancel,
body.dark-mode .apply-form-actions .btn-color {
  background: transparent !important;
  color: #b8c5d6 !important;
  border-color: #3d4f6e !important;
}

body.dark-mode .apply-form-actions .btn-cancel:hover,
body.dark-mode .apply-form-actions .btn-color:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  border-color: #2EB2E7 !important;
}

/* Border top in form actions */
body.dark-mode .apply-form-actions {
  border-top-color: rgba(255, 255, 255, 0.15) !important;
}

/* Form messages */
body.dark-mode #apply-form-message.success {
  background: rgba(46, 178, 231, 0.2) !important;
  color: #2EB2E7 !important;
  border-color: #2EB2E7 !important;
}

body.dark-mode #apply-form-message.error {
  background: rgba(220, 53, 69, 0.2) !important;
  color: #ff6b7a !important;
  border-color: #dc3545 !important;
}

/* FAQ Page */
body.dark-mode .faq-hero {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%) !important;
}

body.dark-mode .faq-container {
  background-color: #16213e !important;
}

body.dark-mode .faq-content {
  background: #1e2749 !important;
  color: #e0e0e0 !important;
}

body.dark-mode .faq-content h2 {
  color: #2EB2E7 !important;
}

body.dark-mode .faq-section-title {
  color: #ffffff !important;
}

/* Privacy Policy Page */
body.dark-mode .privacy-hero {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%) !important;
}

body.dark-mode .privacy-container {
  background-color: #16213e !important;
}

body.dark-mode .privacy-content {
  background: #1e2749 !important;
  color: #e0e0e0 !important;
}

body.dark-mode .privacy-content h1 {
  color: #2EB2E7 !important;
}

body.dark-mode .privacy-content h2 {
  color: #ffffff !important;
}

/* Dark Mode Toggle - Just clickable image/text, no button styling */
.dark-mode-toggle {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 1000;
  cursor: pointer;
  transition: transform 0.3s ease;
  text-decoration: none;
  display: block;
}

.dark-mode-toggle img {
  display: block;
  height: auto;
  max-width: 120px;
  width: auto;
}

.dark-mode-toggle:hover {
  transform: scale(1.05);
}

.dark-mode-toggle:hover img {
  opacity: 0.9;
}

/* In dark mode, show light mode image */
body.dark-mode .dark-mode-toggle img {
  display: block;
  height: auto;
  max-width: 120px;
  width: auto;
}

/* Scroll Down Arrow */
body.dark-mode .scroll-down {
  border-color: #8198ae !important;
}

body.dark-mode .scroll-down:before {
  border-color: #8198ae !important;
}

/* Mobile Menu - Same blue as header */
body.dark-mode .site-mobile-menu {
  background-color: #16213e !important;
}

body.dark-mode .site-mobile-menu .site-menu li a {
  color: #e0e0e0 !important;
}

/* Cookie Banner */
body.dark-mode .cookie-banner {
  background-color: #1e2749 !important;
  border-top-color: #2a3a5c !important;
  color: #e0e0e0 !important;
}

/* Form Success/Error Messages */
body.dark-mode .alert-success {
  background-color: #1e4d2e !important;
  border-color: #2a6b3f !important;
  color: #a9ecbc !important;
}

body.dark-mode .alert-danger {
  background-color: #4d1e1e !important;
  border-color: #6b2a2a !important;
  color: #ffb3b3 !important;
}

/* Links */
body.dark-mode a {
  color: #2EB2E7 !important;
}

body.dark-mode a:hover {
  color: #1a9bc7 !important;
}

/* Inputs and Selects */
body.dark-mode select {
  background-color: #1e2749 !important;
  border-color: #2a3a5c !important;
  color: #e0e0e0 !important;
}

body.dark-mode textarea {
  background-color: #1e2749 !important;
  border-color: #2a3a5c !important;
  color: #e0e0e0 !important;
}

/* Table (if any) */
body.dark-mode table {
  background-color: #1e2749 !important;
  color: #e0e0e0 !important;
}

body.dark-mode table th {
  background-color: #16213e !important;
  color: #ffffff !important;
}

body.dark-mode table td {
  border-color: #2a3a5c !important;
}
