@media screen and (max-width: 1399px) {
  nav.nav-top .container {
    max-width: 100%;
    padding-left: 30px;
    padding-right: 30px;
  }
  .nav-top li .nav-link {
    margin: 0 1rem;
    text-align: left;
  }
  .navbar-toggler {
    color: #071c53 !important;
    border-color: #071c53 !important;
    background: rgba(255, 255, 255, 0.4);
  }
  .navbar-toggler-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%)
      hue-rotate(93deg) brightness(108%) contrast(102%);
  }
  .nav-top:hover .navbar-toggler {
    color: #071c53 !important;
    border-color: #071c53 !important;
  }
  .navbar-toggler-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%)
      hue-rotate(93deg) brightness(108%) contrast(102%);
  }
  nav.navbar .navbar-nav {
    align-items: flex-start !important;
    gap: 10px;
  }
  .owl-spotlight.owl-theme .owl-dots,
  .f-owl-spotlight .carousel-status {
    max-width: calc(100% - 50px);
  }
  .f-owl-spotlight .carousel-status {
    padding-left: 25px;
  }
  .share-page {
    left: 12px;
    top: auto;
    bottom: 22px;
  }
  .share-page h6 {
    display: none;
  }
  .share-page label {
    width: 47px;
    height: 47px;
    border-radius: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
  }
  .share-page .list-socmed {
    height: 0;
    overflow: hidden;
    transition: ease all 0.3s;
  }
  .share-page input[type="checkbox"]:checked ~ .list-socmed {
    height: 200px;
  }
}
@media screen and (max-width: 1199px) {
  .container {
    max-width: 100%;
  }
  .cf-thumb-slider {
    bottom: -35px;
  }
  .slider-hero-thumb .item {
    width: 230px;
    height: 144px;
  }
  .slider-hero-thumb .item .desc-sht h4 {
    font-size: 18px;
  }
  .carousel-status span {
    font-size: 100px;
  }
  .owl-event.nav-center.owl-carousel .owl-nav button.owl-prev,
  .owl-recommendation-destination.nav-center.owl-carousel
    .owl-nav
    button.owl-prev,
  .owl-highlights.nav-center.owl-carousel .owl-nav button.owl-prev {
    margin-right: -60px;
  }
  .owl-event.nav-center.owl-carousel .owl-nav button.owl-next,
  .owl-recommendation-destination.nav-center.owl-carousel
    .owl-nav
    button.owl-next,
  .owl-highlights.nav-center.owl-carousel .owl-nav button.owl-next {
    margin-left: -60px;
  }
  .s-spotlight .item {
    width: 400px;
    height: 550px;
  }
  .dm-flag.dropdown-menu[data-bs-popper] {
    top: auto;
    bottom: 100%;
  }
}
@media screen and (max-width: 991px) {
  .s-highlights {
    padding-top: 120px;
  }
  .ci-ni,
  .ci-most {
    min-height: 380px;
  }
  .ci-ni h4,
  .ci-most h4 {
    font-size: 18px;
  }
  .s-spotlight .item {
    width: 360px;
  }
  .s-spotlight .item .card-img-body {
    padding: 15px;
  }
  .s-spotlight .title-section {
    font-size: 44px;
  }
}
@media screen and (max-width: 767px) {
  .offcanvas-body {
    flex-grow: 0.88 !important;
  }
  .nav-top li .nav-link {
    margin: 0;
    text-align: left;
  }
  nav.nav-top .container {
    padding-left: 15px;
    padding-right: 15px;
  }
  .owl-event.nav-center.owl-carousel .owl-nav button.owl-next,
  .nav-center.owl-carousel .owl-nav button.owl-next {
    right: 15px;
  }
  .owl-event.nav-center.owl-carousel .owl-nav button.owl-prev,
  .nav-center.owl-carousel .owl-nav button.owl-prev {
    left: 15px;
  }
  .desc-hero h5 {
    font-size: 20px;
  }
  .desc-hero h1 {
    font-size: 50px;
  }
  .title-section {
    font-size: 46px;
  }
  .t-title-section {
    font-size: 22px;
  }
  .carousel-status {
    bottom: 35px;
    width: auto;
    left: 0;
    transform: none;
  }
  .form-search {
    top: 0;
    height: 100vh;
  }
  .items-ls {
    height: calc(100vh - 260px);
  }
  .thumb-ls {
    width: 180px;
    min-width: 180px;
  }
  .desc-lg h3 {
    margin-bottom: 5px;
  }
  .desc-lg p {
    margin-bottom: 7px;
  }
  .desc-lg span {
    font-size: 14px;
  }
  .items-ls .see-all {
    font-size: 14px;
  }
  .carousel-status span {
    font-size: 72px;
  }
  .s-highlights {
    padding-top: 70px;
  }
  .desc-hero {
    padding-left: 15px;
    padding-right: 15px;
  }
  .owl-highlights .item .desc {
    max-width: 100%;
    border-top-left-radius: 20px;
    padding: 15px;
  }
  .card-img-body {
    padding: 20px 25px;
  }
  .card-img-body h4,
  .owl-highlights .item .desc h4 {
    font-size: 24px;
  }
  .s-spotlight .title-left {
    position: relative;
    left: auto;
    top: auto;
  }
  .owl-spotlight.owl-theme .owl-nav,
  .f-owl-spotlight .carousel-status-spotlight {
    max-width: 100%;
    left: auto;
    right: auto;
    margin-top: 20px;
    top: 100%;
  }
  .f-owl-spotlight .carousel-status-spotlight {
    width: auto;
    padding: 0;
  }
  .owl-spotlight.owl-theme .owl-nav {
    right: 0;
    margin-right: 6px;
  }
  .owl-spotlight.owl-theme .owl-dots {
    bottom: auto;
    top: 100%;
    margin: 15px auto auto auto;
    max-width: 100%;
    width: auto;
    right: 15px;
    left: 0;
  }
  .s-spotlight .item {
    width: 400px;
    height: 450px;
  }
  .cf-thumb-slider {
    left: 185px;
    right: 0;
    width: auto;
  }
  .slider-hero-thumb .owl-nav {
    top: 20px;
    margin-right: 20px;
    height: auto;
  }
  .slider-hero-thumb .owl-nav button {
    height: 50px;
  }
  .slider-hero-thumb .item {
    width: 180px;
    height: 109px;
  }
  .owl-event.nav-center.owl-carousel .owl-nav button.owl-prev,
  .nav-center.owl-carousel .owl-nav button.owl-prev {
    left: 10px;
  }
  .owl-event.nav-center.owl-carousel .owl-nav button.owl-next,
  .nav-center.owl-carousel .owl-nav button.owl-next {
    right: 10px;
  }
  .no-result h4 {
    font-size: 20px;
    text-align: center;
  }
  .items-scroll {
    overflow: scroll;
    height: calc(100vh - 240px);
  }
  .items-scroll::-webkit-scrollbar {
    width: 5px;
  }

  .fr-img-philosophy {
    max-height: 400px;
    max-width: 560px;
    width: 100%;
  }

  .error-content h1 {
    font-size: 72px;
    font-family: "Playfair Display", serif;
    margin-bottom: 30px;
  }

  .card-ti h4 {
    font-size: 18px;
    margin-bottom: 0;
  }
  .owl-highlights .item .desc-2 .content {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
    padding: 60px;
    width: 100%;
    text-align: left;
    max-width: 100%;
  }
  .owl-highlights .item .desc-2 h4 {
    font-size: 46px;
    text-decoration: none;
  }
  .desc-2 a {
    min-width: 200px;
  }

  .location-markers {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    width: 100%;
  }

  .location-markers::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 50%;
    transform: translateX(-50%);
    height: 2px;
    background: linear-gradient(
      to right,
      transparent,
      white 50%,
      white 50%,
      transparent
    );
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }

  .markers-scroll-container {
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 7px 0;
  }

  .markers-scroll-container::-webkit-scrollbar {
    display: none;
  }

  .markers-wrapper {
    display: inline-flex;
    gap: 0;
    padding: 0;
    width: max-content;
    margin-left: 40%;
    margin-right: 35%;
    transform: translateX(calc(-37% - 50px));
  }

  .markers-wrapper {
    display: inline-flex;
    gap: 0;
    padding: 0;
    width: max-content;
  }

  .markers-wrapper .item:first-child {
    margin-left: calc(50vw - 170px);
  }

  .markers-wrapper .item:last-child {
    margin-right: calc(50vw - 370px);
  }

  .location-markers .item {
    flex: 0 0 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    scroll-snap-align: center;
    transform: scale(0.85);
    transition: all 0.3s ease;
  }

  .location-markers .item.active {
    transform: scale(1.12);
  }

  .marker-dot {
    margin-bottom: 10px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 12px solid white;
  }

  .location-name {
    font-size: 0.85rem;
    margin-bottom: 6px;
  }

  .item.active .location-name {
    font-size: 1.1rem;
  }

  .visit-button {
    font-size: 0.8rem;
    padding: 4px 8px;
  }

  .item:hover .visit-button,
  .item.active .visit-button {
    opacity: 1;
    transform: translateY(0);
  }

  .content-title {
    font-size: 0.8rem;
  }

  .content-description {
    font-size: 0.7rem;
  }

  .content-link {
    font-size: 0.7rem;
  }

  .video-container {
    position: relative;
    height: 100dvh;
    overflow: hidden;
    touch-action: pan-x pan-y;
  }

  .video-wrapper {
    position: absolute;
    inset: -10%;
    z-index: 1;
    width: 150%;
    overflow: hidden;
  }

  video {
    width: 150%;
    height: 100%;
    object-fit: cover;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    transition: transform 0.3s ease-out;
    will-change: transform;
    touch-action: pan-x;
  }

  /* Adjust content overlay for mobile */
  .video-content-overlay {
    position: absolute;
    inset: 0;
    padding: 1rem;
    z-index: 2;
    pointer-events: auto;
  }

  /* Adjust content wrapper for mobile */
  .content-wrapper {
    width: 220px; /* Slightly smaller on mobile */
    position: relative;
    z-index: 3;
  }

  .main-title {
    font-size: 52px;
  }

  .tag-category {
    left: 25px;
    top: 25px;
  }

  #map-indonesia-island {
    height: 300px;
    scale: initial;
  }

  .island-label-container {
    display: none !important;
  }

  .island-label {
    font-size: 12px;
  }
  .island-label.bold {
    color: #000000 !important;
    opacity: 0.8;
    -webkit-text-stroke: 0.5px #000000;
  }

  .region-content-container {
    padding: 20px;
  }

  .region-content h3 {
    font-size: 28px;
  }

  .region-content p {
    font-size: 14px;
  }

  .ci-most .card-img-body {
    padding: 20px 25px;
  }

  .s-philosophy {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .s-asset-download {
    padding-top: 35px;
    padding-bottom: 0px;
  }

  .s-brand {
    padding-top: 35px;
    padding-bottom: 35px;
  }

  .chat-bot img {
    height: 60px;
  }

  .welcome-text {
    padding: 0 20px;
  }
  .welcome-text h2 {
    font-size: 2.2rem;
    font-weight: 700;
    font-family: "Playfair Display", serif;
    letter-spacing: 1px;
  }

  #scrollBtn {
    bottom: 20px;
  }

  /* ai personalization */
  .banner-wrapper-ai {
    height: auto;
    min-height: 100dvh;
    position: relative;
    overflow-y: auto;
  }

  .banner-image-ai {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    object-fit: cover;
  }

  .banner-content-ai {
    position: relative;
    transform: none;
    top: 0;
    left: 0;
    /* padding: 2rem 0; */
    /* min-height: 100dvh; */
  }

  .suggestion-container {
    width: 100% !important;
    padding: 0 15px;
  }

  .s-title-ai {
    padding-top: 3rem;
  }

  .s-content-suggestions {
    padding-bottom: 2rem;
  }

  .list-cp-body .thumb-cp-body {
    width: 100%;
    height: auto;
    max-height: 400px;
  }
  .btn-navtabs.nav-tabs .nav-link {
    font-size: 14px;
    padding: 10px 15px;
  }

  .video-container .markers-scroll-container {
    padding: 0 30px;
  }

  .video-container .markers-wrapper.owl-carousel .owl-nav .owl-prev {
    left: 32px;
  }

  .video-container .markers-wrapper.owl-carousel .owl-nav .owl-next {
    right: -45px;
  }

  .video-container .markers-wrapper.owl-carousel .owl-item {
    display: block;
  }

  .islands-image-container {
    height: 170px;
  }

  .islands-content-container {
    padding: 20px 20px 0 20px;
  }

  .learn-more-container {
    padding: 0 20px 20px;
  }

  .nav-top li .nav-link {
    color: #7b7b7b;
  }

  .show .offcanvas-header .logo {
    filter: none;
  }

  .nav-top.bg-white .logo,
  .nav-top:hover .logo,
  .nav-scrolled .logo {
    filter: none;
  }

  .btn-lang.show,
  .btn-lang {
    color: var(--blue);
  }
  .btn-search img {
    filter: brightness(1) invert(0);
  }
  .ratio > * {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
  }
}

