/* Reason: stop mobile sideways scrolling caused by overflowing blocks */
html,
body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}




.yoast-hidden-faq {
  display: none !important;
}

.schema-faq-section,
.schema-faq,
.schema-faq-question,
.schema-faq-answer {
    display: none !important;
} */

img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.cover-halfwidth {
  width: 50vw !important;
  max-width: 50vw !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
}

.custom-half-block {
  width: 50vw !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* Bottom border for each submenu item */
.wp-block-navigation__submenu-container li a {
    border-bottom: 1px solid #e5e5e5;
}

/* Remove border from the last item */
.wp-block-navigation__submenu-container li:last-child a {
    border-bottom: none;
}

/* Rounded corners for the entire dropdown menu */
.wp-block-navigation__submenu-container {
    border-radius: 5px;
    overflow: hidden; /* keeps inside borders clean and rounded */
}


footer a {
    text-decoration: none;
}


//DriverLink Code

.wp-block-group.driverlink-form{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Control the actual form width on desktop */
.wp-block-group.driverlink-form .fluentform,
.wp-block-group.driverlink-form form{
  width: 50vw !important;
  max-width: 50vw !important;
  margin-left: auto !important;
  margin-right: auto !important;
}





/* Mobile */
@media (max-width: 768px){
  .wp-block-group.driverlink-form .fluentform,
  .wp-block-group.driverlink-form form{
    width: 70vw !important;
    max-width: 70vw !important;
  }
}


/////////////////////////////

/* Reason: keeps hero button controlled on desktop and centred/wider on mobile */

/* Desktop */
.edgeline-hero-btn,
.edgeline-hero-btn * {
  box-sizing: border-box !important;
}

.edgeline-hero-btn {
  width: 100% !important;
  max-width: 100% !important;
}

.edgeline-hero-btn .wp-block-button,
.edgeline-hero-btn .wp-block-button[style],
.edgeline-hero-btn .is-style-fill,
.edgeline-hero-btn .is-style-fill[style] {
  width: 25% !important;
  max-width: 25% !important;
  flex: 0 0 25% !important;
  flex-basis: 25% !important;
}

.edgeline-hero-btn .wp-block-button__link,
.edgeline-hero-btn a {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Reason: desktop/tablet button width = 50% */
.edgeline-half-btn .wp-block-button {
  width: 50% !important;
  max-width: 50% !important;
  flex: 0 0 50% !important;
}

/* Reason: mobile button width = 80% and centred */
@media (max-width: 768px) {
  .edgeline-half-btn {
    display: flex !important;
    justify-content: center !important;
  }

  .edgeline-half-btn .wp-block-button {
    width: 80% !important;
    max-width: 320px !important;
    flex: 0 0 80% !important;
  }

  .edgeline-half-btn .wp-block-button__link {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .edgeline-hero-btn {
    display: flex !important;
    justify-content: center !important;
  }

  .edgeline-hero-btn .wp-block-button,
  .edgeline-hero-btn .wp-block-button[style],
  .edgeline-hero-btn .is-style-fill,
  .edgeline-hero-btn .is-style-fill[style] {
    width: 80% !important;
    max-width: 320px !important;
    flex: 0 0 80% !important;
    flex-basis: 80% !important;
  }
}


@media (max-width: 768px) {
  .edgeline-cards {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .edgeline-cards > * {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

@media (max-width: 768px) {
  .edgeline-steps-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

	
  .edgeline-steps-row > * {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}





@media (max-width: 768px) {
  .edgeline-step-card,
  .edgeline-step-card > *,
  .edgeline-step-card .wp-block-group,
  .edgeline-step-card .wp-block-stack,
  .edgeline-step-card .wp-block-heading,
  .edgeline-step-card p {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 768px) {
  .edgeline-step-card {
    text-align: center !important;
  }

  .edgeline-step-card .wp-block-heading:first-child {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    text-align: center !important;
  }
}
/* Footer mobile */
@media (max-width: 768px) {
  .edgeline-footer-row {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(20px, 6vh, 60px) !important;
    align-items: center !important;
  }

  .edgeline-footer-row > * {
    width: 100% !important;
    max-width: 100% !important;
  }

  .edgeline-footer-row img {
    width: 35vw !important;
    max-width: 180px !important;
    min-width: 130px !important;
    height: auto !important;
    margin: 0 auto 10px auto !important;
    display: block !important;
  }

  .edgeline-footer-columns {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  .edgeline-footer-columns .wp-block-column:not(:first-child) {
    padding-top: 6vh !important;
  }
}

/* Desktop - control width so it breaks nicely */
.edgeline-hero-subtext {
  max-width: 380px;
}

/* Mobile - allow full natural flow */
@media (max-width: 768px) {
  .edgeline-hero-subtext {
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  .edgeline-featured-covers {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .edgeline-featured-covers > * {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
  }
}



/* Reason: force the outer group full width, then force all nested content inside it to use 80vw instead of the saved 50vw setting */
@media (max-width: 768px) {
  .edgeline-story-group,
  .edgeline-story-group[style] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .edgeline-story-group *,
  .edgeline-story-group *[style] {
    max-width: 80vw !important;
    width: 80vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}



/* Mobile: stack row, full width children, group above cover */
@media (max-width: 768px) {

  .edgeline-row-stack {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .edgeline-row-stack > *,
  .edgeline-row-stack > *[style] {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
  }

  .edgeline-row-stack > .wp-block-group {
    order: 1 !important;
  }

  .edgeline-row-stack > .wp-block-cover,
  .edgeline-row-stack > .wp-block-image {
    order: 2 !important;
  }

}

/* Mobile: add space below text group */
@media (max-width: 768px) {

  .edgeline-group-mobile {
    padding-bottom: 40px !important;
  }

}






/* Reason: fully removes the spacer block on mobile, including WordPress inline spacer height */
@media (max-width: 768px) {
  .edgeline-hide-mobile,
  .edgeline-hide-mobile[style],
  .edgeline-hide-mobile.wp-block-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}


/* Reason: centre only text elements on mobile, leave buttons/images untouched */
@media (max-width: 768px) {

  .edgeline-row-stack h1,
  .edgeline-row-stack h2,
  .edgeline-row-stack h3,
  .edgeline-row-stack h4,
  .edgeline-row-stack h5,
  .edgeline-row-stack h6,
  .edgeline-row-stack p {
    text-align: center !important;
  }

}

/* Reason: make section fill full screen height on mobile */
@media (max-width: 768px) {

  .edgeline-whatwedo {
    min-height: 80vh !important;   /* ensures full screen height */
    display: flex !important;       /* allows centering if needed */
    flex-direction: column !important;
    justify-content: center !important; /* vertically centre content */
  }
}

//no padding for row in FAQ page
/* Reason: remove all padding/margin from this row and its children on mobile */
/* Reason: remove mobile spacing from the FAQ row AND the inner group/stack causing the gap */
@media (max-width: 768px) {

  .edgeline-no-padding-row,
  .edgeline-no-padding-row > *,
  .edgeline-faq-group,
  .edgeline-faq-group > *,
  .edgeline-faq-group .wp-block-group,
  .edgeline-faq-group .wp-block-stack {
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
  }

}




/* Reason: remove default heading/paragraph spacing inside this FAQ group on mobile */
/* Reason: override WordPress editor padding presets on this FAQ group only on mobile */
@media (max-width: 768px) {
  .edgeline-faq-group,
  .edgeline-faq-group[style] {
    padding-top: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
  }
}

/* Reason: apply padding only on mobile */
@media (max-width: 768px) {
  .edgeline-stack-padding {
    padding-left: 10vw !important;
    padding-bottom: 150px !important;
  }
}

/* Reason: force-remove all padding from any element */
/* Reason: allow custom padding only on mobile */
/* Reason: remove all padding only on mobile screens */
@media (max-width: 768px) {

  .edgeline-no-pad,
  .edgeline-no-pad[style],
  .edgeline-no-pad *[style] {
    padding: 0 !important;
  }
}


/* Reason: fixes buttons sitting over cover images on mobile without changing desktop */
/* Reason: add vertical padding to buttons on cover images (mobile only) */
/* Reason: add vertical padding only to chosen buttons on mobile */
@media (max-width: 768px) {

  .edgeline-btn-pad .wp-block-button__link,
  .edgeline-btn-pad.wp-block-button__link {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

/* Reason: add 10vh top margin only on mobile */
@media (max-width: 768px) {

  .edgeline-mt-mobile {
    margin-top: 10vh !important;
  }

}

@media (max-width: 768px) {

  .edgeline-mt-mobile-others {
    margin-top: 30vh !important;
  }
}


/* Reason: centre only text inside this columns block on mobile */
@media (max-width: 768px) {

  .edgeline-columns-center h1,
  .edgeline-columns-center h2,
  .edgeline-columns-center h3,
  .edgeline-columns-center h4,
  .edgeline-columns-center h5,
  .edgeline-columns-center h6,
  .edgeline-columns-center p {
    text-align: center !important;
  }
}

/* Reason: add spacing between buttons only on mobile */
@media (max-width: 768px) {

  .edgeline-btn-gap .wp-block-button:not(:last-child) {
    margin-bottom: 8px !important;
  }
}


/* Reason: force bottom padding even when edgeline-no-pad is present */
@media (max-width: 768px) {

  .edgeline-no-pad.edgeline-pb-mobile {
    padding-bottom: 15vh !important;
  }
}

/* Reason: mobile-only padding override for elements with both classes */
@media (max-width: 768px) {

  .edgeline-no-pad.edgeline-pb-mobile30 {
    padding-bottom: 30vh !important;
    padding-left: 10vw !important;
    padding-right: 10vw !important;
  }

}

@media (max-width: 768px) {

  .edgeline-no-pad.edgeline-pb-mobile5 {
    padding-bottom: 15px !important;
  }
}

@media (max-width: 768px) {

  .edgeline-no-pad.edgeline-pb-mobile2 {
    padding-left: 15px !important;
		padding-right: 15px !important;
  }
}

/* Reason: style the WordPress mobile menu overlay */
@media (max-width: 768px) {

  .wp-block-navigation__responsive-container.is-menu-open {
    background: #ffffff !important;
    padding: 32px 24px !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 20px !important;
  }
	
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    font-size: 24px !important;
    line-height: 1.3 !important;
    padding: 10px 0 !important;
  }

}




// Animations


.edgeline-animation-wrap {
  outline: 0 solid transparent !important;
  background: transparent !important;
}

/* hidden state */
.edgeline-animation-wrap {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 2.5s ease, transform 2.5s ease;
}

/* visible */
.edgeline-animation-wrap.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Reason: adds 1 second delay when combined with animation */
.edgeline-delay-1.is-visible {
  transition-delay: 0.5s;
}





/* Reason: one-time bounce instead of continuous */
.edgeline-bounce.is-visible,

.edgeline-bounce.is-visible * {

  animation: edgelineBounceOnce 1.2s cubic-bezier(.34, 1.56, .64, 1) forwards !important;

}

@keyframes edgelineBounceOnce {
  0% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(-6px);
  }

  60% {
    transform: translateY(2px);
  }

  80% {
    transform: translateY(-2px);
  }

  100% {
    transform: translateY(0);
  }
}


/* Reason: show clickable cursor */
.edgeline-cover-click {
  cursor: pointer;
}
/* Subtle hover feedback */
.edgeline-cover-click:hover {
  transform: scale(1.01);
}



/* Reason: mobile-only zoom waits until JS adds is-visible */
@media (max-width: 768px) {
  .edgeline-zoom {
    overflow: hidden !important;
    transform: scale(0.95) !important;
    transition: transform 3.2s ease !important;
    transform-origin: center center !important;
  }

  .edgeline-zoom.is-visible {
    transform: scale(1.05) !important;
  }
}



@media (max-width: 768px) {
  .edgeline-phone-field svg {
    width: 10px !important;
    max-width: 10px !important;
    height: 6px !important;
    max-height: 6px !important;
  }

  .edgeline-phone-field,
  .edgeline-phone-field * {
    width: auto !important;
    max-width: none !important;
  }

  .edgeline-phone-field {
    width: 100% !important;
    max-width: 100% !important;
  }

  .edgeline-phone-field input[type="tel"] {
    width: 100% !important;

  }
}



.cmplz-manage-consent,
.cmplz-manage-consent-button,
.cmplz-manage-consent-container {
    display: none !important;
}

@media (max-width: 768px) {
  input[type="checkbox"] {
    width: 22px !important;
    max-width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    max-height: 22px !important;
    min-height: 22px !important;
    flex: 0 0 22px !important;
    margin-right: 10px !important;
  }

  .wp-block-jetpack-field-checkbox,
  .wp-block-jetpack-field-checkbox label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    text-align: left !important;
  }
}

