/* D Creative — force layouts to match preview HTML on tablet/phone.
   Elementor flex (--display/flex-direction) is overridden here. */

html, body { overflow-x: hidden; max-width: 100%; }
@media (min-width: 861px) {
  .dc-mobile,
  .mobile-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}
.elementor, .e-con, .elementor-widget { max-width: 100%; }
img { max-width: 100%; height: auto; }

.e-con.split,
.e-con.exp-grid,
.e-con.dest-grid,
.e-con.story-grid,
.e-con.team-grid,
.e-con.gallery,
.e-con.info-grid,
.e-con.incl-grid,
.e-con.stat-row,
.e-con.footer-grid,
.e-con.pkg-detail-hero,
.e-con.story-feature {
  display: grid !important;
}

@media (max-width: 1100px) {
  .e-con.exp-grid,
  .e-con.dest-grid,
  .e-con.story-grid,
  .e-con.team-grid,
  .e-con.info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .e-con.dest-grid.wide { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .e-con.gallery { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .e-con.footer-grid { grid-template-columns: 1fr 1fr !important; }
  .e-con.exp-grid > .e-con,
  .e-con.dest-grid > .e-con,
  .e-con.story-grid > .e-con,
  .e-con.team-grid > .e-con,
  .e-con.info-grid > .e-con,
  .e-con.footer-grid > .e-con,
  .e-con.gallery > .e-con {
    width: auto !important;
    max-width: 100% !important;
    flex: none !important;
    --width: 100%;
  }
}

@media (max-width: 860px) {
  .e-con.split,
  .e-con.story-feature,
  .e-con.pkg-detail-hero,
  .e-con.incl-grid,
  .e-con.header-inner {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
    --flex-direction: column;
  }
  .e-con.split > .e-con,
  .e-con.story-feature > .e-con,
  .e-con.pkg-detail-hero > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }
  .e-con.stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hero-scroll, .e-con.hero-scroll { display: none !important; }
  .two-col, .list-check.two-col .elementor-icon-list-items { columns: 1 !important; }
  .float-card, .e-con.float-card { left: 1rem !important; right: auto !important; }
  .dc-nav, .dc-header-inner > .dc-cta { display: none !important; }
  .dc-burger { display: flex !important; }
  .e-con.hero, .e-con.page-hero { min-height: 70vh !important; }
  .e-con.hero-inner, .e-con.page-hero .e-con.hero-inner {
    padding-left: 4vw !important;
    padding-right: 4vw !important;
    max-width: 100% !important;
  }
  .e-con.hero .elementor-heading-title,
  .e-con.page-hero .elementor-heading-title {
    font-size: clamp(2rem, 9vw, 3.2rem) !important;
  }
  .e-con.btn-row {
    flex-wrap: wrap !important;
    width: 100% !important;
  }
  .e-con.btn-row .elementor-widget-button,
  .e-con.btn-row .elementor-button {
    width: 100%;
  }
  .e-con.section, .section {
    padding-block: 3.2rem !important;
  }
  .e-con.split-media img,
  .split-media img {
    height: 260px !important;
  }
  /* dest cards: no hover on touch */
  .dest-card .dest-body p,
  .dest-card .dest-actions,
  .e-con.dest-body p,
  .e-con.dest-actions {
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
  }
  .dest-card, .e-con.dest-card { height: auto !important; min-height: 380px; }
}

@media (max-width: 620px) {
  .e-con.exp-grid,
  .e-con.dest-grid,
  .e-con.dest-grid.wide,
  .e-con.story-grid,
  .e-con.team-grid,
  .e-con.info-grid,
  .e-con.gallery,
  .e-con.footer-grid,
  .e-con.stat-row,
  .e-con.incl-grid {
    grid-template-columns: 1fr !important;
  }
  .e-con.gallery > .e-con {
    height: 220px !important;
    min-height: 220px !important;
    grid-row: auto !important;
  }
  .dc-bn { font-size: 1.05rem !important; }
  .dc-bs { letter-spacing: .18em !important; font-size: .5rem !important; }
  .dc-header-inner { gap: .65rem !important; width: min(1240px, 94vw) !important; }
  .e-con.container, .container { width: min(1240px, 94vw) !important; }
  .ticker, .e-con.ticker { overflow: hidden; }
  .wa-float, .dc-wa-float {
    right: 14px !important;
    bottom: 14px !important;
    width: 52px !important;
    height: 52px !important;
  }
  .e-con.form-grid, .form-grid { grid-template-columns: 1fr !important; }
  .price-box, .e-con.price-box { flex-direction: column; align-items: flex-start !important; }
  .journey, .e-con.journey { flex-wrap: wrap; justify-content: center; gap: .4rem .6rem; }
}

@media (hover: none) {
  .dest-card .dest-body p,
  .dest-card .dest-actions {
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
  }
}