@media screen and (max-width: 599px) {
  .thumb-ls span {
    font-size: 12px;
  }
  .thumb-ls {
    width: 125px;
    min-width: 125px;
  }
  .desc-lg h3 {
    font-size: 16px;
  }
  .desc-lg p {
    font-size: 14px;
    line-height: normal;
  }
  .desc-lg span {
    font-size: 12px;
  }
  .thumb-ls span {
    font-size: 10px;
    padding: 2px 5px;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    text-align: center;
  }
  .title-src {
    font-size: 16px;
  }
  .title-section {
    font-size: 36px;
  }
  .subtitle-section {
    font-size: 14px;
  }
  .card-img-body h4,
  .owl-highlights .item .desc h4 {
    font-size: 20px;
    margin-bottom: 0;
  }
  .owl-highlights .item .desc span {
    font-size: 12px;
  }
}
@media screen and (max-width: 575px) {
  .w-sm-auto {
    width: 100%;
  }
  .f-recommendation {
    padding: 30px 15px;
  }
  .main-title {
    font-size: 52px;
  }
}
@media screen and (max-width: 429px) {
  .s-spotlight .item {
    width: 280px;
    height: 380px;
  }
  .s-assistance .card-img {
    min-height: 230px;
  }

  .video-container .markers-scroll-container {
    padding: 0 20px;
  }

  .video-container .markers-wrapper .item {
    padding: 0 5px;
  }

  .video-container .markers-wrapper.owl-carousel .owl-nav .owl-prev {
    left: 6px;
    bottom: -5px;
  }
  .video-container .markers-wrapper.owl-carousel .owl-nav .owl-next {
    right: -38px;
    bottom: -5px;
  }
  .markers-wrapper {
    display: inline-flex;
    gap: 0;
    padding: 0;
    width: max-content;
    margin-left: 40%;
    margin-right: 40%;
    transform: translateX(calc(-32% - 50px));
  }
}

