  
/* =================== HEADER BRAND =================== */
.header .navbar-brand {
  max-width: 100% !important;
  width: 100%;
  display: flex;
  justify-content: center;
  background-color: white;
}

/* =================== HEADER CONTAINERS =================== */
.container-header {
  background-color: white;
  background-image: none;
  width: 100%;
  position: relative; /* needed for proper hamburger positioning */
}

/* Force full-width only on nav/header containers */
.container-header,
.container-nav,
.navbar,
.navbar-collapse {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* =================== FULL-WIDTH MENU WITH TIGHTER SPACING =================== */
ul.mod-menu {
  background-color: navy;
  width: 100%;
  max-width: 100%;
  display: flex;
  justify-content: center;  /* center desktop items */
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 20px; /* spacing between menu items */
}

/* Menu items */
ul.mod-menu > li {
  flex: 0; /* stop stretching */
  text-align: center;
}

/* Links inside menu items */
ul.mod-menu > li > a {
  white-space: nowrap; /* prevent wrapping */
}

/* Parent items with arrow button stay aligned */
ul.mod-menu > li.deeper.parent {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}

/* Arrow button */
ul.mod-menu .mm-toggler {
  margin-left: 4px;
  display: inline-flex;
  align-items: center;
}

/* =================== NAVBAR TOGGLER (HAMBURGER) =================== */
.navbar-toggler {
  border-color: navy;
}

/* Hamburger icon */
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

/* Left-align hamburger menu properly */
.container-header .navbar-toggler {
  position: relative;
  left: 0;
  transform: none;
  margin-right: auto;
  color: navy;
}

/* =================== SAFETY RULES =================== */
body {
  margin: 0;
  overflow-x: hidden;
}

/* =================== MOBILE RESPONSIVE =================== */
@media (max-width: 768px) {
  /* Shrink mobile menu container to content */
  ul.mod-menu {
    width: auto !important;       /* shrink menu to content */
    max-width: 250px;             /* optional max width */
    background-color: navy;       /* changed from red to navy */
    padding: 10px;
    border-radius: 4px;           /* optional rounded corners */
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;                     /* tighter vertical spacing */
  }

  /* Mobile menu items shrink to content */
  ul.mod-menu > li {
    width: auto !important;
    flex: 0 0 auto;
  }

  ul.mod-menu > li > a {
    display: inline-block;
    width: auto !important;
    padding: 6px 12px;
  }

  /* Parent arrows aligned with text */
  ul.mod-menu > li.deeper.parent {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
  }

  /* Dropdown menus shrink to content */
  ul.mod-menu .mm-collapse {
    position: relative;
    top: 0;
    left: 0;
    min-width: auto;
    width: auto !important;
    padding: 4px 0;
    box-shadow: none;
    border: none;
  }

  ul.mod-menu .mm-collapse li a {
    width: auto !important;
    display: inline-block;
    padding: 4px 12px;
  }
}

/* =================== MOD-CUSTOM88 CENTERING =================== */
#mod-custom88 {
  max-width: 600px;        /* optional: limit width */
  margin: 20px auto;       /* center horizontally and vertical spacing */
  text-align: center;      /* center text inside */
  padding: 10px;
  display: block;          /* ensures margin auto works */
}

/* =================== FOOTER =================== */
.footer {
    background-color: #f5f5f5; /* optional background */
    padding: 20px 0;
    width: 100%;
    display: flex;
    justify-content: center;    /* center container horizontally */
    text-align: center;         /* center text inside items */
}

.footer-container {
    max-width: 1200px;          /* constrain width */
    width: auto;                /* shrink to content */
    margin: 0 auto;             /* center container horizontally */
    padding: 0 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;    /* center items horizontally */
    align-items: center;        /* center items vertically */
    text-align: center;         /* center text inside block elements */
}

/* Footer inline elements */
.footer p,
.footer span,
.footer a {
    margin: 0;
    text-align: center;
}