/* ==========================================================================
   Egypt Panorama Tours — design system layer
   Pulls every inner page onto the homepage design language.
   Managed by Claude Site Assistant. Loaded from the ept-design-system snippet.
   ========================================================================== */

:root{
  --ept-teal:#0A5C66;
  --ept-teal-deep:#073F47;
  --ept-gold:#C8952F;
  --ept-gold-lt:#E0B457;
  --ept-ink:#12212B;
  --ept-body:#3C4C56;
  --ept-muted:#5A6B75;
  --ept-sand:#F7F3EC;
  --ept-line:#E2E8EA;
  --ept-r-btn:6px;
  --ept-r-card:10px;
  --ept-shadow:0 1px 2px rgba(18,33,43,.04), 0 8px 24px rgba(18,33,43,.06);
  --ept-shadow-hv:0 2px 4px rgba(18,33,43,.06), 0 14px 34px rgba(18,33,43,.12);
  --ept-ease:cubic-bezier(.2,.7,.3,1);
}

/* --------------------------------------------------------------------------
   1. Global hygiene
   -------------------------------------------------------------------------- */

html{ scroll-behavior:smooth; }
body{ overflow-x:hidden; }

.elementor-section,
.e-con,
.jet-listing-grid,
.jet-listing-grid__items{ max-width:100%; }

img{ max-width:100%; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.elementor-button:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid var(--ept-gold-lt);
  outline-offset:2px;
  border-radius:var(--ept-r-btn);
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}

/* --------------------------------------------------------------------------
   2. Heroes — same recipe as the homepage everywhere
   -------------------------------------------------------------------------- */

.elementor-section[class*="elementor-section-height-min-height"] h1.elementor-heading-title,
.e-con h1.elementor-heading-title{
  color:#fff;
}

.elementor-shape-bottom svg [class*="elementor-shape-fill"]{ opacity:.0001; }

/* --------------------------------------------------------------------------
   3. Listing cards — one card language sitewide
   -------------------------------------------------------------------------- */

.jet-listing-grid__items{ align-items:stretch; }

.jet-listing-grid__item{
  display:flex;
  margin-bottom:24px;
}

.jet-listing-grid__item > .jet-engine-listing-overlay-wrap{
  position:relative;
  display:flex;
  width:100%;
  background:#fff;
  border:1px solid var(--ept-line);
  border-radius:var(--ept-r-card);
  overflow:hidden;
  transition:box-shadow .22s var(--ept-ease), transform .22s var(--ept-ease), border-color .22s var(--ept-ease);
}

.jet-listing-grid__item > .jet-engine-listing-overlay-wrap:hover{
  box-shadow:var(--ept-shadow-hv);
  border-color:#CFDBDD;
  transform:translateY(-3px);
}

.jet-listing-grid__item > .jet-engine-listing-overlay-wrap > [data-elementor-type]{
  display:flex;
  flex-direction:column;
  width:100%;
}

.jet-listing-grid__item [data-elementor-type] > .e-con,
.jet-listing-grid__item [data-elementor-type] > .elementor-section{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}

.jet-listing-grid__item [data-elementor-type] > .e-con > .e-con,
.jet-listing-grid__item [data-elementor-type] > .e-con > .e-con-inner{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}

.jet-listing-grid__item .elementor-widget-image img,
.jet-listing-grid__item .jet-listing-dynamic-image__img,
.jet-listing-grid__item .jet-listing-dynamic-image img{
  display:block;
  width:100% !important;
  height:auto !important;
  max-width:none;
  aspect-ratio:3 / 2;
  object-fit:cover;
  object-position:center;
  background:var(--ept-sand);
  transition:transform .5s var(--ept-ease);
}

.jet-listing-grid__item .elementor-widget-image,
.jet-listing-grid__item .elementor-widget-jet-listing-dynamic-image{
  overflow:hidden;
  flex:0 0 auto;
}

.jet-listing-grid__item > .jet-engine-listing-overlay-wrap:hover .elementor-widget-image img,
.jet-listing-grid__item > .jet-engine-listing-overlay-wrap:hover .jet-listing-dynamic-image img{
  transform:scale(1.045);
}

@media (prefers-reduced-motion: reduce){
  .jet-listing-grid__item > .jet-engine-listing-overlay-wrap:hover{ transform:none; }
  .jet-listing-grid__item > .jet-engine-listing-overlay-wrap:hover img{ transform:none; }
}

