/**
 * EuroWayHub Tour Cards Style v1.2.0
 * Scoped to SEO country (.ewh-seo-country-page) + UTM archives (.ewh-utm-archive-main).
 * Brand: #0f6978 teal · #113d48 navy · #5fbd74 green · price #e31e24
 */

/* ------------------------------------------------------------------ */
/* Wider content shell (country listings only)                        */
/* ------------------------------------------------------------------ */
body.ewh-tcs-on .breadcumb-wrapper .container,
body:has(.ewh-seo-country-page) .breadcumb-wrapper .container, body:has(.ewh-utm-archive-main) .breadcumb-wrapper .container,
body.ewh-tcs-on section.space-top > .container,
body:has(.ewh-seo-country-page) section.space-top > .container, body:has(.ewh-utm-archive-main) section.space-top > .container,
body.ewh-tcs-on section.space-extra-bottom > .container,
body:has(.ewh-seo-country-page) section.space-extra-bottom > .container,
body:has(.ewh-utm-archive-main) section.space-extra-bottom > .container {
  max-width: 1320px !important;
  width: 100% !important;
}

body.ewh-tcs-on .breadcumb-wrapper .col-xl-9,
body:has(.ewh-seo-country-page) .breadcumb-wrapper .col-xl-9 , body:has(.ewh-utm-archive-main) .breadcumb-wrapper .col-xl-9 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

.ewh-seo-country-page {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 8px 12px 64px !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

/* ------------------------------------------------------------------ */
/* Hero / breadcrumb — taller, gradient overlay, clearer title        */
/* ------------------------------------------------------------------ */
body.ewh-tcs-on .breadcumb-wrapper,
body:has(.ewh-seo-country-page) .breadcumb-wrapper , body:has(.ewh-utm-archive-main) .breadcumb-wrapper {
  position: relative !important;
  min-height: 240px !important;
  padding: 72px 0 64px !important;
  display: flex !important;
  align-items: center !important;
  background-color: #113d48 !important;
  background-image: url('https://eurowayhub.com/wp-content/uploads/2024/07/breadcumb-bg.jpg') !important;
  background-size: cover !important;
  background-position: center 35% !important;
  overflow: hidden !important;
  text-align: left !important;
}

body.ewh-tcs-on .breadcumb-wrapper::before,
body:has(.ewh-seo-country-page) .breadcumb-wrapper::before , body:has(.ewh-utm-archive-main) .breadcumb-wrapper::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    105deg,
    rgba(17, 61, 72, 0.92) 0%,
    rgba(15, 105, 120, 0.78) 48%,
    rgba(15, 105, 120, 0.45) 100%
  ) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

body.ewh-tcs-on .breadcumb-wrapper .container,
body:has(.ewh-seo-country-page) .breadcumb-wrapper .container, body:has(.ewh-utm-archive-main) .breadcumb-wrapper .container,
body.ewh-tcs-on .breadcumb-wrapper .breadcumb-content,
body:has(.ewh-seo-country-page) .breadcumb-wrapper .breadcumb-content , body:has(.ewh-utm-archive-main) .breadcumb-wrapper .breadcumb-content {
  position: relative !important;
  z-index: 1 !important;
}

body.ewh-tcs-on .breadcumb-wrapper .breadcumb-title,
body:has(.ewh-seo-country-page) .breadcumb-wrapper .breadcumb-title , body:has(.ewh-utm-archive-main) .breadcumb-wrapper .breadcumb-title {
  color: #fff !important;
  font-size: clamp(28px, 3.2vw, 44px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin: 0 0 12px !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.25) !important;
}

body.ewh-tcs-on .breadcumb-wrapper .breadcumb-menu,
body:has(.ewh-seo-country-page) .breadcumb-wrapper .breadcumb-menu , body:has(.ewh-utm-archive-main) .breadcumb-wrapper .breadcumb-menu {
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 6px 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.ewh-tcs-on .breadcumb-wrapper .breadcumb-menu li,
body.ewh-tcs-on .breadcumb-wrapper .breadcumb-menu a,
body.ewh-tcs-on .breadcumb-wrapper .breadcumb-menu span,
body:has(.ewh-seo-country-page) .breadcumb-wrapper .breadcumb-menu li, body:has(.ewh-utm-archive-main) .breadcumb-wrapper .breadcumb-menu li,
body:has(.ewh-seo-country-page) .breadcumb-wrapper .breadcumb-menu a, body:has(.ewh-utm-archive-main) .breadcumb-wrapper .breadcumb-menu a,
body:has(.ewh-seo-country-page) .breadcumb-wrapper .breadcumb-menu span , body:has(.ewh-utm-archive-main) .breadcumb-wrapper .breadcumb-menu span {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

body.ewh-tcs-on .breadcumb-wrapper .breadcumb-menu a:hover,
body:has(.ewh-seo-country-page) .breadcumb-wrapper .breadcumb-menu a:hover , body:has(.ewh-utm-archive-main) .breadcumb-wrapper .breadcumb-menu a:hover {
  color: #5fbd74 !important;
}

/* ------------------------------------------------------------------ */
/* Layout: sticky sidebar + main                                      */
/* ------------------------------------------------------------------ */
.ewh-seo-country-layout {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ewh-seo-country-layout > aside {
  position: sticky !important;
  top: 96px !important;
  align-self: start !important;
  z-index: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.ewh-seo-country-layout > main {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* ------------------------------------------------------------------ */
/* Sidebar — pill city links                                          */
/* ------------------------------------------------------------------ */
.ewh-seo-countries-nav {
  border: 1px solid #d5e8ec !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #f3fbfd 0%, #ffffff 42%) !important;
  padding: 18px 14px !important;
  box-shadow: 0 10px 28px rgba(17, 61, 72, 0.08) !important;
}

.ewh-seo-countries-nav-title {
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: #113d48 !important;
  margin: 0 8px 14px !important;
  padding: 0 0 12px !important;
  border-bottom: 2px solid #cfe7ec !important;
}

.ewh-seo-countries-nav a {
  display: block !important;
  padding: 9px 14px !important;
  margin: 0 0 6px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  color: #0f6978 !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease,
    transform 0.2s ease !important;
}

.ewh-seo-countries-nav a:hover {
  background: #e7f6f8 !important;
  color: #0a4d58 !important;
  border-color: #b9e0e7 !important;
}

.ewh-seo-countries-nav a.is-active {
  background: #0f6978 !important;
  color: #fff !important;
  border-color: #0f6978 !important;
  box-shadow: 0 6px 14px rgba(15, 105, 120, 0.28) !important;
}

/* ------------------------------------------------------------------ */
/* Intro + sort/count toolbar                                         */
/* ------------------------------------------------------------------ */
.ewh-seo-country-intro h1 {
  font-size: clamp(26px, 2.6vw, 36px) !important;
  line-height: 1.2 !important;
  margin: 0 0 10px !important;
  color: #113d48 !important;
  font-weight: 800 !important;
}

.ewh-seo-country-intro p {
  max-width: 720px !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #5a7278 !important;
  margin: 0 0 4px !important;
}

.ewh-seo-country-toolbar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin: 18px 0 20px !important;
  padding: 12px 16px !important;
  border: 1px solid #d5e8ec !important;
  border-radius: 14px !important;
  background: linear-gradient(90deg, #f7fcfd 0%, #ffffff 100%) !important;
  color: #4d656c !important;
  box-shadow: 0 4px 14px rgba(17, 61, 72, 0.04) !important;
}

.ewh-seo-country-toolbar > span {
  font-size: 14px !important;
  font-weight: 600 !important;
}

.ewh-seo-country-toolbar strong {
  color: #0f6978 !important;
  font-weight: 800 !important;
  font-size: 16px !important;
}

.ewh-seo-country-toolbar form,
.ewh-seo-country-toolbar label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #113d48 !important;
}

.ewh-seo-country-toolbar select {
  min-width: 200px !important;
  border: 1px solid #b7dbe2 !important;
  border-radius: 999px !important;
  background: #fff !important;
  padding: 10px 16px !important;
  color: #113d48 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  cursor: pointer !important;
  box-shadow: 0 1px 2px rgba(17, 61, 72, 0.04) !important;
}

.ewh-seo-country-toolbar select:focus {
  outline: 2px solid rgba(15, 105, 120, 0.35) !important;
  outline-offset: 1px !important;
}

/* ------------------------------------------------------------------ */
/* Cards grid — 3 / 2 / 1                                             */
/* ------------------------------------------------------------------ */
.ewh-seo-country-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.ewh-seo-country-list > article.ewh-unified-card,
.ewh-seo-country-list > .ewh-unified-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  height: 100% !important;
  margin: 0 !important;
  border: 1px solid #d7e7eb !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(17, 61, 72, 0.07) !important;
  overflow: hidden !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease,
    border-color 0.28s ease !important;
}

.ewh-seo-country-list > article.ewh-unified-card:hover,
.ewh-seo-country-list > .ewh-unified-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(17, 61, 72, 0.14) !important;
  border-color: #b9d7de !important;
}

/* Media — 4/3, cover, hover zoom (absolute img = reliable ratio) */
.ewh-seo-country-list .ewh-unified-media,
.ewh-seo-country-list .ewh-utm-list-card-media {
  position: relative !important;
  display: block !important;
  flex: 0 0 auto !important;
  flex-basis: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #e8f1f3 !important;
}

.ewh-seo-country-list .ewh-unified-media img,
.ewh-seo-country-list .ewh-utm-list-card-media img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.45s ease !important;
}

.ewh-seo-country-list > article.ewh-unified-card:hover .ewh-unified-media img,
.ewh-seo-country-list > .ewh-unified-card:hover .ewh-unified-media img {
  transform: scale(1.06) !important;
}

/* Sale badge stays visible */
.ewh-seo-country-list .ewh-sale-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 3 !important;
  background: #e31e24 !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
}

