 /* Badge */
                .region-badge {
                  display: inline-flex;
                  align-items: center;
                  gap: 10px;
                  padding: 10px 18px;
                  font-size: 14px;
                  font-weight: 600;
                  border-radius: 999px; /* perfect pill */
                  border: 1px solid #ddd;
                  background: #fff;
                  color: #000;
                  text-decoration: none;
                }

                /* Flag wrapper â€“ forces perfect circle */
                .flag-circle {
                  width: 26px;
                  height: 26px;
                  border-radius: 50%;
                  overflow: hidden;
                  flex-shrink: 0;
                  display: inline-flex;
                  align-items: center;
                  justify-content: center;
                }

                /* Flag image */
                .flag-circle img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover;
                }

                /* Arrow */
                .region-badge::after {
                  content: "\f105";
                  font-family: "Font Awesome 5 Free";
                  font-weight: 900;
                  font-size: 14px;
                  margin-left: 4px;
                }
                
                /* ================= SECTION BACKGROUND ANIMATION ================= */

.country-section {
  position: relative;
  padding: 25px;
  background: linear-gradient(
    120deg,
    #1a2c2e,
    #102023,
    #1a2c2e
  );
  background-size: 300% 300%;
  animation: bgMove 18s ease infinite;
  overflow: hidden;
}

@keyframes bgMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* subtle overlay texture */
.country-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at 20% 20%,
    rgba(254,1,3,0.08),
    transparent 40%
  );
  pointer-events: none;
}

/* ================= MAP & LAYOUT ================= */

#miniWorldMap {
    width: 100%;
    max-width: 800px;
    height: 420px;
    margin: 30px auto;
    position: relative;
    z-index: 2;
}

#mapCanvas {
    width: 100%;
    height: 100%;
}

/* ================= POPUP ================= */

#countryPopup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 420px;
  background: #fff;
  color: #000;
  padding: 30px 25px;
  border-radius: 10px;
  text-align: center;
  z-index: 1000;
  box-shadow: 0 15px 40px rgba(0,0,0,0.35);
  border: 3px solid;
}

#countryPopup .close-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  background: #fe0103;
  transform: rotate(90deg);
  color: #fff;
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s ease;
}

#countryPopup .close-btn:hover {
  background: #fe0103;
  transform: rotate(90deg);
}

#countryPopup p {
  margin: 10px 0;
}

.popup-subtext {
  font-size: 14px;
  opacity: 0.9;
}

.primary-btn {
  margin-top: 20px;
  background: #fe0103;
  color: #fff;
  border: none;
  padding: 10px 25px;
  border-radius: 25px;
  cursor: pointer;
  font-size: 15px;
}

.stay-link {
  margin-top: 15px;
  font-size: 13px;
  opacity: 0.9;
  cursor: pointer;
}

/* ================= COUNTRY LIST ================= */

.country-list-wrapper {
  max-width: 900px;
  margin: 40px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  align-items: center;
  justify-items: center;
  position: relative;
  z-index: 2;
}

.country-column h4 {
  font-size: 24px;
  margin-bottom: 10px;
  color: #fff;
}

.country-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.country-column li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  color: #fff;
}

.country-column li img {
  width: 40px;
  height: 28px;
  object-fit: cover;
}

.globe-wrapper {
          position: relative;
          overflow: hidden;
        }
        
        #globe-canvas {
          position: absolute;
          inset: 0;
          z-index: 0;
          top: -190px;
        }
        
        .globe-wrapper .container {
          position: relative;
          z-index: 2;
        }
        
        #globe-canvas canvas {
          width: 100% !important;
          height: 100% !important;
        }
        
        .btn-white-hover:hover {
          color: #fff !important;
          border-color: #fff !important;
        }
        .btn-white-hover:hover i {
          color: #fff !important;
        }
        
        /* Mobile safety */
        @media (max-width: 768px) {
          #globe-canvas {
            display: none;
          }
        }


 .keyword-marquee-section {
          background: #172d2b;
          padding: 6px 0;
          overflow: hidden;
        }
        
        .keyword-marquee {
          width: 100%;
          overflow: hidden;
          position: relative;
        }
        
        .keyword-track {
          display: flex;
          width: max-content;
          animation: marquee 20s linear infinite;
        }
        
        .keyword-track span {
          color: #ffffff;
          font-size: 16px;
          font-weight: 600;
          white-space: nowrap;
          margin-right: 50px;
          position: relative;
        }
        
        /* ðŸ”´ IMAGE SEPARATOR */
        .keyword-track span::after {
          content: "";
          position: absolute;
          right: -30px;
          top: 50%;
          transform: translateY(-50%);
          width: 16px;
          height: 16px;
          background: url("images/Alive-white-favicon.png") no-repeat center;
          background-size: contain;
        }
        
        /* REMOVE LAST IMAGE */
        .keyword-track span:last-child::after {
          display: none;
        }
        
        /* ANIMATION */
        @keyframes marquee {
          0% {
            transform: translateX(0);
          }
          100% {
            transform: translateX(-50%);
          }
        }
        
        /* PAUSE ON HOVER */
        .keyword-marquee:hover .keyword-track {
          animation-play-state: paused;
        }
        
        /* MOBILE */
        @media (max-width: 768px) {
          .keyword-track span {
            font-size: 14px;
            margin-right: 40px;
          }
        
          .keyword-track span::after {
            width: 14px;
            height: 14px;
            right: -26px;
          }
        }


.country-section {
  position: relative;
  padding: 25px;
  background: linear-gradient(
    120deg,
    #1a2c2e,
    #102023,
    #1a2c2e
  );
  background-size: 300% 300%;
  animation: bgMove 18s ease infinite;
  overflow: hidden;
}

@keyframes bgMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* subtle overlay texture */
.country-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at 20% 20%,
    rgba(254,1,3,0.08),
    transparent 40%
  );
  pointer-events: none;
}

/* ================= MAP & LAYOUT ================= */

#miniWorldMap {
    width: 100%;
    max-width: 800px;
    height: 420px;
    margin: 30px auto;
    position: relative;
    z-index: 2;
}

#mapCanvas {
    width: 100%;
    height: 100%;
}

/* ================= POPUP ================= */

#countryPopup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 420px;
  background: #fff;
  color: #000;
  padding: 30px 25px;
  border-radius: 10px;
  text-align: center;
  z-index: 1000;
  box-shadow: 0 15px 40px rgba(0,0,0,0.35);
  border: 3px solid;
}

#countryPopup .close-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  background: #fe0103;
  transform: rotate(90deg);
  color: #fff;
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s ease;
}

#countryPopup .close-btn:hover {
  background: #fe0103;
  transform: rotate(90deg);
}

#countryPopup p {
  margin: 10px 0;
}

.popup-subtext {
  font-size: 14px;
  opacity: 0.9;
}

.primary-btn {
  margin-top: 20px;
  background: #fe0103;
  color: #fff;
  border: none;
  padding: 10px 25px;
  border-radius: 25px;
  cursor: pointer;
  font-size: 15px;
}

.stay-link {
  margin-top: 15px;
  font-size: 13px;
  opacity: 0.9;
  cursor: pointer;
}

/* ================= COUNTRY LIST ================= */

.country-list-wrapper {
  max-width: 900px;
  margin: 40px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  align-items: center;
  justify-items: center;
  position: relative;
  z-index: 2;
}

.country-column h4 {
  font-size: 24px;
  margin-bottom: 10px;
  color: #fff;
}

.country-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.country-column li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  color: #fff;
}

.country-column li img {
  width: 40px;
  height: 28px;
  object-fit: cover;
}