/* 777 Hire menu active and selected colour fix */
.c-top-menu a:hover,
.c-top-menu li:hover > a,
.c-top-menu .current-menu-item > a,
.c-top-menu .current-menu-parent > a,
.c-top-menu .current-menu-ancestor > a,
.c-top-menu .current_page_item > a,
.c-top-menu .current_page_parent > a,
.c-top-menu .current_page_ancestor > a,
.c-top-menu .current-catalog-ancestor > a,
.c-top-menu .current-vehicle_type-ancestor > a,
.c-top-menu .current-vehicle_type-parent > a,
.c-top-menu .current-vehicle_type-item > a,
.c-top-menu .current-cat > a,
.c-top-menu .current-cat-parent > a,
.c-top-menu .current-cat-ancestor > a {
    color: #f4c400 !important;
}
.c-top-menu a:hover *,
.c-top-menu li:hover > a *,
.c-top-menu .current-menu-item > a *,
.c-top-menu .current-menu-ancestor > a * {
    color: #f4c400 !important;
}
/* Reduce spacing on hire item detail pages */
.single-catalog .c-page-header {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
    min-height: auto !important;
}

.single-catalog .c-page-header__title {
    font-size: 48px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}

.single-catalog .c-page-header .l-section__container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.single-catalog .l-section--margin-120 {
    margin-top: 10px !important;
}

.single-catalog .l-section--margin-bottom-60 {
    margin-bottom: 10px !important;
}
/* Reduce spacing below product image without hiding gallery */
.single-catalog .c-vehicle-details__images-block {
    margin-bottom: 15px !important;
}

.single-catalog .c-vehicle-details__gallery {
    margin-bottom: 15px !important;
}

.single-catalog .c-vehicle-details__title {
    margin-top: 10px !important;
}
/* Pull product image section closer to the header */
.single-catalog .c-vehicle-details {
    padding-top: 0 !important;
}

.single-catalog .c-vehicle-details__images-block {
    margin-top: -20px !important;
}
/* 777 Hire catalogue card alignment */
.c-vehicle-vert__title {
    height: 62px !important;
    min-height: 62px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow: hidden !important;
    text-align: center !important;
}

.c-vehicle-vert__title a {
    display: block !important;
    width: 100% !important;
}

.c-vehicle-vert__title-inner {
    display: block !important;
    line-height: 1.25 !important;
}

/* Align Request Price Below and Request */
.c-vehicle-vert__total-wrap {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    height: 36px !important;
    min-height: 36px !important;
}

.c-vehicle-vert__total-wrap-col,
.c-vehicle-vert__total {
    display: flex !important;
    align-items: center !important;
}

.c-vehicle-vert__total-title,
.c-vehicle-vert__total-request {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}
/* Mobile subcategory title wrapping fix */
@media (max-width: 767px) {
    .c-subcat__title {
        font-size: 18px !important;
        line-height: 1.25 !important;
        max-width: 170px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }
}

/* JACK AT SEO WORKS UPLOADED THIS - Intro paragraph. Default (fallback, JS not yet run): centred dark text in the
   white area below the banner — still on-brand if the snippet ever fails. */
.c-page-header__intro {
  margin: 18px auto 6px;
  max-width: 760px;
  padding: 0 20px;
  color: #4a4a4a;
  font-size: 16.5px;
  line-height: 1.6;
  text-align: center;
}
.c-page-header__intro a { color: inherit; text-decoration: underline; }

/* Once the snippet moves it inside the dark banner: the approved design */
.c-page-header__wrap .c-page-header__intro {
  margin: 14px auto 4px;
  color: #cfcfcf;
}

/* === Bottom FAQ section (per-category bottom HTML block) === */
.faq-section { padding: 6px 0 58px; }
.faq-accordion { max-width: 880px; margin: 0 auto; }
.faq-item {
  border: 1px solid #e7e7e7;
  border-radius: 10px;
  background: #fff;
  margin-bottom: 12px;
  overflow: hidden;
}
.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 18px 22px;
  font-weight: 700;
  font-size: 17px;
  color: #161616;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  font-size: 26px;
  line-height: 1;
  color: #e0b300;
  flex: 0 0 auto;
}
.faq-item[open] summary::after { content: "–"; }
.faq-item[open] summary { border-bottom: 1px solid #f0f0f0; }
.faq-item__a { padding: 16px 22px 20px; color: #4a4a4a; line-height: 1.65; font-size: 16px; }
.faq-item__a ul { margin: 10px 0 0 20px; }
.faq-item__a a { color: #161616; text-decoration: underline; }
