/* Custom classes */
.backward-translate-x-full {
  transform: translateX(calc(-100%));
}

.forward-translate-x-full {
  transform: translateX(calc(100%));
}

.mirror-scale-x {
  transform: scaleX(-100%);
}

.rotate-45 {
  transform: rotate(45deg);
}

.active-bubble .hidden {
  display: block;
}

.bubble-content {
  animation: smoothUpDown 4s ease-in-out infinite;
}

.active-bubble .bubble-content {
  animation: none;
}

.non-diver-bubble:hover .bubble-content {
  animation-play-state: paused;
}

@keyframes smoothUpDown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
  100% {
    transform: translateY(0);
  }
}
/* General Styles */
html,
body {
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
}

* {
  box-sizing: border-box;
}

input,
input::placeholder,
select,
textarea {
  font-size: 14px;
  background-color: #f5faf6;
}

.forminator-ui .forminator-row {
  margin-bottom: 16px !important;
  position: relative !important;
}

.forminator-ui .forminator-field-textarea .forminator-description {
  position: absolute !important;
  top: 0px !important;
  right: 0px !important;
  transform: translateX(-50%);
}

.forminator-ui .forminator-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  margin-bottom: 4px !important;
}

.forminator-ui .forminator-error-message {
  color: #ed1c24 !important;
  background-color: transparent !important;
  font-weight: 300 !important;
  font-size: 12px !important;
}

.forminator-ui .forminator-field .forminator-input,
.forminator-ui .forminator-field .select2-selection,
.forminator-ui .iti__selected-dial-code {
  background-color: #f5faf6 !important;
  border-radius: 20px !important;
  border: none !important;
  overflow: hidden !important;
  font-size: 12px !important;
  min-height: 40px !important;
  color: #031621 !important;
}
.forminator-ui .iti__selected-dial-code {
  display: flex;
  justify-content: center;
  align-items: center;
}

.forminator-ui .iti__search-input {
  height: 40px;
}

.forminator-ui .iti__country-name {
  color: #031621;
}

.forminator-ui .iti__search-input:hover,
.forminator-ui .iti__selected-dial-code:hover,
.forminator-ui .forminator-field .forminator-input:hover,
.forminator-ui .forminator-field .select2-selection:hover,
.forminator-ui .iti__search-input:focus,
.forminator-ui .iti__selected-dial-code:focus,
.forminator-ui .forminator-field .forminator-input:focus,
.forminator-ui .forminator-field .select2-selection:focus,
.forminator-ui .forminator-field .forminator-input:active,
.forminator-ui .forminator-field .select2-selection:active,
.forminator-ui .forminator-field .forminator-textarea:hover,
.forminator-ui .forminator-field .forminator-textarea:focus,
.forminator-ui .forminator-field .forminator-textarea:active {
  outline: none !important;
  border: none !important;
}

.forminator-ui .forminator-field .forminator-textarea {
  background-color: #f5faf6 !important;
  border-radius: 20px !important;
  border: none !important;
  overflow: hidden !important;
  font-size: 12px !important;
  color: #031621 !important;
}

.forminator-ui .forminator-field .select2-selection__rendered {
  font-size: 12px !important;
  color: #031621 !important;
}

.forminator-ui .forminator-input::placeholder,
.forminator-ui .forminator-field .forminator-textarea::placeholder {
  font-size: 12px !important;
  color: #d1d3d4 !important;
}

