/*
 * The Holidave — package.css
 */


/* ─── WDP = The Holidave Detail Page — all prefixed to avoid conflicts ─── */
.wdp-reset,
.wdp-reset *,
.wdp-reset *::before,
.wdp-reset *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

/* Apply Inter to everything EXCEPT Font Awesome icon elements */
.wdp-reset *:not(i):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad) {
  font-family: 'Inter', sans-serif;
}

/* Explicitly restore FA font on icon elements */
.wdp-reset i,
.wdp-reset .fa,
.wdp-reset .fas,
.wdp-reset .far,
.wdp-reset .fab {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "FontAwesome" !important;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.wdp-reset {
  --wo: #FB5B32;
  --wo-lt: #FFF0EB;
  --wo-dk: #D94520;
  --wt: #0a5b66;
  --wt-lt: #E3F2F4;
  --wt-dk: #074650;
  --wblk: #111111;
  --wgd: #444444;
  --wg: #767676;
  --wg-lt: #F4F4F2;
  --wbd: #E2E2DE;
  --ww: #FFFFFF;
  --wgbl: #4285F4;
  --wgye: #FBBC05;
  --wgre: #EA4335;
  --wggr: #34A853;
  --wwa: #25D366;
  --wwa-dk: #1da851;
  --wr: 8px;
  --wrl: 12px;
  --wrxl: 18px;

  font-size: 15px;
  line-height: 1.5;
  color: var(--wblk);
  background: #F2F2F0;
}

/* ─── NAV ─── */
.wdp-nav {
  background: var(--ww);
  border-bottom: 1px solid var(--wbd);
  position: sticky;
  top: 0;
  z-index: 300;
}
.wdp-nav-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 58px;
  padding: 0 1.5rem;
  gap: 1rem;
}
.wdp-logo {
  font-size: 19px;
  font-weight: 700;
  color: var(--wt);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 7px;
}
.wdp-logo-o { color: var(--wo); }
.wdp-bc {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--wg);
  flex: 1;
  overflow: hidden;
}
.wdp-bc a { color: var(--wg); text-decoration: none; }
.wdp-bc a:hover { color: var(--wt); }
.wdp-bc i { font-size: 9px; opacity: .5; flex-shrink: 0; }
.wdp-bc span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wdp-nav-acts { display: flex; gap: 7px; flex-shrink: 0; }
.wdp-nav-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  background: none;
  border: 1px solid var(--wbd);
  border-radius: 99px;
  padding: 6px 13px;
  font-size: 12px;
  font-weight: 500;
  color: var(--wgd);
  cursor: pointer;
  text-decoration: none;
  transition: all .15s;
  white-space: nowrap;
}
.wdp-nav-btn:hover { border-color: var(--wt); color: var(--wt); }
.wdp-nav-btn i { font-size: 12px; }

