/* ═══════════════════════════════════════════════════
   🧳 YATRA JUNCTION WIDGETS — yj-widgets.css v1.0
   ═══════════════════════════════════════════════════ */

:root {
  --yj-orange:      #e87722;
  --yj-orange-lt:   #f5a623;
  --yj-navy:        #2d3a6e;
  --yj-navy-dark:   #1e2850;
  --yj-white:       #ffffff;
  --yj-light-bg:    #f7f9fc;
  --yj-text:        #333344;
  --yj-text-light:  #666680;
  --yj-border:      #e2e8f0;
  --yj-shadow:      0 4px 24px rgba(45,58,110,0.10);
  --yj-radius:      18px;
  --yj-transition:  all 0.25s ease;
}

/* ─── SECTION COMMON ─── */
.yj-section { padding: 70px 0; }
.yj-section-header { margin-bottom: 44px; }
.yj-section-tag {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--yj-orange); font-size: 0.78rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 10px;
}
.yj-section-tag::before { content: ''; width: 28px; height: 2px; background: var(--yj-orange); display: inline-block; }
.yj-section-title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: clamp(1.7rem, 3.5vw, 2.5rem);
  color: var(--yj-navy); line-height: 1.25; margin-bottom: 12px;
}
.yj-section-sub { color: var(--yj-text-light); font-size: 0.95rem; max-width: 560px; line-height: 1.7; }

/* ─── FILTER TABS ─── */
.yj-dest-tabs {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-bottom: 36px;
}
.yj-dest-tab {
  padding: 9px 22px; border-radius: 25px;
  border: 2px solid var(--yj-border); background: #fff;
  font-size: 0.84rem; font-weight: 600; cursor: pointer;
  color: var(--yj-text-light); transition: var(--yj-transition);
  font-family: inherit;
}
.yj-dest-tab.active, .yj-dest-tab:hover {
  background: var(--yj-orange); border-color: var(--yj-orange); color: #fff;
}
.yj-dest-tab.yj-hidden { display: none; }

/* ─── PACKAGES GRID ─── */
.yj-packages-grid {
  display: grid; gap: 26px;
}
.yj-cols-2 { grid-template-columns: repeat(2, 1fr); }
.yj-cols-3 { grid-template-columns: repeat(3, 1fr); }
.yj-cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
  .yj-cols-3, .yj-cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .yj-cols-2, .yj-cols-3, .yj-cols-4 { grid-template-columns: 1fr; }
}

/* ─── PACKAGE CARD ─── */
.yj-package-card {
  background: #fff; border-radius: var(--yj-radius); overflow: hidden;
  box-shadow: var(--yj-shadow); transition: transform 0.3s, box-shadow 0.3s;
  display: flex; flex-direction: column;
}
.yj-package-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 16px 48px rgba(45,58,110,0.15);
}
.yj-package-card[style*="display:none"],
.yj-package-card.yj-hidden { display: none !important; }

.yj-card-img {
  position: relative; height: 210px; overflow: hidden;
}
.yj-card-img img {
  width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s;
  display: block;
}
.yj-package-card:hover .yj-card-img img { transform: scale(1.07); }

.yj-card-badge {
  position: absolute; top: 14px; left: 14px;
  background: var(--yj-orange); color: #fff; font-size: 0.72rem; font-weight: 700;
  padding: 4px 12px; border-radius: 20px; letter-spacing: 0.04em;
}
.yj-card-wishlist {
  position: absolute; top: 14px; right: 14px;
  background: rgba(255,255,255,0.92); width: 36px; height: 36px;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 0.9rem; color: #ccc; transition: var(--yj-transition);
}
.yj-card-wishlist:hover, .yj-card-wishlist.liked { color: #e74c3c; }

.yj-card-body { padding: 18px 20px 20px; flex: 1; display: flex; flex-direction: column; }
.yj-card-meta {
  display: flex; align-items: center; gap: 14px;
  font-size: 0.78rem; color: var(--yj-text-light); margin-bottom: 8px;
}
.yj-card-meta span { display: flex; align-items: center; gap: 5px; }
.yj-card-meta i { color: var(--yj-orange); }
.yj-card-title {
  font-size: 1.02rem; font-weight: 700; color: var(--yj-navy);
  margin-bottom: 10px; line-height: 1.4;
}
.yj-card-highlights { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; flex: 1; }
.yj-highlight-tag {
  background: #f0f4ff; color: var(--yj-navy); font-size: 0.71rem; font-weight: 600;
  padding: 3px 10px; border-radius: 12px;
}
.yj-card-footer {
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid var(--yj-border); padding-top: 14px; margin-top: auto;
}
.yj-card-price { font-size: 0.78rem; color: var(--yj-text-light); }
.yj-card-price strong { font-size: 1.1rem; color: var(--yj-orange); font-weight: 800; display: block; }
.yj-card-price span { font-size: 0.72rem; }
.yj-card-book {
  background: var(--yj-navy); color: #fff; padding: 8px 18px;
  border-radius: 20px; font-size: 0.8rem; font-weight: 700;
  text-decoration: none; transition: var(--yj-transition); white-space: nowrap;
}
.yj-card-book:hover { background: var(--yj-orange); color: #fff; }

/* ─── DESTINATIONS SLIDER ─── */
.yj-dest-section { position: relative; }
.yj-dest-scroll {
  display: flex; gap: 18px; overflow-x: auto; padding-bottom: 8px;
  scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none;
  scroll-behavior: smooth;
}
.yj-dest-scroll::-webkit-scrollbar { display: none; }
.yj-dest-pill {
  flex: 0 0 auto; scroll-snap-align: start;
  width: 180px; height: 240px; border-radius: 18px; overflow: hidden;
  position: relative; cursor: pointer; text-decoration: none;
  transition: transform 0.3s;
}
.yj-dest-pill:hover { transform: scale(1.04); }
.yj-dest-pill img { width: 100%; height: 100%; object-fit: cover; display: block; }
.yj-dest-pill::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(30,40,80,0.80) 0%, transparent 55%);
}
.yj-dest-pill-label {
  position: absolute; bottom: 16px; left: 0; right: 0;
  text-align: center; color: #fff; font-weight: 700; font-size: 0.9rem; z-index: 1;
}
.yj-dest-pill-label small { display: block; font-weight: 400; font-size: 0.72rem; opacity: 0.85; }

