﻿* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}
html {
    scroll-behavior: smooth;
}

.scroll-section {
    scroll-margin-top: 160px;
}



#register-here {
    position: relative;
    z-index: 10;
}

#register-here {
    margin-top:160px;
    background: #f7f7f7;
  height:880px;
}



/* OVERLAY PURELY OFF */
#register-here ~ .elementor-background-overlay
 {
    display: none !important;
}


.main-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
     height: 160px;
    z-index: 9999;
    background-size: cover;
    background-position: center;
    color: #000;
        background-color: #ECF2F5;
}

/* TOP SECTION */
.header-wrap {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    padding: 0px 50px;
}
.page-wrapper {
    position: relative;              
    min-height: 100vh;
   background-image: url("/Content/client-UI/travel-zy/img/Aswan-bg.jpg");
    background-repeat: no-repeat;
    background-size: contain;      
    background-position: center top;
    background-color: #77777738;       
}

/* OVERLAY */
.page-wrapper > .elementor-background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 110vh;                 
    background-color:#fff; 
        opacity: 0.75;
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
    z-index: 1;
}


/* LEFT */
.phone-box {
    display: flex;
    gap: 12px;
    align-items: center;
}

.phone-box i {
    background: #7BC043;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.phone-box span {
    font-size: 13px;
    opacity: .8;
}

.social {
    display: flex;
    gap: 12px;
    margin-top: 12px;
}

.social i {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* CENTER LOGO */
.header-center {
    text-align: center;
}

.header-center img {
    height: 130px;
}

/* RIGHT */
.header-right {
    display: flex;
    align-items: center;
    gap: 18px;
}

.btn-book {
    background: #7BC043;
    color: #fff;
    padding: 14px 32px;
    border-radius: 30px;
    text-decoration: none;
    width:175px;
}

.btn-book:hover {
    background: #93D250;  
}
/* MENU */
.main-menu {
    text-align: center;
       padding-bottom: 18px;
}

.main-menu ul {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 40px;
}

.main-menu li {
    color: #000;              
    font-size: 15px;
    cursor: pointer;
}

.main-menu li.active,
.main-menu li:hover {
    color: #7BC043;
}


/* HERO BACKGROUND */
.hero{
  position:relative;
  min-height:100vh;
  margin-top: 160px;
}

.overlay{
  position:absolute;
  inset:0;
 
}

/* MAIN WRAPPER */
.hero-wrapper{
  position:relative;
  max-width:1300px;
  margin:auto;
  padding:20px 50px;
  display:flex;
  gap:120px;
  align-items:center;
  z-index:2;
}

/* LEFT */
.hero-left{
  position:relative;
  flex:1;
    z-index:3;
}

.big-image{
  position:relative;
  border-radius:28px;
  overflow:hidden;
   width:340px;
    margin-bottom: 45px;
}

.big-image img{
  width:100%;
  height:500px;
  object-fit:cover;
 
   border-radius:24px;
}



/* SMALL IMAGE */
.small-image{
  position:absolute;
  right:-160px;
 bottom: 0px;
  width:330px;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 25px 50px rgba(0,0,0,.45);
  z-index: 4; 
    
}

.small-image img{
  width:100%;
  height:430px;
  object-fit:cover;
  
}

/* COUNTER */
.counter-circle{
     z-index:10;
  position:absolute;
  top:60px;
  right:100px;
  width:150px;
  height:150px;
  background:#7BC043;
  color:#fff;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
   border-style: solid;
    border-width: 5px 5px 5px 5px;
    border-color: #fff;
}

.counter-circle h2{
  font-size:36px;
}

.counter-circle p{
  font-size:14px;
}

/* RIGHT */
.hero-right{
  flex:1;
  color:#000;
      margin-bottom: 133px;
}

.hero-right h1{
 margin-top: 87px;
    font-size: 30px;
    line-height: 1.1;
    margin-bottom: 25px;
    margin-left: 40px;
    color: #000;
    font-weight: lighter;
}

.hero-right h1 span{
  color:#7BC043;
}

.hero-right p{
  max-width:480px;
  font-size:17px;
  line-height:1.7;
  opacity:.9;

}

/* BUTTONS */
.buttonshome{
        margin-left: 40px;
  display:flex;
  gap:20px;
  margin-bottom:90px;
}

.btn{
  padding:15px 38px;
  border-radius:40px;
  text-decoration:none;
  transition:.3s;
}

.btn.primary{
  background:#3b78c8;
  color:#fff;
}

.btn.primary:hover{
  background:#2a5fa7;
}

.btn.outline{
  border:2px solid #fff;
  color:#fff;
}

.btn.outline:hover{
  background:#fff;
  color:#000;
}

/* RESPONSIVE */
@media(max-width:992px){
  .hero-wrapper{
    flex-direction:column;
    text-align:center;
  }

  .small-image{
    position:relative;
    right:0;
    bottom:0;
    width:80%;
    margin:20px auto;
  }

  .counter-circle{
    position:relative;
    right:0;
    margin:30px auto;
  }

  .hero-right h1{
    font-size:18px;
  }
  .hero {
    margin-top: 58px;
}
    .hero-wrapper {
        padding: 10px 10px;
    }
   
}
.main-menu ul {
    display: flex;
    justify-content: center;
    gap: 38px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-menu li a {
    position: relative;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    color: #222;
    padding: 8px 0;
}

/* underline hidden initially */
.main-menu li a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 0;
    height: 2px;
    background: #7BC043;
    transform: translateX(-50%);
    transition: width 0.3s ease;
}

/* hover / click effect */
.main-menu li a:hover::after,
.main-menu li a:focus::after {
    width: 100%;
}

/* subtle color change */
.main-menu li a:hover,
.main-menu li a:focus {
    color: #7BC043;
    outline: none;
}

/* ===== FORM WRAPPER ===== */
.form {
    position: relative;
    z-index: 2;
    width: 360px;
    margin: auto;
    margin-top: 0px;
    padding: 15px 30px 10px;
    background: rgba(0, 0, 0, 0.55);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.7);
    text-align: center;
    margin-bottom: 60px;
}