.forminator-ui .forminator-button-submit {
  width: 100% !important;
  height: 42px !important;
  background: #ec7858 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  color: #f5faf6 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.woocommerce-form-login input,
.woocommerce-form-register input,
.woocommerce-EditAccountForm input,
.woocommerce-ResetPassword input {
  height: 48px !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  background-color: #f5faf6 !important;
  font-weight: 500 !important;
  color: #031621 !important;
  padding: 16px !important;
}

.woocommerce-form-login input:hover,
.woocommerce-form-register input:hover,
.woocommerce-EditAccountForm input:hover,
.woocommerce-ResetPassword input:hover,
.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus,
.woocommerce-EditAccountForm input:focus,
.woocommerce-ResetPassword input:focus {
  outline: none !important;
}

.woocommerce-form-login input::placeholder,
.woocommerce-form-register
  input::placeholder
  .woocommerce-EditAccountForm
  input::placeholder,
.woocommerce-ResetPassword input::placeholder {
  color: #d1d3d4 !important;
  font-size: 14px !important;
}

.woocommerce-form-login .woocommerce-form__input-checkbox,
.woocommerce-form-register .woocommerce-form__input-checkbox,
.woocommerce-EditAccountForm .woocommerce-form__input-checkbox {
  width: 16px !important;
  height: 16px !important;
  border-radius: 100% !important;
  border: none !important;
  background-color: #f5faf6 !important;
}

.woocommerce-form-login .woocommerce-button,
.woocommerce-form-register .woocommerce-button,
.woocommerce-ResetPassword .woocommerce-button {
  height: 48px !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  background-color: #51b1c8 !important;
  font-size: 14px !important;
  color: #f5faf6 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  margin-top: 8px;
}

#show-login,
#show-register {
  min-width: 94px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  height: 48px !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  background-color: #51b1c8 !important;
  font-size: 14px !important;
  color: #f5faf6 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.container {
  max-width: 100%;
}

.site-main {
  min-height: 100vh;
}

.banner-rounded {
  width: 100%;
  min-height: auto;
  max-height: 55vw;
  height: 50vh;
  min-height: 500px;
  overflow: hidden;
}

.banner-rounded .banner-rounded_bg {
  width: 100vw;
  height: 100%;
  min-height: 800px;
  max-height: 1800px;
  border-radius: 100%;
  overflow: hidden;
  transform: translateY(-50%);
}

/* Mobile shape fix for banner circle */
@media screen and (max-width: 640px) {
  .woocommerce button {
    height: 30px !important;
    padding: 5px 10px;
    font-size: 12px !important;
  }
  .banner-rounded .banner-rounded_bg {
    width: 140vw;
    height: 140vw;
    min-height: 500px;
    max-height: none;
    /* جبران اضافه‌عرض برای اینکه دایره در مرکز دیده شود */
    margin-left: -20vw;
    transform: translateY(-30%);
  }
}

.swiper-wrapper {
  transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.gsap-horizontal-scroll-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.horizontal-scroll-wrapper {
  display: flex;
  height: 100%;
}

/* Header Styles */
.site-header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background: linear-gradient(180deg, #1c3d56, transparent);
  overflow: visible;
}

/* Smooth hover overlay coming from top */
.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #031621;
  transform: translateY(-100%);
  transition: transform 0.22s ease-out;
  z-index: -1;
  pointer-events: none;
}

.site-header:hover::before {
  transform: translateY(0);
}

/* Primary Menu */
.site-header .menu {
  display: flex;
  flex-direction: row;
  justify-items: flex-end;
  align-items: center;
  gap: 28px;
}

.site-header .menu li a {
  position: relative;
  padding: 6px 4px;
}

.site-header .menu li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #51b1c8, #7ab5a3);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease-out;
}

.site-header .menu li a:hover::after {
  transform: scaleX(1);
}

#res-navigation .menu {
  display: flex;
  flex-direction: column;
  justify-items: center;
  align-items: center;
  gap: 28px;
}

.site-header .menu li a,
.site-header .menu li .menu-parent,
#res-navigation .menu li a,
#res-navigation .menu li .menu-parent {
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  transition: all 0.3s ease-out;
}

#res-navigation .menu li a,
#res-navigation .menu li .menu-parent {
  color: #ffffff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.08em;
}

.site-header .menu li a:hover,
#res-navigation .menu li a:hover {
  color: #5695a5;
}

#res-navigation .sub-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

#res-navigation .sub-menu li a {
  margin-top: 16px;
  margin-bottom: 16px;
}

