/* Fallback for the five pages whose Elementor per-page sheet Wayback never
   captured — country-coverage/post-121, detail-service/post-135,
   expedition/post-138, request-city-branch/post-146 and track-form/post-162
   (bare path and ?ver= both answer 404, so there is nothing to fetch; the files
   sitting under those names are other pages' sheets and match almost none of
   their page's element ids).

   Elementor core's own frontend.css is present and does the layout work:
   columns flex, widgets stack. What the page sheets alone carried is spacing,
   heading scale, the hero band and the card/gallery/form dressing, so this
   reproduces that behaviour generically.

   Only linked from those five pages, so the generic `wp-page` prefix cannot
   leak into the pages that do have their real sheet. Values follow the kit's
   palette: primary #297F87, accent #F6D167, text #545454. Not a pixel match —
   it is what keeps the pages from reading as unstyled HTML. */

.elementor[data-elementor-type="wp-page"] {
  --fb-primary: #297F87;
  --fb-accent: #F6D167;
  --fb-text: #545454;
  color: var(--fb-text);
}

/* the header is transparent and was designed to sit on the hero's gradient;
   with the hero unstyled the page content slid up under the header and the
   logo overlapped the title. Flat, because a gradient here would restart a
   second one under the hero's and the seam is visible across the band — the
   hero's left-hand colour continues it instead. */
body.page-id-121 .elementor-location-header,
body.page-id-135 .elementor-location-header,
body.page-id-138 .elementor-location-header,
body.page-id-146 .elementor-location-header,
body.page-id-162 .elementor-location-header {
  background-color: #297F87;
  color: #fff;
}

/* the nav band carries margin-bottom:-200px to lie over a hero, so the first
   section needs that band's height back as padding or it slides underneath */
.elementor[data-elementor-type="wp-page"] > section:first-of-type {
  background-image: linear-gradient(100deg, #297F87 0%, #33BAC7 100%);
  padding: 235px 15px 70px;
  color: #fff;
}

.elementor[data-elementor-type="wp-page"] > section {
  padding: 40px 15px;
}

.elementor[data-elementor-type="wp-page"] > section:first-of-type .elementor-heading-title,
.elementor[data-elementor-type="wp-page"] > section:first-of-type a { color: #fff; }

/* the widget wraps are flex rows that wrap; core's default row gap is what
   opened a hole between the heading block and the list beneath it */
.elementor[data-elementor-type="wp-page"] .elementor-widget-wrap { row-gap: 0; }

.elementor[data-elementor-type="wp-page"] .elementor-heading-title {
  line-height: 1.25;
  margin: 0 0 14px;
}

.elementor[data-elementor-type="wp-page"] h1 { font-size: 42px; }
.elementor[data-elementor-type="wp-page"] h2 { font-size: 30px; }

/* the accent bar the page sheets drew under headings */
.elementor[data-elementor-type="wp-page"] .elementor-divider-separator {
  border-top: 3px solid var(--fb-accent);
  width: 70px;
  margin: 0;
}

.elementor[data-elementor-type="wp-page"] .elementor-icon-list-items { list-style: none; margin: 0; padding: 0; }
/* the widget containers carry core's 20px bottom padding; the lists sit right
   under a heading, so drop it there and let the item rhythm do the spacing */
.elementor[data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-widget-container { padding-bottom: 0; }
.elementor[data-elementor-type="wp-page"] .elementor-icon-list-item { padding: 4px 0; }
.elementor[data-elementor-type="wp-page"] .elementor-icon-list-icon i { color: var(--fb-primary); }

/* the hero's first widget is a breadcrumb list (Home > <page>), not content */
.elementor[data-elementor-type="wp-page"] > section:first-of-type .elementor-widget-icon-list { margin-bottom: 18px; font-size: 14px; }
.elementor[data-elementor-type="wp-page"] > section:first-of-type .elementor-icon-list-item { padding: 0 10px 0 0; }
/* the crumbs' separator glyphs are real icons, not the 18px rule above */
.elementor[data-elementor-type="wp-page"] > section:first-of-type .elementor-icon-list-icon i {
  color: var(--fb-accent);
  font-size: 11px;
}

.elementor[data-elementor-type="wp-page"] > section:first-of-type .elementor-icon-list-item { display: inline-flex; align-items: center; }

/* standalone icon widgets: the page sheets set their size, and at core's
   fallback 50px each one opened a 58px hole between two headings */
.elementor[data-elementor-type="wp-page"] .elementor-widget-icon { margin: 0; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-icon .elementor-icon { font-size: 18px; color: var(--fb-accent); }
.elementor[data-elementor-type="wp-page"] > section:first-of-type .elementor-widget-icon,
/* the spacer's own top margin survives display:none and leaves a gap */
.elementor[data-elementor-type="wp-page"] .elementor-widget-spacer { display: none; margin: 0; }

/* country cards: the cta widget's own sheet is part of the missing page css,
   so the background image, the overlay and the button all need re-dressing */
.elementor[data-elementor-type="wp-page"] .elementor-cta {
  position: relative;
  min-height: 210px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-radius: 4px;
  color: #fff;
}

.elementor[data-elementor-type="wp-page"] .elementor-cta__bg-wrapper,
.elementor[data-elementor-type="wp-page"] .elementor-cta__bg { position: absolute; inset: 0; }
.elementor[data-elementor-type="wp-page"] .elementor-cta__bg { background-size: cover; background-position: center; transition: transform .4s; }
.elementor[data-elementor-type="wp-page"] .elementor-cta:hover .elementor-cta__bg { transform: scale(1.06); }
.elementor[data-elementor-type="wp-page"] .elementor-cta__bg-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .35); }
.elementor[data-elementor-type="wp-page"] .elementor-cta__content { position: relative; padding: 18px; }
.elementor[data-elementor-type="wp-page"] .elementor-cta__title { color: #fff; margin: 0 0 8px; font-size: 20px; }
.elementor[data-elementor-type="wp-page"] .elementor-cta__button {
  display: inline-block;
  padding: 7px 16px;
  background: var(--fb-primary);
  color: #fff;
  text-decoration: none;
  border-radius: 3px;
  font-size: 14px;
}

/* work gallery — the container layout is e-gallery's own: its script writes
   --item-width and absolute tops from data-width/data-height, so a grid display
   here fights it and leaves the tiles at their intrinsic 50px */
.elementor[data-elementor-type="wp-page"] .elementor-gallery__container { padding-top: 6px; }
.elementor[data-elementor-type="wp-page"] .elementor-gallery-item { position: relative; display: block; }
.elementor[data-elementor-type="wp-page"] .elementor-gallery-item__overlay { position: absolute; inset: 0; background: rgba(41, 127, 135, 0); transition: background .3s; }
.elementor[data-elementor-type="wp-page"] .elementor-gallery-item:hover .elementor-gallery-item__overlay { background: rgba(41, 127, 135, .5); }

/* video teaser: a background-image column whose only content is a play icon
   that opens a YouTube lightbox. Elementor's lightbox handler went with the
   missing Pro js, so the click is dead — the block still has to read as a video
   rather than a blank strip. */
.elementor[data-elementor-type="wp-page"] .elementor-element-4d6c813 {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #121212 url("../../../uploads/2021/11/moving-into-new-home-1.webp") center / cover no-repeat;
}

.elementor[data-elementor-type="wp-page"] .elementor-element-4d6c813 > .elementor-widget-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 320px;
}

.elementor[data-elementor-type="wp-page"] .elementor-element-132b9ebb .elementor-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .9);
}

