/* =====================================================================
   Alpha-Omega CMS – Default Theme (Neutral Bootstrap Grayscale)
   Version: v4.5.1-neutral-grayscale
   Purpose: Provide a clean, generic, black/white Bootstrap-forward theme.
   ===================================================================== */

/* --------------------------------------------------------------
   Neutral Palette Variables
   -------------------------------------------------------------- */
:root {
  /* Kept for backward compatibility (older templates may reference these vars) */
  --hgc-2025-1:#000000;   /* darkest */
  --hgc-2025-2:#111111;   /* near-black */
  --hgc-2025-3:#ffffff;   /* white */
  --hgc-2025-4:#f8f9fa;   /* bootstrap light */
  --hgc-2025-5:#dee2e6;   /* bootstrap border */
  --hgc-2025-6:#343a40;   /* bootstrap gray-800 */
  --hgc-2025-7:#212529;   /* bootstrap gray-900 */
  --hgc-2025-8:#0d6efd;   /* bootstrap primary (focus) */

  --color-bg:var(--hgc-2025-7);
  --color-surface:var(--hgc-2025-3);
  --color-text:#111111;
  --color-primary:var(--hgc-2025-7);
  --color-primary-hover:var(--hgc-2025-6);
  --color-border:var(--hgc-2025-5);
  --color-focus:var(--hgc-2025-8);
}

/* --------------------------------------------------------------
   Base Typography / Body
   -------------------------------------------------------------- */
body {
  font-family:'Roboto',sans-serif;
  background-color:var(--color-surface);
  color:var(--color-text);
  line-height:1.6;
}

/* ============================================================
   Top Menu – Full-Width Flex Layout (Neutral)
   ============================================================ */
.nav-top-flex {
  display:flex;
  justify-content:space-evenly;
  align-items:center;
  flex-wrap:nowrap;
  width:100%;
  margin:0;
  padding:0.4rem 0;
  list-style:none;
  background-color:var(--hgc-2025-7);
  border-bottom:1px solid var(--color-border);
  color:var(--hgc-2025-3);
  z-index:1000;
}

.nav-top-flex li {flex:1 1 auto;text-align:center;}

.nav-top-flex a {
  color:var(--hgc-2025-3);
  text-decoration:none;
  font-weight:500;
  display:block;
  padding:0.5rem 0.75rem;
  transition:color 0.2s ease, background-color 0.2s ease;
}

.nav-top-flex a:hover,
.nav-top-flex a:focus-visible {
  color:var(--hgc-2025-3);
  background-color:var(--hgc-2025-2);
  outline:2px solid var(--color-focus);
  outline-offset:2px;
}

/* Hide top menu below lg breakpoint */
@media (max-width: 991.98px) {
  .nav-top-flex,
  .top-menu,
  nav.bg-hgc-dark {
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    overflow:hidden !important;
  }
}

/* --------------------------------------------------------------
   Main Menu – Light Surface
   -------------------------------------------------------------- */
header.navbar {
  background-color:var(--hgc-2025-4);
  color:var(--color-text);
  border-bottom:1px solid var(--color-border);
}
header.navbar .nav-link {
  color:var(--color-text);
  font-weight:500;
}
header.navbar .nav-link:hover,
header.navbar .nav-link:focus-visible {
  color:var(--hgc-2025-6);
}
.navbar-brand span {color:var(--color-text);}

/* Provide compatibility for existing markup */
.bg-hgc-dark { background-color:var(--hgc-2025-7) !important; }
.text-hgc-light { color:var(--hgc-2025-3) !important; }

/* --------------------------------------------------------------
   Sidebar
   -------------------------------------------------------------- */
#sidebar {
  background:var(--hgc-2025-4);
  padding:1rem;
  border-left:4px solid var(--color-border);
}

/* ============================================================
   Subfooter – Flex-Balanced Layout
   ============================================================ */
.subfooter .footer-flex {
  display:flex;
  justify-content:space-around;
  flex-wrap:wrap;
  gap:2rem;
  align-items:flex-start;
}
.subfooter .footer-col {flex:1 1 180px;max-width:300px;}

.subfooter a {
  color:var(--color-text);
  text-decoration:none;
}
.subfooter a:hover,
.subfooter a:focus-visible {
  color:var(--hgc-2025-6);
  text-decoration:underline;
}

@media (max-width: 991.98px) {
  .subfooter .footer-flex {justify-content:space-between;gap:1.5rem;}
}
@media (max-width: 575.98px) {
  .subfooter .footer-flex {flex-direction:column;gap:1rem;}
}

/* --------------------------------------------------------------
   Footer
   -------------------------------------------------------------- */
