/* Fix for fixed-top header overlap */
body {
    /* Removed padding-top as it interferes with sticky positioning */
} 

:root {
  --color-primary: #EC961E;
}

/*--------------------------------------------------------------
# Header V2
--------------------------------------------------------------*/
.header-v2 {
  transition: all 0.5s;
  z-index: 997;
  background: #fff;
  padding-top: 20px;
}

#header-main {
  position: sticky !important;
  top: 0 !important;
  z-index: 1030;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

#header-top {
    font-size: 14px;
}

#header-top a {
    color: #454545;
    text-decoration: none;
    font-weight: 500;
}
#header-top a:hover {
    color: #000;
    text-decoration: underline;
}
#header-top .language-switcher .active {
    font-weight: bold;
}

#header-top .icon {
    width: 16px;
    height: 16px;
}

#header-main .logo img {
  max-height: 45px;
  margin-right: 20px;
  transition: all 0.3s ease;
}

#header-main.scrolled .logo img {
  max-height: 35px;
  margin-right: 15px;
}

#header-main .container {
  transition: all 0.3s ease;
}

#header-main.scrolled .container {
  padding-top: 0.5rem !important; /* py-2 */
  padding-bottom: 0.5rem !important; /* py-2 */
}

#header-main .navbar {
  padding: 0;
}

#header-main .navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}

#header-main .navbar li {
  position: relative;
}

#header-main .navbar a,
#header-main .navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: start;
  padding: 10px 12px;
  font-size: 16px;
  font-weight: 700;
  color: #444;
  white-space: nowrap;
  transition: 0.3s;
  text-decoration: none;
}

#header-main .navbar a:hover,
#header-main .navbar .active,
#header-main .navbar .active:focus,
#header-main .navbar li:hover>a {
  color: var(--color-primary);
}

.header-v2 .header-buttons {
    display: flex; /* Always align buttons in a row */
    flex-wrap: nowrap; /* Prevent wrapping to next line */
    align-items: center;
}

.header-v2 .header-buttons .btn {
    margin-left: 10px;
    white-space: nowrap; /* Prevent text from wrapping inside button */
    text-decoration: none;
    color: #fff;
}

/* General Button Styles */
.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 12px 24px;
    text-decoration: none;
    transition: all 0.3s ease;
}
.btn-primary:hover {
    background-color: #d4851b;
    border-color: #d4851b;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(236, 150, 30, 0.3);
}

.btn-secondary {
    background-color: #4E64BC;
    border-color: #4E64BC;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    padding: 12px 24px;
    text-decoration: none;
    transition: all 0.3s ease;
}
.btn-secondary:hover {
    background-color: #3c4d94;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(78, 100, 188, 0.3);
}

/* Enhanced Button Styles for SectionShoutOut */
.shout-out .btn-primary {
    background: #fff;
    border: 2px solid #fff;
    color: var(--color-primary) !important;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    text-shadow: none;
}

.shout-out .btn-primary:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(236, 150, 30, 0.4);
}

.shout-out .btn-secondary {
    background: transparent;
    border: 2px solid #fff;
    color: #fff !important;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 10px;
    text-shadow: none;
}

.shout-out .btn-secondary:hover {
    background: #fff;
    border-color: #fff;
    color: var(--color-primary) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 255, 255, 0.3);
}

/* Special styling for white theme SectionShoutOut */
.shout-out.theme-white .btn-primary {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff !important;
}

.shout-out.theme-white .btn-primary:hover {
    background: #d4851b;
    border-color: #d4851b;
    color: #fff !important;
}

.shout-out.theme-white .btn-secondary {
    background: transparent;
    border: 2px solid #4E64BC;
    color: #4E64BC !important;
}

.shout-out.theme-white .btn-secondary:hover {
    background: #4E64BC;
    border-color: #4E64BC;
    color: #fff !important;
}

/* Sets a consistent, large font size for main headings within sections. */
.section-title h2, .section-header h2 {
  font-size: 2.6rem; /* Approx 42px, a good average. Can be adjusted. */
}

/* Hide mobile nav toggle on desktop */
@media (min-width: 992px) {
  .mobile-nav-toggle {
    display: none !important;
  }
} 

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
  font-size: 14px;
  background-color: #181818;
  color: #fff;
  padding-top: 50px;
}

.footer h4 {
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 25px;
  font-family: 'PT Sans', sans-serif;
}

