/* ======================================================================
   High-Contrast Dark Theme (Bootstrap 4.6.2 compatible)                
   Scope: body.high-contrast
   Notes:
   - Designed to override your master (Bootstrap-based) stylesheet.
   - Uses CSS variables for easy theming.
   - Includes brand accents: #0B6623 (primary brand), #21bfa6 (accent).
   - Keep this AFTER master.min.css in the cascade.
   ====================================================================== */

/* Root palette */
body.high-contrast {
  --hc-bg: #121212;
  --hc-bg-alt: #1a1a1a;
  --hc-bg-soft: #1e1e1e;
  --hc-elev: #222;             /* elevated surfaces */
  --hc-elev-2: #262626;
  --hc-text: #e0e0e0;
  --hc-text-muted: #b8b8b8;
  --hc-text-subtle: #9a9a9a;
  --hc-border: #333;
  --hc-border-soft: #2a2a2a;
  --hc-overlay: rgba(0,0,0,.7);

  /* Brand */
  --hc-primary: #0B6623;      /* brand primary */
  --hc-primary-2: #21bfa6;    /* accent/hover */

  /* State colors adapted for dark */
  --hc-info: #37a4c6;
  --hc-success: #1f9d4d;
  --hc-warning: #d7a21f;
  --hc-danger: #cc5b63;
  --hc-secondary: #7b7b7b;
  --hc-light: #2a2a2a;
  --hc-dark: #000;

  /* Links */
  --hc-link: #69b9ff;
  --hc-link-hover: #9cd0ff;

  /* Focus ring */
  --hc-focus: rgba(33,191,166,.35);

  /* Table striping */
  --hc-row-alt: rgba(255,255,255,.04);
}

body.high-contrast header .top-middle .title{
  color: #fff !important;
}

