/* =========================================================================
   Postmark Travel — Product / experience page standardization
   
   Applies to: celebrate.html, indulge.html, curate.html, immerse.html
   
   Goal: equalize heading sizes, subhead sizes, shell/card spacing,
   list-item typography, and testimonial sizes across all product pages.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. Hero title — 36px / 200 weight (32–36 range)
   ------------------------------------------------------------------------- */
.elementor-2859 .elementor-element-c79eb90.elementor-widget-heading .elementor-heading-title,
.elementor-2927 .elementor-element-c79eb90.elementor-widget-heading .elementor-heading-title,
.elementor-2900 .elementor-element-c79eb90.elementor-widget-heading .elementor-heading-title,
.elementor-1822 .elementor-element-c79eb90.elementor-widget-heading .elementor-heading-title {
  font-size: 36px !important;
  font-weight: 200 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.8px !important;
}

/* -------------------------------------------------------------------------
   2. Hero subtext — 24px / 200 / 36px line-height (22–24 range)
      Cormorant Garamond to match the other product pages; Indulge was missing
      the serif family and rendering in the default sans-serif.
   ------------------------------------------------------------------------- */
.elementor-2859 .elementor-element-2374fba .elementor-widget-container,
.elementor-2927 .elementor-element-2374fba .elementor-widget-container,
.elementor-2900 .elementor-element-2374fba .elementor-widget-container,
.elementor-1822 .elementor-element-2374fba .elementor-widget-container,
.elementor-2859 .elementor-element-2374fba p,
.elementor-2927 .elementor-element-2374fba p,
.elementor-2900 .elementor-element-2374fba p,
.elementor-1822 .elementor-element-2374fba p {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 24px !important;
  font-weight: 200 !important;
  line-height: 36px !important;
}

/* -------------------------------------------------------------------------
   3. Section headings — 36px with consistent weights (32 range)
   ------------------------------------------------------------------------- */

/* "Experiences Offered" — weight 400 */
.elementor-2859 .elementor-element-b509726.elementor-widget-heading .elementor-heading-title,
.elementor-2927 .elementor-element-b509726.elementor-widget-heading .elementor-heading-title,
.elementor-2900 .elementor-element-b509726.elementor-widget-heading .elementor-heading-title,
.elementor-1822 .elementor-element-b509726.elementor-widget-heading .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

/* "How it works" — weight 700 */
.elementor-2859 .elementor-element-cb1fb66.elementor-widget-heading .elementor-heading-title,
.elementor-2927 .elementor-element-cb1fb66.elementor-widget-heading .elementor-heading-title,
.elementor-2900 .elementor-element-cb1fb66.elementor-widget-heading .elementor-heading-title,
.elementor-1822 .elementor-element-0277975.elementor-widget-heading .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* "What floats your boat" — weight 700 */
.elementor-2859 .elementor-element-7bac893.elementor-widget-heading .elementor-heading-title,
.elementor-2927 .elementor-element-7bac893.elementor-widget-heading .elementor-heading-title,
.elementor-2900 .elementor-element-7bac893.elementor-widget-heading .elementor-heading-title,
.elementor-1822 .elementor-element-7bac893.elementor-widget-heading .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* "Customer Reviews" — weight 700, match other section headings.
   Also set the serif family: this heading (5b00d63) was inheriting Outfit
   because the rule never declared font-family, unlike every other heading. */
.elementor-2859 .elementor-element-5b00d63.elementor-widget-heading .elementor-heading-title,
.elementor-2927 .elementor-element-5b00d63.elementor-widget-heading .elementor-heading-title,
.elementor-2900 .elementor-element-5b00d63.elementor-widget-heading .elementor-heading-title,
.elementor-1822 .elementor-element-5b00d63.elementor-widget-heading .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* -------------------------------------------------------------------------
   4. Celebrate carousel slide titles — match card titles at 32px / 700
   ------------------------------------------------------------------------- */
