/* ====================== AuckPest — Clean Header ====================== */ /* A) Hide ANY remaining theme logo/title blocks (normal + sticky) */ 
header.site-header .site-branding, header.site-header .logo, .anona-header .site-branding, .anona-header .logo, .is-sticky .site-branding, .is-sticky .logo, .site-title, .site-description 
{ display: none !important; } 
/* B) MENU — make top level items bigger (covers common wrappers) */ #menu-main-menu > li > a, .main-navigation .menu > li > a, .navbar-nav > li > a, .sf-menu > li > a, .primarymenu .menu > li > a, .menuwrap .menu > li > a 
{ font-size: 18px !important; /* ← change to 19/20px if you want bigger */ font-weight: 600 !important; line-height: 1.2 !important; padding: 10px 16px !important; } 
/* If the theme is visually shrinking the whole nav, neutralize it */ header .main-navigation, header .navbar, .primarymenu, .menuwrap 
{ transform: none !important; } 
/* C) CONTACT BAR — keep within page width and wrap nicely */ .ap-contact-bar
{ max-width: 1100px; margin: 0 auto; padding: .4rem 1rem; text-align: center; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; font-size: clamp(20px, 2.3vw, 36px); line-height: 1.3; white-space: normal !important; } .ap-contact-bar i{ margin: 0 .25em; font-size: .85em; } .ap-contact-bar a{ color: inherit; text-decoration: none; word-break: break-word; } @media (max-width: 768px){ .ap-contact-bar{ font-size: 18px; gap: .5rem; flex-direction: column; } } #menu-main-menu > li > a { background:#fff; color:#1a3d1c !important; border:2px solid #1a3d1c; border-radius:6px; margin:0 6px; transition:.25s ease; } #menu-main-menu > li > a:hover, #menu-main-menu > li.current-menu-item > a { background:#f7ca18 !important; color:#000 !important; border-color:#f7ca18 !important; } /* --- Remove redundant logo from Anona header area --- */ header.site-header .logo, header.site-header .logo img, header.site-header .site-branding, .anona-header .logo, .anona-header .logo img, .anona-header .site-branding, .header .logo, .header .site-branding, .site-title, .site-description { display: none !important; visibility: hidden !important; height: 0 !important; overflow: hidden !important; } /* --- Equal height cards in WP Bakery row --- */ .equal-row .wpb_column { display: flex; flex-direction: column; } .equal-row .wpb_wrapper { flex: 1; display: flex; flex-direction: column; justify-content: stretch; } .equal-row .wpb_text_column, .equal-row .vc_column-inner { height: 100%; } /* optional: tidy spacing between cards */ .equal-row .wpb_column { margin-bottom: 0 !important; } /* Make sure header sits above the banner */ .anona-header, header.site-header { z-index: 9999 !important; position: relative; } /* Force the mobile hamburger/toggle to be visible */ .menu-toggle, .anona-menu-toggle, #menu-toggle, .mobile-toggle { display: inline-flex !important; visibility: visible !important; opacity: 1 !important; align-items: center; cursor: pointer; } /* Ensure the mobile nav container is rendered on small screens */ @media (max-width: 991px) { /* Hide desktop nav if it's overlapping */ .anona-nav, .main-nav, .desktop-nav { display: none !important; } /* Show mobile nav wrapper */ .anona-mobile-nav, .mobile-nav, .offcanvas-nav, .mobile-menu { display: block !important; } /* Basic slide-in behavior if theme JS fails */ .anona-mobile-nav, .mobile-menu { position: fixed; top: 0; right: 0; bottom: 0; width: 80%; max-width: 340px; overflow-y: auto; background: #fff; transform: translateX(100%); transition: transform .3s ease; box-shadow: -4px 0 16px rgba(0,0,0,.15); } .mobile-nav-open .anona-mobile-nav, .mobile-nav-open .mobile-menu { transform: translateX(0); } } /* If your header text/icons are white-on-white after the banner change */ .anona-header .menu-toggle svg, .anona-header .menu-toggle i, .anona-header .anona-menu-toggle i { color: #111 !important; fill: #111 !important; } /* --- Global: stop any horizontal spill on small screens --- */ html, body { overflow-x: hidden; } /* --- Columns: force single-column stacking on phones --- */ @media (max-width: 767px) { .vc_col-sm-6, .vc_col-sm-4, .vc_col-sm-8, .vc_col-sm-5, .vc_col-sm-7, .vc_col-sm-3, .vc_col-sm-9, .vc_col-sm-10, .vc_col-sm-2, .vc_col-sm-12 { width: 100% !important; max-width: 100% !important; float: none !important; } .vc_column_container, .wpb_column { padding-left: 15px !important; padding-right: 15px !important; box-sizing: border-box; } /* Kill negative row gutters that can push content wider than viewport */ .vc_row, .wpb_row { margin-left: 0 !important; margin-right: 0 !important; } } /* --- Forms: make every control fluid --- */ .wpcf7 form .wpcf7-form-control, form input[type="text"], form input[type="email"], form input[type="tel"], form input[type="url"], form input[type="number"], form input[type="search"], form input[type="password"], form select, form textarea { width: 100% !important; max-width: 100% !important; box-sizing: border-box; display: block; } /* If your form uses side-by-side "rows" in WPBakery, make them wrap nicely */ .form-row, .wpcf7 .row, .anona-form-row, .wpb_wrapper .row { display: flex; flex-wrap: wrap; gap: 12px; } .form-row > *, .wpcf7 .row > *, .anona-form-row > *, .wpb_wrapper .row > * { flex: 1 1 100%; min-width: 0; /* prevents flex children from overflowing */ } /* Submit buttons: full width on phones for comfort */ @media (max-width: 767px) { form input[type="submit"], form button[type="submit"] { width: 100% !important; } } /* Common troublemaker: fixed widths on inputs from theme styles */ input, select, textarea { max-width: 100% !important; } /* reCAPTCHA v2 widget can overflow on narrow screens – scale it a touch */ @media (max-width: 400px) { .grecaptcha-badge, .g-recaptcha { transform: scale(0.9); transform-origin: bottom right; } } /* Safety net: keep main containers from spilling horizontally */ .site-content, .content-area, .container, .anona-content { overflow-x: hidden; } /* Fix Anona [section]/[one_fourth] columns being clipped or missing */ .fix-cols { overflow: visible !important; } .fix-cols:after { content: ""; display: block; clear: both; } /* Desktop: 4-up */ .fix-cols .one_fourth, .fix-cols .one_fourth_last { float: left !important; width: 25% !important; box-sizing: border-box; padding: 0 12px; visibility: visible !important; opacity: 1 !important; } .fix-cols img { max-width: 100% !important; height: auto !important; display: block; } /* Tablet: 2-up */ @media (max-width: 991px){ .fix-cols .one_fourth, .fix-cols .one_fourth_last { width: 50% !important; } } /* Phone: 1-up */ @media (max-width: 600px){ .fix-cols .one_fourth, .fix-cols .one_fourth_last { width: 100% !important; } } /* Neutralize any accidental “hidden on device” classes inside this section */ .fix-cols .vc_hidden-lg, .fix-cols .vc_hidden-md, .fix-cols .vc_hidden-sm, .fix-cols .vc_hidden-xs { display: block !important; } /* === Boxed layout helpers (safe) =================================== */

