.c-footer {
  padding: 0;
  background: none;
}

.c-footer__top-section {
  background-color: #003865;
  color: #fff;
  padding: 60px 0;
}

.c-footer__bottom-section {
  background-color: #f5f7fa;
  padding: 40px 0;
  border-top: 1px solid #e2e8f0;

  /* Reserves a small safety margin so the language dropdown's absolutely
     positioned box (~5px of shadow/border past the page's natural end)
     never grows the document's scrollHeight when it opens — without this,
     opening it while scrolled to the bottom of the page causes the browser
     to recompute the scrollable area, which visually flickers the dropdown
     as hover is briefly lost and regained. */
  padding-bottom: 60px;
}

/* Main Grid & Panel Row */
.c-footer__top {
  display: flex;
  flex-direction: column;
  gap: 40px;

  @media (width <= 991.98px) {
    gap: 10px;
  }
}

@media (width >= 992px) {
  .c-footer__top {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
}

/* Left side: Grid of Menu Columns */
.c-footer__menus {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  flex: 1;
}

@media (width >= 576px) {
  .c-footer__menus {
    grid-template-columns: repeat(3, 1fr);
  }
}

.c-footer__menu-col {
  display: flex;
  flex-direction: column;
}

.c-footer__col-title {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  position: relative;
  margin: 0;
  padding: 0;
  font-family: 'MMC_Bold';
  font-size: 18px;
  line-height: 20px;
  padding-bottom: 20px;
}

.c-footer__col-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.c-footer__col-list li {
  font-size: 14px;
  line-height: 30px;
}

.c-footer__col-list a {
  color: #FFF;
  text-decoration: none;
  font-size: 14px;
  line-height: 30px;
  font-weight: 400;
  transition: color 0.2s ease, padding-left 0.2s ease;
  font-family: var(--font-family);
}

.c-footer__col-list a.is-secondary {
  color: #00ac41;
}

.c-footer__col-list a:hover {
  color: #00ac41;
}

/* Right side: Contact, Switcher, Social, CTA */
.c-footer__panel {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 100%;
}

@media (width >= 992px) {
  .c-footer__panel {
    width: 320px;
    flex-shrink: 0;
  }
}

/* Social Links */
.c-footer__social {
  display: flex;
  gap: 12px;
  align-items: center;
}

.c-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
}

/* Contact Items */
.c-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.c-footer__contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #b0c3d0;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s ease;
}

.c-footer__contact-item:hover {
  color: #00ac41;
}

.c-footer__contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #00ac41;
}

/* Language Switcher in Footer (Opens Downward) */
.c-footer__language-wrapper {
  position: relative;
  width: fit-content;

  /* Extends the hoverable area through the gap below the trigger so the
     dropdown (which only exists in the DOM's hover chain once visible)
     never loses :hover while the cursor crosses that gap — avoids the
     open/close flicker that a margin-based gap causes. */
  padding-bottom: 12px;
  margin-bottom: -12px;
}

.c-footer__language-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  user-select: none;
  padding: 0;
  color: #fff;
  transition: opacity 0.2s ease;
}

.c-footer__language-trigger:hover {
  opacity: 0.85;
}

.c-footer__language-icon {
  display: flex;
  align-items: center;
  color: #00ac41;
}

.c-footer__language-text {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  font-family: var(--font-family);
}

.c-footer__language-arrow {
  display: flex;
  align-items: center;
  color: #fff;
  transition: transform 0.2s ease;
}

.c-footer__language-wrapper.is-open .c-footer__language-arrow {
  transform: rotate(180deg);
}

.c-footer__language-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 178px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgb(0 0 0 / 15%);
  display: none;
  flex-direction: column;
  z-index: 100;
  border: 1px solid rgb(0 0 0 / 8%);
}

.c-footer__language-dropdown::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 80px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #fff;
}

.c-footer__language-wrapper.is-open .c-footer__language-dropdown {
  display: flex;
}

@media (width >= 992px) {
  .c-footer__language-wrapper:hover .c-footer__language-dropdown {
    display: flex;
  }

  .c-footer__language-wrapper:hover .c-footer__language-arrow {
    transform: rotate(180deg);
  }
}

.c-footer__language-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 18px;
  color: #334155;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  transition: background-color 0.2s ease, color 0.2s ease;
  text-align: left;
}