/* ===== HEADING ===== */
.form h4 {
    color: grey;
    margin-bottom: 25px;
    font-size: 20px;
    letter-spacing: 1px;
}

/* ===============================
   LOGIN FORM – UNIQUE SCOPED CSS
   =============================== */

.dvlogin .form-control {
    width: 100%;
    padding: 12px 14px;
    margin-bottom: 18px;
    border: none;
    outline: none;
    font-size: 14px;
    background: #fff;
    color: #000;
    border-radius: 15px;
    height: 38px;
    margin-top: 25px;
    margin-top: 25px;
    border: 1px solid #b6a6a6;
}

/* Button */
.dvlogin button#Login {
    width: 50%;
    background: #7BC043;
    border: none;
    padding: 12px;
    border-radius: 20px;
    font-size: 16px;
    cursor: pointer;
        box-shadow: 0px 8px 15px rgba(0, 0, 0);
}

/* Heading */
.dvlogin h3 {
    color: #fff;
    margin-bottom: 20px;
}

/* Text links */
.dvlogin .message {
    font-size: 13px;
    margin-top: 25px;
    color: #000;
}

.dvlogin .message a {
    color: #93D250;
    text-decoration: none;
}
/* ===============================
   FORGOT PASSWORD – UNIQUE CSS
   =============================== */

.dvforgot .form-control {
    width: 100%;
    padding: 12px 14px;
    margin-bottom: 18px;
    border: none;
    outline: none;
    font-size: 14px;
    background: #fff;
    border: 1px solid #b6a6a6;
    color: #000;
    border-radius: 15px;
    height: 38px;
    margin-top: 25px;
}

/* Heading */
.dvforgot h4 {
    margin-top: 0;
    margin-bottom: 20px;
    color: #000;
    font-size: 18px;
   
}

/* Buttons */
.dvforgot button#Proceed,
.dvforgot button#RecoverPassword {
    width: 100%;
    background: #7BC043;
    border: none;
    padding: 12px;
    border-radius: 20px;
    font-size: 15px;
    cursor: pointer;
    margin-top: 10px;
}

/* Security block */
.dvforgot #security {
    margin-top: 20px;
}

/* Messages */
.dvforgot .message {
    font-size: 13px;
    margin-top: 12px;
    color: #fff;
}

/* Links */
.dvforgot .message a {
    color: #93D250;
    text-decoration: none;
}


/* ===== LOGIN BUTTON ===== */
#Login {
    margin-top: 10px;
        border-radius: 25px;
    width: 100%;
    padding: 12px;
    background: #1f6fae;
    border: none;
    color: #fff;
    font-size: 15px;
    cursor: pointer;
    transition: 0.3s;
}

#Login:hover {
    background: #155a8a;
}
#Proceed{
  margin-top: 10px;
        border-radius: 25px;
    width: 100%;
    padding: 12px;
    background: #1f6fae;
    border: none;
    color: #fff;
    font-size: 15px;
    cursor: pointer;
    transition: 0.3s;
}
#Proceed:hover {
    background: #155a8a;
}
/* ===== TEXT LINKS ===== */
.message {
    color: #ccc;
    font-size: 13px;
    margin-top: 15px;
}