.site-footer {
  background-color:var(--hgc-2025-7);
  color:var(--hgc-2025-3);
  text-align:center;
  padding:1rem 0;
  font-size:.9rem;
}

/* --------------------------------------------------------------
   Focus / Accessibility
   -------------------------------------------------------------- */
:focus-visible {
  outline:2px solid var(--color-focus);
  outline-offset:3px;
}

/* --------------------------------------------------------------
   Buttons – Neutral Set (keeps existing class names)
   -------------------------------------------------------------- */
.btn {
  display:inline-block;
  font-weight:500;
  border:none;
  border-radius:.375rem;
  padding:.5rem 1.25rem;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease;
}
.btn:hover,
.btn:focus-visible {text-decoration:none;}

/* Primary (Neutral Dark) */
.btn-earth-primary {
  background-color:var(--color-primary);
  color:var(--hgc-2025-3);
}
.btn-earth-primary:hover,
.btn-earth-primary:focus-visible {
  background-color:var(--color-primary-hover);
  color:var(--hgc-2025-3);
  outline:2px solid var(--color-focus);
  outline-offset:2px;
}

/* Secondary (Neutral Light) */
.btn-earth-secondary {
  background-color:var(--hgc-2025-4);
  color:var(--color-text);
  border:1px solid var(--color-border);
}
.btn-earth-secondary:hover,
.btn-earth-secondary:focus-visible {
  background-color:var(--hgc-2025-3);
  color:var(--color-text);
  outline:2px solid var(--color-focus);
  outline-offset:2px;
}

/* Outline Version */
.btn-earth-outline {
  background:transparent;
  border:2px solid var(--color-primary);
  color:var(--color-primary);
}
.btn-earth-outline:hover,
.btn-earth-outline:focus-visible {
  background-color:var(--color-primary);
  color:var(--hgc-2025-3);
  outline:2px solid var(--color-focus);
}

/* --------------------------------------------------------------
   Bootstrap Icons Fallback / Guarantee
   -------------------------------------------------------------- */
.bi::before {
  display:inline-block;
  font-family:"bootstrap-icons"!important;
  font-style:normal;
  font-weight:normal;
  font-variant:normal;
  text-transform:none;
  line-height:1;
  vertical-align:-.125em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* =========================================================
   Accordion – Neutral
   ========================================================= */
.accordion-button {
  background-color:var(--hgc-2025-4);
  color:var(--color-text);
  font-weight:500;
  border:none;
  transition:background-color .2s ease,color .2s ease;
}

.accordion-button:not(.collapsed) {
  background-color:var(--hgc-2025-7);
  color:var(--hgc-2025-3);
  box-shadow:inset 0 -1px 0 var(--color-border);
}

.accordion-button:hover,
.accordion-button:focus-visible {
  background-color:var(--hgc-2025-6);
  color:var(--hgc-2025-3);
  outline:2px solid var(--color-focus);
  outline-offset:1px;
}

.accordion-item {
  border:1px solid var(--color-border);
  border-radius:.375rem;
  overflow:hidden;
}

.accordion-body {
  background-color:var(--hgc-2025-3);
  color:var(--color-text);
  border-top:1px solid var(--color-border);
}

/* =========================================================
   Alerts – Neutral (keeps Bootstrap classes)
   ========================================================= */
.alert {
  border-radius:.5rem;
  border-width:1px;
  font-weight:500;
  line-height:1.5;
}

/* Keep Bootstrap defaults where possible, but ensure contrast */
.alert-success,
.alert-info,
.alert-secondary {
  background-color:var(--hgc-2025-4);
  border-color:var(--color-border);
  color:var(--color-text);
}

.alert-warning,
.alert-danger {
  background-color:var(--hgc-2025-3);
  border-color:var(--color-border);
  color:var(--color-text);
}

/* =========================================================
   Cards – Accessible, Stable Hover (Neutral)
   ========================================================= */
.card {
  border-radius:.5rem;
  box-shadow:0 3px 10px rgba(0,0,0,0.10);
  transition:box-shadow 0.25s ease-in-out,background-color 0.25s ease-in-out;
  overflow:hidden;
}

.card:hover,
.card:focus-within {
  background-color:var(--hgc-2025-3);
  box-shadow:0 6px 20px rgba(0,0,0,0.18);
}

.card .btn {
  box-shadow:none;
}

/* =========================================================
   Hero / Section / Shadow Refinements
   ========================================================= */
section[aria-label="Hero Section"] img {
  box-shadow:0 2px 10px rgba(0,0,0,0.15);
}

section {
  transition:box-shadow 0.25s ease-in-out;
}

/* =========================================================
   Reduced Motion Preference
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  * {
    transition:none !important;
    transform:none !important;
    animation:none !important;
  }
}

/* =====================================================================
   End of File
   ===================================================================== */
