/* Accessibility Improvements */

/* Screen reader only content */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Focus indicators - DISABLED per user request */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Skip to main content link */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #000;
  color: #fff;
  padding: 8px;
  text-decoration: none;
  z-index: 1000;
  border-radius: 4px;
}

.skip-link:focus {
  top: 6px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .btn {
    border: 2px solid currentColor;
  }
  
  .form-control {
    border: 2px solid #000;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Improved color contrast */
.text-muted {
  color: #495057 !important;
}

/* Better button states */
.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Form validation improvements */
.is-invalid {
  border-color: #dc3545 !important;
}

.text-danger {
  color: #dc3545 !important;
  font-weight: 500;
}

/* Loading states */
.loading {
  opacity: 0.7;
  pointer-events: none;
}

/* Image loading placeholder */
img[loading="lazy"] {
  transition: opacity 0.3s;
}

img.loaded {
  opacity: 1;
}

/* Keyboard navigation improvements - DISABLED per user request */
.navbar-nav .nav-link:focus {
  background-color: transparent !important;
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Better link visibility - no underlines */
a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

/* Form label improvements */
label {
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* Error message styling */
[role="alert"] {
  font-size: 0.875rem;
  margin-top: 0.25rem;
}

/* Remove problematic hover effects */
.icon-box-three:hover:before,
.icon-box-five:hover,
.icon-box-eight:hover .icon-square-sm,
.icon-box-nine:hover .icon-rounded-sm,
.icon-box-img:hover,
.icon-box-fourteen:hover .icon-rounded,
.icon-box-15:hover {
  box-shadow: none !important;
  transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-color: inherit !important;
  background: inherit !important;
  visibility: inherit !important;
}

/* Header Menu Fixes - Remove all hover and click effects except active underline */
.menu_area .navbar .navbar-nav .nav-item .nav-link {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  transition: none !important;
}

.menu_area .navbar .navbar-nav .nav-item .nav-link:hover {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: inherit !important;
  transform: none !important;
}

.menu_area .navbar .navbar-nav .nav-item .nav-link:focus {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.menu_area .navbar .navbar-nav .nav-item .nav-link:active {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Preserve only the active page underline indicator */
.menu_area .navbar-nav .nav-item > .nav-link.active {
  color: #413aa4 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  position: relative;
}

.menu_area .navbar-nav .nav-item > .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 2px;
  background-color: #413aa4;
  border-radius: 1px;
}

/* Remove any Bootstrap nav-tabs styling that might interfere */
.navbar-nav .nav-item .nav-link {
  border-radius: 0 !important;
  border: none !important;
  margin-bottom: 0 !important;
}

/* Ensure no background changes on any state */
.navbar-nav .nav-item .nav-link,
.navbar-nav .nav-item .nav-link:hover,
.navbar-nav .nav-item .nav-link:focus,
.navbar-nav .nav-item .nav-link:active {
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Remove click borders from all links */
a,
a:hover,
a:focus,
a:active,
a:visited {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Remove focus outlines from all clickable elements */
button,
button:hover,
button:focus,
button:active,
input[type="button"],
input[type="submit"],
input[type="reset"],
.btn,
.btn:hover,
.btn:focus,
.btn:active {
  outline: none !important;
  border-style: solid !important; /* Keep border style for buttons but remove focus outline */
  box-shadow: none !important;
}

/* Specifically target navbar links to remove all borders */
.navbar-nav .nav-link,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link:active,
.navbar-nav .nav-link:visited {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Remove borders from footer links */
footer a,
footer a:hover,
footer a:focus,
footer a:active,
footer a:visited {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Remove borders from all other page links */
.content a,
.content a:hover,
.content a:focus,
.content a:active,
.content a:visited,
p a,
p a:hover,
p a:focus,
p a:active,
p a:visited,
li a,
li a:hover,
li a:focus,
li a:active,
li a:visited {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}



/* Privacy Page Typography Consistency */
/* Match heading sizes to other pages with proportional spacing */
.privacy-page h1 {
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
  color: #202428 !important;
}

.privacy-page h2 {
  font-size: 1.75rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
  color: #202428 !important;
}

.privacy-page h3 {
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  margin-top: 0.35rem !important;
  margin-bottom: 0.35rem !important;
  color: #202428 !important;
}

/* Match paragraph styling to other pages */
.privacy-page p {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin-bottom: 0.5rem !important;
  color: #5a6671 !important;
  font-family: inherit !important;
}

/* Match list styling to other pages */
.privacy-page ul {
  margin-bottom: 0.5rem !important;
  padding-left: 1.5rem !important;
}

.privacy-page li {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin-bottom: 0.25rem !important;
  color: #5a6671 !important;
}

/* Match link styling */
.privacy-page a {
  color: #413aa4 !important;
  text-decoration: none !important;
}

.privacy-page a:hover {
  color: #06b590 !important;
  text-decoration: none !important;
}

/* Consistent spacing for sections */
.privacy-page .col-lg-12.mb-4 {
  margin-bottom: 0.5rem !important;
}

.privacy-page .margin-md-60 {
  margin-bottom: 0.5rem !important;
}

/* Match the last updated text styling */
.privacy-page .text-muted {
  font-size: 0.875rem !important;
  color: #6c757d !important;
  margin-bottom: 0.5rem !important;
}

/* Strong text styling */
.privacy-page strong {
  font-weight: 600 !important;
  color: #202428 !important;
}

/* Quotation Form Styling */
.modal-dialog.modal-md {
  max-width: 600px;
}

.form-control-sm {
  height: 38px !important;
  font-size: 0.875rem !important;
  padding: 0.375rem 0.75rem !important;
}

.form-control-sm:focus {
  border-color: #413aa4 !important;
  box-shadow: 0 0 0 0.2rem rgba(65, 58, 164, 0.25) !important;
}

.form-label {
  font-weight: 500 !important;
  color: #202428 !important;
  margin-bottom: 0.5rem !important;
  font-size: 0.875rem !important;
}

.invalid-feedback {
  display: block !important;
  font-size: 0.75rem !important;
  margin-top: 0.25rem !important;
}

.is-invalid {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

.btn-icon .la {
  margin-right: 0.5rem !important;
  font-size: 1rem !important;
}

.spinner-border-sm {
  width: 1rem !important;
  height: 1rem !important;
}

/* Success message styling */
.alert-success {
  background-color: #d4edda !important;
  border-color: #c3e6cb !important;
  color: #155724 !important;
  padding: 0.75rem 1rem !important;
  margin-bottom: 1rem !important;
  border-radius: 0.25rem !important;
}

/* Error message styling */
.alert-danger {
  background-color: #f8d7da !important;
  border-color: #f5c6cb !important;
  color: #721c24 !important;
  padding: 0.75rem 1rem !important;
  margin-bottom: 1rem !important;
  border-radius: 0.25rem !important;
}