.message a {
    color: #ccc;
    text-decoration: none;
}

.message a:hover {
    text-decoration: underline;
}

/* spacing fix */
.mtn {
    margin-top: 5px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 480px) {
    .form {
        width: 90%;
        margin-top: 80px;
        padding: 30px 20px;
    }
}
.form {
    border-radius: 25px;
    position: relative;
    width: 360px;
    margin: auto;
    padding: 40px 30px;
    text-align: center;
        height: 420px;
        background-color: #fff;
}
p.message.mtn {
    display:none;
}


.happy-customers {
    position: relative;
    z-index: 1;
    opacity: 1;
    filter: none;
    backdrop-filter: none;
    background: #7BC043; 
      color: #fff;
    padding: 35px 20px;
    text-align: center;
}

.hc-container {
  max-width: 1200px;
  margin: auto;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

/* LEFT */
.hc-left {
  display: flex;
  align-items: center;
  gap: 15px;
}

.avatar-group {
  display: flex;
}

.avatar-group img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 3px solid #fff;
  margin-left: -12px;
}

.avatar-group img:first-child {
  margin-left: 0;
}

.hc-text h4 {
  margin: 0;
  font-size: 18px;
}

.review {
  font-size: 28px;
  opacity: 0.9;
}

.stars {
  font-size: 16px;
  color: #ffd54f;
}

/* CENTER */
.hc-center img {
  width: 180px;
  border-radius: 20px;
  object-fit: cover;
}

/* RIGHT */
.hc-right {
  display: flex;
  align-items: center;
  gap: 30px;
}

.counter h2 {
  font-size: 44px;
  margin: 0;
}

.counter h2 span {
  font-size: 26px;
}

