@media (min-width: 1025px) and (max-width: 1200px) {
  .elementor-25363 .elementor-element.elementor-element-047aa30 .elementor-tabs-wrapper {
    width: 25% !important;
  }

  .menu-column {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 280px !important;
  }

  .menu-column li {
    margin: 8px;
    display: flex;
    align-items: start;
  }

  .menu-column li a {
    font-size: 14px;
    width: 90% !important;
    gap: 5px;
    padding: 6px 10px;
  }

  .menu-container {
    gap: 5px !important;
    flex-wrap: nowrap !important;
  }

}

@media (min-width: 1201px) and (max-width: 1440px) {
  .elementor-25363 .elementor-element.elementor-element-047aa30 .elementor-tabs-wrapper {
    width: 30% !important;
  }

  .menu-column {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 260px !important;
  }

  .menu-column li {
    margin: 8px;
    display: flex;
    align-items: start;
  }

  .menu-column li a {
    font-size: 14px;
    width: 90% !important;
    gap: 10px;
    padding: 6px 10px;
  }

  .menu-container {
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }

}

.menu-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.menu-column {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 250px;
}

.menu-column li {
  margin-bottom: 15px;
}

.menu-column li a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 15px;
  border-radius: 10px;
  transition: background-color 0.3s ease, color 0.3s ease;
  text-decoration: none;
  color: #333;
  font-weight: 500;
  font-family: 'Poppins', sans-serif;
  width: 100%;
  /* ✅ fix */
  box-sizing: border-box;
  /* ✅ fix */
}

.menu-column li a i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background-color: #eaf2ff;
  color: #0066cc;
  border-radius: 8px;
  font-size: 16px;
}

.menu-column li a:hover {
  background-color: #eaf2ff;
  color: #0066cc;
}

.menu-column li a.active {
  background-color: #eaf2ff;
  font-weight: 600;
}

.menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: 10px;
  font-weight: bold;
  color: #000;
  transition: background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
  background-color: transparent;
}

.menu-item:hover,
.menu-item.active {
  background-color: #eaf2ff;
  color: #0066cc;
}

.menu-item .chevron-icon {
  margin-left: 10px;
  color: #0066cc;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.menu-item:hover .chevron-icon,
.menu-item.active .chevron-icon {
  opacity: 1;
}

.elementor-tab-title.elementor-active {
  background-color: #eaf2ff;
  color: #0066cc;
  border-radius: 10px;
}

.menu-item:hover,
.menu-item.active {
  background-color: #ffffff;
  color: #0066cc;
}

/* =====================================================
   DEFAULT: HIDE ONLY CONTROLLED ELEMENTS
   ===================================================== */
#globallogo, #globallogofooter, #mexicologo, #mexicologofooter,
#demogl, #demoglobe, #demomex,
#discoverycall, #btnin, #btnmx, #btngl,
#mobus, #mobin, #mobmx, #mobsg, #mobsa,
#glmobfoot, #inmobfoot, #mxmobfoot, #sgmobfoot, #samobfoot,
#pointa, #pointb, #mxmenu,
#iggl, #fbgl, #xgl, #lngl,
#igfgl, #fbfgl, #xfgl, #lnfgl,
#fbmx, #igmx, #lnmx, #xmx,
#igfmx, #fbfmx, #xfmx, #lnfmx,
#termsgl, #termsmx,
/* ✅ ZA-only logos */
#zalogo, #zafootlogo,
/* ✅ Contact blocks */
#glcontact, #zacontact, #aumobfoot, #mobau {
  display: none !important;
}

/* =====================================================
   INDIA
   ===================================================== */
html.country-in #globallogo,
html.country-in #globallogofooter,
html.country-in #discoverycall,
html.country-in #btnin,
html.country-in #mobin,
html.country-in #inmobfoot,
html.country-in #iggl,
html.country-in #fbgl,
html.country-in #xgl,
html.country-in #lngl,
html.country-in #igfgl,
html.country-in #fbfgl,
html.country-in #xfgl,
html.country-in #lnfgl,
html.country-in #termsgl {
  display: block !important;
}

/* =====================================================
   MEXICO
   ===================================================== */
html.country-mx #mexicologo,
html.country-mx #mexicologofooter,
html.country-mx #mobmx,
html.country-mx #mxmobfoot,
html.country-mx #pointa,
html.country-mx #pointb,
html.country-mx #btnmx,
html.country-mx #mxmenu,
html.country-mx #demomex,
html.country-mx #fbmx,
html.country-mx #igmx,
html.country-mx #lnmx,
html.country-mx #xmx,
html.country-mx #igfmx,
html.country-mx #fbfmx,
html.country-mx #xfmx,
html.country-mx #lnfmx,
html.country-mx #termsmx {
  display: block !important;
}