.footer .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer .footer-links ul a {
  color: #909090;
  text-decoration: none;
  transition: 0.3s;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6rem;
}

.footer .footer-links ul a:hover {
  color: var(--color-primary);
}

.footer .footer-links > ul > li:not(:last-child) {
  padding-bottom: calc(6px);
  margin-bottom: 0;
}

.footer .footer-contact p {
  color: #909090;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  font-size: 16px;
}
.footer .footer-contact p a {
    color: #909090;
    text-decoration: none;
}
.footer .footer-contact p a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer .footer-contact .icon {
    margin-right: 10px;
    width: 14px;
}

.footer .footer-social h4 {
    margin-bottom: 15px;
}

.footer .social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background-color: #181818;
    border: 1px solid rgba(255, 255, 255, 0.2);
    margin-right: 10px;
    transition: 0.3s;
}
.footer .social-links a img {
    width: 18px;
}

.footer .social-links a:hover {
  border-color: #fff;
}

.footer .footer-newsletter h4 {
    margin-bottom: 15px;
}

.footer .newsletter-form {
    display: flex;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #CBD6E2;
}

.footer .newsletter-form input[type="email"] {
    flex-grow: 1;
    padding: 10px 15px;
    border: none;
    background: #F5F8FA;
    color: #000;
}

.footer .newsletter-form input[type="email"]::placeholder {
    color: #6c757d;
}

.footer .newsletter-form input[type="submit"] {
    padding: 10px 20px;
    border: none;
    background: var(--color-primary);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    font-size: 16px;
    transition: 0.3s;
}

.footer .newsletter-form input[type="submit"]:hover {
    background: #d4851b;
}

.footer .copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 25px 0;
}

.footer .copyright p {
  color: #909090;
  font-size: 12px;
}

.footer .credits a {
    color: #909090;
    text-decoration: none;
    transition: 0.3s;
    font-size: 12px;
}

.footer .credits a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer .credits .divider {
    color: rgba(255, 255, 255, 0.2);
    margin: 0 8px;
}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
.section-bg-white {
  background-color: #ffffff;
}

.section-bg-gray {
  background-color: #f8f9fa;
}

.section-bg-orange {
  background-image: linear-gradient(180deg, var(--color-primary) 0%, #DF6F20 100%);
}

.section-bg-blue {
  background-image: linear-gradient(270deg, #02122C 0%, #19488E 100%);
}

.section-bg-shade {
  background-image: linear-gradient(180deg, #C676034F 0%, #FFFFFF 60%);
}

.section {
  padding: 80px 0;
  overflow: hidden;
}

.section-title {
  text-align: center;
  padding-bottom: 30px;
}

.section-title p {
  margin-bottom: 0;
  color: #666;
}

/* Default padding for sections, can be overridden by utility classes. */
.py-section-default {
    padding: 80px 0;
}

/* Custom vertical padding utility for compact sections */
.py-section-compact {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/*--------------------------------------------------------------
# Icon List Widget
--------------------------------------------------------------*/
.widget-item-list {
  padding-left: 0;
  margin-bottom: 30px;
}

.widget-item-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
}

.widget-item-list li i {
  font-size: 20px;
  margin-right: 10px;
  color: #333;
  flex-shrink: 0;
}

/*--------------------------------------------------------------
# Desktop Navigation
--------------------------------------------------------------*/
@media (min-width: 992px) {
  #header-main {
    position: sticky !important;
    top: 0 !important;
  }
  
  #header-main .navigation-wrapper {
    display: flex;
    align-items: center;
    position: static !important;
  }
}

/*--------------------------------------------------------------
# Mobile Navigation
--------------------------------------------------------------*/
@media (max-width: 991.98px) {
  /* Hide the desktop navigation wrapper */
  #header-main .navigation-wrapper {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    z-index: 9998;
    background: rgba(255, 255, 255, 0.95);
    padding: 60px 20px 20px 20px;
    transition: right 0.3s ease-in-out;
    overflow-y: auto;
  }
  
  /* When active, slide it in */
  body.mobile-nav-active #header-main .navigation-wrapper {
    right: 0;
  }

  /* Style the nav list for vertical layout */
  #header-main .navbar ul {
    flex-direction: column;
    align-items: flex-start;
  }
  #header-main .navbar a, #header-main .navbar a:focus {
    padding: 10px 5px;
    font-size: 18px;
  }

  /* Style the buttons for vertical layout */
  #header-main .header-buttons {
    display: flex; /* This needs to be flex to be visible */
    flex-direction: column;
    align-items: stretch;
    margin-top: 20px;
  }
  #header-main .header-buttons .btn {
    margin-left: 0;
    margin-bottom: 10px;
  }

  #header-top {
    display: none !important;
  }
}