.counter p {
  margin: 0;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.divider {
  width: 1px;
  height: 60px;
  background: rgba(255,255,255,0.4);
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .hc-container {
    flex-direction: column;
    text-align: center;
  }

  .hc-left {
    flex-direction: column;
  }

  .hc-right {
    flex-direction: column;
  }

  .divider {
    display: none;
  }
}
.features-section {
  padding: 80px 20px;
  background: #ffffff;
}

.features-container {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

/* FEATURE ITEM */
.feature-item {
  display: flex;
  align-items: flex-start;
  gap: 22px;
}

/* ICON */
.icon-wrap {
  width: 90px;
  height: 90px;
  background: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 15px 40px rgba(0,0,0,0.08);
  flex-shrink: 0;
}

.icon-wrap i {
  font-size: 34px;
  color: #7BC043;
}

/* darker icon (middle one like screenshot) */
.icon-wrap.dark i {
  color: #1f2f3f;
}

/* CONTENT */
.content h3 {
  margin: 0 0 10px;
  font-size: 22px;
  color: #0f2b46;
}

.content p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .features-container {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .feature-item {
    align-items: center;
  }
}
.services-section {
    padding: 15px 15px;
    background: #f8f9fb;
}

.services-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 10px;
}

.services-header h2 {
    font-size: 36px;
  
}

.services-header h2 span {
    color: #7ac142;
}

.services-header p {
    color: #666;
    line-height: 1.6;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 25px;
    max-width: 1200px;
    margin: auto;
}

.service-card {
    background: #fff;
    padding: 28px;
    border-radius: 14px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    transition: 0.3s ease;
}

.service-card h4 {
    margin-bottom: 12px;
    color: #1c1c1c;
    font-size: 20px;
}

.service-card p {
    color: #666;
    line-height: 1.6;
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 14px 35px rgba(0,0,0,0.12);
}
.services-header h2 {
    font-size: 44px;
      font-size: 30px;
    font-weight: lighter;
    letter-spacing: 1px;
    margin-bottom: 14px;
    position: relative;
    display: inline-block;
}

.services-header h2 span {
    background: linear-gradient(90deg, #7ac142, #4ea93b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.services-header h2::after {
    content: "";
    width: 90px;
    height: 4px;
    background: linear-gradient(90deg, #7ac142, #4ea93b);
    display: block;
    margin: 14px auto 0;
    border-radius: 5px;
}

.services-header p {
    font-size: 17px;
    color: #777;
    max-width: 620px;
    margin: 16px auto 0;
    line-height: 1.7;
}
.service-card {
    background: linear-gradient(180deg, #ffffff, #fbfbfb);
    border-radius: 18px;
    padding: 34px 30px;
    box-shadow: 0 12px 35px rgba(0,0,0,0.08);
    border: 1px solid rgba(0,0,0,0.04);
    transition: 0.4s ease;
    position: relative;
    overflow: hidden;
}

.service-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #7ac142, #4ea93b);
}

.service-card h4 {
    font-size: 22px;
 
    margin-bottom: 14px;
}

.service-card p {
    font-size: 15px;
    line-height: 1.7;
    color: #666;
}

.service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 45px rgba(0,0,0,0.14);
}
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* ALWAYS 3 */
    gap: 30px;
    max-width: 1200px;
    margin: auto;
}

@media (max-width: 768px) {
    .services-header h2 {
        font-size: 30px;
    }

    .services-header p {
        font-size: 15px;
    }
}


@media (max-width: 992px) {

    .services-section {
        padding: 60px 15px;
    }

    .services-header h2 {
        font-size: 30px;
    }

    .services-grid {
        gap: 20px;
    }
}

@media (max-width: 768px) {

    .services-header h2 {
        font-size: 26px;
    }

    .services-header p {
        font-size: 15px;
    }

    .service-card {
        padding: 22px;
        text-align: center;
    }

    .service-card h4 {
        font-size: 18px;
    }

    .service-card p {
        font-size: 14px;
    }
}

@media (max-width: 480px) {

    .services-section {
        padding: 50px 12px;
    }

    .services-header h2 {
        font-size: 24px;
    }

    .services-grid {
        grid-template-columns: 1fr; /* ONE CARD PER ROW */
        gap: 16px;
    }

    .service-card {
        border-radius: 12px;
    }
}


/* HEADER */
.tp-header {
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}

.tp-title h2 {
  font-size: 44px;

  color: #1b2b3a;
}

.tp-title h2 span {
  color: #7BC043;
}

.tp-title p {
  max-width: 500px;
  margin-top: 12px;
  color: #6b7280;
  line-height: 1.7;
}

.tp-view-btn {
  padding: 14px 34px;
  background: #7BC043;
  color: #fff;
  text-decoration: none;
  border-radius: 40px;

}

/* GRID */
.tp-grid {
  max-width: 1200px;
  margin: 60px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

/* CARD */
.tp-card {
  background: #fff;
  border-radius: 26px;
  box-shadow: 0 25px 45px rgba(0,0,0,0.08);
  display: flex;
  overflow: hidden;
}

/* IMAGE */
.tp-img {
  position: relative;
  width: 45%;
}

.tp-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* PRICE BADGE */
.tp-price {
  position: absolute;
  top: 20px;
  left: 20px;
  background: #fff;
  padding: 12px 16px;
  border-radius: 50%;
  text-align: center;
  color: #7BC043;
}

.tp-price strong {
  font-size: 22px;
}

.tp-price span {
  display: block;
  font-size: 13px;
}

/* CONTENT */
.tp-content {
  width: 55%;
  padding: 30px;
}

.tp-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #7BC043;

}

.stars {
  color: #f4c430;
}

.tp-content h4 {
  margin: 15px 0;
  font-size: 22px;
  color: #1b2b3a;
}

.tp-meta {
  display: flex;
  gap: 18px;
  color: #6b7280;
  font-size: 14px;
  margin-bottom: 12px;
}

.tp-meta i {
  color: #7BC043;
}

.tp-content p {
  color: #6b7280;
  line-height: 1.6;
  margin-bottom: 20px;
}

/* BUTTON */
.tp-book {
  display: inline-block;
  padding: 12px 30px;
  background: #7BC043;
  color: #fff;
  text-decoration: none;
  border-radius: 30px;

}

/* RESPONSIVE */
@media (max-width: 992px) {
  .tp-header {
    flex-direction: column;
    text-align: center;
  }

  .tp-grid {
    grid-template-columns: 1fr;
  }

  .tp-card {
    flex-direction: column;
  }

  .tp-img,
  .tp-content {
    width: 100%;
  }

  .tp-img {
    height: 280px;
  }
}


.booking-steps {
  position: relative;
  padding: 100px 0;
  background: url("https://demo.stairthemes.com/traveler/wp-content/uploads/sites/2/2022/02/traveler-image2.jpg")
    center/cover no-repeat;
  color: #fff;
}

.booking-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.75);
}

.booking-container {
  position: relative;
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  z-index: 2;
}

/* LEFT */
.booking-left {
  position: relative;
}

.img-stack {
  display: flex;
  gap: 20px;
}

.img-big,
.img-small {
  border-radius: 24px;
  object-fit: cover;
}

.img-big {
  width: 260px;
  height: 420px;
}

.img-small {
  width: 240px;
  height: 360px;
  margin-top: 60px;
}

