/* Shared spacing refinements, after the preserved source styles. */
:root {
  --ybe-gutter:clamp(20px,4vw,48px);
  --ybe-section-space:clamp(40px,5vw,72px);
}
#content .page-content > .elementor > .e-con {
  padding-inline:var(--ybe-gutter);
  min-width:0;
  max-width:100%;
  box-sizing:border-box
}
#content .page-content > .elementor > .e-con-boxed {
  --padding-top:12px;
  --padding-bottom:12px
}
#content .elementor > .e-con > .e-con-inner {
  min-width:0
}
#content .elementor-widget-text-editor :is(p,ul,ol) {
  line-height:1.65;
  margin-block:0 16px
}
#content .elementor-widget-text-editor :is(h1,h2,h3,h4) {
  line-height:1.3;
  margin-block:28px 12px
}
#content .elementor-widget-text-editor :is(h1,h2,h3,h4):first-child {
  margin-top:0
}
#content .elementor-widget-text-editor :is(p,ul,ol):last-child {
  margin-bottom:0
}
#content .elementor-widget-text-editor li + li {
  margin-top:8px
}
#content .elementor-heading-title {
  line-height:1.3
}
#content .elementor-widget-text-editor,
#content .elementor-widget-heading {
  overflow-wrap:break-word
}
/* Give the end of every page breathing room before the shared footer. */
#content {
  padding-bottom:var(--ybe-section-space)
}
/* Bound the source's percentage-based gaps on the landing and contact pages. */
#content .elementor-40 > :is(.elementor-element-5e07416a,.elementor-element-603cf9f8,.elementor-element-46591b8d),
#content .elementor-11 > :is(.elementor-element-61aedc0f,.elementor-element-2c715678) {
  margin-top:var(--ybe-section-space)
}
#content .elementor-40 > :is(.elementor-element-54768fda,.elementor-element-5e07416a,.elementor-element-603cf9f8,.elementor-element-46591b8d) {
  --padding-top:clamp(28px,4vw,56px);
  --padding-bottom:clamp(28px,4vw,56px);
  padding-block:clamp(28px,4vw,56px)
}
#content .elementor-40 > .elementor-element-14045e5 {
  padding-block:12px
}
#content .elementor-28 > :is(.elementor-element-b3a856b,.elementor-element-5957b5a7,.elementor-element-98006ff,.elementor-element-d2dc8a7,.elementor-element-e571a1a,.elementor-element-19ca74f,.elementor-element-5ded4f9) {
  margin-top:var(--ybe-section-space)
}
/* The tyre hero had a fixed 500px minimum width and height on phones. */
#content .elementor-1048 > .elementor-element-67c5f3d {
  width:100%;
  min-width:0;
  min-height:0;
  height:auto
}
#content .elementor > .e-atomic-element img {
  max-width:100%;
  height:auto
}
/* Replace negative gallery margins with an actual responsive gap. */
#content .elementor-image-gallery .gallery {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin:0;
  width:100%
}
#content .elementor-image-gallery .gallery .gallery-item {
  width:100%;
  max-width:none;
  padding:0;
  margin:0
}
#content .elementor-image-gallery .gallery img {
  display:block;
  margin-inline:auto
}
/* Booking introduction, widget and supporting copy share the same gutters. */
#content .elementor-386 > .elementor-element-9d61b73 {
  --padding-top:24px;
  --padding-bottom:24px
}
#content .elementor-386 > .elementor-element-c91f224 {
  --padding-top:24px
}
/* Article/archive templates do not use Elementor's boxed containers. */
#content:not(:has(.elementor)) {
  width:100%;
  max-width:1140px;
  margin-inline:auto;
  padding:32px var(--ybe-gutter) var(--ybe-section-space)
}
#content:not(:has(.elementor)) :is(h1,h2,h3) {
  line-height:1.3;
  margin-block:28px 16px
}
#content:not(:has(.elementor)) p {
  line-height:1.65;
  margin-bottom:20px
}
#site-footer.site-footer {
  background:#000;
  color:#fff;
  padding:40px var(--ybe-gutter)
}
#site-footer .footer-inner {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:24px;
  width:100%;
  max-width:1140px;
  margin:0 auto;
  padding:0
}
#site-footer .site-branding,
#site-footer .copyright {
  margin:0;
  padding:0
}
#site-footer .site-logo img {
  display:block;
  width:260px;
  max-width:100%;
  height:auto;
  filter:brightness(0) invert(1)
}
#site-footer .copyright p {
  color:#ccc;
  margin:0;
  line-height:1.6;
  text-align:center
}
#site-footer a {
  color:#fff
}
#site-footer a:focus-visible {
  outline:2px solid #fff112;
  outline-offset:6px
}
@media(max-width:1050px) and (min-width:801px) {
  .ybe-booking-root .ybe-wizard {
    grid-template-columns:190px minmax(0,1fr) 190px
  }
}
@media(max-width:767px) {
  #content .elementor-image-gallery .gallery {
    grid-template-columns:minmax(0,1fr);
    gap:20px
  }
  #content .elementor > .e-con:first-child {
    margin-top:12px
  }
  #content .elementor-32 > .elementor-element-2ec9d630 {
    padding-top:24px
  }
}
@media(max-width:380px) {
  .ybe-booking-root .ybe-wizard .ybe-wizard-heading,
  .ybe-booking-root .ybe-wizard-body {
    padding-inline:16px
  }
  .ybe-booking-root .ybe-calendar-header h4 {
    font-size:23px
  }
  .ybe-booking-root .ybe-slot-grid {
    gap:8px
  }
  .ybe-booking-root .ybe-slots h4 {
    gap:8px;
    font-size:15px
  }
}
/* Remove inherited negative margins that misaligned the benefit list on tablets. */
#content .elementor-40 .elementor-widget-icon-box {
  margin:0
}
#content .elementor-40 .elementor-element-5e07416a > .e-con-inner {
  row-gap:28px
}
.ybe-booking-root .latepoint-inline-form,
.ybe-booking-root .latepoint-booking-form-element {
  width:100%;
  max-width:100%;
  min-width:0
}
.ybe-booking-root .ybe-booking .latepoint-w.latepoint-inline-form .latepoint-form-w {
  flex:1;
  min-width:0
}
@media(max-width:800px) {
  .ybe-booking-root .ybe-booking .latepoint-w.latepoint-inline-form .latepoint-side-panel {
    display:none
  }
  .ybe-booking-root .ybe-booking .latepoint-w.latepoint-inline-form .latepoint-form-w {
    width:100%
  }
}
/* Boxed sections put vertical padding on the inner container only. */
#content .elementor-40 > :is(.elementor-element-54768fda,.elementor-element-5e07416a,.elementor-element-46591b8d) {
  padding-block:0
}
#content .elementor-40 > :is(.elementor-element-54768fda,.elementor-element-5e07416a,.elementor-element-46591b8d) > .e-con-inner {
  padding-block:clamp(28px,4vw,56px)
}
#content .elementor-40 h1.elementor-heading-title {
  line-height:1.08
}
#content .elementor-40 > .elementor-element-14045e5 {
  margin-top:0;
  padding-block:8px
}
#content .elementor-40 > .elementor-element-14045e5 > .e-con-inner {
  padding-block:0
}