.yj-scroll-arrows { display: flex; gap: 10px; margin-top: 20px; justify-content: flex-end; }
.yj-scroll-btn {
  width: 42px; height: 42px; border-radius: 50%; border: 2px solid var(--yj-border);
  background: #fff; cursor: pointer; font-size: 0.88rem; color: var(--yj-navy);
  display: flex; align-items: center; justify-content: center; transition: var(--yj-transition);
}
.yj-scroll-btn:hover { background: var(--yj-orange); color: #fff; border-color: var(--yj-orange); }

/* ─── STATS STRIP ─── */
.yj-stats-strip {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 0; padding: 48px 5%;
  background: var(--yj-navy);
}
.yj-stat-item {
  text-align: center; padding: 0 40px;
  border-right: 1px solid rgba(255,255,255,0.12);
}
.yj-stat-item:last-child { border-right: none; }
.yj-stat-icon { font-size: 1.5rem; margin-bottom: 8px; }
.yj-stat-num  { font-size: 2.2rem; font-weight: 800; line-height: 1; }
.yj-stat-label { font-size: 0.78rem; opacity: 0.75; letter-spacing: 0.06em; text-transform: uppercase; margin-top: 6px; }

@media (max-width: 640px) {
  .yj-stat-item { flex: 0 0 50%; padding: 20px; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .yj-stat-item:nth-child(odd) { border-right: 1px solid rgba(255,255,255,0.1); }
}

/* ─── DETAIL PAGE ─── */
.yj-detail-wrap { --yj-orange: #e87722; --yj-navy: #2d3a6e; }

.yj-detail-hero {
  position: relative; height: 420px;
  background-size: cover; background-position: center;
  display: flex; align-items: flex-end;
}
.yj-detail-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(20,30,70,0.80) 0%, rgba(20,30,70,0.25) 60%, transparent 100%);
}
.yj-detail-hero-content {
  position: relative; z-index: 2; color: #fff;
  padding: 32px 40px; width: 100%;
}
.yj-back-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.18); backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.3); border-radius: 25px;
  color: #fff; text-decoration: none; font-size: 0.84rem; font-weight: 600;
  padding: 8px 18px; margin-bottom: 14px; transition: var(--yj-transition);
}
.yj-back-btn:hover { background: rgba(255,255,255,0.3); color: #fff; }
.yj-hero-badge {
  display: inline-block; background: var(--yj-orange); color: #fff;
  font-size: 0.76rem; font-weight: 700; padding: 4px 14px;
  border-radius: 20px; margin-bottom: 10px; letter-spacing: 0.04em;
}
.yj-detail-title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: clamp(1.6rem, 4vw, 2.6rem); font-weight: 700; margin-bottom: 12px;
}
.yj-detail-meta {
  display: flex; flex-wrap: wrap; gap: 18px;
  font-size: 0.88rem; color: rgba(255,255,255,0.9);
}
.yj-detail-meta span { display: flex; align-items: center; gap: 7px; }
.yj-detail-meta i { color: var(--yj-orange-lt, #f5a623); }

/* Tabs nav */
.yj-detail-body { background: #fff; }
.yj-tabs-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0;
  border-bottom: 2px solid var(--yj-border, #e8eaf0);
  padding: 0 16px;
  background: #fff;
  position: sticky; top: 0; z-index: 100;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  box-shadow: 0 1px 0 var(--yj-border, #e8eaf0);
}
.yj-tabs-nav::-webkit-scrollbar { display: none !important; }

.yj-tab-btn {
  padding: 14px 14px;
  font-size: 0.80rem; font-weight: 600;
  color: #888899;
  border: none !important; background: none !important;
  cursor: pointer; font-family: inherit;
  border-bottom: 3px solid transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  margin-bottom: -2px;
  transition: color 0.2s;
  text-transform: uppercase; letter-spacing: 0.04em;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  outline: none;
}
.yj-tab-btn:hover { color: var(--yj-orange, #e87722); }
.yj-tab-btn.active { color: var(--yj-orange, #e87722) !important; border-bottom-color: var(--yj-orange, #e87722) !important; }

/* Main + Sidebar layout */
.yj-detail-main {
  display: grid; grid-template-columns: 1fr 340px;
  gap: 40px; padding: 40px;
  align-items: start;
  max-width: 1280px; margin: 0 auto;
}
@media (max-width: 1100px) {
  .yj-detail-main { grid-template-columns: 1fr 290px; gap: 24px; padding: 28px 20px; }
}
@media (max-width: 900px) {
  .yj-detail-main { grid-template-columns: 1fr !important; padding: 20px 16px; gap: 20px; }
  .yj-detail-sidebar { order: -1; }
}
@media (max-width: 640px) {
  .yj-tab-btn { padding: 12px 11px; font-size: 0.72rem; }
  .yj-detail-main { padding: 14px 12px; }
}

/* Tab panels — controlled purely via HTML `hidden` attribute (set by JS)
   DO NOT add display:none here — it would fight with `hidden` removal */
.yj-tabs-content { min-height: 200px; }
.yj-tab-panel[hidden] { display: none !important; }
.yj-tab-panel:not([hidden]) { display: block; animation: yjFadeIn 0.3s ease; }

.yj-tab-heading {
  font-size: 1.2rem; font-weight: 700; color: var(--yj-navy);
  margin-bottom: 22px; padding-bottom: 12px;
  border-bottom: 2px solid var(--yj-border);
}

/* Highlight pills */
.yj-highlight-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.yj-pill-outline {
  padding: 8px 18px; border-radius: 25px; border: 1.5px solid var(--yj-orange);
  color: var(--yj-navy); font-size: 0.84rem; font-weight: 600;
  background: #fff8f2;
}

/* Amenities */
.yj-amenities-grid {
  display: flex; flex-wrap: wrap; gap: 12px;
  background: var(--yj-light-bg, #f7f9fc); border-radius: 16px; padding: 24px;
}
.yj-amenity-item {
  flex: 0 0 auto; text-align: center; padding: 12px 20px;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.yj-amenity-icon {
  width: 56px; height: 56px; background: #fff; border-radius: 14px;
  box-shadow: 0 2px 12px rgba(45,58,110,0.09);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem; color: var(--yj-navy);
}
.yj-amenity-item span { font-size: 0.8rem; font-weight: 600; color: var(--yj-text-light); }

/* Inclusion / Exclusion lists */
.yj-check-list, .yj-cross-list {
  list-style: none; display: flex; flex-direction: column; gap: 12px; padding: 0;
}
.yj-check-list li, .yj-cross-list li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 0.92rem; color: var(--yj-text); line-height: 1.55;
}
.yj-check-list li i { color: #27ae60; margin-top: 2px; font-size: 1rem; flex-shrink: 0; }
.yj-cross-list li i { color: #e74c3c; margin-top: 2px; font-size: 1rem; flex-shrink: 0; }

/* Accordion (Itinerary) */
.yj-accordion { display: flex; flex-direction: column; gap: 8px; }
.yj-accordion-item {
  border: 1.5px solid var(--yj-border); border-radius: 12px; overflow: hidden;
}
.yj-accordion-head {
  width: 100%; display: flex; align-items: center; gap: 14px;
  padding: 16px 20px; background: #fff; border: none; cursor: pointer;
  font-family: inherit; text-align: left; transition: background 0.2s;
}
.yj-accordion-head:hover { background: #fff8f2; }
.yj-accordion-item.open .yj-accordion-head { background: #fff8f2; }
.yj-acc-day {
  font-size: 0.8rem; font-weight: 700; color: var(--yj-orange);
  white-space: nowrap; min-width: 60px;
}
.yj-acc-title { font-size: 0.92rem; font-weight: 600; color: var(--yj-navy); flex: 1; }
.yj-acc-icon { margin-left: auto; color: var(--yj-text-light); font-size: 0.85rem; transition: transform 0.25s; }
.yj-accordion-item.open .yj-acc-icon { transform: rotate(180deg); }
.yj-accordion-body {
  display: none; padding: 16px 20px 18px 94px;
  background: #fafbff; border-top: 1px solid var(--yj-border);
  font-size: 0.9rem; line-height: 1.75; color: var(--yj-text-light);
}
.yj-accordion-item.open .yj-accordion-body { display: block; }

/* Dates Table */
.yj-dates-table-wrap { overflow-x: auto; }
.yj-dates-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.yj-dates-table thead { background: var(--yj-navy); color: #fff; }
.yj-dates-table th { padding: 14px 20px; text-align: left; font-weight: 600; font-size: 0.83rem; }
.yj-dates-table td { padding: 14px 20px; border-bottom: 1px solid var(--yj-border); }
.yj-dates-table tbody tr:hover { background: #fafbff; }
.yj-avail  { color: #27ae60; font-weight: 600; }
.yj-full   { color: #e74c3c; font-weight: 600; }
.yj-date-price { color: var(--yj-orange); font-weight: 700; }

/* Misc / Terms */
.yj-prose { font-size: 0.92rem; line-height: 1.85; color: var(--yj-text-light); }
.yj-prose p, .yj-prose br + br { margin-bottom: 12px; }

/* SIDEBAR */
.yj-detail-sidebar { position: sticky; top: 130px; }
.yj-sidebar-card {
  background: #fff; border-radius: 20px; padding: 28px;
  box-shadow: 0 8px 40px rgba(45,58,110,0.12); border: 1px solid var(--yj-border);
}
.yj-sidebar-price-label { font-size: 0.78rem; font-weight: 700; color: var(--yj-text-light); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px; }
.yj-sidebar-price { font-size: 2.2rem; font-weight: 800; color: var(--yj-orange); line-height: 1; }
.yj-sidebar-price-sub { font-size: 0.78rem; color: var(--yj-text-light); margin-top: 4px; }
.yj-sidebar-divider { border: none; border-top: 1px solid var(--yj-border); margin: 20px 0; }
.yj-sidebar-enq-title { font-size: 0.82rem; font-weight: 700; color: var(--yj-navy); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 14px; }

.yj-sidebar-form { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.yj-sidebar-form input {
  width: 100%; padding: 10px 14px;
  border: 1.5px solid var(--yj-border); border-radius: 10px;
  font-family: inherit; font-size: 0.85rem; outline: none; transition: border-color 0.2s;
}
.yj-sidebar-form input:focus { border-color: var(--yj-orange); }

.yj-btn-enquire {
  width: 100%; background: var(--yj-orange); color: #fff; border: none;
  padding: 13px; border-radius: 10px; font-family: inherit; font-weight: 700;
  font-size: 0.92rem; cursor: pointer; transition: var(--yj-transition);
  letter-spacing: 0.04em;
}
.yj-btn-enquire:hover { background: var(--yj-navy); }

.yj-btn-whatsapp {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; background: #25D366; color: #fff; border-radius: 10px;
  padding: 13px; font-family: inherit; font-weight: 700; font-size: 0.92rem;
  text-decoration: none; transition: var(--yj-transition); margin-top: 10px;
}
.yj-btn-whatsapp:hover { background: #1da851; color: #fff; }

/* ─── ENQUIRY FORM WIDGET ─── */
.yj-enquiry-section { background: var(--yj-light-bg, #f7f9fc); }
.yj-enquiry-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start;
}
@media (max-width: 900px) {
  .yj-enquiry-grid { grid-template-columns: 1fr; gap: 32px; }
}

.yj-contact-heading {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 1.8rem; color: var(--yj-navy); margin-bottom: 10px;
}
.yj-contact-sub { color: var(--yj-text-light); font-size: 0.92rem; line-height: 1.7; margin-bottom: 24px; }
.yj-contact-item {
  display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px;
}
.yj-contact-icon {
  width: 46px; height: 46px; background: var(--yj-orange);
  border-radius: 12px; display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1rem; flex-shrink: 0;
}
.yj-contact-item h4 { font-size: 0.78rem; color: var(--yj-text-light); margin-bottom: 3px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
.yj-contact-item p, .yj-contact-item a { font-size: 0.9rem; color: var(--yj-navy); font-weight: 600; text-decoration: none; }
.yj-contact-item a:hover { color: var(--yj-orange); }

.yj-social-links { display: flex; gap: 10px; margin-top: 20px; }
.yj-social-btn {
  width: 42px; height: 42px; border-radius: 10px; display: flex; align-items: center;
  justify-content: center; color: #fff; text-decoration: none; font-size: 1rem;
  transition: var(--yj-transition);
}
.yj-social-btn:hover { opacity: 0.85; transform: translateY(-2px); }

.yj-form-card {
  background: #fff; border-radius: 20px; padding: 36px;
  box-shadow: var(--yj-shadow);
}
.yj-form-full { max-width: 700px; margin: 0 auto; }
.yj-form-title { font-family: 'Playfair Display','Georgia',serif; font-size: 1.7rem; color: var(--yj-navy); margin-bottom: 6px; }
.yj-form-heading { font-size: 1.2rem; color: var(--yj-navy); font-weight: 700; margin-bottom: 22px; }

.yj-enquiry-form { display: flex; flex-direction: column; gap: 0; }
.yj-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.yj-form-group { margin-bottom: 16px; }
.yj-form-group label { display: block; font-size: 0.8rem; font-weight: 700; color: var(--yj-text-light); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.05em; }
.yj-form-group input,
.yj-form-group select,
.yj-form-group textarea {
  width: 100%; padding: 11px 14px;
  border: 1.5px solid var(--yj-border); border-radius: 10px;
  font-family: inherit; font-size: 0.9rem; color: var(--yj-text);
  outline: none; transition: border-color 0.2s; background: #fff;
}
.yj-form-group input:focus,
.yj-form-group select:focus,
.yj-form-group textarea:focus { border-color: var(--yj-orange); }
.yj-form-group textarea { resize: vertical; min-height: 100px; }

.yj-form-submit {
  background: var(--yj-orange); color: #fff; border: none; padding: 14px 32px;
  border-radius: 30px; font-family: inherit; font-weight: 700; font-size: 0.95rem;
  cursor: pointer; display: flex; align-items: center; gap: 8px;
  transition: var(--yj-transition); width: fit-content;
}
.yj-form-submit:hover { background: var(--yj-navy); }

@media (max-width: 600px) {
  .yj-form-row { grid-template-columns: 1fr; }
  .yj-form-card { padding: 24px; }
}

/* ─── FILTER PAGE ─── */
.yj-filter-page {}
.yj-filter-header {
  padding: 60px 5%; background: var(--yj-navy); color: #fff; margin-bottom: 40px;
}
.yj-filter-title {
  font-family: 'Playfair Display','Georgia',serif;
  font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 700; margin-bottom: 10px;
}
.yj-filter-sub { color: rgba(255,255,255,0.75); font-size: 0.95rem; max-width: 560px; }
.yj-filter-tabs { padding: 0 5%; }
.yj-filter-grid { padding: 0 5% 60px; }

/* ─── TOAST ─── */
.yj-toast {
  position: fixed; bottom: 24px; right: 24px; z-index: 9999;
  background: var(--yj-navy); color: #fff; padding: 14px 24px;
  border-radius: 12px; font-size: 0.9rem; font-weight: 600;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2); display: flex; align-items: center; gap: 10px;
  animation: yjSlideIn 0.3s ease forwards;
}
.yj-toast.success { background: #27ae60; }
.yj-toast.error   { background: #e74c3c; }
@keyframes yjSlideIn { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }

/* ═══════════════════════════════════════════════════
   🏔️ HERO SECTION
   ═══════════════════════════════════════════════════ */
.yj-hero {
  position: relative; overflow: hidden; width: 100%;
  display: flex; align-items: center; justify-content: center;
  min-height: 480px;
}

/* Slides */
.yj-hero-slides { position: absolute; inset: 0; }
.yj-hero-slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0; transition: opacity 0.9s ease;
}
.yj-hero-slide.active { opacity: 1; }

/* Overlay */
.yj-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(20,30,70,0.75) 0%, rgba(20,30,70,0.35) 60%, transparent 100%);
  z-index: 1;
}

/* Content */
.yj-hero-content {
  position: relative; z-index: 2; width: 100%;
  max-width: 1280px; margin: 0 auto; padding: 0 5%;
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
}

/* Text blocks */
.yj-hero-text {
  display: none; flex-direction: column; align-items: flex-start;
  margin-bottom: 32px;
}
.yj-hero-text.active { display: flex; animation: yjHeroIn 0.7s ease forwards; }
@keyframes yjHeroIn {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: none; }
}

.yj-hero-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(232,119,34,0.92); color: #fff; border-radius: 25px;
  padding: 6px 16px; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; margin-bottom: 18px;
}

.yj-hero-heading {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: clamp(1.8rem, 4.5vw, 3.4rem);
  font-weight: 800; color: #fff; line-height: 1.2;
  max-width: 620px; margin-bottom: 16px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

.yj-hero-sub {
  font-size: clamp(0.88rem, 1.5vw, 1.05rem);
  color: rgba(255,255,255,0.88); max-width: 520px; line-height: 1.7;
}

/* Buttons */
.yj-hero-btns {
  display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 28px;
}
.yj-hero-btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--yj-orange, #e87722); color: #fff;
  padding: 13px 28px; border-radius: 30px;
  font-weight: 700; font-size: 0.92rem; text-decoration: none;
  transition: all 0.25s; box-shadow: 0 4px 20px rgba(232,119,34,0.4);
}
.yj-hero-btn-primary:hover { background: #c96510; color: #fff; transform: translateY(-2px); }

.yj-hero-btn-wa {
  display: inline-flex; align-items: center; gap: 8px;
  background: #25D366; color: #fff;
  padding: 13px 28px; border-radius: 30px;
  font-weight: 700; font-size: 0.92rem; text-decoration: none;
  transition: all 0.25s; box-shadow: 0 4px 20px rgba(37,211,102,0.35);
}
.yj-hero-btn-wa:hover { background: #1da851; color: #fff; transform: translateY(-2px); }

/* Search bar */
.yj-hero-search {
  display: flex; gap: 0; max-width: 520px; width: 100%;
  background: #fff; border-radius: 50px; overflow: hidden;
  box-shadow: 0 6px 30px rgba(0,0,0,0.2);
}
.yj-hero-search-input {
  flex: 1; padding: 13px 22px; border: none; outline: none;
  font-family: inherit; font-size: 0.9rem; color: #333;
  background: transparent;
}
.yj-hero-search-btn {
  background: var(--yj-orange, #e87722); color: #fff;
  border: none; padding: 13px 26px; cursor: pointer;
  font-family: inherit; font-weight: 700; font-size: 0.88rem;
  display: flex; align-items: center; gap: 7px;
  transition: background 0.2s;
}
.yj-hero-search-btn:hover { background: #c96510; }

/* Dots */
.yj-hero-dots {
  position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%);
  z-index: 3; display: flex; gap: 8px;
}
.yj-hero-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: rgba(255,255,255,0.45); border: none; cursor: pointer;
  transition: all 0.3s; padding: 0;
}
.yj-hero-dot.active { background: var(--yj-orange, #e87722); width: 28px; border-radius: 5px; }

/* Arrows */
.yj-hero-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 3; background: rgba(255,255,255,0.18); backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.3); color: #fff;
  width: 46px; height: 46px; border-radius: 50%; cursor: pointer;
  font-size: 0.9rem; display: flex; align-items: center; justify-content: center;
  transition: all 0.25s;
}
.yj-hero-arrow:hover { background: var(--yj-orange, #e87722); border-color: var(--yj-orange, #e87722); }
.yj-hero-prev { left: 24px; }
.yj-hero-next { right: 24px; }

@media (max-width: 640px) {
  .yj-hero-content { padding: 0 20px; }
  .yj-hero-heading  { font-size: 1.6rem; }
  .yj-hero-btns     { flex-direction: column; }
  .yj-hero-btn-primary, .yj-hero-btn-wa { width: 100%; justify-content: center; }
  .yj-hero-arrow    { display: none; }
  .yj-hero-search   { max-width: 100%; }
}

/* ═══════════════════════════════════════════════════
   ✅ WHY CHOOSE US
   ═══════════════════════════════════════════════════ */
.yj-why-section { background: #fff; }
.yj-why-header  { margin-bottom: 52px; }

.yj-why-grid {
  display: grid; gap: 28px;
}
.yj-why-cols-2 { grid-template-columns: repeat(2, 1fr); }
.yj-why-cols-3 { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 1024px) {
  .yj-why-cols-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .yj-why-cols-2,
  .yj-why-cols-3 { grid-template-columns: 1fr; }
}

.yj-why-card {
  background: #fff; border-radius: 18px; padding: 32px 28px;
  border: 1.5px solid var(--yj-border, #e2e8f0);
  transition: all 0.3s; text-align: center;
}
.yj-why-card:hover {
  border-color: var(--yj-orange, #e87722);
  box-shadow: 0 12px 40px rgba(232,119,34,0.12);
  transform: translateY(-6px);
}

.yj-why-icon {
  width: 70px; height: 70px; border-radius: 50%;
  background: linear-gradient(135deg, #fff5ee, #ffe8d4);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 18px; font-size: 1.6rem;
  color: var(--yj-orange, #e87722);
  transition: all 0.3s;
}
.yj-why-card:hover .yj-why-icon {
  background: var(--yj-orange, #e87722); color: #fff;
  transform: scale(1.1);
}

.yj-why-title {
  font-size: 1.02rem; font-weight: 700;
  color: var(--yj-navy, #2d3a6e); margin-bottom: 10px;
}
.yj-why-desc {
  font-size: 0.88rem; color: #666680; line-height: 1.7;
}

/* ═══════════════════════════════════════════════════
   📸 TOUR SNAPSHOTS
   ═══════════════════════════════════════════════════ */
.yj-snap-section {}

.yj-snap-top {
  display: flex; align-items: flex-end; justify-content: space-between;
  flex-wrap: wrap; gap: 16px; margin-bottom: 32px;
}
.yj-snap-view-all {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--yj-orange, #e87722); color: #fff;
  padding: 9px 20px; border-radius: 25px; font-size: 0.82rem;
  font-weight: 700; text-decoration: none; white-space: nowrap;
  transition: all 0.25s;
}
.yj-snap-view-all:hover { background: var(--yj-navy, #2d3a6e); color: #fff; }

.yj-snap-grid {
  display: grid;
  grid-auto-rows: 200px;
}
.yj-snap-cols-3 { grid-template-columns: repeat(3, 1fr); }
.yj-snap-cols-4 { grid-template-columns: repeat(4, 1fr); }

.yj-snap-item {
  position: relative; overflow: hidden; border-radius: 14px;
  cursor: pointer;
}
.yj-snap-item img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.4s;
}
.yj-snap-item:hover img { transform: scale(1.07); }

.yj-snap-item.yj-snap-wide  { grid-column: span 2; }
.yj-snap-item.yj-snap-tall  { grid-row: span 2; }

.yj-snap-caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: linear-gradient(to top, rgba(20,30,70,0.75) 0%, transparent 100%);
  color: #fff; font-size: 0.8rem; font-weight: 600;
  padding: 18px 14px 10px; opacity: 0; transition: opacity 0.3s;
}
.yj-snap-item:hover .yj-snap-caption { opacity: 1; }

@media (max-width: 900px) {
  .yj-snap-cols-4 { grid-template-columns: repeat(2, 1fr); }
  .yj-snap-item.yj-snap-wide { grid-column: span 2; }
}
@media (max-width: 600px) {
  .yj-snap-cols-3,
  .yj-snap-cols-4 { grid-template-columns: repeat(2, 1fr); }
  .yj-snap-item.yj-snap-wide { grid-column: span 2; }
}

/* ═══════════════════════════════════════════════════
   ⭐ GUEST REVIEWS
   ═══════════════════════════════════════════════════ */
.yj-reviews-section { background: var(--yj-light-bg, #f7f9fc); }

.yj-reviews-slider-wrap {
  position: relative; overflow: hidden; padding: 8px 4px 60px;
}

.yj-reviews-track {
  display: flex; gap: 24px;
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.yj-review-card {
  flex: 0 0 calc(33.33% - 16px); min-width: 0;
  background: #fff; border-radius: 18px; padding: 30px 28px;
  box-shadow: 0 4px 28px rgba(45,58,110,0.08);
  border: 1.5px solid var(--yj-border, #e2e8f0);
  transition: box-shadow 0.3s, transform 0.3s;
  display: flex; flex-direction: column;
}
.yj-review-card:hover {
  box-shadow: 0 12px 40px rgba(45,58,110,0.14);
  transform: translateY(-4px);
}

.yj-review-stars { margin-bottom: 16px; }
.yj-review-stars .fa-star  { color: #f5a623; font-size: 0.9rem; margin-right: 2px; }
.yj-review-stars .far.fa-star { color: #ddd; }

.yj-review-text {
  font-size: 0.9rem; line-height: 1.75; color: #555566;
  flex: 1; margin-bottom: 20px; font-style: italic;
}

.yj-reviewer {
  display: flex; align-items: center; gap: 12px; margin-top: auto;
}
.yj-reviewer-avatar {
  width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
}
.yj-reviewer-initials {
  width: 46px; height: 46px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, var(--yj-orange, #e87722), #f5a623);
  color: #fff; font-weight: 800; font-size: 0.9rem;
  display: flex; align-items: center; justify-content: center;
}
.yj-reviewer-info { flex: 1; }
.yj-reviewer-info strong { display: block; font-size: 0.9rem; color: var(--yj-navy, #2d3a6e); font-weight: 700; }
.yj-reviewer-info span  { font-size: 0.78rem; color: #999; }
.yj-review-quote { margin-left: auto; color: var(--yj-orange, #e87722); font-size: 1.4rem; opacity: 0.25; }

/* Arrows */
.yj-reviews-arrow {
  position: absolute; top: 50%; transform: translateY(-70%);
  z-index: 3; width: 44px; height: 44px; border-radius: 50%;
  background: #fff; border: 1.5px solid var(--yj-border, #e2e8f0);
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  color: var(--yj-navy, #2d3a6e); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.88rem; transition: all 0.25s;
}
.yj-reviews-arrow:hover { background: var(--yj-orange, #e87722); color: #fff; border-color: var(--yj-orange, #e87722); }
.yj-reviews-prev { left: -22px; }
.yj-reviews-next { right: -22px; }

/* Dots */
.yj-reviews-dots {
  position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 8px;
}
.yj-reviews-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--yj-border, #e2e8f0); border: none; cursor: pointer;
  transition: all 0.3s; padding: 0;
}
.yj-reviews-dot.active { background: var(--yj-orange, #e87722); width: 24px; border-radius: 4px; }

@media (max-width: 1024px) {
  .yj-review-card { flex: 0 0 calc(50% - 12px); }
}
@media (max-width: 640px) {
  .yj-review-card { flex: 0 0 calc(100% - 0px); }
  .yj-reviews-prev { left: 0; }
  .yj-reviews-next { right: 0; }
}

/* ═══════════════════════════════════════════════════
   🧭 WHO WE ARE
   ═══════════════════════════════════════════════════ */
.yj-who-section {}

.yj-who-row {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 64px; align-items: center; margin-bottom: 56px;
}
.yj-who-row.yj-img-left .yj-who-img-col  { order: -1; }
.yj-who-row.yj-img-left .yj-who-text-col { order: 1; }

@media (max-width: 900px) {
  .yj-who-row {
    grid-template-columns: 1fr; gap: 36px; margin-bottom: 40px;
  }
  .yj-who-row.yj-img-left .yj-who-img-col { order: 0; }
}

.yj-who-heading {
  font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
  margin-bottom: 20px !important;
}

.yj-who-para {
  font-size: 0.93rem; color: #555566; line-height: 1.8;
  margin-bottom: 14px;
}
.yj-who-para p { margin: 0 0 10px; }

.yj-who-stats {
  display: flex; gap: 0; margin-top: 28px;
  border: 1.5px solid var(--yj-border, #e2e8f0); border-radius: 16px; overflow: hidden;
}
.yj-who-stat {
  flex: 1; text-align: center; padding: 20px 16px;
  border-right: 1.5px solid var(--yj-border, #e2e8f0);
}
.yj-who-stat:last-child { border-right: none; }
.yj-who-stat-num {
  font-size: 1.8rem; font-weight: 800;
  color: var(--yj-orange, #e87722); line-height: 1;
}
.yj-who-stat-label {
  font-size: 0.72rem; font-weight: 700; color: #999;
  text-transform: uppercase; letter-spacing: 0.06em; margin-top: 5px;
}

.yj-who-image {
  width: 100%; border-radius: 20px; object-fit: cover;
  max-height: 420px; display: block;
  box-shadow: 0 16px 60px rgba(45,58,110,0.15);
}

/* CTA Banner */
.yj-who-cta-banner {
  background: var(--yj-orange, #e87722); border-radius: 20px;
  padding: 32px 40px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px; flex-wrap: wrap;
}
.yj-who-cta-left {
  display: flex; align-items: center; gap: 20px; color: #fff;
}
.yj-who-cta-icon {
  width: 56px; height: 56px; border-radius: 14px;
  background: rgba(255,255,255,0.2); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
}
.yj-who-cta-left strong { display: block; font-size: 1.05rem; font-weight: 800; margin-bottom: 4px; }
.yj-who-cta-left p { font-size: 0.85rem; opacity: 0.9; margin: 0; }
.yj-who-cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }

.yj-who-cta-btn-outline {
  padding: 11px 24px; border-radius: 30px;
  border: 2px solid rgba(255,255,255,0.7); color: #fff;
  font-weight: 700; font-size: 0.85rem; text-decoration: none;
  white-space: nowrap; transition: all 0.25s;
}
.yj-who-cta-btn-outline:hover { background: rgba(255,255,255,0.2); color: #fff; }

.yj-who-cta-btn-solid {
  padding: 11px 24px; border-radius: 30px;
  background: var(--yj-navy, #2d3a6e); color: #fff;
  font-weight: 700; font-size: 0.85rem; text-decoration: none;
  white-space: nowrap; transition: all 0.25s;
}
.yj-who-cta-btn-solid:hover { background: #1e2850; color: #fff; }

@media (max-width: 640px) {
  .yj-who-cta-banner { padding: 24px 20px; flex-direction: column; }
  .yj-who-cta-btns { width: 100%; }
  .yj-who-cta-btn-outline,
  .yj-who-cta-btn-solid { flex: 1; text-align: center; }
}

/* ═══════════════════════════════════════════════════
   🌍 DESTINATIONS SLIDER — Image Fix
   ═══════════════════════════════════════════════════ */
.yj-dest-pill {
  flex: 0 0 auto !important;
  width: 175px !important; height: 230px !important;
  border-radius: 18px !important; overflow: hidden !important;
  position: relative !important; display: block !important;
  text-decoration: none !important;
}
.yj-dest-pill img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center !important;
  display: block !important; position: absolute !important;
  inset: 0 !important;
}


/* ═══════════════════════════════════════════════════
   📢 CTA BANNER / POSTER
   ═══════════════════════════════════════════════════ */
.yj-cta-banner {
  position: relative; overflow: hidden;
  padding: 36px 48px;
}

.yj-cta-overlay {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
}

.yj-cta-inner {
  position: relative; z-index: 1;
  display: flex; align-items: center;
  justify-content: space-between; gap: 28px; flex-wrap: wrap;
}

.yj-cta-layout-center .yj-cta-inner {
  flex-direction: column; text-align: center;
}
.yj-cta-layout-center .yj-cta-text-side {
  flex-direction: column; align-items: center;
}

.yj-cta-text-side {
  display: flex; align-items: center; gap: 20px;
}
.yj-cta-icon-wrap {
  width: 60px; height: 60px; border-radius: 14px; flex-shrink: 0;
  background: rgba(255,255,255,0.18); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center; font-size: 1.5rem;
}

.yj-cta-heading {
  display: block; font-size: 1.1rem; font-weight: 800; margin-bottom: 5px;
  line-height: 1.3;
}
.yj-cta-sub { font-size: 0.87rem; opacity: 0.9; margin: 0; line-height: 1.5; }

.yj-cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }

.yj-cta-btn {
  padding: 11px 26px; border-radius: 30px; font-weight: 700;
  font-size: 0.85rem; text-decoration: none; white-space: nowrap;
  transition: all 0.25s; display: inline-block;
}
.yj-cta-btn-outline {
  border: 2px solid rgba(255,255,255,0.75); color: #fff;
  background: transparent;
}
.yj-cta-btn-outline:hover { background: rgba(255,255,255,0.2); color: #fff; }
.yj-cta-btn-white {
  background: #fff; color: var(--yj-navy, #2d3a6e); border: 2px solid #fff;
}
.yj-cta-btn-white:hover { background: #f0f0f0; color: var(--yj-navy, #2d3a6e); }
.yj-cta-btn-navy {
  background: var(--yj-navy, #2d3a6e); color: #fff; border: 2px solid var(--yj-navy, #2d3a6e);
}
.yj-cta-btn-navy:hover { background: #1e2850; color: #fff; }

@media (max-width: 768px) {
  .yj-cta-banner  { padding: 28px 24px; }
  .yj-cta-inner   { flex-direction: column; text-align: center; }
  .yj-cta-text-side { flex-direction: column; align-items: center; }
  .yj-cta-btns    { justify-content: center; }
  .yj-cta-btn     { flex: 1; text-align: center; }
}

/* ── HERO SLIDE — extra reliability fix ── */
.yj-hero { position: relative !important; overflow: hidden !important; }
.yj-hero-slide {
  position: absolute !important; inset: 0 !important;
  background-size: cover !important; background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: 0; transition: opacity 1s ease;
  will-change: opacity;
}
.yj-hero-slide.active { opacity: 1 !important; z-index: 1; }
.yj-hero-overlay      { position: absolute !important; inset: 0 !important; z-index: 2 !important; }
.yj-hero-content      { position: relative !important; z-index: 3 !important; }
.yj-hero-dots         { z-index: 4 !important; }
.yj-hero-arrow        { z-index: 4 !important; }
.yj-hero-text { display: none !important; }
.yj-hero-text.active  { display: flex !important; }

/* ── Filter Grid Header with image ── */
.yj-filter-header-wrap { overflow: hidden; }

/* ═══════════════════════════════════════════════════
   🎨 DYNAMIC COLOR VARIABLE OVERRIDES
   ═══════════════════════════════════════════════════ */

/* Package Detail — body text inherits CSS vars */
.yj-detail-page { --yj-heading-c: var(--yj-navy, #2d3a6e); --yj-text-c: #555566; --yj-tab-active: var(--yj-orange, #e87722); }
.yj-detail-page h2,
.yj-detail-page h3,
.yj-detail-page h4           { color: var(--yj-heading-c); }
.yj-detail-page p,
.yj-detail-page li,
.yj-detail-page td,
.yj-detail-page .yj-acc-body-text { color: var(--yj-text-c); }
.yj-detail-page .yj-tab-btn.active { color: var(--yj-tab-active) !important; border-bottom-color: var(--yj-tab-active) !important; }


/* ╔══════════════════════════════════════╗
   HERO v3 (.yjh)
╚══════════════════════════════════════╝ */
.yjh { position:relative;overflow:hidden;width:100%;display:flex;align-items:center;justify-content:center; }
.yjh-slide { position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease;will-change:opacity; }
.yjh-slide.active { opacity:1;z-index:1; }
.yjh-overlay { position:absolute;inset:0;z-index:2;pointer-events:none; }
.yjh-stage { position:relative;z-index:3;width:100%;max-width:900px;padding:0 24px;display:flex;flex-direction:column;gap:0; }
.yjh-content { display:none;flex-direction:column; }
.yjh-content.active { display:flex;animation:yjhIn .75s ease forwards; }
@keyframes yjhIn { from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none} }
.yjh-badge { display:inline-flex;align-items:center;gap:8px;padding:8px 22px;border-radius:40px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);width:fit-content; }
.yjh-heading { line-height:1.15;font-weight:800;margin:0 0 20px;text-shadow:0 2px 24px rgba(0,0,0,.25); }
.yjh-hi { display:inline; }
.yjh-sub { line-height:1.75;margin:0 0 32px;max-width:640px; }
.yjh-btns { display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px; }
.yjh-btn { display:inline-flex;align-items:center;gap:9px;padding:14px 30px;border-radius:40px;font-weight:700;font-size:.95rem;text-decoration:none;transition:all .25s;border:2px solid transparent; }
.yjh-btn:hover { filter:brightness(1.1);transform:translateY(-2px); }
.yjh-search { display:flex;align-items:center;max-width:620px;width:100%;background:#fff;border-radius:50px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.22); }
.yjh-search-icon { color:#aaa;font-size:1rem;padding:0 0 0 22px;flex-shrink:0; }
.yjh-search-input { flex:1;padding:15px 14px;border:none;outline:none;font-size:.92rem;color:#333;background:transparent;font-family:inherit; }
.yjh-search-btn { display:flex;align-items:center;gap:7px;color:#fff;border:none;padding:15px 26px;font-weight:700;font-size:.9rem;cursor:pointer;font-family:inherit;border-radius:0 50px 50px 0;transition:filter .2s; }
.yjh-search-btn:hover { filter:brightness(1.1); }
.yjh-dots { position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:8px; }
.yjh-dot { width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:all .35s; }
.yjh-dot.active { background:var(--yjh-orange,#e87722);width:28px;border-radius:5px; }
.yjh-arr { position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all .25s; }
.yjh-arr:hover { background:var(--yjh-orange,#e87722);border-color:var(--yjh-orange,#e87722); }
.yjh-prev { left:28px; } .yjh-next { right:28px; }
@media(max-width:768px){.yjh-stage{padding:0 20px;}.yjh-heading{font-size:clamp(1.8rem,6vw,3rem)!important;}.yjh-btns{flex-direction:column;}.yjh-btn{width:100%;justify-content:center;}.yjh-arr{display:none;}.yjh-search{max-width:100%;}}

/* ╔══════════════════════════════════════╗
   PAGE BANNER (.yjpb)
╚══════════════════════════════════════╝ */
.yjpb { position:relative;overflow:hidden;display:flex;align-items:center; }
.yjpb-overlay { position:absolute;inset:0;z-index:0;pointer-events:none; }
.yjpb-inner { position:relative;z-index:1;width:100%; }
.yjpb-tag { display:flex;align-items:center;gap:10px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px; }
.yjpb-tag::before { content:'';display:inline-block;width:28px;height:2px;background:currentColor; }
.yjpb-title { font-family:'Playfair Display','Georgia',serif;font-weight:800;line-height:1.15;margin:0 0 10px; }
.yjpb-sub { line-height:1.7;margin:0;opacity:.9; }

/* ╔══════════════════════════════════════╗
   REVIEWS CAROUSEL (.yjrev-)
╚══════════════════════════════════════╝ */
.yj-rev-section { padding:72px 5%; }
.yjrev-outer { position:relative;overflow:hidden;padding:4px 0 60px; }
.yjrev-track { display:flex;gap:24px;transition:transform .5s cubic-bezier(.25,.46,.45,.94); }
.yjrev-card { flex-shrink:0;border-radius:18px;padding:30px 26px;box-shadow:0 4px 30px rgba(45,58,110,.09);border:1.5px solid #e8eaf0;transition:box-shadow .3s,transform .3s;display:flex;flex-direction:column; }
.yjrev-card:hover { box-shadow:0 12px 44px rgba(45,58,110,.15);transform:translateY(-5px); }
.yjrev-stars { margin-bottom:14px; }
.yjrev-stars .fa-star { color:#f5a623;font-size:.88rem;margin-right:2px; }
.yjrev-stars .far.fa-star { color:#ddd; }
.yjrev-text { font-size:.9rem;line-height:1.78;color:#555566;flex:1;margin-bottom:22px;font-style:italic; }
.yjrev-author { display:flex;align-items:center;gap:12px; }
.yjrev-avatar { width:46px;height:46px;border-radius:50%;object-fit:cover;flex-shrink:0; }
.yjrev-initials { width:46px;height:46px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--yj-orange,#e87722),#f5a623);color:#fff;font-weight:800;font-size:.88rem;display:flex;align-items:center;justify-content:center; }
.yjrev-info { flex:1; }
.yjrev-info strong { display:block;font-size:.9rem;font-weight:700;color:var(--yj-navy,#2d3a6e); }
.yjrev-info span { font-size:.76rem;color:#9999aa; }
.yjrev-q { margin-left:auto;color:var(--yj-orange,#e87722);font-size:1.4rem;opacity:.2; }
.yjrev-arr { position:absolute;top:35%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid #e2e8f0;box-shadow:0 4px 18px rgba(0,0,0,.09);color:var(--yj-navy,#2d3a6e);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.88rem;transition:all .25s; }
.yjrev-arr:hover { background:var(--yj-orange,#e87722);color:#fff;border-color:var(--yj-orange,#e87722); }
.yjrev-prev { left:-22px; } .yjrev-next { right:-22px; }
.yjrev-dots { position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px; }
.yjrev-dot { width:8px;height:8px;border-radius:50%;border:none;background:#dde1ea;cursor:pointer;padding:0;transition:all .3s; }
.yjrev-dot.active { background:var(--yj-orange,#e87722);width:24px;border-radius:4px; }
@media(max-width:640px){.yjrev-prev{left:0;}.yjrev-next{right:0;}}

/* ╔══════════════════════════════════════╗
   HEADER NAV (.yjhdr)
╚══════════════════════════════════════╝ */
.yjhdr { width:100%;z-index:1000; }
.yjhdr-sticky { position:sticky;top:0; }
.yjhdr-inner { display:flex;align-items:center;justify-content:space-between;padding:0 5%;max-width:1400px;margin:0 auto;height:70px;gap:32px; }
.yjhdr-logo { display:flex;align-items:center;text-decoration:none;flex-shrink:0; }
.yjhdr-logo img { display:block; }
.yjhdr-logo-text { font-size:1.3rem;font-weight:800;color:var(--yj-navy,#2d3a6e); }
.yjhdr-nav { display:flex;align-items:center;gap:28px;flex-wrap:nowrap; }
.yjhdr-link { text-decoration:none;font-weight:600;font-size:.88rem;letter-spacing:.01em;transition:color .2s;white-space:nowrap; }
.yjhdr-cta { display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border-radius:30px;font-weight:700;font-size:.88rem;text-decoration:none;transition:filter .2s;white-space:nowrap; }
.yjhdr-cta:hover { filter:brightness(1.1); }
.yjhdr-toggle { display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px; }
.yjhdr-toggle span { display:block;width:24px;height:2px;background:currentColor;border-radius:2px; }
@media(max-width:900px){
  .yjhdr-nav { display:none;position:absolute;top:70px;left:0;right:0;background:inherit;flex-direction:column;align-items:flex-start;padding:16px 5%;gap:4px;box-shadow:0 8px 24px rgba(0,0,0,.1);z-index:999; }
  .yjhdr-nav.open { display:flex; }
  .yjhdr-toggle { display:flex; }
  .yjhdr-inner { position:relative; }
}

/* ╔══════════════════════════════════════╗
   FOOTER (.yjft)
╚══════════════════════════════════════╝ */
.yjft { width:100%; }
.yjft-grid { display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:48px;padding:64px 7%;max-width:1400px;margin:0 auto; }
.yjft-col-brand {}
.yjft-logo { display:block;margin-bottom:18px; }
.yjft-logo-text { font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:18px;display:block; }
.yjft-tagline { font-size:.85rem;line-height:1.75;margin-bottom:22px; }
.yjft-socials { display:flex;gap:10px; }
.yjft-social-btn { width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.88rem;text-decoration:none;transition:background .25s; }
.yjft-col-title { font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px; }
.yjft-list { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px; }
.yjft-list li a { text-decoration:none;font-size:.88rem;transition:color .2s; }
.yjft-news-desc { font-size:.85rem;line-height:1.6;margin-bottom:16px; }
.yjft-news-form { display:flex;flex-direction:column;gap:10px;margin-bottom:14px; }
.yjft-news-input { padding:12px 16px;border-radius:8px;border:1.5px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;font-size:.85rem;font-family:inherit;outline:none; }
.yjft-news-input::placeholder { color:rgba(255,255,255,.4); }
.yjft-news-btn { padding:12px;border-radius:8px;border:none;color:#fff;font-weight:700;font-size:.88rem;cursor:pointer;font-family:inherit;transition:filter .2s; }
.yjft-news-btn:hover { filter:brightness(1.1); }
.yjft-address { font-size:.78rem;opacity:.65;margin:10px 0 0;display:flex;align-items:flex-start;gap:6px; }
.yjft-bottom { display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 7%;font-size:.78rem;opacity:.65; }
.yjft-bottom-right { display:flex;align-items:center;gap:6px; }
.yjft-bottom a { text-decoration:none;font-weight:600; }
@media(max-width:1024px){.yjft-grid{grid-template-columns:1fr 1fr;gap:36px;}}
@media(max-width:640px){.yjft-grid{grid-template-columns:1fr;padding:40px 24px;}.yjft-bottom{flex-direction:column;text-align:center;padding:16px 24px;}}

/* Tab panels are controlled by HTML hidden attribute — see .yj-tab-panel[hidden] above */

/* ╔═════════════════════════════════════════════════════╗
   📋  PACKAGE DETAIL PAGE  v4  (.yjdp-)
   Fresh class names — zero conflict with old CSS
╚═════════════════════════════════════════════════════╝ */

/* ── Wrapper ── */
.yjdp-wrap {
  font-family: inherit;
  --yjdp-orange: #e87722;
  --yjdp-navy:   #2d3a6e;
  --yjdp-border: #e8eaf0;
  --yjdp-text:   #555566;
  --yjdp-radius: 14px;
}

/* ── Hero ── */
.yjdp-hero {
  position: relative; min-height: 360px;
  background-size: cover; background-position: center;
  display: flex; align-items: flex-end;
}
.yjdp-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(20,30,70,0.85) 0%, rgba(20,30,70,0.3) 60%, transparent 100%);
}
.yjdp-hero-content {
  position: relative; z-index: 1;
  padding: 36px 48px; display: flex; flex-direction: column; gap: 12px;
}
.yjdp-back {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.15); backdrop-filter: blur(6px);
  color: #fff; text-decoration: none; padding: 8px 16px;
  border-radius: 30px; font-size: 0.82rem; font-weight: 600;
  border: 1px solid rgba(255,255,255,0.25); width: fit-content;
  transition: background 0.2s;
}
.yjdp-back:hover { background: rgba(255,255,255,0.25); color: #fff; }
.yjdp-badge {
  display: inline-block; padding: 5px 14px; border-radius: 20px;
  color: #fff; font-size: 0.72rem; font-weight: 700;
  width: fit-content; letter-spacing: 0.04em;
}
.yjdp-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  font-weight: 800; line-height: 1.2; margin: 0;
}
.yjdp-meta {
  display: flex; flex-wrap: wrap; gap: 18px;
  font-size: 0.88rem; font-weight: 500;
}
.yjdp-meta span { display: flex; align-items: center; gap: 6px; }

/* ── Tab Nav ── */
.yjdp-tabs-nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none !important;
  border-bottom: 2px solid var(--yjdp-border);
  background: #fff;
  padding: 0 24px;
  position: sticky; top: 70px; z-index: 200;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.yjdp-tabs-nav::-webkit-scrollbar { display: none !important; }
/* 70px = height of the sticky site header (.yjhdr-inner). If the header height
   changes, update this value (and the 130px sidebar-card offset below) to match. */

.yjdp-tab-btn {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  padding: 16px 16px;
  font-size: 0.80rem; font-weight: 600; letter-spacing: 0.05em;
  text-transform: uppercase; color: #888899;
  background: none !important; border: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px; cursor: pointer;
  font-family: inherit; transition: color 0.2s;
  outline: none;
}
.yjdp-tab-btn:hover    { color: var(--yjdp-orange); }
.yjdp-tab-btn.yjdp-active {
  color: var(--yjdp-orange) !important;
  border-bottom-color: var(--yjdp-orange) !important;
}

/* ── Body layout: content LEFT, sidebar RIGHT ── */
.yjdp-body {
  display: grid;
  grid-template-columns: 1fr 340px;
  grid-template-areas: "content sidebar";
  gap: 40px;
  padding: 40px 40px;
  align-items: start;
  max-width: 1300px;
  margin: 0 auto;
}
.yjdp-content { grid-area: content; }
.yjdp-sidebar { grid-area: sidebar; }

/* ── Tab Panels ── */
.yjdp-tab-panel {
  display: none;
  padding-top: 8px;
}
.yjdp-tab-panel.yjdp-active {
  display: block;
  animation: yjdpFadeIn 0.25s ease;
}
@keyframes yjdpFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}

/* ── Tab Content Elements ── */
.yjdp-tab-title {
  font-size: 1.2rem; font-weight: 700;
  color: var(--yjdp-navy); margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--yjdp-border);
}
.yjdp-pills {
  display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px;
}
.yjdp-pill {
  padding: 8px 18px; border-radius: 25px;
  border: 1.5px solid var(--yjdp-orange);
  color: var(--yjdp-navy); font-size: 0.84rem; font-weight: 500;
}

/* Amenities */
.yjdp-amenities {
  display: flex; flex-wrap: wrap; gap: 24px;
  background: #f8f9fc; border-radius: var(--yjdp-radius);
  padding: 28px 24px; margin-top: 8px;
}
.yjdp-amenity {
  display: flex; flex-direction: column; align-items: center;
  gap: 10px; min-width: 80px; text-align: center;
}
.yjdp-amenity-icon {
  width: 56px; height: 56px; border-radius: 14px;
  background: #fff; border: 1.5px solid var(--yjdp-border);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem; color: var(--yjdp-navy);
}
.yjdp-amenity span { font-size: 0.78rem; color: var(--yjdp-text); font-weight: 500; }

/* Check lists */
.yjdp-check-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.yjdp-check-list li { display: flex; align-items: flex-start; gap: 12px; font-size: 0.9rem; color: var(--yjdp-text); line-height: 1.6; }
.yjdp-include li i { color: #22c55e; font-size: 1rem; margin-top: 2px; flex-shrink: 0; }
.yjdp-exclude li i { color: #ef4444; font-size: 1rem; margin-top: 2px; flex-shrink: 0; }

/* Accordion */
.yjdp-accordion { display: flex; flex-direction: column; gap: 10px; }
.yjdp-acc-item  { border: 1.5px solid var(--yjdp-border); border-radius: var(--yjdp-radius); overflow: hidden; }
.yjdp-acc-head  {
  width: 100%; display: flex; align-items: center; gap: 12px;
  padding: 16px 20px; background: #fff; border: none; cursor: pointer;
  font-family: inherit; text-align: left;
}
.yjdp-acc-day   { font-size: 0.82rem; font-weight: 700; flex-shrink: 0; }
.yjdp-acc-title { flex: 1; font-size: 0.9rem; font-weight: 600; color: var(--yjdp-navy); }
.yjdp-acc-icon  { margin-left: auto; font-size: 0.78rem; color: #aaa; transition: transform 0.25s; flex-shrink: 0; }
.yjdp-acc-body  { display: none; padding: 0 20px 18px; }
.yjdp-acc-text  { font-size: 0.88rem; color: var(--yjdp-text); line-height: 1.75; }
.yjdp-acc-text p { margin: 0 0 8px; }
.yjdp-acc-item.yjdp-open .yjdp-acc-body { display: block; }
.yjdp-acc-item.yjdp-open .yjdp-acc-icon { transform: rotate(180deg); }

/* Dates table */
.yjdp-table-wrap { overflow-x: auto; }
.yjdp-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.yjdp-table thead tr { background: var(--yjdp-navy); color: #fff; }
.yjdp-table th { padding: 14px 16px; text-align: left; font-weight: 600; font-size: 0.82rem; }
.yjdp-table td { padding: 14px 16px; border-bottom: 1px solid var(--yjdp-border); color: var(--yjdp-text); }
.yjdp-table tr:last-child td { border-bottom: none; }
.yjdp-avail    { color: #22c55e !important; font-weight: 600; }
.yjdp-full     { color: #ef4444 !important; font-weight: 600; }
.yjdp-price-col { font-weight: 700; }
.yjdp-book-btn {
  display: inline-block; padding: 8px 18px; border-radius: 20px;
  color: #fff !important; font-weight: 700; font-size: 0.8rem;
  text-decoration: none; transition: filter 0.2s;
}
.yjdp-book-btn:hover { filter: brightness(1.1); }

/* Prose content */
.yjdp-prose { font-size: 0.9rem; color: var(--yjdp-text); line-height: 1.8; }
.yjdp-prose p { margin: 0 0 12px; }
.yjdp-prose ul { padding-left: 20px; margin: 0 0 12px; }
.yjdp-prose li { margin-bottom: 6px; }

/* ── Sidebar ── */
.yjdp-sidebar-card {
  background: #fff; border: 1.5px solid var(--yjdp-border);
  border-radius: 18px; padding: 28px 24px;
  box-shadow: 0 4px 24px rgba(45,58,110,0.10);
  position: sticky; top: 130px;
}
.yjdp-price-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #999; margin: 0 0 6px; }
.yjdp-price-val   { font-size: 2.2rem; font-weight: 800; margin: 0 0 4px; line-height: 1; }
.yjdp-price-sub   { font-size: 0.76rem; color: #999; margin: 0 0 16px; }
.yjdp-divider     { border: none; border-top: 1.5px solid var(--yjdp-border); margin: 16px 0; }
.yjdp-enq-title   { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #999; margin: 0 0 14px; }

.yjdp-form { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.yjdp-form input {
  padding: 11px 14px; border-radius: 10px;
  border: 1.5px solid var(--yjdp-border);
  font-size: 0.86rem; font-family: inherit;
  outline: none; transition: border-color 0.2s;
  width: 100%; box-sizing: border-box;
}
.yjdp-form input:focus { border-color: var(--yjdp-orange); }

.yjdp-enquire-btn {
  display: block; width: 100%; padding: 14px;
  background: var(--yjdp-orange); color: #fff;
  border: none; border-radius: 10px; cursor: pointer;
  font-weight: 700; font-size: 0.85rem; letter-spacing: 0.06em;
  text-transform: uppercase; font-family: inherit;
  text-align: center; text-decoration: none;
  transition: filter 0.2s;
}
.yjdp-enquire-btn:hover { filter: brightness(1.1); color: #fff; }

.yjdp-wa-btn {
  display: flex; align-items: center; justify-content: center;
  gap: 8px; width: 100%; padding: 13px;
  background: #25D366; color: #fff !important;
  border-radius: 10px; font-weight: 700; font-size: 0.88rem;
  text-decoration: none; transition: filter 0.2s; margin-top: 10px;
}
.yjdp-wa-btn:hover { filter: brightness(1.08); }

/* ── RESPONSIVE ── */
@media (max-width: 1100px) {
  .yjdp-body { grid-template-columns: 1fr 300px; gap: 28px; padding: 32px 28px; }
}

@media (max-width: 900px) {
  /* Stack: CONTENT first, sidebar (form) LAST */
  .yjdp-body {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "content"
      "sidebar" !important;
    padding: 24px 20px;
    gap: 24px;
  }
  .yjdp-sidebar-card { position: static; }
  .yjdp-hero-content { padding: 24px 20px; }
}

@media (max-width: 640px) {
  .yjdp-tabs-nav { padding: 0 12px; }
  .yjdp-tab-btn  { padding: 13px 11px; font-size: 0.73rem; }
  .yjdp-body     { padding: 16px 14px; }
  .yjdp-hero     { min-height: 280px; }
  .yjdp-amenities { padding: 20px 16px; gap: 16px; }
  .yjdp-amenity  { min-width: 60px; }
  .yjdp-table th,
  .yjdp-table td { padding: 10px 10px; font-size: 0.8rem; }
}
