/* Core theme colors */
:root {
    --main-bg-color: #252735;
    --section-bg-color: #27313d;
    --text-color: #ffffff;
    --text-muted: #b0b6be;
    --link-color: #4da3ff;
    --primary-color: #3b71ca;
    --hover-color: #2a4f8f;
    --card-bg: #323745;
    --success-color: #51cf66;
    --warning-color: #fcc419;
    --danger-color: #ff6b6b;
    --info-color: #4dabf7;
    --highlight-color: #5c7cfa;
  }
  
  /* Base styles */
  body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--main-bg-color);
    color: var(--text-color);
  }
  
  h1, h2, h3, h4, h5, h6 {
    color: var(--text-color);
  }
  
  /* Typography */
  .font-100 { font-weight: 100; }
  .font-400 { font-weight: 400; }
  .font-700 { font-weight: 700; }
  
  a,
  .accordion-body a,
  p a,
  li a,
  .tab-pane a,
  .card-text a {
    color: #3ef2ff !important;
    text-decoration: none;
    transition: color 0.3s ease, text-decoration 0.2s ease;
  }
  
  a:hover,
  .accordion-body a:hover,
  p a:hover,
  li a:hover,
  .tab-pane a:hover,
  .card-text a:hover {
    color: #80fbff !important;
    text-decoration: underline !important;
  }
  
  /* Override for links in white text areas to ensure contrast */
  .text-white a {
    color: #3ef2ff;
  }
  
  /* Text utilities */
  .text-white-50 { color: rgba(255, 255, 255, 0.5) !important; }
  .text-danger { color: var(--danger-color) !important; }
  .text-success { color: var(--success-color) !important; }
  .text-info { color: var(--info-color) !important; }
  .text-primary { color: var(--highlight-color) !important; }
  .text-warning { color: var(--warning-color) !important; }
  
  p[style*="font-size: 0.8rem; color: grey"] {
    font-size: 0.8rem !important;
    color: var(--text-muted) !important;
  }
  
  /* Button styling */
  .button-hover {
    background-color: var(--primary-color);
    color: var(--text-color);
  }
  
  .button-hover:hover,
  .btn:hover,
  .btn-rounded:hover {
    transition: all 0.3s;
    background-color: var(--hover-color);
    color: var(--text-color);
    opacity: 0.9;
  }
  
  /* Background containers - consolidated similar selectors */
  .container-fluid.p-5,
  .container-fluid[style*="background-color: #252735"],
  .container-fluid.p-5.mt-5.rounded-3[style*="background-color: #252735"] {
    background-color: var(--main-bg-color) !important;
    color: var(--text-color);
  }
  
  .container-fluid[style*="background-color: #27313d"] {
    background-color: var(--section-bg-color) !important;
  }
  
  .container-fluid.p-5.my-5.rounded-3[style*="background-color: #333745"] {
    background-color: #333745 !important;
  }
  
  .container-fluid[style*="background-color: #053561"] {
    background-color: #053561 !important;
  }
  
  /* Section backgrounds */
  .hover-shadow {
    background-color: var(--card-bg) !important;
    color: var(--text-color);
    transition: box-shadow 0.3s;
  }
  
  .hover-shadow:hover {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .3) !important;
  }
  
  /* Consolidated card-like containers */
  .border.p-4.rounded-3.bg-white,
  .container-fluid.p-5.my-5.rounded-3[style*="background-color: #ffffff"],
  .container-fluid.my-5.rounded-3.g-0[style*="background-color: #ffffff"] {
    background-color: var(--card-bg) !important;
    color: var(--text-color);
    border-color: rgba(255, 255, 255, 0.125) !important;
  }
  
  /* Accordion styling - consolidated selectors */
  .accordion-button,
  .accordion-button:not(.collapsed),
  .accordion-button.collapsed,
  #accordionFlushExampleX .accordion-button,
  #showHide .accordion-button {
    background-color: var(--card-bg);
    color: var(--text-color);
  }
  
  .accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.1);
    border-color: transparent;
  }
  
  .accordion-button::after {
    filter: invert(1);
  }
  
  .accordion-header button h2 {
    margin: 0;
    font-size: 1.25rem;
    color: var(--text-color) !important;
  }
  
  /* Consolidated accordion body styling */
  .accordion-body,
  #accordionFlushExampleX .accordion-collapse .accordion-body,
  #showHide .accordion-collapse .accordion-body {
    background-color: var(--card-bg);
    color: var(--text-color) !important;
    padding: 1.5rem;
  }
  
  .accordion-item {
    background-color: var(--card-bg);
    border: 1px solid rgba(255, 255, 255, 0.125);
  }
  
  /* Consolidated text color for accordion content */
  .accordion-body *,
  #accordionFlushExampleX .accordion-body *,
  #showHide .accordion-body * {
    color: var(--text-color) !important;
  }
  
  .accordion-body .text-muted,
  p.text-muted {
    color: var(--text-muted) !important;
  }
  
  /* Image overlay */
  .image-overlay-container {
    margin-top: -15px;
    position: relative;
    text-align: center;
    color: white;
    background-image: url('https://besthomepageever.com/assets/images/backgrounds/3.jpg');
    background-size: cover; 
    background-position: center;
    height: 350px;
    width: 100%; 
  }
  
  .overlay-content {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;   
  }
  
  /* Style the overlay text elements */
  .overlay-text h1,
  .overlay-text h1[style*="font-size: 3.5rem"] {
    font-size: 3.5rem !important;
  }
  
  .overlay-text p,
  .overlay-text p[style*="font-size: 1.4rem"] {
    font-size: 1.4rem !important;
  }
  
  /* Card styles */
  .card {
    background-color: var(--card-bg);
    border: 1px solid rgba(255, 255, 255, 0.125);
  }
  
  /* Badge styles */
  .badge {
    padding: 0.5em 0.75em;
  }
  
  .badge.rounded-pill.badge-primary,
  .badge.bg-primary {
    background-color: var(--primary-color) !important;
    color: white;
  }
  
  /* Tabs and content */
  .tab-content[style*="min-height: 360px"] {
    min-height: 360px !important;
  }
  
  .tab-pane {
    padding: 1rem;
  }
  
  /* Media elements */
  img {
    filter: brightness(1.05);
  }
  
  iframe, video {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
  }
  
  /* Code elements */
  pre, code {
    background-color: #1e2130;
    color: #e9ecef;
    border-radius: 4px;
    padding: 0.2em 0.4em;
  }
  
  /* Text size overrides */
  .container-fluid.p-5.mt-5.rounded-3 p[style*="font-size: 1.3rem"] {
    font-size: 1.3rem !important;
  }
  
  div[style*="font-size: 12px"] {
    font-size: 12px !important;
  }
  
  /* Handle HR styling */
  hr[style*="color: #3bb54a; max-width: 400px"] {
    color: #3bb54a !important;
    max-width: 400px !important;
    opacity: 0.5;
  }
  
  /* Fix for specific colored icons */
  .fa-circle-plus[style*="color: #3C9AF0"] {
    color: #3C9AF0 !important;
  }
  
  /* Section heading color overrides - preserve original colors */
  h2[style*="color: #3BB54A"] { color: #3BB54A !important; }
  h2[style*="color: #fdB415"] { color: #fdB415 !important; }
  h3[style*="color: #0673b9"] { color: #0673b9 !important; }
  h3[style*="color: #3BB54A"] { color: #3BB54A !important; }
  h3[style*="color: #fdB415"] { color: #fdB415 !important; }
  h3[style*="color: #f0592A"] { color: #f0592A !important; }
  h3[style*="color: #cd03c2"] { color: #cd03c2 !important; }
  
  /* Fix for accordion specific backgrounds when expanded */
  .accordion-button:not(.collapsed) {
    background-color: var(--card-bg) !important;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.125);
  }
  
  /* Target the h2 inside accordion buttons to maintain proper contrast */
  .accordion-button:not(.collapsed) h2 {
    color: var(--text-color) !important;
  }
  
  /* Remove underlines from all button text - consolidated */
  button, .btn, .nav-link, a.btn, .accordion-button, [class*="btn-"],
  button:hover, .btn:hover, .nav-link:hover, a.btn:hover, .accordion-button:hover, [class*="btn-"]:hover,
  button a, .btn a, .nav-link a, a.btn a, .accordion-button a, [class*="btn-"] a,
  button a:hover, .btn a:hover, .nav-link a:hover, a.btn a:hover, .accordion-button a:hover, [class*="btn-"] a:hover {
    text-decoration: none !important;
  }
  
  /* Ensure links in text content can still be underlined on hover unless in buttons */
  p a:hover:not(.btn):not(.nav-link):not([class*="btn-"]),
  li a:hover:not(.btn):not(.nav-link):not([class*="btn-"]),
  div:not(.nav-link):not(.btn) > a:hover:not(.btn):not(.nav-link):not([class*="btn-"]) {
    text-decoration: underline !important;
  }
  
  /* Underlined headings */
  h2.underlined {
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
    margin-bottom: 20px;
  }
  
  h2.underlined:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; /* Make the underline match the width of the text */
    height: 3px;
    background-color: currentColor;
    opacity: 0.8;
    border-radius: 2px;
  }
  
  h2.underlined[style*="color: #3BB54A"]:after {
    background-color: #3BB54A;
  }
  
  h2.underlined[style*="color: #fdB415"]:after {
    background-color: #fdB415;
  }
  
  h2.underlined[style*="color: lightcoral"]:after {
    background-color: lightcoral;
  }
  
  h2.underlined[style*="color: #abf2ff"]:after {
    background-color: #abf2ff;
  }
  
  h2.underlined[style*="color: #ffa5ea"]:after {
    background-color: #ffa5ea;
  }
  
  