@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
body {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

/* my custom styles for Google Translate */
#google_translate_element {
  display: inline-block;
}

/* Main Button */
.goog-te-gadget-simple {
  background: transparent !important;
  border: 1px solid var(--themeblack) !important;
  color: var(--themeblack) !important;
  padding: 8px 15px 12px !important;
  border-radius: 30px !important;
  font-size: 14px !important;
}

.goog-te-gadget-icon {
  display: none;
}

/* Dropdown */
.goog-te-combo {
  display: none !important;
}

/* Dropdown options */
.goog-te-combo option {
  color: #000 !important;
  background: #fff !important;
}

/* Hide Google Logo */
.goog-logo-link {
  display: none !important;
}

/* Hide top banner */
.goog-te-banner-frame,
.VIpgJd-ZVi9od-ORHb-OEVmcd {
  display: none !important;
}

/* Remove body shift caused by banner */
body {
  top: 0px !important;
}

.custom-translate {
  position: relative;
  display: inline-block;
}
.custom-translate .translate-btn {
  background: transparent;
  border: 1px solid var(--themeblack);
  color: var(--themeblack);
  padding: 8px 18px;
  border-radius: 30px;
  cursor: pointer;
  font-size: 14px;
}
.custom-translate .translate-dropdown {
  display: none;
  position: absolute;
  top: 110%;
  left: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  background: #1e2a3a;
  border-radius: 6px;
  overflow: hidden;
  min-width: 160px;
  z-index: 999;
}
.custom-translate.active .translate-dropdown {
  display: block;
}
.custom-translate .translate-dropdown li {
  padding: 10px 15px;
  color: #fff;
  cursor: pointer;
}
.custom-translate .translate-dropdown li:hover {
  background: #2e3f55;
}
.custom-translate .custom-translate.active .translate-dropdown {
  display: block;
}

* {
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
  font-family: "Inter", sans-serif;
}

:root {
  --themeblack: #004a63;
  --black: #000000;
  --theme-light: #e6f2f5;
  --theme-gradient: linear-gradient(135deg, #004a63 0%, #006b8a 100%);
  --light-gray: #f8f9fa;
  --soft-white: #fafbfc;
  --neutral-bg: #fcfbfa;
  --success-green: #10b981;
}

::-webkit-scrollbar {
  width: 10px;
}

.text-danger {
  font-size: 14px;
  margin-top: 5px;
}

/* Track */
::-webkit-scrollbar-track {
  background: transparent;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--themeblack);
  border-radius: 5px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.dropdown {
  position: relative;
  display: inline-block;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 260px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  border-radius: 10px;
}

/* Links inside the dropdown */
.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {
  background-color: #f1f1f1;
}

.dropdown-content a::after {
  display: none;
}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
  display: block;
}

ul {
  padding-left: 0px;
  list-style: none;
}

a {
  text-decoration: none;
}

.commonbtn,
.borderbtn {
  padding: 12px 25px;
  border-radius: 5px;
  text-decoration: none;
  display: inline-block;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--themeblack);
  transition: transform 0.3s ease, box-shadow 0.3s ease, color 0.3s ease, background 0.3s ease;
}

/* =======================
   COMMON BUTTON
======================= */
.commonbtn {
  background: var(--themeblack);
  color: #fff;
}

.commonbtn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: translateX(-100%);
  transition: transform 0.5s ease;
}

.commonbtn:hover::before {
  transform: translateX(100%);
}

.commonbtn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

/* =======================
   BORDER BUTTON
======================= */
.borderbtn {
  background: transparent;
  border: 1px solid var(--themeblack);
  color: var(--themeblack);
  font-weight: 600;
}

.borderbtn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--themeblack);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
  z-index: -1;
}

.borderbtn:hover::before {
  transform: scaleX(1);
}

.borderbtn:hover {
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.section-title {
  font-size: 32px;
  font-family: "spartanbold", sans-serif;
  font-weight: 700;
}

.section-sub-title {
  font-size: 24px;
  font-family: "spartanbold", sans-serif;
  line-height: 46px;
}

header {
  padding: 7px 0px;
}
header .logo img {
  width: 88px;
}
header nav .nav-bottom .nav-menu li {
  padding: 0px 15px;
}
header nav .nav-bottom .nav-menu li a {
  text-transform: capitalize;
  color: #767676;
  transition: 0.2s;
  position: relative;
  text-decoration: none;
  font-weight: 600;
}
header nav .nav-bottom .nav-menu li a:is(:hover, :focus, .active) {
  color: var(--black);
}
header .bargar-menu {
  font-size: 24px;
  cursor: pointer;
}
header .commonbtn {
  background: rgb(251, 176, 59);
  border: none;
}

.fixedheader {
  position: fixed;
  top: 0;
  width: 100%;
  left: 0px;
  background: #fff;
  z-index: 10;
}

#sidebar {
  width: 300px;
  height: 100vh;
  background-color: #fff;
  position: fixed;
  top: 0;
  right: -300px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  transition: right 0.3s ease;
  z-index: 1000;
}
#sidebar a:not(.commonbtn, .borderbtn) {
  color: #000;
}
#sidebar.active {
  right: 0;
}
#sidebar .sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
}
#sidebar .sidebar-header .sidebar-logo {
  height: 40px;
}
#sidebar .sidebar-header .close-btn {
  background: none;
  border: none;
  font-size: 2.5rem;
  cursor: pointer;
}
#sidebar .sidebar-content {
  padding: 15px;
  flex: 1;
  overflow-y: auto;
}
#sidebar .sidebar-content .description {
  font-size: 0.9rem;
  margin-bottom: 20px;
  color: #555;
}
#sidebar .sidebar-content ul li {
  width: 100%;
  margin-bottom: 15px;
}
#sidebar .sidebar-content .contact-info h5 {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 10px;
}
#sidebar .sidebar-content .contact-info p {
  font-size: 0.9rem;
  margin-bottom: 10px;
}
#sidebar .sidebar-content .contact-info p i {
  margin-right: 8px;
  color: #555;
}
#sidebar .sidebar-content .map {
  margin: 20px 0;
}
#sidebar .sidebar-content .map iframe {
  border-radius: 12px;
  width: 100%;
}
#sidebar .sidebar-content .social-icons {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin: 20px 0;
}
#sidebar .sidebar-content .social-icons a {
  color: #333;
  font-size: 1.2rem;
  transition: color 0.3s ease;
}
#sidebar .sidebar-content .social-icons a:hover {
  color: #f0ad4e;
}

.banner {
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.5137254902), rgba(0, 0, 0, 0.437254902) 30%), url(../images/banner.webp);
  background-size: cover;
  background-position: center;
  position: relative;
}
.banner > .container {
  color: #fff;
  padding: 80px 0px;
}
.banner > .container .breadcum li a {
  color: #fff;
}
.banner > .container .breadcum li:last-child a {
  font-weight: bold;
}
.banner > .container .banner-left h1 {
  font-size: 55px;
  line-height: 60px;
  font-weight: 800;
}
.banner > .container .banner-left p {
  font-size: 16px;
  font-weight: 500;
}
.banner > .container .banner-left .borderbtn {
  color: #fff;
  border: 1px solid #fff;
}

.contact-form-card {
  background: #ffffff;
  padding: 15px;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}
.contact-form-card h2 {
  font-weight: 400;
  font-size: 20px;
  color: #505050;
}
.contact-form-card p {
  line-height: 1.5;
}
.contact-form-card .form-control {
  font-size: 13px;
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid #ddd;
}
.contact-form-card .form-control:focus {
  box-shadow: none;
  border-color: #0a4a60;
}
.contact-form-card .iti.iti--allow-dropdown {
  width: 100%;
}
.contact-form-card .iti.iti--allow-dropdown input {
  padding-left: 50px;
}
.contact-form-card textarea {
  resize: none;
}

/* Responsive */
@media (max-width: 991px) {
  .contact-form-card {
    max-width: 100%;
    margin-top: 2rem;
  }
}
.about-section {
  background: url(../images/about-bg.webp) no-repeat;
  background-position: bottom right;
  position: relative;
  /* LEFT CONTENT */
}
.about-section .section-tag {
  font-size: 13px;
  font-weight: 600;
  color: #149ad2;
  text-transform: uppercase;
}
.about-section .title-underline {
  width: 130px;
  height: 4px;
  background: #149ad2;
  margin-top: 12px;
}
.about-section .section-desc {
  font-size: 14px;
  line-height: 1.8;
  color: #666;
}
.about-section {
  /* RIGHT IMAGE GROUP */
}
.about-section .image-main {
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
}
.about-section .image-main img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.why-choose-section {
  background: #f7f7f7;
}
.why-choose-section .section-heading {
  font-weight: 600;
}
.why-choose-section .why-card {
  background: #ffffff;
  padding: 2.2rem 1.8rem;
  border-radius: 10px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  height: 100%;
}
.why-choose-section .why-card h3 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0.75rem;
}
.why-choose-section .why-card p {
  font-size: 14px;
  line-height: 1.7;
  color: #666;
  margin-bottom: 0;
}
.why-choose-section .icon-circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #e9f7ff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}
.why-choose-section .icon-circle i {
  font-size: 22px;
  color: #0a4a60;
}

.hotel-service-section {
  background: #ffffff;
  padding: 25px 0px;
}
.hotel-service-section .hotel-slider-wrapper {
  position: relative;
  overflow: hidden;
}
.hotel-service-section .section-title {
  margin-bottom: 0px;
}
.hotel-service-section .service-desc {
  font-size: 14px;
  font-weight: 400;
  color: #666;
  margin: 15px 0px;
}
.hotel-service-section .left_slider {
  width: 45%;
}
.hotel-service-section .right_content {
  width: 55%;
  padding: 0px 40px;
}
.hotel-service-section .right_content ul {
  padding-left: 2rem;
}
.hotel-service-section .right_content ul li {
  list-style: disc !important;
  font-size: 14px;
  font-weight: 400;
  color: #666;
}
.hotel-service-section {
  /* Swiper */
}
.hotel-service-section .hotelSwiper {
  width: 100%;
  height: 100%;
}
.hotel-service-section .hotelSwiper .swiper-slide img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.hotel-service-section {
  /* Pagination Dots */
}
.hotel-service-section .hotelSwiper .swiper-pagination {
  bottom: 15px !important;
}
.hotel-service-section .hotelSwiper .swiper-pagination-bullet {
  width: 20px;
  height: 20px;
  background: #d9d9d9;
  opacity: 1;
  margin: 0 5px !important;
}
.hotel-service-section .hotelSwiper .swiper-pagination-bullet-active {
  background: #ffffff;
}

.holiday-section .holiday-main-card {
  background: url("../images/holiday-main.webp");
  height: 100%;
  background-size: cover;
  display: flex;
  align-items: center;
  padding: 40px;
}
.holiday-section .holiday-main-card > a {
  width: 100%;
}
.holiday-section .holiday-main-card * {
  color: #ffffff;
}
.holiday-section .holiday-main-card .section-title {
  font-weight: 700;
}
.holiday-section .holiday-main-card .borderbtn {
  border: 1px solid #fff;
  margin-top: 20px;
}
.holiday-section .holiday-grid .grid-item {
  padding: 5px;
  margin-top: 5px;
}
.holiday-section .holiday-grid .grid-item img {
  width: 100%;
}

.faQ * {
  border: none;
}
.faQ .accordion-button:not(.collapsed) {
  background: transparent;
}
.faQ .accordion-button:focus {
  box-shadow: none;
}

.reviews-section {
  background: #fff;
}
.reviews-section .reviews-subtitle {
  font-size: 14px;
  color: #666;
  max-width: 700px;
  margin: 0 auto;
}
.reviews-section .section-title {
  font-weight: 700;
}
.reviews-section .review-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 1.8rem;
  height: 100%;
}
.reviews-section .review-stars {
  color: #d4af37;
  margin-bottom: 0.75rem;
}
.reviews-section .review-stars i {
  margin-right: 2px;
}
.reviews-section .review-text {
  font-size: 14px;
  line-height: 1.7;
  color: #333;
  margin-bottom: 1.2rem;
}
.reviews-section .review-user {
  display: flex;
  align-items: center;
  gap: 10px;
}
.reviews-section .review-user i {
  background: #0a4a60;
  padding: 12px;
  border-radius: 50px;
  color: #fff;
}
.reviews-section .review-user img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.reviews-section .review-user span {
  font-size: 14px;
  margin-bottom: 2px;
}

.map-contact-section {
  position: relative;
  width: 100%;
  padding: 40px 0px;
}
.map-contact-section * {
  text-align: left;
}
.map-contact-section .map-wrapper {
  position: relative;
}
.map-contact-section .map-wrapper iframe {
  width: 100%;
  height: 560px;
  border: 0;
}
.map-contact-section .map-wrapper .contact-form-card {
  position: absolute;
  top: 40px;
  right: 120px;
  width: 40%;
  background: #fff;
  padding: 25px 30px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  z-index: 2;
}
.map-contact-section .map-wrapper .contact-form-card h3 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}
.map-contact-section .map-wrapper .contact-form-card p {
  font-size: 13px;
  color: #555;
  margin-bottom: 20px;
}
.map-contact-section .map-wrapper .contact-form-card .form-control {
  height: 48px;
  border-radius: 6px;
  font-size: 14px;
}
.map-contact-section .map-wrapper .contact-form-card .iti.iti--allow-dropdown {
  width: 100%;
}
.map-contact-section .map-wrapper .contact-form-card textarea.form-control {
  height: auto;
  padding-top: 12px;
}
.map-contact-section .map-wrapper .contact-form-card .btn {
  color: #f1f1f1;
}
.map-contact-section {
  /* Responsive */
}
@media (max-width: 991px) {
  .map-contact-section .map-wrapper .contact-form-card {
    position: relative;
    width: 95%;
    left: 2.5%;
    top: 0;
    margin-top: 20px;
  }
}