/* Base */
body.high-contrast {
  background: var(--hc-bg);
  color: var(--hc-text);
}
body.high-contrast a { color: var(--hc-link); }
body.high-contrast a:hover { color: var(--hc-link-hover); text-decoration: underline; }
body.high-contrast hr { border-top: 1px solid var(--hc-border); }
body.high-contrast .mark,
body.high-contrast mark { background-color: rgba(255,255,200,.18); }
body.high-contrast code { color: #f99; }
body.high-contrast kbd { background-color: var(--hc-elev-2); color: var(--hc-text); }
body.high-contrast pre { color: var(--hc-text); background: var(--hc-elev); }
body.high-contrast pre code { color: inherit; }

/* Headings / small / muted */
body.high-contrast h1, body.high-contrast h2, body.high-contrast h3,
body.high-contrast h4, body.high-contrast h5, body.high-contrast h6 { color: var(--hc-text); }
body.high-contrast .small, body.high-contrast small,
body.high-contrast .text-muted { color: var(--hc-text-muted) !important; }

/* Figures & images */
body.high-contrast .img-thumbnail {
  background-color: var(--hc-bg-soft);
  border: 1px solid var(--hc-border);
}
body.high-contrast .figure-caption { color: var(--hc-text-subtle); }

/* Captions */
body.high-contrast caption { color: var(--hc-text-subtle); }

/* Blockquote */
body.high-contrast .blockquote { color: var(--hc-text); }
body.high-contrast .blockquote-footer { color: var(--hc-text-subtle); }

/* Tables */
body.high-contrast .table                          { color: var(--hc-text); background: var(--hc-bg-soft); }
body.high-contrast .table th,
body.high-contrast .table td                       { border-top: 1px solid var(--hc-border); }
body.high-contrast .table thead th                 { border-bottom: 2px solid var(--hc-border); color: var(--hc-text); }
body.high-contrast .table tbody+tbody              { border-top: 2px solid var(--hc-border); }
body.high-contrast .table-bordered,
body.high-contrast .table-bordered th,
body.high-contrast .table-bordered td              { border: 1px solid var(--hc-border); }
body.high-contrast .table-borderless th,
body.high-contrast .table-borderless td,
body.high-contrast .table-borderless thead th      { border: 0; }
body.high-contrast .table-striped tbody tr:nth-of-type(odd) { background-color: var(--hc-row-alt); }
body.high-contrast .table-hover tbody tr:hover     { color: var(--hc-text); background-color: rgba(255,255,255,.06); }
body.high-contrast .table .thead-light th          { background: var(--hc-elev); color: var(--hc-text); border-color: var(--hc-border); }
body.high-contrast .table .thead-dark th           { background: #0e0e0e; color: #fff; border-color: var(--hc-border); }
body.high-contrast .table-primary                  { background: rgba(11,102,35,.15); }
body.high-contrast .table-secondary                { background: rgba(123,123,123,.15); }
body.high-contrast .table-success                  { background: rgba(31,157,77,.15); }
body.high-contrast .table-info                     { background: rgba(55,164,198,.15); }
body.high-contrast .table-warning                  { background: rgba(215,162,31,.18); }
body.high-contrast .table-danger                   { background: rgba(204,91,99,.18); }
body.high-contrast .table-light                    { background: var(--hc-light); color: var(--hc-text); }
body.high-contrast .table-dark                     { background: #0e0e0e; color: #fff; }

/* Forms */
body.high-contrast .form-control {
  background-color: var(--hc-elev);
  color: var(--hc-text);
  border: 1px solid var(--hc-border);
}
body.high-contrast .form-control::placeholder { color: var(--hc-text-subtle); }
body.high-contrast .form-control:disabled,
body.high-contrast .form-control[readonly] { background-color: var(--hc-elev-2); color: var(--hc-text-muted); }
body.high-contrast .form-control:focus {
  background-color: var(--hc-elev);
  color: var(--hc-text);
  border-color: var(--hc-primary-2);
  box-shadow: 0 0 0 .2rem var(--hc-focus);
}

/* Custom selects / files */
body.high-contrast .custom-select,
body.high-contrast .custom-file-label,
body.high-contrast .custom-file-input ~ .custom-file-label::after {
  background-color: var(--hc-elev);
  color: var(--hc-text);
  border: 1px solid var(--hc-border);
}

/* Check / Radios */
body.high-contrast .form-check-input:disabled ~ .form-check-label { color: var(--hc-text-subtle); }

/* Validation */
body.high-contrast .is-valid ~ .valid-feedback,
body.high-contrast .was-validated :valid ~ .valid-feedback { color: var(--hc-success); }
body.high-contrast .form-control.is-valid,
body.high-contrast .was-validated .form-control:valid {
  border-color: var(--hc-success);
  background-image: none;
}
body.high-contrast .form-control.is-valid:focus,
body.high-contrast .was-validated .form-control:valid:focus {
  box-shadow: 0 0 0 .2rem rgba(31,157,77,.25);
}

body.high-contrast .is-invalid ~ .invalid-feedback,
body.high-contrast .was-validated :invalid ~ .invalid-feedback { color: var(--hc-danger); }
body.high-contrast .form-control.is-invalid,
body.high-contrast .was-validated .form-control:invalid {
  border-color: var(--hc-danger);
  background-image: none;
}
body.high-contrast .form-control.is-invalid:focus,
body.high-contrast .was-validated .form-control:invalid:focus {
  box-shadow: 0 0 0 .2rem rgba(204,91,99,.25);
}

/* Buttons (base) */
body.high-contrast .btn {
  color: var(--hc-text);
  border-color: var(--hc-border);
  background-color: var(--hc-elev);
}
body.high-contrast .btn:hover { background-color: var(--hc-elev-2); color: var(--hc-text); }
body.high-contrast .btn:focus { box-shadow: 0 0 0 .2rem var(--hc-focus); }
body.high-contrast .btn.disabled, 
body.high-contrast .btn:disabled { opacity: .65; }

/* Button variants */
body.high-contrast .btn-primary { background-color: var(--hc-primary); border-color: var(--hc-primary); color: #fff; }
body.high-contrast .btn-primary:hover { background-color: var(--hc-primary-2); border-color: var(--hc-primary-2); }

body.high-contrast .btn-secondary { background-color: var(--hc-secondary); border-color: var(--hc-secondary); color: #fff; }
body.high-contrast .btn-success   { background-color: var(--hc-success); border-color: var(--hc-success); color: #fff; }
body.high-contrast .btn-info      { background-color: var(--hc-info); border-color: var(--hc-info); color: #fff; }
body.high-contrast .btn-warning   { background-color: var(--hc-warning); border-color: var(--hc-warning); color: #121212; }
body.high-contrast .btn-danger    { background-color: var(--hc-danger); border-color: var(--hc-danger); color: #fff; }
body.high-contrast .btn-light     { background-color: var(--hc-light); border-color: var(--hc-border); color: var(--hc-text); }
body.high-contrast .btn-dark      { background-color: #000; border-color: #000; color: #fff; }

body.high-contrast .btn-outline-primary { color: var(--hc-primary-2); border-color: var(--hc-primary-2); background: transparent; }
body.high-contrast .btn-outline-primary:hover { background: var(--hc-primary-2); color: #121212; }

/* Dropdowns */
body.high-contrast .dropdown-menu {
  background: var(--hc-elev);
  border: 1px solid var(--hc-border);
  color: var(--hc-text);
}
body.high-contrast .dropdown-item { color: var(--hc-text); }
body.high-contrast .dropdown-item:hover,
body.high-contrast .dropdown-item:focus { color: #fff; background-color: var(--hc-elev-2); }
body.high-contrast .dropdown-divider { border-top: 1px solid var(--hc-border); }

/* Navs */
body.high-contrast .nav-link { color: var(--hc-text); }
body.high-contrast .nav-link.disabled { color: var(--hc-text-subtle); }

/* Navbar */
body.high-contrast .navbar { background: var(--hc-elev); border-bottom: 1px solid var(--hc-border); }
body.high-contrast .navbar-light .navbar-brand,
body.high-contrast .navbar-light .navbar-nav .nav-link { color: var(--hc-text); }
body.high-contrast .navbar-light .navbar-nav .active>.nav-link,
body.high-contrast .navbar-light .navbar-nav .nav-link.active { color: var(--hc-primary-2); }

/* Pagination */
body.high-contrast .page-link {
  color: var(--hc-text);
  background-color: var(--hc-elev);
  border: 1px solid var(--hc-border);
}
body.high-contrast .page-link:hover { color: #fff; background-color: var(--hc-elev-2); border-color: var(--hc-border); }
body.high-contrast .page-item.active .page-link {
  background-color: var(--hc-primary);
  border-color: var(--hc-primary);
  color: #fff;
}

/* Badges */
body.high-contrast .badge { background: var(--hc-elev-2); color: var(--hc-text); }
body.high-contrast .badge-primary { background: var(--hc-primary); color: #fff; }
body.high-contrast .badge-secondary { background: var(--hc-secondary); color: #fff; }
body.high-contrast .badge-success { background: var(--hc-success); color: #fff; }
body.high-contrast .badge-info { background: var(--hc-info); color: #fff; }
body.high-contrast .badge-warning { background: var(--hc-warning); color: #121212; }
body.high-contrast .badge-danger { background: var(--hc-danger); color: #fff; }
body.high-contrast .badge-light { background: var(--hc-light); color: var(--hc-text); }
body.high-contrast .badge-dark { background: #000; color: #fff; }

/* Breadcrumb */
body.high-contrast .breadcrumb { background: var(--hc-elev); border: 1px solid var(--hc-border); }
body.high-contrast .breadcrumb-item+.breadcrumb-item::before { color: var(--hc-text-subtle); }
body.high-contrast .breadcrumb-item.active { color: var(--hc-text-subtle); }

/* Alerts */
body.high-contrast .alert { background: var(--hc-elev); color: var(--hc-text); border: 1px solid var(--hc-border); }
body.high-contrast .alert-primary { background: rgba(11,102,35,.15); border-color: var(--hc-primary); color: #c1e9d9; }
body.high-contrast .alert-secondary { background: rgba(123,123,123,.15); border-color: var(--hc-secondary); color: #ddd; }
body.high-contrast .alert-success { background: rgba(31,157,77,.15); border-color: var(--hc-success); color: #c5eed6; }
body.high-contrast .alert-info { background: rgba(55,164,198,.15); border-color: var(--hc-info); color: #c9e9f3; }
body.high-contrast .alert-warning { background: rgba(215,162,31,.18); border-color: var(--hc-warning); color: #f4e1b5; }
body.high-contrast .alert-danger { background: rgba(204,91,99,.18); border-color: var(--hc-danger); color: #f2c7cb; }
body.high-contrast .alert-light { background: var(--hc-light); border-color: var(--hc-border); color: var(--hc-text); }
body.high-contrast .alert-dark { background: #0e0e0e; border-color: #000; color: #fff; }

/* Progress */
body.high-contrast .progress { background-color: var(--hc-elev); }
body.high-contrast .progress-bar { background-color: var(--hc-primary); }

/* List group */
body.high-contrast .list-group-item {
  background-color: var(--hc-elev);
  color: var(--hc-text);
  border: 1px solid var(--hc-border);
}
body.high-contrast .list-group-item.active {
  background-color: var(--hc-primary);
  border-color: var(--hc-primary);
}

/* Cards */
body.high-contrast .card {
  background: var(--hc-elev);
  border: 1px solid var(--hc-border);
  color: var(--hc-text);
}
body.high-contrast .card-header,
body.high-contrast .card-footer { background: var(--hc-elev-2); border-color: var(--hc-border); }
body.high-contrast .card-title, 
body.high-contrast .card-text { color: var(--hc-text); }

/* Your custom event card (deduped to #121212) */
body.high-contrast .event_card {
  background-color: var(--hc-bg);
  color: var(--hc-text);
  box-shadow: 0 4px 12px rgba(0,0,0,.5);
}

/* Jumbotron */
body.high-contrast .jumbotron { background: var(--hc-elev); color: var(--hc-text); }

/* Close / Toasts */
body.high-contrast .close { color: var(--hc-text); text-shadow: none; }
body.high-contrast .toast { background-color: var(--hc-elev); color: var(--hc-text); border: 1px solid var(--hc-border); }
body.high-contrast .toast-header { background-color: var(--hc-elev-2); color: var(--hc-text); border-bottom: 1px solid var(--hc-border); }

/* Tooltips / Popovers */
body.high-contrast .tooltip .tooltip-inner { background-color: var(--hc-elev-2); color: var(--hc-text); }
body.high-contrast .tooltip .arrow::before { border-top-color: var(--hc-elev-2) !important; }
body.high-contrast .popover { background-color: var(--hc-elev); border: 1px solid var(--hc-border); color: var(--hc-text); }
body.high-contrast .popover-header { background-color: var(--hc-elev-2); color: var(--hc-text); border-bottom: 1px solid var(--hc-border); }
body.high-contrast .popover-body { color: var(--hc-text); }

/* Modals */
body.high-contrast .modal-content { background-color: var(--hc-elev); color: var(--hc-text); border: 1px solid var(--hc-border); }
body.high-contrast .modal-header,
body.high-contrast .modal-footer { background-color: var(--hc-elev-2); border-color: var(--hc-border); }
body.high-contrast .modal-backdrop.show { background-color: #000; opacity: .75; }

/* Carousel */
body.high-contrast .carousel-caption { color: var(--hc-text); text-shadow: 0 1px 2px rgba(0,0,0,.6); }
body.high-contrast .carousel-control-prev-icon,
body.high-contrast .carousel-control-next-icon { filter: invert(1) grayscale(100%); }

/* Spinners */
body.high-contrast .spinner-border,
body.high-contrast .spinner-grow { color: var(--hc-primary); }

/* Utilities (backgrounds & text) */
body.high-contrast .bg-white,
body.high-contrast .bg-light { background-color: var(--hc-bg) !important; color: var(--hc-text) !important; }
body.high-contrast .bg-primary { background-color: var(--hc-elev) !important; color: var(--hc-text) !important; }
body.high-contrast .text-muted { color: var(--hc-text-muted) !important; }

/* Your section/title accents */
body.high-contrast .section-title,
body.high-contrast .title-text { color: var(--hc-primary); }
body.high-contrast .title-text { border-bottom: 1px solid var(--hc-primary); }
body.high-contrast .decorate-border,
body.high-contrast .border-bottom { border-color: var(--hc-primary) !important; }

/* Partner / Stats (custom) */
body.high-contrast .partner-circle {
  border-color: var(--hc-primary-2);
  color: var(--hc-primary-2);
  box-shadow: 0 0 10px rgba(33,191,166,.35);
}
body.high-contrast .stats-card::before { background-color: rgba(0,0,0,.7); }
body.high-contrast .stat-circle {
  background: var(--hc-bg);
  color: var(--hc-primary-2);
  border: 2px solid var(--hc-primary-2);
  box-shadow: 0 0 10px rgba(33,191,166,.5);
}
body.high-contrast .stat-label { color: var(--hc-primary-2); }

/* Maps embed */
body.high-contrast .card iframe { filter: grayscale(30%) brightness(.85); }

/* Top bar overlay / frosted */
body.high-contrast .top-middle,
body.high-contrast .bg-opacity {
  background: rgba(20,20,20,.85);
  backdrop-filter: blur(6px);
  box-shadow: 0 2px 20px rgba(0,0,0,.6);
  color: #f5f5f5;
  border-bottom: 1px solid rgba(255,255,255,.15);
}

/* Footer with overlay image (optional) */
body.high-contrast .ega-footer {
  background-image: url('../images/fertilizers-hero.jpg') !important;
  background-size: cover !important;
  background-position: bottom !important;
  background-repeat: no-repeat !important;
  position: relative !important;
  color: #f5f5f5;
}
body.high-contrast .ega-footer::before {
  content: "";
  position: absolute; inset: 0;
  background-color: rgba(0,0,0,.65) !important;
  z-index: 0;
}
body.high-contrast .ega-footer > * { position: relative; z-index: 1; }
body.high-contrast .ega-footer a { color: var(--hc-primary-2); }
body.high-contrast .ega-footer a:hover { color: #fff; text-decoration: underline; }

/* Leader cards (custom) */
body.high-contrast .leader-card {
  background: var(--hc-bg-soft) !important;
  color: #edeef0 !important;
  border: 1px solid rgba(255,255,255,.2) !important;
}
body.high-contrast .leader-name,
body.high-contrast .leader-title { color: #edeef0 !important; }

/* Big container glass */
body.high-contrast .bigContainer::before {
  background: linear-gradient(135deg, rgba(30,30,30,.85), rgba(30,30,30,.65));
  box-shadow: 0 4px 30px rgba(0,0,0,.5);
  border: 1px solid rgba(255,255,255,.1);
}
body.high-contrast .bigContainer { color: var(--hc-text); }

/* Misc alignment from your custom layout */
body.high-contrast .card-cont h3 { color: #f1f1f1; }
body.high-contrast .card-cont > div { display: table-row; }

/* Accessibility: focus visible outline for key widgets */
body.high-contrast a:focus,
body.high-contrast button:focus,
body.high-contrast [role="button"]:focus,
body.high-contrast input:focus,
body.high-contrast select:focus,
body.high-contrast textarea:focus {
  outline: 2px solid var(--hc-primary-2);
  outline-offset: 2px;
}


body .high-contrast .contrast-btn {
      border: 1px solid #333 !important;
      background: #333 !important;
      color: #e0e0e0 !important;
    }
    
  
body .high-contrast   .contrast-btn.active {
      border-color: rgb(11, 102, 35);
      box-shadow: 0 0 0 2px rgba(38, 74, 143, 0.2);
    }