/* Mobile nav toggle button */
.mobile-nav-toggle {
  display: block !important;
  z-index: 9999;
  background: none;
  border: none;
}
@media (max-width: 991.98px) {
  .mobile-nav-toggle {
    display: block; /* Show on mobile */
  }
  #header-main .navbar, #header-main .header-buttons {
    display: none; /* Initially hide the nav/buttons inside the wrapper */
  }
}

/* When active, show the nav list and buttons */
body.mobile-nav-active #header-main .navbar,
body.mobile-nav-active #header-main .header-buttons {
  display: flex;
}


/* Hide hamburger and show close icon when active */
body.mobile-nav-active .mobile-nav-toggle.mobile-nav-show {
  display: none !important;
}

body.mobile-nav-active .mobile-nav-toggle.mobile-nav-hide {
  display: block !important;
  position: fixed;
  top: 20px;
  right: 20px;
}

/* Utility: Orange badge for Bootstrap */
.badge-orange {
  background-color: #EC961E !important;
  color: #fff !important;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
.navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}

.navbar li {
  position: relative;
}

.navbar a,
.navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 10px 30px;
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 400;
  color: #3f3f3f;
  white-space: nowrap;
  transition: 0.3s;
}

.navbar a i,
.navbar a:focus i {
  font-size: 12px;
  line-height: 0;
  margin-left: 5px;
}

.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover>a {
  color: var(--color-primary);
}

.navbar .dropdown ul {
  display: block;
  position: absolute;
  left: 14px;
  top: calc(100% + 30px);
  margin: 0;
  padding: 10px 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
  transition: 0.3s;
  border-radius: 4px;
}

.navbar .dropdown ul li {
  min-width: 200px;
}

.navbar .dropdown ul a {
  padding: 10px 20px;
  font-size: 15px;
  text-transform: none;
  font-weight: 400;
}

.navbar .dropdown ul a i {
  font-size: 12px;
}

.navbar .dropdown ul a:hover,
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul li:hover>a {
  color: var(--color-primary);
}

.navbar .dropdown:hover>ul {
  opacity: 1;
  top: 100%;
  visibility: visible;
}

.navbar .dropdown .dropdown ul {
  top: 0;
  left: calc(100% - 30px);
  visibility: hidden;
}

.navbar .dropdown .dropdown:hover>ul {
  opacity: 1;
  top: 0;
  left: 100%;
  visibility: visible;
}

/* Mobile Navigation */
/* .mobile-nav-show,
.mobile-nav-hide {
    display: none;
} */

/*--------------------------------------------------------------
# Megamenu Styles
--------------------------------------------------------------*/
.megamenu-dropdown {
  position: relative;
}

.megamenu-dropdown .megamenu {
  position: fixed;
  top: 132px;
  left: 0;
  right: 0;
  width: 100vw;
  background: #fff;
  border: 1px solid #e1e5e9;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 999;
  margin: 0;
}

/* Adjust megamenu position when header is scrolled */
#header-main.scrolled .megamenu-dropdown .megamenu {
  top: 112px; /* Reduced top position for scrolled header */
}

.megamenu-dropdown:hover .megamenu {
  opacity: 1;
  visibility: visible;
}

.megamenu-content {
  padding: 30px 0px;
  margin: 0 auto;
  width: 100%;
}

.megamenu-sections {
  display: flex;
  border-bottom: 1px solid #e1e5e9;
  padding-bottom: 15px;
  margin-bottom: 25px;
}

.megamenu-section {
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 8px;
}

.megamenu-section-title {
  font-weight: 700;
  font-size: 1.1rem;
  color: #444a5a;
}

.megamenu-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 100%;
}

.megamenu-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0; /* Prevent overflow */
}

.megamenu-item {
  min-height: 80px;         /* Minimum height, but grows if content is taller */
}

.megamenu-item:hover {
  transform: translateY(-2px);
}

.megamenu-link {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  align-items: flex-start !important;
  gap: 15px;
  padding: 15px !important;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
  min-width: 0;
  overflow: visible;
}