.jet-listing-grid__item [data-elementor-type] > .e-con > .e-con > .e-con:last-child,
.jet-listing-grid__item [data-elementor-type] .elementor-widget-jet-listing-dynamic-link:last-child,
.jet-listing-grid__item [data-elementor-type] > .e-con > .e-con > .elementor-widget:last-child{
  margin-top:auto;
}

/* --------------------------------------------------------------------------
   4. Archive card (listing 4759) — take the title off the photo
   -------------------------------------------------------------------------- */

.elementor-4759 [data-id="a2764b9"]{
  position:static !important;
  transform:none !important;
  inset:auto !important;
  width:100% !important;
  max-width:100% !important;
  background:none !important;
  background-color:transparent !important;
  padding:16px 18px 4px !important;
  margin:0 !important;
}

.elementor-4759 [data-id="a2764b9"] .jet-listing-dynamic-field__content,
.elementor-4759 [data-id="a2764b9"] *{
  color:var(--ept-ink) !important;
  font-weight:700;
  font-size:19px;
  line-height:1.35;
  text-align:left;
  text-shadow:none !important;
}

.elementor-4759 [data-id="1448f4b"],
.elementor-4759 [data-id="e690f1d"],
.elementor-4759 [data-id="8cadd0f"]{
  position:absolute !important;
  top:12px !important;
  left:12px !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:auto !important;
  z-index:3;
  background:var(--ept-teal) !important;
  border-radius:999px !important;
  padding:7px 15px !important;
  box-shadow:0 2px 10px rgba(7,39,47,.28);
}

.elementor-4759 [data-id="1448f4b"] *,
.elementor-4759 [data-id="e690f1d"] *,
.elementor-4759 [data-id="8cadd0f"] *{
  color:#fff !important;
  font-weight:700 !important;
  font-size:14px !important;
  line-height:1.2 !important;
}

.elementor-4759 [data-id="18e94f2"]{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  left:auto !important;
  transform:none !important;
  z-index:3;
  background:var(--ept-gold) !important;
  border-radius:999px !important;
  padding:7px 14px !important;
}

.elementor-4759 [data-id="18e94f2"] .elementor-heading-title{
  color:#1A1206 !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.elementor-4759 [data-id="0416bc5"]{
  background:var(--ept-sand) !important;
  border-top:1px solid var(--ept-line);
  border-bottom:1px solid var(--ept-line);
  padding:9px 18px !important;
  margin-top:10px;
}

.elementor-4759 [data-id="0416bc5"] *{
  color:var(--ept-teal) !important;
  font-size:13.5px !important;
  font-weight:600 !important;
}

.elementor-4759 [data-id="97fb781"]{
  padding:14px 18px !important;
}

.elementor-4759 [data-id="97fb781"] *{
  color:var(--ept-body) !important;
  font-size:15px !important;
  line-height:1.6 !important;
}

.elementor-4759 [data-id="be34413"]{
  padding:0 18px 18px !important;
  margin-top:auto;
}

/* --------------------------------------------------------------------------
   5. Destination cards (listing 5383) — close the dead space
   -------------------------------------------------------------------------- */

.elementor-5383 .elementor-section,
.elementor-5383 .elementor-column,
.elementor-5383 .elementor-widget-wrap{
  min-height:0 !important;
}

.elementor-5383 .elementor-widget-wrap{ padding:0 !important; }

.elementor-5383 .elementor-widget-jet-listing-dynamic-field{
  padding:12px 16px !important;
  margin:0 !important;
}

.elementor-5383 .elementor-widget-jet-listing-dynamic-field:first-of-type *{
  color:var(--ept-ink) !important;
  font-size:19px !important;
  font-weight:700 !important;
}

.elementor-5383 .elementor-widget-jet-listing-dynamic-field:last-of-type{
  margin-top:auto !important;
  border-top:1px solid var(--ept-line);
  background:var(--ept-sand) !important;
}

.elementor-5383 .elementor-widget-jet-listing-dynamic-field:last-of-type *{
  color:var(--ept-teal) !important;
  font-size:14px !important;
  font-weight:600 !important;
}

/* --------------------------------------------------------------------------
   6. Buttons — gold is primary, teal outline is secondary, sitewide
   -------------------------------------------------------------------------- */

.elementor-button,
.jet-listing-dynamic-link__link,
.jet-smart-filters-apply-button,
input[type="submit"],
button[type="submit"]{
  border-radius:var(--ept-r-btn);
  font-weight:700;
  letter-spacing:.01em;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background-color .18s var(--ept-ease), color .18s var(--ept-ease),
             border-color .18s var(--ept-ease), box-shadow .18s var(--ept-ease);
}

