/* Lifehampers: consistent mobile/tablet header (logo left, hamburger right, vertically centred).
   Applies on every template (pages, posts, archives) because it targets the global Xpro header. */
@media (max-width: 1024px) {
  .xpro-theme-builder-header .elementor-element-6870cb31 { padding: 8px 0 !important; }
  .xpro-theme-builder-header .elementor-element-6870cb31 > .elementor-container {
    display: flex !important; flex-wrap: nowrap !important; align-items: center !important;
    justify-content: space-between !important; min-height: 64px; padding: 0 16px !important;
    box-sizing: border-box; max-width: 100% !important;
  }
  .xpro-theme-builder-header .elementor-element-71aa1d3,
  .xpro-theme-builder-header .elementor-element-1b16cf7a {
    width: auto !important; flex: 0 0 auto !important; min-height: 0 !important;
  }
  .xpro-theme-builder-header .elementor-element-71aa1d3 > .elementor-widget-wrap,
  .xpro-theme-builder-header .elementor-element-1b16cf7a > .elementor-widget-wrap {
    padding: 0 !important; display: flex !important; align-items: center !important; flex-wrap: nowrap !important;
  }
  .xpro-theme-builder-header .elementor-element-1b16cf7a > .elementor-widget-wrap { justify-content: flex-end !important; }
  .xpro-theme-builder-header .elementor-element-71722150 {
    width: auto !important; max-width: none !important; margin: 0 !important;
  }
  .xpro-theme-builder-header .elementor-element-71722150 .wpr-logo {
    display: flex !important; align-items: center !important; justify-content: flex-start !important;
    margin: 0 !important; padding: 0 !important; text-align: left !important; position: relative;
  }
  .xpro-theme-builder-header .elementor-element-71722150 .wpr-logo-image { display: block; margin: 0 !important; max-width: none !important; width: auto !important; }
  .xpro-theme-builder-header .elementor-element-71722150 .wpr-logo-image img {
    display: block; height: 56px !important; width: 56px !important; max-width: none !important;
    object-fit: contain; margin: 0 !important;
  }
  .xpro-theme-builder-header .elementor-element-31e3ce40 {
    margin: 0 !important; width: auto !important; max-width: none !important; position: static !important;
  }
  .xpro-theme-builder-header .elementor-element-31e3ce40 > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
  .xpro-theme-builder-header .xpro-elementor-horizontal-menu-toggler-wrapper {
    display: flex !important; align-items: center !important; justify-content: flex-end !important;
    width: auto !important; margin: 0 !important; padding: 0 !important;
  }
  .xpro-theme-builder-header button.xpro-elementor-horizontal-menu-toggler,
  .xpro-theme-builder-header button.xpro-elementor-horizontal-menu-toggler:hover,
  .xpro-theme-builder-header button.xpro-elementor-horizontal-menu-toggler:focus {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    width: 44px !important; height: 44px !important; min-width: 44px; padding: 0 !important; margin: 0 !important;
    font-size: 24px !important; line-height: 1 !important; color: #0C126D !important;
    background: transparent !important; border: 0 !important; border-radius: 8px !important; box-shadow: none !important;
  }
  .xpro-theme-builder-header button.xpro-elementor-horizontal-menu-toggler:focus-visible { outline: 2px solid #4F1CA3 !important; outline-offset: 2px; }
  .xpro-theme-builder-header .xpro-elementor-horizontal-menu-toggler i { line-height: 1 !important; display: block; }
}

/* Homepage hero: paint the first slide immediately (LCP) while the slideshow script loads */
.elementor-1463 .elementor-element-8bcd764{background-image:url(/wp-content/uploads/2025/08/930bd09e29c7dc8ae306b06734c12692.webp);background-size:cover;background-position:center;background-repeat:no-repeat}
@media (min-width:768px){.elementor-1463 .elementor-element-8bcd764{background-image:url(/wp-content/uploads/2025/08/930bd09e29c7dc8ae306b06734c12692.webp)}}

/* Header/footer wrappers: Xpro prints them with post_class(), so on pages and posts they picked up Astra's
   article padding (≈22px top, 15px sides). That pushed the logo and hamburger inward and down versus the
   homepage. Reset so the header sits identically on every template. */
.xpro-theme-builder-header .xpro-theme-builder-header-nav > .elementor,
.xpro-theme-builder-header .elementor-5026,
.xpro-theme-builder-footer .elementor-5027 { padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; max-width: none !important; width: 100% !important; }

/* Tablet: logo left; search, booking button and hamburger grouped on the right with the hamburger last. */
@media (min-width: 768px) and (max-width: 1024px) {
  .xpro-theme-builder-header .elementor-element-515bbe7a,
  .xpro-theme-builder-header .elementor-element-2db9a91f { width: auto !important; flex: 0 0 auto !important; min-height: 0 !important; }
  .xpro-theme-builder-header .elementor-element-515bbe7a { order: 2; margin-left: auto !important; }
  .xpro-theme-builder-header .elementor-element-2db9a91f { order: 3; margin-left: 12px !important; }
  .xpro-theme-builder-header .elementor-element-1b16cf7a { order: 4; margin-left: 12px !important; }
  .xpro-theme-builder-header .elementor-element-515bbe7a > .elementor-widget-wrap,
  .xpro-theme-builder-header .elementor-element-2db9a91f > .elementor-widget-wrap { padding: 0 !important; display: flex !important; align-items: center !important; flex-wrap: nowrap !important; }
  .xpro-theme-builder-header .elementor-element-41c815a6,
  .xpro-theme-builder-header .elementor-element-959178 { width: auto !important; max-width: none !important; margin: 0 !important; }
}

/* Inline-SVG icons inside ElementsKit widgets take the widget's icon colour (they were coloured via font colour before). */
:where(.ekit-wid-con) svg.e-font-icon-svg { fill: currentColor; }

/* Contrast (WCAG AA): Call Now button and social-proof timestamp */
.wpr-pc-btn, .elementor-widget-wpr-phone-call .wpr-pc-btn { background-color: #1E7B2E !important; }
.wpr-pc-btn:hover, .elementor-widget-wpr-phone-call .wpr-pc-btn:hover { background-color: #17652A !important; }
#lh-sp-time, .lh-sp-time { color: #595959 !important; }

/* Homepage hero: the rotating 'With Our Digital Solutions' text grows once its script runs, which pushed the
   buttons down (layout shift) and made the slideshow taller than the first-painted image (late LCP).
   Reserve its final height from the first paint. */
.elementor-1463 .elementor-element-b3481de { min-height: 154px; }
@media (max-width: 767px) { .elementor-1463 .elementor-element-b3481de { min-height: 98px; } }
@media (max-width: 767px) { .elementor-1463 .elementor-element-b3481de .wpr-anim-text { display: block; } }

/* Table of contents: same look as the homepage on every page and post (purple header/button, white body). */
body .eael-toc .eael-toc-header, body .eael-toc.collapsed .eael-toc-button { background-color: #4F1CA3 !important; color: #ffffff !important; }
body .eael-toc .eael-toc-header .eael-toc-title, body .eael-toc.collapsed .eael-toc-button i, body .eael-toc.collapsed .eael-toc-button svg { color: #ffffff !important; fill: #ffffff !important; }
body .eael-toc .eael-toc-body { background-color: #ffffff !important; }
body .eael-toc .eael-toc-body .eael-toc-list li, body .eael-toc .eael-toc-body .eael-toc-list li a { color: #707070 !important; }
body .eael-toc .eael-toc-body .eael-toc-list.eael-toc-bullet li:before { background-color: #707070 !important; }
body .eael-toc .eael-toc-body .eael-toc-list li:hover, body .eael-toc .eael-toc-body .eael-toc-list li:hover > a { color: #FA50FF !important; }
body .eael-toc .eael-toc-body .eael-toc-list li.eael-highlight-active > a, body .eael-toc .eael-toc-body .eael-toc-list li.eael-highlight-parent > a { color: #ff7d50 !important; }
body .eael-toc .eael-toc-close { background-color: #ffffff !important; color: #ff7d50 !important; }