.elementor-2859 .elementor-element-014f7d2.elementor-widget-heading .elementor-heading-title,
.elementor-2859 .elementor-element-e423107.elementor-widget-heading .elementor-heading-title,
.elementor-2859 .elementor-element-26c49bd.elementor-widget-heading .elementor-heading-title,
.elementor-2859 .elementor-element-36a729e.elementor-widget-heading .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* -------------------------------------------------------------------------
   5. Card body text — 20px / 400 / 28px line-height (20–22 range)
   (Target the card text-editor widgets, not the section heading.)
   ------------------------------------------------------------------------- */
.elementor-2859 .elementor-element-4632ab7 .elementor-widget-text-editor:not(.elementor-element-7bac893),
.elementor-2927 .elementor-element-4632ab7 .elementor-widget-text-editor:not(.elementor-element-7bac893),
.elementor-2900 .elementor-element-4632ab7 .elementor-widget-text-editor:not(.elementor-element-7bac893),
.elementor-1822 .elementor-element-4632ab7 .elementor-widget-text-editor:not(.elementor-element-7bac893) {
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 28px !important;
}

/* -------------------------------------------------------------------------
   6. "Experiences Offered" icon-box descriptions — 20px / 200 / 28px
   ------------------------------------------------------------------------- */
.elementor-2859 .elementor-icon-box-description,
.elementor-2927 .elementor-icon-box-description,
.elementor-2900 .elementor-icon-box-description,
.elementor-1822 .elementor-icon-box-description {
  font-size: 20px !important;
  font-weight: 200 !important;
  line-height: 28px !important;
}

/* -------------------------------------------------------------------------
   7. "How it works" list items — 22px / 200 / 30px line-height
   ------------------------------------------------------------------------- */
.elementor-2859 .elementor-element-7aec704 .elementor-widget-text-editor .elementor-widget-container,
.elementor-2927 .elementor-element-7aec704 .elementor-widget-text-editor .elementor-widget-container,
.elementor-2900 .elementor-element-7aec704 .elementor-widget-text-editor .elementor-widget-container,
.elementor-1822 .elementor-element-7e924b4 .elementor-widget-text-editor .elementor-widget-container,
.elementor-2859 .elementor-element-7aec704 .elementor-widget-text-editor p,
.elementor-2927 .elementor-element-7aec704 .elementor-widget-text-editor p,
.elementor-2900 .elementor-element-7aec704 .elementor-widget-text-editor p,
.elementor-1822 .elementor-element-7e924b4 .elementor-widget-text-editor p {
  font-size: 22px !important;
  font-weight: 200 !important;
  line-height: 30px !important;
}

/* -------------------------------------------------------------------------
   8. "How it works" subheading override — 24px / 400 / 36px line-height
   (22–24 range; more specific than the list-item rule above.)
   ------------------------------------------------------------------------- */
.elementor-2859 .elementor-element-7aec704 .elementor-element-9588ea0 .elementor-widget-container,
.elementor-2927 .elementor-element-7aec704 .elementor-element-9588ea0 .elementor-widget-container,
.elementor-2900 .elementor-element-7aec704 .elementor-element-9588ea0 .elementor-widget-container,
.elementor-2859 .elementor-element-7aec704 .elementor-element-9588ea0 p,
.elementor-2927 .elementor-element-7aec704 .elementor-element-9588ea0 p,
.elementor-2900 .elementor-element-7aec704 .elementor-element-9588ea0 p {
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 36px !important;
}

/* -------------------------------------------------------------------------
   9. Testimonials — standardize quote, name, title
   ------------------------------------------------------------------------- */
.elementor-2859 .elementor-element-f38a9ac .elementor-testimonial__text,
.elementor-2927 .elementor-element-f38a9ac .elementor-testimonial__text,
.elementor-2900 .elementor-element-f38a9ac .elementor-testimonial__text,
.elementor-1822 .elementor-element-f38a9ac .elementor-testimonial__text {
  font-size: 24px !important;
  font-weight: 300 !important;
  line-height: 36px !important;
}

.elementor-2859 .elementor-element-f38a9ac .elementor-testimonial__name,
.elementor-2927 .elementor-element-f38a9ac .elementor-testimonial__name,
.elementor-2900 .elementor-element-f38a9ac .elementor-testimonial__name,
.elementor-1822 .elementor-element-f38a9ac .elementor-testimonial__name {
  font-size: 24px !important;
  font-weight: 500 !important;
}