.jet-listing-grid__item .jet-listing-dynamic-link__link{
  width:100%;
  background:var(--ept-gold) !important;
  background-image:none !important;
  color:#1A1206 !important;
  border:2px solid var(--ept-gold) !important;
  border-radius:var(--ept-r-btn) !important;
  padding:12px 20px !important;
  font-size:15px !important;
  text-align:center;
}

.jet-listing-grid__item .jet-listing-dynamic-link__link:hover,
.jet-listing-grid__item .jet-listing-dynamic-link__link:focus-visible{
  background:#B07F22 !important;
  border-color:#B07F22 !important;
  color:#fff !important;
}

.jet-listing-dynamic-link__icon{ display:none; }

/* --------------------------------------------------------------------------
   7. Section rhythm + typography
   -------------------------------------------------------------------------- */

h1,h2,h3,h4{ color:var(--ept-ink); }
h2{ letter-spacing:-.01em; }

.elementor-widget-text-editor p{ line-height:1.7; }

.elementor-drop-cap{
  display:inline !important;
  float:none !important;
  width:auto !important;
  height:auto !important;
  border:0 !important;
  background:none !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-drop-cap-letter{
  font-size:inherit !important;
  line-height:inherit !important;
  color:inherit !important;
  font-weight:inherit !important;
}

.rank-math-breadcrumb, .jet-breadcrumbs{ font-size:14px; }
.jet-breadcrumbs__item-link{ color:var(--ept-muted); }
.jet-breadcrumbs__item-link:hover{ color:var(--ept-teal); }

/* --------------------------------------------------------------------------
   8. Filters — collapse them on small screens
   -------------------------------------------------------------------------- */

@media (max-width:1024px){
  .jet-smart-filters-select,
  .jet-smart-filters-range,
  .jet-smart-filters-check-range,
  .jet-smart-filters-checkboxes{ max-width:100%; }
}

@media (max-width:767px){
  .jet-smart-filters-check-range .jet-check-range__list,
  .jet-smart-filters-checkboxes .jet-checkboxes-list{
    max-height:196px;
    overflow-y:auto;
  }
}

.jet-smart-filters-select select,
.jet-form-builder__field,
select, input[type="text"], input[type="email"], input[type="tel"], input[type="search"]{
  min-height:44px;
  border-radius:var(--ept-r-btn);
}

.jet-checkboxes-list__row, .jet-radio-list__row{
  min-height:44px;
  display:flex;
  align-items:center;
}

/* --------------------------------------------------------------------------
   9. Footer
   -------------------------------------------------------------------------- */

.jet-logo__img{ max-height:64px; width:auto; }

/* --------------------------------------------------------------------------
   10. Floating widgets — keep them off the content and off each other
   -------------------------------------------------------------------------- */

.gt_float_switcher{ z-index:98 !important; }
#qlwapp .qlwapp-toggle{ z-index:99 !important; }

@media (max-width:767px){
  .gt_float_switcher{ bottom:84px !important; }
  #qlwapp{ bottom:80px !important; }
}

/* --------------------------------------------------------------------------
   11. Responsive
   -------------------------------------------------------------------------- */

@media (max-width:1024px) and (min-width:768px){
  .jet-listing-grid__item{ margin-bottom:20px; }
}

@media (max-width:767px){
  .jet-listing-grid__item{ margin-bottom:18px; }
  .elementor-4759 [data-id="a2764b9"] *{ font-size:18px; }
  h1.elementor-heading-title{ font-size:clamp(26px, 7vw, 34px) !important; line-height:1.2 !important; }
  h2.elementor-heading-title{ font-size:clamp(22px, 6vw, 28px) !important; line-height:1.25 !important; }
}

/* ==========================================================================
   12. Corrections pass
   ========================================================================== */

/* --- archive card: clear the leftover dark box behind the title ---------- */
.elementor-4759 [data-id="a2764b9"] > .elementor-widget-container,
.elementor-4759 [data-id="a2764b9"] .jet-listing-dynamic-field{
  background:none !important;
  background-color:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.elementor-4759 [data-id="a2764b9"] .jet-listing-dynamic-field__content{
  display:block;
  color:var(--ept-ink) !important;
}

/* --- equal card heights, CTA on a common baseline ------------------------ */
.jet-listing-grid__items > .jet-listing-grid__item{ align-items:stretch; }

.jet-listing-grid__item > .jet-engine-listing-overlay-wrap > [data-elementor-type],
.jet-listing-grid__item [data-elementor-type] > .e-con,
.jet-listing-grid__item [data-elementor-type] > .e-con > .e-con-inner,
.jet-listing-grid__item [data-elementor-type] > .e-con > .e-con,
.jet-listing-grid__item [data-elementor-type] > .elementor-section,
.jet-listing-grid__item [data-elementor-type] > .elementor-section > .elementor-container,
.jet-listing-grid__item [data-elementor-type] > .elementor-section > .elementor-container > .elementor-column,
.jet-listing-grid__item [data-elementor-type] > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-height:0;
  width:100%;
}

/* the last block in a card is always the CTA — pin it down */
.jet-listing-grid__item [data-elementor-type] .e-con > *:last-child,
.jet-listing-grid__item [data-elementor-type] .elementor-widget-wrap > *:last-child{
  margin-top:auto;
}

/* --- card CTA: full width, one look -------------------------------------- */
.jet-listing-grid__item .elementor-widget-jet-listing-dynamic-link,
.jet-listing-grid__item .jet-listing-dynamic-link{
  width:100%;
  display:block;
}

.jet-listing-grid__item .jet-listing-dynamic-link__link{
  display:flex !important;
  width:100% !important;
  box-sizing:border-box;
}

/* --- excerpt / meta padding parity --------------------------------------- */
.elementor-4759 [data-id="97fb781"] .jet-listing-dynamic-field,
.elementor-4759 [data-id="97fb781"] .jet-listing-dynamic-field__content{
  padding:0 !important;
  margin:0 !important;
}

/* --- footer: text stays legible on teal ---------------------------------- */
footer .elementor-widget-text-editor,
footer .elementor-widget-text-editor p,
[data-elementor-type="footer"] .elementor-widget-text-editor,
[data-elementor-type="footer"] .elementor-widget-text-editor p,
.elementor-54 .elementor-widget-text-editor,
.elementor-54 .elementor-widget-text-editor p{
  color:rgba(255,255,255,.82) !important;
}

.elementor-54 .elementor-widget-text-editor p{ margin:0 0 4px; font-size:14px; }

/* --- hero: white title wins over the template's own colour --------------- */
.elementor-section[class*="min-height"] .elementor-widget-heading h1.elementor-heading-title,
.e-con .elementor-widget-heading h1.elementor-heading-title{
  color:#fff !important;
}

/* --- header: logo left, actions right ------------------------------------ */
[data-elementor-type="header"] .elementor-widget-image img{ max-height:52px; width:auto; }

/* ==========================================================================
   13. Card link roles — the title is a title, only the CTA is a button
   ========================================================================== */

/* reset every dynamic link inside a card back to plain text ... */
.jet-listing-grid__item .jet-listing-dynamic-link__link{
  background:none !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  min-height:0 !important;
  width:auto !important;
  display:inline !important;
  color:var(--ept-ink) !important;
  font-weight:700;
  text-align:left;
}

/* ... the card title */
.elementor-67 [data-id="97e0149"] .jet-listing-dynamic-link__link{
  display:block !important;
  font-size:18px !important;
  line-height:1.35 !important;
  color:var(--ept-ink) !important;
}
.elementor-67 [data-id="97e0149"] .jet-listing-dynamic-link__link:hover{
  color:var(--ept-teal) !important;
}

/* ... and only these are the CTA */
.elementor-67 [data-id="1f4c744"] .jet-listing-dynamic-link__link,
.elementor-4759 [data-id="1921962"] .jet-listing-dynamic-link__link,
.jet-listing-grid__item .elementor-widget-jet-listing-dynamic-link:last-child .jet-listing-dynamic-link__link{
  display:flex !important;
  width:100% !important;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  background:var(--ept-gold) !important;
  color:#1A1206 !important;
  border:2px solid var(--ept-gold) !important;
  border-radius:var(--ept-r-btn) !important;
  padding:12px 20px !important;
  min-height:44px !important;
  font-size:15px !important;
  font-weight:700 !important;
  text-align:center;
}

.elementor-67 [data-id="1f4c744"] .jet-listing-dynamic-link__link:hover,
.elementor-4759 [data-id="1921962"] .jet-listing-dynamic-link__link:hover,
.jet-listing-grid__item .elementor-widget-jet-listing-dynamic-link:last-child .jet-listing-dynamic-link__link:hover{
  background:#B07F22 !important;
  border-color:#B07F22 !important;
  color:#fff !important;
}

.elementor-67 [data-id="1f4c744"],
.elementor-4759 [data-id="1921962"]{
  width:100%;
  margin-top:auto;
}

/* legacy section-based cards (listing 67) also need the full-height chain */
.jet-listing-grid__item .elementor-67 > .elementor-section,
.jet-listing-grid__item .elementor-67 .elementor-container,
.jet-listing-grid__item .elementor-67 .elementor-column,
.jet-listing-grid__item .elementor-67 .elementor-widget-wrap{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:100%;
  min-height:0;
}

.jet-listing-grid__item .elementor-67 [data-id="462d531"],
.jet-listing-grid__item .elementor-67 [data-id="462d531"] .elementor-container,
.jet-listing-grid__item .elementor-67 [data-id="462d531"] .elementor-column,
.jet-listing-grid__item .elementor-67 [data-id="462d531"] .elementor-widget-wrap{
  flex:0 0 auto;
}

.jet-listing-grid__item .elementor-67 [data-id="e2ba41c"] .elementor-widget-wrap{
  padding:14px 16px 16px !important;
  gap:6px;
}

/* price badge on listing 67 */
.elementor-67 [data-id="28f1d73"]{
  position:absolute !important;
  top:12px; left:12px; right:auto; bottom:auto;
  z-index:3;
  background:var(--ept-teal) !important;
  border-radius:999px !important;
  padding:7px 15px !important;
  box-shadow:0 2px 10px rgba(7,39,47,.28);
}
.elementor-67 [data-id="28f1d73"] *{
  color:#fff !important; font-weight:700 !important; font-size:14px !important;
}
.elementor-67 [data-id="462d531"]{ position:relative; }

/* ==========================================================================
   14. CTA baseline + width (beats Elementor's per-element rules)
   ========================================================================== */

.jet-listing-grid__item .elementor-section.elementor-inner-section{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
}

.jet-listing-grid__item .elementor-67 [data-id="462d531"],
.jet-listing-grid__item .elementor-67 [data-id="462d531"].elementor-section{
  flex:0 0 auto !important;
}

.jet-listing-grid__item .elementor-widget.elementor-element[data-id="1f4c744"],
.jet-listing-grid__item .elementor-widget.elementor-element[data-id="1921962"]{
  margin-top:auto !important;
  margin-bottom:0 !important;
  width:100% !important;
  max-width:100% !important;
  align-self:stretch !important;
  padding-top:14px !important;
}

.jet-listing-grid__item .elementor-widget.elementor-element[data-id="1f4c744"] .elementor-widget-container,
.jet-listing-grid__item .elementor-widget.elementor-element[data-id="1921962"] .elementor-widget-container,
.jet-listing-grid__item .elementor-widget.elementor-element[data-id="1f4c744"] .jet-listing-dynamic-link,
.jet-listing-grid__item .elementor-widget.elementor-element[data-id="1921962"] .jet-listing-dynamic-link{
  display:block !important;
  width:100% !important;
}

/* card body breathing room */
.jet-listing-grid__item .elementor-67 [data-id="e2ba41c"] > .elementor-container > .elementor-column > .elementor-widget-wrap{
  padding:16px 18px 18px !important;
}

/* ==========================================================================
   15. Full-height chain so margin-top:auto has space to work with
   ========================================================================== */

.jet-listing-grid__item .elementor-section.elementor-inner-section > .elementor-container,
.jet-listing-grid__item .elementor-section.elementor-inner-section > .elementor-container > .elementor-column,
.jet-listing-grid__item .elementor-section.elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap{
  height:100% !important;
  min-height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-content:stretch !important;
  width:100%;
}

.jet-listing-grid__item .elementor-67 [data-id="462d531"] > .elementor-container,
.jet-listing-grid__item .elementor-67 [data-id="462d531"] > .elementor-container > .elementor-column,
.jet-listing-grid__item .elementor-67 [data-id="462d531"] > .elementor-container > .elementor-column > .elementor-widget-wrap{
  height:auto !important;
  min-height:0 !important;
}

/* ==========================================================================
   16. Outer card chain — stretch it all the way down from the grid item
   ========================================================================== */

.jet-listing-grid__item > .jet-engine-listing-overlay-wrap > [data-elementor-type],
.jet-listing-grid__item > .jet-engine-listing-overlay-wrap > [data-elementor-type] > .elementor-section,
.jet-listing-grid__item > .jet-engine-listing-overlay-wrap > [data-elementor-type] > .elementor-section > .elementor-container,
.jet-listing-grid__item > .jet-engine-listing-overlay-wrap > [data-elementor-type] > .elementor-section > .elementor-container > .elementor-column,
.jet-listing-grid__item > .jet-engine-listing-overlay-wrap > [data-elementor-type] > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  height:100% !important;
  width:100% !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
}