/* Body */
.ewh-seo-country-list .ewh-unified-body,
.ewh-seo-country-list .ewh-utm-list-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  gap: 10px !important;
  padding: 16px 16px 18px !important;
  min-width: 0 !important;
}

.ewh-seo-country-list .ewh-unified-body h3,
.ewh-seo-country-list .ewh-utm-list-card-body h3 {
  font-size: 16px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  font-weight: 800 !important;
  color: #113d48 !important;
}

.ewh-seo-country-list .ewh-unified-body h3 a,
.ewh-seo-country-list .ewh-utm-list-card-body h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

.ewh-seo-country-list .ewh-unified-body h3 a:hover {
  color: #0f6978 !important;
}

/* Meta → pill badges */
.ewh-seo-country-list .ewh-unified-meta,
.ewh-seo-country-list .ewh-utm-meta,
.ewh-seo-country-list .ewh-tcs-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: none !important;
}

.ewh-seo-country-list .ewh-unified-meta li,
.ewh-seo-country-list .ewh-tcs-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: #eef7f9 !important;
  border: 1px solid #cfe3e8 !important;
  color: #0f6978 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.ewh-seo-country-list .ewh-tcs-badge--bus {
  background: #e8f7ee !important;
  border-color: #bfe8cd !important;
  color: #1f7a45 !important;
}

.ewh-seo-country-list .ewh-tcs-badge--duration {
  background: #fff7e8 !important;
  border-color: #f0d7a8 !important;
  color: #9a6700 !important;
}

/* Foot: stacked price + full-width CTA */
.ewh-seo-country-list .ewh-unified-foot,
.ewh-seo-country-list .ewh-utm-list-card-foot {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 12px !important;
  border-top: 1px solid #edf3f5 !important;
}

.ewh-seo-country-list .ewh-unified-foot > div,
.ewh-seo-country-list .ewh-unified-price,
.ewh-seo-country-list .ewh-utm-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  width: 100% !important;
}

/* "Ціна" → "від" */
.ewh-seo-country-list .ewh-unified-price > span:first-child,
.ewh-seo-country-list .ewh-utm-price > span:first-child {
  font-size: 0 !important;
  line-height: 0 !important;
}

.ewh-seo-country-list .ewh-unified-price > span:first-child::before,
.ewh-seo-country-list .ewh-utm-price > span:first-child::before {
  content: 'від' !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #7a8f95 !important;
  line-height: 1.2 !important;
}