/* حالت hover (برای دستگاه‌های دارای موس) */
#res-navigation .menu .menu-item-has-children:hover .sub-menu {
  max-height: 500px;
}

/* حالت باز شدن زیرمنو در موبایل با کلاس is-open */
#res-navigation .menu .menu-item-has-children.is-open .sub-menu {
  max-height: 500px;
}

/* Mobile navigation overlay & card */
#res-navigation {
  /* لایه کلی منوی موبایل */
  background: transparent;
  opacity: 0;
  pointer-events: none;
}

#res-navigation.is-open {
  opacity: 1;
  pointer-events: auto;
  background: #031621;
}

@media screen and (max-width: 1279px) {
  #res-navigation {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* نیم‌دایره از بالای صفحه */


  #res-navigation .menu {
    position: relative;
    background: transparent;
    padding: 56px 32px 32px;
    max-height: 70vh;
    overflow-y: auto;
  }

  /* منو داخل نیم‌دایره */
  .res-nav-menu-wrapper {
    width: 100%;
    max-width: 480px;
    margin-top: 0px;
    z-index: 1;
  }

  /* بخش لاگین زیر نیم‌دایره و پایین‌تر از منو */
  .res-nav-account-wrapper {
    margin-top: auto;
    padding-bottom: 32px;
    z-index: 1;
  }
}

.site-header .menu .sub-menu {
  position: absolute;
  padding: 16px 0px;
  flex-direction: column;
  gap: 8px;
  border-radius: 8px;
   background-color: #031621;
   z-index: 20;
  display: none;
  transition: all 0.3s ease-in-out;
}

.site-header .menu .sub-menu a {
  color: #fff;
  font-size: 16px;
}

.site-header .menu .menu-item-has-children:hover .sub-menu {
  display: flex;
  padding: 8px;
}

/* Toggle Menu Styles */
#toggle-menu {
  font-size: 20px;
  line-height: 30px;
  text-transform: uppercase;
  border: none;
  border-radius: 0px;
  background: transparent;
  color: #fff;
  cursor: pointer;
  padding: 10px;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

#toggle-menu span {
  position: relative;
  display: block;
  width: 60px;
  height: 3px;
  border-radius: 5px;
  background-color: #fff;
  pointer-events: none;
  transition: all 0.3s ease-out;
}

/* Hamburger Icon */
#toggle-menu span::before,
#toggle-menu span::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: #fff;
  border-radius: 5px;
  pointer-events: none;
  transition: all 0.3s ease-out;
  left: 0;
}

#toggle-menu span::before {
  top: -11px;
}

#toggle-menu span::after {
  top: 11px;
  width: 38px;
}

/* Active State */
#toggle-menu[aria-expanded="true"] span::after {
  display: none;
}

#toggle-menu[aria-expanded="true"] span::before {
  transform: rotate(-90deg);
  top: 0;
}

#toggle-menu[aria-expanded="true"] span {
  transform: rotate(45deg);
}

/* Search Bar */
.search-bar {
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.3);
}

.search-bar .when::before,
.search-bar .guest::before,
.search-bar .diving::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #5695a5;
  position: absolute;
  left: 0px;
  bottom: -8px;
}

/* Slider in general */
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.swiper-button-next,
.swiper-button-prev {
  outline: none;
  background-color: #51b1c8;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  margin: 0;
  transform: translateY(-50%);
}

/* Signned in/ Signin */
#login-menu-online,
#login-menu-offline,
#login-menu-online_res,
#login-menu-offline_res {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding-left: 32px;
  padding-right: 32px;
  background-color: #ec7858;
  border-radius: 20px;
  overflow: hidden;
  color: #fff;
}

#login-menu-online_res,
#login-menu-offline_res {
}

#login-menu-online {
  padding-right: 4px;
}

#login-menu-offline:hover,
#login-menu-online:hover {
  color: #434343;
  background: #fff;
}

/* Agency Menu */
#menu-agency a {
  font-size: 16px;
}

