/* ============================================================
 * override-nova.css — site-wide overrides for the Nova theme
 * ============================================================ */


//* ==========================================================================
   Nova Theme Light/Dark Mode Background Setup (Two-Tone Waves)
   ========================================================================== */

/* 1. Theme Configuration Variables */
:root, [data-bs-theme="light"] {
  --nova-outer-bg: #f0f0f0;         /* Soft light gray outer margins */
  --nova-inner-bg: #ffffff;         /* Solid white content panel */
  --nova-shadow: rgba(0, 0, 0, 0.03); /* Whisper-soft shadow */
  
  /* Vector wave fills (URL encoded hex values) */
  --nova-wave-first: #f9f9f9;     /* Base wave color */
  --nova-wave-second: #f0f0f0;    /* Lighter overlapping wave color */
}

[data-bs-theme="dark"] {
  --nova-outer-bg: #0b0f19;         /* Dark navy/slate outer margins */
  --nova-inner-bg: #111827;         /* Deep slate content panel */
  --nova-shadow: rgba(0, 0, 0, 0.4);  /* Deep contrast shadow */
  
  /* Muted dark variants matching the contrast scale of your requested colors */
  --nova-wave-first: #1f2937;     
  --nova-wave-second: #161e2b;    
}

/* 2. Main Body Configuration */
body {
  background-color: var(--nova-outer-bg);
  transition: background-color 0.3s ease; 
  
  /* Left Wave & Right Wave Vector Elements */
  background-image: 
    /* Left Margin Wave */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 800' width='200' height='800'%3E%3Cpath fill='var(--nova-wave-first)' fill-opacity='0.05' d='M-50,0 C20,150 80,280 40,420 C10,530 -30,680 -50,800 L-50,800 L-50,0 Z'/%3E%3Cpath fill='var(--nova-wave-second)' fill-opacity='0.02' d='M-50,0 C50,100 30,350 70,500 C100,620 10,740 -50,800 L-50,800 L-50,0 Z'/%3E%3C/svg%3E"),
    /* Right Margin Wave */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 800' width='200' height='800'%3E%3Cpath fill='var(--nova-wave-first)' fill-opacity='0.05' d='M250,0 C180,150 120,280 160,420 C190,530 230,680 250,800 L250,800 L250,0 Z'/%3E%3Cpath fill='var(--nova-wave-second)' fill-opacity='0.02' d='M250,0 C150,100 170,350 130,500 C100,620 190,740 250,800 L250,800 L250,0 Z'/%3E%3C/svg%3E");
  
  /* Alignment rules */
  background-position: left center, right center;
  background-repeat: no-repeat;
  background-size: 280px auto; 
  background-attachment: fixed; 
}

/* 3. Core Content Canvas Container */
.website-container {
  max-width: 800px;
  margin: 0 auto;
  background-color: var(--nova-inner-bg);
  box-shadow: 0 0 40px var(--nova-shadow);
  min-height: 100vh;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}












/* ------------------------------------------------------------
 * FIXED HEADER CLEARANCE
 *
 * Header is fixed at the top, so the first content block needs
 * top padding equal to the header height. Otherwise content
 * starts at the window edge and hides under the header.
 * ------------------------------------------------------------ */

#x_pageBlocks > .page-block:first-child {
  padding-top: 20px;
}

/* Smaller header on mobile → less clearance */
@media (max-width: 768px) {
  #x_pageBlocks > .page-block:first-child {
    padding-top: 60px;
  }
}

/* In-page anchor targets (e.g. #x_newsSection from footer menu)
   need scroll margin so the header doesn't obscure them */
:target {
  scroll-margin-top: 80px;
}

@media (max-width: 768px) {
  :target { scroll-margin-top: 60px; }
}


/* ------------------------------------------------------------
 * TEXT UTILITIES
 * ------------------------------------------------------------ */

/* Justified body text (Bootstrap 5 dropped this utility) */
.text-justify {
  text-align: justify;
  hyphens: auto;
  -webkit-hyphens: auto;
}

@media (max-width: 576px) {
  .text-justify {
    text-align: left;
  }
}


/* ------------------------------------------------------------
 * NOVA THEME TWEAKS
 * ------------------------------------------------------------ */

/* Footer brand: hug the left edge */
footer .navbar-brand {
  margin-right: 0;
}

/* Smooth scroll for in-page anchors */
html {
  scroll-behavior: smooth;
}

/* External link arrow visually lighter than chevron-right */
.nav-link .bi-box-arrow-up-right,
.dropdown-item .bi-box-arrow-up-right {
  font-size: 0.75em;
}