/* =====================================================
   SINGAPORE
   ===================================================== */
html.country-sg #globallogo,
html.country-sg #globallogofooter,
html.country-sg #mobsg,
html.country-sg #sgmobfoot,
html.country-sg #btngl,
html.country-sg #demogl,
html.country-sg #demoglobe,
html.country-sg #iggl,
html.country-sg #fbgl,
html.country-sg #xgl,
html.country-sg #lngl,
html.country-sg #igfgl,
html.country-sg #fbfgl,
html.country-sg #xfgl,
html.country-sg #lnfgl,
html.country-sg #termsgl {
  display: block !important;
}

/* =====================================================
   AUSTRALIA
   ===================================================== */
html.country-au #globallogo,
html.country-au #globallogofooter,
html.country-au #mobau,
html.country-au #aumobfoot,
html.country-au #btngl,
html.country-au #demogl,
html.country-au #demoglobe,
html.country-au #iggl,
html.country-au #fbgl,
html.country-au #xgl,
html.country-au #lngl,
html.country-au #igfgl,
html.country-au #fbfgl,
html.country-au #xfgl,
html.country-au #lnfgl,
html.country-au #termsgl {
  display: block !important;
}

/* =====================================================
   SOUTH AFRICA
   ===================================================== */
html.country-za #mobsa,
html.country-za #samobfoot,
html.country-za #btngl,
html.country-za #demogl,
html.country-za #demoglobe,
html.country-za #iggl,
html.country-za #fbgl,
html.country-za #xgl,
html.country-za #lngl,
html.country-za #igfgl,
html.country-za #fbfgl,
html.country-za #xfgl,
html.country-za #lnfgl,
html.country-za #termsgl,
/* ✅ ZA-only items (logos + contact) */
html.country-za #zalogo,
html.country-za #zafootlogo,
html.country-za #zacontact {
  display: block !important;
}

/* =====================================================
   GLOBAL
   ===================================================== */
html.country-global #globallogo,
html.country-global #globallogofooter,
html.country-global #mobus,
html.country-global #glmobfoot,
html.country-global #btngl,
html.country-global #demogl,
html.country-global #demoglobe,
html.country-global #iggl,
html.country-global #fbgl,
html.country-global #xgl,
html.country-global #lngl,
html.country-global #igfgl,
html.country-global #fbfgl,
html.country-global #xfgl,
html.country-global #lnfgl,
html.country-global #termsgl {
  display: block !important;
}

/* =====================================================
   Global contact – visible everywhere EXCEPT South Africa
   ===================================================== */
html:not(.country-za) #glcontact {
  display: block !important;
}

/* =====================================================
   MOBILE PORTRAIT RULES
   ===================================================== */
@media (max-width: 900px) and (orientation: portrait) {
  html.country-in #discoverycall { display: none !important; }
  html.country-mx #demomex { display: none !important; }
  html.country-sg #demoglobe,
  html.country-za #demoglobe,
  html.country-global #demoglobe {
    display: none !important;
  }
}

/* ===============================
   ELEMENTOR-SAFE LEGAL NUMBERING
   =============================== */

.legal-document {
  counter-reset: section;
}

/* Increment section ACROSS widgets */
.legal-section {
  counter-increment: section;
  margin-bottom: 2rem;
}

/* Section title: 1. DEFINITIONS */
.legal-title {
  font-weight: 700;
  margin-bottom: 0.75rem;
  position: relative;
  padding-left: 2.4rem;
}

.legal-title::before {
  content: counter(section) ". ";
  position: absolute;
  left: 0;
}

/* Reset subsection numbering PER section */
.legal-list {
  list-style: none;
  padding-left: 0;
  counter-reset: subsection;
}

/* Subsections: 1.1, 1.2, 2.1, etc */
.legal-list > li {
  counter-increment: subsection;
  position: relative;
  padding-left: 3.2rem;
  margin-bottom: 0.6rem;
}

.legal-list > li::before {
  content: counter(section) "." counter(subsection) ". ";
  position: absolute;
  left: 0;
  font-weight: 600;
}

@view-transition {
  navigation: auto;
}

/* New page enters */
::view-transition-new(root) {
  animation: 500ms ease-out both slide-in-from-left;
}

/* Old page exits */
::view-transition-old(root) {
  animation: 500ms ease-in both fade-out-scale-down;
}

/* Animations */
@keyframes slide-in-from-left {
  from {
    transform: translateX(-30px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes fade-out-scale-down {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(0.98);
    opacity: 0;
  }
}