.jet-listing-grid__item > .jet-engine-listing-overlay-wrap > [data-elementor-type] > .elementor-section > .elementor-container{
  max-width:100% !important;
  padding:0 !important;
}

/* ==========================================================================
   17. Uniform card content — clamp to fixed line counts so every CTA lands
       on the same baseline regardless of how long the copy is
   ========================================================================== */

.ept-clamp{ display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }

/* --- listing 67 (/tours/, single tour, single country) ------------------- */
.elementor-67 [data-id="97e0149"] .jet-listing-dynamic-link__link{
  display:-webkit-box !important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:calc(2 * 1.35em);
}

.elementor-67 [data-id="b456cfd"] .jet-listing-dynamic-field__content{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:calc(2 * 1.6em);
}

.elementor-67 [data-id="5a02f92"],
.elementor-67 [data-id="8cee0dd"],
.elementor-67 [data-id="e72bdfc"]{
  min-height:26px;
}

/* the meta block is always the same height whether a tour has days, hours or both */
.jet-listing-grid__item .elementor-67 [data-id="94c103a"] > .elementor-widget-wrap{
  gap:2px;
}

/* --- listing 4759 (tour type / city / style archives) -------------------- */
.elementor-4759 [data-id="a2764b9"] .jet-listing-dynamic-field__content{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:calc(2 * 1.35em);
}

