@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@600;700&family=Italiana&family=Manrope:wght@400;500;600;700;800&family=Open+Sans:wght@300;400;500;600;700&family=Poppins:wght@500;600;700;800&display=swap');

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Manrope, Arial, sans-serif;
  color: #000;
  background: #fff;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

/* =========================
   HEADER / NAV
========================= */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;

  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 14px 46px;

  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid #e8e8e8;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #000;
}

.brand-logo {
  display: block;
  width: auto;
  height: 86px;
  max-width: 240px;
  object-fit: contain;
}

.top-nav {
  display: flex;
  align-items: center;
  gap: 26px;

  font-size: 15px;
  font-weight: 600;
  color: #000;
}

.nav-link,
.nav-trigger {
  min-height: 38px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  border: 0;
  background: transparent;
  color: #000;

  font-size: 15px;
  font-weight: 500;

  cursor: pointer;
  transition: color .2s ease, font-weight .2s ease, opacity .2s ease;
}

.nav-link.active,
.nav-trigger.active {
  color: #000;
  font-weight: 900;
  opacity: 1;
}

.nav-dropdown {
  position: relative;
}

.nav-trigger {
  min-width: auto;
  gap: 7px;
  line-height: 1;
}

.nav-arrow {
  width: 7px;
  height: 7px;
  display: inline-block;

  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;

  transform: rotate(45deg) translateY(-2px);
  transform-origin: center;
}

.nav-dropdown::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 18px;
}

.dropdown-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  z-index: 80;

  width: 330px;
  max-height: 68vh;
  overflow-y: auto;

  padding: 12px;

  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .12);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: .18s ease;
}

.nav-dropdown:hover .dropdown-panel,
.nav-dropdown:focus-within .dropdown-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.dropdown-panel p {
  margin: 0 0 8px;
  padding: 8px 10px;

  color: #000;
  opacity: .55;

  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 10px;
  font-weight: 700;
}

.dropdown-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  padding: 12px 10px;

  color: #000;
  border-radius: 12px;
  transition: .18s ease;
}

.dropdown-link:hover,
.dropdown-link.active {
  opacity: 1;
  background: #f4f4f4;
}

.dropdown-link.active {
  font-weight: 900;
}

.dropdown-link span {
  flex: 1;
  min-width: 0;

  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dropdown-link.active span {
  font-weight: 900;
}

.dropdown-link small {
  flex: 0 0 auto;

  color: #000;
  opacity: .48;

  font-size: 11px;
  font-weight: 500;

  white-space: nowrap;
}

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

.btn {
  width: 125px;
  min-height: 42px;

  padding: 0 14px;

  border: 1px solid #fff;
  border-radius: 0;

  background: transparent;
  color: #fff;

  cursor: pointer;

  font-size: 12px;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  transition:
    transform .22s ease,
    background .22s ease,
    color .22s ease,
    border-color .22s ease;
}

.btn-primary {
  background: #fff;
  color: #000;
  border-color: #fff;
}

.btn-ghost {
  background: transparent;
  color: #fff;
  border-color: #fff;
}

.btn-primary:hover,
.btn-ghost:hover {
  transform: translateY(-3px);
}

.btn-primary:hover {
  background: transparent;
  color: #fff;
  border-color: #fff;
}

.btn-ghost:hover {
  background: #fff;
  color: #000;
  border-color: #fff;
}

/* =========================
   DETAIL HERO
========================= */

.detail-main {
  background: #fff;
  color: #111;
}

/* =========================================================
   DETAIL HERO — DESKTOP
========================================================= */

.detail-hero {
  position: relative;

  width: 100%;
  min-height: 450px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0;
  padding: 45px 46px;

  overflow: hidden;

  color: #fff;
}

.detail-hero-bg {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  background-position: center 44%;
  background-size: cover;
  background-repeat: no-repeat;

  transform: scale(1.02);
}

.detail-hero-overlay {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.58) 0%,
      rgba(0, 0, 0, 0.42) 42%,
      rgba(0, 0, 0, 0.18) 100%
    );
}

.detail-hero-content {
  position: relative;
  z-index: 2;

  width: min(92vw, 1240px);
  min-height: 0;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  margin: 0 auto;
  padding: 0;
}

.detail-hero-copy {
  position: relative;
  z-index: 3;

  width: min(760px, 62%);
  max-width: 760px;

  margin: 0;
  padding: 10px 0;

  text-align: left;
}

.eyebrow {
margin: 0 0 14px;

text-transform: uppercase;
letter-spacing: .18em;

font-size: 11px;
font-weight: 600;
color: inherit;
}

.script-text {
font-family: 'Dancing Script', cursive;
font-size: clamp(34px, 4vw, 56px);
font-weight: 700;
line-height: 1.05;
letter-spacing: -.01em;
text-transform: none;
}

.detail-title {
  width: 100%;
  max-width: 760px;
  min-height: 0;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  gap: 7px;

  margin: 0 0 18px;

  color: #fff;

  font-family: 'Dancing Script', cursive;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.01em;

  white-space: normal;
}

.package-title-line {
  display: block;

  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 1.08em;

  margin: 0;
  padding: 0;

  color: #fff;

  font-family: 'Dancing Script', cursive;
  font-size: clamp(38px, 3.7vw, 54px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.01em;

  white-space: normal;
}

.package-duration-line {
  display: block;
  width: 100%;

  margin: 0;
  padding: 0;

  color: #fff;

  font-family: 'Dancing Script', cursive;
  font-size: clamp(26px, 2.3vw, 34px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.01em;
}

.package-typing-text {
  display: inline;

  width: auto;
  max-width: 100%;

  margin: 0;
  padding: 0;

  color: #fff;

  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;

  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

.package-typing-text::after {
  content: "";

  display: inline-block;

  width: 2px;
  height: 0.72em;

  margin-left: 5px;

  background: #fff;

  transform: translateY(1px);

  animation: packageTypingCursorBlink .8s infinite;
}

.package-typing-cursor {
  display: none;
}

@keyframes packageTypingCursorBlink {
  0%,
  45% {
    opacity: 1;
  }

  46%,
  100% {
    opacity: 0;
  }
}

.detail-subtitle {
max-width: 460px;
margin: 0 0 30px;

color: rgba(255, 255, 255, .9);

font-size: 14px;
font-weight: 400;
line-height: 1.75;
}

.detail-actions {
display: flex;
justify-content: flex-start;
align-items: center;
flex-wrap: nowrap;
gap: 10px;

margin-top: 34px;
}

/* =========================
   4 HIGHLIGHT HEADER
========================= */

.hero-basic-info {
  position: absolute;
  right: 0;
  bottom: 0;
  left: auto;
  z-index: 4;

  width: 620px;
  height: 64px;

  display: grid;
  grid-template-columns: repeat(4, 1fr);

  margin: 0;
  padding: 0;
  transform: none;

  border-top: 1px solid rgba(255, 255, 255, .34);
  border-left: 1px solid rgba(255, 255, 255, .34);
  border-right: 0;
  border-bottom: 0;
  border-radius: 0;

  background: rgba(255, 255, 255, .11);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.hero-basic-info div {
  width: 100%;
  min-width: 0;
  height: 64px;

  padding: 0 14px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-right: 1px solid rgba(255, 255, 255, .22);
  border-radius: 0;

  text-align: center;
  overflow: hidden;
}

.hero-basic-info div:last-child {
  border-right: 0;
}

.hero-basic-info strong {
  display: block;
  width: 100%;

  color: #fff;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;

  text-align: center;
  white-space: nowrap;
}

.hero-basic-info span {
  display: none;
}

/* =========================
   DETAIL SECTIONS
========================= */

.detail-section {
  width: min(92vw, 1120px);
  margin: 0 auto;
  padding: 76px 0;
}

#pengenalan {
  background: #fff;
  box-shadow: 0 0 0 100vmax #fff;
  clip-path: inset(0 -100vmax);
}

.detail-section + .detail-section {
  border-top: 0;
}


/* =========================
   SECTION TAB UTAMA
========================= */

.package-details-section {
  width: 100%;

  margin: 0;
  padding: 76px 0 30px;

  background: #f6f6f6;
  box-shadow: 0 0 0 100vmax #f6f6f6;
  clip-path: inset(0 -100vmax);

  transition: padding-bottom .32s ease;
}


/* Bila mana-mana maklumat dibuka */

.package-details-section:has(.package-tab-panel.active) {
  padding-bottom: 54px;
}


/* =========================
   BUTANG TAB
========================= */

.package-detail-tabs {
  width: min(92vw, 1120px);

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  margin: 0 auto 34px;
}


/* =========================
   BUTANG ITINERARY / HARGA / PAKEJ
========================= */

.package-tab-button {
  position: relative;

  width: 125px;
  min-width: 125px;
  height: 42px;
  min-height: 42px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin: 0;
  padding: 0 36px 0 14px;

  overflow: hidden;

  border: 1px solid #111;
  border-radius: 0;

  background: #fff;
  color: #111;

  font-family: 'Manrope', 'Poppins', Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;

  text-align: center;
  white-space: nowrap;

  cursor: pointer;

  transition:
    transform .22s ease,
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease;
}


/* Pastikan tulisan kekal center */

.package-tab-button > span:first-child {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;

  text-align: center;

  transition:
    transform .22s ease,
    color .22s ease;
}


/* =========================
   CONTAINER ICON
========================= */

.package-tab-icons {
  position: absolute;
  top: 50%;
  right: 13px;

  width: 13px;
  height: 13px;

  display: block;

  transform: translateY(-50%);
}


/* =========================
   ICON PLUS DAN MINUS
========================= */

.package-tab-icon {
  position: absolute;
  inset: 0;

  width: 13px;
  height: 13px;

  display: block;

  object-fit: contain;

  filter: brightness(0);

  transition:
    opacity .28s ease,
    transform .28s ease,
    filter .28s ease;
}


/* Keadaan asal */

.package-tab-icon-plus {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.package-tab-icon-minus {
  opacity: 0;
  transform: rotate(-90deg) scale(.65);
}


/* =========================
   HOVER
========================= */

.package-tab-button:hover {
  transform: translateY(-3px);

  background: #111;
  color: #fff;
  border-color: #111;
}

.package-tab-button:hover .package-tab-icon {
  filter: brightness(0) invert(1);
}


/* =========================
   ACTIVE
========================= */

.package-tab-button.active {
  background: #111;
  color: #fff;
  border-color: #111;
}

.package-tab-button.active .package-tab-icon {
  filter: brightness(0) invert(1);
}

.package-tab-button.active .package-tab-icon-plus {
  opacity: 0;
  transform: rotate(90deg) scale(.65);
}

.package-tab-button.active .package-tab-icon-minus {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.package-tab-button.active:hover {
  transform: translateY(-3px);

  background: #333;
  color: #fff;
  border-color: #333;
}

/* =========================
   KANDUNGAN TAB
========================= */

.package-tab-panel {
  width: min(92vw, 1120px);

  margin: 0 auto;

  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);

  transition:
    opacity .32s ease,
    transform .32s ease,
    visibility .32s ease;
}

.package-tab-panel.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.package-tab-panel[hidden] {
  display: none;
}


/* =========================
   TAJUK SETIAP PANEL
========================= */

.detail-section-head {
  width: 100%;
  max-width: 1050px;

  margin: 0 auto 32px;

  text-align: center;
}

.detail-section-head h2 {
  display: inline-block;

  margin: 0;
  padding: 0;

  color: #111;

  font-family: 'Open Sans', 'Manrope', Arial, sans-serif;
  font-size: 25px;
  font-weight: 500;
  font-style: normal;
  line-height: 38px;
  letter-spacing: .01em;
  text-transform: none;
}

.detail-section-head h2::before,
.detail-section-head h2::after {
  content: none;
  display: none;
}

.detail-section-head p {
  display: none;
}

.red-title-text {
  color: #E80707;
  font-family: 'Dancing Script', cursive;
  font-size: 1.18em;
  font-weight: 700;
  letter-spacing: 0;
}


/* =========================
   ITINERARY
========================= */

#itinerary {
  background: transparent;
  box-shadow: none;
  clip-path: none;
}

#itinerary .detail-section-head {
  width: 100%;
  max-width: 980px;

  margin: 0 auto 36px;

  text-align: center;
}

#itinerary .detail-section-head h2 {
  display: inline-block;

  margin: 0;
  padding: 0;

  color: #111;

  font-family: 'Open Sans', 'Manrope', Arial, sans-serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 38px;
  letter-spacing: .01em;
  text-transform: none;
}

#itinerary .detail-section-head h2::before,
#itinerary .detail-section-head h2::after {
  content: none;
  display: none;
}


/* =========================
   SENARAI ITINERARY
========================= */

.itinerary-list {
  width: fit-content;
  max-width: 100%;

  display: grid;

  /*
    Kiri ikut nama tempat paling panjang.
    Kanan ikut point itinerary paling panjang.
  */
  grid-template-columns: max-content max-content;

  column-gap: 10px;
  row-gap: 16px;

  margin: 0 auto;
  padding: 0;
}


/* =========================
   SETIAP ROW
========================= */

.itinerary-row {
  position: relative;

  grid-column: 1 / -1;

  width: 100%;

  display: grid;
  grid-template-columns: subgrid;
  align-items: stretch;

  margin: 0;
  padding: 0;

  overflow: visible;

  border: 0;
  border-radius: 0;

  background: transparent;
  box-shadow: none;

  transition: transform .25s ease;
}

.itinerary-row:hover {
  transform: translateY(-2px);

  border: 0;
  background: transparent;
  box-shadow: none;
}

.itinerary-row::before,
.itinerary-row::after {
  content: none;
  display: none;
}


/* =========================
   CARD KIRI - HITAM
========================= */

.itinerary-day {
  width: 100%;
  min-width: 220px;
  min-height: 120px;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;

  margin: 0;
  padding: 26px 28px;

  border: 2px solid #111;
  border-radius: 12px;

  background: #111;

  text-align: left;
}


/* Label hari */

.itinerary-day span {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin: 0 0 10px;
  padding: 6px 12px;

  border: 1px solid #fff;
  border-radius: 0 12px 0 12px;

  background: transparent;
  color: #fff;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;

  white-space: nowrap;
}


/* Nama tempat */

.itinerary-day strong {
  display: block;

  width: max-content;
  max-width: none;

  color: #fff;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;

  white-space: nowrap;
}


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

.itinerary-content {
  width: 100%;
  min-width: 0;
  min-height: 120px;

  display: flex;
  align-items: center;

  margin: 0;
  padding: 25px 32px;

  border: 2px solid #111;
  border-radius: 12px;

  background: #fff;
}