.stat {
  margin-bottom: 18px;
}

.stat span {
  font-size: 14px;
}

.bar {
  background: rgba(255,255,255,.25);
  height: 8px;
  border-radius: 20px;
  overflow: hidden;
  margin-top: 6px;
}

.bar div {
  background: #fff;
  height: 100%;
  text-align: right;
  font-size: 11px;
  padding-right: 6px;
  border-radius: 20px;
}

/* RIGHT */
.booking-right h2 {
  font-size: 42px;
  line-height: 1.2;
  margin-bottom: 40px;
}

.booking-right h2 span {
  color: #4da3ff;
}

.step {
  display: flex;
  gap: 18px;
  margin-bottom: 30px;
  align-items: flex-start;
}

.icon {
  width: 48px;
  height: 48px;
  border: 2px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.step h4 {
  margin: 0 0 6px;
  font-size: 20px;
}

.step p {
  margin: 0;
  font-size: 19px;
  opacity: .85;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .booking-container {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .img-stack {
    justify-content: center;
  }
  .step {
    justify-content: center;
    text-align: left;
  }
}
.signup-offer {
  position: relative;
  padding: 100px 0;
  background: url("https://demo.stairthemes.com/traveler/wp-content/uploads/sites/2/2022/02/traveler-image2.jpg")
    center/cover no-repeat;
  overflow: hidden;
}

.signup-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
}

/* MAIN GRID */
.signup-container {
  position: relative;
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 60px;
  z-index: 2;
}

/* LEFT BOX */
.signup-box {
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(8px);
  border-radius: 26px;
  padding: 50px;
  color: #fff;
}

.signup-box h2 {
  font-size: 42px;
  line-height: 1.2;
  margin-bottom: 20px;
}

.signup-box h2 span {
  color: #4da3ff;
}

.signup-box p {
  font-size: 15px;
  opacity: 0.85;
  margin-bottom: 30px;
  max-width: 520px;
}

/* FORM */
.signup-form {
  display: flex;
  gap: 15px;
}

.signup-form input {
  flex: 1;
  height: 55px;
  border-radius: 30px;
  border: none;
  padding: 0 22px;
  font-size: 15px;
  outline: none;
}

.signup-form button {
  height: 55px;
  padding: 0 32px;
  border-radius: 30px;
  border: none;
  background: #3f7ecb;
  color: #fff;
  font-size: 15px;
  cursor: pointer;
  transition: 0.3s;
}

.signup-form button:hover {
  background: #2f68ad;
}

/* RIGHT IMAGE */
.signup-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .signup-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .signup-form {
    flex-direction: column;
  }

  .signup-form button {
    width: 100%;
  }
}

.stats-vertical {
    padding: 40px 0;
    background: #ffffff;
    border-top: 1px solid #eef2ea;
    border-bottom: 1px solid #eef2ea;
}

.stats-vertical-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    text-align: center;
}

/* EACH COLUMN */
.stat-v {
    padding: 10px 16px;
}

/* ICON */
.stat-v i {
    font-size: 28px;
    color: #6fbf4a;
    margin-bottom: 10px;
}

/* NUMBER */
.stat-v h3 {
    font-size: 30px;
    margin-bottom: 6px;
    color: #1f3d1a;
}

/* TEXT */
.stat-v p {
    font-size: 13.5px;
    line-height: 1.4;
    color: #555;
    margin: 0;
}

/* VERTICAL DIVIDERS (BIG DIFFERENCE) */
.stat-v:not(:last-child) {
    border-right: 1px dashed #e3efdc;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .stats-vertical-row {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 20px;
    }

    .stat-v:not(:last-child) {
        border-right: none;
    }
}

@media (max-width: 576px) {
    .stats-vertical-row {
        grid-template-columns: 1fr;
    }
}


.trav-footer {
  background: #000;
  color: #cbd5e1;
  font-family: sans-serif;
}