.ewh-seo-country-list .ewh-unified-price strong,
.ewh-seo-country-list .ewh-utm-price strong {
  color: #e31e24 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}

.ewh-seo-country-list .ewh-seo-uah,
.ewh-seo-country-list .ewh-unified-price .ewh-seo-uah {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #7a8f95 !important;
  margin-top: 2px !important;
}

.ewh-seo-country-list .ewh-utm-btn,
.ewh-seo-country-list .ewh-unified-foot > a,
.ewh-seo-country-list article.ewh-unified-card .ewh-unified-foot a {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px 16px !important;
  background: #0f6978 !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  text-align: center !important;
  border: none !important;
  box-shadow: 0 6px 16px rgba(15, 105, 120, 0.28) !important;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

.ewh-seo-country-list .ewh-utm-btn:hover,
.ewh-seo-country-list .ewh-unified-foot > a:hover,
.ewh-seo-country-list article.ewh-unified-card .ewh-unified-foot a:hover {
  background: #113d48 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 20px rgba(17, 61, 72, 0.3) !important;
}

/* ------------------------------------------------------------------ */
/* Responsive                                                         */
/* ------------------------------------------------------------------ */
@media (max-width: 1100px) {
  .ewh-seo-country-layout {
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  .ewh-seo-country-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 900px) {
  .ewh-seo-country-layout {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .ewh-seo-country-layout > aside {
    position: static !important;
    top: auto !important;
  }

  .ewh-seo-countries-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .ewh-seo-countries-nav-title {
    flex: 1 0 100% !important;
    margin: 0 0 4px !important;
    padding: 0 0 8px !important;
    border-bottom: 2px solid #cfe7ec !important;
    border-right: 0 !important;
    white-space: normal !important;
    font-size: 13px !important;
    max-width: none !important;
    line-height: 1.25 !important;
  }

  .ewh-seo-countries-nav a {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    margin: 0 !important;
    white-space: nowrap !important;
    max-width: 100% !important;
  }

  body.ewh-tcs-on .breadcumb-wrapper,
  body:has(.ewh-seo-country-page) .breadcumb-wrapper , body:has(.ewh-utm-archive-main) .breadcumb-wrapper {
    min-height: 200px !important;
    padding: 56px 0 48px !important;
  }
}

@media (max-width: 700px) {
  .ewh-seo-country-list {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .ewh-seo-country-toolbar {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .ewh-seo-country-toolbar select {
    width: 100% !important;
    min-width: 0 !important;
  }

  .ewh-seo-country-page {
    padding: 4px 8px 48px !important;
  }

  body.ewh-tcs-on .breadcumb-wrapper .breadcumb-title,
  body:has(.ewh-seo-country-page) .breadcumb-wrapper .breadcumb-title , body:has(.ewh-utm-archive-main) .breadcumb-wrapper .breadcumb-title {
    font-size: 26px !important;
  }
}


/* ---- Specificity boost vs theme Additional CSS ---- */
.ewh-seo-country-page .ewh-seo-country-list article.ewh-unified-card .ewh-unified-foot,
.ewh-seo-country-page .ewh-seo-country-list article.ewh-utm-list-card .ewh-utm-list-card-foot,
.ewh-seo-country-page .ewh-seo-country-list article.ewh-unified-card .ewh-utm-list-card-foot {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
}

.ewh-seo-country-page .ewh-seo-country-list article.ewh-unified-card .ewh-unified-foot > a,
.ewh-seo-country-page .ewh-seo-country-list article.ewh-unified-card a.ewh-utm-btn,
.ewh-seo-country-page .ewh-seo-country-list article.ewh-utm-list-card a.ewh-utm-btn {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}

.ewh-seo-country-page .ewh-seo-country-list article.ewh-unified-card .ewh-unified-price,
.ewh-seo-country-page .ewh-seo-country-list article.ewh-unified-card .ewh-utm-price {
  width: 100% !important;
}

/* Title above badges (JS may insert badges after h3; keep order natural) */
.ewh-seo-country-page .ewh-seo-country-list .ewh-unified-body {
  display: flex !important;
  flex-direction: column !important;
}

.ewh-seo-country-page .ewh-seo-country-list article.ewh-unified-card > a.ewh-unified-media,
.ewh-seo-country-page .ewh-seo-country-list article.ewh-unified-card > a.ewh-utm-list-card-media {
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  position: relative !important;
  overflow: hidden !important;
}
.ewh-seo-country-page .ewh-seo-country-list article.ewh-unified-card > a.ewh-unified-media img,
.ewh-seo-country-page .ewh-seo-country-list article.ewh-unified-card > a.ewh-utm-list-card-media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.ewh-tcs-on,
body:has(.ewh-seo-country-page),
body:has(.ewh-utm-archive-main) {
  overflow-x: clip !important;
}
body.ewh-tcs-on .container,
body:has(.ewh-seo-country-page) .container,
body:has(.ewh-utm-archive-main) .container {
  max-width: min(1320px, 100%) !important;
}
.ewh-seo-country-list {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* ================================================================== */
/* UTM archives: /trip/from-*/, /tour-category/*, shared markup         */
/* Wrapper: .ewh-utm-archive-main > .ewh-utm-layout > .ewh-utm-list   */
/* ================================================================== */

body:has(.ewh-utm-archive-main) {
  overflow-x: clip !important;
}

.ewh-utm-archive-main {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 8px 12px 64px !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

/* Intro + badges */
.ewh-utm-archive-main .ewh-cat-intro {
  max-width: none !important;
  margin: 8px 0 18px !important;
  padding: 0 !important;
}

.ewh-utm-archive-main .ewh-cat-intro p {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #5a7278 !important;
  max-width: 780px !important;
}

.ewh-utm-archive-main .ewh-cat-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.ewh-utm-archive-main .ewh-cat-badges > span {
  background: #eef7f9 !important;
  color: #113d48 !important;
  border: 1px solid #cfe3e8 !important;
  border-radius: 999px !important;
  padding: 7px 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.ewh-utm-archive-main .ewh-cat-from b {
  color: #e31e24 !important;
  font-weight: 900 !important;
}

/* Layout: sticky sidebar + main */
.ewh-utm-archive-main .ewh-utm-layout {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

.ewh-utm-archive-main .ewh-utm-side {
  position: sticky !important;
  top: 96px !important;
  align-self: start !important;
  background: linear-gradient(180deg, #f3fbfd 0%, #ffffff 42%) !important;
  border: 1px solid #d5e8ec !important;
  border-radius: 18px !important;
  padding: 18px 14px !important;
  box-shadow: 0 10px 28px rgba(17, 61, 72, 0.08) !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.ewh-utm-archive-main .ewh-utm-side-title {
  display: block !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: #113d48 !important;
  margin: 0 8px 12px !important;
  padding: 0 0 12px !important;
  border-bottom: 2px solid #cfe7ec !important;
}

.ewh-utm-archive-main .ewh-utm-side-line {
  display: none !important;
}

.ewh-utm-archive-main .ewh-utm-side-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.ewh-utm-archive-main .ewh-utm-side-nav a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 9px 12px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  color: #0f6978 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.ewh-utm-archive-main .ewh-utm-side-nav a:hover {
  background: #e7f6f8 !important;
  color: #0a4d58 !important;
  border-color: #b9e0e7 !important;
}

.ewh-utm-archive-main .ewh-utm-side-nav a.is-active {
  background: #0f6978 !important;
  color: #fff !important;
  border-color: #0f6978 !important;
  box-shadow: 0 6px 14px rgba(15, 105, 120, 0.28) !important;
}

.ewh-utm-archive-main .ewh-utm-side-nav a.is-active .ewh-utm-count {
  background: rgba(255, 255, 255, 0.22) !important;
  color: #fff !important;
}

.ewh-utm-archive-main .ewh-utm-count {
  background: #eef3f5 !important;
  border: 0 !important;
  color: #4a5c63 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  border-radius: 999px !important;
  padding: 3px 8px !important;
  flex: 0 0 auto !important;
}

.ewh-utm-archive-main .ewh-utm-main {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* City filter pills */
.ewh-utm-archive-main .ewh-utm-topbar {
  background: linear-gradient(90deg, #f7fcfd 0%, #ffffff 100%) !important;
  border: 1px solid #d5e8ec !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  margin: 0 0 18px !important;
  box-shadow: 0 4px 14px rgba(17, 61, 72, 0.04) !important;
}

.ewh-utm-archive-main .ewh-utm-dep-label {
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  color: #113d48 !important;
  margin: 0 0 10px !important;
}

.ewh-utm-archive-main .ewh-utm-dep-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.ewh-utm-archive-main .ewh-utm-chip {
  display: inline-flex !important;
  align-items: center !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  border: 1px solid #cfe3e8 !important;
  background: #fff !important;
  color: #0f6978 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.ewh-utm-archive-main .ewh-utm-chip:hover {
  background: #e7f6f8 !important;
  border-color: #b9e0e7 !important;
}

.ewh-utm-archive-main .ewh-utm-chip.is-active {
  background: #0f6978 !important;
  border-color: #0f6978 !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(15, 105, 120, 0.25) !important;
}

.ewh-utm-archive-main .ewh-chip-more {
  padding: 7px 14px !important;
  border-radius: 999px !important;
  border: 1px dashed #0f6978 !important;
  background: #fff !important;
  color: #0f6978 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

/* Card grid 3 / 2 / 1 */
.ewh-utm-archive-main .ewh-utm-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ewh-utm-archive-main .ewh-utm-list > article.ewh-utm-list-card {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  align-items: stretch !important;
  height: 100% !important;
  margin: 0 !important;
  border: 1px solid #d7e7eb !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(17, 61, 72, 0.07) !important;
  overflow: hidden !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease !important;
}

.ewh-utm-archive-main .ewh-utm-list > article.ewh-utm-list-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(17, 61, 72, 0.14) !important;
  border-color: #b9d7de !important;
}

/* Media 4:3 */
.ewh-utm-archive-main .ewh-utm-list .ewh-utm-list-card-media {
  position: relative !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #e8f1f3 !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-utm-list-card-media img,
.ewh-utm-archive-main .ewh-utm-list .ewh-utm-list-card-media .ewh-utm-ph {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.45s ease !important;
  background: #e8f1f3 !important;
}

.ewh-utm-archive-main .ewh-utm-list > article.ewh-utm-list-card:hover .ewh-utm-list-card-media img {
  transform: scale(1.06) !important;
}

/* Body */
.ewh-utm-archive-main .ewh-utm-list .ewh-utm-list-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  gap: 10px !important;
  padding: 16px 16px 18px !important;
  min-width: 0 !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-utm-card-top {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 0 !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-utm-type {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: #e8f7ee !important;
  border: 1px solid #bfe8cd !important;
  color: #1f7a45 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-utm-list-card-body h3 {
  font-size: 16px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  font-weight: 800 !important;
  color: #113d48 !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-utm-list-card-body h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-utm-list-card-body h3 a:hover {
  color: #0f6978 !important;
}

/* Meta as badges; clamp long city lists */
.ewh-utm-archive-main .ewh-utm-list .ewh-utm-meta,
.ewh-utm-archive-main .ewh-utm-list .ewh-tcs-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-utm-meta > li,
.ewh-utm-archive-main .ewh-utm-list .ewh-tcs-badge {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: #eef7f9 !important;
  border: 1px solid #cfe3e8 !important;
  color: #0f6978 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  max-width: 100% !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-utm-meta-wide {
  border-radius: 12px !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  max-height: 2.8em !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-tcs-badge--bus {
  background: #e8f7ee !important;
  border-color: #bfe8cd !important;
  color: #1f7a45 !important;
}

/* Foot: stacked price + full-width CTA */
.ewh-utm-archive-main .ewh-utm-list .ewh-utm-list-card-foot {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 12px !important;
  border-top: 1px solid #edf3f5 !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-utm-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  width: 100% !important;
}

/* Strong already contains «від €…» — hide the «Ціна туру» label only */
.ewh-utm-archive-main .ewh-utm-list .ewh-utm-price > span:first-child {
  display: none !important;
}

.ewh-utm-archive-main .ewh-utm-list .ewh-utm-price strong {
  color: #e31e24 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

.ewh-utm-archive-main .ewh-utm-list a.ewh-utm-btn {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px 16px !important;
  background: #0f6978 !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  text-align: center !important;
  border: none !important;
  box-shadow: 0 6px 16px rgba(15, 105, 120, 0.28) !important;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

.ewh-utm-archive-main .ewh-utm-list a.ewh-utm-btn:hover {
  background: #113d48 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 20px rgba(17, 61, 72, 0.3) !important;
}

/* SEO / FAQ under archive — keep readable width */
.ewh-utm-archive-main .ewh-cat-seo {
  max-width: none !important;
  margin: 36px 0 10px !important;
  padding: 0 !important;
}

/* Responsive */
@media (max-width: 1100px) {
  .ewh-utm-archive-main .ewh-utm-layout {
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  .ewh-utm-archive-main .ewh-utm-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 900px) {
  .ewh-utm-archive-main .ewh-utm-layout {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .ewh-utm-archive-main .ewh-utm-side {
    position: static !important;
    top: auto !important;
    padding: 14px !important;
  }

  .ewh-utm-archive-main .ewh-utm-side-title {
    margin-bottom: 8px !important;
  }

  .ewh-utm-archive-main .ewh-utm-side-nav {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    gap: 8px !important;
  }

  .ewh-utm-archive-main .ewh-utm-side-nav a {
    flex: 0 1 auto !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 700px) {
  .ewh-utm-archive-main .ewh-utm-list {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .ewh-utm-archive-main {
    padding: 4px 8px 48px !important;
  }
}

/* ================================================================== */
/* Site header v1.1.4                                                   */
/* Desktop (>=1200) only: logo | full menu | round search + cabinet     */
/* <1200: one-row logo + hamburger; hide Elementor search slot.         */
/* Sticky: keep solid white bar so logo/menu stay visible when pinned.  */
/* ================================================================== */

/* Sticky safety (all widths) — theme uses transparent .th-header by default */
.sticky-wrapper.sticky,
.sticky-wrapper.sticky-active.sticky {
  background-color: #fff !important;
  opacity: 1 !important;
  z-index: 1030 !important;
}
.sticky-wrapper.sticky .th-header,
.sticky-wrapper.sticky .menu-area {
  background-color: transparent !important;
}
.logged-in .sticky-wrapper.sticky {
  /* keep theme admin-bar offset; only ensure opaque bar */
  background-color: #fff !important;
}

/* Keep logo visible in sticky / LiteSpeed-lazy states */
.sticky-wrapper .header-logo img,
header .th-header .header-logo img {
  opacity: 1 !important;
  visibility: visible !important;
}


@media (min-width: 1200px) {
  /* Hide emptied Elementor search slot only on desktop after JS move */
  header .elementor-widget-shortcode.ewh-tcs-search-slot-empty,
  header .elementor-element.ewh-tcs-search-slot-empty:not(:has(.th-header)):not(:has(.main-menu)):not(:has(.header-logo)):not(:has(.menu-area)) {
    display: none !important;
  }

  header .th-header .menu-area .row.align-items-center {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  header .th-header .menu-area .row > .col-auto:first-child {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 210px !important;
  }
  header .th-header .header-logo {
    max-width: 210px !important;
  }
  header .th-header .header-logo img,
  header .th-header .header-logo .logo img {
    max-height: 52px !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Never clip menu labels; sticky clone included */
  header .th-header .menu-area .row > .col-auto:nth-child(2),
  .sticky-wrapper .th-header .menu-area .row > .col-auto:nth-child(2) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    overflow: visible !important;
  }
  header .th-header .menu-area .row > .col-auto:last-child {
    flex: 0 0 auto !important;
    width: auto !important;
    z-index: 20 !important;
  }

  header .th-header .main-menu {
    display: block !important;
    width: 100% !important;
  }
  header .th-header .main-menu > ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  header .th-header .main-menu > ul > li {
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  header .th-header .main-menu > ul > li > a {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    padding: 8px 7px !important;
    letter-spacing: 0 !important;
  }

  header .th-header .header-button {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    position: relative !important;
    z-index: 30 !important;
  }

  header .th-header .header-button .ewh-trip-search {
    position: relative !important;
    display: block !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  header .th-header .header-button .ewh-trip-search button[type='submit'] {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #0f6978 !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 15px !important;
    line-height: 1 !important;
    box-shadow: 0 2px 8px rgba(15, 105, 120, 0.25) !important;
  }

  header .th-header .header-button .ewh-trip-search button[type='submit']:hover {
    background: #113d48 !important;
  }

  header .th-header .header-button .ewh-trip-search input[type='search'] {
    position: absolute !important;
    right: 44px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 0 !important;
    height: 40px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    border: 1px solid #d5e8ec !important;
    border-radius: 999px !important;
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 13px !important;
    color: #113d48 !important;
    box-shadow: 0 6px 18px rgba(17, 61, 72, 0.12) !important;
    transition: width 0.18s ease, opacity 0.18s ease, padding 0.18s ease !important;
    z-index: 5 !important;
  }

  header .th-header .header-button .ewh-trip-search.is-open input[type='search'] {
    width: 220px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    padding: 0 14px !important;
  }

  header .th-header .header-button > a.th-btn,
  header .th-header .header-button > a.th-btn.style4 {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    position: relative !important;
    z-index: 1 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 1199px) {
  /* One-row mobile/tablet header: logo left (~150px) | hamburger right */
  header .th-header .menu-area .row.align-items-center,
  header .th-header .menu-area .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  header .th-header .menu-area .row > .col-auto:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 72px) !important;
    width: auto !important;
  }

  header .th-header .header-logo {
    max-width: 150px !important;
  }
  header .th-header .header-logo img,
  header .th-header .header-logo .logo img,
  .sticky-wrapper .header-logo img {
    max-width: 150px !important;
    width: auto !important;
    max-height: 44px !important;
    height: auto !important;
    display: block !important;
  }

  /* Desktop nav column is empty below xl — drop it so it can't push layout */
  header .th-header .menu-area .row > .col-auto:nth-child(2) {
    display: none !important;
  }

  header .th-header .menu-area .row > .col-auto:last-child {
    flex: 0 0 auto !important;
    width: auto !important;
    margin-left: auto !important;
  }

  header .th-header .header-button {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  header .th-header .th-menu-toggle,
  header .th-header .th-menu-toggle.d-block {
    display: block !important;
    position: relative !important;
    margin: 0 !important;
  }

  /* Hide stray Elementor search slot / form below 1200 (broken half-clip) */
  header form.ewh-trip-search,
  header .ewh-trip-search,
  header .elementor-shortcode:has(.ewh-trip-search),
  header .elementor-widget-shortcode:has(.ewh-trip-search),
  header .elementor-widget:has(.ewh-trip-search),
  /* Collapse the atomic flexbox row that only hosts search (not the main logo bar) */
  header .e-con.e-atomic-element:has(.ewh-trip-search),
  header .ewh-tcs-search-slot-empty {
    display: none !important;
  }

  header .th-header .menu-area {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    min-height: 0 !important;
  }
  header .th-header .menu-area .row > [class*='col-'] {
    min-height: 0 !important;
  }
}

/* ================================================================== */
/* Single trip (WTE) v1.3.1                                             */
/* Wider layout + timeline itinerary + content cards + booking polish.  */
/* Booking: visual only under .ewh-it-box. Вартість tab still untouched */
/* ================================================================== */

body.single-trip.ewh-itravel-trip,
body.single-trip {
  --ewh-trip-teal: #0f6978;
  --ewh-trip-navy: #113d48;
  --ewh-trip-soft: #f4fbfd;
  --ewh-trip-line: #d7e8ee;
  --ewh-trip-red: #d62828;
}

/* --- Wider main column; hide empty right sidebar --- */
body.single-trip .trip-content-area {
  max-width: 1180px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

body.single-trip .trip-content-area > .row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 0 !important;
}

body.single-trip #primary.content-area {
  flex: 1 1 auto !important;
  max-width: 1100px !important;
  width: 100% !important;
  float: none !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
}

/* Sidebar is empty on these pages — hide so content can breathe */
body.single-trip #secondary.widget-area {
  display: none !important;
}

body.single-trip .site-main,
body.single-trip .trip-post,
body.single-trip .entry-content,
body.single-trip .trip-post-content {
  max-width: 1100px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Override older Additional CSS that capped content at 920px */
body.single-trip .ewh-it-tour,
body.single-trip .ewh-tour-summary,
body.single-trip .ewh-it-content-tabs,
body.single-trip .ewh-adr-tabs,
body.single-trip .wp-travel-engine-single-trip-content {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* --- Hero / breadcrumb (v1.3.1: one title) --- */
body.single-trip .breadcumb-wrapper {
  position: relative !important;
  min-height: 0 !important;
  padding: 40px 0 28px !important;
  background-size: cover !important;
  background-position: center !important;
}
body.single-trip .breadcumb-wrapper::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(110deg, rgba(17, 61, 72, 0.92) 0%, rgba(15, 105, 120, 0.78) 55%, rgba(15, 105, 120, 0.55) 100%) !important;
  pointer-events: none !important;
}
body.single-trip .breadcumb-wrapper .container,
body.single-trip .breadcumb-wrapper .breadcumb-content {
  position: relative !important;
  z-index: 1 !important;
  text-align: left !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Sole visible title = hero H1.breadcumb-title (full text, no clamp) */
body.single-trip .breadcumb-title,
body.single-trip h1.breadcumb-title,
body.single-trip h1.breadcrumb-title {
  font-size: clamp(22px, 2.4vw, 34px) !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
  color: #fff !important;
  text-align: left !important;
  max-width: 920px !important;
  margin: 0 0 10px !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25) !important;
  display: block !important;
  overflow: visible !important;
  max-height: none !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  white-space: normal !important;
}

/* Breadcrumb: one line; hide last crumb (full title repeat) */
body.single-trip .breadcumb-wrapper .breadcumb-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  list-style: none !important;
  white-space: nowrap !important;
}
body.single-trip .breadcumb-wrapper .breadcumb-menu li {
  flex: 0 0 auto !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 13px !important;
}
body.single-trip .breadcumb-wrapper .breadcumb-menu a {
  color: rgba(255, 255, 255, 0.9) !important;
}
body.single-trip .breadcumb-wrapper .breadcumb-menu li:last-child {
  display: none !important;
}
/* Drop separator on the crumb before the hidden last title */
body.single-trip .breadcumb-wrapper .breadcumb-menu li:nth-last-child(2)::after,
body.single-trip .breadcumb-wrapper .breadcumb-menu li:nth-last-child(2)::before {
  content: none !important;
  display: none !important;
}
/* If only two crumbs and last is current, still hide last */
body.single-trip .breadcumb-wrapper .breadcrumbs,
body.single-trip .breadcumb-wrapper .breadcrumb {
  color: rgba(255, 255, 255, 0.85) !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
body.single-trip .breadcumb-wrapper .breadcrumbs li:last-child,
body.single-trip .breadcumb-wrapper .breadcrumb li:last-child {
  display: none !important;
}

/* Duplicate post title + days badge under hero — hide (days already in hero pills) */
body.single-trip .entry-header,
body.single-trip header.entry-header {
  display: none !important;
}
body.single-trip .wte-title-duration {
  display: none !important;
}

/* Fact pills under hero title (injected) */
body.single-trip .ewh-tcs-trip-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.single-trip .ewh-tcs-trip-pills li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  backdrop-filter: blur(4px);
}

/* Tighter hero → gallery gap */
body.single-trip .trip-content-area,
body.single-trip .site-main > .trip-content-area {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.single-trip .trip-post,
body.single-trip .entry-content,
body.single-trip .trip-post-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.single-trip #primary.content-area {
  padding-top: 8px !important;
}

/* --- Featured / WTE gallery banner --- */
body.single-trip .wpte-gallery-wrapper,
body.single-trip .banner-layout-default {
  max-width: 1100px !important;
  margin: 12px auto 8px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 28px rgba(17, 61, 72, 0.1) !important;
}
body.single-trip .wpte-trip-feat-img,
body.single-trip .wpte-gallery-wrapper img,
body.single-trip .single-trip-main-carousel img {
  border-radius: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 420px !important;
  object-fit: cover !important;
}


@media (max-width: 900px) {
  body.single-trip .breadcumb-wrapper {
    padding: 28px 0 20px !important;
  }
  body.single-trip .breadcumb-title,
  body.single-trip h1.breadcumb-title {
    font-size: 20px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
  }
  body.single-trip .wpte-gallery-wrapper,
  body.single-trip .banner-layout-default {
    margin-top: 8px !important;
  }
}

/* --- Thumbnail gallery inside booking box (safe: only gallery) --- */
body.single-trip .ewh-it-gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap: 10px !important;
  margin: 8px 0 18px !important;
}
body.single-trip .ewh-it-gallery a {
  display: block !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(17, 61, 72, 0.08) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
body.single-trip .ewh-it-gallery a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 18px rgba(17, 61, 72, 0.14) !important;
}
body.single-trip .ewh-it-gallery img {
  width: 100% !important;
  height: 112px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  display: block !important;
}

/* Booking box shell (inner controls restyled in v1.3.0 section below) */
body.single-trip .ewh-it-box {
  max-width: 100% !important;
  border-radius: 20px !important;
}

/* --- Route + short summary (outside booking) --- */
body.single-trip .ewh-it-content {
  max-width: 100% !important;
  margin: 8px 0 28px !important;
  padding: 0 !important;
}
body.single-trip .ewh-it-route {
  display: none !important; /* replaced by JS chips card */
}
body.single-trip .ewh-tcs-route {
  background: var(--ewh-trip-soft) !important;
  border: 1px solid var(--ewh-trip-line) !important;
  border-radius: 18px !important;
  padding: 16px 18px !important;
  margin: 0 0 18px !important;
}
body.single-trip .ewh-tcs-route__label {
  display: block !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--ewh-trip-teal) !important;
  margin: 0 0 10px !important;
}
body.single-trip .ewh-tcs-route__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.single-trip .ewh-tcs-route__chips li.ewh-tcs-city {
  display: inline-flex !important;
  align-items: center !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid var(--ewh-trip-line) !important;
  color: var(--ewh-trip-navy) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 4px rgba(17, 61, 72, 0.05) !important;
}
body.single-trip .ewh-tcs-route__chips li.ewh-tcs-arrow {
  color: var(--ewh-trip-teal) !important;
  font-weight: 800 !important;
  padding: 0 2px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-trip .ewh-it-content > h2 {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--ewh-trip-navy) !important;
  margin: 0 0 12px !important;
}
body.single-trip .ewh-it-content > h2 + ul,
body.single-trip .ewh-tcs-summary {
  list-style: none !important;
  margin: 0 0 8px !important;
  padding: 18px 20px !important;
  background: #fff !important;
  border: 1px solid var(--ewh-trip-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 18px rgba(17, 61, 72, 0.06) !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 18px !important;
}
body.single-trip .ewh-it-content > h2 + ul > li,
body.single-trip .ewh-tcs-summary > li {
  position: relative !important;
  padding: 8px 10px 8px 36px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  background: var(--ewh-trip-soft) !important;
  color: var(--ewh-trip-navy) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
body.single-trip .ewh-it-content > h2 + ul > li::before,
body.single-trip .ewh-tcs-summary > li::before {
  content: '✓' !important;
  position: absolute !important;
  left: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: var(--ewh-trip-teal) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}


/* Tab bar must not sticky-overlap Day 1 (WTE adds .fixed on scroll) */
body.single-trip .wpte-tabs-container,
body.single-trip .wpte-tabs-container.wpte-tabs-sticky,
body.single-trip .wpte-tabs-container.fixed,
body.single-trip .wpte-tabs-container.wpte-tabs-sticky.fixed,
body.single-trip .wpte-tabs-sticky .nav-tab-wrapper,
body.single-trip .wpte-tabs-container .nav-tab-wrapper,
body.single-trip .wpte-tabs-container .tab-inner-wrapper,
body.single-trip .wpte-sticky-tab-mobile {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  z-index: auto !important;
  transform: none !important;
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.single-trip #nb-2-configurations,
body.single-trip .nb-2-configurations {
  padding-top: 8px !important;
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
}

/* --- Tabs (Програма / Вартість chrome only) --- */
body.single-trip .wpte-tabs-container {
  max-width: 100% !important;
  margin-top: 8px !important;
}
body.single-trip .wpte-tabs-container .nav-tab-wrapper,
body.single-trip .wpte-tabs-container .tab-inner-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  border-bottom: 2px solid var(--ewh-trip-line) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}
body.single-trip .wpte-tabs-container .nav-tab,
body.single-trip .wpte-tabs-container .wte-tab-title .nav-tab {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 18px !important;
  margin: 0 0 -2px !important;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 10px 10px 0 0 !important;
  background: transparent !important;
  color: #64748b !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
body.single-trip .wpte-tabs-container .nav-tab.nav-tab-active,
body.single-trip .wpte-tabs-container .nav-tab[aria-selected='true'] {
  color: var(--ewh-trip-teal) !important;
  border-bottom-color: var(--ewh-trip-teal) !important;
  background: rgba(15, 105, 120, 0.06) !important;
}

/* Expand-all toggle */
body.single-trip .wp-travel-engine-itinerary-header,
body.single-trip .wte-itinerary-header-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin: 0 0 16px !important;
}
body.single-trip .expand-all-button,
body.single-trip .aib-button-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: var(--ewh-trip-soft) !important;
  border: 1px solid var(--ewh-trip-line) !important;
}
body.single-trip .aib-button-label {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--ewh-trip-navy) !important;
  margin: 0 !important;
}



/* Beat WTE dashed rail + hollow dots (they use content:"" !important) */
body.single-trip #nb-2-configurations .itinerary-row::before,
body.single-trip #nb-2-configurations .itinerary-row::after,
body.single-trip #nb-2-configurations .itinerary-row:not(:last-child)::before,
body.single-trip #nb-2-configurations .itinerary-row:not(:last-child)::after,
body.single-trip #nb-2-configurations .itinerary-row:first-child::before,
body.single-trip #nb-2-configurations .itinerary-row:last-child::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  background: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.single-trip #nb-2-configurations .itinerary-row .title::before,
body.single-trip #nb-2-configurations .itinerary-row .title::after,
body.single-trip #nb-2-configurations .itinerary-row:first-child .title::before,
body.single-trip #nb-2-configurations .itinerary-row:last-child .title::before,
body.single-trip #nb-2-configurations .itinerary-row.advanced-itinerary-row:first-child .title::before,
body.single-trip #nb-2-configurations .wte-itinerary-head-wrap .title::before,
body.single-trip #nb-2-configurations .title.ewh-tcs-daynum::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  left: auto !important;
  position: static !important;
}

/* Kill original WTE timeline markers (pin ::before on .title, rails) — keep ONLY our line+numbers */
body.single-trip #nb-2-configurations .itinerary-row::before,
body.single-trip #nb-2-configurations .itinerary-row::after,
body.single-trip #nb-2-configurations .wte-itinerary-head-wrap::before,
body.single-trip #nb-2-configurations .wte-itinerary-head-wrap::after,
body.single-trip #nb-2-configurations .accordion-tabs-toggle::before,
body.single-trip #nb-2-configurations .accordion-tabs-toggle::after,
body.single-trip #nb-2-configurations .itinerary-title::before,
body.single-trip #nb-2-configurations .itinerary-title::after,
body.single-trip #nb-2-configurations .itinerary-content::before,
body.single-trip #nb-2-configurations .itinerary-content::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
  box-shadow: none !important;
}
/* WTE draws a map-pin in .title::before — that was the hollow circle to the LEFT of our numbers */
body.single-trip #nb-2-configurations .wte-itinerary-head-wrap .title::before,
body.single-trip #nb-2-configurations .wte-itinerary-head-wrap .title::after,
body.single-trip #nb-2-configurations .title.ewh-tcs-daynum::before,
body.single-trip #nb-2-configurations .title.ewh-tcs-daynum::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
  position: static !important;
  box-shadow: none !important;
}
body.single-trip #nb-2-configurations .itinerary-row {
  background-image: none !important;
  padding-left: 0 !important;
}
body.single-trip #nb-2-configurations .wte-trip-itinerary-v2 {
  background-image: none !important;
}
body.single-trip #nb-2-configurations .wte-trip-itinerary-v2 li::marker {
  content: '' !important;
}


body.single-trip #nb-2-configurations .wte-trip-itinerary-v2 li::marker {
  content: '' !important;
}
body.single-trip #nb-2-configurations .itinerary-row > .itinerary-content::before,
body.single-trip #nb-2-configurations .itinerary-row > .itinerary-content::after {
  content: none !important;
  display: none !important;
}

/* --- Itinerary vertical timeline (Програма only) --- */
body.single-trip #nb-2-configurations .wte-trip-itinerary-v2,
body.single-trip .nb-2-configurations .wte-trip-itinerary-v2 {
  position: relative !important;
  padding: 4px 0 4px 8px !important;
  margin: 0 !important;
}
/* One connecting line through centers of 48px day circles (center at 24px) */
body.single-trip #nb-2-configurations .wte-trip-itinerary-v2::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 30px !important; /* padding 8 + 48/2 - 3/2 */
  top: 28px !important;
  bottom: 28px !important;
  width: 3px !important;
  background: linear-gradient(180deg, var(--ewh-trip-teal), #b7d4db) !important;
  border-radius: 3px !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
body.single-trip #nb-2-configurations .itinerary-row {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  column-gap: 16px !important;
  row-gap: 0 !important;
  align-items: start !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  overflow: visible !important;
}
body.single-trip #nb-2-configurations .wte-itinerary-head-wrap {
  display: contents !important;
}
body.single-trip #nb-2-configurations .wte-itinerary-head-wrap .title {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  margin: 4px 0 0 !important;
  position: relative !important;
  padding: 0 4px !important;
  border-radius: 50% !important;
  background: var(--ewh-trip-teal) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-shadow: 0 4px 12px rgba(15, 105, 120, 0.35) !important;
  z-index: 2 !important;
  white-space: normal !important;
}
body.single-trip #nb-2-configurations .wte-itinerary-head-wrap .title.ewh-tcs-daynum {
  font-size: 18px !important;
}
body.single-trip #nb-2-configurations .accordion-tabs-toggle {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  background: #fff !important;
  border: 1px solid var(--ewh-trip-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 16px rgba(17, 61, 72, 0.06) !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}
body.single-trip #nb-2-configurations .itinerary-row.active .accordion-tabs-toggle,
body.single-trip #nb-2-configurations .accordion-tabs-toggle.active {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom-color: transparent !important;
  box-shadow: 0 2px 8px rgba(17, 61, 72, 0.05) !important;
}
body.single-trip #nb-2-configurations .itinerary-title {
  flex: 1 1 auto !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--ewh-trip-navy) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
body.single-trip #nb-2-configurations .itinerary-content {
  grid-column: 2 !important;
  grid-row: 2 !important;
  background: #fff !important;
  border: 1px solid var(--ewh-trip-line) !important;
  border-top: 0 !important;
  border-radius: 0 0 16px 16px !important;
  box-shadow: 0 8px 20px rgba(17, 61, 72, 0.06) !important;
  padding: 4px 18px 18px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
body.single-trip #nb-2-configurations .itinerary-content .content {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #334155 !important;
}
body.single-trip #nb-2-configurations .itinerary-content .content p {
  margin: 0 0 12px !important;
}
body.single-trip #nb-2-configurations .itinerary-content .content strong {
  color: var(--ewh-trip-navy) !important;
  font-weight: 800 !important;
}
/* Keep priced excursion amounts readable / slightly emphasized */
body.single-trip #nb-2-configurations .itinerary-content .content strong {
  background: linear-gradient(transparent 60%, rgba(214, 40, 40, 0.12) 60%) !important;
}

/* Explicitly do NOT style cost tab panels beyond shared tab chrome */
/* (nb-3-configurations left to theme / existing ewh-it-split) */

/* Floating gallery trigger — tuck nearer content */
body.single-trip .wp-travel-engine-image-gal-popup {
  right: 24px !important;
}


/* Visible teal chevron badge on itinerary headers */
body.single-trip #nb-2-configurations .accordion-tabs-toggle {
  position: relative !important;
  padding-right: 52px !important;
}
body.single-trip #nb-2-configurations .accordion-tabs-toggle::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  width: 28px !important;
  height: 28px !important;
  margin-top: -14px !important;
  border-radius: 50% !important;
  border: 1px solid #b7d4db !important;
  background-color: #e7f4f7 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230f6978' d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 3 !important;
  pointer-events: none !important;
}
body.single-trip #nb-2-configurations .accordion-tabs-toggle.active::after,
body.single-trip #nb-2-configurations .itinerary-row.active .accordion-tabs-toggle::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230f6978' d='M16.59 15.41L12 10.83l-4.59 4.58L6 14l6-6 6 6z'/%3E%3C/svg%3E") !important;
  transform: none !important;
  margin-top: -14px !important;
}
body.single-trip #nb-2-configurations .custom-toggle-tabs,
body.single-trip #nb-2-configurations .dashicons,
body.single-trip #nb-2-configurations .accordion-tabs-toggle .dashicons {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  font-size: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

@media (max-width: 900px) {
  body.single-trip .ewh-it-content > h2 + ul,
  body.single-trip .ewh-tcs-summary {
    grid-template-columns: 1fr !important;
  }
  body.single-trip .ewh-it-gallery {
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important;
  }
  body.single-trip .ewh-it-gallery img {
    height: 96px !important;
  }
}

@media (max-width: 600px) {
  body.single-trip .trip-content-area {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body.single-trip .breadcumb-wrapper {
    min-height: 160px !important;
    padding: 40px 0 32px !important;
  }
  body.single-trip #nb-2-configurations .wte-trip-itinerary-v2 {
    padding-left: 0 !important;
  }
  body.single-trip #nb-2-configurations .wte-trip-itinerary-v2::before {
    left: 26px !important; /* padding 8 + 40/2 - 1.5 */
  }
  body.single-trip #nb-2-configurations .itinerary-row {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }
  body.single-trip #nb-2-configurations .wte-itinerary-head-wrap .title {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    font-size: 11px !important;
  }
  body.single-trip #nb-2-configurations .wte-itinerary-head-wrap .title.ewh-tcs-daynum {
    font-size: 16px !important;
  }
  body.single-trip #nb-2-configurations .accordion-tabs-toggle {
    padding: 12px !important;
  }
  body.single-trip #nb-2-configurations .itinerary-title {
    font-size: 14px !important;
  }
}