/*
  max-content memastikan lebar card kanan
  hanya ikut point yang paling panjang.
*/

.itinerary-content ul {
  width: max-content;

  margin: 0;
  padding: 0;

  list-style: none;
}

.itinerary-content li {
  position: relative;

  width: max-content;

  margin: 0 0 9px;
  padding: 0 0 0 25px;

  color: #444;

  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: .01em;

  text-align: left;
  white-space: nowrap;
}

.itinerary-content li:last-child {
  margin-bottom: 0;
}


/* =========================
   ICON ANAK PANAH
========================= */

.itinerary-content li::before {
  content: "";

  position: absolute;
  top: 6px;
  left: 0;

  width: 13px;
  height: 13px;

  background: #111;

  -webkit-mask-image:
    url("https://cdn-icons-png.flaticon.com/128/724/724927.png");

  mask-image:
    url("https://cdn-icons-png.flaticon.com/128/724/724927.png");

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-size: contain;
  mask-size: contain;
}


/* =========================
   HARGA
========================= */

#harga {
  background: transparent;
  box-shadow: none;
  clip-path: none;
}

.price-content {
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}

.price-table-wrap {
  width: max-content;
  max-width: 100%;
  margin: 0;

  overflow: hidden;

  border: 1px solid #d7d7d7;
  border-radius: 10px;

  background: #fff;
}

.price-table {
  width: auto;
  min-width: 910px;

  border-collapse: collapse;
  border-spacing: 0;
  table-layout: auto;

  background: #fff;

  font-family: 'Manrope', Arial, sans-serif;
}

.price-table th,
.price-table td {
  min-width: 150px;
  padding: 21px 28px;

  border: 0;
  border-right: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;

  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.price-table th:last-child,
.price-table td:last-child {
  border-right: 0;
}

.price-table tbody tr:last-child th,
.price-table tbody tr:last-child td {
  border-bottom: 0;
}

.price-table thead th {
  background: #111;
  color: #fff;

  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.price-table thead th small {
  display: block;
  margin-top: 4px;

  color: #fff;

  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
}

.price-table tbody tr:nth-child(odd) th,
.price-table tbody tr:nth-child(odd) td {
  background: #fff;
}

.price-table tbody tr:nth-child(even) th,
.price-table tbody tr:nth-child(even) td {
  background: #f7f7f7;
}

.price-table tbody th,
.price-table tbody td {
  color: #3f3f3f;

  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.price-table tbody th {
  color: #111;
  font-weight: 800;
  text-transform: none;
}

.price-note {
  width: 100%;

  margin: 13px 0 0;
  padding: 0;

  color: #E80707;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.6;

  text-align: left;
}


/* =========================
   PAKEJ INCLUDE / EXCLUDE
========================= */

#pakej {
  background: transparent;
  box-shadow: none;
  clip-path: none;
}

.include-grid {
  width: 100%;
  max-width: 1000px;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 18px;

  margin: 0 auto;
}

.info-card {
  width: 100%;
  min-height: auto;
  height: fit-content;

  padding: 0;
  overflow: hidden;

  border: 1px solid #d7d7d7;
  border-radius: 10px;

  background: #fff;
}

.info-card h3 {
  margin: 0;
  padding: 19px 24px;

  background: #111;
  color: #fff;

  border-bottom: 1px solid #d7d7d7;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
}

.info-card ul {
  display: flex;
  flex-direction: column;

  margin: 0;
  padding: 0;

  background: #fff;
  list-style: none;
}

.info-card li {
  position: relative;

  min-height: 54px;

  display: flex;
  align-items: center;

  margin: 0;
  padding: 14px 22px 14px 54px;

  color: #333;

  border: 0;
  border-bottom: 1px solid #d7d7d7;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.65;
}

.info-card li:last-child {
  border-bottom: 0;
}

.info-card li:nth-child(odd) {
  background: #fff;
}

.info-card li:nth-child(even) {
  background: #f7f7f7;
}

.info-card li::before {
  position: absolute;
  top: 50%;
  left: 24px;

  width: 18px;
  height: 18px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: transparent;

  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;

  transform: translateY(-50%);
}

.included-card li::before {
  content: "✓";
  color: #209447;
}

.excluded-card li::before {
  content: "×";
  color: #E80707;
  font-size: 19px;
}

/* =========================
   CTA SECTION SAMA SEBIJI INDEX
========================= */

.quote-section {
  width: 100%;
  padding: 0;
  margin: 0;

  background: #111;
}

.quote-card {
  width: 100%;
  min-height: 300px;
  margin: 0;

  position: relative;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 68px 46px;

  border: none;
  border-radius: 0;

  background: #111;
  text-align: center;
}

.quote-bg {
  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, .62) 0%,
      rgba(0, 0, 0, .58) 35%,
      rgba(0, 0, 0, .58) 65%,
      rgba(0, 0, 0, .62) 100%
    ),
    url("https://akudanistanbul.com/wp-content/uploads/2026/07/ChatGPT-Image-Jul-9-2026-03_24_38-PM.png");

  background-size: cover;
  background-position: center 40%;
  background-repeat: no-repeat;

  z-index: 1;
}

/* Pastikan tiada blur tambahan */
.quote-bg::before {
  display: none;
}

.quote-card::after {
  content: "";

  position: absolute;
  inset: 0;

  background: rgba(0, 0, 0, .18);

  z-index: 2;
}

.quote-content {
  position: relative;
  z-index: 3;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  margin: 0;
  padding: 0;
}

.quote-eyebrow {
  margin: 0 0 15px;

  font-family: 'Manrope', 'Poppins', Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;

  color: #fff;
  opacity: 1;
}

.quote-content h2 {
  margin: 0 0 30px;

  font-family: 'Manrope', 'Poppins', Arial, sans-serif;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.08;
  text-transform: none;

  color: #fff;
}

.quote-subtitle {
  margin: 0 0 28px;

  font-family: 'Manrope', 'Poppins', Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;

  color: #fff;
  opacity: 1;
}

.quote-button {
  min-width: 125px;
  min-height: 42px;

  margin-top: 18px;
  padding: 0 16px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #fff;
  border-radius: 0;

  background: transparent;
  color: #fff;

  font-family: 'Manrope', 'Poppins', Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;

  cursor: pointer;

  transition:
    transform .22s ease,
    background .22s ease,
    color .22s ease,
    border-color .22s ease;
}

.quote-button:hover {
  transform: translateY(-3px);

  background: #fff;
  color: #000;
  border-color: #fff;
}

/* =========================================================
   GALLERY DESTINASI
========================================================= */

.destination-gallery-section {
  width: min(94vw, 1240px);

  margin: 0 auto;
  padding: 74px 0 30px;

  background: #fff;
}


/* =========================================================
   TAJUK GALLERY
========================================================= */

.gallery-section-head {
  width: 100%;

  margin: 0 auto 34px;

  text-align: center;
}

.gallery-section-head h2 {
  display: inline-block;

  margin: 0;
  padding: 0;

  color: #111;

  font-family: 'Open Sans', 'Manrope', Arial, sans-serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .01em;
}


/* =========================================================
   SUSUNAN UTAMA GALLERY
========================================================= */

.destination-gallery-grid {
  width: 100%;
  height: 530px;

  display: grid;

  grid-template-columns:
    minmax(0, 1.05fr)
    minmax(0, 1.7fr)
    minmax(0, 1.05fr);

  grid-template-rows:
    minmax(0, 1fr)
    minmax(0, 1fr);

  grid-template-areas:
    "top-left top-center top-right"
    "bottom-left bottom-center bottom-right";

  gap: 10px;

  margin: 0;
}


/* =========================================================
   KEDUDUKAN SETIAP GAMBAR
========================================================= */

.gallery-top-left {
  grid-area: top-left;
}

.gallery-top-center {
  grid-area: top-center;
}

.gallery-top-right {
  grid-area: top-right;
}

.gallery-bottom-left {
  grid-area: bottom-left;
}

.gallery-bottom-center {
  grid-area: bottom-center;
}

.gallery-bottom-right {
  grid-area: bottom-right;
}


/* =========================================================
   UBAH LEBAR SUSUNAN BARIS BAWAH
========================================================= */

.destination-gallery-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.gallery-top-left {
  grid-column: 1 / span 3;
  grid-row: 1;
}

.gallery-top-center {
  grid-column: 4 / span 6;
  grid-row: 1;
}

.gallery-top-right {
  grid-column: 10 / span 3;
  grid-row: 1;
}

.gallery-bottom-left {
  grid-column: 1 / span 5;
  grid-row: 2;
}

.gallery-bottom-center {
  grid-column: 6 / span 4;
  grid-row: 2;
}

.gallery-bottom-right {
  grid-column: 10 / span 3;
  grid-row: 2;
}


/* =========================================================
   ITEM GAMBAR
========================================================= */

.destination-gallery-item {
  position: relative;

  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;

  margin: 0;

  overflow: hidden;

  border-radius: 3px;

  background: #e8e8e8;

  box-shadow:
    0 5px 14px rgba(0, 0, 0, .14);
}


.destination-gallery-item img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
  object-position: center;

  pointer-events: none;
  user-select: none;
}


/* OPTIMIZE LOADING GALLERY */

.destination-gallery-section {
  content-visibility: auto;
  contain-intrinsic-size: auto 650px;
}

.destination-gallery-item img {
  max-width: 100%;
  image-rendering: auto;
}


/* =========================================================
   GRADIENT GELAP BAHAGIAN BAWAH
========================================================= */

.destination-gallery-item::after {
  content: "";

  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;

  height: 42%;

  background:
    linear-gradient(
      to top,
      rgba(0, 0, 0, .66) 0%,
      rgba(0, 0, 0, .24) 48%,
      rgba(0, 0, 0, 0) 100%
    );

  pointer-events: none;
}


/* =========================================================
   NAMA TEMPAT
========================================================= */

.destination-gallery-item figcaption {
  position: absolute;
  z-index: 2;

  left: 18px;
  bottom: 15px;

  max-width: calc(100% - 36px);

  margin: 0;

  color: #fff;

  font-family: 'Dancing Script', cursive;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .01em;

  text-shadow:
    0 2px 8px rgba(0, 0, 0, .5);
}


/* =========================================================
   KEDUDUKAN FOKUS GAMBAR
========================================================= */

.gallery-top-left img {
  object-position: center 38%;
}

.gallery-top-center img {
  object-position: center 50%;
}

.gallery-top-right img {
  object-position: center 45%;
}

.gallery-bottom-left img {
  object-position: center 48%;
}

.gallery-bottom-center img {
  object-position: center 50%;
}

.gallery-bottom-right img {
  object-position: center 45%;
}

/* =========================
   FORM QUOTATION
========================= */

.form-section {
  width: min(92vw, 1060px);

  margin: 0 auto;
  padding: 76px 0 96px;

  background: #fff;
}


/* =========================
   TAJUK FORM
========================= */

.form-head {
  width: 100%;
  max-width: 900px;

  margin: 0 auto 38px;

  text-align: center;
}

.form-head h2 {
  display: inline-block;

  margin: 0;
  padding: 0;

  color: #111;

  font-family: 'Open Sans', 'Manrope', Arial, sans-serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .01em;
}


/* =========================
   CARD UTAMA BORANG
========================= */

.quotation-form {
  width: 100%;
  max-width: 900px;

  margin: 0 auto;
  padding: 42px;

  border: 1px solid #e2e2e2;
  border-radius: 18px;

  background: #fff;

  box-shadow:
    0 18px 55px rgba(0, 0, 0, .07),
    0 4px 14px rgba(0, 0, 0, .035);
}

.quotation-form::before,
.quotation-form::after {
  content: none;
  display: none;
}


/* =========================
   LOGO
========================= */

.form-logo-wrap {
  width: 100%;

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0 0 38px;
}

.form-logo {
  display: block;

  width: auto;
  height: 88px;
  max-width: 230px;

  object-fit: contain;
}


/* =========================
   KATEGORI BORANG
========================= */

.form-category {
  margin: 0 0 24px;
  padding: 25px;

  border: 1px solid #ececec;
  border-radius: 14px;

  background: #fafafa;
}

.form-category:last-of-type {
  margin-bottom: 0;
}

.form-category-head {
  display: flex;
  align-items: center;
  gap: 11px;

  margin: 0 0 22px;
}


/* Nombor biasa tanpa bulatan */