.gallery-section {
  background: #fff;
}
.gallery-section .gallery-subtitle {
  font-size: 14px;
  color: #666;
}
.gallery-section > .container .d-flex.justify-content-between.align-items-center {
  flex-wrap: wrap;
}
.gallery-section .gallery-follow-btn {
  background: #d7b89a;
  color: #000;
  padding: 6px 14px;
  font-size: 13px;
  border-radius: 4px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.gallery-section {
  /* Slider */
}
.gallery-section .gallery-slider-wrapper {
  position: relative;
}
.gallery-section .gallerySwiper {
  padding: 5px 0;
}
.gallery-section .gallerySwiper .swiper-slide {
  border-radius: 14px;
  overflow: hidden;
}
.gallerySwiper .swiper-slide a {
  display:block;
  position:relative;
  overflow:hidden;
}
.gallery-section .gallerySwiper .swiper-slide img {
  width: 100%;
  height: 320px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition:0.4s ease;
}
.gallerySwiper .swiper-slide:hover img {
  transform:scale(1.08);
}
.gallery-section {
  /* Navigation Buttons */
}
.gallery-section .gallery-nav {
  width: 44px;
  height: 44px;
  background: #0a4a60;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  cursor: pointer;
}
.gallery-section .gallery-prev {
  left: -22px;
}
.gallery-section .gallery-next {
  right: -22px;
}

.hotel-service-gallery .holiday-main-card {
  background: unset;
  padding: 0px;
}
.hotel-service-gallery .holiday-grid {
  height: 100%;
}
.hotel-service-gallery .holiday-grid .grid-item img {
  height: 100%;
}
.hotel-service-gallery .show-photos-btn {
  position: absolute;
  bottom: 16px;
  right: 30px;
  background: #ffffff;
  border: 1.5px solid #101828;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 10px;
  display: flex;
  align-items: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  z-index: 2;
}
.hotel-service-gallery .show-photos-btn i {
  font-size: 14px;
}
.hotel-service-gallery .show-photos-btn:hover {
  background: #f8f9fa;
  transform: translateY(-2px);
}

.dream-banner {
  position: relative;
  border-radius: 18px;
  padding: 60px;
  min-height: 280px;
  display: flex;
  align-items: center;
  overflow: hidden;
  /* Background image + overlay */
  background: linear-gradient(45deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(0, 0, 0, 0) 100%), url("../images/dream-journey.webp");
  background-size: cover;
  background-position: center;
  /* Content */
}
.dream-banner .banner-content {
  max-width: 750px;
  color: #fff;
}
.dream-banner .banner-content h2 {
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 12px;
}
.dream-banner .banner-content p {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 10px;
  opacity: 0.95;
}
.dream-banner .banner-content ul, .dream-banner .banner-content ul ol {
  padding-left: 2rem;
  margin-bottom: 10px;
}
.dream-banner .banner-content ul li {
  list-style: disc !important;
  padding-bottom: 5px;
}
.dream-banner .banner-content ul li ol li {
  list-style: decimal !important;
}

.site-footer {
  background: #064e63;
  padding: 80px 0 30px;
  color: #ffffff;
}
.site-footer a {
  color: #ffffff;
  text-decoration: none;
  transition: 0.3s;
}
.site-footer a:hover {
  color: #a6b800;
}
.site-footer .footer-logo img {
  max-width: 180px;
}
.site-footer .footer-desc {
  font-size: 14px;
  line-height: 1.8;
  opacity: 0.9;
}
.site-footer .footer-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 20px;
  text-transform: uppercase;
}
.site-footer .footer-links li {
  margin-bottom: 10px;
  font-size: 14px;
}
.site-footer .footer-contact li {
  display: flex;
  gap: 10px;
  font-size: 14px;
  margin-bottom: 15px;
  line-height: 1.6;
  align-items: center;
}
.site-footer .footer-contact li i {
  color: #a6b800;
  min-width: 30px;
  height: 30px;
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 2px solid #ffffff;
  font-size: 12px;
  margin-top: 3px;
  text-align: center;
  line-height: 25px;
}
.site-footer .footer-social li {
  list-style: none;
}
.site-footer .footer-social li a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #a6b800;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.site-footer .footer-social li a:hover {
  background: #a6b800;
  color: #064e63;
}
.site-footer .footer-divider {
  border-color: rgba(255, 255, 255, 0.2);
  margin: 40px 0 20px;
}
.site-footer .footer-copy {
  font-size: 13px;
  opacity: 0.85;
}
.site-footer .back-to-top {
  margin-top: 25px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.site-footer .back-to-top button {
  width: 30px;
  height: 50px;
  border-radius: 25px;
  background: #a6b800;
  color: #ffffff;
  border: 1px solid #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: 0.3s;
}
.site-footer .back-to-top button:hover {
  transform: translateY(-3px);
}
.site-footer .back-to-top span {
  font-size: 13px;
  opacity: 0.9;
}

.our-services {
  background: #e7e7e7;
}
.our-services .section-title {
  font-weight: 600;
}
.our-services .service-card {
  text-decoration: none;
  color: #000;
  display: block;
}
.our-services .service-card .service-content i {
  transform: rotate(-45deg);
}
.our-services .service-card:hover .service-img img {
  transform: scale(1.05);
}
.our-services .service-card:hover .service-content i {
  transform: translate(3px, -3px);
}
.our-services .service-img {
  height: 300px;
  border-radius: 12px;
  overflow: hidden;
}
.our-services .service-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.4s ease;
}
.our-services .service-content {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.our-services .service-content span {
  font-size: 14px;
  font-weight: 600;
}
.our-services .service-content i {
  font-size: 14px;
  transition: 0.3s ease;
}

.hotel-service-section .service-image {
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
}
.hotel-service-section .service-image img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.hotel-service-section .service-image.small img {
  height: 100%;
}
.hotel-service-section .top-service-box p {
  line-height: 1.8;
  color: #575757;
  margin-bottom: 15px;
}
.hotel-service-section .service-content h3 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 15px;
}
.hotel-service-section .service-content p {
  line-height: 1.8;
  color: #575757;
  margin-bottom: 15px;
}

.about-modern {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafb 100%);
}
.about-modern .bg-shape {
  position: absolute;
  border-radius: 50%;
  opacity: 0.05;
  z-index: 0;
  pointer-events: none;
}
.about-modern .bg-shape.shape-1 {
  width: 400px;
  height: 400px;
  background: var(--themeblack);
  top: -100px;
  right: -100px;
}
.about-modern .bg-shape.shape-2 {
  width: 300px;
  height: 300px;
  background: var(--themeblack);
  bottom: -80px;
  left: -80px;
}
.about-modern .row {
  position: relative;
  z-index: 1;
}
.about-modern .image-wrapper {
  position: relative;
  height: 100%;
  max-height: 550px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 74, 99, 0.15), 0 0 0 1px rgba(0, 74, 99, 0.05);
}
.about-modern .image-wrapper .main-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.about-modern .image-wrapper .image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 74, 99, 0.7) 0%, rgba(0, 107, 138, 0.3) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 1;
}
.about-modern .image-wrapper:hover .main-image {
  transform: scale(1.08);
}
.about-modern .image-wrapper:hover .image-overlay {
  opacity: 1;
}
.about-modern .image-wrapper .floating-badge {
  position: absolute;
  bottom: 30px;
  right: 30px;
  background: #fff;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  z-index: 2;
  animation: float 3s ease-in-out infinite;
}
.about-modern .image-wrapper .floating-badge .badge-number {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--themeblack);
  line-height: 1;
}
.about-modern .image-wrapper .floating-badge .badge-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.about-modern .content-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.about-modern .tag-wrapper {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.about-modern .tag-wrapper .tag-icon {
  color: var(--themeblack);
  flex-shrink: 0;
}
.about-modern .tag-wrapper .modern-tag {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--themeblack);
  text-transform: uppercase;
  letter-spacing: 2px;
}
.about-modern .modern-title {
  font-size: clamp(1.75rem, 5vw, 3rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 2rem;
}
.about-modern .modern-title .title-line {
  display: block;
  color: var(--black);
  margin-bottom: 0.5rem;
}
.about-modern .modern-title .title-highlight {
  display: block;
  background: var(--theme-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.about-modern .decorative-line {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.about-modern .decorative-line .line-dot {
  width: 12px;
  height: 12px;
  background: var(--themeblack);
  border-radius: 50%;
}
.about-modern .decorative-line .line-bar {
  width: 80px;
  height: 4px;
  background: var(--theme-gradient);
  border-radius: 2px;
}
.about-modern .modern-description {
  font-size: 15px;
  line-height: 1.9;
  color: #555;
  margin-bottom: 2.5rem;
  font-weight: 400;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}
.services-modern {
  position: relative;
  background: #fff;
  overflow: hidden;
}
.services-modern .section-bg-pattern {
  position: absolute;
  top: 50%;
  right: -200px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(0, 74, 99, 0.188) 0%, transparent 70%);
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 0;
}
.services-modern .container {
  position: relative;
  z-index: 1;
}
.services-modern .feature-spotlight {
  background: var(--light-gray);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
}
.services-modern .feature-spotlight .row {
  min-height: 400px;
}
@media (min-width: 992px) {
  .services-modern .feature-spotlight .row {
    min-height: 500px;
  }
}
.services-modern .feature-spotlight .spotlight-image {
  height: 100%;
  position: relative;
}
.services-modern .feature-spotlight .spotlight-image .image-frame {
  height: 100%;
  min-height: 400px;
  position: relative;
  overflow: hidden;
}
@media (min-width: 992px) {
  .services-modern .feature-spotlight .spotlight-image .image-frame {
    min-height: 500px;
  }
}
.services-modern .feature-spotlight .spotlight-image .image-frame img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
}
.services-modern .feature-spotlight .spotlight-image .image-frame .image-gradient {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to right, transparent 0%, rgba(248, 249, 250, 0.3) 100%);
}
.services-modern .feature-spotlight .spotlight-image:hover .image-frame img {
  transform: scale(1.05);
}
.services-modern .feature-spotlight .spotlight-content {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 3rem 2rem;
}
@media (min-width: 992px) {
  .services-modern .feature-spotlight .spotlight-content {
    padding: 4rem 3rem 4rem 4rem;
  }
}
.services-modern .feature-spotlight .spotlight-content .content-inner {
  position: relative;
}
.services-modern .feature-spotlight .spotlight-content .content-inner .decorative-corner {
  position: absolute;
  top: -1.5rem;
  left: -1.5rem;
  width: 60px;
  height: 60px;
  border-top: 4px solid var(--themeblack);
  border-left: 4px solid var(--themeblack);
  opacity: 0.3;
}
.services-modern .feature-spotlight .spotlight-content .spotlight-text {
  font-size: 15px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 1rem;
  position: relative;
  padding-left: 1.2rem;
}
.services-modern .feature-spotlight .spotlight-content .spotlight-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 4px;
  height: calc(100% - 1rem);
  background: var(--themeblack);
  border-radius: 2px;
}
.services-modern .feature-spotlight .spotlight-content .spotlight-text:last-child {
  margin-bottom: 0;
}
.services-modern .feature-spotlight .spotlight-content ul {
  padding-left: 1rem;
}
.services-modern .feature-spotlight .spotlight-content ul li {
  font-size: 15px;
  list-style: disc !important;
  padding-bottom: 10px;
}
.services-modern .service-detail {
  padding: 3rem 0;
}
@media (min-width: 992px) {
  .services-modern .service-detail {
    padding: 3.5rem 0 2rem;
  }
}
.services-modern .service-detail .detail-image-wrapper {
  position: relative;
}
.services-modern .service-detail .detail-image-wrapper .image-badge {
  position: absolute;
  top: -1rem;
  left: -1rem;
  background: var(--themeblack);
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 50px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  z-index: 2;
  box-shadow: 0 8px 20px rgba(0, 74, 99, 0.3);
}
.services-modern .service-detail .detail-image-wrapper .image-badge .badge-icon {
  font-size: 1.25rem;
}
.services-modern .service-detail .detail-image-wrapper .image-badge .badge-label {
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.services-modern .service-detail .detail-image-wrapper .detail-image {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.12);
  position: relative;
  z-index: 1;
}
.services-modern .service-detail .detail-image-wrapper .detail-image img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.5s ease;
}
.services-modern .service-detail .detail-image-wrapper .detail-image:hover img {
  transform: scale(1.08);
}
.services-modern .service-detail .detail-image-wrapper .image-border-effect {
  position: absolute;
  bottom: -1.5rem;
  right: -1.5rem;
  width: calc(100% - 3rem);
  height: calc(100% - 3rem);
  border: 2px solid var(--themeblack);
  border-radius: 16px;
  opacity: 0.15;
  z-index: 0;
}
@media (max-width: 991.98px) {
  .services-modern .service-detail .detail-content {
    text-align: center;
  }
}
.services-modern .service-detail .detail-content .section-label {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.services-modern .service-detail .detail-content .section-label .label-dot {
  width: 10px;
  height: 10px;
  background: var(--themeblack);
  border-radius: 50%;
  animation: pulse 2s ease-in-out infinite;
}
.services-modern .service-detail .detail-content .section-label .label-text {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--themeblack);
  text-transform: uppercase;
  letter-spacing: 2px;
}
.services-modern .service-detail .detail-content .detail-title {
  font-size: clamp(2rem, 5vw, 2.25rem);
  font-weight: 800;
  color: var(--black);
  margin-bottom: 1.5rem;
  line-height: 1.2;
}
.services-modern .service-detail .detail-content .title-accent {
  width: 100px;
  height: 5px;
  background: linear-gradient(90deg, var(--themeblack) 0%, transparent 100%);
  margin-bottom: 2rem;
  border-radius: 3px;
}
.services-modern .service-detail .detail-content ul {
  padding-left: 1rem;
}
.services-modern .service-detail .detail-content ul li {
  list-style: disc !important;
  font-size: 15px;
  padding-bottom: 10px;
}
@media (max-width: 991.98px) {
  .services-modern .service-detail .detail-content .title-accent {
    margin-left: auto;
    margin-right: auto;
  }
}
.services-modern .service-detail .detail-content .detail-description {
  font-size: 15px;
  line-height: 1.9;
  color: #666;
  margin-bottom: 1.2rem;
}
.services-modern .service-detail .detail-content .detail-description:last-of-type {
  margin-bottom: 0;
}
@media (max-width: 991.98px) {
  .services-modern .service-detail .detail-content .cta-group {
    display: flex;
    justify-content: center;
  }
}