/* Footer */
.site-footer .menu {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.site-footer .menu li a {
  color: #031621;
  text-transform: uppercase;
  font-size: 14px;
  transition: color 0.25s ease-out;
}

.site-footer .menu li a:hover {
  color: #51b1c8;
}

/* Footer responsive tweaks */
@media screen and (max-width: 639px) {
  /* منوهای فوتر در موبایل: دو ستون، چپ‌چین و مینیمال */
  .site-footer .menu {
    display: block;
    column-count: 2;
    column-gap: 24px;
  }

  .site-footer .menu li {
    break-inside: avoid;
    margin-bottom: 8px;
  }

  .site-footer .menu li a {
    display: block;
    text-align: left;
    font-size: 13px;
    letter-spacing: 0.03em;
  }

  /* لوگوی فوتر کوچکتر در موبایل */
  .site-footer-logo img {
    max-width: 140px;
  }

  /* شبکه‌های اجتماعی در یک سطر با خط جداکننده از منو */
  .site-footer-social {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    border-top: 1px solid #ccd3d0;
    padding-top: 16px;
    margin-top: 16px;
  }
}

@media screen and (min-width: 640px) {
  .site-footer .menu {
    align-items: flex-start;
    text-align: left;
    gap: 12px;
  }

  .site-footer-social {
    flex-direction: column;
    gap: 12px;
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }
}

/* Footer bottom minimal style */
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.address_icon {
  position: relative;
}

.address_icon::before,
.address_icon::after {
  content: "";
  position: absolute;
  left: -10px;
  background-color: #fff;
  border-radius: 100%;
  overflow: hidden;
}

.address_icon::before {
  width: 8px;
  height: 8px;
  top: 0;
  transform: translate(-50%, 50%);
}

.address_icon::after {
  width: 5px;
  height: 5px;
  bottom: 0;
  transform: translate(-50%, -50%);
}

/* Home Page */
.page-home .top-banner .top-banner_content p {
  margin: 0px;
  width: auto !important;
}

/* Packages */
.packages .packages-slider .packages-slider_img .swiper-wrapper {
  min-height: 400px;
  display: flex;
  align-items: center;
}

.packages .packages-slider .packages-slider_img .swiper-slide {
  width: fit-content !important;
  transform: translateY(-150%);
}

.packages .packages-slider .swiper-slide-active .hidden {
  display: flex !important;
}

.packages .packages-slider .packages-slider_img .swiper-slide-active {
  transform: translateY(0);
  z-index: 10;
}

.packages .packages-slider .packages-slider_img .swiper-slide-active .package {
  max-width: 240px !important;
  max-height: 240px !important;
  transform: scale(1.5);
}

.packages .packages-slider .packages-slider_img .swiper-slide-next {
  transform: translate(40%, -50%);
}

.packages .packages-slider .packages-slider_img .swiper-slide-prev {
  transform: translate(-40%, -50%);
}

.packages .packages-slider .packages-slider_img .swiper-slide-next .package,
.packages .packages-slider .packages-slider_img .swiper-slide-prev .package {
  max-width: 200px;
  max-height: 200px;
  transform: scale(1.25);
}

.packages .packages-slider .packages-slider_content p {
  margin: 0;
}

.packages .packages-slider .swiper-button-next,
.packages .packages-slider .swiper-button-prev {
  top: 0px;
  transform: translateY(0px);
}

.page-home .quote p {
  padding: 0;
  margin: 0;
}

.page-home .quote .quote_author::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 50%;
  transform: translate(-100%, -50%);
  width: 40px;
  height: 2px;
  background-color: #66b8a3;
}

/* Home Page Courses Slider */
.courses-slider .courses-slider_img .swiper-slide {
  width: fit-content !important;
  display: flex !important;
}

.courses-slider .courses-slider_img .swiper-slide-active .hidden {
  display: block;
}

.courses-slider .courses-slider_img .swiper-slide-active .course-slider_item {
  max-width: 240px;
  max-height: 240px;
  filter: blur(0);
  transform: scale(1.5);
}