.footer-top {
  max-width: 1200px;
  margin: auto;
  padding: 80px 20px 40px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.footer-col h4 {
  color: #fff;
  margin-bottom: 20px;
      font-weight: lighter;
}

.logo {
  font-size: 28px;
  color: #fff;
}

.logo span {
  margin-left: 6px;
}

.footer-col p {
  margin-top: 15px;
  line-height: 1.6;
}

/* POSTS */
.post {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}

.post img {
  width: 70px;
  height: 70px;
  border-radius: 12px;
}

.post h6 {
  color: #fff;
  font-size: 14px;
  margin-bottom: 6px;
}

/* CONTACT */
.contact-list {
  list-style: none;
  padding: 0;
}

.contact-list li {
  margin-bottom: 12px;
}


/* NEWSLETTER */
.footer-middle {
  border-top: 1px solid rgba(255,255,255,.15);
  padding: 35px 20px;
  max-width: 1200px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.newsletter {
  display: flex;
  gap: 15px;
}

.newsletter input {
  padding: 14px 22px;
  border-radius: 40px;
  border: none;
  width: 260px;
}

.newsletter button {
  padding: 14px 32px;
  border-radius: 40px;
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
  cursor: pointer;
}

.socials {
  display: flex;
  gap: 10px;
}

.socials a {
  width: 38px;
  height: 38px;
  border: 1px solid #94a3b8;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  text-decoration: none;
}

/* BOTTOM */
.footer-bottom {
  background: #213544;
  padding: 18px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.footer-bottom a {
  color: #cbd5e1;
  margin-left: 15px;
  text-decoration: none;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
    #register-here {
        margin-top: 78px;
            height: 1694px;
    }
    .main-menu li a { 
    color: #fff;

}
    .hero-right h1 {
        margin-top: 34px;
    }
    .dvlogin .message {
    margin-top: 22px;
    color: #000;
}
    p.message.mtn {
    display: block;
}
  .footer-top {
    grid-template-columns: 1fr;
  }

  .footer-middle {
    flex-direction: column;
    text-align: center;
  }

  .footer-bottom {
    flex-direction: column;
  }
}
.about-travel {
  padding: 30px 0;
  font-family: "Poppins", sans-serif;
  background: #fff;
}

.about-container {
  max-width: 1200px;
  margin: auto;
  display: flex;
  gap: 70px;
  align-items: flex-start;
}

/* LEFT */
.about-left {
  width: 60%;
}

.about-image-wrap {
  position: relative;
}

.about-image-wrap img {
  width: 100%;
  border-radius: 28px;
  display: block;
}

/* BLUE OVERLAY BOX */
.about-blue-box {
  position: absolute;
  right: -45px;
  top: 50%;
  transform: translateY(-50%);
  background: #3f79c7;
  color: #fff;
  padding: 38px 40px;
  border-radius: 22px;
  font-size: 26px;
  line-height: 1.3;
  max-width: 300px;
}

/* TEXT BELOW IMAGE */
.about-text {
  margin-top: 45px;
}

.about-text h2 {
  font-size: 38px;
  margin-bottom: 18px;
  color: #2b3a42;
}

.about-text p {
  font-size: 15px;
  line-height: 1.8;
  color: #666;
  margin-bottom: 15px;
}

/* RIGHT */
.about-right {
  width: 40%;
}

.feature-box {
  text-align: center;

}

.feature-icon {
  width: 60px;
  height: 60px;
  background: #7BC043;
  border-radius: 50%;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
}

.feature-box h4 {
  font-size: 20px;
  margin-bottom: 10px;
}

.feature-box p {
  font-size: 14px;
  line-height: 1.7;
  color: #666;
}
.PageTitle {
    padding: 20px 0 20px 0;
    background-color: #f0f0f0;
    border-bottom: 1px solid gainsboro;
}
.captcha-box {
    position: relative;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    height: 90px;
    background-color: white;
}
.CaptchaList {
    margin: 0;
    padding: 0;
}
.captcha-label {
    position: absolute;
    top: -10px;
    left: 20px;
    background-color: white;
    padding: 0 6px;
    font-size: 12px;
    color: #999;
}
.CaptchaList li:nth-child(1) {
    width: 125px;
}
.CaptchaList li:nth-child(2) {
    width: 50px;
    text-align: center;
}
.CaptchaList li:nth-child(3) {
    /* padding-top: 15px; */
    height: 60px;
}
#CaptchaCanvas {
    width: 100px;
}
input#clientCaptcha {
    margin-left: 125px;
}
a#RefreshCaptcha {
      margin-left: 80px;
}


.CaptchaList li {
    list-style: none;
    display: inline-block;
    float: left;
    height: 60px;
}
/* ===== DESKTOP MENU ===== */
.main-menu ul {
    display: flex;
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ===== HAMBURGER ===== */
.menu-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    margin-left: 15px;
}

.menu-toggle span {
    width: 26px;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    transition: 0.3s;
}

