/* === PCI_FOOTER_ACCORDION_GAPS start (2026-10-13) === */

/* -------------------------------------------------------------------------
   1) Footer Links accordion
   Source: #footer .custom-menu > li.menu-item-has-children always expanded
   (The7 custom-menu children are display:block). Collapse by default; JS toggles.
   ------------------------------------------------------------------------- */
#footer ul.custom-menu > li.menu-item-has-children > ul {
  display: none;
  margin-left: 20px;
}
#footer ul.custom-menu > li.menu-item-has-children.pci-footer-acc--open > ul,
#footer ul.custom-menu > li.menu-item-has-children > ul:not([hidden]) {
  display: block;
}
#footer ul.custom-menu > li.menu-item-has-children > ul[hidden] {
  display: none !important;
}

#footer ul.custom-menu > li.menu-item-has-children > a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
}

/*
 * The7 leaves a:before as a 14×14 grey square (bg rgba white 0.15, no mask)
 * while the real chevron is the inline SVG. Hide the square; use the SVG only.
 */
#footer ul.custom-menu.show-arrow a::before,
#footer ul.custom-menu.show-arrow a:before,
#footer .widget_presscore-custom-menu-one .custom-menu.show-arrow a::before,
#footer .widget_presscore-custom-menu-one .custom-menu.show-arrow a:before {
  content: none !important;
  display: none !important;
  background: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Remove the extra CSS border chevron we added on the right */
#footer ul.custom-menu > li.menu-item-has-children > a::after,
#footer ul.custom-menu > li.menu-item-has-children > a:after {
  content: none !important;
  display: none !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  transform: none !important;
}

/* Clean original SVG chevron: › collapsed, ⌄ expanded */
#footer ul.custom-menu.show-arrow a > svg {
  position: static !important;
  display: inline-block !important;
  flex: 0 0 8px;
  width: 8px !important;
  height: 8px !important;
  margin: 0 !important;
  left: auto !important;
  top: auto !important;
  transform: none;
  fill: currentColor !important;
  color: inherit;
  vertical-align: middle;
}
#footer ul.custom-menu > li.menu-item-has-children > a > svg {
  transition: transform 0.18s ease;
  transform-origin: center center;
  transform: rotate(0deg); /* › */
}
#footer ul.custom-menu > li.menu-item-has-children.pci-footer-acc--open > a > svg {
  transform: rotate(90deg); /* ⌄ */
}
#footer ul.custom-menu > li.menu-item-has-children > a:focus-visible {
  outline: 2px solid #00aeef;
  outline-offset: 2px;
}

/* -------------------------------------------------------------------------
   2) White gaps around black sections / above footer
   Identified sources (do not strip intentional section padding):
   - FAQ (page-id-3331): stray <br> between .pci-faq-convert and #start-your-import
     (~18px white strip); Ultimate/row bg may leave #page white if not painted.
   - Import (page-id-5381): later rule forced .pci-imp-cta to width/left 100%/0,
     undoing 100vw breakout → ~50px white side gutters.
   - Home (page-id-555): #start-your-import not VC-stretched (1230px content box);
     trailing empty .vc_row (~35px) after ABN black band above #footer.
   ------------------------------------------------------------------------- */

/* FAQ: remove editor-injected <br> between stacked black bands */
body.page-id-3331 .wpb-content-wrapper > br {
  display: none !important;
}
body.page-id-3331 .pci-faq-convert.vc_row,
body.page-id-3331 #start-your-import.pci-cta,
body.page-id-3331 .pci-cta.pci-cro-enquiry-section {
  background-color: #0a0a0a !important;
}
/* Collapse residual seam between the two FAQ black bands */
body.page-id-3331 .pci-faq-convert.vc_row {
  margin-bottom: 0 !important;
}
body.page-id-3331 #start-your-import.pci-cta {
  margin-top: 0 !important;
}
/* Full-bleed insurance if Ultimate absolute bg is clipped */
body.page-id-3331 .pci-faq-convert.vc_row,
body.page-id-3331 #start-your-import.pci-cta {
  box-shadow: 0 0 0 100vmax #0a0a0a;
  clip-path: inset(0 -100vmax);
}