.form-category-number {
  width: auto;
  height: auto;
  flex: 0 0 auto;

  display: inline-block;

  padding: 0;

  border: 0;
  border-radius: 0;

  background: transparent;
  color: #111;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}


/* Tajuk kategori tak terlalu bold */

.form-category-head h3 {
  margin: 0;

  color: #111;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}


/* Ayat bawah kategori disembunyikan sekiranya masih ada */

.form-category-head p {
  display: none;
}


/* =========================
   GRID
========================= */

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  column-gap: 20px;
  row-gap: 27px;
}


/* =========================
   FLOATING FIELD
========================= */

.floating-field {
  position: relative;

  display: block;

  min-width: 0;
  margin: 0;
}


/* =========================
   INPUT
========================= */

.floating-field input,
.floating-field select,
.floating-field textarea {
  width: 100%;

  margin: 0;

  border: 1px solid #d5d5d5;
  border-radius: 9px;
  outline: none;

  background-color: #fff;
  color: #111;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.4;

  box-shadow: none;

  transition:
    border-color .22s ease,
    box-shadow .22s ease,
    background-color .22s ease;
}


/* Ruang input */

.floating-field input,
.floating-field select {
  height: 52px;

  padding:
    20px
    48px
    6px
    15px;
}


/* Anak panah jumlah peserta rapat ke kanan hujung */

.floating-field input[type="number"] {
  padding-right: 12px;
}


.floating-field input[type="number"]::-webkit-inner-spin-button,
.floating-field input[type="number"]::-webkit-outer-spin-button {
  transform: translateY(-6px);
}

.floating-field textarea {
  min-height: 112px;

  padding:
    23px
    48px
    12px
    15px;

  resize: vertical;
}

/* =========================
   LABEL ASAL
========================= */

.floating-field > span {
  position: absolute;
  top: 50%;
  left: 15px;
  z-index: 2;

  max-width: calc(100% - 65px);

  margin: 0;
  padding: 0;

  background: transparent;
  color: #777;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  pointer-events: none;

  transform: translateY(-50%);

  transition:
    top .2s ease,
    color .2s ease,
    font-size .2s ease,
    font-weight .2s ease,
    transform .2s ease;
}

.textarea-field > span {
  top: 20px;
}


/* =========================
   LABEL NAIK DAN KEKAL
========================= */

.floating-field:focus-within > span,
.floating-field.is-active > span,
.floating-field.has-value > span {
  top: 9px;
  left: 15px;

  color: #E80707;

  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: none;

  transform: none;
}

.floating-field.has-value > span {
  top: 9px;

  color: #E80707;

  transform: none;
}


/* Label hijau apabila input sah */

.floating-field.is-valid > span {
  color: #209447;
}


/* Label merah apabila input tidak sah */

.floating-field.is-invalid > span {
  color: #E80707;
}


/* =========================
   PLACEHOLDER CONTOH
========================= */

.floating-field input::placeholder,
.floating-field textarea::placeholder {
  color: transparent;
  opacity: 1;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 400;

  transition: color .2s ease;
}

.floating-field.is-active input::placeholder,
.floating-field.is-active textarea::placeholder,
.floating-field:focus-within input::placeholder,
.floating-field:focus-within textarea::placeholder {
  color: #aaa;
}

.floating-field.has-value input::placeholder,
.floating-field.has-value textarea::placeholder {
  color: transparent;
}


/* =========================
   HOVER DAN FOCUS
========================= */

.floating-field:hover input,
.floating-field:hover select,
.floating-field:hover textarea {
  border-color: #aaa;
}

.floating-field:focus-within input,
.floating-field:focus-within select,
.floating-field:focus-within textarea {
  border-color: #E80707;

  box-shadow:
    0 0 0 3px rgba(232, 7, 7, .07);
}


/* Field kekal hijau selepas maklumat sah */

.floating-field.is-valid input,
.floating-field.is-valid select,
.floating-field.is-valid textarea,
.floating-field.is-valid:hover input,
.floating-field.is-valid:hover select,
.floating-field.is-valid:hover textarea {
  border-color: #209447;

  box-shadow:
    0 0 0 3px rgba(32, 148, 71, .07);
}


/* Ketika field sah sedang difokuskan */

.floating-field.is-valid:focus-within input,
.floating-field.is-valid:focus-within select,
.floating-field.is-valid:focus-within textarea {
  border-color: #209447;

  box-shadow:
    0 0 0 3px rgba(32, 148, 71, .09);
}


/* =========================
   IKON TICK BERJAYA
========================= */

.field-valid-icon {
  position: absolute;
  top: 50%;
  right: 15px;
  z-index: 3;

  width: 16px;
  height: 16px;

  display: block;

  object-fit: contain;

  opacity: 0;
  visibility: hidden;

  pointer-events: none;

  transform:
    translateY(-50%)
    scale(.65);

  filter:
    invert(43%)
    sepia(84%)
    saturate(839%)
    hue-rotate(88deg)
    brightness(91%)
    contrast(90%);

  transition:
    opacity .2s ease,
    visibility .2s ease,
    transform .2s ease;
}

.floating-field.is-valid .field-valid-icon {
  opacity: 1;
  visibility: visible;

  transform:
    translateY(-50%)
    scale(1);
}


/* Tick tidak muncul ketika field invalid */

.floating-field.is-invalid .field-valid-icon {
  opacity: 0;
  visibility: hidden;
}


/* Tick textarea */

.textarea-valid-icon {
  top: 21px;

  transform: scale(.65);
}

.floating-field.is-valid .textarea-valid-icon {
  transform: scale(1);
}


/* =========================
   INPUT TARIKH
========================= */

.floating-field input[type="date"] {
  position: relative;

  padding-right: 76px;

  color: transparent;
}

.floating-field input[type="date"]:focus,
.floating-field.is-active input[type="date"],
.floating-field.has-value input[type="date"] {
  color: #111;
}


.date-valid-icon {
  right: 42px;
}


/* =========================
   SELECT
========================= */

.floating-field select {
  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;

  padding-right: 76px;

  background-image:
    linear-gradient(45deg, transparent 50%, #777 50%),
    linear-gradient(135deg, #777 50%, transparent 50%);

  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 16px) 50%;

  background-size:
    5px 5px,
    5px 5px;

  background-repeat: no-repeat;
}


/* Anak panah sentiasa muncul, bukan waktu hover sahaja */

.floating-field select:hover {
  background-image:
    linear-gradient(45deg, transparent 50%, #555 50%),
    linear-gradient(135deg, #555 50%, transparent 50%);
}

.floating-field:focus-within select {
  background-image:
    linear-gradient(45deg, transparent 50%, #E80707 50%),
    linear-gradient(135deg, #E80707 50%, transparent 50%);
}

.floating-field.is-valid select {
  background-image:
    linear-gradient(45deg, transparent 50%, #209447 50%),
    linear-gradient(135deg, #209447 50%, transparent 50%);
}

.select-valid-icon {
  right: 43px;
}


/* =========================
   FULL WIDTH
========================= */

.form-full {
  grid-column: 1 / -1;
}


/* =========================
   AUTOFILL
========================= */

.floating-field input:-webkit-autofill,
.floating-field input:-webkit-autofill:hover,
.floating-field input:-webkit-autofill:focus {
  -webkit-text-fill-color: #111;

  -webkit-box-shadow:
    0 0 0 1000px #fff inset;

  transition:
    background-color 9999s ease-in-out 0s;
}


/* =========================
   STATUS TIDAK SAH
========================= */

.floating-field.is-invalid input,
.floating-field.is-invalid select,
.floating-field.is-invalid textarea,
.floating-field.is-invalid:hover input,
.floating-field.is-invalid:hover select,
.floating-field.is-invalid:hover textarea,
.floating-field.is-invalid:focus-within input,
.floating-field.is-invalid:focus-within select,
.floating-field.is-invalid:focus-within textarea {
  border-color: #E80707;

  box-shadow:
    0 0 0 3px rgba(232, 7, 7, .07);
}


/* Ayat error setiap input */

.field-error {
  position: absolute;
  top: calc(100% + 5px);
  left: 3px;
  z-index: 4;

  display: block;

  margin: 0;

  color: #E80707;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.35;

  opacity: 0;
  visibility: hidden;

  transform: translateY(-3px);

  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .18s ease;
}

.floating-field.is-invalid .field-error {
  opacity: 1;
  visibility: visible;

  transform: translateY(0);
}


/* Nota bukan required, jadi tiada ruang error */

.textarea-field {
  margin-bottom: 0;
}


/* =========================
   MESEJ VALIDATION UTAMA
========================= */

.form-validation-message {
  display: none;

  width: 100%;

  margin: 25px 0 0;
  padding: 12px 15px;

  border: 1px solid rgba(232, 7, 7, .25);
  border-radius: 8px;

  background: rgba(232, 7, 7, .045);
  color: #E80707;

  font-family: 'Manrope', Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.5;

  text-align: center;
}

.form-validation-message.show {
  display: block;
}


/* =========================
   BUTANG HANTAR
========================= */

.submit-button {
  width: 125px;
  min-height: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 34px auto 0;
  padding: 0 14px;

  border: 1px solid #E80707;
  border-radius: 0;

  background: #fff;
  color: #E80707;

  font-family: 'Manrope', 'Poppins', Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;

  text-align: center;
  white-space: nowrap;

  cursor: pointer;

  transition:
    transform .22s ease,
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease;
}

.submit-button:hover {
  transform: translateY(-3px);

  background: #E80707;
  color: #fff;
  border-color: #E80707;
}

.submit-button:focus-visible {
  outline: 2px solid #E80707;
  outline-offset: 4px;
}

/* =========================
   FOOTER
========================= */

.site-footer {
  padding: 38px 46px;

  text-align: center;

  color: #000;
  background: #fff;
  border-top: 1px solid #e8e8e8;
}

.footer-inner {
  max-width: 1320px;
  margin: 0 auto;

  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-social-text {
  margin: 0 0 16px;

  font-family: 'Manrope', 'Poppins', Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;

  color: #000;
  opacity: .72;
}

.footer-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  margin-bottom: 18px;
}

.footer-social-link {
  width: 38px;
  height: 38px;

  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;

  overflow: hidden;

  padding: 0 9px;

  border: 1px solid #dedede;
  border-radius: 999px;

  background: #fff;
  color: #111;

  transition:
    width .28s ease,
    gap .28s ease,
    padding .28s ease,
    border-color .2s ease,
    color .2s ease;
}

.footer-social-link:hover {
  width: 116px;
  gap: 8px;
  padding: 0 14px 0 10px;
}

.social-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;

  display: block;

  background: currentColor;

  -webkit-mask-size: contain;
  mask-size: contain;

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: center;
  mask-position: center;
}

.social-name {
  opacity: 0;
  transform: translateX(-2px);

  white-space: nowrap;

  font-family: 'Manrope', 'Poppins', Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;

  transition:
    opacity .22s ease,
    transform .22s ease;
}

.footer-social-link:hover .social-name {
  opacity: 1;
  transform: translateX(0);
}

/* Instagram */
.footer-social-link.instagram .social-icon {
  -webkit-mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@v11/icons/instagram.svg");
  mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@v11/icons/instagram.svg");
}

.footer-social-link.instagram:hover {
  border-color: #E4405F;
  color: #E4405F;
}

/* Facebook */
.footer-social-link.facebook .social-icon {
  -webkit-mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@v11/icons/facebook.svg");
  mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@v11/icons/facebook.svg");
}

.footer-social-link.facebook:hover {
  border-color: #1877F2;
  color: #1877F2;
}

/* TikTok */
.footer-social-link.tiktok .social-icon {
  -webkit-mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@v11/icons/tiktok.svg");
  mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@v11/icons/tiktok.svg");
}

.footer-social-link.tiktok:hover {
  border-color: #ff0050;
  color: #ff0050;
}

.footer-copy {
  margin: 0;

  font-family: 'Manrope', 'Poppins', Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.6;

  color: #000;
  opacity: .55;
}

/* Icon menu disembunyikan pada desktop */
.mobile-menu-toggle,
.mobile-menu-overlay {
  display: none;
}

/* =========================================================
   MOBILE HEADER / NAVIGATION
   600PX KE BAWAH
========================================================= */

@media (max-width: 600px) {

  body.mobile-menu-open {
    overflow: hidden;
  }

  /* =========================
     HEADER
  ========================= */

  .site-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 9999;

    width: 100%;
    height: 90px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 18px 0 8px;

    background: rgba(255, 255, 255, .98);
    border-bottom: 1px solid #e5e5e5;

    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
  }

  /* =========================
     LOGO
  ========================= */

  .brand {
    position: relative;
    z-index: 10003;

    display: flex;
    align-items: center;

    margin: 0;
    padding: 0;

    transform: translateX(-5px);
  }

  .brand-logo {
    display: block;

    width: auto;
    height: 74px;
    max-width: 190px;

    object-fit: contain;
  }

  /* =========================
     BUTANG MENU
  ========================= */

  .mobile-menu-toggle {
    position: relative;
    z-index: 10003;

    width: 44px;
    height: 44px;
    flex: 0 0 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 10px;

    border: 0;
    outline: 0;

    background: transparent;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;
  }

  .mobile-menu-toggle img {
    display: block;

    width: 23px;
    height: 23px;

    object-fit: contain;

    filter: brightness(0);

    pointer-events: none;
  }

  /* =========================
     OVERLAY
  ========================= */

  .mobile-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;

    display: block;

    background: rgba(0, 0, 0, .42);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
      opacity .3s ease,
      visibility .3s ease;
  }

  body.mobile-menu-open .mobile-menu-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  /* =========================
     NAV MOBILE
  ========================= */

  .top-nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10001;

    width: 88%;
    max-width: 440px;
    height: 100dvh;

    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;

    gap: 0;

    margin: 0;
    padding: 105px 22px 40px;

    overflow-x: hidden;
    overflow-y: auto;

    background: #fff;
    color: #111;

    box-shadow:
      -20px 0 50px rgba(0, 0, 0, .18);

    transform: translateX(105%);

    transition:
      transform .38s cubic-bezier(.22, 1, .36, 1);
  }

  body.mobile-menu-open .top-nav {
    transform: translateX(0);
  }

  /* =========================
     LINK UTAMA
  ========================= */

  .top-nav .nav-link,
  .top-nav .nav-trigger {
    width: 100%;
    min-height: 58px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin: 0;
    padding: 0 4px;

    border: 0;
    border-bottom: 1px solid #e7e7e7;

    background: transparent;
    color: #111;

    font-family: 'Manrope', Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;

    text-align: left;

    cursor: pointer;
  }

  .top-nav .nav-link:hover,
  .top-nav .nav-trigger:hover,
  .top-nav .nav-link.active,
  .top-nav .nav-trigger.active {
    color: #000;
    font-weight: 800;
    opacity: 1;
  }

  /* =========================
     DROPDOWN WRAPPER
  ========================= */

  .nav-dropdown {
    position: relative;

    width: 100%;

    display: block;
  }

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

  /* =========================
     ANAK PANAH
  ========================= */

  .nav-arrow {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;

    display: block;

    margin-right: 5px;

    border-right: 1.7px solid #111;
    border-bottom: 1.7px solid #111;

    transform: rotate(45deg) translateY(-2px);

    transition: transform .25s ease;
  }

  .nav-dropdown.mobile-dropdown-open .nav-arrow {
    transform: rotate(225deg) translate(-2px, -2px);
  }

  /* =========================
     PANEL DROPDOWN
  ========================= */

  .dropdown-panel {
    position: static;

    width: 100%;
    max-height: 0;

    display: block;

    margin: 0;
    padding: 0;

    overflow: hidden;

    border: 0;
    border-radius: 0;

    background: #f7f7f7;

    box-shadow: none;

    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: none;

    transition:
      max-height .4s ease,
      padding .4s ease;
  }

  .nav-dropdown:hover .dropdown-panel,
  .nav-dropdown:focus-within .dropdown-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: none;
  }

  .nav-dropdown.mobile-dropdown-open .dropdown-panel {
    max-height: 900px;

    padding: 8px 12px 12px;
  }

  /* =========================
     TAJUK DROPDOWN
  ========================= */

  .dropdown-panel p {
    margin: 0;
    padding: 13px 8px 7px;

    color: #777;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;

    text-transform: uppercase;
  }

  /* =========================
     LINK DALAM DROPDOWN
  ========================= */

  .dropdown-link {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    margin: 0;
    padding: 13px 8px;

    border: 0;
    border-bottom: 1px solid #e3e3e3;
    border-radius: 0;

    background: transparent;
    color: #111;

    cursor: pointer;
  }

  .dropdown-link:last-child {
    border-bottom: 0;
  }

  .dropdown-link:hover,
  .dropdown-link.active {
    background: #ececec;
    color: #000;
  }

  .dropdown-link span {
    flex: 1;
    min-width: 0;

    color: #111;

    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;

    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }

  .dropdown-link.active span {
    color: #000;
    font-weight: 800;
  }

  .dropdown-link small {
    flex: 0 0 auto;

    color: #777;

    font-size: 10px;
    font-weight: 500;
  }

  /* =========================
     ICON X BILA MENU DIBUKA
  ========================= */

  body.mobile-menu-open .mobile-menu-toggle img {
    display: none;
  }

  body.mobile-menu-open .mobile-menu-toggle::before,
  body.mobile-menu-open .mobile-menu-toggle::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 23px;
    height: 2px;

    background: #111;
    border-radius: 999px;
  }

  body.mobile-menu-open .mobile-menu-toggle::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  body.mobile-menu-open .mobile-menu-toggle::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}

/* =========================================================
   MOBILE DETAIL HEADER / HERO
   600PX KE BAWAH
========================================================= */

@media (max-width: 600px) {

  /* =========================
     HERO UTAMA
  ========================= */

  .detail-hero {
    position: relative;

    width: 100%;
    max-width: 100%;
    min-height: 370px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 30px 18px 64px;

    overflow: hidden;

    color: #fff;
  }

  /* =========================
     GAMBAR BACKGROUND
  ========================= */

  .detail-hero-bg {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;

    transform: scale(1.02);
  }

  /* =========================
     OVERLAY HERO
  ========================= */

  .detail-hero-overlay {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    background:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, .18) 0%,
        rgba(0, 0, 0, .36) 48%,
        rgba(0, 0, 0, .58) 100%
      );
  }

  /* =========================
     CONTAINER MAKLUMAT
  ========================= */

  .detail-hero-content {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 100%;
    min-height: 0;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    margin: 0;
    padding: 0;
  }

  /* =========================
     MAKLUMAT PAKEJ
  ========================= */

  .detail-hero-copy {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    text-align: left;

    transform: none;
  }

  /* =========================
     EYEBROW
  ========================= */

  .eyebrow {
    margin: 0 0 10px;

    color: #fff;

    font-size: 9px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  /* =========================
     NAMA PAKEJ
  ========================= */

  .detail-title {
    width: 100%;
    max-width: 100%;
    min-height: 0;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 5px;

    margin: 0 0 13px;

    color: #fff;

    font-family: 'Dancing Script', cursive;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.01em;

    white-space: normal;
  }

  .package-title-line {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;

    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: 1.08em;

    margin: 0;
    padding: 0;

    color: #fff;

    font-family: 'Dancing Script', cursive;
    font-size: clamp(23px, 6.5vw, 30px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.01em;

    white-space: normal;
  }

  .package-typing-text {
    display: inline;

    width: auto;
    max-width: 100%;

    margin: 0;
    padding: 0;

    color: #fff;

    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;

    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }

  .package-typing-text::after {
    content: "";

    display: inline-block;

    width: 2px;
    height: 0.68em;

    margin-left: 4px;

    background: #fff;

    transform: translateY(1px);

    animation: packageTypingCursorBlink .8s infinite;
  }

  .package-typing-cursor {
    display: none;
  }

  .package-duration-line {
    display: block;

    width: 100%;
    min-width: 0;

    margin: 0;
    padding: 0;

    color: #fff;

    font-family: 'Dancing Script', cursive;
    font-size: clamp(17px, 4.7vw, 21px);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.01em;

    white-space: normal;
  }

  .package-duration-text {
    display: block;

    width: 100%;

    margin: 0;
    padding: 0;

    color: inherit;

    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }

  /* =========================
     SUBTITLE
  ========================= */

  .detail-subtitle {
    width: 100%;
    max-width: 350px;

    margin: 0 0 20px;

    color: rgba(255, 255, 255, .9);

    font-size: 12px;
    font-weight: 400;
    line-height: 1.65;
  }

  /* =========================
     BUTANG HEADER
  ========================= */

  .detail-actions {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;

    gap: 8px;

    margin: 20px 0 0;
  }

  .detail-actions .btn {
    width: auto;
    min-width: 118px;
    min-height: 40px;

    padding: 0 13px;

    font-size: 11px;
  }

  /* =========================================================
     4 HIGHLIGHT DI BAHAGIAN BAWAH
  ========================================================= */

  .hero-basic-info {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;

    width: 100%;
    height: 64px;

    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    margin: 0;
    padding: 0;

    border-top: 1px solid rgba(255, 255, 255, .36);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;

    background: rgba(255, 255, 255, .08);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    box-shadow: none;

    transform: none;
  }

  .hero-basic-info div {
    width: 100%;
    min-width: 0;
    height: 64px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0 6px;

    border-right: 1px solid rgba(255, 255, 255, .25);
    border-radius: 0;

    background: transparent;

    text-align: center;
    overflow: hidden;
  }

  .hero-basic-info div:last-child {
    border-right: 0;
  }

  .hero-basic-info strong {
    display: block;

    width: 100%;
    min-width: 0;

    margin: 0;

    color: #fff;

    font-family: 'Manrope', Arial, sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    line-height: 1.35;

    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .hero-basic-info span {
    display: none;
  }
}

/* =========================================================
   MOBILE KECIL
   400PX KE BAWAH
========================================================= */

@media (max-width: 400px) {

.detail-hero {
  min-height: 370px;
  padding: 26px 17px 64px;
}

.detail-hero-copy {
  margin: 0;
  padding: 0;

  transform: none;
}

.package-title-line {
  font-size: clamp(22px, 6.5vw, 28px);
}

.package-duration-line {
  font-size: clamp(16px, 4.5vw, 20px);
}

  .detail-subtitle {
    max-width: 320px;

    font-size: 11.5px;
  }

  .detail-actions {
    gap: 7px;
  }

  .detail-actions .btn {
    min-width: 112px;
    min-height: 39px;

    padding-right: 10px;
    padding-left: 10px;

    font-size: 10.5px;
  }

  .hero-basic-info strong {
    font-size: 8.5px;
  }
}

/* =========================================================
   MOBILE: TAB ITINERARY / HARGA / PAKEJ
   600PX KE BAWAH
========================================================= */

@media (max-width: 600px) {

  /* =========================================================
     SECTION UTAMA
  ========================================================= */

  .package-details-section {
    width: 100%;

    margin: 0;
    padding: 46px 14px 34px;

    background: #f6f6f6;
    box-shadow: none;
    clip-path: none;
  }

  .package-details-section:has(.package-tab-panel.active) {
    padding-bottom: 46px;
  }


  /* =========================================================
     3 BUTANG TAB
  ========================================================= */

  .package-detail-tabs {
    width: 100%;
    max-width: 100%;

    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin: 0 auto 30px;
    padding: 0;
  }

  .package-tab-button {
    position: relative;

    width: 100%;
    min-width: 0;
    height: 42px;
    min-height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0 30px 0 10px;

    overflow: hidden;

    border: 1px solid #111;
    border-radius: 0;

    background: #fff;
    color: #111;

    font-family: 'Manrope', 'Poppins', Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;

    text-align: center;
    white-space: nowrap;
  }

  .package-tab-button > span:first-child {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;
  }

  .package-tab-icons {
    position: absolute;
    top: 50%;
    right: 9px;

    width: 11px;
    height: 11px;

    transform: translateY(-50%);
  }

  .package-tab-icon {
    width: 11px;
    height: 11px;
  }


  /* =========================================================
     PANEL TAB
  ========================================================= */

  .package-tab-panel {
    width: 100%;
    max-width: 100%;

    margin: 0 auto;
    padding: 0;

    overflow: visible;
  }

  .detail-section-head {
    width: 100%;

    margin: 0 auto 24px;

    text-align: center;
  }

  .detail-section-head h2,
  #itinerary .detail-section-head h2 {
    font-size: 21px;
    line-height: 1.4;
  }


  /* =========================================================
     ITINERARY MOBILE
     SEMUA MAKLUMAT NAMPak PENUH
  ========================================================= */

  #itinerary {
    width: 100%;

    margin: 0;
    padding: 0;

    overflow: visible;
  }

  .itinerary-list {
    width: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: column;

    gap: 14px;

    margin: 0;
    padding: 0;
  }

  .itinerary-row {
    width: 100%;

    display: flex;
    flex-direction: column;

    margin: 0;
    padding: 0;

    border: 0;
    background: transparent;

    transform: none;
  }

  .itinerary-row:hover {
    transform: none;
  }


  /* Card nama hari */

  .itinerary-day {
    width: 100%;
    min-width: 0;
    min-height: auto;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    margin: 0;
    padding: 18px 18px;

    border: 1px solid #111;
    border-radius: 10px 10px 0 0;

    background: #111;
  }

  .itinerary-day span {
    margin: 0 0 9px;
    padding: 5px 10px;

    font-size: 9px;
  }

  .itinerary-day strong {
    width: 100%;
    max-width: 100%;

    font-size: 12px;
    line-height: 1.55;

    white-space: normal;
    overflow-wrap: anywhere;
  }


  /* Card maklumat itinerary */

  .itinerary-content {
    width: 100%;
    min-width: 0;
    min-height: auto;

    display: block;

    margin: 0;
    padding: 18px;

    border: 1px solid #111;
    border-top: 0;
    border-radius: 0 0 10px 10px;

    background: #fff;
  }

  .itinerary-content ul {
    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;
  }

  .itinerary-content li {
    position: relative;

    width: 100%;
    max-width: 100%;

    margin: 0 0 10px;
    padding: 0 0 0 22px;

    color: #444;

    font-size: 11.5px;
    line-height: 1.7;

    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .itinerary-content li:last-child {
    margin-bottom: 0;
  }

  .itinerary-content li::before {
    top: 5px;

    width: 11px;
    height: 11px;
  }


  /* =========================================================
     TABLE HARGA MOBILE
     SEMUA COLUMN KEKAL DALAM SATU TABLE
  ========================================================= */

  #harga {
    width: 100%;

    margin: 0;
    padding: 0;

    overflow: visible;
  }

  .price-content {
    width: 100%;
    max-width: 100%;

    margin: 0;
  }

  .price-table-wrap {
    width: 100%;
    max-width: 100%;

    margin: 0;

    overflow-x: auto;
    overflow-y: hidden;

    border: 1px solid #d7d7d7;
    border-radius: 8px;

    background: #fff;

    -webkit-overflow-scrolling: touch;
  }

  .price-table {
    width: 100%;
    min-width: 100%;

    border-collapse: collapse;
    table-layout: fixed;
  }

  .price-table th,
  .price-table td {
    width: 20%;
    min-width: 0;

    padding: 12px 4px;

    font-size: 8.5px;
    line-height: 1.35;

    white-space: normal;
    overflow-wrap: anywhere;
  }

  .price-table thead th {
    padding: 12px 4px;

    font-size: 8px;
    letter-spacing: 0;
    line-height: 1.35;
  }

  .price-table thead th small {
    margin-top: 3px;

    font-size: 7px;
    line-height: 1.3;
  }

  .price-table tbody th,
  .price-table tbody td {
    font-size: 8.5px;
    line-height: 1.4;
  }

  .price-note {
    margin-top: 10px;

    font-size: 10.5px;
    line-height: 1.5;
  }


  /* =========================================================
     PAKEJ TERMASUK DAN TAK TERMASUK
     TERMASUK ATAS, TAK TERMASUK BAWAH
  ========================================================= */

  #pakej {
    width: 100%;

    margin: 0;
    padding: 0;
  }

  .include-grid {
    width: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: column;

    gap: 16px;

    margin: 0;
    padding: 0;
  }

  .info-card {
    width: 100%;
    min-height: auto;

    margin: 0;
    padding: 0;

    border: 1px solid #d7d7d7;
    border-radius: 10px;

    overflow: hidden;

    background: #fff;
  }

  .included-card {
    order: 1;
  }

  .excluded-card {
    order: 2;
  }

  .info-card h3 {
    width: 100%;

    margin: 0;
    padding: 15px 18px;

    font-size: 11px;
    line-height: 1.4;

    text-align: center;
  }

  .info-card ul {
    width: 100%;

    margin: 0;
    padding: 0;
  }

  .info-card li {
    position: relative;

    width: 100%;
    min-height: auto;

    display: flex;
    align-items: flex-start;

    margin: 0;
    padding: 13px 16px 13px 43px;

    font-size: 11px;
    line-height: 1.6;

    white-space: normal;
    overflow-wrap: anywhere;
  }

  .info-card li::before {
    top: 14px;
    left: 17px;

    width: 16px;
    height: 16px;

    font-size: 15px;

    transform: none;
  }

  .excluded-card li::before {
    font-size: 18px;
  }
}