/* ─── GALLERY ─── */
.wdp-gallery-wrap {
  max-width: 1280px;
  margin: 1.5rem auto 0;
  padding: 0 1.5rem;
}
.wdp-gallery {
  display: grid;
  grid-template-columns: 1.7fr 1fr 1fr;
  grid-template-rows: 240px 150px;
  gap: 6px;
  border-radius: var(--wrxl);
  overflow: hidden;
  position: relative;
}
.wdp-gc {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: filter .2s;
  font-size: 56px;
}
.wdp-gc:hover { filter: brightness(.85); }
.wdp-g1 { grid-row: 1 / 3; background: linear-gradient(160deg,#3ecf99,#0a5b66 60%,#053d46); font-size: 78px; }
.wdp-g2 { background: linear-gradient(145deg,#a8e8cc,#1db37a); }
.wdp-g3 { background: linear-gradient(145deg,#ffe0a0,#f4a020); }
.wdp-g4 { background: linear-gradient(145deg,#b8eae0,#2aa898); }
.wdp-g5 { background: linear-gradient(145deg,#a0d8f0,#1780bb); position: relative; }
.wdp-g5-ov {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.42);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  color: #fff;
}
.wdp-g5-ov i { font-size: 18px; }
.wdp-g5-ov span { font-size: 12px; font-weight: 600; }
.wdp-gallery-btn {
  position: absolute;
  bottom: 14px;
  right: 14px;
  z-index: 5;
  background: rgba(255,255,255,.93);
  border: none;
  border-radius: var(--wr);
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--wblk);
  box-shadow: 0 2px 10px rgba(0,0,0,.12);
  transition: background .15s;
}
.wdp-gallery-btn i { color: var(--wo); }
.wdp-gallery-btn:hover { background: #fff; }

/* ─── MOBILE GALLERY ─── */
.wdp-gallery-mobile { display: none; }
.wdp-mob-feature {
  width: 100%; height: 220px;
  border-radius: var(--wrxl) var(--wrxl) 0 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 80px; cursor: pointer; position: relative; overflow: hidden;
  transition: filter .2s;
}
.wdp-mob-feature:hover { filter: brightness(.88); }
.wdp-mob-feat-overlay {
  position: absolute; bottom: 10px; right: 12px;
  background: rgba(0,0,0,.48); color: #fff;
  border-radius: 6px; padding: 5px 10px; font-size: 12px;
  display: flex; align-items: center; gap: 5px;
  pointer-events: none; font-weight: 600;
}
.wdp-mob-thumbs {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 3px; border-radius: 0 0 var(--wrxl) var(--wrxl); overflow: hidden;
}
.wdp-mob-thumb {
  height: 100px; display: flex; align-items: center; justify-content: center;
  font-size: 36px; cursor: pointer; position: relative; overflow: hidden;
  transition: filter .2s;
}
.wdp-mob-thumb:hover { filter: brightness(.82); }
.wdp-mob-more-ov {
  position: absolute; inset: 0; background: rgba(0,0,0,.5);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px; color: #fff; pointer-events: none;
}
.wdp-mob-more-ov i { font-size: 14px; }
.wdp-mob-more-ov span { font-size: 11px; font-weight: 700; }

/* ─── LIGHTBOX ─── */
.wdp-lb {
  display: none; position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,.92); align-items: center; justify-content: center;
  padding: 60px 20px 40px;
}
.wdp-lb.wdp-lb-open { display: flex; animation: wdpLbFadeIn .18s ease; }
@keyframes wdpLbFadeIn { from { opacity:0 } to { opacity:1 } }
.wdp-lb-stage {
  display: flex; flex-direction: column; align-items: center; gap: 16px;
  width: 100%; max-width: 560px; pointer-events: none;
}
.wdp-lb-img {
  width: 100%; height: 360px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; font-size: 100px;
  box-shadow: 0 24px 64px rgba(0,0,0,.55);
  animation: wdpLbSlide .2s ease; pointer-events: none; overflow: hidden;
}
@keyframes wdpLbSlide { from { transform:scale(.94); opacity:0 } to { transform:scale(1); opacity:1 } }
.wdp-lb-caption { color: rgba(255,255,255,.75); font-size: 13px; font-weight: 500; text-align: center; }
.wdp-lb-dots { display: flex; gap: 8px; pointer-events: all; }
.wdp-lb-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,.3); border: none; cursor: pointer;
  transition: background .15s, transform .15s; padding: 0;
}
.wdp-lb-dot.wdp-lb-dot-active { background: #fff; transform: scale(1.3); }
.wdp-lb-close {
  position: fixed; top: 14px; right: 14px; z-index: 1;
  background: rgba(255,255,255,.12); border: 1.5px solid rgba(255,255,255,.25);
  color: #fff; width: 40px; height: 40px; border-radius: 50%;
  font-size: 16px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.wdp-lb-close:hover { background: rgba(255,255,255,.25); }
.wdp-lb-prev, .wdp-lb-next {
  position: fixed; top: 50%; transform: translateY(-50%); z-index: 1;
  background: rgba(255,255,255,.12); border: 1.5px solid rgba(255,255,255,.25);
  color: #fff; width: 46px; height: 46px; border-radius: 50%;
  font-size: 16px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.wdp-lb-prev { left: 12px; }
.wdp-lb-next { right: 12px; }
.wdp-lb-prev:hover, .wdp-lb-next:hover { background: rgba(255,255,255,.25); }
@media (max-width: 480px) {
  .wdp-lb-img { height: 240px; font-size: 68px; }
  .wdp-lb-prev { left: 6px; } .wdp-lb-next { right: 6px; }
  .wdp-lb-prev, .wdp-lb-next { width: 38px; height: 38px; font-size: 14px; }
}

/* ─── TITLE ─── */
.wdp-title-wrap {
  max-width: 1280px;
  margin: 1.5rem auto 0;
  padding: 0 1.5rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.wdp-pkg-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.wdp-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 99px;
}
.wdp-tag-hot { background: var(--wo); color: #fff; }
.wdp-tag-beach { background: var(--wt-lt); color: var(--wt); }
.wdp-tag-honey { background: #fce4ec; color: #880e4f; }
.wdp-h1 {
  font-size: clamp(20px, 2.6vw, 30px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--wblk);
  margin-bottom: 10px;
}
.wdp-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  font-size: 13px;
  color: var(--wg);
}
.wdp-pm { display: flex; align-items: center; gap: 5px; }
.wdp-pm-loc i { color: var(--wo); }
.wdp-pm-dur i { color: var(--wt); }
.wdp-g-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--ww);
  border: 1px solid var(--wbd);
  border-radius: 99px;
  padding: 4px 11px 4px 6px;
}
.wdp-g-badge svg { width: 18px; height: 18px; flex-shrink: 0; }
.wdp-g-badge-stars i { font-size: 10px; color: var(--wgye); }
.wdp-g-badge-val { font-size: 12px; font-weight: 700; color: var(--wblk); }
.wdp-g-badge-cnt { font-size: 11px; color: var(--wg); }
.wdp-title-acts { display: flex; gap: 7px; flex-shrink: 0; margin-top: 2px; }
.wdp-act-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  background: none;
  border: 1px solid var(--wbd);
  border-radius: 99px;
  padding: 7px 13px;
  font-size: 12px;
  font-weight: 500;
  color: var(--wgd);
  cursor: pointer;
  transition: all .15s;
}
.wdp-act-btn:hover { border-color: var(--wt); color: var(--wt); }
.wdp-act-btn i { font-size: 12px; }

/* ─── INFO STRIP ─── */
.wdp-strip-wrap {
  max-width: 1280px;
  margin: 1.25rem auto 0;
  padding: 0 1.5rem;
}
.wdp-strip {
  background: var(--ww);
  border: 1px solid var(--wbd);
  border-radius: var(--wrl);
  display: flex;
  align-items: stretch;
  overflow: hidden;
  box-shadow: 0 1px 8px rgba(0,0,0,.05);
}
.wdp-si {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 16px;
  border-right: 1px solid var(--wbd);
  min-width: 0;
  transition: background .15s;
}
.wdp-si:hover { background: #fafaf8; }
.wdp-si-icon {
  width: 34px;
  height: 34px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px;
}
.wdp-ic-teal { background: var(--wt-lt); color: var(--wt); }
.wdp-ic-orange { background: var(--wo-lt); color: var(--wo); }
.wdp-ic-purple { background: #ede7f6; color: #6200ea; }
.wdp-ic-green { background: #e8f5e9; color: #2e7d32; }
.wdp-si-lbl { font-size: 10px; color: var(--wg); text-transform: uppercase; letter-spacing: .05em; font-weight: 600; margin-bottom: 2px; }
.wdp-si-val { font-size: 13px; font-weight: 600; color: var(--wblk); overflow: hidden; text-overflow: ellipsis; }
.wdp-si-google {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 16px;
  border-right: 1px solid var(--wbd);
  transition: background .15s;
}
.wdp-si-google:hover { background: #fafaf8; }
.wdp-g-logo-box {
  width: 34px;
  height: 34px;
  border-radius: 7px;
  border: 1px solid var(--wbd);
  background: var(--ww);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.wdp-g-logo-box svg { width: 22px; height: 22px; }
.wdp-gsr-row { display: flex; align-items: center; gap: 5px; }
.wdp-gsr-num { font-size: 14px; font-weight: 700; color: var(--wblk); }
.wdp-gsr-stars i { font-size: 11px; color: var(--wgye); }
.wdp-gsr-cnt { font-size: 11px; color: var(--wg); }
.wdp-gsr-pw { font-size: 10px; color: var(--wg); display: flex; align-items: center; gap: 3px; margin-top: 2px; }
.wdp-gsr-pw svg { width: 10px; height: 10px; }
.wdp-si-cta {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  flex-shrink: 0;
}
.wdp-btn-dl-strip {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--wt-lt);
  color: var(--wt);
  border: 1.5px solid var(--wt);
  border-radius: var(--wr);
  padding: 9px 14px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
  text-decoration: none;
  white-space: nowrap;
  font-family: 'Inter', sans-serif;
}
.wdp-btn-dl-strip:hover { background: var(--wt); color: #fff; }
.wdp-btn-dl-strip:disabled { opacity: .7; cursor: default; }
.wdp-btn-wa {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--wwa);
  color: #fff;
  border: none;
  border-radius: var(--wr);
  padding: 9px 14px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
  text-decoration: none;
  white-space: nowrap;
}
.wdp-btn-wa:hover { background: var(--wwa-dk); }
.wdp-btn-wa svg { width: 15px; height: 15px; fill: #fff; flex-shrink: 0; }

/* ─── HIGHLIGHTS BAR ─── */
.wdp-hl-wrap {
  max-width: 1280px;
  margin: 1rem auto 0;
  padding: 0 1.5rem;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}
.wdp-hl {
  background: var(--ww);
  border: 1px solid var(--wbd);
  border-radius: var(--wrl);
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  text-align: center;
  transition: box-shadow .18s, transform .18s;
}
.wdp-hl:hover { box-shadow: 0 3px 12px rgba(0,0,0,.08); transform: translateY(-2px); }
.wdp-hl-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.wdp-hi-teal { background: var(--wt-lt); color: var(--wt); }
.wdp-hi-blue { background: #e8f0fe; color: #1967d2; }
.wdp-hi-gold { background: #fff8e1; color: #f57f17; }
.wdp-hi-red { background: var(--wo-lt); color: var(--wo); }
.wdp-hi-purple { background: #f3e5f5; color: #6a1b9a; }
.wdp-hi-green { background: #e8f5e9; color: #2e7d32; }
.wdp-hi-orange { background: var(--wo-lt); color: var(--wo-dk); }
.wdp-hl-val { font-size: 13px; font-weight: 700; color: var(--wblk); line-height: 1.2; }
.wdp-hl-lbl { font-size: 10px; color: var(--wg); font-weight: 500; }

/* ─── MAIN LAYOUT ─── */
.wdp-main {
  max-width: 1280px;
  margin: 1.75rem auto 4rem;
  padding: 0 1.5rem;
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 1.75rem;
  align-items: start;
}
.wdp-main > * { min-width: 0; }

/* ─── TABS WRAPPER ─── */
.wdp-tabs-wrap {
  background: var(--ww);
  border: 1px solid var(--wbd);
  border-radius: var(--wrl);
  overflow: hidden;
  box-shadow: 0 1px 8px rgba(0,0,0,.04);
}
.wdp-tab-nav {
  display: flex;
  background: #f8f8f6;
  border-bottom: 1px solid var(--wbd);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  width: 100%;
}
.wdp-tab-nav::-webkit-scrollbar { height: 0; }
.wdp-tab-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 16px;
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 500;
  color: var(--wg);
  cursor: pointer;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: all .15s;
}
.wdp-tab-btn i { font-size: 13px; }
.wdp-tab-btn:hover { color: var(--wt); background: rgba(10,91,102,.04); }
.wdp-tab-btn.wdp-active { background: var(--ww); color: var(--wo); border-bottom-color: var(--wo); font-weight: 700; }

/* ─── SECTIONS (all rendered, show/hide by JS) ─── */
.wdp-section {
  padding: 1.5rem;
  border-bottom: 1px solid var(--wbd);
  overflow: hidden;
  min-width: 0;
}
.wdp-section:last-child { border-bottom: none; }
.wdp-section.wdp-hidden { display: none; }

.wdp-sh { font-size: 17px; font-weight: 700; color: var(--wblk); margin-bottom: 4px; }
.wdp-sh-sub { font-size: 13px; color: var(--wg); margin-bottom: 1.1rem; }

/* OVERVIEW */
.wdp-ov-text { font-size: 14px; color: var(--wgd); line-height: 1.8; margin-bottom: 10px; }
.wdp-rm-btn {
  background: none;
  border: none;
  color: var(--wt);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  transition: color .15s;
}
.wdp-rm-btn:hover { color: var(--wo); }

/* INCLUSIONS */
.wdp-inc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.wdp-inc-box { border-radius: var(--wr); padding: 1.1rem; border: 1.5px solid #c8e6c9; background: #f1f8f1; }
.wdp-exc-box { border-radius: var(--wr); padding: 1.1rem; border: 1.5px solid #ffccbc; background: #fff8f5; }
.wdp-box-head { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 11px; display: flex; align-items: center; gap: 6px; }
.wdp-inc-head { color: #2e7d32; }
.wdp-exc-head { color: var(--wo-dk); }
.wdp-inc-list, .wdp-exc-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.wdp-inc-list li, .wdp-exc-list li { font-size: 13px; color: var(--wgd); display: flex; align-items: flex-start; gap: 8px; line-height: 1.4; }
.wdp-inc-list li i { color: #2e7d32; font-size: 12px; margin-top: 2px; flex-shrink: 0; }
.wdp-exc-list li i { color: var(--wo); font-size: 12px; margin-top: 2px; flex-shrink: 0; }

/* ITINERARY */
.wdp-itin-hdr { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.1rem; flex-wrap: wrap; gap: 8px; }
.wdp-btn-dl {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--wt);
  color: #fff;
  border: none;
  border-radius: var(--wr);
  padding: 8px 15px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
}
.wdp-btn-dl:hover { background: var(--wt-dk); }
.wdp-timeline { display: flex; flex-direction: column; }
.wdp-td { display: grid; grid-template-columns: 52px 1fr; position: relative; }
.wdp-td::before { content: ''; position: absolute; left: 25px; top: 40px; bottom: 0; width: 2px; background: var(--wbd); }
.wdp-td:last-child::before { display: none; }
.wdp-td-col { display: flex; flex-direction: column; align-items: center; gap: 4px; padding-top: 2px; }
.wdp-td-dot { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; z-index: 1; border: 2px solid var(--ww); }
.wdp-dot-t { background: var(--wt); color: #fff; }
.wdp-dot-o { background: var(--wo); color: #fff; }
.wdp-dot-g { background: var(--wg); color: #fff; }
.wdp-td-tag { font-size: 9px; font-weight: 700; color: var(--wg); text-transform: uppercase; letter-spacing: .04em; text-align: center; }
.wdp-td-body { padding: 2px 0 20px 12px; }
.wdp-td-pill { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 3px 9px; border-radius: 99px; margin-bottom: 5px; }
.wdp-pill-t { background: var(--wt-lt); color: var(--wt); }
.wdp-pill-o { background: var(--wo-lt); color: var(--wo-dk); }
.wdp-pill-g { background: var(--wg-lt); color: var(--wg); }
.wdp-td-title { font-size: 14px; font-weight: 700; color: var(--wblk); margin-bottom: 5px; }
.wdp-td-desc { font-size: 13px; color: var(--wgd); line-height: 1.7; margin-bottom: 7px; }
.wdp-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.wdp-chip { display: flex; align-items: center; gap: 4px; font-size: 11px; color: var(--wgd); background: var(--wg-lt); border: 1px solid var(--wbd); padding: 3px 9px; border-radius: 99px; }
.wdp-chip i { font-size: 11px; color: var(--wt); }

/* FLIGHTS */
.wdp-fl-card { background: var(--ww); border: 1.5px solid var(--wbd); border-radius: var(--wrl); padding: 1.25rem; margin-bottom: 12px; }
.wdp-fl-dir { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; flex-wrap: wrap; gap: 5px; }
.wdp-fl-lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.wdp-fll-out { color: var(--wt); }
.wdp-fll-ret { color: var(--wo); }
.wdp-fl-airline { font-size: 11px; color: var(--wg); }
.wdp-fl-row { display: flex; align-items: center; gap: 1rem; }
.wdp-fl-city { text-align: center; flex-shrink: 0; }
.wdp-fl-code { font-size: 22px; font-weight: 700; color: var(--wblk); line-height: 1; }
.wdp-fl-name { font-size: 11px; color: var(--wg); margin-top: 2px; }
.wdp-fl-path { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.wdp-fl-line { width: 100%; display: flex; align-items: center; gap: 5px; }
.wdp-fl-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.wdp-fl-rule { flex: 1; height: 1px; background: var(--wbd); }
.wdp-fl-icon { font-size: 14px; flex-shrink: 0; }
.wdp-fl-dur { font-size: 11px; color: var(--wg); }
.wdp-fl-stop { font-size: 10px; font-weight: 700; background: var(--wg-lt); color: var(--wg); padding: 2px 8px; border-radius: 99px; }
.wdp-fl-perks { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--wbd); }
.wdp-fp { display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--wg); }
.wdp-fp i { font-size: 12px; color: var(--wt); }

/* ─── PRICING TABLE ─── */
.wdp-price-tbl-wrap {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  border-radius: var(--wrl); border: 1.5px solid var(--wbd);
  margin-top: 1rem; width: 100%; display: block;
}
.wdp-price-tbl { width: 100%; min-width: 460px; border-collapse: collapse; font-size: 13px; }
.wdp-price-tbl thead tr { background: var(--wt); border-radius: var(--wrl); }
.wdp-price-tbl thead th {
  padding: 12px 14px;
  color: #fff;
  font-weight: 600;
  font-size: 12px;
  text-align: center;
  white-space: nowrap;
  border-right: 1px solid rgba(255,255,255,.15);
}
.wdp-price-tbl thead th:last-child { border-right: none; }
.wdp-price-tbl thead th:first-child { border-radius: var(--wrl) 0 0 0; }
.wdp-price-tbl thead th .wdp-th-inner { display: flex; align-items: center; justify-content: center; gap: 6px; }
.wdp-price-tbl thead th .wdp-th-emoji { font-size: 16px; }
.wdp-price-tbl tbody tr { border-bottom: 1px solid var(--wbd); transition: background .12s; }
.wdp-price-tbl tbody tr:last-child { border-bottom: none; }
.wdp-price-tbl tbody tr:hover { background: #fafaf8; }
.wdp-price-tbl tbody td { padding: 13px 14px; text-align: center; color: var(--wblk); vertical-align: middle; border-right: 1px solid var(--wbd); }
.wdp-price-tbl tbody td:last-child { border-right: none; }
.wdp-tbl-date { font-weight: 600; text-align: left !important; color: var(--wgd); }
.wdp-tbl-price { font-weight: 500; color: var(--wgd); }

/* Tour Cost tab table — 2-column (Description / Cost) variant */
.wdp-cost-tbl tbody td:first-child { text-align: left; font-weight: 600; color: var(--wgd); }
.wdp-cost-total-row { background: #FAFAF8; }
.wdp-cost-total-row td { font-weight: 800 !important; color: var(--wblk) !important; }
.wdp-info-icon { font-size: 12px; color: var(--wgye); cursor: pointer; margin-left: 3px; }

/* REVIEWS */
.wdp-rev-hero {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
  padding: 1.1rem;
  background: var(--wg-lt);
  border-radius: var(--wrl);
  align-items: flex-start;
}
.wdp-rh-score { text-align: center; flex-shrink: 0; }
.wdp-rh-num { font-size: 44px; font-weight: 700; color: var(--wblk); line-height: 1; }
.wdp-rh-stars { display: flex; gap: 2px; justify-content: center; margin: 4px 0; }
.wdp-rh-stars i { font-size: 14px; color: var(--wgye); }
.wdp-rh-count { font-size: 11px; color: var(--wg); }
.wdp-rh-g-badge { display: flex; align-items: center; gap: 4px; margin-top: 7px; font-size: 10px; color: var(--wg); background: var(--ww); border: 1px solid var(--wbd); border-radius: 99px; padding: 3px 9px; }
.wdp-rh-g-badge svg { width: 12px; height: 12px; }
.wdp-rh-bars { flex: 1; min-width: 150px; }
.wdp-br { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; }
.wdp-br-lbl { font-size: 12px; color: var(--wgd); width: 58px; flex-shrink: 0; }
.wdp-br-track { flex: 1; height: 6px; background: var(--wbd); border-radius: 99px; overflow: hidden; }
.wdp-br-fill { height: 100%; border-radius: 99px; }
.wdp-br-hi { background: var(--wgye); }
.wdp-br-md { background: var(--wgbl); }
.wdp-br-lo { background: #ccc; }
.wdp-br-pct { font-size: 11px; color: var(--wg); width: 28px; text-align: right; }
.wdp-rh-trust { display: flex; flex-direction: column; gap: 6px; }
.wdp-rh-trust span { font-size: 12px; color: var(--wgd); display: flex; align-items: center; gap: 5px; }
.wdp-rh-trust i { color: var(--wt); font-size: 12px; }
.wdp-rev-list { display: flex; flex-direction: column; gap: 10px; }
.wdp-rev-card { background: var(--ww); border: 1px solid var(--wbd); border-radius: var(--wrl); padding: 1.1rem; }
.wdp-rv-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; gap: 10px; flex-wrap: wrap; }
.wdp-rv-user { display: flex; align-items: center; gap: 9px; }
.wdp-av { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; flex-shrink: 0; }
.wdp-rv-name { font-size: 13px; font-weight: 600; }
.wdp-rv-date { font-size: 11px; color: var(--wg); }
.wdp-rv-right { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.wdp-rv-stars { display: flex; gap: 2px; }
.wdp-rv-stars i { font-size: 12px; color: var(--wgye); }
.wdp-rv-trip { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 2px 8px; border-radius: 99px; background: var(--wt-lt); color: var(--wt); }
.wdp-rv-text { font-size: 13px; color: var(--wgd); line-height: 1.7; }
.wdp-rv-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--wbd); flex-wrap: wrap; gap: 6px; }
.wdp-rv-dest { font-size: 10px; font-weight: 700; color: var(--wt); text-transform: uppercase; letter-spacing: .05em; display: flex; align-items: center; gap: 4px; }
.wdp-rv-help { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--wg); }
.wdp-rv-help button { background: none; border: 1px solid var(--wbd); color: var(--wg); font-size: 11px; padding: 2px 9px; border-radius: 99px; cursor: pointer; transition: all .15s; }
.wdp-rv-help button:hover { border-color: var(--wt); color: var(--wt); }
.wdp-load-more { width: 100%; margin-top: 10px; background: var(--ww); border: 1px solid var(--wbd); border-radius: var(--wr); padding: 10px; font-size: 13px; font-weight: 600; color: var(--wg); cursor: pointer; transition: all .15s; }
.wdp-load-more:hover { border-color: var(--wt); color: var(--wt); }

/* SIMILAR */
.wdp-sim-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1rem; }
.wdp-sim-card { background: var(--ww); border: 1px solid var(--wbd); border-radius: var(--wrl); overflow: hidden; text-decoration: none; color: var(--wblk); display: block; transition: transform .18s, box-shadow .18s; }
.wdp-sim-card:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.10); }
.wdp-sim-img { height: 95px; display: flex; align-items: center; justify-content: center; font-size: 38px; position: relative; }
.wdp-sim-badge { position: absolute; top: 8px; left: 8px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 2px 8px; border-radius: 99px; background: var(--wo); color: #fff; }
.wdp-simg-paris { background: linear-gradient(140deg,#c5dff8,#4e8ec4); }
.wdp-simg-maldives { background: linear-gradient(140deg,#a8e8f0,#0076a3); }
.wdp-simg-santorini { background: linear-gradient(140deg,#e8d5f0,#2e4aa3); }
.wdp-sim-body { padding: 10px 12px; }
.wdp-sim-dest { font-size: 10px; color: var(--wg); display: flex; align-items: center; gap: 3px; margin-bottom: 3px; }
.wdp-sim-dest i { font-size: 10px; color: var(--wo); }
.wdp-sim-title { font-size: 13px; font-weight: 600; margin-bottom: 6px; line-height: 1.3; }
.wdp-sim-row { display: flex; align-items: center; justify-content: space-between; }
.wdp-sim-price { font-size: 14px; font-weight: 700; color: var(--wo); display: flex; align-items: center; gap: 4px; }
.wdp-sim-price img { height: .8em; width: auto; filter: brightness(0) saturate(100%) invert(47%) sepia(98%) saturate(1200%) hue-rotate(343deg) brightness(1.05); }
.wdp-sim-price span { font-size: 11px; font-weight: 400; color: var(--wg); }
.wdp-sim-nights { font-size: 11px; color: var(--wg); }

/* ─── FORM (sidebar) ─── */
#wdp-enq-form { min-width: 0; width: 100%; }
.wdp-form-card {
  background: var(--ww);
  border: 1px solid var(--wbd);
  border-radius: var(--wrl);
  overflow: hidden;
  position: sticky;
  top: 70px;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
}
.wdp-fc-head { background: linear-gradient(135deg, var(--wt-dk), var(--wt)); padding: 1.1rem 1.35rem; }
.wdp-fc-head h3 { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 3px; }
.wdp-fc-head p { font-size: 12px; color: rgba(255,255,255,.72); }
.wdp-fc-price { background: var(--wblk); padding: 11px 1.35rem; display: flex; align-items: center; gap: 8px; }
.wdp-fcp-old { font-size: 12px; color: #888; text-decoration: line-through; }
.wdp-fcp-main { font-size: 24px; font-weight: 700; color: #fff; line-height: 1; display: flex; align-items: center; gap: 6px; }
.wdp-fcp-main img { height: .85em; width: auto; display: inline-block; vertical-align: middle; filter: brightness(0) invert(1); }
.wdp-fcp-per { font-size: 12px; color: #888; }
.wdp-fcp-save { background: var(--wo); color: #fff; font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 99px; margin-left: auto; }
.wdp-fc-urgency { display: flex; align-items: center; gap: 7px; background: #fff5f3; border-bottom: 1px solid #ffcfc4; padding: 8px 1.35rem; font-size: 12px; color: var(--wo-dk); font-weight: 600; }
.wdp-fc-urgency i { font-size: 13px; }
.wdp-fc-body { padding: 1.1rem 1.35rem; }
.wdp-fg { margin-bottom: 10px; }
.wdp-fl-lbl2 { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--wblk); margin-bottom: 4px; }
/* font-size 16px prevents iOS Safari auto-zoom on focus */
.wdp-fi { width: 100%; border: 1.5px solid var(--wbd); border-radius: var(--wr); padding: 9px 11px; font-size: 16px; color: var(--wblk); background: var(--ww); outline: none; transition: border-color .15s; -webkit-appearance: none; font-family: 'Inter', sans-serif; box-sizing: border-box; }
.wdp-fi:focus { border-color: var(--wt); box-shadow: 0 0 0 3px rgba(10,91,102,.08); }
.wdp-fi::placeholder { color: #bbb; }
.wdp-f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wdp-fi-ta { resize: vertical; min-height: 68px; }
.wdp-btn-submit { width: 100%; background: var(--wo); color: #fff; border: none; border-radius: var(--wr); padding: 12px; font-size: 14px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 7px; margin-bottom: 8px; transition: background .15s, transform .1s; font-family: 'Inter', sans-serif; }
.wdp-btn-submit:hover { background: var(--wo-dk); transform: scale(1.01); }
.wdp-btn-submit:disabled { opacity: .7; cursor: default; transform: none; }
/* Download itinerary in form */
.wdp-btn-dl-form { width: 100%; background: var(--wt-lt); color: var(--wt); border: 1.5px solid var(--wt); border-radius: var(--wr); padding: 10px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 7px; margin-bottom: 8px; transition: all .15s; font-family: 'Inter', sans-serif; }
.wdp-btn-dl-form:hover { background: var(--wt); color: #fff; }
/* WhatsApp button */
.wdp-btn-wa-form { width: 100%; background: var(--ww); color: var(--wwa); border: 1.5px solid var(--wwa); border-radius: var(--wr); padding: 10px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 7px; margin-bottom: 1rem; transition: all .15s; text-decoration: none; font-family: 'Inter', sans-serif; }
.wdp-btn-wa-form:hover { background: #e8fdf0; }
.wdp-btn-wa-form svg { width: 17px; height: 17px; fill: var(--wwa); flex-shrink: 0; }
.wdp-trust-list { display: flex; flex-direction: column; gap: 7px; }
.wdp-tr { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--wgd); }
.wdp-tr i { font-size: 13px; flex-shrink: 0; }
.wdp-tr-atol i { color: #003087; }
.wdp-tr-cancel i { color: #2e7d32; }
.wdp-tr-price i { color: var(--wo); }
.wdp-tr-pay i { color: var(--wgbl); }
.wdp-tr-sup i { color: var(--wt); }
.wdp-fc-foot { border-top: 1px solid var(--wbd); padding: 10px 1.35rem; text-align: center; font-size: 12px; color: var(--wg); border-radius: 0 0 var(--wrl) var(--wrl); }
.wdp-fc-foot a { color: var(--wt); text-decoration: none; font-weight: 600; }
.wdp-fc-foot a:hover { color: var(--wo); }

/* MOBILE BAR */
.wdp-mob-bar { display: none; position: fixed; bottom: 0; left: 0; right: 0; background: var(--ww); border-top: 1px solid var(--wbd); padding: 10px 1.25rem; z-index: 400; align-items: center; justify-content: space-between; gap: 10px; box-shadow: 0 -3px 14px rgba(0,0,0,.08); }
.wdp-mob-p { font-size: 18px; font-weight: 700; color: var(--wo); display: flex; align-items: center; gap: 5px; }
.wdp-mob-p img { height: .8em; width: auto; filter: brightness(0) saturate(100%) invert(47%) sepia(98%) saturate(1200%) hue-rotate(343deg) brightness(1.05); }
.wdp-mob-p span { font-size: 11px; font-weight: 400; color: var(--wg); }
.wdp-mob-btn { background: var(--wo); color: #fff; border: none; border-radius: var(--wr); padding: 10px 20px; font-size: 13px; font-weight: 700; cursor: pointer; font-family: 'Inter', sans-serif; }

/* SIMILAR — FULL WIDTH */
.wdp-similar-full {
  background: var(--ww);
  border-top: 1px solid var(--wbd);
  padding: 2rem 0 2.5rem;
  margin-top: 0;
}
.wdp-similar-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.wdp-similar-hdr {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
  gap: 8px;
}
.wdp-sim-grid-full {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media (max-width: 900px) {
  .wdp-sim-grid-full { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .wdp-sim-grid-full { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
  .wdp-similar-inner { padding: 0 1rem; }
}
.wdp-sim-card .wdp-sim-img { height: 130px; }

/* FOOTER */
.wdp-footer { background: var(--wblk); color: rgba(255,255,255,.5); text-align: center; padding: 1.25rem; font-size: 12px; margin-top: 2rem; }
.wdp-footer a { color: var(--wo); text-decoration: none; }

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */

/* ── ≤1100px : sidebar collapses below content ── */
@media (max-width: 1100px) {
  .wdp-main { grid-template-columns: 1fr; }
  .wdp-form-card { position: static; }
  .wdp-mob-bar { display: flex; }
  .wdp-reset { padding-bottom: 72px; }
  .wdp-hl-wrap { grid-template-columns: repeat(4, 1fr); }
}

/* ── ≤900px : similar grid ── */
@media (max-width: 900px) {
  .wdp-sim-grid-full { grid-template-columns: repeat(2, 1fr); }
}

/* ── ≤768px : tablet portrait ── */
@media (max-width: 768px) {
  /* Nav */
  .wdp-nav-inner { padding: 0 1rem; gap: 0.5rem; }
  .wdp-bc-mid { display: none; }
  .wdp-nav-acts { gap: 4px; }
  .wdp-nav-btn { padding: 5px 10px; font-size: 11px; }

  /* Gallery — 2-col on tablet */
  .wdp-gallery-wrap { padding: 0 1rem; margin-top: 1rem; }
  .wdp-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 160px 110px; }
  .wdp-g1 { grid-row: 1 / 3; font-size: 56px; }
  .wdp-g4, .wdp-g5 { display: none; }

  /* Title */
  .wdp-title-wrap { padding: 0 1rem; flex-direction: column; gap: 0.75rem; margin-top: 1rem; }
  .wdp-title-acts { margin-top: 0; }
  .wdp-h1 { font-size: clamp(18px, 5vw, 24px); }
  .wdp-meta-row { font-size: 12px; gap: 8px; }

  /* Info strip */
  .wdp-strip-wrap { padding: 0 1rem; }
  .wdp-strip { flex-direction: column; }
  .wdp-si, .wdp-si-google { border-right: none; border-bottom: 1px solid var(--wbd); width: 100%; padding: 11px 14px; }
  .wdp-si-cta { border-top: 1px solid var(--wbd); width: 100%; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 12px 14px; }
  .wdp-btn-dl-strip, .wdp-btn-wa { flex: 1; justify-content: center; }

  /* Highlights */
  .wdp-hl-wrap { padding: 0 1rem; grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .wdp-hl { padding: 10px 6px; }

  /* Main */
  .wdp-main { padding: 0 1rem; margin-top: 1.25rem; }
  .wdp-section { padding: 1.1rem; }

  /* Tabs */
  .wdp-tab-nav { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .wdp-tab-btn { font-size: 12px; padding: 10px 13px; flex-shrink: 0; }

  /* Inclusions */
  .wdp-inc-grid { grid-template-columns: 1fr; }

  /* Itinerary */
  .wdp-td { grid-template-columns: 44px 1fr; }
  .wdp-td::before { left: 21px; }

  /* Flights */
  .wdp-fl-card { padding: 1rem; }
  .wdp-fl-code { font-size: 18px; }
  .wdp-fl-perks { gap: 8px; }
  .wdp-fp { font-size: 11px; }

  /* Table */
  .wdp-price-tbl { min-width: 460px; }
  .wdp-price-tbl thead th,
  .wdp-price-tbl tbody td { padding: 10px 12px; font-size: 12px; white-space: nowrap; }

  /* Reviews */
  .wdp-rev-hero { flex-direction: column; gap: 1rem; }
  .wdp-rh-score { display: flex; align-items: center; gap: 14px; text-align: left; }
  .wdp-rh-g-badge { margin-top: 0; }

  /* Form */
  .wdp-f2 { grid-template-columns: 1fr; gap: 0; }
  .wdp-fc-body { padding: 1rem; }
  .wdp-fc-urgency { padding: 8px 1rem; }
  .wdp-fc-price { padding: 10px 1rem; }

  /* Similar */
  .wdp-similar-inner { padding: 0 1rem; }
  .wdp-sim-card .wdp-sim-img { height: 110px; }
}

/* ── ≤480px : mobile — switch to mobile gallery layout ── */
@media (max-width: 480px) {
  /* Nav: icon only */
  .wdp-nav-btn-lbl { display: none; }
  .wdp-nav-btn { padding: 6px 9px; }

  /* Gallery: swap to mobile layout */
  .wdp-gallery { display: none; }
  .wdp-gallery-mobile { display: block; }
  .wdp-tag { font-size: 9px; padding: 3px 8px; }

  /* Highlights: 3 cols */
  .wdp-hl-wrap { grid-template-columns: repeat(3, 1fr); }
  .wdp-hl-icon { width: 30px; height: 30px; font-size: 14px; }
  .wdp-hl-val { font-size: 12px; }
  .wdp-hl-lbl { font-size: 9px; }

  /* Tabs: hide icons to save space */
  .wdp-tab-btn i { display: none; }
  .wdp-tab-btn { font-size: 11px; padding: 9px 11px; }

  /* Table */
  .wdp-th-emoji { display: none; }
  .wdp-price-tbl { min-width: 320px; }
  .wdp-price-tbl thead th,
  .wdp-price-tbl tbody td { padding: 9px; font-size: 11px; }

  /* Itinerary */
  .wdp-td { grid-template-columns: 38px 1fr; }
  .wdp-td::before { left: 18px; }
  .wdp-td-dot { width: 26px; height: 26px; font-size: 9px; }
  .wdp-td-title { font-size: 13px; }
  .wdp-td-desc { font-size: 12px; }
  .wdp-chip { font-size: 10px; padding: 2px 7px; }
  .wdp-fl-dur, .wdp-fl-stop { font-size: 9px; }

  /* Strip CTA */
  .wdp-si-cta { flex-direction: column; }
  .wdp-btn-dl-strip, .wdp-btn-wa { width: 100%; justify-content: center; flex: none; }

  /* Form */
  .wdp-f2 { grid-template-columns: 1fr; gap: 0; }
  .wdp-fcp-main { font-size: 20px; }
  .wdp-btn-submit { font-size: 13px; }
  .wdp-rv-text { font-size: 12px; }
  .wdp-section { padding: 0.9rem; }
  .wdp-sim-grid-full { grid-template-columns: repeat(2, 1fr); gap: 0.6rem; }
}

/* ── ≤360px : small mobile ── */
@media (max-width: 360px) {
  .wdp-hl-wrap { grid-template-columns: repeat(2, 1fr); }
  .wdp-nav-btn:last-child { display: none; }
  .wdp-price-tbl { min-width: 280px; }
  .wdp-meta-row { flex-direction: column; align-items: flex-start; gap: 5px; }
  .wdp-sim-grid-full { grid-template-columns: 1fr 1fr; }
  .wdp-mob-thumbs { grid-template-columns: repeat(4, 1fr); }
}

/* ═══════════════════════════════════════════
   CONSOLIDATED RESPONSIVE — all breakpoints
   ═══════════════════════════════════════════ */

/* ── ≤1100px : sidebar collapses ── */
@media (max-width: 1100px) {
  .wdp-main { grid-template-columns: 1fr; }
  .wdp-form-card { position: static; }
  .wdp-mob-bar { display: flex; }
  .wdp-reset { padding-bottom: 72px; }
  .wdp-hl-wrap { grid-template-columns: repeat(4, 1fr); }
  .wdp-sim-grid-full { grid-template-columns: repeat(2, 1fr); }
}

/* ── ≤900px : tablet portrait ── */
@media (max-width: 900px) {
  /* Gallery */
  .wdp-gallery { display: none; }
  .wdp-gallery-mobile { display: block; }

  /* Main layout */
  .wdp-main { padding: 0 1rem; margin-top: 1.25rem; }
  .wdp-main { grid-template-columns: 1fr; }
  .wdp-form-card { position: static; }

  /* Strip */
  .wdp-strip { flex-direction: column; }
  .wdp-si, .wdp-si-google { border-right: none; border-bottom: 1px solid var(--wbd); width: 100%; padding: 11px 14px; }
  .wdp-si-cta { border-top: 1px solid var(--wbd); width: 100%; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 12px 14px; }
  .wdp-btn-dl-strip, .wdp-btn-wa { flex: 1; justify-content: center; }

  /* Highlights */
  .wdp-hl-wrap { grid-template-columns: repeat(4, 1fr); padding: 0 1rem; gap: 6px; }
  .wdp-hl { padding: 10px 6px; }

  /* Tabs */
  .wdp-tab-nav { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .wdp-tab-btn { font-size: 12px; padding: 10px 13px; flex-shrink: 0; }
  .wdp-tab-btn span { display: none; }

  /* Inclusions */
  .wdp-inc-grid { grid-template-columns: 1fr; }

  /* Itinerary */
  .wdp-td { grid-template-columns: 44px 1fr; }
  .wdp-td::before { left: 21px; }

  /* Form */
  .wdp-f2 { grid-template-columns: 1fr; }
  .wdp-fc-body { padding: 1rem; }

  /* Reviews */
  .wdp-rev-hero { grid-template-columns: 1fr; flex-direction: column; }

  /* Similar */
  .wdp-sim-grid-full { grid-template-columns: repeat(2, 1fr); }
}

/* ── ≤768px : tablet portrait ── */
@media (max-width: 768px) {
  /* Nav */
  .wdp-nav-inner { padding: 0 1rem; gap: .5rem; }
  .wdp-bc-mid { display: none; }
  .wdp-nav-acts { gap: 4px; }
  .wdp-nav-btn { padding: 5px 10px; font-size: 11px; }

  /* Gallery */
  .wdp-gallery-wrap { padding: 0 1rem; margin-top: 1rem; }
  .wdp-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 160px 110px; }
  .wdp-g1 { grid-row: 1 / 3; font-size: 56px; }
  .wdp-g4, .wdp-g5 { display: none; }

  /* Title */
  .wdp-title-wrap { padding: 0 1rem; flex-direction: column; gap: .75rem; margin-top: 1rem; }
  .wdp-title-acts { margin-top: 0; }
  .wdp-h1 { font-size: clamp(18px, 5vw, 24px); }
  .wdp-meta-row { font-size: 12px; gap: 8px; }

  /* Info strip */
  .wdp-strip-wrap { padding: 0 1rem; }

  /* Highlights */
  .wdp-hl-wrap { padding: 0 1rem; grid-template-columns: repeat(4, 1fr); gap: 6px; }

  /* Tabs */
  .wdp-section { padding: 1.1rem; }

  /* Flights */
  .wdp-fl-card { padding: 1rem; }
  .wdp-fl-code { font-size: 18px; }

  /* Pricing table */
  .wdp-price-tbl { min-width: 460px; }
  .wdp-price-tbl thead th,
  .wdp-price-tbl tbody td { padding: 10px 12px; font-size: 12px; white-space: nowrap; }

  /* Form */
  .wdp-fc-urgency { padding: 8px 1rem; }
  .wdp-fc-price { padding: 10px 1rem; }

  /* Similar */
  .wdp-similar-inner { padding: 0 1rem; }
  .wdp-sim-card .wdp-sim-img { height: 110px; }
}

/* ── ≤480px : mobile ── */
@media (max-width: 480px) {
  /* Nav: icon only */
  .wdp-nav-btn-lbl { display: none; }
  .wdp-nav-btn { padding: 6px 9px; }

  /* Gallery: mobile layout */
  .wdp-gallery { display: none; }
  .wdp-gallery-mobile { display: block; }
  .wdp-tag { font-size: 9px; padding: 3px 8px; }

  /* Title */
  .wdp-title-wrap { padding: 0 .875rem; margin-top: .75rem; }
  .wdp-h1 { font-size: clamp(16px, 5.5vw, 22px); }

  /* Strip */
  .wdp-strip-wrap { padding: 0 .875rem; }
  .wdp-si-cta { flex-direction: column; }
  .wdp-btn-dl-strip, .wdp-btn-wa { width: 100%; justify-content: center; flex: none; }

  /* Highlights */
  .wdp-hl-wrap { grid-template-columns: repeat(3, 1fr); padding: 0 .875rem; }
  .wdp-hl-icon { width: 30px; height: 30px; font-size: 14px; }
  .wdp-hl-val { font-size: 12px; }
  .wdp-hl-lbl { font-size: 9px; }

  /* Main */
  .wdp-main { padding: 0 .875rem; margin-top: 1rem; }
  .wdp-section { padding: .9rem; }

  /* Tabs: hide icons */
  .wdp-tab-btn i { display: none; }
  .wdp-tab-btn { font-size: 11px; padding: 9px 11px; }

  /* Pricing */
  .wdp-th-emoji { display: none; }
  .wdp-price-tbl { min-width: 320px; }
  .wdp-price-tbl thead th,
  .wdp-price-tbl tbody td { padding: 9px; font-size: 11px; }

  /* Itinerary */
  .wdp-td { grid-template-columns: 38px 1fr; }
  .wdp-td::before { left: 18px; }
  .wdp-td-dot { width: 26px; height: 26px; font-size: 9px; }
  .wdp-td-title { font-size: 13px; }
  .wdp-td-desc { font-size: 12px; }
  .wdp-chip { font-size: 10px; padding: 2px 7px; }
  .wdp-fl-dur, .wdp-fl-stop { font-size: 9px; }

  /* Form */
  .wdp-f2 { grid-template-columns: 1fr; gap: 0; }
  .wdp-fcp-main { font-size: 20px; }
  .wdp-btn-submit { font-size: 13px; }
  .wdp-rv-text { font-size: 12px; }

  /* Similar */
  .wdp-sim-grid-full { grid-template-columns: repeat(2, 1fr); gap: .6rem; }
  .wdp-similar-inner { padding: 0 .875rem; }

  /* Lightbox */
  .wdp-lb-img { height: 240px; font-size: 68px; }
  .wdp-lb-prev { left: 6px; } .wdp-lb-next { right: 6px; }
  .wdp-lb-prev, .wdp-lb-next { width: 38px; height: 38px; font-size: 14px; }
}

/* ── ≤360px : small mobile ── */
@media (max-width: 360px) {
  .wdp-hl-wrap { grid-template-columns: repeat(2, 1fr); }
  .wdp-nav-btn:last-child { display: none; }
  .wdp-price-tbl { min-width: 280px; }
  .wdp-meta-row { flex-direction: column; align-items: flex-start; gap: 5px; }
  .wdp-sim-grid-full { grid-template-columns: 1fr 1fr; }
  .wdp-mob-thumbs { grid-template-columns: repeat(4, 1fr); }
}