.courses-slider .courses-slider_img .swiper-slide-prev .course-slider_item {
  max-width: 180px;
  max-height: 180px;
  transform: translateY(-95%) scale(1.125);
}

.courses-slider .courses-slider_img .swiper-slide-next .course-slider_item {
  max-width: 180px;
  max-height: 180px;
  transform: translateY(95%) scale(1.125);
}

.courses-slider .courses-slider_content .swiper-slide-active .hidden {
  display: flex !important;
}

.courses-slider .courses-slider_content p {
  margin: 0;
}

/* Home Diving Courses */
.diving-courses
  .diving-courses-slider
  .diving-courses-slider_img
  .swiper-wrapper {
  min-height: 340px;
  display: flex;
  align-items: center;
}

.diving-courses
  .diving-courses-slider
  .diving-courses-slider_img
  .swiper-slide {
  width: fit-content !important;
  transform: translateY(-140%);
}

.diving-courses .diving-courses-slider .swiper-slide-active .hidden {
  display: flex !important;
}

.diving-courses
  .diving-courses-slider
  .diving-courses-slider_img
  .swiper-slide-active {
  transform: translateY(0);
  z-index: 10;
}

.diving-courses
  .diving-courses-slider
  .diving-courses-slider_img
  .swiper-slide-active
  .course {
  max-width: 300px !important;
  max-height: 300px !important;
  transform: scale(1.875);
}

.diving-courses
  .diving-courses-slider
  .diving-courses-slider_img
  .swiper-slide-next {
  transform: translate(30%, -50%);
}

.diving-courses
  .diving-courses-slider
  .diving-courses-slider_img
  .swiper-slide-prev {
  transform: translate(-30%, -50%);
}

.diving-courses
  .diving-courses-slider
  .diving-courses-slider_img
  .swiper-slide-next
  .course,
.diving-courses
  .diving-courses-slider
  .diving-courses-slider_img
  .swiper-slide-prev
  .course {
  max-width: 240px;
  max-height: 240px;
  transform: scale(1.5);
}

.diving-courses .diving-courses-slider .diving-courses-slider_content p {
  margin: 0;
}

/* Home Page Our Story */
.our-story .our-story_brands p {
  margin: 0;
}

/* Home Page Maldives Slider */
.maldives .maldives_title h3 {
  margin: 0px;
}

.maldives .maldives-slider .swiper-pagination {
  width: auto;
  text-align: left;
}

.maldives .maldives-slider .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60vh;
  max-height: 560px;
}

.maldives .maldives-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.maldives .maldives-slider .swiper-pagination .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background-color: #f5faf6;
  opacity: 50%;
  outline: none;
}

.maldives
  .maldives-slider
  .swiper-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(1.3);
}

.maldives .locations-slider .locations-slider_title p,
.maldives .locations-slider .locations-slider_content p {
  margin: 0;
  max-width: 1024px;
}

.maldives .locations-slider .locations-slider_title .swiper-slide,
.maldives .locations-slider .locations-slider_content .swiper-slide {
  pointer-events: none;
}

.maldives .locations-slider .locations-slider_img .swiper-wrapper {
  min-height: 500px;
  display: flex;
  align-items: center;
}

.maldives .locations-slider .locations-slider_img .swiper-slide {
  width: fit-content !important;
}

.maldives .locations-slider .locations-slider_img .swiper-slide-next {
  z-index: 5;
  transform: translateX(30%);
}

.maldives .locations-slider .locations-slider_img .swiper-slide-prev {
  z-index: 5;
  transform: translateX(-30%);
}

.maldives .locations-slider .swiper-slide-next .location,
.maldives .locations-slider .swiper-slide-prev .location {
  max-width: 248px;
  max-height: 248px;
  opacity: 0.5;
  transform: scale(1.6);
}

.maldives .locations-slider .locations-slider_img .swiper-slide-active {
  z-index: 10;
}

.maldives .locations-slider .swiper-slide-active .hidden {
  display: block !important;
}