.car-service-experience {
  position: relative;
  background: linear-gradient(to bottom, #ffffff 0%, var(--soft-white) 100%);
  overflow: hidden;
}
.car-service-experience .section-decoration {
  position: absolute;
  pointer-events: none;
  z-index: 0;
}
.car-service-experience .section-decoration.deco-1 {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(0, 74, 99, 0.202) 0%, transparent 70%);
  top: 10%;
  left: -100px;
}
.car-service-experience .section-decoration.deco-2 {
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(0, 74, 99, 0.195) 0%, transparent 70%);
  bottom: 10%;
  right: -150px;
}
.car-service-experience .container {
  position: relative;
  z-index: 1;
}
.car-service-experience .experience-hero {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.04);
}
.car-service-experience .experience-hero .row {
  min-height: 450px;
}
@media (min-width: 992px) {
  .car-service-experience .experience-hero .row {
    min-height: 550px;
  }
}
.car-service-experience .experience-hero .hero-visual {
  height: 100%;
  position: relative;
  overflow: hidden;
}
.car-service-experience .experience-hero .hero-visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.car-service-experience .experience-hero .hero-visual .visual-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 74, 99, 0.659) 0%, transparent 60%);
  z-index: 1;
}
.car-service-experience .experience-hero .hero-visual .visual-pattern {
  position: absolute;
  top: 0;
  right: 0;
  width: 200px;
  height: 200px;
  background: linear-gradient(135deg, transparent 40%, rgba(255, 255, 255, 0.801) 100%);
  z-index: 2;
}
.car-service-experience .experience-hero .hero-visual:hover img {
  transform: scale(1.1) rotate(1deg);
}
.car-service-experience .experience-hero .hero-info {
  height: 100%;
  display: flex;
  align-items: center;
  background: linear-gradient(to bottom right, #ffffff 0%, var(--soft-white) 100%);
}
.car-service-experience .experience-hero .hero-info .info-wrapper {
  padding: 0rem 2rem;
}
@media (min-width: 992px) {
  .car-service-experience .experience-hero .hero-info .info-wrapper {
    padding: 0rem 3.5rem 0rem 4rem;
  }
}
.car-service-experience .experience-hero .hero-info .quote-icon {
  color: var(--themeblack);
  opacity: 0.15;
  margin-bottom: 1.5rem;
}
.car-service-experience .experience-hero .hero-info .quote-icon svg {
  display: block;
}
.car-service-experience .experience-hero .hero-info .info-paragraph {
  font-size: 15px;
  line-height: 1.7;
  color: #4a5568;
  margin-bottom: 15px;
  position: relative;
}
.car-service-experience .experience-hero .hero-info .info-paragraph:first-of-type {
  font-weight: 500;
}
.car-service-experience .experience-hero .hero-info .info-paragraph:last-of-type {
  margin-bottom: 2rem;
}
.car-service-experience .experience-hero .hero-info ul{
  padding-left: 2rem;
}
.car-service-experience .experience-hero .hero-info ul li {
  font-size: 15px;
  color: #4a5568;
  list-style: disc !important;
  padding-bottom: 6px;
}
.car-service-experience .experience-hero .hero-info .info-divider {
  width: 80px;
  height: 3px;
  background: linear-gradient(to right, var(--themeblack) 0%, var(--themeblack) 60%, transparent 100%);
}
.car-service-experience .service-showcase {
  padding-bottom: 50px;
}
.car-service-experience .service-showcase .showcase-content .content-tag {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.car-service-experience .service-showcase .showcase-content .content-tag .tag-line {
  width: 50px;
  height: 2px;
  background: var(--themeblack);
}
.car-service-experience .service-showcase .showcase-content .content-tag .tag-label {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--themeblack);
  text-transform: uppercase;
  letter-spacing: 2.5px;
}
.car-service-experience .service-showcase .showcase-content .showcase-title {
  font-size: clamp(2.25rem, 5vw, 2.25rem);
  font-weight: 800;
  color: var(--black);
  margin-bottom: 1.5rem;
  line-height: 1.15;
}
.car-service-experience .service-showcase .showcase-content .title-decoration {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.car-service-experience .service-showcase .showcase-content .title-decoration .decoration-square {
  width: 16px;
  height: 16px;
  background: var(--themeblack);
  transform: rotate(45deg);
}
.car-service-experience .service-showcase .showcase-content .title-decoration .decoration-line {
  width: 100px;
  height: 2px;
  background: var(--themeblack);
  opacity: 0.3;
}
.car-service-experience .service-showcase .showcase-content .showcase-text {
  font-size: 15px;
  line-height: 1.85;
  color: #5a6c7d;
  margin-bottom: 1.5rem;
}
.car-service-experience .service-showcase .showcase-content .showcase-text:last-of-type {
  margin-bottom: 0;
}
.car-service-experience .service-showcase .showcase-content ul {
  padding-left: 2rem;
}
.car-service-experience .service-showcase .showcase-content ul li {
  list-style: disc !important;
  font-size: 15px;
  color: #5a6c7d;
  padding-bottom: 6px;
}
.car-service-experience .service-showcase .showcase-content .action-wrapper {
  display: flex;
  align-items: center;
}
.car-service-experience .service-showcase .showcase-media {
  position: relative;
}
.car-service-experience .service-showcase .showcase-media .media-frame {
  position: relative;
  z-index: 2;
}
.car-service-experience .service-showcase .showcase-media .media-frame .frame-border {
  position: absolute;
  width: 80px;
  height: 80px;
  border: 3px solid var(--themeblack);
  z-index: 3;
}
.car-service-experience .service-showcase .showcase-media .media-frame .frame-border.top-left {
  top: -15px;
  left: -15px;
  border-right: none;
  border-bottom: none;
}
.car-service-experience .service-showcase .showcase-media .media-frame .frame-border.bottom-right {
  bottom: -15px;
  right: -15px;
  border-left: none;
  border-top: none;
}
.car-service-experience .service-showcase .showcase-media .media-frame .media-container {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
  position: relative;
  z-index: 2;
}
.car-service-experience .service-showcase .showcase-media .media-frame .media-container img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s ease;
}
.car-service-experience .service-showcase .showcase-media .media-frame .media-container:hover img {
  transform: scale(1.06);
}
.car-service-experience .service-showcase .showcase-media .media-accent {
  position: absolute;
  top: 30px;
  right: 30px;
  width: calc(100% - 60px);
  height: calc(100% - 60px);
  background: var(--theme-light);
  border-radius: 12px;
  z-index: 1;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.3);
    opacity: 0.7;
  }
}
.tent-experience {
  position: relative;
  background: #fff;
  overflow: hidden;
}
.tent-experience .section-pattern {
  position: absolute;
  pointer-events: none;
  opacity: 0.04;
  z-index: 0;
}
.tent-experience .section-pattern.pattern-1 {
  width: 350px;
  height: 350px;
  background: repeating-linear-gradient(45deg, var(--themeblack), var(--themeblack) 2px, transparent 2px, transparent 12px);
  top: 5%;
  right: -100px;
}
.tent-experience .section-pattern.pattern-2 {
  width: 280px;
  height: 280px;
  background: repeating-linear-gradient(-45deg, var(--themeblack), var(--themeblack) 2px, transparent 2px, transparent 12px);
  bottom: 15%;
  left: -80px;
}
.tent-experience .container {
  position: relative;
  z-index: 1;
}
.tent-experience .highlight-block {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.07);
}
.tent-experience .highlight-block .row {
  min-height: 500px;
}
@media (min-width: 992px) {
  .tent-experience .highlight-block .row {
    min-height: 600px;
  }
}
.tent-experience .highlight-block .highlight-text-area {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0rem 2rem;
  background: linear-gradient(135deg, var(--neutral-bg) 0%, #ffffff 100%);
}
@media (min-width: 992px) {
  .tent-experience .highlight-block .highlight-text-area {
    padding: 0rem 3rem 0rem 4rem;
  }
}
.tent-experience .highlight-block .highlight-text-area .text-content {
  width: 100%;
}
.tent-experience .highlight-block .highlight-text-area .text-content .content-marker {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.tent-experience .highlight-block .highlight-text-area .text-content .content-marker .marker-circle {
  width: 12px;
  height: 12px;
  background: var(--themeblack);
  border-radius: 50%;
  animation: markerPulse 2s ease-in-out infinite;
}
.tent-experience .highlight-block .highlight-text-area .text-content .content-marker .marker-circle:nth-child(2) {
  animation-delay: 0.3s;
}
.tent-experience .highlight-block .highlight-text-area .text-content .content-marker .marker-circle:nth-child(3) {
  animation-delay: 0.6s;
}
.tent-experience .highlight-block .highlight-text-area .text-content .highlight-para, .tent-experience .full p {
  font-size: 15px;
  line-height: 1.6;
  color: #475569;
  margin-bottom: 15px;
  padding-left: 1.5rem;
  border-left: 3px solid transparent;
  -o-border-image: linear-gradient(to bottom, var(--themeblack), transparent) 1;
     border-image: linear-gradient(to bottom, var(--themeblack), transparent) 1;
  transition: all 0.3s ease;
}
.tent-experience .highlight-block .highlight-text-area .text-content ul, .tent-experience .full ul {
  padding-left: 2rem;
  margin-bottom: 0;
}
.tent-experience .highlight-block .highlight-text-area .text-content ul li, .tent-experience .full ul li {
  color: #475569;
  font-size: 15px;
  padding-bottom: 6px;
  list-style: disc !important;
}
.tent-experience .highlight-block .highlight-text-area .text-content .highlight-para:hover {
  padding-left: 2rem;
}
.tent-experience .highlight-block .highlight-text-area .text-content .highlight-para:last-of-type {
  margin-bottom: 2.5rem;
}
.tent-experience .highlight-block .highlight-text-area .text-content .text-accent-bar {
  width: 120px;
  height: 4px;
  background: linear-gradient(to right, var(--themeblack) 0%, var(--themeblack) 70%, transparent 100%);
  border-radius: 2px;
}
.tent-experience .highlight-block .highlight-image-area {
  height: 100%;
  position: relative;
  min-height: 500px;
}
@media (min-width: 992px) {
  .tent-experience .highlight-block .highlight-image-area {
    min-height: 600px;
  }
}
.tent-experience .highlight-block .highlight-image-area .image-clipper {
  height: 100%;
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 8% 100%);
}
@media (max-width: 991.98px) {
  .tent-experience .highlight-block .highlight-image-area .image-clipper {
    clip-path: none;
  }
}
.tent-experience .highlight-block .highlight-image-area .image-clipper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.tent-experience .highlight-block .highlight-image-area .image-clipper .image-overlay-gradient {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to left, transparent 40%, rgba(247, 248, 250, 0.5) 100%);
  z-index: 1;
}
.tent-experience .highlight-block .highlight-image-area .image-clipper:hover img {
  transform: scale(1.12);
}
.tent-experience .highlight-block .highlight-image-area .floating-shape {
  position: absolute;
  bottom: 50px;
  left: 40px;
  width: 100px;
  height: 100px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
  z-index: 2;
}
.tent-experience .highlight-block .highlight-image-area .floating-shape::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border: 3px solid var(--themeblack);
  border-radius: 50%;
  border-top-color: transparent;
  border-right-color: transparent;
}
@media (max-width: 575.98px) {
  .tent-experience .highlight-block .highlight-image-area .floating-shape {
    width: 70px;
    height: 70px;
    bottom: 30px;
    left: 30px;
  }
  .tent-experience .highlight-block .highlight-image-area .floating-shape::before {
    width: 40px;
    height: 40px;
  }
}
.tent-experience .detail-presentation {
  padding: 3rem 0 2rem;
}
@media (min-width: 992px) {
  .tent-experience .detail-presentation {
    padding: 6rem 0 3rem;
  }
}
.tent-experience .detail-presentation .presentation-visual {
  position: relative;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper {
  position: relative;
  z-index: 2;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .corner-accent {
  position: absolute;
  width: 60px;
  height: 60px;
  z-index: 3;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .corner-accent span {
  position: absolute;
  background: var(--themeblack);
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .corner-accent span:first-child {
  width: 100%;
  height: 3px;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .corner-accent span:last-child {
  width: 3px;
  height: 100%;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .corner-accent.top-left {
  top: -12px;
  left: -12px;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .corner-accent.top-left span:first-child {
  top: 0;
  left: 0;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .corner-accent.top-left span:last-child {
  top: 0;
  left: 0;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .corner-accent.bottom-right {
  bottom: -12px;
  right: -12px;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .corner-accent.bottom-right span:first-child {
  bottom: 0;
  right: 0;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .corner-accent.bottom-right span:last-child {
  bottom: 0;
  right: 0;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .image-holder {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.12);
  position: relative;
  z-index: 2;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .image-holder img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s ease;
}
.tent-experience .detail-presentation .presentation-visual .visual-wrapper .image-holder:hover img {
  transform: scale(1.08) rotate(-1deg);
}
.tent-experience .detail-presentation .presentation-visual .visual-backdrop {
  position: absolute;
  top: 25px;
  left: 25px;
  width: calc(100% - 50px);
  height: calc(100% - 50px);
  background: var(--theme-light);
  border-radius: 16px;
  z-index: 1;
  opacity: 0.6;
}
.tent-experience .detail-presentation .presentation-info .info-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.tent-experience .detail-presentation .presentation-info .info-header .header-icon {
  color: var(--themeblack);
  flex-shrink: 0;
}
.tent-experience .detail-presentation .presentation-info .info-header .header-line {
  flex: 1;
  height: 2px;
  background: linear-gradient(to right, var(--themeblack) 0%, transparent 100%);
}
.tent-experience .detail-presentation .presentation-info .info-title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  color: var(--black);
  margin-bottom: 1.5rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.tent-experience .detail-presentation .presentation-info .title-separator {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.tent-experience .detail-presentation .presentation-info .title-separator .sep-dot {
  width: 8px;
  height: 8px;
  background: var(--themeblack);
  border-radius: 50%;
}
.tent-experience .detail-presentation .presentation-info .title-separator .sep-line {
  flex: 1;
  max-width: 100px;
  height: 2px;
  background: var(--themeblack);
  opacity: 0.3;
}
.tent-experience .detail-presentation .presentation-info .info-description {
  font-size: 15px;
  line-height: 1.7;
  color: #64748b;
  margin-bottom: 15px;
}
/* .tent-experience .detail-presentation .presentation-info .info-description:last-of-type {
  margin-bottom: 0;
} */
.tent-experience .detail-presentation .presentation-info .info-action {
  display: flex;
  align-items: center;
}
.tent-experience .detail-presentation .presentation-info ul {
  padding-left: 2rem;
}
.tent-experience .detail-presentation .presentation-info ul li {
  list-style: disc !important;
  padding-bottom: 10px;
  font-size: 15px;
  color: #64748b;
}

.room-section .room-card {
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 2.5px 5.3px -2.6px rgba(0, 0, 0, 0.1), 0 5px 8px -1.5px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin-top: 30px;
}
.room-section .room-card .room-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.room-section .room-card .room-title {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 8px;
}
.room-section .room-card .room-desc {
  color: #6c757d;
  font-size: 14px;
  margin-bottom: 0;
}
.room-section .room-card .rating .stars {
  color: #ffb800;
  letter-spacing: 2px;
}
.room-section .room-card .rating .review-count {
  font-size: 15.5px;
  color: #6c757d;
}
.room-section .room-card .room-info p {
  margin-bottom: 14px;
  color: #6a7282;
  font-size: 14px;
}
.room-section .room-card .room-info p span {
  font-size: 14px;
  font-weight: 500;
  /* letter-spacing: 1px; */
  color: #99a1af;
}
.room-section .room-card .room-info p strong {
  font-size: 14px;
  font-weight: 500;
}
.room-section .room-card .price-box {
  border-left: 1px solid #f3f4f6;
  padding: 20px;
  text-align: center;
}
.room-section .room-card .price-box .starting {
  font-size: 15px;
  color: #99a1af;
  margin-bottom: 2px;
}
.room-section .room-card .price-box .price {
  font-size: 24px;
  font-weight: 400;
  color: var(--success-green);
}
.room-section .room-card .price-box .price span {
  font-size: 15px;
  color: #99a1af;
  font-weight: 400;
}
.room-section .room-card .price-box .includes {
  font-size: 15px;
  color: #99a1af;
  margin-bottom: 14px;
  text-align: center;
}
.room-section .room-card .price-box .rooms-label {
  font-size: 12px;
  font-weight: 500;
  color: #6c757d;
  margin-bottom: 5px;
  display: block;
}
.room-section .room-card .price-box .form-select {
  border-radius: 6px;
  font-size: 13px;
  height: 34px;
}
.room-section .room-card .price-box .btn-select {
  background: var(--themeblack);
  border-radius: 8px;
  letter-spacing: 2px;
  font-weight: 600;
  color: #fff;
  padding: 12px 15px;
  transition: 0.3s ease;
  border: none;
}
.room-section .room-card .price-box .btn-select:hover {
  background: var(--themeblack);
  color: #fff;
}
.room-section .room-card .price-box .btn-select.selected {
  background: #e5e7eb;
  color: #6a7282;
}
.room-section .custom-pagination {
  border-top: 1px solid #e9ecef;
  padding-top: 30px;
}
.room-section .custom-pagination .page-btn {
  background: #f5f6f8;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 500;
  color: #495057;
  transition: 0.3s ease;
}
.room-section .custom-pagination .page-btn:hover {
  background: var(--theme-light);
  color: var(--themeblack);
}
.room-section .custom-pagination .page-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.room-section .custom-pagination .pagination-list {
  list-style: none;
  display: flex;
  gap: 14px;
  padding: 0;
}
.room-section .custom-pagination .pagination-list li {
  cursor: pointer;
  font-size: 14px;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #6c757d;
  transition: 0.3s;
}
.room-section .custom-pagination .pagination-list li:hover {
  background: #f1f3f5;
}
.room-section .custom-pagination .pagination-list li.active {
  background: #f9f5ff;
  color: #7f56d9;
  font-weight: 600;
}

.hotel-service-navigation {
  background-color: #ffffff;
  height: 64px;
  border-bottom: 1.5px solid #e5e7eb;
  display: flex;
  align-items: center;
}
.hotel-service-navigation .topbar-link {
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  color: #1f2937;
  display: inline-flex;
  align-items: center;
  transition: color 0.2s ease;
}
.hotel-service-navigation .topbar-link i {
  font-size: 14px;
}
.hotel-service-navigation .topbar-link:hover {
  color: var(--themeblack);
}
.hotel-service-navigation .topbar-right .topbar-link {
  color: #374151;
}

@keyframes markerPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.4);
    opacity: 0.6;
  }
}
.hotel-service-details {
  background: #fff;
}
.hotel-service-details .service-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--black);
}
.hotel-service-details .service-subtitle {
  color: #4a5565;
}
.hotel-service-details .provider-logo {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--theme-light);
  color: var(--themeblack);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}
.hotel-service-details .highlight-box {
  border: 1px solid #e9ecef;
  border-radius: 16px;
  padding: 20px;
  flex-wrap: wrap;
  background: #fff;
  gap: 20px;
}
.hotel-service-details .highlight-box h6 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 3px;
}
.hotel-service-details .highlight-box p {
  font-size: 14px;
  color: #6a7282;
  margin: 0;
}
.hotel-service-details .highlight-box .icon-circle {
  min-width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--theme-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--themeblack);
}
.hotel-service-details .highlight-box .rating-box .left {
  padding: 0px 20px;
  text-align: center;
  border-right: 1px solid #e5e7eb;
}
.hotel-service-details .highlight-box .rating-box .rating-number {
  font-size: 18px;
  font-weight: 600;
}
.hotel-service-details .highlight-box .rating-box .stars {
  font-size: 13px;
  color: #000;
}
.hotel-service-details .highlight-box .rating-box small {
  font-size: 10px;
  letter-spacing: 1px;
  padding: 0px 20px;
  text-align: center;
}
.hotel-service-details .highlight-box .rating-box small span {
  font-size: 20px;
}
.hotel-service-details .feature-list .feature-item {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}
.hotel-service-details .feature-list .feature-item i {
  font-size: 18px;
  color: var(--themeblack);
  margin-top: 4px;
}
.hotel-service-details .feature-list .feature-item h6 {
  font-weight: 600;
  margin-bottom: 3px;
}
.hotel-service-details .feature-list .feature-item p {
  font-size: 13px;
  color: #6c757d;
  margin: 0;
}
.hotel-service-details .description p {
  color: #222222;
}
.hotel-service-details .description .show-more {
  font-weight: 700;
  color: var(--themeblack);
  text-decoration: underline;
}
.hotel-service-details .section-heading {
  font-size: 25px;
  font-weight: 700;
  margin-bottom: 20px;
}
.hotel-service-details .ride-card {
  border: 1px solid #e9ecef;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.hotel-service-details .ride-card img {
  height: 190px;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.hotel-service-details .ride-card .ride-body {
  padding: 12px;
  color: #222222;
}
.hotel-service-details .ride-card .ride-body h6 {
  font-weight: 700;
  margin-bottom: 4px;
  font-size: 16px;
}
.hotel-service-details .ride-card .ride-body p {
  font-size: 14px;
  color: #6a7282;
  margin: 0;
}
.hotel-service-details .amenities ul {
  list-style: none;
  padding: 0;
}
.hotel-service-details .amenities ul li {
  margin-bottom: 12px;
  font-size: 14px;
  color: #495057;
}
.hotel-service-details .amenities ul li i {
  margin-right: 8px;
  color: var(--themeblack);
}
.hotel-service-details hr {
  margin: 15px 0;
  margin-top: 10px;
  opacity: 0.1;
  background: #f5f5f4;
}
.hotel-service-details .booking-sidebar {
  position: sticky;
  top: 90px;
}
.hotel-service-details .booking-sidebar .price {
  font-size: 26px;
  font-weight: 700;
  color: var(--black);
}
.hotel-service-details .booking-sidebar .price span {
  font-size: 14px;
  font-weight: 400;
  color: #6c757d;
  margin-left: 4px;
}
.hotel-service-details .booking-sidebar .rating {
  font-size: 14px;
}
.hotel-service-details .booking-sidebar .rating i {
  color: #ffc107;
  font-size: 14px;
  margin-right: 4px;
}
.hotel-service-details .booking-sidebar .rating strong {
  font-weight: 600;
  margin-right: 4px;
}
.hotel-service-details .booking-sidebar .rating span {
  color: #6c757d;
  text-decoration: underline;
  font-size: 13px;
}

.booking-card {
  background: #fff;
  border-radius: 24px;
  padding: 32px;
  border: 1px solid #e9ecef;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
  position: sticky;
  top: 0px;
}
.booking-card .booking-box {
  border: 1px solid #d1d5db;
  border-radius: 16px;
  overflow: hidden;
  margin-top: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
}
.booking-card .booking-box .booking-field {
  padding: 14px 16px;
  border-right: 1px solid #d1d5db;
  border-bottom: 1px solid #d1d5db;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* remove right border for right column */
}
.booking-card .booking-box .booking-field:nth-child(2n) {
  border-right: 0;
}
.booking-card .booking-box .booking-field:last-child {
  grid-column: span 2;
  border-right: 0;
}
.booking-card .booking-box .booking-field label {
  font-size: 10px;
  font-weight: 700;
  color: #6b7280;
  margin-bottom: 4px;
  letter-spacing: 0.5px;
}
.booking-card .booking-box .booking-field .form-control,
.booking-card .booking-box .booking-field .form-select {
  border: none;
  padding: 0;
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  background: transparent;
  box-shadow: none;
}
.booking-card .booking-box .booking-field .form-control:focus,
.booking-card .booking-box .booking-field .form-select:focus {
  box-shadow: none;
  outline: none;
}
.booking-card .booking-box .booking-field {
  /* Remove browser date/time style spacing */
}
.booking-card .booking-box .booking-field input[type=date],
.booking-card .booking-box .booking-field input[type=time] {
  width: 100%;
  cursor: pointer; /* shows it's clickable */
  padding: 8px 12px; /* avoid padding that hides clickable area */
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
}
.booking-card .booking-box .booking-field input[type=date]::-webkit-calendar-picker-indicator,
.booking-card .booking-box .booking-field input[type=time]::-webkit-calendar-picker-indicator {
  /* make sure the icon is visible and doesn't block clicks */
  cursor: pointer;
  position: relative;
  z-index: 2;
}
.booking-card .booking-box .booking-field .icon-inside-input {
  pointer-events: none; /* so clicks pass through icon to input */
}
.booking-card .booking-box .booking-field textarea {
  resize: none;
}
.booking-card .booking-box .booking-field #phoneNumber {
  padding-left: 40px;
}
.booking-card .booking-box .booking-field .iti__selected-flag {
  padding-left: 0px;
}
.booking-card .booking-box .booking-field .error-text {
  font-size: 11px;
  margin-top: 4px;
  color: #dc3545;
}
.booking-card .booking-box .booking-field:last-child {
  border-bottom: 0;
}
.booking-card .assistance-section .assistance-card {
  background: #0f9562;
  border-radius: 40px;
  padding: 30px 25px;
  color: #ffffff;
  max-width: 520px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.08);
}
.booking-card .assistance-section .assistance-card .icon-box {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-bottom: 15px;
}
.booking-card .assistance-section .assistance-card .assist-title {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 10px;
}
.booking-card .assistance-section .assistance-card .assist-desc {
  font-size: 16px;
  line-height: 1.7;
  opacity: 0.9;
  margin-bottom: 15px;
  max-width: 360px;
}
.booking-card .assistance-section .assistance-card .assist-phone {
  font-size: 19px;
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: 0.3s;
}
.booking-card .assistance-section .assistance-card .assist-phone:hover {
  opacity: 0.85;
}
.booking-card .assistance-section .assist-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
}
.booking-card .assistance-section .assist-rating .star {
  color: #111;
  font-size: 14px;
}
.booking-card .assistance-section .assist-rating .rating-score {
  font-weight: 600;
  color: #111;
}
.booking-card .assistance-section .assist-rating .rating-link {
  color: #6c757d;
  text-decoration: underline;
  margin-left: 4px;
}
.booking-card .assistance-section .assist-rating .rating-link:hover {
  color: var(--themeblack);
}

.hotel-review-section .overall-rating {
  font-size: 20px;
  font-weight: 600;
}
.hotel-review-section .overall-rating i {
  font-size: 16px;
  margin-right: 6px;
}
.hotel-review-section .rating-grid {
  margin-top: 20px;
}
.hotel-review-section .rating-grid .rating-item {
  font-size: 13px;
}
.hotel-review-section .rating-grid .rating-item span {
  display: block;
  color: #6c757d;
  margin-bottom: 6px;
}
.hotel-review-section .rating-grid .rating-item strong {
  font-weight: 600;
  font-size: 14px;
}
.hotel-review-section hr {
  margin: 30px 0;
  opacity: 0.1;
}
.hotel-review-section .review-card {
  font-size: 14px;
}
.hotel-review-section .review-card .review-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.hotel-review-section .review-card .review-header .avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #e9ecef;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}
.hotel-review-section .review-card .review-header h6 {
  margin: 0;
  font-weight: 600;
  font-size: 16px;
}
.hotel-review-section .review-card .review-header small {
  color: #6a7282;
  font-size: 14px;
}
.hotel-review-section .review-card p {
  color: #364153;
  line-height: 1.6;
  margin-bottom: 8px;
}
.hotel-review-section .review-card .show-more {
  font-size: 13px;
  font-weight: 500;
  text-decoration: underline;
  color: var(--black);
}
.hotel-review-section .section-divider {
  margin: 50px 0;
  opacity: 0.1;
}
.hotel-review-section .pickup-section .section-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 5px;
}
.hotel-review-section .pickup-section .location-text {
  font-size: 13px;
  color: #6c757d;
  margin-bottom: 20px;
}
.hotel-review-section .pickup-section .map-box {
  background: rgba(0, 153, 102, 0.0509803922);
  height: 300px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.hotel-review-section .pickup-section .map-center {
  text-align: center;
}
.hotel-review-section .pickup-section .map-center .map-icon {
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}
.hotel-review-section .pickup-section .map-center .map-icon i {
  color: #28a745;
  font-size: 18px;
}
.hotel-review-section .pickup-section .map-center span {
  font-size: 10px;
  letter-spacing: 1px;
  color: #6c757d;
}
.hotel-review-section .pickup-section .map-note {
  font-size: 14px;
  color: #4a5565;
  margin-top: 15px;
  line-height: 1.5;
}

.provider-section .section-heading {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 25px;
}
.provider-section .provider-wrapper {
  background: #f7f7f7;
  padding: 40px;
  border-radius: 16px;
}
.provider-section .provider-card {
  background: #fff;
  padding: 30px 20px;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}
.provider-section .provider-avatar {
  width: 90px;
  height: 90px;
  background: #198754;
  color: #fff;
  font-weight: 600;
  font-size: 26px;
  border-radius: 50%;
  margin: 0 auto 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.provider-section .provider-avatar .verified-badge {
  position: absolute;
  bottom: 5px;
  right: 5px;
  width: 26px;
  height: 26px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #198754;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.provider-section .provider-name {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 6px;
}
.provider-section .superhost {
  font-size: 14px;
  color: #198754;
  margin-bottom: 20px;
}
.provider-section .superhost i {
  margin-right: 5px;
}
.provider-section .provider-stats {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
.provider-section .provider-stats div {
  text-align: center;
}
.provider-section .provider-stats div strong {
  display: block;
  font-size: 18px;
  font-weight: 700;
}
.provider-section .provider-stats div span {
  font-size: 10px;
  letter-spacing: 1px;
  color: #99a1af;
}
.provider-section .provider-content .title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}
.provider-section .provider-content .description {
  color: #4a5565;
  line-height: 1.6;
  margin-bottom: 25px;
}
.provider-section .provider-content .service-details h6 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
}
.provider-section .provider-content .service-details ul {
  list-style: none;
  padding: 0;
}
.provider-section .provider-content .service-details ul li {
  font-size: 14px;
  margin-bottom: 8px;
  color: #4a5565;
}
.provider-section .provider-content .service-details ul li i {
  margin-right: 8px;
  color: #6c757d;
}
.provider-section .section-divider {
  margin: 60px 0;
  opacity: 0.1;
}
.provider-section .things-know .sub-title {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 15px;
}
.provider-section .things-know ul {
  padding-left: 0;
  list-style: none;
}
.provider-section .things-know ul li {
  font-size: 14px;
  color: #495057;
  margin-bottom: 8px;
}
.provider-section .things-know p {
  font-size: 14px;
  color: #495057;
}
.provider-section .things-know .show-more {
  font-size: 13px;
  text-decoration: underline;
  font-weight: 500;
  color: #000;
}

.gastronomy-section {
  background: var(--soft-white);
}
.gastronomy-section .content-wrapper {
  max-width: 550px;
}
.gastronomy-section .section-tag {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #1f8a70;
  text-transform: uppercase;
  margin-bottom: 15px;
  display: inline-block;
}
.gastronomy-section .section-title {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  color: #1a1a1a;
  margin-bottom: 20px;
}
.gastronomy-section .section-desc {
  font-size: 14px;
  color: #6a7282;
  line-height: 1.7;
  margin-bottom: 35px;
}
.gastronomy-section .feature-list {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}
.gastronomy-section .feature-item {
  display: flex;
  align-items: center;
  gap: 15px;
  max-width: 250px;
}
.gastronomy-section .feature-item h6 {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 5px;
  color: #1a1a1a;
}
.gastronomy-section .feature-item p {
  font-size: 13px;
  color: #666;
  line-height: 1.5;
  margin: 0;
}
.gastronomy-section .icon-box {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--theme-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--themeblack);
  font-size: 16px;
  flex-shrink: 0;
}
.gastronomy-section {
  /* IMAGE GRID */
}
.gastronomy-section .image-grid {
  display: flex;
  gap: 25px;
  align-items: flex-start;
}
.gastronomy-section .left-stack {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 48%;
}
.gastronomy-section .right-large {
  width: 52%;
}
.gastronomy-section .img-box {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
}
.gastronomy-section .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.gastronomy-section .img-top {
  height: 280px;
}
.gastronomy-section .img-bottom {
  height: 200px;
}
.gastronomy-section .right-large .img-box {
  height: 505px;
}

.info-bar {
  padding: 35px 0;
}
.info-bar .info-item {
  position: relative;
  margin-bottom: 20px;
}
.info-bar .info-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #99a1af;
  margin-bottom: 8px;
}
.info-bar .info-value {
  font-size: 19px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}