.megamenu-link:hover {
  background: #f8f9fa;
  text-decoration: none;
  color: inherit;
}

.megamenu-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-top: 2px; /* Fine-tune vertical alignment */
}

.megamenu-icon i {
  font-size: 18px !important;
  color: #ff6b35;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
}

.megamenu-content-item {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.megamenu-content-item h5 {
  font-size: 16px;
  font-weight: 700;
  color: #333;
  margin: 0 0 5px 0;
  line-height: 1.3;
  word-wrap: break-word;
}

.megamenu-content-item p {
  font-size: 18px;
  color: #666;
  margin: 0;
  line-height: 27px;
  font-weight: 400;
  word-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  overflow-wrap: break-word;
}

/* Responsive adjustments */
@media (max-width: 991.98px) {
  .megamenu-dropdown .megamenu {
    position: static;
    transform: none;
    width: 100%;
    max-width: none;
    box-shadow: none;
    border: none;
    border-radius: 0;
    margin-top: 0;
    opacity: 1;
    visibility: visible;
    display: none;
  }
  
  .megamenu-dropdown.active .megamenu {
    display: block;
  }
  
  .megamenu-items {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  
  .megamenu-sections {
    flex-direction: column;
    gap: 10px;
  }
}

@media (max-width: 768px) {
  .megamenu-content {
    padding: 20px 15px;
  }
  
  .megamenu-items {
    gap: 15px;
  }
  
  .megamenu-link {
    padding: 12px;
    gap: 12px;
  }
  
  .megamenu-icon {
    width: 40px;
    height: 24px;
  }
  
  .megamenu-icon i {
    font-size: 16px !important;
  }
  
  .megamenu-content-item h5 {
    font-size: 15px;
  }
  
  .megamenu-content-item p {
    font-size: 14px;
  }
}

/* Ensure sticky works on desktop */
@media (min-width: 992px) {
  .header-v2 {
    position: sticky !important;
    top: 0 !important;
    z-index: 1030 !important;
  }
  
  #header-main .navigation-wrapper {
    display: flex;
    align-items: center;
    position: static !important;
  }
  
  .mobile-nav-toggle {
    display: none !important;
  }
}

/* Full-width megamenu styles */
.megamenu {
  position: absolute;
  left: 0;
  right: 0;
  width: 100vw;
  background: #fff;
  box-shadow: 0 8px 32px rgba(0,0,0,0.08);
  z-index: 1000;
}
.megamenu-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .megamenu-inner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-Thin.ttf') format('truetype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-ThinItalic.ttf') format('truetype');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Product Sans';
  src: url('../fonts/ProductSans-BlackItalic.ttf') format('truetype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

html, body {
  font-family: 'Product Sans', 'PT Sans', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.75;
  color: #222;
}

h1, .main-title {
  font-size: 3rem;           /* Larger for hero impact */
  font-weight: 900;          /* Black */
  line-height: 1.1;
  margin-bottom: 2rem;
  letter-spacing: 0;
}

h2, .section-title h2 {
  font-size: 2.25rem;        /* Slightly larger for section titles */
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 1.5rem;
  letter-spacing: 0;
}

h3, .widget-title, .blog-card-title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 1rem;
  letter-spacing: 0;
}

h4 {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  letter-spacing: 0;
}

h5 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  letter-spacing: 0;
}

p, li {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5rem;
  letter-spacing: normal;
}

a, a:visited {
  color: #EC961E;
  font-weight: 600;
  line-height: 1.6;
  text-decoration: none;
  transition: color 0.2s;
}
a:hover, a:focus {
  color: #d47e00;
  text-decoration: underline;
}

small, .meta, .blog-card-date {
  font-size: 0.95rem;
  color: #888;
}

ul, ol {
  padding-left: 1.5em;
}

strong, b {
  font-weight: 700;
}

.section-title h2 {
  margin-bottom: 1.5rem;
}

.widget-title {
  text-transform: uppercase;
  color: #444;
  margin-bottom: 1.5rem;
  letter-spacing: 0.05em;
}

.blog-card-image img {
  border-radius: 10px;
}

a.btn, a.btn-primary, a.btn-secondary {
    text-decoration: none !important;
}
a.btn:hover, a.btn:focus,
a.btn-primary:hover, a.btn-primary:focus,
a.btn-secondary:hover, a.btn-secondary:focus {
    text-decoration: none !important;
}