.elementor-4759 [data-id="97fb781"] .jet-listing-dynamic-field__content{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:calc(2 * 1.6em);
}

/* ==========================================================================
   18. Header lock-up sits at the left edge of the content column
   ========================================================================== */

.elementor-506 [data-id="1cc64c5"]{
  width:auto !important;
  max-width:fit-content !important;
  flex:0 0 auto !important;
  text-align:left !important;
}

.elementor-506 [data-id="1cc64c5"] .elementor-widget-container,
.elementor-506 [data-id="1cc64c5"] figure,
.elementor-506 [data-id="1cc64c5"] a{
  display:block;
  width:auto !important;
  text-align:left !important;
}

.elementor-506 [data-id="1cc64c5"] img{
  margin-left:0 !important;
  margin-right:auto !important;
  height:52px !important;
  width:auto !important;
  object-fit:contain;
}

@media (max-width:767px){
  .elementor-506 [data-id="1cc64c5"] img{ height:42px !important; }
}

/* ==========================================================================
   19. Content is never hidden by an entrance animation that did not fire
   ========================================================================== */

.jet-listing-grid__item .elementor-invisible,
.jet-listing-grid .elementor-invisible{
  opacity:1 !important;
  visibility:visible !important;
  animation:none !important;
}

/* ==========================================================================
   20. Destination card (listing 5383) — image, then name, then tour count
   ========================================================================== */