.visionary-section {
  background: #1a1a1a;
  padding: 60px 0;
  color: #fff;
}
.visionary-section .visionary-image-wrapper {
  position: relative;
  max-height: 900px;
}
.visionary-section .visionary-image-wrapper .accent-bg {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: var(--themeblack);
  border-radius: 28px;
  z-index: 1;
  transform: rotate(3deg);
}
.visionary-section .visionary-image-wrapper .image-box {
  position: relative;
  z-index: 2;
  border-radius: 28px;
  overflow: hidden;
}
.visionary-section .visionary-image-wrapper .image-box img {
  width: 100%;
  height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.visionary-section .visionary-content {
  max-width: 560px;
}
.visionary-section .visionary-content .section-label {
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--themeblack);
  font-weight: 700;
  display: inline-block;
  margin-bottom: 18px;
}
.visionary-section .visionary-content .visionary-title {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 20px;
}
.visionary-section .visionary-content .visionary-quote {
  font-style: italic;
  color: rgba(255, 255, 255, 0.6);
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 25px;
  font-style: italic;
}
.visionary-section .visionary-content .visionary-desc {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 30px;
}
.visionary-section .visionary-content .michelin-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--themeblack);
  font-weight: 600;
  margin-bottom: 40px;
}
.visionary-section .visionary-content .michelin-badge i {
  font-size: 18px;
}
.visionary-section .visionary-content .stats-row {
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}
.visionary-section .visionary-content .stats-row .stat-item {
  text-align: left;
}
.visionary-section .visionary-content .stats-row .stat-item h4 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 5px;
}
.visionary-section .visionary-content .stats-row .stat-item span {
  font-size: 10px;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, 0.3019607843);
}
.visionary-section .visionary-content .stats-row .divider {
  width: 1px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
}