/* Mobile Navigation Overlay */
.mobile-nav-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #fff;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  padding: 2rem 1.5rem;
  transition: transform 0.3s, opacity 0.3s;
  overflow: hidden;
}
.mobile-nav-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.mobile-nav-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.mobile-nav-logo {
  height: 40px;
}
.mobile-nav-close {
  background: none;
  border: none;
  font-size: 2rem;
  color: #161E3B;
  line-height: 1;
  height: 40px;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mobile-nav-content {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.5rem 0;
}

.mobile-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mobile-nav-list li {
  margin-bottom: 0;
}
.mobile-nav-list a,
.mobile-nav-expand {
  font-size: 1.1rem;
  font-weight: 700;
  color: #444 !important;
  text-decoration: none;
  display: block;
  padding: 1rem 0;
  border-bottom: 1px solid #e2e2e2;
}
.mobile-nav-list a:hover,
.mobile-nav-list a:focus,
.mobile-nav-expand:focus {
  color: var(--color-primary) !important;
  background: none;
}
.mobile-nav-actions {
  margin-bottom: 1rem;
  margin-top: 1rem;
  flex-shrink: 0;
}
.mobile-nav-lang {
  text-align: center;
  font-size: 1rem;
  color: #888 !important;
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .mobile-nav-overlay {
    display: none !important;
  }
}

.mobile-nav-open {
  display: block;
  background: none;
  border: none;
  font-size: 2rem;
  color: #161E3B;
  z-index: 10000;
}
@media (min-width: 992px) {
  .mobile-nav-open {
    display: none !important;
  }
}

.mobile-nav-submenu {
  display: none;
  padding: 0.5rem 0 0.5rem 1rem;
  margin: 0;
  background: #f8f9fa;
  border-radius: 4px;
  margin-top: -1px;
  border-bottom: 1px solid #e2e2e2;
}
.mobile-nav-list li.active > .mobile-nav-submenu {
  display: block;
}
.mobile-nav-list li.active > .mobile-nav-expand {
  border-bottom: none;
}
.mobile-nav-expand {
  background: none;
  border: none;
  font-size: 1.1rem;
  color: #161E3B;
  font-weight: 700;
  width: 100%;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  margin-bottom: 0;
  line-height: 1;
  border-bottom: 1px solid #e2e2e2;
}
.mobile-nav-expand .bi-chevron-down {
  font-size: 1.2rem;
  transition: transform 0.3s ease;
}
.mobile-nav-list li.active .mobile-nav-expand .bi-chevron-down {
  transform: rotate(180deg);
}
.mobile-nav-submenu li {
  margin-bottom: 0;
}
.mobile-nav-submenu strong {
  display: block;
  font-size: 1.1rem;
  color: #888 !important;
  margin-bottom: 0.25rem;
  font-weight: 600;
}
.mobile-nav-submenu a {
  font-size: 1rem;
  font-weight: 400;
  color: #444 !important;
  padding: 0.5rem 0;
  display: block;
}
.mobile-nav-submenu a:hover,
.mobile-nav-submenu a:focus {
  color: var(--color-primary) !important;
  background: none;
}

.mobile-nav-list,
.mobile-nav-list li,
.mobile-nav-submenu,
.mobile-nav-submenu li {
  list-style: none;
}

/* Ensure proper spacing and alignment for mobile menu items */
.mobile-nav-list > li:first-child {
  margin-top: 0;
}

.mobile-nav-list > li:last-child {
  margin-bottom: 0;
}

/* Improve touch targets for mobile */
@media (max-width: 768px) {
  .mobile-nav-list a,
  .mobile-nav-expand {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 0;
  }
  
  .mobile-nav-submenu a {
    min-height: 40px;
    padding: 0.625rem 0;
  }
  
  .mobile-nav-overlay {
    padding: 1.5rem 1rem;
  }
}

.mobile-nav-lang a,
.mobile-nav-lang a:visited,
.mobile-nav-lang .icon,
#header-top a,
#header-top a:visited {
  color: #444 !important;
}
#header-top a .icon {
  filter: none;
}

.mobile-nav-list > li {
  margin-bottom: 0;
}
.mobile-nav-list > li:last-child a,
.mobile-nav-list > li:last-child .mobile-nav-expand {
  border-bottom: none;
}
.mobile-nav-submenu li {
  border-bottom: none;
  margin-bottom: 0;
}