.jet-listing-grid__item .elementor-5383 > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap{
  padding:0 !important;
}

/* name */
.elementor-5383 [data-id="8ff2395"]{
  position:static !important;
  transform:none !important;
  inset:auto !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:14px 16px 6px !important;
  background:none !important;
  order:2;
}

.elementor-5383 [data-id="8ff2395"] .jet-listing-dynamic-field,
.elementor-5383 [data-id="8ff2395"] .jet-listing-dynamic-field__content{
  background:none !important;
  padding:0 !important;
  margin:0 !important;
  text-align:left !important;
}

.elementor-5383 [data-id="8ff2395"] *{
  color:var(--ept-ink) !important;
  font-size:19px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}

/* tour count */
.elementor-5383 [data-id="f0f1f81"]{
  position:static !important;
  transform:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:auto 0 0 !important;
  padding:10px 16px !important;
  background:var(--ept-sand) !important;
  border-top:1px solid var(--ept-line);
  order:3;
}

.elementor-5383 [data-id="f0f1f81"] .jet-listing-dynamic-field,
.elementor-5383 [data-id="f0f1f81"] .jet-listing-dynamic-field__content{
  background:none !important;
  padding:0 !important;
  margin:0 !important;
  text-align:left !important;
}

.elementor-5383 [data-id="f0f1f81"] *{
  color:var(--ept-teal) !important;
  font-size:14px !important;
  font-weight:600 !important;
}

