
    /* ====== THEME COLORS ====== */
    :root {
        --c-orange: #E36032;
        --c-orange-2: #F2873F;
        --c-black: #2B2A29;
        --c-off: #EBECEC;
    }

    /* ====== SLIDE IMAGE + OVERLAY ====== */
    #mainCarousel .carousel-item {
        position: relative;
    }


    #mainCarousel .hero-overlay {
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient(90deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .35) 30%, rgba(0, 0, 0, 0) 70%);
    }

    @media (max-width: 992px) {
        #mainCarousel .hero-overlay {
            background: linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, 0) 100%);
        }
    }

    /* ====== TYPOGRAPHY ====== */
    #mainCarousel .cap-sub {
        margin: 0 0 .45rem;
        font-weight: 700;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: var(--c-off);
    }

    #mainCarousel .cap-title {
        margin: 0 0 .7rem;
        font-weight: 800;
        line-height: 1.06;
        font-size: clamp(28px, 6vw, 64px);
        text-shadow: 0 2px 22px rgba(0, 0, 0, .28);
        color: #fff;
    }

    #mainCarousel .cap-desc {
        margin: 0 0 1.2rem;
        max-width: 80ch;
        margin-left: auto;
        margin-right: auto;
        font-size: clamp(14px, 1.6vw, 20px);
        color: var(--c-off);
    }

    /* ====== CTA BUTTON (THEME) ====== */
    #mainCarousel .btn-cta {
        border-radius: 999px;
        padding: .9rem 1.6rem;
        font-weight: 700;
        border: 0;
        background: linear-gradient(90deg, var(--c-orange), var(--c-orange-2));
        color: #fff;
        box-shadow: 0 10px 26px rgba(227, 96, 50, .35);
        transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
    }

    #mainCarousel .btn-cta:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 34px rgba(227, 96, 50, .45);
        opacity: .96;
    }

    /* ====== CONTROLS (LEFT/RIGHT ARROWS) ====== */
    #mainCarousel .carousel-control-prev,
    #mainCarousel .carousel-control-next {
        width: 56px;
        height: 56px;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(235, 236, 236, .92);
        border-radius: 50%;
        box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
        opacity: 1;
        /* always visible */
        z-index: 5;
        /* above caption */
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #mainCarousel .carousel-control-prev {
        left: 24px;
    }

    #mainCarousel .carousel-control-next {
        right: 24px;
    }

    /* default BS icons ko thoda darker दिखाने के लिए */
    #mainCarousel .carousel-control-prev-icon,
    #mainCarousel .carousel-control-next-icon {
        filter: invert(1);
        width: 1.25rem;
        height: 1.25rem;
    }

    #mainCarousel .carousel-control-prev:hover,
    #mainCarousel .carousel-control-next:hover {
        background: #fff;
    }
  /* ====== INDICATORS (KEEPING YOUR DESIGN) ====== */
    #mainCarousel .carousel-indicators button {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .5);
        border: 1px solid #fff;
    }

    #mainCarousel .carousel-indicators .active {
        background: #E36032;
        /* your brand orange */
    }

    /* Extra polish for indicators placement & hover */
    #mainCarousel .carousel-indicators {
        margin-bottom: 16px;
    }

    #mainCarousel .carousel-indicators button {
        margin: 0 7px;
        transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
    }

    #mainCarousel .carousel-indicators button:hover {
        transform: translateY(-1px) scale(1.06);
        background: rgba(255, 255, 255, .7);
    }

    .carousel-item {
        position: relative;
    }

    .carousel-item .carousel-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%);
        z-index: 1;
    }

    .carousel-item .carousel-caption {
        position: absolute;
        z-index: 2;
        /* ensures text is above overlay */
        width: 50%;
    }

    .carousel-caption {
        left: 8% !important;
    }
    /* Small screens: controls smaller / optional hide */
    @media (max-width: 992px) {
        .carousel-item .carousel-caption {
            width: 70%;
        }

        #mainCarousel .carousel-control-prev,
        #mainCarousel .carousel-control-next {
            width: 48px;
            height: 48px;
        }

        #mainCarousel .carousel-control-prev {
            left: 14px;
        }

        #mainCarousel .carousel-control-next {
            right: 14px;
        }
              .carousel-caption h1 {
            font-size: 20px !important;
        }

        .carousel-caption p {
            font-size: 16px !important;
        }
         #mainCarousel .btn-cta {
            padding: 0.5rem 1rem;
            font-size: 12px !important;
        }
    }

    @media (max-width: 768px) {
        .carousel-caption h1 {
            font-size: 25px !important;
        }

        .carousel-caption p {
            font-size: 20px !important;
        }
        
         .carousel-caption {
        left: 12% !important;
    }

        .carousel-item .carousel-caption {

            width: 80% !important;
        }


        .carousel-item img {
            /*height: 100px;*/
            /*object-fit: cover;*/
        }

        #mainCarousel .btn-cta {
            padding: 0.8rem 1rem;
            font-size: 14px !important;
        }

    
    }
    @media (max-width: 576px) {
        .carousel-caption h1 {
            font-size: 18px !important;
        }

 .carousel-caption {
        left: 2% !important;
    }

        .carousel-caption p {
            font-size: 16px !important;
        }

        .carousel-item .carousel-caption {

            width: 100% !important;
        }


        .carousel-item img {
            /*height: 100px;*/
            /*object-fit: cover;*/
        }

        #mainCarousel .btn-cta {
            padding: 0.5rem 0.8rem;
            font-size: 14px !important;
        }

        /*Agar mobile par arrows nahin chahiye to uncomment:*/
        #mainCarousel .carousel-control-prev,
        #mainCarousel .carousel-control-next {
            display: none;
        }
    }

  .single-country {
    background: #fff;
    border-radius: 10px;
    padding: 20px 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: 0.3s;
}
.single-country:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}
.country-name {
    font-weight: 600;
    color: #333;
    margin-top: 8px;
}
:root {
  --cate-accent: #E36032;
  --cate-border: #e5e7eb;
  --cate-bg: #fff;
  --cate-hover: #fff6f3;
  --cate-text: #111;
  --cate-muted: #6b7280;
}