.seasonal-menu {
  background: #ffffff;
  border-top-right-radius: 40px;
  border-top-left-radius: 40px;
  padding: 60px 0;
  position: relative;
}
.seasonal-menu::after {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  width: 100%;
  height: 100%;
}
.seasonal-menu .menu-title {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 25px;
}
.seasonal-menu .menu-subtitle {
  font-size: 15px;
  color: #6a7282;
  max-width: 508px;
  margin: 0 auto 50px;
  line-height: 1.7;
}
.seasonal-menu {
  /* Tabs */
}
.seasonal-menu .menu-tabs {
  margin-bottom: 60px;
}
.seasonal-menu .menu-tabs .menu-tab {
  border: none;
  padding: 12px 26px;
  margin: 0 8px;
  border-radius: 50px;
  background: #e5e7eb;
  font-size: 14px;
  font-weight: 500;
  color: #4b5563;
  transition: all 0.3s ease;
  cursor: pointer;
  margin-bottom: 10px;
}
.seasonal-menu .menu-tabs .menu-tab.active {
  background: #111;
  color: #fff;
  box-shadow: 0 7px 9px -5px rgba(0, 0, 0, 0.1), 0 19px 24px -4px rgba(0, 0, 0, 0.1);
}
.seasonal-menu .menu-tabs .menu-tab:hover {
  background: #111;
  color: var(--theme-light);
}
.seasonal-menu {
  /* Menu Items */
}
.seasonal-menu span.sub {
  font-weight: 400;
  font-style: Regular;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 2px;
  color: #6A7282;
}
.seasonal-menu h3 {
  padding-bottom: 10px;
}
.seasonal-menu .menu-item {
  margin-bottom: 15px;
}
.seasonal-menu .menu-item .menu-top {
  display: flex;
  align-items: center;
}
.seasonal-menu .menu-item .menu-top h6 {
  display:flex;
  align-items:center;
  flex:1;
  margin:0;
  font-size:16px;
  text-transform: uppercase;
}
/* .seasonal-menu .menu-item .menu-top h6::after{
  content:"";
  flex:1;
  border-bottom:1px dotted #cfcfcf;
  margin:0 10px;
} */

.seasonal-menu .menu-item .menu-top .price{
  font-weight:600;
  white-space:nowrap;
}
.seasonal-menu .menu-item .menu-top span {
  font-size: 15px;
  font-weight: 600;
}
.seasonal-menu .menu-item .menu-top .line {
  width: 100%;
  height: 1px;
  background: #d1d5dc;
  max-width: 100px;
}
.seasonal-menu .menu-item p {
  font-size: 14px;
  color: #99a1af;
  margin-bottom: 5px;
}
.seasonal-menu .menu-item .tag {
  font-size: 10px;
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 600;
  letter-spacing: 1px;
}

.seasonal-menu .menu-item .vegetarian {
  background: #d1fae5;
  color: #059669;
}
.seasonal-menu .menu-item .seafood {
  background: #dbeafe;
  color: #2563eb;
}
.seasonal-menu .pdf-btn {
  border-radius: 50px;
}
.seasonal-menu {
  /* Hide tabs */
}
.seasonal-menu .tab-pane {
  display: none;
}
.seasonal-menu .tab-pane.active {
  display: block;
}

.nightlife-section {
  background: var(--neutral-bg);
}
.nightlife-section .section-tag {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2px;
  color: var(--themeblack);
  display: inline-block;
  margin-bottom: 18px;
}
.nightlife-section .section-title {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--black);
  margin-bottom: 25px;
}
.nightlife-section .section-description {
  font-size: 15px;
  color: #6a7282;
  line-height: 1.7;
  max-width: 700px;
  margin-bottom: 35px;
}
.nightlife-section .feature-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 20px 25px;
  margin-bottom: 18px;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  transition: 0.3s ease;
  border: 1.5px solid #f3f4f6;
}
.nightlife-section .feature-card:hover {
  transform: translateY(-4px);
}
.nightlife-section .feature-card .icon-box {
  width: 42px;
  height: 42px;
  background: var(--theme-light);
  color: var(--themeblack);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-right: 15px;
  flex-shrink: 0;
}
.nightlife-section .feature-card h6 {
  font-weight: 600;
  margin-bottom: 5px;
}
.nightlife-section .feature-card p {
  margin: 0;
  font-size: 14px;
  color: #6c757d;
}
.nightlife-section .image-wrapper {
  align-items: center;
}
.nightlife-section .image-card {
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
}
.nightlife-section .image-card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.nightlife-section .small-img {
  width: 50%;
  height: 390px;
}
.nightlife-section .large-img {
  width: 50%;
  height: 390px;
  margin-top: -50px;
}

.private-spaces-section .section-header {
  max-width: 700px;
  margin: 0 auto 40px auto;
}
.private-spaces-section .section-tag {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2px;
  color: var(--themeblack);
  display: inline-block;
  margin-bottom: 15px;
}
.private-spaces-section .section-title {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  font-weight: 600;
  color: var(--black);
  margin-bottom: 15px;
}
.private-spaces-section .section-description {
  font-size: 15px;
  color: #6c757d;
  line-height: 1.7;
}
.private-spaces-section .space-card {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  height: 420px;
  cursor: pointer;
}
.private-spaces-section .space-card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.5s ease;
}
.private-spaces-section .space-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 10%, rgba(0, 0, 0, 0.4) 40%, rgba(0, 0, 0, 0.1) 70%, transparent 100%);
}
.private-spaces-section .space-card:hover img {
  transform: scale(1.05);
}
.private-spaces-section .space-card .overlay-content {
  position: absolute;
  bottom: 30px;
  left: 30px;
  right: 30px;
  z-index: 2;
  color: #fff;
}
.private-spaces-section .space-card .overlay-content h4 {
  font-family: "Playfair Display", serif;
  font-size: 26px;
  margin-bottom: 8px;
  font-weight: 700;
}
.private-spaces-section .space-card .overlay-content p {
  font-size: 14px;
  opacity: 0.8;
  margin-bottom: 10px;
}
.private-spaces-section .space-card .overlay-content .space-link {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: 0.3s ease;
}
.private-spaces-section .space-card .overlay-content .space-link i {
  font-size: 14px;
  transition: 0.3s ease;
}
.private-spaces-section .space-card .overlay-content .space-link:hover {
  opacity: 0.85;
}
.private-spaces-section .space-card .overlay-content .space-link:hover i {
  transform: translateX(4px);
}