.maldives .locations-slider .swiper-slide-active .location {
  max-width: 320px;
  max-height: 320px;
  opacity: 1;
  transform: scale(2.2);
}

/* Home Page Hotels Slider */
.hotels .hotels_title h3 {
  margin: 0px;
}

.hotels .hotels-slider .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60vh;
  max-height: 560px;
}

.hotels .hotels-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  background-color: #031621;
}

.hotels .hotels-slider .swiper-pagination {
  width: auto;
  text-align: left;
}

.hotels .hotels-slider .swiper-pagination .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background-color: #f5faf6;
  opacity: 50%;
  outline: none;
}

.hotels
  .hotels-slider
  .swiper-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(1.3);
}

.hotels .residences-slider .residences-slider_content p {
  margin: 0;
  max-width: 1024px;
}

.hotels .residences-slider .residences-slider_content .swiper-slide {
}

.hotels .residences-slider .residences-slider_img .swiper-wrapper {
  min-height: 400px;
  display: flex;
  align-items: center;
}

.hotels .residences-slider .residences-slider_img .swiper-slide {
  width: fit-content !important;
  transform: translateY(-120%);
}

.hotels .residences-slider .swiper-slide-active .hidden {
  display: flex !important;
}

.hotels .residences-slider .residences-slider_img .swiper-slide-active {
  transform: translateY(0);
  z-index: 10;
}

.hotels
  .residences-slider
  .residences-slider_img
  .swiper-slide-active
  .residence {
  max-width: 300px;
  max-height: 300px;
  transform: scale(1.6);
  opacity: 1;
}

.hotels .residences-slider .swiper-slide-active .residence img {
  filter: blur(0);
}

.hotels .residences-slider .residences-slider_img .swiper-slide-next {
  transform: translate(20%, -50%);
}

.hotels .residences-slider .residences-slider_img .swiper-slide-prev {
  transform: translate(-20%, -50%);
}

.hotels .residences-slider .residences-slider_img .swiper-slide-next .residence,
.hotels
  .residences-slider
  .residences-slider_img
  .swiper-slide-prev
  .residence {
  max-width: 214px;
  max-height: 214px;
  transform: scale(1.2);
}

.hotels .residences-slider .residences-slider_content .swiper-button-next {
  top: 45%;
  transform: translateY(-100%);
  right: -80px;
}

.hotels .residences-slider .residences-slider_content .swiper-button-prev {
  top: 45%;
  transform: translateY(-100%);
  left: -80px;
}

/* Resort Post type */
.resort .resort-slider_img .swiper-button-next,
.resort .resort-slider_img .swiper-button-prev {
  top: calc(50% - 40px);
}

.resort .resort-slider_img .swiper-button-prev {
  left: 0px;
  transform: translateX(-50%);
}

.resort .resort-slider_img .swiper-button-next {
  right: 0px;
  transform: translateX(50%);
}

.resort .resort-slider_img .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(-30%);
}

.resort .resort-slider_img .swiper-slide-active {
  transform: translateY(0);
}

.resort .resort-slider_img .swiper-slide-active .resort-slider_img-item {
  transform: scale(1.3);
}

.resort .resort_content h1,
.resort .resort_content h2,
.resort .resort_content h3,
.resort .resort_content h4,
.resort .resort_content h5,
.resort .resort_content h6 {
  font-size: 22px;
  font-weight: 600;
}

/* Resort gallery modal */
.resort-gallery-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(3, 22, 33, 0.8);
  backdrop-filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
  z-index: 9999;
}

.resort-gallery-modal.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.resort-gallery-modal__backdrop {
  position: absolute;
  inset: 0;
}

.resort-gallery-modal__dialog {
  position: relative;
  width: 100%;
  max-width: 960px;
  max-height: 80vh;
  padding: 16px;
  background: #031621;
  border-radius: 24px;
  overflow: hidden;
  z-index: 1;
}