/* Keep normal pages boxed */
.container, .content-area, .site-content, .anona-content {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}

/* Prevent WPBakery negative gutters creating horizontal scroll */
.container .vc_row,
.site-content .vc_row,
.anona-content .vc_row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Allow content to show (avoid clipping) */
.vc_row, .wpb_row, .vc_column_container, .wpb_wrapper {
  overflow: visible !important;
}

/* Media should be responsive */
img, iframe, video {
  max-width: 100%;
  height: auto;
}

/* Stop horizontal scroll */
html, body { overflow-x: hidden !important; }

/* === Allow SELECTED rows to be true full width ====================== */
/* Add class "ap-fullbleed" to the ROW in WPBakery */
.ap-fullbleed.vc_row[data-vc-full-width]{
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ap-fullbleed .vc_column_container,
.ap-fullbleed .vc_column-inner{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* === Services tiles (your grid) ==================================== */
.services-tiles .vc_column_container,
.services-tiles .vc_column-inner,
.services-tiles .wpb_wrapper{
  display:flex;
  flex-direction:column;
}

.services-tiles .wpb_single_image{
  margin-bottom: 12px !important;
}

.services-tiles .wpb_single_image img,
.services-tiles .vc_single_image-img{
  width: 100% !important;
  height: auto !important;
  display: block;
  border-radius: 6px;
}

.services-tiles .wpb_text_column{
  text-align: center;
  margin-top: 6px;
}

@media (max-width: 991px){
  .services-tiles .vc_col-sm-3 { width: 50% !important; }
}
@media (max-width: 600px){
  .services-tiles .vc_col-sm-3 { width: 100% !important; }
}

/* === Kill stray overlays =========================================== */
.bodyoverlay,
#stretched > .bodyoverlay,
body .bodyoverlay,
body div#bodyoverlay,
body .chatbot-overlay,
body div[class*="overlay"]:empty {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* === Header banner ================================================== */
.ap-header-banner{
  background-image: url('https://auckpest.co.nz/wp-content/uploads/2026/01/adjusted-ap-banner.png') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
  width: 100% !important;
  min-height: 280px !important;
  display: block !important;
}

@media (max-width: 767px){
  .ap-header-banner{
    min-height: 200px !important;
    background-position: center top !important;
  }
}

/* === Slider mobile height (scope it to full-bleed rows if desired) === */
@media (max-width: 768px){
  .slider,
  .slider .slide,
  .slider img{
    min-height: 600px !important;
    height: 600px !important;
  }
  .slider img{ object-fit: cover !important; }
}