/* ===== MOBILE VIEW ===== */
@media (max-width: 991px) {
    .main-header {    
        height: 60px;
    }
    /* hide desktop menu */
    .main-menu {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #0E2A47;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
    }

    .main-menu ul {
        flex-direction: column;
        padding: 20px;
    }

    .main-menu ul li {
        padding: 14px 0;
        border-bottom: 1px solid rgba(255,255,255,0.15);
        color: #fff;
        font-size: 16px;
    }

    .main-menu ul li:last-child {
        border-bottom: none;
    }

    /* open state */
    .main-menu.open {
        max-height: 500px;
    }

    /* show hamburger */
    .menu-toggle {
        display: flex;
        margin-left:80px;
        background-color:#7BC043;
    }
     .header-left {
        display: none !important;
    }

    /* REGISTER button hide */
    .header-right .btn-book {
        display: none !important;
    }

    /* header align properly */
    .header-wrap {
        align-items: center;
    }
.header-center img {
        max-height: 55px;
    }
    .hero-left {
        display:none;
    }
    .hero {
    min-height: 72vh;
}
    .page-wrapper > .elementor-background-overlay {
   
    height: 71vh;
   background-color: #fff;
}
    .page-wrapper {

    background-image:none;
 
    background-color: #fff;
}
    .hero-right h1 {
        color:#000;
    }
    #main{

    z-index:1;
}
    
    .img-small {
    display: none;
}
    .img-big {
    width: 380px;
}
    .signup-form input {
        flex: auto;
        height: 53px;
    }
    .signup-image img {
    max-width: 100%;
    height: auto;
    display: none;
}
     .about-container {
        flex-direction: column;
            gap: 1px;
    }

    .about-blue-box {
        font-size: 16px;
        padding: 15px 18px;
    }

    .about-text h2 {
        font-size: 16px;
    }
    .about-travel {
        padding: 0px 0;
    }
    
.trav-footer {
    text-align: center;
}
    .about-left {
    width: 100%;
    padding: 20px;
}
        .about-blue-box {
        display: none;
    }
        .about-right {
    width: 100%;
    padding: 30px;
}
}
/* SECTION BACKGROUND (NO IMAGE) */
.clean-bg {
    background: linear-gradient(
        135deg,
        #0E2A47 0%,
        #0C3D5A 40%,
        #1E7F8F 100%
    );
    padding: 100px 20px;
}

/* CONTAINER */
.discount-container {
    max-width: 1200px;
    margin: auto;
    display: flex;
    align-items: center;
    gap: 60px;
    color: #fff;
}

/* GLASS CARD */
.discount-card {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 26px;
    padding: 45px;
    max-width: 480px;
    backdrop-filter: blur(10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.25);
}

.discount-card h2 {
    font-size: 36px;
    line-height: 1.2;
    margin-bottom: 15px;
}

.discount-card h2 span {
    color: #4DA3FF;
}

.discount-card p {
    font-size: 15px;
    line-height: 1.7;
    opacity: 0.9;
}

/* FORM */
.discount-form {
    margin-top: 25px;
    display: flex;
    gap: 14px;
}

.discount-form input {
    flex: 1;
    padding: 14px 18px;
    border-radius: 40px;
    border: none;
    outline: none;
}