.elementor-5383 [data-id="6deadd0"]{ order:1; margin:0 !important; padding:0 !important; }
.elementor-5383 [data-id="6deadd0"] .jet-listing-dynamic-image{ line-height:0; }
.elementor-5383 [data-id="6deadd0"] img{ border-radius:0 !important; }

/* full-bleed the destination card so it matches the homepage card language */
.jet-listing-grid__item .elementor-5383 .elementor-widget-wrap,
.jet-listing-grid__item .elementor-5383 .elementor-container,
.jet-listing-grid__item .elementor-5383 .elementor-column{
  padding:0 !important;
  margin:0 !important;
  max-width:100% !important;
}

.jet-listing-grid__item .elementor-5383 [data-id="6deadd0"],
.jet-listing-grid__item .elementor-5383 [data-id="8ff2395"],
.jet-listing-grid__item .elementor-5383 [data-id="f0f1f81"]{
  margin-left:0 !important;
  margin-right:0 !important;
  width:100% !important;
  max-width:100% !important;
}

.jet-listing-grid__item .elementor-5383 [data-id="8ff2395"] .jet-listing-dynamic-field,
.jet-listing-grid__item .elementor-5383 [data-id="f0f1f81"] .jet-listing-dynamic-field{
  width:100% !important;
  border-radius:0 !important;
}

/* ==========================================================================
   21. Mobile filter panel
   ========================================================================== */

.ept-filter-panel{
  margin:0 0 20px;
  border:1px solid var(--ept-line);
  border-radius:var(--ept-r-card);
  background:#fff;
  overflow:hidden;
}

.ept-filter-panel > summary{
  list-style:none;
  cursor:pointer;
  padding:14px 18px;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-weight:700;
  color:var(--ept-teal);
  background:var(--ept-sand);
}

.ept-filter-panel > summary::-webkit-details-marker{ display:none; }

.ept-filter-panel > summary::after{
  content:"";
  width:9px; height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .2s var(--ept-ease);
}

.ept-filter-panel[open] > summary::after{ transform:rotate(-135deg) translateY(-2px); }

.ept-filter-panel > summary:focus-visible{
  outline:3px solid var(--ept-gold-lt);
  outline-offset:-3px;
}

@media (max-width:767px){
  .ept-filter-panel{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box;
  }
  .ept-filter-panel > *:not(summary){
    width:100% !important;
    max-width:100% !important;
    padding:12px 14px 16px !important;
    margin:0 !important;
  }
  .ept-filter-panel .elementor-column,
  .ept-filter-panel .elementor-widget-wrap,
  .ept-filter-panel .e-con,
  .ept-filter-panel .e-con-inner{
    width:100% !important;
    max-width:100% !important;
  }
}

/* ==========================================================================
   22. Language switcher — lives in the header top bar, never floats
   ========================================================================== */

/* kill any floating copy that slips back in */
.gt_switcher_wrapper,
.gt_float_switcher{ display:none !important; }

.ept-lang-switch .elementor-shortcode{ line-height:0; }

.gt_switcher{
  width:auto !important;
  min-width:0 !important;
  font-family:inherit !important;
  font-size:13px !important;
  line-height:1.2 !important;
  position:relative;
  overflow:visible !important;
  z-index:120;
}

.gt_switcher .gt_selected{
  width:auto !important;
  border:1px solid rgba(255,255,255,.30) !important;
  border-radius:var(--ept-r-btn) !important;
  background:rgba(255,255,255,.10) !important;
  transition:background-color .18s var(--ept-ease), border-color .18s var(--ept-ease);
}

.gt_switcher .gt_selected:hover{
  background:rgba(255,255,255,.18) !important;
  border-color:rgba(255,255,255,.5) !important;
}

.gt_switcher .gt_selected a,
.gt_switcher .gt_selected a.gt_current{
  display:flex !important;
  align-items:center;
  gap:7px;
  width:auto !important;
  min-height:34px;
  padding:0 26px 0 10px !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:600;
  text-decoration:none !important;
  background-image:none !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:150px;
}