.testimonials-section {
  background: var(--neutral-bg);
}
.testimonials-section .testimonial-wrapper {
  background: #ffffff;
  border-radius: 40px;
  box-shadow: 0 7px 9px -5px rgba(0, 0, 0, 0.1), 0 19px 24px -4px rgba(0, 0, 0, 0.1);
  border: 1.5px solid #f9fafb;
}
.testimonials-section .section-title {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 20px;
  color: var(--black);
}
.testimonials-section .rating {
  color: #18a058;
  font-size: 18px;
}
.testimonials-section .rating-text {
  font-size: 14px;
  color: #6c757d;
}
.testimonials-section .awards-label {
  font-size: 11px;
  letter-spacing: 1.5px;
  font-weight: 600;
  color: #adb5bd;
}
.testimonials-section .awards-list {
  display: flex;
  gap: 25px;
}
.testimonials-section .awards-list span {
  font-size: 14px;
  font-style: italic;
  color: #495057;
}
.testimonials-section .testimonial-card {
  position: relative;
  background: var(--light-gray);
  border-radius: 20px;
  padding: 25px;
  min-height: 180px;
  transition: 0.3s ease;
}
.testimonials-section .testimonial-card:hover {
  transform: translateY(-5px);
}
.testimonials-section .testimonial-card .quote-icon {
  position: absolute;
  top: -4px;
  right: -4px;
  font-size: 35px;
  color: #d0fae5;
}
.testimonials-section .testimonial-card p {
  font-size: 14px;
  color: #495057;
  line-height: 1.7;
  margin-bottom: 15px;
}
.testimonials-section .testimonial-card h6 {
  font-weight: 600;
  margin-bottom: 2px;
  font-size: 14px;
}
.testimonials-section .testimonial-card span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--themeblack);
}
@media (max-width: 991px) {
  .testimonials-section .testimonial-wrapper {
    padding: 30px;
  }
}

.gift-section {
  background: var(--neutral-bg);
  padding: 100px 0;
}
.gift-section .gift-wrapper {
  background: var(--theme-gradient);
  border-radius: 40px;
  padding: 80px 70px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.08);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.gift-section {
  /* LEFT CONTENT */
}
.gift-section .gift-content {
  max-width: 480px;
}
.gift-section .gift-tag {
  font-size: 11px;
  letter-spacing: 2px;
  padding: 6px 14px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.15);
  display: inline-block;
  margin-bottom: 25px;
}
.gift-section .gift-title {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 20px;
}
.gift-section .gift-desc {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 35px;
}
.gift-section {
  /* RIGHT FLOATING CARD */
}
.gift-section .voucher-card {
  display: flex;
  justify-content: center;
}
.gift-section .card-inner {
  width: 480px;
  padding: 35px 25px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.08));
  backdrop-filter: blur(6px);
  transform: rotate(4deg);
  position: relative;
  box-shadow: 0 25px 45px rgba(0, 0, 0, 0.25);
}
.gift-section .voucher-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}
.gift-section .voucher-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  opacity: 0.6;
}
.gift-section .voucher-content {
  margin-top: 80px;
}
.gift-section .voucher-content small {
  font-size: 11px;
  letter-spacing: 2px;
  opacity: 0.7;
  display: block;
  margin-bottom: 10px;
}
.gift-section .voucher-content h5 {
  font-family: "Playfair Display", serif;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 10px;
}
.gift-section .voucher-content p {
  font-size: 14px;
  opacity: 0.85;
  margin: 0;
}

.booking-section {
  background: var(--neutral-bg);
  padding: 100px 0;
}
.booking-section .booking-wrapper {
  background: #1a1a1a;
  border-radius: 35px;
  padding: 40px 60px;
  color: #fff;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15);
}
.booking-section {
  /* LEFT SIDE */
}
.booking-section .booking-title {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 20px;
}
.booking-section .booking-desc {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 35px;
  max-width: 435px;
  line-height: 1.7;
}
.booking-section .booking-info .info-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 25px;
}
.booking-section .booking-info .info-item small {
  font-size: 12px;
  letter-spacing: 2px;
  opacity: 0.6;
  display: block;
  margin-bottom: 4px;
}
.booking-section .booking-info .info-item p {
  margin: 0;
  font-weight: 500;
}
.booking-section .booking-info .icon-box {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--theme-light);
  flex-shrink: 0;
  border: 1.5px solid rgba(255, 255, 255, 0.1);
}
.booking-section {
  /* RIGHT FORM */
}
.booking-section .booking-form-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
  border-radius: 24px;
  padding: 40px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.booking-section label {
  font-size: 11px;
  letter-spacing: 2px;
  opacity: 0.6;
  margin-bottom: 6px;
  display: block;
}
.booking-section .custom-input {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  padding: 14px 16px;
  border-radius: 12px;
  font-size: 14px;
}
.booking-section .custom-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.booking-section .custom-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.booking-section .custom-input:focus {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--themeblack);
  box-shadow: none;
  color: #fff;
}

.brand-strip {
  background: var(--neutral-bg);
  padding: 70px 0;
}
.brand-strip .brand-slider {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.brand-strip .brand-track {
  gap: 120px;
  animation: scrollBrand 25s linear infinite;
  width: -moz-max-content;
  width: max-content;
}
.brand-strip .brand-item {
  font-family: "Playfair Display", serif;
  font-size: 28px;
  font-style: italic;
  color: #1a1a1a;
  white-space: nowrap;
  transition: 0.3s ease;
  font-weight: 700;
  opacity: 0.4;
}
.brand-strip .brand-item:hover {
  color: var(--themeblack);
}

/* Infinite animation */
@keyframes scrollBrand {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.booknow-section {
  background: #fcfbfa;
  overflow-x: hidden;
}
.booknow-section .form-container {
  padding: 30px 20px;
  background: #fff;
}
.booknow-section .form-container .form-header {
  margin-bottom: 40px;
}
.booknow-section .form-container .form-header .badge-label {
  display: inline-block;
  background: var(--theme-gradient);
  color: white;
  padding: 8px 20px;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.booknow-section .form-container .form-header .form-title {
  font-size: 36px;
  font-weight: 700;
  color: var(--themeblack);
  margin-bottom: 12px;
}
.booknow-section .form-container .form-header .form-subtitle {
  font-size: 15px;
  color: #6b7280;
}
.booknow-section .form-container .form-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--themeblack);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
}
.booknow-section .form-container .form-label i {
  opacity: 0.7;
  font-size: 14px;
}
.booknow-section .form-container .form-label .optional {
  font-weight: 400;
  color: #9ca3af;
  font-size: 12px;
  margin-left: 4px;
}
.booknow-section .form-container .custom-input {
  background: #f9fafb;
  border: 2px solid #e5e7eb;
  padding: 14px 18px;
  font-size: 15px;
  border-radius: 12px;
  transition: all 0.3s;
}
.booknow-section .form-container .custom-input:focus {
  border-color: var(--themeblack);
  box-shadow: 0 0 0 4px rgba(0, 74, 99, 0.08);
  background: #fff;
  outline: none;
}
.booknow-section .form-container .custom-input.custom-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23004a63' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
}
.booknow-section .form-container .iti.iti--allow-dropdown {
  width: 100%;
}
.booknow-section .form-container .iti.iti--allow-dropdown .phone {
  padding-left: 50px;
}
.booknow-section .form-container .recaptcha-wrapper {
  padding: 20px;
  background: #f9fafb;
  border-radius: 12px;
  border: 2px dashed #e5e7eb;
  text-align: center;
}
.booknow-section .form-container .btn-submit {
  background: var(--theme-gradient);
  color: white;
  border: none;
  padding: 16px 32px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 12px;
  transition: all 0.3s;
  box-shadow: 0 10px 25px rgba(0, 74, 99, 0.2);
}
.booknow-section .form-container .btn-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 35px rgba(0, 74, 99, 0.3);
}
.booknow-section .form-container .btn-submit:hover i {
  transform: translateX(5px);
}
.booknow-section .form-container .btn-submit i {
  transition: transform 0.3s;
}
.booknow-section .form-container .form-footer-text {
  text-align: center;
  margin-top: 20px;
  font-size: 13px;
  color: #6b7280;
}
.booknow-section .visual-container {
  position: relative;
  height: 100%;
  background: var(--theme-gradient);
  overflow: hidden;
}
.booknow-section .visual-container .visual-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 74, 99, 0.85), rgba(0, 107, 138, 0.75));
  z-index: 1;
}
.booknow-section .visual-container .visual-content {
  position: relative;
  z-index: 2;
  height: 100%;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.booknow-section .visual-container .hero-image {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.booknow-section .visual-container .hero-image .main-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.3;
}
.booknow-section .info-cards {
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 40px;
}
.booknow-section .info-cards .info-card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  transition: all 0.3s;
  flex: 1;
  min-width: 200px;
}
.booknow-section .info-cards .info-card:hover {
  transform: translateY(-5px);
}
.booknow-section .info-cards .info-card .card-icon {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  background: var(--theme-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
}
.booknow-section .info-cards .info-card .card-icon i {
  color: white;
  font-size: 22px;
}
.booknow-section .info-cards .info-card .card-content h4 {
  font-size: 20px;
  font-weight: 700;
  color: var(--themeblack);
  margin: 0 0 4px 0;
}
.booknow-section .info-cards .info-card .card-content p {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
}
.booknow-section .features-list,
.booknow-section .testimonial-card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  padding: 32px;
  margin-bottom: 30px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}
.booknow-section .features-list h3 {
  font-size: 22px;
  font-weight: 700;
  color: var(--themeblack);
  margin-bottom: 20px;
}
.booknow-section .features-list ul {
  list-style: none;
  padding: 0;
}
.booknow-section .features-list ul li {
  font-size: 15px;
  padding: 12px 0;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
}
.booknow-section .features-list ul li:last-child {
  border-bottom: none;
}
.booknow-section .features-list ul li i {
  color: var(--success-green);
  margin-right: 12px;
}
.booknow-section .testimonial-card {
  position: relative;
}
.booknow-section .testimonial-card .quote-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--theme-light);
  display: flex;
  align-items: center;
  justify-content: center;
}
.booknow-section .testimonial-card .testimonial-text {
  font-size: 15px;
  color: #374151;
  margin-bottom: 24px;
  font-style: italic;
}
.booknow-section .testimonial-card .testimonial-author {
  display: flex;
  align-items: center;
  gap: 16px;
}
.booknow-section .testimonial-card .testimonial-author .author-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--theme-light);
}
.booknow-section .testimonial-card .testimonial-author .author-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.booknow-section .testimonial-card .testimonial-author .author-info h5 {
  font-size: 16px;
  font-weight: 600;
  color: var(--themeblack);
  margin: 0 0 4px 0;
}
.booknow-section .testimonial-card .testimonial-author .author-info p {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
}
.booknow-section .testimonialSwiper .swiper-pagination {
  bottom: 0px;
}
.booknow-section .testimonialSwiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
  transition: all 0.3s;
}
.booknow-section .testimonialSwiper .swiper-pagination-bullet-active {
  background: var(--soft-white);
  width: 24px;
  border-radius: 5px;
}
.booknow-section .booking-summary {
  background: var(--soft-white);
  border-radius: 20px;
  overflow: hidden;
  transition: 0.3s ease;
}
.booknow-section .booking-summary .summary-header {
  background: var(--theme-gradient);
  padding: 18px 24px;
  color: #fff;
}
.booknow-section .booking-summary .summary-header h4 {
  font-weight: 600;
  letter-spacing: 0.5px;
}
.booknow-section .booking-summary .summary-body {
  padding: 25px;
}
.booknow-section .booking-summary .summary-body .summary-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  font-size: 15px;
}
.booknow-section .booking-summary .summary-body .summary-item span {
  color: #6c757d;
  font-weight: 500;
}
.booknow-section .booking-summary .summary-body .summary-item strong {
  font-weight: 600;
  color: var(--black);
}
.booknow-section .booking-summary .summary-body .divider {
  height: 1px;
  background: rgba(0, 0, 0, 0.08);
  margin: 20px 0;
}
.booknow-section .booking-summary .summary-body .summary-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 18px;
  padding-top: 10px;
}
.booknow-section .booking-summary .summary-body .summary-total span {
  font-weight: 600;
  color: var(--themeblack);
}
.booknow-section .booking-summary .summary-body .summary-total strong {
  font-size: 22px;
  font-weight: 700;
  color: var(--success-green);
}
.booknow-section .booking-summary:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

.car-section {
  padding: 60px 0;
}
.car-section .fleet-heading h2 {
  font-size: 50px;
  font-weight: 900;
  color: var(--themeblack);
  margin-bottom: 15px;
}
.car-section .fleet-heading p {
  font-size: 20px;
  color: #4a5565;
  line-height: 1.7;
  max-width: 418px;
}
.car-section .fleet-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  transition: 0.3s ease;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
  height: 100%;
}
.car-section .fleet-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}
.car-section .fleet-card .fleet-img {
  padding: 15px 25px 20px;
  text-align: center;
}
.car-section .fleet-card .fleet-img img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.car-section .fleet-card .fleet-content {
  padding: 20px 25px 25px;
  border-top: 1px solid #f1f1f1;
  text-align: center;
}
.car-section .fleet-card .fleet-content h3 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}
.car-section .fleet-card .fleet-content h3 a {
  color: var(--themeblack);
}
.car-section .fleet-card .fleet-content p {
  color: #6a7282;
  margin-bottom: 18px;
}
.car-section .fleet-card .fleet-content .commonbtn {
  padding: 10px 0;
  border-radius: 30px;
}