/* Universal fix for sizing */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Section wrapper fix to remove overflow scroll */
.gs-cate-section {
  overflow-x: clip;
}

/* Grid layout */
.cate-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  max-width: 100%;
}


/* Category Row */
.cate-row {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--cate-bg);
  border: 1px solid var(--cate-border);
  border-radius: 12px;
  padding: 12px 16px;
  text-decoration: none;
  transition: all 0.25s ease;
  overflow: clip;
}

.cate-row:hover {
  background: var(--cate-hover);
  border-color: rgba(227, 96, 50, 0.4);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

/* Thumbnail */
.cate-thumb {
  flex: 0 0 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 10px;
  overflow: hidden;
}

.cate-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.cate-row:hover .cate-thumb img {
  transform: scale(1.05);
}

/* Info Section */
.cate-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  flex: 1;
  min-width: 0;
}

.cate-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--cate-text);
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.cate-count {
  font-size: 13px;
  color: var(--cate-muted);
}

/* Arrow */
.cate-arrow {
  margin-left: auto;
  color: var(--cate-accent);
  font-size: 18px;
  transition: all 0.2s ease;
}

.cate-row:hover .cate-arrow {
  opacity: 0.85;
  scale: 1.05;
}


@media (max-width: 1200px) {
  .cate-list {
    grid-template-columns: repeat(4, 1fr);
  }
  
    .cate-row{
            padding: 10px 10px;
      gap: 4px;

  }
  .cate-title{
      font-size: 12px;
  }
  .cate-count{
      font-size: 10px;
  }
  .cate-arrow{
      margin-right: 10px;
  }
}

@media (max-width: 768px) {
  .cate-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 576px) {
  .cate-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Extra safety on mobile */
@media (max-width: 576px) {
  .gs-cate-section, .gs-cate-section * {
    max-width: 100%;
  }
  
  .cate-row{
            padding: 0px;
      gap: 4px;

  }
  .cate-title{
      font-size: 10px;
  }
  .cate-count{
      font-size: 8px;
  }
  .cate-arrow{
      margin-right: 10px;
  }
}



/* Fix for Bootstrap carousel + picture */
.carousel-item {
  position: relative;
}

.carousel-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.carousel-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* SAME behavior as before */
  display: block;
}

