/* General page setup */
body {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  margin: 20px;
  background-color: #121212; /* True Technical Charcoal */
  color: #e0e0e0; /* default text color Soft off-white text (reduces glare) */
}

/* Headings - All Centered */
h1 {
  font-size: 2em; 
  color: #3399FF; /* Lightened blue for better contrast on black */
  margin-bottom: 0.5em;
  text-align: center;
}
h2 {
  font-size: 1.5em;
  color: #3399FF; /* Lightened blue for better contrast on black */
  margin-bottom: 0.5em;
  text-align: center; /* THIS CENTERS ALL H2 TITLES HORIZONTALLY */
}
h3 {
  font-size: 1.2em;
  color: #e0e0e0; /* Changed from #333 to light grey for visibility */
  margin-bottom: 0.5em;
  text-align: center;
}

/* Paragraphs - Centered on screen, justified text blocks inside */
p {
  max-width: 750px;
  margin: 0 auto 1em auto; /* Centers the text block on the screen */
  text-align: justify; /* Aligns left and right text borders flush */
  text-align-last: center; /* Centers the very last hanging line for symmetry */
}

/* Links */
a {
  color: #66b2ff; /* Lightened blue for better contrast on black */
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

/* Special link colors */
a.titan {
  color: #cc99ff; /* Lightened purple for visibility */
}
a.flag {
  color: #FF3333; /* Slightly brighter red for visibility */
}

/* Images */
img {
  max-width: 100%;   
  height: auto;
  border: none;      
  display: block;
  margin: 0 auto; /* Ensures standalone images always stay centered */
}

/* Centered content block class */
.center {
  max-width: 750px;
  margin: 0 auto;
  text-align: justify;
  text-align-last: center;
}

/* Tables */
table {
  border-collapse: collapse;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 1em auto; /* Centers the entire table block on screen */
}
th, td {
  border: 1px solid #444; /* Darker border to match dark theme */
  padding: 8px;
  text-align: justify; /* Justifies cell interior text blocks */
}
th {
  background-color: #e6f0ff; 
  color: #000000; /* Force black text on light blue header */
  text-align: center; /* Keeps header text strictly centered */
}

/* Navigation sections */
nav {
  text-align: center;
  margin: 20px 0;
}
nav a {
  margin: 0 10px;
  font-weight: bold;
}

/* Image + caption block merged into .Images */
figure.Images {
  margin: 20px auto;
  text-align: center;
  max-width: 600px;
}

figure.Images img {
  max-width: 100%;
  height: auto;
  border: 2px solid #ccc;
  padding: 5px;
  background-color: #fff;
  display: block;
  margin: 0 auto;
}

figure.Images figcaption {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  color: #e0e0e0; /* Changed from #333 to light grey for visibility */
  margin-top: 8px;
  line-height: 1.4;
  text-align: justify; /* Flushes description box text cleanly */
  text-align-last: center; /* Balances short trailing text rows in the center */
}

/* Navigation menu for Day links - NOW HORIZONTALLY CENTERED */
nav.daynav {
  margin: 15px auto 30px auto;
  text-align: center; /* Centered layout container */
}

nav.daynav ul {
  list-style: none;   
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap; 
  justify-content: center; /* Horizontally centers all links inside */
  gap: 10px; 
}

nav.daynav li {
  display: block; 
  margin: 0;
}

nav.daynav a {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  padding: 8px 14px;          /* Clean, touch-friendly padding */
  border-radius: 4px;
  display: inline-block;
  white-space: nowrap; 
  transition: all 0.25s ease; /* Ultra-smooth hover effect */

  /* Your Requested Color Palette Setup */
  color: #2a3439;             /* Gunmetal text color */
  background-color: #a1b0a8;  /* Muted Eucalyptus button background */
  border: 1px solid #cbd5e1;  /* Lichen Stone border line */
}

/* Hover State - High-Tech Interactive Glow */
nav.daynav a:hover {
  background-color: #00b4d8;  /* Vibrant Cyan Blue background */
  color: #ffffff;             /* Switches text to crisp white for contrast */
  border-color: #00b4d8;      /* Matches border to cyan background */
  transform: translateY(-1px);/* Subtle microscopic lift effect */
  box-shadow: 0 4px 12px rgba(0, 180, 216, 0.2); /* Soft cyan glow underneath */
}


/* Footer styling */
footer.sitefooter {
  background-color: #004080;   
  color: #fff;
  padding: 20px;
  text-align: center;
  margin-top: 40px;
}

/* Footer navigation links */
nav.footernav {
  margin-bottom: 15px;
}
nav.footernav a {
  color: #fff;
  margin: 0 15px;
  text-decoration: none;
  font-weight: bold;
}
nav.footernav a:hover {
  text-decoration: underline;
}

/* Flag banner */
.flagbanner {
  margin: 10px auto;
  text-align: center;
}
.flagbanner img {
  width: 100px;
  height: auto;
  vertical-align: middle;
  margin: 0 5px;
  display: inline-block; /* Overrides global layout rules for accurate tracking side-by-side */
}
.flagbanner span {
  font-size: 1.2em;
  font-weight: bold;
  color: #FFD700; 
}

/* Utility Classes */
.text-red {
    color: #ff4d4d; 
}

.text-strike {
    text-decoration: line-through;
}

.text-purple {
    color: #dfb3ff; 
}

/* Custom class for the 2026 text block visibility on dark backgrounds */
.text-blue {
    color: #3399FF;
}

/* Dynamic Footer Container Rules */
.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    text-align: center;
}

/* Section tracking layout layout */
.nav-sections {
    display: flex;
    justify-content: center;
    gap: 40px; 
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.nav-sections a {
    font-weight: bold;
    text-decoration: none;
    color: #66b2ff; 
}

.nav-sections a:hover {
    text-decoration: underline;
}

/* Home anchor link positioning element */
.nav-home {
    display: block;
    margin-bottom: 30px;
    text-decoration: none;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
}

.nav-home:hover {
    text-decoration: underline;
}

/* Patriotic banner assembly block - CLEANED & HORIZONTALLY CENTERED */
.banner-malaysia {
    display: inline-flex; 
    align-items: center;       
    justify-content: center;   
    gap: 15px;
    text-decoration: none;
    margin: 20px auto;         
}

.flag-img {
    width: 152px;
    height: auto;
    border: none;
    display: inline-block; /* Locks side-by-side tracking context for flags */
}

.flagbanner-text {
    font-size: 1.5rem;
    font-weight: bold;
    color: #FFD700; 
}

/* Clean structural break rule line */
.divider {
    border-top: 1px solid #444; 
    margin-top: 30px;
    width: 100%;
}

/* Smartphone Portrait Custom Layout Adaptations */
@media (max-width: 600px) {
  p, .center, figure.Images figcaption {
    text-align: center; /* Reverts text blocks back to standard centering on phones to prevent large word gaps */
    text-align-last: auto;
  }
}

/* Hit Counter Component Block */
.counter-box {
    margin: 25px auto;
    text-align: center;
    padding: 12px;
    max-width: 200px;
    border: 1px dashed #333333; /* Soft subtle dashed frame */
    border-radius: 6px;
    background-color: #1a1a1a;   /* Subtle step above Eerie Black background */
}

.counter-label {
    font-size: 11px;
    letter-spacing: 1px;
    color: #8fa499;              /* Matches your muted sage color profile */
    margin: 0 0 8px 0 !important;
    text-align: center !important;
    font-weight: bold;
}

.counter-box img {
    display: inline-block !important; /* Prevents global block rules from breaking image array tracking */
    max-width: 100%;
    height: auto;
}