.discount-form button {
    padding: 14px 28px;
    border-radius: 40px;
    border: none;
    background: linear-gradient(135deg, #4DA3FF, #1ABC9C);
    color: #fff;
    cursor: pointer;
}

/* RIGHT SIDE */
.discount-points h3 {
    font-size: 28px;
    margin-bottom: 22px;
}

.discount-points ul {
    list-style: none;
    padding: 0;
}

.discount-points li {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    font-size: 16px;
}

.discount-points li span {
    width: 28px;
    height: 28px;
    background: linear-gradient(135deg, #7BC043, #1ABC9C);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .discount-container {
        flex-direction: column;
        text-align: center;
    }

    .discount-form {
        flex-direction: column;
    }

    .discount-form button {
        width: 100%;
    }
}
/* SECTION */
.whychoose-section {
    padding: 90px 0;
    background: #f8f9fb;
}

/* HEADING */
.whychoose-heading p {
    color: #6fbf4a;
    letter-spacing: 1px;
    margin-bottom: 6px;
}

.whychoose-heading h2 {
    font-size: 44px;
    margin-bottom: 40px;
    position: relative;
}

.whychoose-heading h2::after {
    content: "";
    width: 70px;
    height: 4px;
    background: #6fbf4a;
    display: block;
    margin-top: 10px;
    border-radius: 4px;
}

/* ACCORDION WRAPPER */
.custom-accordion .accordion-item {
    border: none;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 18px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* HEADING BUTTON */
.custom-accordion .accordion-button {
    background: #eaf6e4;
    color: #1f3d1a;
    font-size: 17px;
    padding: 16px 22px; /* compact height */
}

/* ACTIVE STATE */
.custom-accordion .accordion-button:not(.collapsed) {
    background: linear-gradient(90deg, #7ac142, #6bbd3e);
    color: #fff;
}

/* REMOVE BOOTSTRAP FOCUS */
.custom-accordion .accordion-button:focus {
    box-shadow: none;
}

/* ARROW ICON */
.custom-accordion .accordion-button::after {
    background-size: 1.1rem;
    transform: scale(0.9);
}

/* BODY */
.custom-accordion .accordion-body {
    padding: 18px 22px;
    background: #ffffff;
    color: #555;
    font-size: 15px;
    line-height: 1.7;
}

/* MOBILE */
@media (max-width: 576px) {
    .whychoose-heading h2 {
        font-size: 30px;
    }

    .custom-accordion .accordion-button {
        font-size: 16px;
        padding: 14px 18px;
    }
}
/* SECTION */
.whyus-flow {
    padding: 80px 0;
    background: #ffffff;
}

/* HEADING */
.whyus-flow-head p {
    color: #6fbf4a;
    font-size: 13px;
    margin-bottom: 4px;
}

.whyus-flow-head h2 {
    font-size: 40px;
    margin-bottom: 40px;
    font-weight:lighter;
}

.whyus-flow-head h2 span {
    color: #6fbf4a;
}

/* WRAP */
.whyus-flow-wrap {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    gap: 50px;
    align-items: flex-start;
}

/* LEFT FLOW */
.whyus-flow-left {
    position: relative;
    padding-left: 30px;
    border-left: 2px solid #e3f1dc;
}

/* FLOW ITEM */
.flow-item {
    display: flex;
    gap: 20px;
    margin-bottom: 26px;
    position: relative;
}

.flow-dot {
    width: 14px;
    height: 14px;
    background: #6fbf4a;
    border-radius: 50%;
    position: absolute;
    left: -38px;
    top: 6px;
}

/* CONTENT */
.flow-content h4 {
    font-size: 18px;

    margin-bottom: 6px;
}

.flow-content p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #555;
    margin: 0;
}

/* RIGHT IMAGE */
.whyus-flow-right img {
    width: 100%;
    max-height: 300px;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.18);
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .whyus-flow-wrap {
        grid-template-columns: 1fr;
    }

    .whyus-flow-right {
        order: -1;
    }

    .whyus-flow-left {
        border-left: none;
        padding-left: 0;
    }

    .flow-dot {
        display: none;
    }
}

@media (max-width: 576px) {
    .whyus-flow-head h2 {
        font-size: 28px;
    }
}
.partner-hub {
    padding: 10px 0;
    background: linear-gradient(180deg, #f9fbff, #ffffff);
}

/* HEADING */
.partner-head {
    text-align: center;
    max-width: 750px;
    margin: 0 auto 40px;
}

.partner-head h2 {
       font-size: 30px;
    font-weight: lighter;
}

.partner-head h2 span {
    color: #6fbf4a;
}

.partner-head p {
    font-size: 15px;
    color: #555;
    margin-top: 8px;
}

/* HUB LAYOUT */
.partner-hub-wrap {
    display: grid;
    grid-template-columns: 1fr 260px 1fr;
    gap: 30px;
    align-items: center;
}

/* CENTER */
.hub-center img {
    width: 100%;
    border-radius: 50%;
    border: 6px solid #eaf6e4;
    box-shadow: 0 18px 45px rgba(0,0,0,0.18);
}

/* SIDES */
.hub-side {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* SERVICE ITEM */
.hub-item {
    background: #ffffff;
    padding: 14px 18px;
    border-radius: 30px;
    box-shadow: 0 8px 22px rgba(0,0,0,0.08);
    position: relative;
}

.hub-item h4 {
    font-size: 15.5px;
    margin-bottom: 2px;
}

.hub-item span {
    font-size: 13px;
    color: #666;
}

/* LEFT / RIGHT ALIGN */
.hub-side.left .hub-item {
    text-align: right;
}

.hub-side.right .hub-item {
    text-align: left;
}

/* HOVER MAGIC */
.hub-item:hover {
    background: linear-gradient(90deg, #7ac142, #6bbd3e);
    color: #fff;
    transform: translateY(-4px);
    transition: 0.3s ease;
}

.hub-item:hover span {
    color: #f0ffe6;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .partner-hub-wrap {
        grid-template-columns: 1fr;
    }

    .hub-side.left,
    .hub-side.right {
        align-items: center;
        text-align: center;
    }
}

@media (max-width: 576px) {
    .partner-head h2 {
        font-size: 30px;
    }
}