/* =========================================================
   MOBILE KECIL
   400PX KE BAWAH
========================================================= */

@media (max-width: 400px) {

  .package-details-section {
    padding-right: 10px;
    padding-left: 10px;
  }

  .package-detail-tabs {
    gap: 6px;
  }

  .package-tab-button {
    height: 40px;
    min-height: 40px;

    padding-right: 26px;
    padding-left: 7px;

    font-size: 10px;
  }

  .package-tab-icons {
    right: 7px;

    width: 10px;
    height: 10px;
  }

  .package-tab-icon {
    width: 10px;
    height: 10px;
  }

  .price-table th,
  .price-table td {
    padding: 10px 2px;

    font-size: 7.5px;
  }

  .price-table thead th {
    font-size: 7px;
  }

  .price-table thead th small {
    font-size: 6.5px;
  }

  .price-table tbody th,
  .price-table tbody td {
    font-size: 7.5px;
  }
}

/* =========================================================
   MOBILE GALLERY DESTINASI
   SUSUNAN EDITORIAL
   600PX KE BAWAH
========================================================= */

@media (max-width: 600px) {

  /* =========================
     SECTION GALLERY
  ========================= */

  .destination-gallery-section {
    width: 100%;

    margin: 0 auto;
    padding: 48px 14px 36px;

    background: #fff;
  }


  /* =========================
     TAJUK
  ========================= */

  .gallery-section-head {
    width: 100%;

    margin: 0 auto 24px;

    text-align: center;
  }

  .gallery-section-head h2 {
    margin: 0;

    font-size: 21px;
    font-weight: 500;
    line-height: 1.4;
  }


  /* =========================================================
     GRID UTAMA
     
     ATAS:
     Portrait kiri
     Landscape kanan atas
     Landscape kanan bawah

     BAWAH:
     Landscape kiri atas
     Landscape kiri bawah
     Portrait kanan
  ========================================================= */

  .destination-gallery-grid {
    width: 100%;
    height: 620px;

    display: grid;

    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);

    grid-template-rows:
      repeat(4, minmax(0, 1fr));

    gap: 8px;

    margin: 0;
    padding: 0;
  }


  /* =========================
     RESET DESKTOP
  ========================= */

  .gallery-top-left,
  .gallery-top-center,
  .gallery-top-right,
  .gallery-bottom-left,
  .gallery-bottom-center,
  .gallery-bottom-right {
    grid-area: auto;
    grid-column: auto;
    grid-row: auto;
  }


  /* =========================================================
     SUSUNAN ATAS
  ========================================================= */

  /* Portrait kiri */

  .gallery-top-left {
    grid-column: 1;
    grid-row: 1 / span 2;
  }


  /* Landscape kanan atas */

  .gallery-top-center {
    grid-column: 2;
    grid-row: 1;
  }


  /* Landscape kanan bawah */

  .gallery-top-right {
    grid-column: 2;
    grid-row: 2;
  }


  /* =========================================================
     SUSUNAN BAWAH
  ========================================================= */

  /* Landscape kiri atas */

  .gallery-bottom-left {
    grid-column: 1;
    grid-row: 3;
  }


  /* Landscape kiri bawah */

  .gallery-bottom-center {
    grid-column: 1;
    grid-row: 4;
  }


  /* Portrait kanan */

  .gallery-bottom-right {
    grid-column: 2;
    grid-row: 3 / span 2;
  }


  /* =========================
     ITEM GAMBAR
  ========================= */

  .destination-gallery-item {
    position: relative;

    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;

    margin: 0;

    overflow: hidden;

    border-radius: 6px;

    background: #e8e8e8;

    box-shadow:
      0 4px 12px rgba(0, 0, 0, .12);
  }


  /* =========================
     GAMBAR
  ========================= */

  .destination-gallery-item img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transform: none;
  }


  /* =========================
     GRADIENT
  ========================= */

  .destination-gallery-item::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    height: 50%;

    background:
      linear-gradient(
        to top,
        rgba(0, 0, 0, .72) 0%,
        rgba(0, 0, 0, .28) 52%,
        rgba(0, 0, 0, 0) 100%
      );

    pointer-events: none;
  }


  /* =========================
     NAMA TEMPAT
  ========================= */

  .destination-gallery-item figcaption {
    position: absolute;
    right: 11px;
    bottom: 11px;
    left: 11px;
    z-index: 2;

    max-width: none;

    margin: 0;

    color: #fff;

    font-family: 'Dancing Script', cursive;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;

    text-align: left;

    white-space: normal;
    overflow-wrap: anywhere;

    text-shadow:
      0 2px 8px rgba(0, 0, 0, .55);
  }


  /* =========================
     FOKUS GAMBAR
  ========================= */

  .gallery-top-left img {
    object-position: center 38%;
  }

  .gallery-top-center img {
    object-position: center 48%;
  }

  .gallery-top-right img {
    object-position: center 44%;
  }

  .gallery-bottom-left img {
    object-position: center 48%;
  }

  .gallery-bottom-center img {
    object-position: center 50%;
  }

  .gallery-bottom-right img {
    object-position: center 45%;
  }
}