/* ================================================================== */
/* Booking block (.ewh-it-box) v1.3.0 — visual only                     */
/* Markup from ewh-itravel plugin; do not change form fields / JS.     */
/* ================================================================== */

body.single-trip .ewh-it-box {
  background: #fff !important;
  border: 1px solid var(--ewh-trip-line, #d7e8ee) !important;
  border-radius: 22px !important;
  padding: 22px 22px 18px !important;
  margin: 0 0 28px !important;
  box-shadow: 0 10px 32px rgba(17, 61, 72, 0.08) !important;
  position: relative !important;
}

body.single-trip .ewh-it-box > h3 {
  margin: 0 0 14px !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--ewh-trip-navy, #113d48) !important;
  letter-spacing: -0.01em !important;
}

body.single-trip .ewh-it-from {
  margin: 0 0 12px !important;
  font-weight: 700 !important;
  color: var(--ewh-trip-navy, #113d48) !important;
}
body.single-trip .ewh-it-from b {
  color: var(--ewh-trip-teal, #0f6978) !important;
}

/* --- Date scroller --- */
body.single-trip .ewh-it-box .ewh-it-dates {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 4px !important;
}

body.single-trip .ewh-it-box .ewh-it-chips {
  position: relative !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 10px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 6px 4px 14px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  scrollbar-width: thin !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Fade edges when scrollable */
body.single-trip .ewh-it-box .ewh-it-dates:not(.no-scroll)::before,
body.single-trip .ewh-it-box .ewh-it-dates:not(.no-scroll)::after {
  content: '' !important;
  position: absolute !important;
  top: 6px !important;
  bottom: 14px !important;
  width: 36px !important;
  z-index: 2 !important;
  pointer-events: none !important;
}
body.single-trip .ewh-it-box .ewh-it-dates:not(.no-scroll)::before {
  left: 46px !important;
  background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,0) 100%) !important;
}
body.single-trip .ewh-it-box .ewh-it-dates:not(.no-scroll)::after {
  right: 46px !important;
  background: linear-gradient(270deg, #fff 0%, rgba(255,255,255,0) 100%) !important;
}
body.single-trip .ewh-it-box .ewh-it-dates.no-scroll::before,
body.single-trip .ewh-it-box .ewh-it-dates.no-scroll::after {
  display: none !important;
}

/* Round arrow buttons */
body.single-trip .ewh-it-box .ewh-it-arrow {
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 1px solid var(--ewh-trip-line, #d7e8ee) !important;
  background: #fff !important;
  color: var(--ewh-trip-teal, #0f6978) !important;
  font-size: 22px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(17, 61, 72, 0.1) !important;
  cursor: pointer !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
  z-index: 3 !important;
}
body.single-trip .ewh-it-box .ewh-it-arrow:hover:not([disabled]) {
  background: var(--ewh-trip-soft, #f4fbfd) !important;
  transform: scale(1.05) !important;
  box-shadow: 0 6px 16px rgba(17, 61, 72, 0.14) !important;
}
body.single-trip .ewh-it-box .ewh-it-arrow[disabled] {
  opacity: 0.35 !important;
  cursor: default !important;
  box-shadow: none !important;
}
body.single-trip .ewh-it-box .ewh-it-dates.no-scroll .ewh-it-arrow {
  display: none !important;
}

/* Date chips as clean cards */
body.single-trip .ewh-it-box .ewh-it-chip {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  scroll-snap-align: start !important;
  min-width: 140px !important;
  max-width: 180px !important;
  min-height: 138px !important;
  padding: 12px 14px 12px !important;
  border-radius: 16px !important;
  border: 1.5px solid #d5e4ea !important;
  background: #fff !important;
  color: var(--ewh-trip-navy, #113d48) !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(17, 61, 72, 0.04) !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, transform 0.15s ease !important;
}
body.single-trip .ewh-it-box .ewh-it-chip:hover {
  border-color: #9fc5d0 !important;
  box-shadow: 0 6px 16px rgba(17, 61, 72, 0.1) !important;
  transform: translateY(-1px) !important;
}

body.single-trip .ewh-it-box .ewh-tcs-chip-month {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--ewh-trip-teal, #0f6978) !important;
  margin: 0 0 6px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
body.single-trip .ewh-it-box .ewh-tcs-chip-month::before {
  content: '' !important;
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230f6978'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

body.single-trip .ewh-it-box .ewh-it-chip b {
  display: block !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: var(--ewh-trip-navy, #113d48) !important;
  margin: 0 0 4px !important;
}
body.single-trip .ewh-it-box .ewh-it-chip small {
  display: block !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--ewh-trip-red, #d62828) !important;
  margin: 0 0 8px !important;
  line-height: 1.2 !important;
}
body.single-trip .ewh-it-box .ewh-it-chip i {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  font-style: normal !important;
  font-size: 11px !important;
  color: #6b7c86 !important;
  line-height: 1.3 !important;
  margin-top: auto !important;
  padding-top: 6px !important;
}

body.single-trip .ewh-it-box .ewh-tcs-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
body.single-trip .ewh-it-box .ewh-tcs-badge.is-seats {
  background: #eef2f4 !important;
  color: #5b6b73 !important;
}
body.single-trip .ewh-it-box .ewh-tcs-badge.is-guaranteed {
  background: #e3f7ea !important;
  color: #1a7a3c !important;
}

/* Selected date — teal fill + check */
body.single-trip .ewh-it-box .ewh-it-chip.is-on {
  background: linear-gradient(160deg, #0f6978 0%, #0c5a67 100%) !important;
  border-color: #0c5a67 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(15, 105, 120, 0.28) !important;
  padding-right: 28px !important;
}
body.single-trip .ewh-it-box .ewh-it-chip.is-on .ewh-tcs-chip-month,
body.single-trip .ewh-it-box .ewh-it-chip.is-on b,
body.single-trip .ewh-it-box .ewh-it-chip.is-on small,
body.single-trip .ewh-it-box .ewh-it-chip.is-on i {
  color: #fff !important;
}
body.single-trip .ewh-it-box .ewh-it-chip.is-on .ewh-tcs-chip-month::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z'/%3E%3C/svg%3E") !important;
}
body.single-trip .ewh-it-box .ewh-it-chip.is-on .ewh-tcs-badge.is-seats {
  background: rgba(255,255,255,0.18) !important;
  color: #fff !important;
}
body.single-trip .ewh-it-box .ewh-it-chip.is-on .ewh-tcs-badge.is-guaranteed {
  background: rgba(227, 247, 234, 0.95) !important;
  color: #1a7a3c !important;
}
body.single-trip .ewh-it-box .ewh-it-chip.is-on::after {
  content: '' !important;
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230f6978'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/12px no-repeat !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.12) !important;
}

/* --- Pax selects --- */
body.single-trip .ewh-it-box .ewh-it-pax {
  display: grid !important;
  grid-template-columns: 1.6fr 0.7fr 0.7fr !important;
  gap: 12px !important;
  margin: 14px 0 16px !important;
}
body.single-trip .ewh-it-box .ewh-it-pax label {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--ewh-trip-navy, #113d48) !important;
  margin: 0 !important;
}
body.single-trip .ewh-it-box .ewh-it-pax select {
  height: 48px !important;
  min-height: 48px !important;
  border: 1.5px solid #d5e4ea !important;
  border-radius: 12px !important;
  padding: 0 36px 0 14px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230f6978'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px !important;
  color: var(--ewh-trip-navy, #113d48) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
body.single-trip .ewh-it-box .ewh-it-pax select:hover {
  border-color: #9fc5d0 !important;
}
body.single-trip .ewh-it-box .ewh-it-pax select:focus {
  outline: none !important;
  border-color: var(--ewh-trip-teal, #0f6978) !important;
  box-shadow: 0 0 0 3px rgba(15, 105, 120, 0.18) !important;
}

/* --- Price summary panel --- */
body.single-trip .ewh-it-box .ewh-it-bar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  background: linear-gradient(135deg, #f4fbfd 0%, #eef8fb 55%, #fff 100%) !important;
  border: 1px solid var(--ewh-trip-line, #d7e8ee) !important;
  border-radius: 18px !important;
  padding: 16px 18px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8) !important;
}
body.single-trip .ewh-it-box .ewh-it-bar > div {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 6px 10px !important;
  min-width: 0 !important;
  flex: 1 1 220px !important;
}
body.single-trip .ewh-it-box .ewh-it-label {
  display: block !important;
  width: 100% !important;
  color: #6b7c86 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin: 0 0 2px !important;
}
body.single-trip .ewh-it-box .ewh-it-price {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: var(--ewh-trip-red, #d62828) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}
body.single-trip .ewh-it-box .ewh-it-price .ewh-tcs-uah {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #8a969e !important;
  margin-left: 6px !important;
}
body.single-trip .ewh-it-box .ewh-it-old {
  margin-left: 4px !important;
  color: #9aa3aa !important;
  text-decoration: line-through !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 600 !important;
}
body.single-trip .ewh-it-box .ewh-it-bar .ewh-it-note {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: #ffe8e8 !important;
  color: var(--ewh-trip-red, #d62828) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  font-style: normal !important;
  width: auto !important;
}
body.single-trip .ewh-it-box .ewh-it-bar .ewh-it-note:empty {
  display: none !important;
  padding: 0 !important;
}

/* CTA — keep yellow, bolder, hover lift */
body.single-trip .ewh-it-box .ewh-it-btn {
  flex: 0 0 auto !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 15px 26px !important;
  min-height: 52px !important;
  cursor: pointer !important;
  background: #f5b400 !important;
  color: var(--ewh-trip-navy, #113d48) !important;
  box-shadow: 0 6px 16px rgba(245, 180, 0, 0.35) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease !important;
  white-space: nowrap !important;
}
body.single-trip .ewh-it-box .ewh-it-btn:hover {
  filter: brightness(1.03) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px rgba(245, 180, 0, 0.45) !important;
}
body.single-trip .ewh-it-box .ewh-it-btn:active {
  transform: translateY(0) !important;
}

/* Footnote with info icon */
body.single-trip .ewh-it-box form > p,
body.single-trip .ewh-it-box .ewh-tcs-book-footnote {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: #6b7c86 !important;
}
body.single-trip .ewh-it-box form > p::before,
body.single-trip .ewh-it-box .ewh-tcs-book-footnote::before {
  content: '' !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  margin-top: 1px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230f6978'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E") center/16px no-repeat !important;
}

body.single-trip .ewh-it-box .ewh-it-pointnote {
  display: block !important;
  font-size: 12px !important;
  color: #6b7c86 !important;
  font-weight: 400 !important;
  margin-top: 4px !important;
}

@media (max-width: 900px) {
  body.single-trip .ewh-it-box {
    padding: 16px 14px 14px !important;
    border-radius: 18px !important;
  }
  body.single-trip .ewh-it-box > h3 {
    font-size: 19px !important;
  }
  body.single-trip .ewh-it-box .ewh-it-pax {
    grid-template-columns: 1fr !important;
  }
  body.single-trip .ewh-it-box .ewh-it-chip {
    min-width: 148px !important;
    max-width: 168px !important;
    min-height: 142px !important;
  }
  /* Compact price panel: no big flex gaps */
  body.single-trip .ewh-it-box .ewh-it-bar {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 14px !important;
  }
  body.single-trip .ewh-it-box .ewh-it-bar > div {
    display: block !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0 !important;
  }
  body.single-trip .ewh-it-box .ewh-it-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 4px !important;
  }
  body.single-trip .ewh-it-box .ewh-it-price {
    display: inline !important;
    font-size: 24px !important;
    margin: 0 !important;
  }
  body.single-trip .ewh-it-box .ewh-it-price .ewh-tcs-uah {
    display: inline !important;
    font-size: 14px !important;
    margin-left: 6px !important;
    white-space: nowrap !important;
  }
  body.single-trip .ewh-it-box .ewh-it-old {
    display: inline !important;
    margin-left: 8px !important;
    margin-right: 0 !important;
  }
  body.single-trip .ewh-it-box .ewh-it-bar .ewh-it-note {
    display: inline-flex !important;
    margin: 8px 0 0 !important;
  }
  body.single-trip .ewh-it-box .ewh-it-bar .ewh-it-note:empty {
    margin: 0 !important;
  }
  body.single-trip .ewh-it-box .ewh-it-btn {
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
  }
  body.single-trip .ewh-it-box .ewh-it-dates:not(.no-scroll)::before {
    left: 0 !important;
  }
  body.single-trip .ewh-it-box .ewh-it-dates:not(.no-scroll)::after {
    right: 0 !important;
  }
}

