/**
 * Theme Name:     Hello Elementor Child
 * Author:         Elementor Team
 * Template:       hello-elementor
 * Text Domain:	   hello-elementor-child
 * Description:    Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
 */
/* Default hidden sidebar on mobile */
.left_side_bar_filters {
  transition: transform 0.3s ease;
}

/* Hamburger Button (mobile only, not sticky) */
.mobile-filter-toggle {
  display: none;
  background: #333;
  color: #fff;
  border: none;
  font-size: 20px;
  padding: 10px 16px;
  border-radius: 4px;
  margin: 10px;
}

/* Close Button inside Sidebar */
.left_side_bar_filters .close-sidebar {
  display: none;
  font-size: 24px;
  background: none;
  border: none;
  color: #000;
  padding: 10px;
  cursor: pointer;
  float: right;
}

.safari-filters-section select{
	font-family: 'Helvetica Neue';
}

.return_thumbnail_carousel .eae-thumb-container.swiper {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    max-width: 500px;
    bottom: 80px;
}
.return_thumbnail_carousel .eae-slide-content .eae-slide-button{
    display: none !important;
}
.return_thumbnail_carousel .eae-thumb-container.swiper .swiper-slide {
    border: 2px solid #fff;
}
.thumb_slider_content {
    position: absolute;
    left: calc((100% - 1300px) / 2);
    top: 50%;
    transform: translateY(-50%);
    width: auto !important;
    z-index: 6;
    max-width: 500px;
}
.return_carousel_outer{
    position: relative !important;
}

@media (max-width: 1300px) {
    .thumb_slider_content {
        left: 20px;
    }
}

/* Mobile-specific styles */
@media (max-width: 768px) {
  .mobile-filter-toggle {
    display: inline-block;
  }
.left_side_bar_filters.active {
    overflow-y: scroll !important;
    height: 360px;
}
  .left_side_bar_filters {
    position: fixed;
    top: 0;
    left: 0;
    width: 80%;
    max-width: 300px;
    height: 100%;
    background: #fff;
    overflow-y: auto;
    transform: translateX(-100%);
    z-index: 1000;
    padding: 20px;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2);
  }

  .left_side_bar_filters.active {
    transform: translateX(0);
  }

  .left_side_bar_filters .close-sidebar {
    display: block;
  }
  .thumb_slider_content {
    width: calc(100% - 40px) !important;
}
}

@media (max-width: 576px){
    .return_thumbnail_carousel .eae-thumb-container.swiper {
        max-width: calc(100% - 40px) !important;
    }
}


.banner-CTA {
    display: flex;
    justify-content: space-between;
    /* align-items: center; */
}
#exploreAfricaBanner *{
	    font-family: 'Playfair Display', serif !important;
}

.sort-row label {
    white-space: nowrap;
}
.description_div_in_lodge{
display: flex;
    gap: 10px;
    font-family: "Helvetica Neue", sans-serif;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    align-items: baseline;
    color: #fff;
    margin: 15px 15px 15px 15px;
}


/* =========================================================
GLOBAL
========================================================= */

body{
    background:#FBF7EF;
    color:#3D3020;
    font-family:sans-serif;
}

.container{
    max-width:1200px;
    margin:auto;
    padding:0 20px;
}

/* =========================================================
LAYOUT
========================================================= */

.listing-layout{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:30px;
    padding:50px 0;
}

@media(max-width:991px){

    .listing-layout{
        grid-template-columns:1fr;
    }
}

/* =========================================================
SIDEBAR
========================================================= */

.filter-card{
    background:#fff;
    border-radius:10px;
    border:1px solid #ddd;
    overflow:hidden;
    position:sticky;
    top:20px;
}

.filter-card-head{
    background:#2D2416;
    color:#fff;
    padding:18px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.filter-card-head h3{
    color:#fff;
    margin:0;
    font-size:14px;
    text-transform:uppercase;
}

.filter-card-head a{
    color:#fff;
    font-size:12px;
}

.filter-body{
    padding:20px;
}

.fgroup{
    margin-bottom:25px;
}

.fgroup-title{
    font-size:11px;
    font-weight:700;
    margin-bottom:12px;
    text-transform:uppercase;
    color:#777;
}

.fitem{
    display:flex;
    margin-bottom:12px;
}

.fitem-left{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:14px;
}

.fitem input{
    width:16px;
    height:16px;
    accent-color:#C8761A;
}

.range-labels{
    display:flex;
    justify-content:space-between;
    margin-bottom:10px;
}

.apply-btn{
    width:100%;
    padding:14px;
    border:none;
    background:#C8761A;
    color:#fff;
    cursor:pointer;
    border-radius:6px;
}

/* =========================================================
CARD
========================================================= */

.safari-card-custom{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    border:1px solid #ddd;
    display:grid;
    grid-template-columns:340px 1fr;
    margin-bottom:25px;
}

@media(max-width:991px){

    .safari-card-custom{
        grid-template-columns:1fr;
    }
}

.card-img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    min-height:320px;
}

.card-body{
    padding:25px;
}

.card-meta{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:15px;
}

.tag,
.days-tag{
    background:#f3f3f3;
    padding:6px 12px;
    border-radius:30px;
    font-size:12px;
}

.card-body h3{
    font-size:30px;
    margin-bottom:12px;
}

.desc{
    color:#666;
    line-height:1.7;
}

.card-footer{
    margin-top:25px;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
}

.card-price .amount{
    font-size:34px;
    font-weight:700;
    color:#C8761A;
}
.card-price .amount span{
  font-size:14px;
}

.card-info-row{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:10px;
    font-size:17px;
}

/* =========================================================
BUTTON
========================================================= */

.btn{
    display:inline-block;
    padding:12px 22px;
    background:#C8761A;
    color:#fff;
    border-radius:6px;
    text-decoration:none;
}

/* =========================================================
PAGINATION
========================================================= */
/* =========================================================
PAGINATION
========================================================= */

.pagination{
    margin-top:50px;
}

.pagination ul{
    display:flex;
    align-items:center;
    gap:10px;
    list-style:none;
    padding:0;
    margin:0;
    flex-wrap:wrap;
}

.pagination li{
    margin:0;
}

.pagination a,
.pagination span{
    min-width:48px;
    height:48px;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    border:1px solid #ddd;
    background:#fff;
    color:#222;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    transition:.3s ease;
}

.pagination a:hover{
    background:#C8761A;
    color:#fff;
    border-color:#C8761A;
}

.pagination .current{
    background:#C8761A;
    color:#fff;
    border-color:#C8761A;
}

.pagination .dots{
    border:none;
    background:transparent;
    min-width:auto;
    padding:0 5px;
}

.pagination .prev,
.pagination .next{
    width:auto;
    padding:0 18px;
}

/* DISABLED BUTTON */

.pagination .disabled,
.pagination .disabled span{
    opacity:.45;
    pointer-events:none;
    cursor:not-allowed;
}
.top-layer{
z-index: 99999;position: relative;
}