/* =========================================================
   MOBILE KECIL
   400PX KE BAWAH
========================================================= */

@media (max-width: 400px) {

  .destination-gallery-section {
    padding-right: 10px;
    padding-left: 10px;
  }

  .destination-gallery-grid {
    height: 560px;
    gap: 7px;
  }

  .destination-gallery-item {
    border-radius: 5px;
  }

  .destination-gallery-item figcaption {
    right: 9px;
    bottom: 9px;
    left: 9px;

    font-size: 14px;
  }
}

/* =========================================================
   MOBILE BORANG QUOTATION
   KEKAL 2 KOLUM + LEBIH LEBAR
   600PX KE BAWAH
========================================================= */

@media (max-width: 600px) {

  /* =========================
     SECTION BORANG
  ========================= */

  .form-section {
    width: 100%;
    max-width: 100%;

    margin: 0 auto;
    padding: 48px 6px 64px;

    background: #fff;
  }


  /* =========================
     TAJUK BORANG
  ========================= */

  .form-head {
    width: 100%;
    max-width: 100%;

    margin: 0 auto 25px;

    text-align: center;
  }

  .form-head h2 {
    margin: 0;

    font-size: 21px;
    font-weight: 500;
    line-height: 1.4;
  }


  /* =========================
     CARD UTAMA BORANG
  ========================= */

  .quotation-form {
    width: 100%;
    max-width: 100%;

    margin: 0 auto;
    padding: 25px 10px 28px;

    border: 1px solid #e2e2e2;
    border-radius: 14px;

    background: #fff;

    box-shadow:
      0 14px 38px rgba(0, 0, 0, .08),
      0 3px 10px rgba(0, 0, 0, .035);
  }


  /* =========================
     LOGO
  ========================= */

  .form-logo-wrap {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 0 26px;
  }

  .form-logo {
    display: block;

    width: auto;
    height: 70px;
    max-width: 190px;

    object-fit: contain;
  }


  /* =========================
     KATEGORI BORANG
  ========================= */

  .form-category {
    width: 100%;

    margin: 0 0 16px;
    padding: 18px 10px;

    border: 1px solid #ececec;
    border-radius: 11px;

    background: #fafafa;
  }

  .form-category:last-of-type {
    margin-bottom: 0;
  }

  .form-category-head {
    display: flex;
    align-items: center;

    gap: 8px;

    margin: 0 0 18px;
  }

  .form-category-number {
    width: auto;
    height: auto;

    flex: 0 0 auto;

    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
  }

  .form-category-head h3 {
    margin: 0;

    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.35;
  }


  /* =========================================================
     GRID INPUT
     KEKAL SEBELAH-SEBELAH
  ========================================================= */

  .form-grid {
    width: 100%;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    column-gap: 8px;
    row-gap: 21px;

    margin: 0;
    padding: 0;
  }

  .form-full {
    grid-column: 1 / -1;
  }


  /* =========================
     FIELD
  ========================= */

  .floating-field {
    position: relative;

    width: 100%;
    min-width: 0;

    display: block;

    margin: 0;
  }


  /* =========================
     INPUT, SELECT, TEXTAREA
  ========================= */

  .floating-field input,
  .floating-field select,
  .floating-field textarea {
    width: 100%;

    margin: 0;

    border: 1px solid #d5d5d5;
    border-radius: 8px;
    outline: none;

    background-color: #fff;
    color: #111;

    font-family: 'Manrope', Arial, sans-serif;
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.4;

    box-shadow: none;
  }

  .floating-field input,
  .floating-field select {
    height: 50px;

    padding:
      19px
      34px
      6px
      10px;
  }

  .floating-field input[type="number"] {
    padding-right: 7px;
  }

  .floating-field textarea {
    min-height: 104px;

    padding:
      22px
      38px
      11px
      11px;
  }


  /* =========================
     LABEL
  ========================= */

  .floating-field > span {
    position: absolute;
    top: 50%;
    left: 10px;
    z-index: 2;

    max-width: calc(100% - 42px);

    margin: 0;
    padding: 0;

    color: #777;

    font-family: 'Manrope', Arial, sans-serif;
    font-size: 10px;
    font-weight: 500;
    line-height: 1;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    pointer-events: none;

    transform: translateY(-50%);
  }

  .textarea-field > span {
    top: 19px;
  }

  .floating-field:focus-within > span,
  .floating-field.is-active > span,
  .floating-field.has-value > span {
    top: 8px;
    left: 10px;

    color: #E80707;

    font-size: 7.5px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;

    transform: none;
  }

  .floating-field.is-valid > span {
    color: #209447;
  }

  .floating-field.is-invalid > span {
    color: #E80707;
  }


  /* =========================
     PLACEHOLDER
  ========================= */

  .floating-field input::placeholder,
  .floating-field textarea::placeholder {
    font-size: 9px;
  }


  /* =========================
     ICON TICK
  ========================= */

  .field-valid-icon {
    right: 9px;

    width: 13px;
    height: 13px;
  }

  .date-valid-icon {
    right: 32px;
  }

  .select-valid-icon {
    right: 32px;
  }

  .textarea-valid-icon {
    top: 18px;
  }


  /* =========================
     INPUT TARIKH
  ========================= */

  .floating-field input[type="date"] {
    padding-right: 60px;
  }



  /* =========================
     SELECT
  ========================= */

  .floating-field select {
    padding-right: 60px;

    background-position:
      calc(100% - 16px) 50%,
      calc(100% - 11px) 50%;

    background-size:
      4px 4px,
      4px 4px;
  }


  /* =========================
     ERROR MESSAGE
  ========================= */

  .field-error {
    top: calc(100% + 4px);
    left: 1px;

    font-size: 8px;
    line-height: 1.3;
  }


  /* =========================
     VALIDATION UTAMA
  ========================= */

  .form-validation-message {
    width: 100%;

    margin: 20px 0 0;
    padding: 11px 10px;

    font-size: 10px;
    line-height: 1.5;
  }


  /* =========================
     BUTANG HANTAR
  ========================= */

  .submit-button {
    width: 138px;
    min-height: 42px;

    margin: 28px auto 0;
    padding: 0 16px;

    font-size: 11.5px;
  }
}


/* =========================================================
   MOBILE KECIL
   400PX KE BAWAH
========================================================= */

@media (max-width: 400px) {

  .form-section {
    padding-right: 4px;
    padding-left: 4px;
  }

  .quotation-form {
    padding-right: 8px;
    padding-left: 8px;
  }

  .form-category {
    padding-right: 8px;
    padding-left: 8px;
  }

  .form-grid {
    column-gap: 6px;
    row-gap: 20px;
  }

  .floating-field input,
  .floating-field select {
    height: 49px;

    font-size: 9.5px;
  }

  .floating-field textarea {
    min-height: 100px;
  }

  .floating-field > span {
    left: 8px;

    max-width: calc(100% - 38px);

    font-size: 9px;
  }

  .floating-field:focus-within > span,
  .floating-field.is-active > span,
  .floating-field.has-value > span {
    left: 8px;

    font-size: 7px;
  }

  .floating-field input,
  .floating-field select {
    padding-left: 8px;
  }
}

/* =========================================================
   SEMUA PAKEJ TURKI
   SHORT TRIP + SELF GUIDE + BUNGA/PANAS + LURUH/SEJUK
========================================================= */

body:is(
  [data-current-package="short-trip-turki"],
  [data-current-package="self-guide-turki"],
  [data-current-package="turki-bunga-panas"],
  [data-current-package="turki-luruh-sejuk"]
) #itinerary {
  width: fit-content;
  max-width: 92vw;

  margin-right: auto;
  margin-left: auto;
}

body:is(
  [data-current-package="short-trip-turki"],
  [data-current-package="self-guide-turki"],
  [data-current-package="turki-bunga-panas"],
  [data-current-package="turki-luruh-sejuk"]
) #itinerary .detail-section-head {
  width: 100%;
}

body:is(
  [data-current-package="short-trip-turki"],
  [data-current-package="self-guide-turki"],
  [data-current-package="turki-bunga-panas"],
  [data-current-package="turki-luruh-sejuk"]
) #itinerary .itinerary-list {
  margin-right: 0;
  margin-left: 0;
}

body:is(
  [data-current-package="short-trip-turki"],
  [data-current-package="self-guide-turki"],
  [data-current-package="turki-bunga-panas"],
  [data-current-package="turki-luruh-sejuk"]
) #itinerary .price-note {
  width: 100%;

  margin: 13px 0 0;
  padding: 0;

  color: #E80707;

  text-align: left;
}


/* =========================================================
   DESKTOP SEMUA PAKEJ TURKI
========================================================= */