.resort-gallery-modal__close {
  position: absolute;
  top: 12px;
  right: 16px;
  background: transparent;
  border: none;
  color: #f5faf6;
  font-size: 24px;
  cursor: pointer;
  z-index: 2;
}

.resort-gallery-modal_swiper {
  width: 100%;
  height: 100%;
}

.resort-gallery-modal_swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Package Post type */
/* Package divers slider */
.package-divers .package-divers_slider-note {
  box-shadow: 7px 7px 3px rgba(0, 0, 0, 0.1);
}

/* Package divers note - mobile friendly */
@media screen and (max-width: 640px) {
  .package-divers .package-divers_slider-note {
    position: fixed;
    z-index: 9999;
    max-width: 85%;
    left: 12px;
    right: auto;
    bottom: 12px;
    transform: none;
    padding: 10px 14px;
  }

  .package-divers .package-divers_slider-note .note-text {
    font-size: 12px;
    line-height: 1.5;
  }

  .package-divers .package-divers_slider-note .note_close-button {
    right: 8px;
    top: 8px;
  }
}

.package-divers .package-divers_slider .swiper-slide-prev,
.package-divers .package-divers_slider .swiper-slide-next {
  transform: translateY(-25%);
}

.package-divers .package-divers_slider .swiper-slide-active {
  transform: translateY(0%);
}

.package-divers .address_icon::after,
.package-divers .address_icon::before,
.course-tech .address_icon::after,
.course-tech .address_icon::before,
.course-sport .address_icon::after,
.course-sport .address_icon::before {
  background-color: #ccd3d0;
  left: -14px;
}

.package-divers .address_icon::before,
.course-tech .address_icon::before,
.course-sport .address_icon::before {
  width: 16px;
  height: 16px;
  top: -2px;
  transform: translate(-50%, 0);
}

.package-divers .address_icon::after,
.course-tech .address_icon::after,
.course-sport .address_icon::after {
  width: 6px;
  height: 6px;
  bottom: -2px;
  transform: translate(-50%, 0);
}

.non-divers_slider .swiper-slide-active {
  transform: translateY(100px);
}

/* Privacy Policy page */
.privacy-policy .content strong {
  font-weight: 500;
}

.privacy-policy .content p {
  font-weight: 400;
  font-size: 16px;
  line-height: unset;
}

/* Woocommerce Styles */
.woocommerce-Input,
.woocommerce input,
.woocommerce select,
.woocommerce .select2 .select2-selection {
  width: 100%;
  height: 40px;
  border: none;
  border-radius: 4px;
  color: #d1d3d4;
  padding: 4px;
  font-size: 14px;
}

.woocommerce-Input::placeholder,
.woocommerce input::placeholder {
  font-size: 14px;
  color: #d1d3d4;
}

.woocommerce .select2 .select2-selection__rendered {
  color: #51b1c8;
  font-size: 18px;
}

.woocommerce .select2 .select2-selection__arrow {
  top: 50%;
  transform: translateY(-50%);
}

.woocommerce label {
  color: #031621;
  font-size: 16px;
}

.woocommerce-account .entry-header {
  display: none;
}

.woocommerce-account .form-row,
.woocommerce-account .woocommerce-form-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .entry-footer {
  color: #031621;
  font-size: 18px;
}

.woocommerce-account .woocommerce-MyAccount-content a,
.woocommerce-account .entry-footer a {
  color: #51b1c8;
  font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover,
.woocommerce-account .entry-footer a:hover {
  color: #5695a5;
}

.woocommerce-account .woocommerce-info {
  background-color: transparent;
}

.woocommerce-account .entry-footer {
  display: flex;
  justify-content: center;
  align-items: center;
}

.woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-width: max-content;
}

.woocommerce-MyAccount-navigation ul li a {
  color: #031621;
  font-size: 20px;
}

.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation-link.is-active a {
  color: #51b1c8;
}

.woocommerce button {
  height: 48px;
  border-radius: 26px !important;
  overflow: hidden !important;
  background-color: #51b1c8;
  font-size: 14px !important;
  color: #f5faf6;
  text-align: center !important;
  text-transform: uppercase !important;
  margin-top: 8px;
}