.car-details .badge-car {
  background: #f5f5f4;
  padding: 5px 12px;
  font-size: 12px;
  border-radius: 30px;
  display: inline-block;
  margin-bottom: 10px;
}
.car-details .car-title {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 10px;
}
.car-details .car-rating {
  color: #a6a09b;
  font-size: 14px;
}
.car-details .car-rating i {
  color: #facc15;
  margin-right: 4px;
}
.car-details .car-rating strong {
  color: #111;
  margin-right: 4px;
}
.car-details .car-gallery {
  background: #fafaf9;
  padding: 20px;
  border-radius: 30px;
}
.car-details .car-gallery .mainSwiper {
  height: 400px;
}
.car-details .car-gallery .mainSwiper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.car-details .car-gallery .thumbSwiper .swiper-slide {
  height: 140px;
  opacity: 0.6;
  cursor: pointer;
}
.car-details .car-gallery .thumbSwiper .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 12px;
}
.car-details .car-gallery .thumbSwiper .swiper-slide-thumb-active {
  opacity: 1;
  border: 2px solid var(--themeblack);
  border-radius: 12px;
}
.car-details .car-specs .spec-card {
  background: #fff;
  border-radius: 16px;
  padding: 22px 20px;
  height: 100%;
  border: 1px solid #f5f5f4;
  transition: all 0.3s ease;
}
.car-details .car-specs .spec-card:hover {
  border-color: var(--themecolor);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  transform: translateY(-3px);
}
.car-details .car-specs .spec-card .spec-icon i {
  font-size: 18px;
  color: #a6a09b;
}
.car-details .car-specs .spec-card span {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #a6a09b;
  letter-spacing: 1px;
  margin-top: 4px;
  margin-bottom: 12px;
}
.car-details .car-specs .spec-card h6 {
  font-size: 20px;
  font-weight: 700;
  margin: 0;
  color: #222;
}
.car-details .premium-features .feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.car-details .premium-features .feature-list li {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 15px;
  color: #4a4a4a;
  margin-bottom: 18px;
}
.car-details .premium-features .feature-list li i {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(1, 100, 167, 0.12);
  color: #57534d;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.car-details .included-card {
  background: var(--black);
  border-radius: 28px;
  padding: 40px;
  color: #fff;
}
.car-details .included-card .section-title {
  font-size: 28px;
}
.car-details .included-card .included-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.car-details .included-card .included-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  color: #d6d3d1;
  margin-bottom: 20px;
}
.car-details .included-card .included-list li i {
  color: #fe9a00;
  font-size: 20px;
}
.car-details .booking-sidebar {
  background: #ffffff;
  padding: 25px;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
  position: sticky;
  top: 80px;
}
.car-details .booking-sidebar h5 {
  margin-bottom: 20px;
  font-weight: 600;
}
.car-details .booking-sidebar .form-control {
  border-radius: 10px;
  font-size: 14px;
}
.car-details .booking-sidebar .pac-container {
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  font-family: inherit;
}
.car-details .booking-sidebar .pac-item {
  padding: 5px 14px;
  cursor: pointer;
}
.car-details .booking-sidebar .pac-item:hover {
  background-color: #f5f5f5;
}
.car-details .booking-sidebar .pac-logo::after {
  display: none;
}
.car-details .support-card {
  background: #fff;
  border-radius: 20px;
  padding: 24px;
  border: 1px solid #ececec;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.car-details .support-card .support-icon i {
  color: #fe9a00;
  font-size: 28px;
}
.car-details .support-card h6 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 6px;
}
.car-details .support-card p {
  color: #79716b;
  margin: 0;
}

.pac-container {
  border-radius: 12px !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important;
  font-family: inherit !important;
  z-index: 9999 !important;
}

.pac-item {
  padding: 6px 10px !important;
  cursor: pointer;
}

.pac-item:hover {
  background-color: #f5f5f5 !important;
}

.pac-logo:after {
  display: none !important;
}

.recommended-section .section-title {
  font-size: 36px;
  font-family: "Playfair Display", serif;
}
.recommended-section .section-subtitle {
  color: #6a7282;
  max-width: 450px;
}
.recommended-section .filter-tabs {
  background: #f3f4f6;
  padding: 6px;
  border-radius: 15px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.recommended-section .filter-tabs .filter-btn {
  border: none;
  background: transparent;
  padding: 6px 16px;
  border-radius: 12px;
  font-size: 13px;
  color: #99a1af;
  transition: 0.3s;
}
.recommended-section .filter-tabs .filter-btn.active {
  background: #fff;
  color: var(--themecolor);
  font-weight: 500;
  box-shadow: 0 1px 2px -1 rgba(0, 0, 0, 0.107), 0 1px 3px 0px rgba(0, 0, 0, 0.1019607843);
}
.recommended-section .filter-tabs .filter-btn:hover {
  color: var(--themecolor);
}
.recommended-section {
  /* =============================
     Cards
  ============================= */
}
.recommended-section .attraction-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #f3f4f6;
  transition: 0.3s;
}
.recommended-section .attraction-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}
.recommended-section .attraction-card .card-image {
  position: relative;
}
.recommended-section .attraction-card .card-image img {
  height: 220px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.recommended-section .attraction-card .card-image .category-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: #fff;
  padding: 5px 12px;
  font-size: 11px;
  border-radius: 20px;
  font-weight: 600;
}
.recommended-section .attraction-card .card-image .rating-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #1f2937;
  color: #fff;
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 20px;
}
.recommended-section .attraction-card .card-image .rating-badge i {
  color: #22c55e;
  margin-right: 4px;
}
.recommended-section .attraction-card .card-body {
  padding: 20px;
}
.recommended-section .attraction-card .card-body h3 {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 8px;
}
.recommended-section .attraction-card .card-body h3 a {
  color: var(--black);
}
.recommended-section .attraction-card .card-body p {
  font-size: 13px;
  color: #131313;
  margin-bottom: 14px;
}
.recommended-section .attraction-card .card-body .meta {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: #666;
  margin-bottom: 10px;
}
.recommended-section .attraction-card .card-body .meta i {
  margin-right: 6px;
  color: var(--themecolor);
}
.recommended-section .attraction-card .card-body .price {
  font-size: 13px;
  color: var(--themecolor);
  font-weight: 600;
}
.recommended-section .attraction-card .card-body .book-btn {
  font-size: 12px;
  text-decoration: none;
  color: #222;
  font-weight: 600;
}
.recommended-section .attraction-card .card-body .book-btn i {
  margin-left: 6px;
  transition: 0.3s;
}
.recommended-section .attraction-card .card-body .book-btn:hover i {
  transform: translateX(4px);
}
.recommended-section .attraction-card .card-footer {
  border-top: 1px solid #f9fafb;
  padding-top: 8px;
}

.tour-experience-section {
  padding: 50px 0;
  background: radial-gradient(circle at 10% 50%, #0e2a23 0%, #111111 40%, #0c0c0c 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.tour-experience-section .section-header .mini-title {
  display: block;
  font-size: 12px;
  letter-spacing: 2px;
  color: #006b8a;
  margin-bottom: 12px;
  font-weight: 600;
}
.tour-experience-section .section-header .main-title {
  font-size: 36px;
  font-weight: 600;
  font-family: "Playfair Display", serif;
  margin: 0;
}
.tour-experience-section .experience-card {
  max-width: 320px;
  margin: auto;
}
.tour-experience-section .experience-card .icon-wrapper {
  width: 70px;
  height: 70px;
  margin: 0 auto 24px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.1019607843);
}
.tour-experience-section .experience-card .icon-wrapper i {
  font-size: 30px;
  color: #006b8a;
}
.tour-experience-section .experience-card h5 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 14px;
}
.tour-experience-section .experience-card p {
  font-size: 13px;
  color: #b5b5b5;
  line-height: 1.7;
  max-width: 280px;
  margin: auto;
}
.tour-experience-section .section-header p {
  font-size: 18px;
  font-style: italic;
}

.grand-tour-section {
  background: var(--neutral-bg);
}
.grand-tour-section .grand-tour-wrapper {
  background: var(--themeblack);
  border-radius: 40px;
  padding: 80px 70px;
  color: #fff;
}
.grand-tour-section .grand-title {
  font-size: 36px;
  font-weight: 600;
  line-height: 1.2;
  font-family: "Playfair Display", serif;
  margin-bottom: 24px;
}
.grand-tour-section .grand-desc {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
  max-width: 420px;
  line-height: 1.8;
  margin-bottom: 30px;
}
.grand-tour-section .grand-buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.grand-tour-section .grand-buttons .btn-primary-custom {
  background: var(--black);
  color: #fff;
  padding: 14px 26px;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: 0.3s;
}
.grand-tour-section .grand-buttons .btn-primary-custom:hover {
  background: #111;
}
.grand-tour-section .grand-buttons .btn-outline-custom {
  background: #fff;
  color: var(--themeblack);
  padding: 14px 26px;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: 0.3s;
}
.grand-tour-section .grand-buttons .btn-outline-custom:hover {
  background: var(--theme-light);
}
.grand-tour-section {
  /* ===========================
     Image Grid
  =========================== */
}
.grand-tour-section .image-grid .img-card {
  margin-top: 15px;
  padding: 0px 7px;
}
.grand-tour-section .image-grid .two {
  margin-top: 40px;
}
.grand-tour-section .image-grid img {
  border-radius: 20px;
  transition: 0.4s ease;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 15px;
}
.grand-tour-section .image-grid img:hover {
  transform: scale(1.05);
}

.gallery-section {
  background: var(--neutral-bg);
}
.gallery-section img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s ease;
}
.gallery-section .main-img {
  height: 460px;
  border-radius: 24px;
}
.gallery-section .small-img {
  height: 220px;
  border-radius: 20px;
}
.gallery-section .gallery-more {
  background: #d9d9d9;
  height: 220px;
  border-radius: 24px;
  position: relative;
}
.gallery-section .gallery-more .view-btn {
  background: white;
  padding: 12px 24px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  color: var(--black);
  text-decoration: none;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.gallery-section .gallery-more .view-btn i {
  color: var(--themeblack);
}
.gallery-section .gallery-more .view-btn:hover {
  background: var(--themeblack);
  color: white;
  transform: translateY(-3px);
}
.gallery-section .gallery-more .view-btn:hover i {
  color: white;
}
.gallery-section a:hover img {
  transform: scale(1.02);
}

.landmark-section {
  background: var(--neutral-bg);
  position: relative;
}
.landmark-section .landmark-badge {
  background: #ecfdf5;
  color: var(--themeblack);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 6px 14px;
  border-radius: 50px;
}
.landmark-section .rating {
  font-size: 13px;
  font-weight: 700;
  color: #2f4858;
}
.landmark-section .landmark-title {
  font-size: 36px;
  font-weight: 700;
  color: #292929;
  font-family: "Times New Roman", Times, serif;
}
.landmark-section .meta-info {
  font-size: 13px;
  color: #6a7282;
}
.landmark-section .meta-info i {
  color: var(--themeblack);
  margin-right: 6px;
}
.landmark-section .chauffeur-box {
  background: #ecfdf5;
  border: 2px solid #d0fae5;
  padding: 24px 30px;
  border-radius: 25px;
  margin-top: 20px;
}
.landmark-section .chauffeur-box h6 {
  font-weight: 600;
  margin-bottom: 5px;
  color: #1e293b;
}
.landmark-section .chauffeur-box p {
  font-size: 14px;
  color: #475569;
  margin: 0;
}
.landmark-section .chauffeur-box .icon-box {
  min-width: 60px;
  height: 60px;
  background: #ffffff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1019607843), 0 1px 3px 0px rgba(0, 0, 0, 0.1019607843);
  font-size: 25px;
}
.landmark-section .chauffeur-box .shield-icon {
  font-size: 28px;
  color: #a4f4cf;
}
.landmark-section .description {
  font-size: 15px;
  color: #4b5563;
  line-height: 1.8;
}
.landmark-section .section-title {
  font-size: 20px;
}
.landmark-section .highlight-card {
  background: white;
  border: 1.5px solid #f3f4f6;
  padding: 28px;
  border-radius: 20px;
  transition: all 0.3s ease;
}
.landmark-section .highlight-card h6 {
  font-weight: 700;
  margin-top: 15px;
  color: #1f2937;
}
.landmark-section .highlight-card p {
  font-size: 12px;
  color: #99a1af;
  margin: 0;
}
.landmark-section .highlight-card .card-icon {
  width: 50px;
  height: 50px;
  background: #f9fafb;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.landmark-section .highlight-card .card-icon i {
  color: var(--themeblack);
  font-size: 20px;
}
.landmark-section .highlight-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
}