@media (min-width: 601px) {

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga .price-content {
    width: min(92vw, 1120px);
    max-width: 1120px;

    margin-right: auto;
    margin-left: auto;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga .price-table-wrap {
    width: 100%;
    max-width: 100%;

    margin-right: auto;
    margin-left: auto;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga .price-table {
    width: 100%;
    min-width: 100%;

    table-layout: fixed;
  }


  /* =========================================================
     TABLE HARGA BUKAN SHORT TRIP
  ========================================================= */

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  tr:first-child
  th:first-child,

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  th:first-child {
    width: 14%;
  }

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  tr:nth-child(2)
  th {
    padding-right: 10px;
    padding-left: 10px;

    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  tr:nth-child(2)
  th:nth-child(1),

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  tr:nth-child(2)
  th:nth-child(3) {
    width: 20%;
  }

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  tr:nth-child(2)
  th:nth-child(2),

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  tr:nth-child(2)
  th:nth-child(4) {
    width: 23%;
  }


  /* =========================================================
     TABLE HARGA SHORT TRIP
     COLUMN MUSIM DIPANJANGKAN
  ========================================================= */

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  th:first-child,

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  th:first-child {
    width: 18%;
    min-width: 180px;

    padding-right: 18px;
    padding-left: 18px;

    white-space: nowrap;
  }

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  th:not(:first-child),

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  td {
    width: 20.5%;
  }


  /* =========================================================
     NOTA MERAH HARGA
  ========================================================= */

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga .price-note {
    width: 100%;

    margin: 14px 0 0;
    padding: 0;

    color: #E80707;

    text-align: left;
  }


  /* =========================================================
     TAJUK HARGA KANAK-KANAK
  ========================================================= */

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga .detail-section-head:not(:first-child) {
    width: 100%;

    margin: 34px auto 24px;

    text-align: center;
  }


  /* =========================================================
     TABLE HARGA KANAK-KANAK
  ========================================================= */

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga .price-table-wrap:last-child {
    width: 100%;
    max-width: 100%;

    margin-right: auto;
    margin-left: auto;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:last-child
  .price-table {
    width: 100%;
    min-width: 100%;

    table-layout: fixed;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:last-child
  .price-table
  th,

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:last-child
  .price-table
  td {
    width: 50%;

    text-align: center;
  }
}


/* =========================================================
   MOBILE SEMUA PAKEJ TURKI
========================================================= */

@media (max-width: 600px) {

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #itinerary {
    width: 100%;
    max-width: 100%;

    margin-right: 0;
    margin-left: 0;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #itinerary .itinerary-list {
    width: 100%;

    margin-right: 0;
    margin-left: 0;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #itinerary .price-note {
    width: 100%;

    margin: 10px 0 0;
    padding: 0;

    color: #E80707;

    text-align: left;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table {
    width: 100%;
    min-width: 100%;

    table-layout: fixed;
  }


  /* =========================================================
     TABLE HARGA BUKAN SHORT TRIP
  ========================================================= */

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  tr:first-child
  th:first-child,

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  th:first-child {
    width: 13%;
    min-width: 0;

    padding-right: 2px;
    padding-left: 2px;
  }

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  tr:nth-child(2)
  th,

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  td {
    width: 21.75%;
    min-width: 0;
  }


  /* =========================================================
     TABLE HARGA SHORT TRIP
     COLUMN MUSIM DIPANJANGKAN
  ========================================================= */

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  th:first-child,

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  th:first-child {
    width: 24%;
    min-width: 0;

    padding-right: 4px;
    padding-left: 4px;

    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  th:not(:first-child),

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  td {
    width: 19%;
    min-width: 0;
  }


  /* =========================================================
     NOTA MERAH DAN HARGA KANAK-KANAK
  ========================================================= */

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga .price-note {
    width: 100%;

    margin: 10px 0 40px;
    padding: 0;

    color: #E80707;

    text-align: left;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga .detail-section-head:not(:first-child) {
    width: 100%;

    margin: 0 auto 20px;

    text-align: center;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga .price-table-wrap:last-child {
    width: 100%;
    max-width: 100%;

    margin-right: auto;
    margin-left: auto;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:last-child
  .price-table {
    width: 100%;
    min-width: 100%;

    table-layout: fixed;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:last-child
  .price-table
  th,

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:last-child
  .price-table
  td {
    width: 50%;

    text-align: center;
  }
}


/* =========================================================
   MOBILE KECIL SEMUA PAKEJ TURKI
========================================================= */

@media (max-width: 400px) {

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  tr:first-child
  th:first-child,

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  th:first-child {
    width: 12%;
  }

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  tr:nth-child(2)
  th,

  body:is(
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  td {
    width: 22%;
  }


  /* Short Trip */

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  th:first-child,

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  th:first-child {
    width: 26%;
  }

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  thead
  th:not(:first-child),

  body[data-current-package="short-trip-turki"]
  #harga
  .price-table-wrap:first-of-type
  .price-table
  tbody
  td {
    width: 18.5%;
  }

  body:is(
    [data-current-package="short-trip-turki"],
    [data-current-package="self-guide-turki"],
    [data-current-package="turki-bunga-panas"],
    [data-current-package="turki-luruh-sejuk"]
  ) #harga .price-note {
    margin-bottom: 40px;
  }
}

.package-detail-tabs {
  scroll-margin-top: 110px;
}
/* =========================================================
   FINAL OVERRIDE: NOTA MERAH ITINERARY & HARGA
   - Selarikan nota dengan bucu kiri kandungan/jadual
   - Simbol * dibuang melalui style.js
========================================================= */

#itinerary .price-note,
#itinerary .itinerary-note {
  display: block;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 12px 0 0;
  padding: 0;
  text-align: left;
  text-indent: 0;
}

#harga .price-content > .price-note,
#harga .price-table-wrap + .price-note {
  display: block;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  text-align: left;
  text-indent: 0;
}

/* Pastikan setiap baris selepas <br> juga bermula tepat di bucu kiri */
#itinerary .price-note br,
#itinerary .itinerary-note br,
#harga .price-note br {
  display: block;
  content: "";
  margin-top: 2px;
}


/* =========================================================
   FINAL MOBILE SIZE SYNC WITH INDEX.CSS
   Fokus: Itinerary, Harga, Pakej, Form, CTA dan Footer sahaja
========================================================= */
@media (max-width: 600px) {

  /* Tajuk utama setiap section */
  .detail-section-head h2,
  #itinerary .detail-section-head h2,
  .gallery-section-head h2,
  .form-head h2 {
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  /* Tab Itinerary / Harga / Pakej */
  .package-detail-tabs {
    gap: 7px;
    margin-bottom: 26px;
  }

  .package-tab-button {
    height: 38px;
    min-height: 38px;
    padding: 0 27px 0 8px;
    font-size: 10px;
    line-height: 1;
  }

  .package-tab-icons,
  .package-tab-icon {
    width: 10px;
    height: 10px;
  }

  /* Itinerary */
  .itinerary-day {
    padding: 15px 16px;
  }

  .itinerary-day span {
    margin-bottom: 7px;
    padding: 4px 9px;
    font-size: 8.5px;
  }

  .itinerary-day strong {
    font-size: 11px;
    line-height: 1.45;
  }

  .itinerary-content {
    padding: 16px;
  }

  .itinerary-content li {
    margin-bottom: 8px;
    padding-left: 20px;
    font-size: 10.5px;
    line-height: 1.55;
  }

  .itinerary-content li::before {
    width: 10px;
    height: 10px;
  }

  /* Harga */
  .price-table th,
  .price-table td,
  .price-table tbody th,
  .price-table tbody td {
    font-size: 8px;
    line-height: 1.35;
  }

  .price-table thead th {
    font-size: 7.5px;
    line-height: 1.3;
  }

  .price-table thead th small {
    font-size: 6.5px;
  }

  .price-note,
  #itinerary .price-note,
  #itinerary .itinerary-note,
  #harga .price-note {
    font-size: 10px;
    line-height: 1.5;
  }

  /* Pakej termasuk / tidak termasuk */
  .info-card h3 {
    padding: 13px 16px;
    font-size: 10.5px;
    line-height: 1.35;
  }

  .info-card li {
    padding: 11px 14px 11px 39px;
    font-size: 10.5px;
    line-height: 1.5;
  }

  .info-card li::before {
    top: 12px;
    left: 15px;
    width: 15px;
    height: 15px;
    font-size: 14px;
  }

  .excluded-card li::before {
    font-size: 17px;
  }

  /* Form quotation */
  .form-section {
    padding-top: 46px;
    padding-bottom: 54px;
  }

  .form-head {
    margin-bottom: 22px;
  }

  .quotation-form {
    padding: 22px 10px 25px;
  }

  .form-logo {
    height: 58px;
    max-width: 165px;
  }

  .form-logo-wrap {
    margin-bottom: 22px;
  }

  .form-category {
    padding: 16px 10px;
  }

  .form-category-number {
    font-size: 10px;
  }

  .form-category-head h3 {
    font-size: 11px;
    line-height: 1.35;
  }

  .floating-field input,
  .floating-field select,
  .floating-field textarea {
    font-size: 10px;
  }

  .floating-field > span {
    font-size: 9.5px;
  }

  .floating-field:focus-within > span,
  .floating-field.is-active > span,
  .floating-field.has-value > span {
    font-size: 7px;
  }

  .field-error {
    font-size: 7.5px;
  }

  .form-validation-message {
    font-size: 9.5px;
  }

  .submit-button {
    width: auto;
    min-width: 125px;
    min-height: 38px;
    margin-top: 25px;
    padding: 0 14px;
    font-size: 10px;
  }

  /* CTA sama seperti index.css mobile */
  .quote-card {
    min-height: 260px;
    padding: 52px 18px;
  }

  .quote-content {
    width: 100%;
    max-width: 100%;
  }

  .quote-eyebrow {
    margin-bottom: 12px;
    font-size: 10.5px;
    letter-spacing: .14em;
  }

  .quote-content h2 {
    width: 100%;
    max-width: 100%;
    margin-bottom: 18px;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    text-align: center;
    white-space: nowrap;
  }

  .quote-subtitle {
    margin-bottom: 18px;
    font-size: 10.5px;
    line-height: 1.5;
  }

  .quote-button {
    width: auto;
    min-width: 125px;
    min-height: 38px;
    margin: 14px 0 0;
    padding: 0 14px;
    font-size: 10px;
    line-height: 1;
  }

  /* Footer sama seperti index.css mobile */
  .site-footer {
    width: 100%;
    padding: 30px 16px;
  }

  .footer-social-text {
    max-width: 330px;
    margin-bottom: 15px;
    font-size: 10.5px;
    line-height: 1.5;
  }

  .footer-socials {
    gap: 10px;
    margin-bottom: 15px;
  }

  .footer-social-link {
    width: 34px;
    height: 34px;
    padding: 0 8px;
  }

  .social-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
  }

  .footer-copy {
    max-width: 330px;
    font-size: 9.5px;
    line-height: 1.5;
  }
}

/* =========================================================
   FINAL MOBILE FIX
   Fokus:
   - 4 Highlight lebih rendah
   - Table Harga lebih kemas dan header kekal sebaris
   - Gap Hari dan Nama Tempat
   - Form berbentuk bujur
   - Buang icon tick, border hijau sahaja
   - Icon calendar di kanan
   - Tiket penerbangan guna radio option
   MOBILE SAHAJA
========================================================= */

@media (max-width: 600px) {

  /* =========================================================
     1. SEMUA BUTANG IKUT SAIZ MOBILE INDEX
  ========================================================= */

  .detail-actions .btn,
  .package-tab-button,
  .quote-button,
  .submit-button {
    min-height: 38px;
    padding: 0 10px;

    font-size: 10px;
    font-weight: 600;
    line-height: 1;

    border-radius: 0;
  }

  .detail-actions .btn {
    width: 122px;
    min-width: 122px;
  }

  .quote-button,
  .submit-button {
    width: auto;
    min-width: 125px;
  }

  .package-tab-button {
    width: 100%;
    min-width: 0;
  }


  /* =========================================================
     2. 4 HIGHLIGHT
     Kedudukan kekal, hanya kurangkan tinggi
  ========================================================= */

  .detail-hero {
    padding-bottom: 48px;
  }

  .hero-basic-info {
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 48px;

    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .hero-basic-info div {
    height: 48px;
    min-height: 48px;

    padding: 0 5px;
  }

  .hero-basic-info strong {
    font-size: 8.5px;
    font-weight: 700;
    line-height: 1.2;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }


  /* =========================================================
     3. ITINERARY
     Tambah gap antara label Hari dan nama tempat
  ========================================================= */

  .itinerary-day {
    padding: 15px 16px;
  }

  .itinerary-day span {
    margin: 0 0 12px;
    padding: 4px 9px;

    font-size: 8.5px;
    line-height: 1;
  }

  .itinerary-day strong {
    width: 100%;
    max-width: 100%;

    font-size: 11px;
    line-height: 1.5;

    white-space: normal;
    overflow-wrap: anywhere;
  }

  .itinerary-content {
    padding: 16px;
  }

  .itinerary-content li {
    margin-bottom: 8px;
    padding-left: 20px;

    font-size: 10.5px;
    line-height: 1.55;
  }

  .itinerary-content li::before {
    width: 10px;
    height: 10px;
  }


  /* =========================================================
     4. TABLE HARGA MOBILE
     - Table boleh scroll jika banyak kolum
     - Header dua perkataan kekal satu baris
     - Ada ruang kiri kanan
     - Tidak terlalu padat
  ========================================================= */

  #harga {
    width: 100%;
    max-width: 100%;

    overflow: visible;
  }

  #harga .price-content {
    width: 100%;
    max-width: 100%;

    margin: 0;
  }

  #harga .price-table-wrap {
    width: 100%;
    max-width: 100%;

    margin: 0;

    overflow-x: auto;
    overflow-y: hidden;

    border-radius: 8px;

    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  #harga .price-table {
    width: max-content;
    min-width: 100%;

    table-layout: auto;
    border-collapse: collapse;
  }

  #harga .price-table th,
  #harga .price-table td {
    width: auto;
    min-width: 76px;

    padding: 11px 8px;

    font-size: 8.5px;
    line-height: 1.35;

    text-align: center;
    vertical-align: middle;

    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }

  #harga .price-table thead th {
    min-width: 82px;

    padding: 11px 8px;

    font-size: 7.8px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0;

    white-space: nowrap;
  }

  #harga .price-table thead th small {
    display: block;

    margin-top: 3px;

    font-size: 6.8px;
    line-height: 1.25;

    white-space: nowrap;
  }

  #harga .price-table tbody th,
  #harga .price-table tbody td {
    font-size: 8.5px;
    line-height: 1.4;
  }

  /* Kolum pertama seperti Musim / Jenis peserta */

  #harga .price-table th:first-child,
  #harga .price-table td:first-child {
    min-width: 88px;

    padding-right: 9px;
    padding-left: 9px;
  }

  /* Kolum terakhir seperti Bayi jangan terlalu lebar */

  #harga .price-table th:last-child,
  #harga .price-table td:last-child {
    min-width: 62px;
    width: 62px;

    padding-right: 7px;
    padding-left: 7px;
  }
  
  /* Jarak Harga Kanak-kanak daripada jadual harga utama */
body:is(
  [data-current-package="turki-bunga-panas"],
  [data-current-package="turki-luruh-sejuk"]
) #harga .detail-section-head:not(:first-child) {
  margin-top: 32px !important;
}

  /* Table dua kolum seperti harga kanak-kanak */

  #harga .price-table-wrap:last-child .price-table {
    width: 100%;
    min-width: 100%;
  }

  #harga .price-table-wrap:last-child .price-table th,
  #harga .price-table-wrap:last-child .price-table td {
    width: 50%;
    min-width: 140px;
  }

  #harga .price-note {
    margin-top: 10px;

    font-size: 10px;
    line-height: 1.5;
  }


  /* =========================================================
     5. FORM GRID
     Default satu field satu baris
     Jumlah peserta kekal dua kotak sebaris
  ========================================================= */

  .quotation-form .form-grid {
    width: 100%;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    column-gap: 8px;
    row-gap: 21px;
  }

  .quotation-form .floating-field {
    grid-column: 1 / -1;

    width: 100%;
    min-width: 0;
  }

  /* Jumlah peserta sahaja dua kotak sebaris */

  .quotation-form label:has(input[name="dewasa"]),
  .quotation-form label:has(input[name="kanak_bawah_6"]),
  .quotation-form label:has(input[name="kanak_bawah_4"]),
  .quotation-form label:has(input[name="bayi"]) {
    grid-column: auto;
  }

  /* Field utama satu baris */

  .quotation-form label:has(input[name="nama"]),
  .quotation-form label:has(input[name="telefon"]),
  .quotation-form label:has(input[name="tarikh_trip"]),
  .quotation-form label:has(textarea[name="nota"]) {
    grid-column: 1 / -1;
  }

  /* Email hide */

  .quotation-form label:has(input[name="email"]),
  .quotation-form .email-field,
  .quotation-form [data-field="email"] {
    display: none !important;
  }


  /* =========================================================
     6. BENTUK INPUT BUJUR
  ========================================================= */

  .quotation-form .floating-field input,
  .quotation-form .floating-field select,
  .quotation-form .floating-field textarea {
    width: 100%;

    border: 1px solid #d5d5d5;
    border-radius: 999px;

    background-color: #fff;
    color: #111;

    font-size: 10px;

    box-shadow: none;
  }

  .quotation-form .floating-field input,
  .quotation-form .floating-field select {
    height: 48px;

    padding-top: 18px;
    padding-right: 38px;
    padding-bottom: 6px;
    padding-left: 14px;
  }

  .quotation-form .floating-field textarea {
    min-height: 100px;

    padding: 22px 15px 12px;

    border-radius: 22px;
  }

  .quotation-form .floating-field input[type="number"] {
    padding-right: 10px;
  }


  /* =========================================================
     7. LABEL DALAM INPUT
  ========================================================= */

  .quotation-form .floating-field > span {
    left: 14px;

    max-width: calc(100% - 48px);

    font-size: 9.5px;
  }

  .quotation-form .floating-field:focus-within > span,
  .quotation-form .floating-field.is-active > span,
  .quotation-form .floating-field.has-value > span {
    top: 8px;
    left: 14px;

    font-size: 7px;
  }

  .quotation-form .textarea-field > span {
    top: 18px;
  }


  /* =========================================================
     8. BUANG SEMUA ICON TICK
     Border hijau sahaja bila valid
  ========================================================= */

  .quotation-form .field-valid-icon,
  .quotation-form .date-valid-icon,
  .quotation-form .select-valid-icon,
  .quotation-form .textarea-valid-icon {
    display: none !important;

    opacity: 0 !important;
    visibility: hidden !important;
  }

  .quotation-form .floating-field.is-valid input,
  .quotation-form .floating-field.is-valid select,
  .quotation-form .floating-field.is-valid textarea,
  .quotation-form .floating-field.is-valid:hover input,
  .quotation-form .floating-field.is-valid:hover select,
  .quotation-form .floating-field.is-valid:hover textarea,
  .quotation-form .floating-field.is-valid:focus-within input,
  .quotation-form .floating-field.is-valid:focus-within select,
  .quotation-form .floating-field.is-valid:focus-within textarea {
    border-color: #209447;

    box-shadow: none;
  }

  .quotation-form .floating-field.is-valid > span {
    color: #209447;
  }

  .quotation-form .floating-field.is-invalid input,
  .quotation-form .floating-field.is-invalid select,
  .quotation-form .floating-field.is-invalid textarea {
    border-color: #E80707;

    box-shadow: none;
  }