/* fa-play-circle is a Font Awesome *regular* glyph and only the solid set is
   deployed here, so the <i> draws nothing; the triangle is a border instead */
.elementor[data-elementor-type="wp-page"] .elementor-element-132b9ebb .elementor-icon i {
  font-size: 0;
  width: 0;
  height: 0;
  margin-left: 5px;
  border-style: solid;
  border-width: 13px 0 13px 21px;
  border-color: transparent transparent transparent var(--fb-primary);
}

/* branch request form */
.elementor[data-elementor-type="wp-page"] .elementor-field-group { margin-bottom: 14px; }
.elementor[data-elementor-type="wp-page"] .elementor-field-label { display: block; margin-bottom: 5px; font-size: 15px; }
.elementor[data-elementor-type="wp-page"] .elementor-field {
  width: 100%;
  padding: 9px 11px;
  border: 1px solid #DADADA;
  border-radius: 3px;
  font-size: 15px;
}

.elementor[data-elementor-type="wp-page"] .elementor-button {
  background: var(--fb-primary);
  color: #fff;
  border: 0;
  padding: 11px 26px;
  border-radius: 3px;
  cursor: pointer;
}

@media (max-width: 767px) {
  .elementor[data-elementor-type="wp-page"] h1 { font-size: 30px; }
  .elementor[data-elementor-type="wp-page"] h2 { font-size: 24px; }

  /* the nav band's -200px pull is a desktop overlay device; on phones it drags
     the hero up over the logo, so cancel it and let the hero start below the
     header instead of clearing it with padding */
  .elementor-80 .elementor-element.elementor-element-5e90d91 { margin-bottom: 0; }

  .elementor[data-elementor-type="wp-page"] > section:first-of-type { padding: 45px 15px 45px; }
}