.elementor-2859 .elementor-element-f38a9ac .elementor-testimonial__title,
.elementor-2927 .elementor-element-f38a9ac .elementor-testimonial__title,
.elementor-2900 .elementor-element-f38a9ac .elementor-testimonial__title,
.elementor-1822 .elementor-element-f38a9ac .elementor-testimonial__title {
  font-size: 16px !important;
  font-weight: 400 !important;
}

/* -------------------------------------------------------------------------
   10. Section spacing — consistent vertical rhythm
   ------------------------------------------------------------------------- */
.elementor-2859 > .e-con,
.elementor-2927 > .e-con,
.elementor-2900 > .e-con,
.elementor-1822 > .e-con {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Top-level sections after hero get comfortable vertical padding */
.elementor-2859 > .e-con:not(:first-child),
.elementor-2927 > .e-con:not(:first-child),
.elementor-2900 > .e-con:not(:first-child),
.elementor-1822 > .e-con:not(:first-child) {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

/* -------------------------------------------------------------------------
   11. Standardize shell icon size across product pages
   ------------------------------------------------------------------------- */
.elementor-2859 svg[viewBox="0 0 433.92 351.12"],
.elementor-2927 svg[viewBox="0 0 433.92 351.12"],
.elementor-2900 svg[viewBox="0 0 433.92 351.12"],
.elementor-1822 svg[viewBox="0 0 433.92 351.12"] {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
}

/* -------------------------------------------------------------------------
   12. Desktop spacing fixes — tighten excessive padding between sections
   ------------------------------------------------------------------------- */

@media (min-width: 768px) {

  /* "Customer Reviews" section (f38a9ac) ships with a 100px inner padding
     on desktop, creating a large blank band above and below the testimonial.
     Bring it down to a normal 24px inner pad and reduce the outer section
     padding so the transition from the previous section is not so airy. */
  .elementor-2859 .elementor-element-f38a9ac,
  .elementor-2927 .elementor-element-f38a9ac,
  .elementor-2900 .elementor-element-f38a9ac,
  .elementor-1822 .elementor-element-f38a9ac {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  .elementor-2859 .elementor-element-f38a9ac > .e-con-inner,
  .elementor-2927 .elementor-element-f38a9ac > .e-con-inner,
  .elementor-2900 .elementor-element-f38a9ac > .e-con-inner,
  .elementor-1822 .elementor-element-f38a9ac > .e-con-inner {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

}

/* =========================================================================
   13. Mobile hygiene overrides (< 768px)
   ========================================================================= */
@media (max-width: 767px) {

  /* Tighten section vertical rhythm on small screens */
  .elementor-2859 > .e-con:not(:first-child),
  .elementor-2927 > .e-con:not(:first-child),
  .elementor-2900 > .e-con:not(:first-child),
  .elementor-1822 > .e-con:not(:first-child) {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  /* Boxed sections: consistent 20px side gutter and full-width inner */
  .elementor-2859 .e-con-boxed > .e-con-inner,
  .elementor-2927 .e-con-boxed > .e-con-inner,
  .elementor-2900 .e-con-boxed > .e-con-inner,
  .elementor-1822 .e-con-boxed > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* The icon/text list wrapper itself: remove extra horizontal padding */
  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda,
  /* Immerse's items wrapper sits one level deeper inside an intro container */
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7e924b4 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    flex-basis: 100% !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
  }

  /* --- "How it works" list items: icon top-aligned, text left-aligned --- */
  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda > .e-con.e-child {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    text-align: left !important;
    margin-bottom: 16px !important;
  }

  /* Remove bottom margin from the last real item */
  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child:last-child,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child:last-child,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child:last-child,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda > .e-con.e-child:last-child {
    margin-bottom: 0 !important;
  }

  /* Hide empty placeholder item containers */
  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child:empty,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child:empty,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child:empty,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda > .e-con.e-child:empty,
  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child:not(:has(> .elementor-widget)),
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child:not(:has(> .elementor-widget)),
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child:not(:has(> .elementor-widget)),
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda > .e-con.e-child:not(:has(> .elementor-widget)) {
    display: none !important;
  }

  /* Icon widget: do not stretch, sit at the top of the text block */
  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-icon,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-icon,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-icon,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda > .e-con.e-child > .elementor-widget-icon {
    flex: 0 0 32px !important;
    align-self: flex-start !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: auto !important;
    margin-bottom: 0 !important;
  }

  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-icon .elementor-icon-wrapper,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-icon .elementor-icon-wrapper,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-icon .elementor-icon-wrapper,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda > .e-con.e-child > .elementor-widget-icon .elementor-icon-wrapper,
  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-icon .elementor-icon,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-icon .elementor-icon,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-icon .elementor-icon,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda > .e-con.e-child > .elementor-widget-icon .elementor-icon {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  /* Text widget: fill remaining width and stay left-aligned */
  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-text-editor,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-text-editor,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-text-editor,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda > .e-con.e-child > .elementor-widget-text-editor {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
    width: auto !important;
  }

  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-text-editor .elementor-widget-container,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-text-editor .elementor-widget-container,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-text-editor .elementor-widget-container,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda > .e-con.e-child > .elementor-widget-text-editor .elementor-widget-container,
  .elementor-2859 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-text-editor p,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-text-editor p,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-410a07d > .e-con.e-child > .elementor-widget-text-editor p,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7394eda > .e-con.e-child > .elementor-widget-text-editor p {
    text-align: left !important;
  }

  /* Keep the intro subheading centered and readable */
  .elementor-2859 .elementor-element-7aec704 .elementor-element-e4c3f53,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-e4c3f53,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-e4c3f53,
  .elementor-1822 .elementor-element-4632ab7 .elementor-element-7e924b4 {
    text-align: center !important;
    width: 100% !important;
  }

  /* --- "Experiences Offered" icon boxes: top-align icon, tidy spacing --- */
  .elementor-2859 .elementor-widget-icon-box .elementor-icon-box-wrapper,
  .elementor-2927 .elementor-widget-icon-box .elementor-icon-box-wrapper,
  .elementor-2900 .elementor-widget-icon-box .elementor-icon-box-wrapper,
  .elementor-1822 .elementor-widget-icon-box .elementor-icon-box-wrapper {
    align-items: flex-start !important;
    gap: 12px !important;
  }

  .elementor-2859 .elementor-widget-icon-box .elementor-icon-box-icon,
  .elementor-2927 .elementor-widget-icon-box .elementor-icon-box-icon,
  .elementor-2900 .elementor-widget-icon-box .elementor-icon-box-icon,
  .elementor-1822 .elementor-widget-icon-box .elementor-icon-box-icon {
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    line-height: 1 !important;
  }

  .elementor-2859 .elementor-widget-icon-box .elementor-icon-box-content,
  .elementor-2927 .elementor-widget-icon-box .elementor-icon-box-content,
  .elementor-2900 .elementor-widget-icon-box .elementor-icon-box-content,
  .elementor-1822 .elementor-widget-icon-box .elementor-icon-box-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  .elementor-2859 .elementor-widget-icon-box .elementor-icon-box-description,
  .elementor-2927 .elementor-widget-icon-box .elementor-icon-box-description,
  .elementor-2900 .elementor-widget-icon-box .elementor-icon-box-description,
  .elementor-1822 .elementor-widget-icon-box .elementor-icon-box-description {
    text-align: left !important;
  }

}

/* =========================================================================
   14. Mobile typography step-down (<= 767px)
   Product pages shipped desktop font sizes on mobile. Country & home pages
   step hero 36→32 and body 20→18 at this breakpoint; mirror that here so
   the whole site matches. Sizes ONLY — no spacing changes.
     Hero/H1 (§1)            36 → 32
     Section headings (§3)   36 → 32
     HIW sub-heading (§8)    24 → 20
     HIW list items (§7)     22 → 18
     Card body (§5)          20 → 18
     Icon-box body (§6)      20 → 18
   ========================================================================= */
@media (max-width: 767px) {

  /* Hero title (c79eb90) — 36 → 32 */
  .elementor-2859 .elementor-element-c79eb90.elementor-widget-heading .elementor-heading-title,
  .elementor-2927 .elementor-element-c79eb90.elementor-widget-heading .elementor-heading-title,
  .elementor-2900 .elementor-element-c79eb90.elementor-widget-heading .elementor-heading-title,
  .elementor-1822 .elementor-element-c79eb90.elementor-widget-heading .elementor-heading-title {
    font-size: 32px !important;
  }

  /* Section headings (H2): b509726 / cb1fb66 / 0277975 / 7bac893 / 5b00d63 — 36 → 32 */
  .elementor-2859 .elementor-element-b509726.elementor-widget-heading .elementor-heading-title,
  .elementor-2927 .elementor-element-b509726.elementor-widget-heading .elementor-heading-title,
  .elementor-2900 .elementor-element-b509726.elementor-widget-heading .elementor-heading-title,
  .elementor-1822 .elementor-element-b509726.elementor-widget-heading .elementor-heading-title,
  .elementor-2859 .elementor-element-cb1fb66.elementor-widget-heading .elementor-heading-title,
  .elementor-2927 .elementor-element-cb1fb66.elementor-widget-heading .elementor-heading-title,
  .elementor-2900 .elementor-element-cb1fb66.elementor-widget-heading .elementor-heading-title,
  .elementor-1822 .elementor-element-0277975.elementor-widget-heading .elementor-heading-title,
  .elementor-2859 .elementor-element-7bac893.elementor-widget-heading .elementor-heading-title,
  .elementor-2927 .elementor-element-7bac893.elementor-widget-heading .elementor-heading-title,
  .elementor-2900 .elementor-element-7bac893.elementor-widget-heading .elementor-heading-title,
  .elementor-1822 .elementor-element-7bac893.elementor-widget-heading .elementor-heading-title,
  .elementor-2859 .elementor-element-5b00d63.elementor-widget-heading .elementor-heading-title,
  .elementor-2927 .elementor-element-5b00d63.elementor-widget-heading .elementor-heading-title,
  .elementor-2900 .elementor-element-5b00d63.elementor-widget-heading .elementor-heading-title,
  .elementor-1822 .elementor-element-5b00d63.elementor-widget-heading .elementor-heading-title {
    font-size: 32px !important;
  }

  /* "How it works" list items (7aec704 / 7e924b4) — 22 → 18 */
  .elementor-2859 .elementor-element-7aec704 .elementor-widget-text-editor .elementor-widget-container,
  .elementor-2927 .elementor-element-7aec704 .elementor-widget-text-editor .elementor-widget-container,
  .elementor-2900 .elementor-element-7aec704 .elementor-widget-text-editor .elementor-widget-container,
  .elementor-1822 .elementor-element-7e924b4 .elementor-widget-text-editor .elementor-widget-container,
  .elementor-2859 .elementor-element-7aec704 .elementor-widget-text-editor p,
  .elementor-2927 .elementor-element-7aec704 .elementor-widget-text-editor p,
  .elementor-2900 .elementor-element-7aec704 .elementor-widget-text-editor p,
  .elementor-1822 .elementor-element-7e924b4 .elementor-widget-text-editor p {
    font-size: 18px !important;
    line-height: 26px !important;
  }

  /* "How it works" sub-heading (9588ea0) — 24 → 20.
     Placed AFTER the list-item rule: this selector ties it on specificity
     (both 4 classes), so source order must break the tie in its favour —
     mirroring the desktop §8-overrides-§7 ordering. */
  .elementor-2859 .elementor-element-7aec704 .elementor-element-9588ea0 .elementor-widget-container,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-9588ea0 .elementor-widget-container,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-9588ea0 .elementor-widget-container,
  .elementor-2859 .elementor-element-7aec704 .elementor-element-9588ea0 p,
  .elementor-2927 .elementor-element-7aec704 .elementor-element-9588ea0 p,
  .elementor-2900 .elementor-element-7aec704 .elementor-element-9588ea0 p {
    font-size: 20px !important;
    line-height: 30px !important;
  }

  /* Card body text (4632ab7 text-editor, excluding the heading) — 20 → 18 */
  .elementor-2859 .elementor-element-4632ab7 .elementor-widget-text-editor:not(.elementor-element-7bac893),
  .elementor-2927 .elementor-element-4632ab7 .elementor-widget-text-editor:not(.elementor-element-7bac893),
  .elementor-2900 .elementor-element-4632ab7 .elementor-widget-text-editor:not(.elementor-element-7bac893),
  .elementor-1822 .elementor-element-4632ab7 .elementor-widget-text-editor:not(.elementor-element-7bac893) {
    font-size: 18px !important;
    line-height: 26px !important;
  }

  /* "Experiences Offered" icon-box descriptions — 20 → 18 */
  .elementor-2859 .elementor-icon-box-description,
  .elementor-2927 .elementor-icon-box-description,
  .elementor-2900 .elementor-icon-box-description,
  .elementor-1822 .elementor-icon-box-description {
    font-size: 18px !important;
    line-height: 26px !important;
  }

}

/* =========================================================================
   TABLET (iPad, 768–1024px) — stack the multi-column sections.
   -------------------------------------------------------------------------
   Root cause: the Elementor export applies its DESKTOP column widths from
   `@media(min-width:768px)`, but those percentages only look right near the
   ~1300px design width. Anywhere below that (all of tablet AND small laptops
   up to ~1200px) the columns crush — the "Experiences Offered" list wrapped
   one word per line, and "How it works" was squeezed into a narrow strip.

   Fix: in the 768–1200px band, (a) stack every flex container to full width
   (the same result the ≤767px mobile layout produces), (b) cap the boxed
   CONTENT at a comfortable reading width and center it so stacked sections
   (esp. "How it works") don't stretch text edge-to-edge, and (c) cap card
   GRIDS at 2 across. Full-bleed sections (hero/background bands) and desktop
   (>1200px) are untouched.

   Scoped to the four product page-content ids (2859 celebrate, 2900 curate,
   2927 indulge, 1822 immerse). The shared header/footer (.elementor-59 /
   .elementor-119) live OUTSIDE these scopes, so the nav is never stacked.
   ========================================================================= */
@media (min-width: 768px) and (max-width: 1200px) {
  .elementor-2859 .e-con.e-flex, .elementor-2859 .e-con.e-flex > .e-con-inner,
  .elementor-2900 .e-con.e-flex, .elementor-2900 .e-con.e-flex > .e-con-inner,
  .elementor-2927 .e-con.e-flex, .elementor-2927 .e-con.e-flex > .e-con-inner,
  .elementor-1822 .e-con.e-flex, .elementor-1822 .e-con.e-flex > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }

  .elementor-2859 .e-con.e-flex > .e-con, .elementor-2859 .e-con.e-flex > .e-con-inner > .e-con,
  .elementor-2900 .e-con.e-flex > .e-con, .elementor-2900 .e-con.e-flex > .e-con-inner > .e-con,
  .elementor-2927 .e-con.e-flex > .e-con, .elementor-2927 .e-con.e-flex > .e-con-inner > .e-con,
  .elementor-1822 .e-con.e-flex > .e-con, .elementor-1822 .e-con.e-flex > .e-con-inner > .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Image/card grids: keep a tidy 2-up on tablet. */
  .elementor-2859 .e-con.e-grid,
  .elementor-2900 .e-con.e-grid,
  .elementor-2927 .e-con.e-grid,
  .elementor-1822 .e-con.e-grid {
    --e-con-grid-template-columns: repeat(2, 1fr) !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Cap the boxed CONTENT to a comfortable reading width and centre it, so the
     stacked sections read as a tidy column instead of edge-to-edge text. This
     is what makes "How it works" look intentional rather than sparse.
     `.e-con-full` (hero + full-bleed background bands) is NOT matched, so those
     stay full width. */
  .elementor-2859 .e-con-boxed > .e-con-inner,
  .elementor-2900 .e-con-boxed > .e-con-inner,
  .elementor-2927 .e-con-boxed > .e-con-inner,
  .elementor-1822 .e-con-boxed > .e-con-inner {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