/* =========================================================
   9. INPUT TARIKH
   Icon calendar sentiasa muncul di hujung kanan
   MOBILE SAHAJA
========================================================= */

.quotation-form .floating-field input[type="date"] {
  position: relative;

  padding-right: 44px !important;

  background-color: #fff;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px 16px;
}

/* Native calendar masih boleh diklik,
   tetapi icon asal disorok supaya kedudukan tidak bercanggah */
.quotation-form
.floating-field
input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  right: 0;

  width: 46px;
  height: 100%;

  margin: 0;
  padding: 0;

  opacity: 0;
  cursor: pointer;
}

/* Pastikan icon kekal muncul sebelum dan selepas klik */
.quotation-form
.floating-field
input[type="date"]:focus,
.quotation-form
.floating-field
input[type="date"]:active,
.quotation-form
.floating-field.has-value
input[type="date"] {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
}

  /* =========================================================
     10. RADIO OPTION TIKET PENERBANGAN
     CSS ini digunakan selepas select ditukar kepada radio HTML
  ========================================================= */

  .flight-option-group,
  .tiket-penerbangan-options {
    grid-column: 1 / -1;

    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 10px;

    margin: 0;
    padding: 0;
  }

  .flight-option-title,
  .tiket-penerbangan-title {
    margin: 0 0 2px;

    color: #111;

    font-family: 'Manrope', Arial, sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
  }

  .flight-option-list,
  .tiket-penerbangan-list {
    width: 100%;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 8px;
  }

  .flight-radio-option,
  .tiket-penerbangan-option {
    position: relative;

    min-width: 0;
  }

  .flight-radio-option input[type="radio"],
  .tiket-penerbangan-option input[type="radio"] {
    position: absolute;

    width: 1px;
    height: 1px;

    overflow: hidden;

    opacity: 0;
    pointer-events: none;
  }

  .flight-radio-option span,
  .tiket-penerbangan-option span {
    width: 100%;
    min-height: 44px;

    display: flex;
    align-items: center;

    gap: 9px;

    padding: 10px 12px;

    border: 1px solid #d5d5d5;
    border-radius: 999px;

    background: #fff;
    color: #444;

    font-family: 'Manrope', Arial, sans-serif;
    font-size: 9.5px;
    font-weight: 500;
    line-height: 1.35;

    cursor: pointer;
  }

  .flight-radio-option span::before,
  .tiket-penerbangan-option span::before {
    content: "";

    width: 14px;
    height: 14px;
    flex: 0 0 14px;

    border: 1.5px solid #aaa;
    border-radius: 50%;

    background: #fff;

    box-shadow: inset 0 0 0 3px #fff;
  }

  .flight-radio-option input[type="radio"]:checked + span,
  .tiket-penerbangan-option input[type="radio"]:checked + span {
    border-color: #209447;

    color: #111;
  }

  .flight-radio-option input[type="radio"]:checked + span::before,
  .tiket-penerbangan-option input[type="radio"]:checked + span::before {
    border-color: #209447;

    background: #209447;
  }

  .flight-radio-option input[type="radio"]:focus-visible + span,
  .tiket-penerbangan-option input[type="radio"]:focus-visible + span {
    outline: 2px solid rgba(32, 148, 71, .3);
    outline-offset: 2px;
  }


  /* =========================================================
     11. ERROR DAN SUBMIT
  ========================================================= */

  .quotation-form .field-error {
    font-size: 7.5px;
  }

  .quotation-form .form-validation-message {
    font-size: 9.5px;
  }

  .quotation-form .submit-button {
    min-height: 38px;

    margin-top: 25px;

    border-radius: 0px;
  }
}


/* =========================================================
   MOBILE KECIL 400PX KE BAWAH
========================================================= */

@media (max-width: 400px) {

  .detail-hero {
    padding-bottom: 44px;
  }

  .hero-basic-info,
  .hero-basic-info div {
    height: 44px;
    min-height: 44px;
  }

  .hero-basic-info strong {
    font-size: 7.8px;
  }

  #harga .price-table th,
  #harga .price-table td {
    min-width: 72px;

    padding: 10px 7px;

    font-size: 8px;
  }

  #harga .price-table thead th {
    min-width: 78px;

    font-size: 7.2px;
  }

  #harga .price-table thead th small {
    font-size: 6.4px;
  }

  #harga .price-table th:first-child,
  #harga .price-table td:first-child {
    min-width: 84px;
  }

  #harga .price-table th:last-child,
  #harga .price-table td:last-child {
    width: 58px;
    min-width: 58px;
  }

  .flight-radio-option span,
  .tiket-penerbangan-option span {
    min-height: 42px;

    padding-right: 9px;
    padding-left: 9px;

    font-size: 8.8px;
  }
}

/* =========================================================
   PACKAGE 1_1 TEST: FLIGHT TICKET RADIO STABILITY
   Mobile only
========================================================= */
@media (max-width: 600px) {
  .quotation-form .tiket-penerbangan-options {
    position: relative;
    grid-column: 1 / -1;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .quotation-form .tiket-penerbangan-title {
    margin: 0 0 10px;
    color: #111;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
  }

  .quotation-form .tiket-penerbangan-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }

  .quotation-form .tiket-penerbangan-option {
    position: relative;
    display: block;
    min-width: 0;
    margin: 0;
  }

  .quotation-form .tiket-penerbangan-option input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
  }

  .quotation-form .tiket-penerbangan-option > span {
    position: static;
    width: 100%;
    min-height: 44px;
    max-width: none;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #d5d5d5;
    border-radius: 999px;
    background: #fff;
    color: #444;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 9.5px;
    font-weight: 500;
    line-height: 1.35;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    pointer-events: auto;
    transform: none;
    cursor: pointer;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease;
  }

  .quotation-form .tiket-penerbangan-option > span::before {
    content: "";
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    border: 1.5px solid #aaa;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 0 0 3px #fff;
  }

  .quotation-form .tiket-penerbangan-option input[type="radio"]:checked + span {
    border-color: #209447;
    color: #111;
  }

  .quotation-form .tiket-penerbangan-option input[type="radio"]:checked + span::before {
    border-color: #209447;
    background: #209447;
  }

  .quotation-form .tiket-penerbangan-option input[type="radio"]:focus-visible + span {
    outline: 2px solid rgba(32, 148, 71, .28);
    outline-offset: 2px;
  }

  .quotation-form .tiket-penerbangan-options .field-error {
    position: static;
    display: none;
    margin: 6px 0 0 3px;
    color: #e80707;
    font-size: 7.5px;
    line-height: 1.35;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .quotation-form .tiket-penerbangan-options.is-invalid .field-error {
    display: block;
  }

  .quotation-form .tiket-penerbangan-options.is-invalid .tiket-penerbangan-option > span {
    border-color: #e80707;
  }
}

/* =========================================================
   FINAL FIX 22 JUL 2026
   - Mobile price columns use one consistent sizing system
   - Form controls are shorter with softly rounded corners
   - Flight radio options sit side-by-side on desktop/mobile
   - Mobile date label and calendar alignment fixed
========================================================= */

/* Form controls: desktop + mobile */
.quotation-form .floating-field input,
.quotation-form .floating-field select {
  height: 46px;
  border-radius: 8px;
  padding-top: 17px;
  padding-bottom: 5px;
}

.quotation-form .floating-field textarea {
  min-height: 92px;
  border-radius: 8px;
}

/* Date field always reserves a separate label area */
.quotation-form .floating-field:has(input[type="date"]) > span {
  top: 7px;
  left: 14px;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  transform: none;
}

.quotation-form .floating-field input[type="date"] {
  position: relative;
  min-width: 0;
  padding-top: 17px;
  padding-right: 46px;
  padding-bottom: 5px;
  padding-left: 14px;
}


/* Flight ticket choices: side-by-side on desktop too */
.quotation-form .flight-option-group,
.quotation-form .tiket-penerbangan-options {
  grid-column: 1 / -1;
  width: 100%;
}

.quotation-form .flight-option-list,
.quotation-form .tiket-penerbangan-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}

.quotation-form .flight-radio-option,
.quotation-form .tiket-penerbangan-option {
  position: relative;
  display: block;
  min-width: 0;
  margin: 0;
}

.quotation-form .flight-radio-option > span,
.quotation-form .tiket-penerbangan-option > span {
  width: 100%;
  min-height: 42px;
  border-radius: 8px;
}

/* Mobile-specific corrections */
@media (max-width: 600px) {
  /* One stable width rule: no nth-row or last-column conflict */
  #harga .price-table-wrap:first-of-type .price-table {
    width: max-content !important;
    min-width: 100% !important;
    table-layout: auto !important;
  }

  #harga .price-table-wrap:first-of-type .price-table th,
  #harga .price-table-wrap:first-of-type .price-table td,
  #harga .price-table-wrap:first-of-type .price-table thead th,
  #harga .price-table-wrap:first-of-type .price-table tbody th,
  #harga .price-table-wrap:first-of-type .price-table tbody td {
    width: 96px !important;
    min-width: 96px !important;
    max-width: none !important;
    padding: 10px 7px !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }

  #harga .price-table-wrap:first-of-type .price-table th:first-child,
  #harga .price-table-wrap:first-of-type .price-table td:first-child {
    width: 104px !important;
    min-width: 104px !important;
  }

  /* Keep all price columns after the first equal, including column 2 */
  #harga .price-table-wrap:first-of-type .price-table th:not(:first-child),
  #harga .price-table-wrap:first-of-type .price-table td:not(:first-child) {
    width: 96px !important;
    min-width: 96px !important;
  }

  /* Preserve a clean 50/50 layout for genuine two-column tables */
  #harga .price-table-wrap:last-child .price-table {
    width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
  }

  #harga .price-table-wrap:last-child .price-table th,
  #harga .price-table-wrap:last-child .price-table td {
    width: 50% !important;
    min-width: 0 !important;
  }

  .quotation-form .floating-field input,
  .quotation-form .floating-field select {
    height: 44px;
    border-radius: 7px;
    padding-top: 16px;
    padding-bottom: 4px;
  }

  .quotation-form .floating-field textarea {
    min-height: 88px;
    border-radius: 7px;
  }

  .quotation-form .floating-field:has(input[type="date"]) > span {
    top: 6px;
    left: 12px;
    max-width: calc(100% - 54px);
    font-size: 7px;
  }

  .quotation-form .floating-field input[type="date"] {
    padding-top: 16px;
    padding-right: 42px;
    padding-bottom: 4px;
    padding-left: 12px;
  }


  .quotation-form .flight-option-list,
  .quotation-form .tiket-penerbangan-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .quotation-form .flight-radio-option > span,
  .quotation-form .tiket-penerbangan-option > span {
    min-height: 40px;
    border-radius: 7px;
  }
}

@media (max-width: 360px) {
  .quotation-form .flight-option-list,
  .quotation-form .tiket-penerbangan-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
}
/* =========================================================
   FINAL DESKTOP RADIO FIX - 22 JUL 2026
   Prevent radio inputs from inheriting normal text-input styles
========================================================= */