@media screen and (max-width: 374px) {
  .thumb-ls {
    width: 100px;
    min-width: 100px;
  }
  .desc-lg h3 {
    font-size: 14px;
  }
  .desc-lg p {
    font-size: 12px;
    line-height: normal;
  }
  .desc-lg span {
    display: none !important;
  }
  .ig-search-dp .form-control {
    padding: 0.625rem 0.15rem;
  }
  .title-src {
    font-size: 14px;
  }
  .title-section {
    font-size: 26px;
  }
  .subtitle-section {
    font-size: 12px;
  }
  .owl-highlights .item .desc h4 {
    font-size: 16px;
  }
  .s-assistance .card-img {
    min-height: 200px;
  }
  .cf-thumb-slider {
    left: 110px;
    bottom: -22px;
  }
  .carousel-status {
    font-size: 16px;
    bottom: 40px;
  }
  .carousel-status span {
    font-size: 36px;
  }
  .slider-hero-thumb .owl-nav {
    gap: 17px;
  }
  .slider-hero-thumb .item {
    width: 162px;
    height: 95px;
  }
  .video-container .markers-wrapper.owl-carousel .owl-nav .owl-prev {
    left: -7px;
    bottom: -5px;
  }
  .video-container .markers-wrapper.owl-carousel .owl-nav .owl-next {
    right: -15px;
    bottom: -5px;
  }
  .markers-wrapper {
    display: inline-flex;
    gap: 0;
    padding: 0;
    width: max-content;
    margin-left: 40%;
    margin-right: 40%;
    transform: translateX(calc(-25% - 50px));
  }
}
