 body.dark-theme h1,
 body.dark-theme h2,
 body.dark-theme h3,
 body.dark-theme h4,
 body.dark-theme h5,
 body.dark-theme h6 {
     color: #fff !important;

 }

 html,
 input,
 select,
 button {
     font-family: "Merriweather", serif;
     font-weight: 400;
     font-style: normal;
     font-size: 16px;
     color: #212121;
 }

 a.button {
     display: flex;
     justify-content: center;
     align-items: center;
     width: auto;
     margin: 0 auto;
     font-family: "Merriweather", serif;

 }

 .main-bg {
     background: #000
 }

 .thumb-btn a {
     display: flex;
     justify-content: center;
     align-items: center;
     width: auto;
     margin: 0 auto;
     height: 2rem;
     padding: 0 30px;
     font-size: 14px
 }

 .thumb-btn {
     position: absolute;
     bottom: 15px;
     width: 100%;
     display: flex;
     justify-content: space-between;
 }

 .thumb-content .w-full {
     height: 210px;
 }

 .thumb-content .w-full h4 {
     line-height: 1.5rem;
     height: 55px;
     overflow: hidden;
     font-size: 1.1rem;
 }

 .content-section p {
     font-size: 14px;
 }

 button.green-btn {
     background: transparent;
     color: #287f7b;
     font-size: 14px;
     cursor: pointer;
     border: none;
     margin: 10px 0 5px 0
 }



 .thumb-content {
     position: relative;
     min-width: 231px !important
 }

 .alert {
     border: 2px solid #941619 !important;

 }

 input.alert::placeholder {
     color: #941619 !important
 }

 .logo {
     display: flex;
     position: relative;
     justify-content: center;
     align-items: center;
 }

 .logo h4 {

     font-size: 3rem;
     margin-left: 10px;
     font-weight: 800;
     font-family: "Merriweather", serif;
     color: #287f7b;
     text-align: left;
 }


 .error-msg {
     background: rgba(0, 0, 0, 0.9);
     width: 100%;
     height: 100%;
     z-index: 1000;
     font-size: 25px;
     color: #fff;
     justify-content: center;
     align-items: center;
     position: absolute
 }

 .error-msg-text {
     width: 100%;
     padding: 20px;
     text-align: center;
     color: #941619;
     font-size: 20px;
     position: absolute;
 }

 .list-view {
     position: relative;
 }

 .leaflet-popup-content {
     margin: 0 !important;
     width: 230px !important
 }

 .leaflet-popup-content .thumb-content .w-full {
     height: auto;
     color: #287f7b
 }

 .leaflet-popup-content .thumb-content .w-full.pri-image {
     max-height: 150px;
     flex-direction: column;
     display: flex;
     padding: 10px;
     overflow: hidden;
     margin-bottom: 10px;

 }

 .leaflet-popup-close-button span {
     font-size: 20px
 }

 .leaflet-popup-content .thumb-content .w-full h4 {
     height: auto;
     font-size: 1.2rem;
     line-height: 1.5rem;
 }

 .leaflet-popup-content .w-full p {
     margin: 0
 }

 .leaflet-popup-content .thumb-content .w-full h3 {
     font-size: 1rem;
     padding: 10px 0 0 0;
     margin-bottom: 5px;
     line-height: 1.1rem;
 }


 .leaflet-container a {
     color: #fff
 }

 .leaflet-popup-content .thumb-btn {
     margin-bottom: 10px;
     position: relative;
     bottom: 0;
     height: 2rem;
 }

 .leaflet-popup-content a.button {
     height: 2rem;

 }

 .map-box {
     box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
     margin-top: 10px;
     width: 100%;
     position: relative;
     height: 500px;
 }

 .search-header {
     position: relative;
 }

 .search-btn {
     box-shadow: 0 6px 10px rgba(0, 0, 0, 0.25)
 }


 /* added */

 .custom-div-icon {
     position: relative;
     display: flex;
     flex-direction: column;
     align-items: center;
 }

 .marker-icon {
     width: 26px;
     /* Adjust the size of the marker */
     height: 40px;
 }

 .price-label {
     background-color: #ffffff;
     color: #333;
     padding: 5px 8px;
     border-radius: 8px;
     box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
     margin-bottom: 5px;
     font-size: 14px;
     text-align: center;
 }

 .map-price {
     font-size: 16px;
     line-height: 18px;
 }

 .price-tooltip {
     display: flex;
     justify-content: center;
     align-items: center;
     padding: 5px;
     background: #fff;
     position: absolute;
     width: 120px;
     box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
     left: calc(50% - 60px);
     top: calc(50% - 60px);
     color: #b81129;
     font-weight: bold;
 }

 .leaflet-popup {
     margin-bottom: -20px
 }

 .custom-marker {
     position: relative
 }

 .price-tooltip:after {
     content: "";
     width: 0;
     height: 0;
     border-left: 10px solid transparent;
     border-right: 10px solid transparent;
     display: block;
     border-top: 10px solid #fff;
     position: absolute;
     right: 50%;
     margin-right: -10px;
     bottom: -10px;
 }

 .price-tooltip:before {
     content: "";
     width: 0;
     height: 0;
     border-left: 10px solid transparent;
     border-right: 10px solid transparent;
     display: block;
     border-top: 10px solid rgba(0, 0, 0, 0.3);
     position: absolute;
     right: 50%;
     margin-right: -10px;
     bottom: -12px;
     z-index: -1;
 }

 .custom-marker img {
     position: relative;
     z-index: -1;
 }

 .marker-cluster-medium div,
 .marker-cluster-small div {
     background: #941619;
     color: #fff;
 }

 h4.hotel-name {
     padding: 0 5px
 }

 .header {
     position: relative;
     padding-bottom: 20px
 }

 .header h3 {
     font-size: 30px;
     position: absolute;
     right: 0;
     color: #287f7b
 }

 .leaflet-container a.leaflet-control-zoom-in,
 .leaflet-container a.leaflet-control-zoom-out {
     background: #287f7b
 }

 .w-100 {
     width: 100%;


 }

 .w-30 {
     width: 30%;

 }




 .popular-hotels {
     margin: 15px;

     padding: 10px;
     border: 2px solid #f0f0f0;
 }

 .hide {
     display: none !important
 }

 .item a.hotel-list {
     display: flex;
     position: relative;
     justify-items: start;
     list-style: none;
     padding: 10px;
     box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
     margin: 5px 0 5px 5px;
 }

 .item a.hotel-list h4 {
     font-size: 14px;
     font-weight: 700;
     font-family: Merriweather, serif;
     margin-bottom: 8px;
     line-height: 22px;
 }

 .owl-dots {
     display: none
 }

 .popular-hotels .hotel-img {
     width: 120px;
     height: 120px;
     overflow: hidden;
     float: left;
     margin-right: 10px;
     flex-shrink: 0;
 }

 .hotel-info {
     flex-grow: 1;
     width: auto;

 }

 p.show-on-map {
     text-decoration: underline;
     cursor: pointer;
 }



 .hotel-info p {
     font-size: 14px;
     font-family: Merriweather, serif;
     word-break: break-word;
     -webkit-hyphens: auto;
     -ms-hyphens: auto;
     hyphens: auto;
     overflow-wrap: break-word;

 }

 .popular-hotels .hotel-img img {
     width: 100%;
     height: 100%
 }

 .center-map {
     cursor: pointer;
     z-index: 9999;
     padding: 5px;
     opacity: 0.9;
     position: relative;
     width: 50px;
     height: 50px;
     display: flex;
     justify-content: center;
     align-items: start;
 }

 .center-map button {
     z-index: 999999;
     opacity: 1;
     position: relative;
     transform: rotate(-10deg);

 }


 .search-on-map i {
     font-size: 26px;
 }

 .thumb-content h3 {
     font-size: 1.2rem;
     padding-top: 5px;
 }

 .load-more-btn {
     padding: 10px 30px;
     margin-top: 20px;
     border: 1px solid #287f7b;
     background: #fff;
     color: #287f7b;
     border-radius: 20px;
 }

 .load-more {
     text-align: center;
     display: flex;
     justify-content: center;
 }

 .my-location .leaflet-popup-content {
     width: auto !important;
     padding: 15px;
     text-align: center;
     color: #941619
 }

 .map-box {
     display: flex;
     justify-content: center;
     align-items: center;

 }

 .center-map:after {
     content: 'around';
     position: absolute;
     font-size: 12px;
     color: #fff;
     left: 6px;
     bottom: 6px;

 }

 .price-filter {
     padding: 20px;
     background: #f2f2f2;
     box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
     border-radius: 5px;
     display: flex;
     justify-content: center;
     align-items: center;
     margin-top: 20px;
 }

 .fliter-field {
     padding: 8px 12px;
     border-radius: 5px;
     border: none;
     background: white;
     font-size: 0.8rem;
     transition: all 0.3s ease;
     cursor: pointer;
 }

 .price-filter label {
     font-size: 14px;
     color: #565656
 }

 .price-filter button {
     height: 34px;
     border-radius: 5px;
     font-size: 14px;
 }

 .section .hotel-count,
 h3.hotel-count {
     color: #565656;
     font-family: Merriweather, serif;
     font-size: 14px !important;
 }

 h3.hotel-count {
     margin-top: 15px;
     margin-bottom: 0px
 }



 .owl-carousel .owl-wrapper:after {
     content: ".";
     display: block;
     clear: both;
     visibility: hidden;
     line-height: 0;
     height: 0;
 }

 /* display none until init */
 .owl-carousel {
     display: none;
     position: relative;
     width: 100%;
     -ms-touch-action: pan-y;
 }

 .owl-carousel .owl-wrapper {
     display: none;
     position: relative;
     -webkit-transform: translate3d(0px, 0px, 0px);
 }

 .owl-carousel .owl-wrapper-outer {
     overflow: hidden;
     position: relative;
     width: 100%;
 }

 .owl-carousel .owl-wrapper-outer.autoHeight {
     -webkit-transition: height 500ms ease-in-out;
     -moz-transition: height 500ms ease-in-out;
     -ms-transition: height 500ms ease-in-out;
     -o-transition: height 500ms ease-in-out;
     transition: height 500ms ease-in-out;
 }

 .owl-carousel .owl-item {
     float: left;
 }

 .owl-controls .owl-page,
 .owl-controls .owl-buttons div {
     cursor: pointer;
 }

 .owl-controls {
     -webkit-user-select: none;
     -khtml-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
     user-select: none;
     -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 }


 .grabbing {
     cursor: url(grabbing.png) 8 8, move;
 }


 .owl-carousel .owl-wrapper,
 .owl-carousel .owl-item {
     -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
     -ms-backface-visibility: hidden;
     -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
     -ms-transform: translate3d(0, 0, 0);
 }

 .assocition-section {
     padding: 40px 0;
     background: #f0f0f0;
     margin: 0
 }

 .assocition-section h2 {
     font-size: 2.2rem;
     margin-bottom: 20px;
     text-align: center;
     font-weight: normal;
     color: #111;
     line-height: 1.5;
 }

 .associations .item {
     background: #fff;
     padding: 10px;
     border-radius: 8px;
     box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
     margin: 0 5px;
     height: 185px;
     display: flex;
     justify-content: center;
     align-items: center;

 }

 .associations .item a {
     display: flex;

     height: 100%;

     width: 100%;

     justify-content: center;

     align-items: center;

     text-decoration: none;

 }

 .associations .item img {
     height: 80%;
     object-fit: contain;
     max-width: 100%;
 }

 footer p {
     font-size: 12px
 }

 footer p a {
     font-size: 12px;
     text-decoration: underline;

 }

 footer p a:hover {
     text-decoration: none !important;
 }

 .footer-p {
     padding-bottom: 5px;
 }

 .custom-box {
     box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
     width: 100%;
     text-align: center;
     padding: 15px 0;
     display: flex;
     justify-content: center;
     align-items: center;
     flex-wrap: wrap;
     background: #287f7b
 }

 .custom-box h1,
 .search-title h1 {
     font-size: 30px;
     font-family: "Merriweather",
         serif;
     color: #fff;
     text-align: center;
 }

 .demo-btn {
     background: linear-gradient(135deg, #e73b3f 0%, #811c20 100%);
     border-radius: 5px;
     padding: 8px 25px;
     font-size: 18px;
     color: #fff;
     margin-left: 10px;
 }

 .container-max {
     max-width: 1320px;
     margin-left: auto;
     margin-right: auto;
     width: 100%;
     padding: 0 10px;
 }

 /* loader */


 .loader-overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.7);
     display: none;
     justify-content: center;
     align-items: center;
     z-index: 99999;
     backdrop-filter: blur(3px);
 }

 .loader-overlay.active {
     display: flex;
 }

 .loader-spinner {
     width: 80px;
     height: 80px;
     border: 5px solid #ffffff;
     border-top: 5px solid #2c3e66;
     border-radius: 50%;
     animation: spin 0.8s linear infinite;
 }

 .content-section h3 {
     font-size: 20px !important;
     margin-bottom: 15px !important
 }

 #map {
     height: 500px;
     width: 100%;
     position: relative;
 }

 .custom-marker {
     position: relative;
     cursor: pointer;
 }

 .price-tooltip {
     position: absolute;
     bottom: 100%;
     left: 50%;
     transform: translateX(-50%);
     background: rgba(0, 0, 0, 0.8);
     color: white;
     padding: 2px 6px;
     border-radius: 4px;
     font-size: 11px;
     white-space: nowrap;
     margin-bottom: 4px;
 }

 .full-width {
     width: 100% !important
 }



 @keyframes spin {
     0% {
         transform: rotate(0deg);
     }

     100% {
         transform: rotate(360deg);
     }
 }

 /* Hide loader by default */
 .loader-overlay.hidden {
     display: none;
 }


 /* added for destination section */

 .section {
     width: 100%;
     padding: 10px;
 }

 .grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
     gap: 20px;
 }

 .section {
     width: 100%;
     max-width: 100%;

     margin: 0 auto;
     box-sizing: border-box;

     padding: 20px;
 }

 .section h3 {
     margin-bottom: 10px;
     font-size: 24px;
     font-family: 'Merriweather', serif;

 }

 .section p.subtitle {
     margin-bottom: 30px;
     color: #666;
 }

 .card {
     height: 180px;
     border-radius: 14px;
     overflow: hidden;
     position: relative;
     color: #fff;
     cursor: pointer;
     border: 1px solid #dfdfdf;
     background: white;
 }

 .card img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: 0.3s;
 }

 .overlay {
     position: absolute;
     bottom: 0;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
     padding: 12px;
     width: 100%;
     display: flex;
     flex-direction: column;
     justify-content: flex-end;
     top: 0;
     left: 0;
     right: 0
 }

 .overlay h4 {
     font-size: 15px;
     margin-bottom: 5px;
     color: #fff;
 }

 .overlay small {
     font-size: 12px;
     opacity: 0.9;
     color: #fff;
 }

 .overlay p {
     font-size: 12px;
     opacity: 0.8;
     color: #fff;
     margin-top: 5px;
 }

 .content-section {
     padding: 15px;
 }

 .assocition-section {
     padding-left: 2rem;
     padding-right: 2rem;
 }

 .filter-toggle-btn {
     display: none
 }

 /* Optional: better padding for larger screens */
 @media (min-width: 768px) {
     .section {
         padding: 40px;


     }


 }

 @media (min-width: 1200px) {
     .section {
         padding: 60px;

     }
 }


 @media (max-width: 1366px) {

     .map-box,
     .price-filter {
         width: 98%;
         margin: 0 auto
     }

     .hotel-count {
         margin-bottom: 10px;
         padding: 10px 0;
         margin: 0 1%;
     }

     .filter-grid {
         grid-template-columns: repeat(auto-fit, minmax(50%, 1fr)) !important;
     }

     assocition-section h2 {
         font-size: 24px;
     }

 }

 @media (max-width: 991px) {
     .price-filter {
         padding: 12px;
         flex-direction: column;
     }

     .price-filter>div {
         width: 100%;
         display: flex;
         justify-content: start;
         align-items: center;
         margin-bottom: 5px;

     }



     .price-filter>div button {
         margin-left: 15%
     }

     .assocition-section {
         padding-left: 1rem;
         padding-right: 1rem;
     }

     .inner-section {
         padding: 10px 0 0 0 !important
     }

     .category-bar,
     .province-bar {
         margin: 10px 0 0 0 !important
     }

     button.category-btn,
     button.province-btn {

         height: 35px !important;
         font-size: 12px;
         padding: 5px 10px !important
     }

     .category-bar,
     .province-bar {
         gap: 5px !important
     }

     .filter-destination {
         position: fixed;
         top: 122px;
         left: 0;
         right: 0;
         background: white;
         z-index: 9999;
         padding: 12px 10px;
         box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
         box-sizing: border-box;
         transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
         max-height: 500px;
         overflow: hidden;
         opacity: 1;
         transform: translateY(0);

     }


     .destinations-section {
         padding-top: 140px;
     }


     .category-bar,
     .province-bar {
         padding-bottom: 5px;
         scrollbar-width: thin;
         -webkit-overflow-scrolling: touch;
     }


     .category-bar::-webkit-scrollbar,
     .province-bar::-webkit-scrollbar {
         height: 3px;
     }

     .filter-destination-wrapper {
         position: fixed;
         top: 98px;
         /* Adjust based on your header height */
         left: 0;
         right: 0;
         background: white;
         z-index: 9999;
         box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
         box-sizing: border-box;
     }

     /* added from here */

     .filter-toggle-btn {

         width: 100%;
         padding: 12px 16px;
         background: white;
         border: none;
         display: flex;
         justify-content: center;
         align-items: center;
         cursor: pointer;
         font-size: 14px;
         font-weight: 600;
         color: #000;
         transition: background 0.3s ease;
         font-family: inherit;
         position: relative;
         z-index: 999999;
     }





     .arrow-icon {
         margin-left: 10px;
         display: inline-block;
     }

     .arrow-icon::before {
         content: "";
         display: inline-block;
         width: 8px;
         height: 8px;
         border-right: 3px solid #000;
         border-bottom: 3px solid #000;
         transform: rotate(45deg);
         position: relative;
         top: -2px;
     }

     .arrow-icon.up {
         transform: rotate(180deg);
     }

     .category-btn,
     .province-btn {
         flex-shrink: 0;
         white-space: nowrap;
     }

     /* Adjust heading sizes for mobile */
     .filter-destination h3 {
         margin: 5px 0;
         font-size: 14px;
     }

     /* Smooth animation for filter content */
     .filter-destination {
         transition: all 0.3s ease;
     }

     .filter-destination.hidden {
         max-height: 0;
         opacity: 0;
         transform: translateY(-10px);
         padding: 0 16px;
         border-top: none;
         overflow: hidden;
         transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     }

     /* Optional: Add animation when showing/hiding */
     @keyframes slideDown {
         from {
             opacity: 0;
             transform: translateY(-10px);
         }

         to {
             opacity: 1;
             transform: translateY(0);
         }
     }

     .filter-destination:not(.hidden) {
         animation: slideDown 0.3s ease;
     }
 }




 @media (max-width: 640px) {

     select,
     input,
     button {
         height: 44px !important
     }

     .assocition-section h2 {
         font-size: 1.5em
     }

     button.category-btn {

         height: 35px !important
     }

     .thumb-btn button {
         height: 38px !important
     }

     .p-z {
         padding-top: 0 !important
     }

     button.search-result {
         height: auto !important
     }

     .mobile-view {
         text-align: center;
     }

     .search-form.mt-6 {
         margin-top: 0
     }

     button.search-result {
         margin-top: 10px;
     }

     button.search-result {
         color: #fff;
         font-size: 25px;
     }

     .logo {
         width: 98%;
     }

     .popular-hotels {
         margin-bottom: 10px;
     }

     .center-map button {
         height: auto !important;
     }

     .logo h4 {
         font-size: 1.5rem;
     }

     .custom-box h1,
     .search-title h1 {
         width: 100%;
         margin-bottom: 10px;
         font-size: 20px;
     }

     .search-title h1 {
         padding: 5px 0
     }

 }

 @media (max-width: 480px) {
     .text-4xl {
         font-size: 1.5rem;
     }

     .list-view {
         margin-top: 0
     }

     .pt-8 {
         padding-top: 1rem
     }

     .map-box {
         height: 370px;
     }

     .mobile-view .mt-5 {
         margin-top: 10px
     }

     .mobile-view .pb-3 {
         padding-bottom: 0
     }

     .filter-toggle-btn {
         padding: 5px 16px;
         font-size: 12px;
     }

     .p-mobile {
         padding: 0.6rem;
         margin-bottom: 10px !important;
     }

     /* .search-form {
         opacity: 0;
         max-height: 0;
         overflow: hidden;
         transition: max-height 0.5s ease, opacity 1.5s ease;

     } */

     .item a.hotel-list {
         margin-right: 5px;
     }

     .header {
         padding-bottom: 10px;
     }

     .map-box,
     .price-filter {
         margin: 0 5px 20px 5px;
         width: auto;
     }

     .thumb-content .w-full {
         height: auto
     }

     .thumb-btn {
         position: relative;
     }

     .thumb-content .w-full.h-56 {
         height: 300px;

     }

     .thumb-content .w-full,
     .thumb-content .w-full h4 {
         height: auto
     }

     input.fliter-field,
     .price-filter>div button {
         height: 34px !important
     }

     .hotel-count {
         margin: 0 15px 0 15px;
         padding-top: 0;
     }

     .button.category-btn {
         height: 30px !important;
         font-size: 11px
     }

     .category-bar,
     .province-bar {
         gap: 3px !important
     }

     header {
         height: 55px !important;
     }



     .logo h4 {
         font-size: 1.1rem
     }


 }