.quotation-form [data-radio-field="tiket_penerbangan"],
.quotation-form .flight-option-group,
.quotation-form .tiket-penerbangan-options {
  position: relative;
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.quotation-form .flight-option-title,
.quotation-form .tiket-penerbangan-title {
  display: block;
  margin: 0 0 12px;
  color: #111;
  font-family: 'Manrope', Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.4;
}

.quotation-form .flight-option-list,
.quotation-form .tiket-penerbangan-list,
.quotation-form [data-radio-field="tiket_penerbangan"] .radio-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.quotation-form .flight-radio-option,
.quotation-form .tiket-penerbangan-option,
.quotation-form [data-radio-field="tiket_penerbangan"] label {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

/* Critical reset: do not let radio inherit .floating-field input styling */
.quotation-form .flight-radio-option input[type="radio"],
.quotation-form .tiket-penerbangan-option input[type="radio"],
.quotation-form [data-radio-field="tiket_penerbangan"] input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  min-width: 1px !important;
  max-width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  max-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

.quotation-form .flight-radio-option > span,
.quotation-form .tiket-penerbangan-option > span,
.quotation-form [data-radio-field="tiket_penerbangan"] label > span {
  position: static !important;
  inset: auto !important;
  width: 100%;
  min-width: 0;
  max-width: none !important;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  background: #fff;
  color: #444;
  font-family: 'Manrope', Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  transform: none !important;
  pointer-events: auto;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}

.quotation-form .flight-radio-option > span::before,
.quotation-form .tiket-penerbangan-option > span::before,
.quotation-form [data-radio-field="tiket_penerbangan"] label > span::before {
  content: "";
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  border: 1.5px solid #999;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 3px #fff;
}

.quotation-form .flight-radio-option input[type="radio"]:checked + span,
.quotation-form .tiket-penerbangan-option input[type="radio"]:checked + span,
.quotation-form [data-radio-field="tiket_penerbangan"] input[type="radio"]:checked + span {
  border-color: #209447;
  color: #111;
  background: #fff;
}

.quotation-form .flight-radio-option input[type="radio"]:checked + span::before,
.quotation-form .tiket-penerbangan-option input[type="radio"]:checked + span::before,
.quotation-form [data-radio-field="tiket_penerbangan"] input[type="radio"]:checked + span::before {
  border-color: #209447;
  background: #209447;
}

.quotation-form .flight-radio-option input[type="radio"]:focus-visible + span,
.quotation-form .tiket-penerbangan-option input[type="radio"]:focus-visible + span,
.quotation-form [data-radio-field="tiket_penerbangan"] input[type="radio"]:focus-visible + span {
  outline: 2px solid rgba(32, 148, 71, .28);
  outline-offset: 2px;
}

.quotation-form [data-radio-field="tiket_penerbangan"].is-invalid span,
.quotation-form .flight-option-group.is-invalid .flight-radio-option > span,
.quotation-form .tiket-penerbangan-options.is-invalid .tiket-penerbangan-option > span {
  border-color: #e80707;
}

@media (max-width: 600px) {
  .quotation-form .flight-option-title,
  .quotation-form .tiket-penerbangan-title {
    margin-bottom: 9px;
    font-size: 10px;
  }

  .quotation-form .flight-option-list,
  .quotation-form .tiket-penerbangan-list,
  .quotation-form [data-radio-field="tiket_penerbangan"] .radio-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .quotation-form .flight-radio-option > span,
  .quotation-form .tiket-penerbangan-option > span,
  .quotation-form [data-radio-field="tiket_penerbangan"] label > span {
    min-height: 40px;
    gap: 8px;
    padding: 9px 10px;
    border-radius: 7px;
    font-size: 9px;
  }

  .quotation-form .flight-radio-option > span::before,
  .quotation-form .tiket-penerbangan-option > span::before,
  .quotation-form [data-radio-field="tiket_penerbangan"] label > span::before {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
  }
}

/* =========================================================
   FINAL FIX: TABLE HARGA + INPUT TARIKH
   DESKTOP & MOBILE
========================================================= */

/* Buang card putih / wrapper belakang table Harga */
#harga .price-content {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#harga .price-table-wrap {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow-x: auto;
  overflow-y: visible;
}

/* Border kekal pada table sebenar, bukan card luaran */
#harga .price-table {
  border: 1px solid #d7d7d7;
  background: #fff;
}

/* Jika ada lebih daripada satu table, beri jarak yang jelas */
#harga .price-table-wrap + .price-table-wrap,
#harga .price-table-wrap ~ .price-table-wrap {
  margin-top: 32px !important;
}

/* Tajuk antara dua table diberi ruang tanpa card putih */
#harga .price-table-wrap + .detail-section-head,
#harga .detail-section-head + .price-table-wrap {
  margin-top: 32px !important;
}

/* Ayat merah sentiasa berada secara visual di luar table */
#harga .price-note,
#harga .price-table-wrap .price-note,
#harga .price-table-wrap + .price-note,
#harga .price-content > .price-note {
  display: block !important;
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #E80707 !important;
  text-align: left !important;
}

/* =========================================================
   FINAL DATE FIELD
   CUSTOM DISPLAY + NATIVE CALENDAR
   DESKTOP + MOBILE
========================================================= */

.quotation-form .date-field {
  position: relative !important;
}


/* =========================================================
   KOTAK TARIKH YANG USER NAMPAK
========================================================= */

.quotation-form .date-field input[name="tarikh_trip"] {
  position: relative !important;
  z-index: 1 !important;

  width: 100% !important;
  height: 52px !important;

  margin: 0 !important;

  padding:
    20px
    52px
    6px
    15px !important;

  border: 1px solid #d5d5d5 !important;
  border-radius: 9px !important;
  outline: none !important;

  background: #fff !important;
  color: #111 !important;

  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;

  cursor: pointer !important;

  box-shadow: none !important;

  transition:
    border-color .22s ease,
    box-shadow .22s ease !important;
}


/* =========================================================
   LABEL ASAL
   DUDUK DI TENGAH KOTAK
========================================================= */

.quotation-form .date-field > span {
  position: absolute !important;
  top: 50% !important;
  left: 15px !important;
  z-index: 3 !important;

  max-width: calc(100% - 70px) !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  color: #777 !important;

  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;

  pointer-events: none !important;

  transform: translateY(-50%) !important;

  transition:
    top .2s ease,
    color .2s ease,
    font-size .2s ease,
    font-weight .2s ease,
    transform .2s ease !important;
}


/* =========================================================
   LABEL NAIK HANYA APABILA:
   - FIELD DIKLIK
   - CALENDAR DIBUKA
   - SUDAH ADA TARIKH
========================================================= */

.quotation-form .date-field.is-active > span,
.quotation-form .date-field.has-value > span,
.quotation-form .date-field:focus-within > span {
  top: 9px !important;
  left: 15px !important;

  color: #E80707 !important;

  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: none !important;

  transform: none !important;
}


/* Tarikh sudah dipilih */

.quotation-form .date-field.is-valid > span {
  color: #209447 !important;
}


/* Tarikh tidak sah */

.quotation-form .date-field.is-invalid > span {
  color: #E80707 !important;
}


/* =========================================================
   BUTANG ICON CALENDAR
========================================================= */

.quotation-form .date-picker-trigger {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 4 !important;

  width: 52px !important;
  height: 52px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 9px 9px 0 !important;
  outline: none !important;

  background: transparent !important;

  cursor: pointer !important;

  appearance: none !important;
  -webkit-appearance: none !important;
}


/* Icon calendar custom */

.quotation-form .date-picker-trigger::before {
  content: "" !important;

  width: 18px !important;
  height: 18px !important;

  display: block !important;

  background-color: #666 !important;

  -webkit-mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important;

  mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important;

  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;

  -webkit-mask-position: center !important;
  mask-position: center !important;

  -webkit-mask-size: contain !important;
  mask-size: contain !important;

  pointer-events: none !important;
}


/* =========================================================
   INPUT DATE SEBENAR

   Jangan letak di luar skrin.
   Ia berada atas kawasan icon tetapi transparent.
========================================================= */

.quotation-form .native-date-picker-helper {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 6 !important;

  width: 52px !important;
  height: 52px !important;

  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  outline: 0 !important;

  opacity: 0 !important;

  cursor: pointer !important;

  pointer-events: auto !important;

  appearance: none !important;
  -webkit-appearance: none !important;
}


/* Besarkan kawasan native indicator */

.quotation-form
.native-date-picker-helper::-webkit-calendar-picker-indicator {
  position: absolute !important;
  inset: 0 !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  cursor: pointer !important;

  opacity: 1 !important;
}


/* =========================================================
   HOVER
========================================================= */

.quotation-form .date-field:hover input[name="tarikh_trip"] {
  border-color: #aaa !important;
}

.quotation-form .date-field:hover .date-picker-trigger::before {
  background-color: #111 !important;
}


/* =========================================================
   FOCUS / CALENDAR DIBUKA
========================================================= */

.quotation-form .date-field.is-active input[name="tarikh_trip"],
.quotation-form .date-field:focus-within input[name="tarikh_trip"] {
  border-color: #E80707 !important;

  box-shadow:
    0 0 0 3px rgba(232, 7, 7, .07) !important;
}

.quotation-form .date-field.is-active .date-picker-trigger::before,
.quotation-form .date-field:focus-within .date-picker-trigger::before {
  background-color: #E80707 !important;
}


/* =========================================================
   TARIKH SAH
========================================================= */

.quotation-form .date-field.is-valid input[name="tarikh_trip"],
.quotation-form .date-field.is-valid:hover input[name="tarikh_trip"] {
  border-color: #209447 !important;

  box-shadow:
    0 0 0 3px rgba(32, 148, 71, .07) !important;
}

.quotation-form .date-field.is-valid .date-picker-trigger::before {
  background-color: #209447 !important;
}


/* =========================================================
   TARIKH TAK SAH
========================================================= */

.quotation-form .date-field.is-invalid input[name="tarikh_trip"],
.quotation-form .date-field.is-invalid:hover input[name="tarikh_trip"] {
  border-color: #E80707 !important;

  box-shadow:
    0 0 0 3px rgba(232, 7, 7, .07) !important;
}

.quotation-form .date-field.is-invalid .date-picker-trigger::before {
  background-color: #E80707 !important;
}


/* Field tarikh tak guna icon tick tambahan */

.quotation-form .date-field .field-valid-icon,
.quotation-form .date-field .date-valid-icon {
  display: none !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

  .quotation-form .date-field input[name="tarikh_trip"] {
    height: 50px !important;

    padding:
      19px
      48px
      6px
      10px !important;

    font-size: 10.5px !important;
  }

  .quotation-form .date-field > span {
    top: 50% !important;
    left: 10px !important;

    max-width: calc(100% - 58px) !important;

    font-size: 10px !important;

    transform: translateY(-50%) !important;
  }

  .quotation-form .date-field.is-active > span,
  .quotation-form .date-field.has-value > span,
  .quotation-form .date-field:focus-within > span {
    top: 8px !important;
    left: 10px !important;

    font-size: 7.5px !important;

    transform: none !important;
  }

  .quotation-form .date-picker-trigger,
  .quotation-form .native-date-picker-helper {
    width: 48px !important;
    height: 50px !important;
  }

  .quotation-form .date-picker-trigger::before {
    width: 17px !important;
    height: 17px !important;
  }
}


/* =========================================================
   MOBILE KECIL
========================================================= */

@media (max-width: 400px) {

  .quotation-form .date-field input[name="tarikh_trip"] {
    height: 49px !important;

    padding-right: 44px !important;
    padding-left: 8px !important;

    font-size: 9.5px !important;
  }

  .quotation-form .date-field > span {
    left: 8px !important;

    font-size: 9px !important;
  }

  .quotation-form .date-field.is-active > span,
  .quotation-form .date-field.has-value > span,
  .quotation-form .date-field:focus-within > span {
    left: 8px !important;

    font-size: 7px !important;
  }

  .quotation-form .date-picker-trigger,
  .quotation-form .native-date-picker-helper {
    width: 44px !important;
    height: 49px !important;
  }

  .quotation-form .date-picker-trigger::before {
    width: 16px !important;
    height: 16px !important;
  }
}

.quotation-form .date-field > span,
.quotation-form .date-field.is-active > span,
.quotation-form .date-field.has-value > span,
.quotation-form .date-field:focus-within > span {
  text-transform: none !important;
}
/* =========================================================
   FINAL FIX — DATE CALENDAR + LABEL CASE
   Desktop + Mobile
========================================================= */

/* Sebelum klik: Title Case ikut teks asal HTML, contoh "Tarikh Trip" */
.quotation-form .floating-field > span,
.quotation-form .date-field > span {
  text-transform: none !important;
}

/* Selepas klik / label naik / sudah ada nilai: FULL UPPERCASE */
.quotation-form .floating-field:focus-within > span,
.quotation-form .floating-field.is-active > span,
.quotation-form .floating-field.has-value > span,
.quotation-form .date-field:focus-within > span,
.quotation-form .date-field.is-active > span,
.quotation-form .date-field.has-value > span {
  text-transform: uppercase !important;
}

/* Pastikan kawasan tarikh tidak memotong native date picker */
.quotation-form,
.quotation-form .form-category,
.quotation-form .form-grid,
.quotation-form .floating-field,
.quotation-form .date-field {
  overflow: visible !important;
}

/* Desktop: jadikan titik buka native calendar stabil pada hujung kanan input */
@media (min-width: 601px) {
  .quotation-form .date-field {
    position: relative !important;
    isolation: auto !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
  }

  .quotation-form .date-picker-trigger,
  .quotation-form .native-date-picker-helper {
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }

  .quotation-form .native-date-picker-helper {
    width: 52px !important;
    height: 52px !important;
    color-scheme: light !important;
  }

  .quotation-form .native-date-picker-helper::-webkit-calendar-picker-indicator {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    cursor: pointer !important;
  }
}

@media (max-width: 600px) {

  body[data-current-package="dubai"] #harga .price-season-section {
    width: 100%;
    margin-bottom: 32px;
  }

  body[data-current-package="dubai"] #harga .price-season-section > h3 {
    margin: 0 0 14px;
  }

  body[data-current-package="dubai"] #harga .price-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

}
/* =========================================================
   MOBILE: PRICE TABLE SWIPE NOTICE
   Dibina oleh style.js, tiada perubahan PHP diperlukan
========================================================= */

.mobile-price-swipe-notice {
  display: none;
}

@media (max-width: 600px) {
  .mobile-price-swipe-notice {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 24px;
    background: rgba(0, 0, 0, 0.64);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
      opacity 0.22s ease,
      visibility 0.22s ease;
  }

  .mobile-price-swipe-notice.is-visible {
    opacity: 1;
    visibility: visible;
  }

  .mobile-price-swipe-notice__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;

    width: min(88vw, 360px);
    text-align: center;
    color: #ffffff;
    font-family: inherit;

    transform: translateY(10px);
    transition: transform 0.22s ease;
  }

  .mobile-price-swipe-notice.is-visible .mobile-price-swipe-notice__content {
    transform: translateY(0);
  }

.mobile-price-swipe-notice__icons {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: 0;
  min-height: 34px;
}

.mobile-price-swipe-notice__icon {
  width: 30px;
  height: 30px;

  object-fit: contain;

  opacity: 0;

  filter:
    brightness(0)
    invert(1)
    drop-shadow(0 0 8px rgba(255, 255, 255, 0.7));

  animation: mobilePriceSwipeIcon 1.8s ease-in-out infinite;
}

/* Tarik ikon kedua ke kiri supaya lebih rapat */
.mobile-price-swipe-notice__icon:nth-child(2) {
  margin-left: -7px;
  animation-delay: 0.42s;
}

.mobile-price-swipe-notice__text {
  color: #ffffff;

  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.01em;

  text-shadow:
    0 2px 12px rgba(0, 0, 0, 0.9),
    0 0 8px rgba(255, 255, 255, 0.28);
}

  @keyframes mobilePriceSwipeIcon {
    0%, 12% {
      opacity: 0;
      transform: translateX(-14px) scale(0.88);
    }

    28%, 58% {
      opacity: 1;
      transform: translateX(0) scale(1);
    }

    76%, 100% {
      opacity: 0;
      transform: translateX(14px) scale(0.92);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .mobile-price-swipe-notice__icon {
      opacity: 1;
      animation: none;
      transform: none;
    }
  }
}