.tents-section .tab-btn {
  padding: 10px 22px;
  border-radius: 50px;
  border: 1px solid #e7e5e4;
  font-weight: 700;
  transition: 0.3s;
  color: #57534d;
  background: transparent;
}
.tents-section .tab-btn.active {
  background: #1f1f1f;
  color: white;
  border-color: #1f1f1f;
  box-shadow: 0 6px 9px -6px rgba(0, 0, 0, 0.1), 0 15px 23px -6px rgba(0, 0, 0, 0.1);
}
.tents-section .tab-btn:hover {
  background: #1f1f1f;
  color: white;
}
.tents-section .tent-card {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  transition: 0.3s;
}
.tents-section .tent-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}
.tents-section .tent-image {
  position: relative;
}
.tents-section .tent-image img {
  width: 100%;
  height: 270px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
.tents-section .tent-image .badge-label {
  position: absolute;
  top: 15px;
  left: 15px;
  background: white;
  padding: 5px 12px;
  font-size: 11px;
  font-weight: 600;
  border-radius: 50px;
}
.tents-section .tent-image .wishlist {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 34px;
  height: 34px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tents-section .tent-image .wishlist i {
  color: var(--theme-light);
  font-size: 14px;
}
.tents-section .tent-body {
  padding: 20px;
}
.tents-section .tent-body .title-rating {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.tents-section .tent-body .title-rating h3 {
  font-weight: 700;
  margin: 0;
  font-size: 24px;
}
.tents-section .tent-body .title-rating h3 a {
  color: #000;
}
.tents-section .tent-body .title-rating .rating {
  font-size: 14px;
  font-weight: 600;
}
.tents-section .tent-body .title-rating .rating i {
  color: #f59e0b;
}
.tents-section .tent-body .location {
  font-size: 18px;
  color: #79716b;
  margin: 8px 0;
}
.tents-section .tent-body .location i {
  margin-right: 4px;
}
.tents-section .tent-body .meta {
  display: flex;
  gap: 20px;
  font-size: 18px;
  color: #79716b;
}
.tents-section .tent-body .price-row {
  margin-top: 10px;
  padding-top: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #f5f5f4;
}
.tents-section .tent-body .price-row .price {
  font-size: 22px;
  font-weight: 700;
}
.tents-section .tent-body .price-row .price span {
  font-weight: 400;
  color: #6b7280;
}
.tents-section .tent-body .price-row .view-link {
  font-size: 18px;
  font-weight: 700;
  color: var(--success-green);
  text-decoration: none;
}
.tents-section .show-more-btn {
  background: #1f1f1f;
  color: white;
  padding: 14px 30px;
  border-radius: 24px;
  border: none;
  font-weight: 600;
  transition: 0.3s;
}
.tents-section .show-more-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.blog-feature .blog-card {
  background: white;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid #f3f4f6;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.05);
}
.blog-feature .blog-image {
  height: 100%;
}
.blog-feature .blog-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 30px 0 0 30px;
}
.blog-feature .blog-content {
  padding: 60px 60px;
}
.blog-feature .blog-content .category-badge {
  background: rgba(0, 74, 99, 0.08);
  color: var(--themeblack);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 6px 14px;
  border-radius: 50px;
}
.blog-feature .blog-content .read-time {
  font-size: 13px;
  color: #6b7280;
}
.blog-feature .blog-content .read-time i {
  margin-right: 5px;
}
.blog-feature .blog-content .blog-title {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 20px;
  font-family: "Times New Roman", Times, serif;
}
.blog-feature .blog-content .blog-desc {
  color: #6a7282;
  max-width: 520px;
  line-height: 1.7;
}
.blog-feature .blog-content .author-row {
  border-top: 1px solid #f9fafb;
  padding-top: 25px;
}
.blog-feature .blog-content .author-row .author-avatar {
  width: 45px;
  height: 45px;
  background: var(--theme-light);
  color: var(--themeblack);
  font-weight: 600;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.blog-feature .blog-content .author-row .author-name {
  font-weight: 600;
  font-size: 14px;
}
.blog-feature .blog-content .author-row .author-date {
  font-size: 12px;
  color: #6b7280;
}
.blog-feature .blog-content .author-row .read-link {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  text-decoration: none;
  transition: 0.3s;
}
.blog-feature .blog-content .author-row .read-link i {
  transition: 0.3s;
}
.blog-feature .blog-content .author-row .read-link:hover {
  color: var(--themeblack);
}
.blog-feature .blog-content .author-row .read-link:hover i {
  transform: translateX(4px);
}

.blog-card-container .attraction-card .card-body .meta {
  text-transform: uppercase;
  color: #99a1af;
  font-weight: 700;
}
.blog-card-container .attraction-card .card-footer {
  color: #4a5565;
}
.blog-card-container .attraction-card .card-footer span {
  width: 23px;
  height: 23px;
  background: #f3f4f6;
  display: inline-block;
  border-radius: 50%;
  text-align: center;
  line-height: 23px;
  font-size: 12px;
}

.blog-hero {
  padding-bottom: 60px;
}
.blog-hero .back-link {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #1f2937;
  text-decoration: none;
  transition: 0.3s;
}
.blog-hero .back-link:hover {
  color: var(--themeblack);
}
.blog-hero .meta-top .category-badge {
  background: rgba(0, 74, 99, 0.08);
  color: var(--themeblack);
  font-size: 10px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 50px;
  letter-spacing: 1px;
}
.blog-hero .meta-top .read-time {
  font-size: 12px;
  color: #99a1af;
}
.blog-hero .blog-title {
  font-size: 64px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -1px;
  color: #1f2937;
  max-width: 850px;
  font-family: "Times New Roman", Times, serif;
}
.blog-hero .author-actions {
  border-top: 1px solid #e5e7eb;
  padding-top: 25px;
}
.blog-hero .author-avatar {
  width: 50px;
  height: 50px;
  background: var(--theme-light);
  color: var(--themeblack);
  font-weight: 600;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.blog-hero .author-name {
  font-weight: 600;
  font-size: 14px;
}
.blog-hero .author-role {
  font-size: 12px;
  color: #6b7280;
}
.blog-hero .btn-share {
  background: white;
  border: 1px solid #e5e7eb;
  padding: 8px 18px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 500;
  transition: 0.3s;
}
.blog-hero .btn-share:hover {
  background: var(--theme-light);
}
.blog-hero .btn-save {
  border-radius: 14px;
  background: var(--black);
}
.blog-hero .btn-save:hover {
  background: var(--themeblack);
}
.blog-hero .social-icons a{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #a6b800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.blog-hero .social-icons a i {
  color: #064e63;
}
.blog-hero .social-icons a:hover {
  background: #a6b800;
  color: #064e63;
}
.blog-hero .hero-image img {
  width: 100%;
  border-radius: 30px;
  -o-object-fit: cover;
     object-fit: cover;
  height: 520px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
}

.blog-content-section {
  padding: 50px 0px;
  padding-top: 30px;
}
.blog-content-section .blog-sidebar {
  position: sticky;
  top: 100px;
}
.blog-content-section .blog-sidebar .guide-title {
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: 600;
  color: #99a1af;
  border-bottom: 1px solid #f3f4f6;
  padding-bottom: 10px;
}
.blog-content-section .blog-sidebar .guide-list {
  list-style: none;
  padding: 0;
  margin-top: 15px;
  margin-bottom: 0;
}
.blog-content-section .blog-sidebar .guide-list li {
  font-size: 14px;
  padding: 8px 0;
  cursor: pointer;
  color: #4a5565;
}
.blog-content-section .blog-sidebar .guide-list li a {
  color: #4a5565;
  display: flex;
}
.blog-content-section .blog-sidebar .guide-list li span {
  color: var(--success-green);
  display: inline-block;
  margin-right: 10px;
}
.blog-content-section .blog-sidebar .experience-card {
  background: #f9fafb;
  padding: 20px;
  border-radius: 16px;
}
.blog-content-section .blog-sidebar .experience-card .icon {
  font-size: 20px;
  color: var(--themeblack);
}
.blog-content-section .blog-sidebar .experience-card h6 {
  margin-top: 10px;
  font-weight: 600;
}
.blog-content-section .blog-sidebar .experience-card p {
  font-size: 13px;
  color: #6b7280;
}
.blog-content-section .blog-sidebar .experience-card .arrange-btn {
  background: var(--themeblack);
  width: 100%;
  margin-top: 10px;
  font-size: 12px;
  border-radius: 16px;
  box-shadow: 0 4px 6px -4px rgba(0, 153, 102, 0.2), 0 10px 15px -3px rgba(0, 153, 102, 0.2);
}
.blog-content-section .blog-main {
  padding-left: 40px;
}
.blog-content-section .blog-main .intro-text, .blog-content-section .blog-main .intro-ul li {
  color: var(--themeblack);
  line-height: 1.7;
  font-size: 15px;
}
.blog-content-section .blog-main .intro-ul {
  padding-left: 2rem;
}
.blog-content-section .blog-main .intro-ul li {
  list-style: disc !important;
}
.blog-content-section .blog-main .section-heading {
  font-weight: 700;
  color: var(--black);
  margin: 15px 0;
}
.blog-content-section .blog-main .section-desc, .blog-hero .section-desc {
  font-size: 15px;
  color: #111;
  line-height: 1.7;
  margin-bottom: 10px;
}
.blog-content-section .blog-main .content-img {
  width: 100%;
  border-radius: 20px;
  height: 240px;
  -o-object-fit: cover;
     object-fit: cover;
}
.blog-content-section .blog-main .quote-block {
  background: #002c22;
  color: white;
  padding: 40px;
  border-radius: 25px;
  font-style: italic;
  font-size: 25px;
  font-family: "Times New Roman", Times, serif;
}
.blog-content-section .blog-main .quote-block .span {
  display: block;
  margin-top: 15px;
  font-size: 12px;
  opacity: 0.8;
  text-transform: uppercase;
  color: var(--success-green);
  font-style: normal;
}
.blog-content-section .blog-main .quote-block .span span {
  font-weight: 900;
}
.blog-content-section .blog-main .info-card {
  background: #f9fafb;
  padding: 25px;
  border-radius: 20px;
  border: 1px solid #f3f4f6;
}
.blog-content-section .blog-main .info-card h2 {
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--themeblack);
  text-transform: uppercase;
  font-size: 14px;
}
.blog-content-section .blog-main .info-card ul li {
  font-size: 13px;
  margin-bottom: 5px;
}
.blog-content-section .blog-main .info-card ul li i {
  color: var(--success-green);
  margin-right: 7px;
}
.blog-content-section .blog-main .info-card p {
  font-size: 14px;
  font-style: italic;
  color: #6a7282;
}
.blog-content-section .blog-main .related-card img {
  width: 100%;
  height: 180px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
.blog-content-section .blog-main .related-card .category {
  font-size: 11px;
  color: var(--themeblack);
  margin-top: 10px;
}
.blog-content-section .blog-main .related-card h6 {
  font-weight: 600;
  margin-top: 5px;
}
.blog-content-section .blog-main .keep-reading {
  border-top: 1px solid #f3f4f6;
}
.blog-content-section .blog-main .keep-reading a {
  color: var(--themeblack);
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.blog-content-section .blog-main h3 {
  font-weight: 600;
  font-size: 24px !important;
  color: #000;
  margin: 15px 0;
}

@media (max-width: 1200px) {
  .hotel-service-section .right_content {
    width: 50%;
  }
  .hotel-service-section .left_slider {
    width: 50%;
  }
}
@media (max-width: 991px) {
  .contact-form-card {
    max-width: 100%;
    margin-top: 2rem;
  }
  .banner > .container {
    padding: 40px 0;
  }
  .about-section .image-main {
    width: 100%;
  }
  .about-modern .image-wrapper {
    min-height: 400px;
    margin-bottom: 2rem;
  }
  .about-modern .tag-wrapper {
    justify-content: center;
  }
  .blog-content-section {
    padding: 10px 0;
  }
  .blog-content-section .blog-sidebar {
    padding: 15px;
    padding-bottom: 0;
  }
  .map-contact-section .map-wrapper iframe {
    height: 300px;
  }
  .blog-content-section .blog-main .section-heading {
    margin: 20px 0;
  }
}
@media (max-width: 768px) {
  .hotel-service-section .right_content {
    width: 100%;
    padding: 40px 20px 0;
  }
  .hotel-service-section .left_slider {
    width: 100%;
  }
  .gallery-section .gallerySwiper img {
    height: 240px;
  }
  .gallery-section .gallery-prev {
    left: -10px;
  }
  .gallery-section .gallery-next {
    right: -10px;
  }
  .dream-banner {
    padding: 40px 25px;
  }
  .dream-banner .banner-content h2 {
    font-size: 22px;
    line-height: 30px;
  }
  .info-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 40px;
    background: #e5e7eb;
  }
  .tent-experience .highlight-block .highlight-text-area {
    padding: 0 1rem;
  }
  .blog-content-section .blog-main {
    padding-left: 0;
    padding: 10px;
  }
}
@media (max-width: 576px) {
  .section-title {
    font-size: 24px;
  }
  .section-sub-title {
    font-size: 20px;
    line-height: 30px;
  }
  .banner > .container .banner-left h1 {
    font-size: 20px;
    line-height: 30px;
  }
  header .logo {
    width: 100px;
  }
  header .book_your_ride {
    font-size: 10px;
  }
  .about-modern .floating-badge {
    width: 80px;
    height: 80px;
    bottom: 20px;
    right: 20px;
  }
  .about-modern .floating-badge .badge-number {
    font-size: 2rem;
  }
  .about-modern .floating-badge .badge-text {
    font-size: 0.75rem;
  }
  .provider-section .provider-wrapper {
    padding: 20px;
  }
  .room-section .room-card .room-title {
    font-size: 20px;
  }
  .seasonal-menu .menu-item .menu-top .line {
    display: none;
  }
  .nightlife-section .section-title {
    font-size: 32px;
  }
  .hotel-service-gallery .show-photos-btn {
    right: 15px;
  }
  .gift-section .gift-title {
    font-size: 32px;
  }
  .gift-section .gift-wrapper {
    padding: 40px 25px;
  }
  .booknow-section .visual-container .visual-content {
    padding: 20px 10px;
  }
  .grand-tour-section .grand-title {
    font-size: 30px;
  }
  .grand-tour-section .grand-tour-wrapper {
    padding: 15px;
  }
  .grand-tour-section .image-grid .two {
    margin-top: 0px;
  }
  .blog-feature .blog-content {
    padding: 20px;
  }
  .blog-feature .blog-content .blog-title {
    font-size: 25px;
  }
  .blog-feature .blog-content .author-row {
    padding-top: 15px;
  }
  .booking-card {
    padding: 10px;
  }
  .gallery-section .gallery-nav {
    width: 32px;
    height: 32px;
  }
  .gallery-section .gallery-nav i {
    font-size: 14px;
  }
}/*# sourceMappingURL=style.css.map */

/* Price Table  */
.camp-info-section {
  padding: 40px 15px;
  background: #fff;
}

.camp-title {
  font-size: 30px;
  margin-bottom: 15px;
  font-weight: 600;
}

.camp-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: center;
}

.camp-info-title {
  font-size: 28px;
  margin-bottom: 25px;
  font-weight: 600;
}

.camp-info-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.camp-info-list li {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 18px;
  font-size: 16px;
  line-height: 1.6;
}

.camp-info-list i {
  color: #044c65;
  font-size: 18px;
  margin-top: 4px;
}

.camp-right {
  background: #f7faf8;
  padding: 15px 30px;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

.camp-table-wrapper {
  overflow-x: auto;
}

.camp-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}

.camp-table thead {
  background: #044c65;
  color: #fff;
}

.camp-table th {
  padding: 16px;
  text-align: left;
  font-size: 16px;
}

.camp-table td {
  padding: 15px;
  border-bottom: 1px solid #eee;
  font-size: 15px;
}

.camp-table tbody tr:nth-child(even) {
  background: #f4f7f5;
}

.camp-table tbody tr:hover {
  background: #e8f3ec;
}

.camp-table td:nth-child(2),
.camp-table td:nth-child(3) {
  font-weight: 600;
}

@media (max-width: 992px) {
    .camp-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
  .camp-title {
    font-size: 24px;
  }

  .camp-table th,
  .camp-table td {
    padding: 12px;
    font-size: 14px;
  }
}