/* Import directory: restore full-bleed enquiry band.
   Page-embedded CSS later sets left:0/width:100% at equal specificity — beat it. */
html body.page-id-5381 #page #main .content .wpb-content-wrapper .vc_row.wpb_row.pci-imp-cta {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50% !important;
  right: auto !important;
  margin-left: -50vw !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  background-color: #0a0a0a !important;
  box-shadow: 0 0 0 100vmax #0a0a0a;
  clip-path: inset(0 -100vmax);
}
html body.page-id-5381 #page #main .content .wpb-content-wrapper .vc_row.pci-imp-cta .wpb_column,
html body.page-id-5381 #page #main .content .wpb-content-wrapper .vc_row.pci-imp-cta .vc_column-inner,
html body.page-id-5381 #page #main .content .wpb-content-wrapper .vc_row.pci-imp-cta .wpb_wrapper,
html body.page-id-5381 #page #main .content .wpb-content-wrapper .vc_row.pci-imp-cta .wpb_text_column,
html body.page-id-5381 #page #main .content .wpb-content-wrapper .vc_row.pci-imp-cta .wpb_raw_code,
html body.page-id-5381 #page #main .content .wpb-content-wrapper .pci-imp-cta-band {
  background-color: #0a0a0a !important;
}
@media (max-width: 767px) {
  html body.page-id-5381 #page #main .content .wpb-content-wrapper .vc_row.wpb_row.pci-imp-cta {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    margin-left: 0 !important;
    right: 0 !important;
  }
}

/* Home: full-bleed enquiry + ABN legal band; kill trailing empty row above footer */
html body.home #page #main .pci-cro-enquiry-section,
html body.page-id-555 #page #main .pci-cro-enquiry-section,
html body.home #page #main #start-your-import,
html body.page-id-555 #page #main #start-your-import {
  background-color: #0a0a0a !important;
  box-shadow: 0 0 0 100vmax #0a0a0a;
  clip-path: inset(0 -100vmax);
}
/* ABN / legal Ultimate black band above footer */
html body.home #page #main .wpb-content-wrapper > .vc_row.ult-vc-hide-row.vc_row-has-fill:last-of-type,
html body.page-id-555 #page #main .wpb-content-wrapper > .vc_row.ult-vc-hide-row.vc_row-has-fill:last-of-type {
  box-shadow: 0 0 0 100vmax #0a0a0a;
  clip-path: inset(0 -100vmax);
}
/* Trailing helper row after final Ultimate black band left a white strip above #footer */
body.home .wpb-content-wrapper > .vc_row:last-child:not(.ult-vc-hide-row):not(.pci-cro-enquiry-section),
body.page-id-555 .wpb-content-wrapper > .vc_row:last-child:not(.ult-vc-hide-row):not(.pci-cro-enquiry-section) {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
body.home .wpb-content-wrapper > .vc_row:last-child:not(.ult-vc-hide-row):not(.pci-cro-enquiry-section) .vc_column-inner,
body.page-id-555 .wpb-content-wrapper > .vc_row:last-child:not(.ult-vc-hide-row):not(.pci-cro-enquiry-section) .vc_column-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.home .wpb-content-wrapper > .vc_row:last-child:not(.ult-vc-hide-row):not(.pci-cro-enquiry-section) .vc_empty_space,
body.page-id-555 .wpb-content-wrapper > .vc_row:last-child:not(.ult-vc-hide-row):not(.pci-cro-enquiry-section) .vc_empty_space {
  display: none !important;
  height: 0 !important;
}
body.home #main,
body.page-id-555 #main,
body.page-id-3331 #main,
body.page-id-5381 #main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
body.home #footer,
body.page-id-555 #footer,
body.page-id-3331 #footer,
body.page-id-5381 #footer {
  margin-top: 0 !important;
}
/* Kill 1px light seam between final black band and #footer */
html body.home #footer,
html body.page-id-555 #footer {
  margin-top: -1px !important;
  position: relative;
  z-index: 1;
}
html body.home #page #main .wpb-content-wrapper > .vc_row.ult-vc-hide-row:last-of-type,
html body.page-id-555 #page #main .wpb-content-wrapper > .vc_row.ult-vc-hide-row:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* === PCI_FOOTER_ACCORDION_GAPS end === */