.woocommerce button:hover {
  background-color: #f5faf6;
  color: #51b1c8;
}

.password-input {
  position: relative;
}

.woocommerce button.show-password-input {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  padding: 0px;
  background: transparent;
  color: #031621;
  border: none;
  height: auto;
  cursor: pointer;
  margin: 0px !important;
}

.show-password-input:hover {
  color: #51b1c8;
  background-color: transparent;
}

.show-password-input::before {
  content: "\f177";
  font-family: "Dashicons";
}

.show-password-input.display-password::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 2px;
  background: red; /* Slash color */
  transform: translate(-50%, -50%) rotate(-45deg);
  top: 45%;
  left: 50%;
}

.woocommerce-message,
.woocommerce-error {
  color: #f5faf6;
  padding: 8px;
  margin-left: 8px;
  margin-right: 8px;
  border: none;
  border-radius: 4px;
  outline: none;
}

.woocommerce-privacy-policy-text {
  font-size: 14px;
  color: #031621;
}

.woocommerce-password-strength {
  font-size: 14px;
  font-weight: 500;
}

/* Responsive Styles */
@media screen and (min-width: 360px) {
  .page-home .top-banner .top-banner_content p:last-child {
    transform: translateX(80px);
  }
}

@media screen and (min-width: 480px) {
  .page-home .top-banner .top-banner_content p:last-child {
    transform: translateX(100px);
  }
  .banner-rounded {
    height: 75vh;
  }

  .banner-rounded .banner-rounded_bg {
    height: 100%;
  }
}

@media screen and (min-width: 640px) {
  input,
  input::placeholder,
  textarea,
  select {
    font-size: 15px;
  }

  .banner-rounded {
    height: 68vh;
  }

  .banner-rounded .banner-rounded_bg {
    height: 100%;
  }

  .page-home .top-banner .top-banner_content p:last-child {
    transform: translateX(190px);
  }

  .resort .resort_content h1,
  .resort .resort_content h2,
  .resort .resort_content h3,
  .resort .resort_content h4,
  .resort .resort_content h5,
  .resort .resort_content h6 {
    font-size: 28px;
    font-weight: 600;
  }
}

@media screen and (min-width: 768px) {
  .search-bar .when::before {
    display: none;
  }

  .search-bar .guest::before,
  .search-bar .diving::before {
    width: 1px;
    height: 120%;
    left: -8px;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }

  .banner-rounded {
    height: 75vh;
  }

  .banner-rounded .banner-rounded_bg {
    height: 75vh;
  }

  .privacy-policy .content p {
    font-size: 16px;
  }
}

@media screen and (min-width: 996px) {
  .banner-rounded {
    height: 45vw;
  }

  .banner-rounded .banner-rounded_bg {
    height: 90vw;
  }

  .privacy-policy .content p {
    font-size: 18px;
  }

  .packages .packages-slider .swiper-button-next,
  .packages .packages-slider .swiper-button-prev {
    top: 50%;
    transform: translateY(-50%);
  }
}

@media screen and (min-width: 1024px) {
  input,
  input::placeholder,
  textarea,
  select {
    font-size: 16px;
  }
}

@media screen and (min-width: 1280px) {
  #login-menu-online,
  #login-menu-offline {
    color: #fff;
  }

  .privacy-policy .content p {
    font-size: 20px;
  }
}

@media screen and (min-width: 1536px) {
  .packages .package_item.before::before {
    width: 66px;
    height: 66px;
  }
  .packages .package_item.after::after {
    width: 32px;
    height: 32px;
  }

  .courses-slider .swiper-slide-active .course-slider_item {
    transform: translateY(-100px) scale(1.5);
  }

  .search-bar label.guest::before,
  .search-bar label.diving::before {
    left: -16px;
  }
}

div#gallery-lightbox,
#primary-search {
    z-index: 99999;
}