.c-footer__language-option:first-child {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.c-footer__language-option:last-child {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

.c-footer__language-option:hover {
  background-color: #f1f5f9;
  color: #00ac41;
}

.c-footer__language-option.is-active {
  background-color: #f1f5f9;
  color: #00ac41;
  font-weight: 600;
}

.c-footer__language-option img {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 1px 3px rgb(0 0 0 / 15%);
}

/* Footer CTA Button */
.c-footer__cta-btn {
  display: inline-block;
  background-color: #00ac41;
  color: #fff;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 4px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 6px rgb(0 172 65 / 15%);
  font-family: var(--font-family);
}

.c-footer__cta-btn:hover {
  background-color: #009137;
  transform: translateY(-1px);
  color: #fff;
  box-shadow: 0 6px 12px rgb(0 172 65 / 25%);
}

.c-footer__cta-btn:active {
  transform: translateY(0);
}

/* Bottom Footer Section */
.c-footer__bottom {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Accreditation Logos Banner */
.c-footer__logos {
  background-color: transparent;
  border-radius: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  align-items: center;
  gap: 60px;
  box-shadow: none;
}

/* Dynamic logo image (from Footer Logos block) */
.c-footer__logo-img-wrap {
  display: flex;
  align-items: center;
  justify-content: start;
}

@media (width >= 768px) {
  .c-footer__logo-img-wrap:nth-child(4) {
    margin-left: auto;
  }
}

.c-footer__logo-img {
  height: 60px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  filter: none;
}

.c-footer__logo-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  padding: 6px 14px;
  min-width: 100px;
  height: 48px;
  background-color: #f8fafc;
  color: #003865;
  transition: transform 0.2s ease, border-color 0.2s ease;
  user-select: none;
}

.c-footer__logo-badge:hover {
  transform: scale(1.05);
  border-color: #cbd5e1;
}

.c-footer__logo-text {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
  line-height: 1.2;
}

.c-footer__logo-sub {
  font-size: 9px;
  color: #64748b;
  font-weight: 600;
  text-transform: uppercase;
  margin-top: 2px;
}

/* Custom coloring for specific badges to look extremely premium and authentic */
.c-footer__logo-badge--iso {
  color: #0c4a6e;
}

.c-footer__logo-badge--tuv {
  border-color: #0284c7;
  color: #0284c7;
}

/* Legal and Copyright Info */
.c-footer__info {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  text-align: center;
}

@media (width >= 768px) {
  .c-footer__info {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
}

.c-footer__copyright {
  font-size: 13px;
  color: #334155;
  font-family: var(--font-family);
}

.c-footer__legal-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  align-items: center;
}

.c-footer__legal-links a {
  font-size: 13px;
  color: #334155;
  text-decoration: none;
  transition: color 0.2s ease;
  font-family: var(--font-family);
}

.c-footer__legal-links a:hover {
  color: #00ac41;
}

.c-footer__legal-separator {
  color: #cbd5e1;
  font-size: 11px;
  user-select: none;
}

/* Responsive/Mobile specific layout styles matching design screenshots */
@media (width >= 576px) {
  .c-footer__col-chevron {
    display: none;
  }
}

@media (width <= 991.98px) {
  .c-footer__top-section {
    padding: 15px 0;
    padding-bottom: 30px;
  }

  .c-footer__menus {
    gap: 0;
    margin-bottom: 20px;
  }

  .c-footer__col-title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 16px 0;
    cursor: pointer;
    text-align: center;
    width: 100%;
    margin-bottom: 0;
    color: #fff;
    font-size: 18px;
    font-family: 'MMC_Bold', sans-serif;
  }

  .c-footer__col-chevron {
    display: inline-flex;
    align-items: center;
    color: #fff;
    transition: transform 0.3s ease;
  }

  .c-footer__col-list {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
    align-items: center;
    padding-bottom: 0;
  }

  .c-footer__col-list li {
    text-align: center;
    width: 100%;
  }

  .c-footer__menu-col.is-open .c-footer__col-list {
    max-height: 500px;
    transition: max-height 0.3s ease-in-out;
    padding-bottom: 16px;
  }

  .c-footer__menu-col.is-open .c-footer__col-chevron {
    transform: rotate(180deg);
  }

  /* Side Panel Centering on Mobile */
  .c-footer__panel {
    align-items: center;
    text-align: center;
    gap: 20px;
  }

  .c-footer__social {
    justify-content: center;
    width: 100%;
    margin-bottom: 10px;
  }

  .c-footer__contact {
    align-items: center;
    width: 100%;
  }

  .c-footer__language-wrapper {
    margin: 0 auto;
  }

  .c-footer__cta {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 10px;
  }

  .c-footer__cta-btn {
    width: 100%;
    max-width: 340px;
  }

  /* Bottom section logos */
  .c-footer__logos {
    justify-content: center;
    gap: 30px 40px;
  }

  .c-footer__logo-img-wrap {
    justify-content: center;
    flex: 0 0 calc(50% - 20px);
    max-width: 140px;
  }

  /* Ensure last rows center if odd number */
  .c-footer__logo-img-wrap:nth-last-child(-n+3) {
    flex: 0 0 calc(33.333% - 20px);
  }

  .c-footer__logo-img {
    height: 50px;
  }

  .c-footer__info {
    text-align: center;
    align-items: center;
  }

  .c-footer__legal-links {
    justify-content: center;
  }
}