/* our own caret, so no plugin sprite is needed */
.gt_switcher .gt_selected{ position:relative; }
.gt_switcher .gt_selected::after{
  content:"";
  position:absolute;
  right:10px; top:50%;
  width:7px; height:7px;
  margin-top:-5px;
  border-right:2px solid rgba(255,255,255,.85);
  border-bottom:2px solid rgba(255,255,255,.85);
  transform:rotate(45deg);
  pointer-events:none;
  transition:transform .18s var(--ept-ease);
}
.gt_switcher:hover .gt_selected::after{ transform:rotate(-135deg); margin-top:-1px; }

.gt_switcher .gt_selected a img,
.gt_switcher .gt_option a img{
  width:16px !important;
  height:16px !important;
  border-radius:2px;
  flex:0 0 auto;
  vertical-align:middle;
}

/* the dropdown list */
.gt_switcher .gt_option{
  position:absolute !important;
  top:calc(100% + 6px) !important;
  left:auto !important;
  right:0 !important;
  width:210px !important;
  max-height:340px !important;
  overflow-y:auto !important;
  background:#fff !important;
  border:1px solid var(--ept-line) !important;
  border-radius:var(--ept-r-card) !important;
  box-shadow:0 12px 34px rgba(18,33,43,.18) !important;
  padding:6px !important;
  z-index:100000 !important;
}

.gt_switcher .gt_option a{
  display:flex !important;
  align-items:center;
  gap:9px;
  min-height:40px;
  padding:8px 10px !important;
  border-radius:var(--ept-r-btn);
  color:var(--ept-ink) !important;
  font-size:14px !important;
  font-weight:500;
  text-decoration:none !important;
  background:none !important;
}

.gt_switcher .gt_option a:hover,
.gt_switcher .gt_option a:focus-visible{
  background:var(--ept-sand) !important;
  color:var(--ept-teal) !important;
}

@media (max-width:767px){
  .gt_switcher .gt_selected a,
  .gt_switcher .gt_selected a.gt_current{
    max-width:96px;
    padding:0 24px 0 8px !important;
    font-size:12px !important;
    min-height:32px;
  }
  .gt_switcher .gt_option{ width:190px !important; max-height:60vh !important; }
}

/* ==========================================================================
   23. Floating WhatsApp — sits above the sticky booking bar, never over it
   ========================================================================== */

.qlwapp__container{
  width:auto !important;
  max-width:none !important;
  left:auto !important;
  right:0 !important;
  overflow:visible !important;
}

.qlwapp__container.qlwapp__container--bottom-right{
  right:18px !important;
  bottom:18px !important;
}

.qlwapp .qlwapp-toggle,
.qlwapp__button{
  box-shadow:0 6px 20px rgba(7,39,47,.28) !important;
}

@media (max-width:767px){
  /* clear the 71px booking bar plus breathing room */
  .qlwapp__container.qlwapp__container--bottom-right{
    right:14px !important;
    bottom:86px !important;
  }
}

@media print{
  .qlwapp__container, .gt_switcher{ display:none !important; }
}

/* ==========================================================================
   24. Header top bar — contact left, language + search right, same gutter
       as the logo row below it
   ========================================================================== */

.elementor-506 [data-id="085f903"]{
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:max(16px, calc((100% - 1140px) / 2)) !important;
  padding-right:max(16px, calc((100% - 1140px) / 2)) !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
}

/* last contact icon takes the slack, pushing language + search to the right */
.elementor-506 [data-id="b901139"]{ margin-right:auto !important; }

.elementor-506 [data-id="b491e0d"],
.elementor-506 [data-id="b901139"],
.elementor-506 [data-id="cfe1b64"],
.elementor-506 [data-id="eptlang01"]{
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* contact + search icons reach the 44px touch minimum without fattening the bar */
.elementor-506 [data-id="085f903"] .elementor-icon-list-item > a,
.elementor-506 [data-id="cfe1b64"] .jet-search__toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
}

.elementor-506 [data-id="085f903"] .elementor-icon-list-item{ margin:0 !important; }

@media (max-width:767px){
  .elementor-506 [data-id="085f903"]{
    padding-left:12px !important;
    padding-right:12px !important;
    gap:6px !important;
    max-width:none !important;
    width:100% !important;
  }
  .elementor-506 [data-id="085f903"] .elementor-icon-list-item > a,
  .elementor-506 [data-id="cfe1b64"] .jet-search__toggle{
    min-width:40px;
    min-height:40px;
  }
}

/* On phones the sticky booking bar already carries a WhatsApp CTA — one is
   enough, and it keeps the bubble off the bar for good. */
@media (max-width:767px){
  .qlwapp__container{ display:none !important; }
}
