/* SPL Invisible Grills — brand overrides on top of the base template */
:root {
  --cleanon-black: #22004b;
  --cleanon-black-rgb: 34, 0, 75;
  --cleanon-extra: #5d00a0;
  --cleanon-extra-rgb: 93, 0, 160;
  --cleanon-secondary: #150029;
  --cleanon-secondary-rgb: 21, 0, 41;
  --cleanon-base: #7600b4;
  --cleanon-base-rgb: 118, 0, 180;
  --cleanon-primary: #f8f3fc;
  --cleanon-primary-rgb: 248, 243, 252;
  --cleanon-gray: #5b5566;
  --cleanon-gray-rgb: 91, 85, 102;
  --cleanon-bdr-color: #e3d9ef;
  --cleanon-bdr-color-rgb: 227, 217, 239;
}

.main-menu__logo img,
.footer-logo img,
.site-footer-three__logo img {
  max-height: 62px;
  width: auto;
}

.mobile-nav__content .logo-box img {
  max-height: 46px;
  width: auto;
}

.sidebar-info-contents .logo img {
  max-height: 50px;
  width: auto;
}

/* White background behind the logo everywhere it appears, so it stays  */
/* legible on both light (nav) and dark (footer, mobile menu) surfaces  */
.main-menu__logo,
.site-footer-three__logo,
.mobile-nav__content .logo-box,
.sidebar-info-contents .logo {
  display: inline-block;
  background-color: #ffffff;
  border-radius: 10px;
  padding: 8px 16px;
}

.site-footer-three__logo,
.mobile-nav__content .logo-box {
  box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
}

/* Sticky call button for mobile */
.honey-call-fab {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;
  background: var(--cleanon-base);
  color: #ffffff;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
  text-decoration: none;
}
.honey-call-fab:hover { color: #ffffff; opacity: .9; }

/* Page header banner image cover */
.page-header__bg { background-position: center; background-size: cover; }

/* Service list icon fallback circle */
.services-two__icon i.fas,
.services-two__icon i.fal { font-size: 28px; color: var(--cleanon-extra); display: inline-block; transition: all 500ms linear; }
.counter-one__icon i.fas { font-size: 40px; }
.contact-info__icon i.fas { font-size: 30px; }
.sidebar__contact-icon i.fas { font-size: 30px; }
.footer-widget-three__title, .site-footer-three__social-title { color: #fff; }

.before-and-after__tag { text-transform: uppercase; letter-spacing: 1px; }

.top-strip {
  background: var(--cleanon-secondary);
  color: #ede0f7;
  font-size: 13px;
  padding: 6px 0;
  text-align: center;
}
.top-strip a { color: #c084fc; font-weight: 600; }

/* ------------------------------------------------------------------ */
/* Hero banner: lighter, neutral overlay instead of heavy green tint  */
/* ------------------------------------------------------------------ */
/*.main-slider__bg:before {
  background: rgba(255, 255, 255, 0.45) !important;
}*/
/* 3D-style shadow on the hero headline */
.main-slider__title,
.main-slider__sub-title,
.main-slider__text {
  text-shadow: 0 1px 0 rgba(0,0,0,.25),
               0 2px 3px rgba(0,0,0,.25),
               0 4px 10px rgba(0,0,0,.20);
}
.main-slider__title span {
  text-shadow: 0 1px 0 rgba(0,0,0,.25),
               0 2px 3px rgba(0,0,0,.28),
               0 4px 10px rgba(0,0,0,.22);
}

/* ------------------------------------------------------------------ */
/* Main navigation bar: white background, dark text for contrast      */
/* ------------------------------------------------------------------ */
.main-menu__wrapper,
.stricky-header.main-menu,
.stricky-header.stricky-fixed {
  background-color: #ffffff !important;
}

.main-menu .main-menu__list > li > a,
.stricky-header .main-menu__list > li > a {
  color: var(--cleanon-black);
}

.main-menu .main-menu__list > li.current > a,
.main-menu .main-menu__list > li:hover > a,
.stricky-header .main-menu__list > li.current > a,
.stricky-header .main-menu__list > li:hover > a {
  color: var(--cleanon-extra);
}

.main-menu__call-number a {
  color: var(--cleanon-black);
}
.main-menu__call-number a:hover {
  color: var(--cleanon-extra);
}

.main-menu__wrapper-inner {
  border-bottom: 1px solid rgba(var(--cleanon-black-rgb), .08);
}

/* ------------------------------------------------------------------ */
/* Sticky header on mobile & tablet too (template hid it below 1200px) */
/* ------------------------------------------------------------------ */
@media (max-width: 1199px) {
  .stricky-header {
    display: block !important;
  }
}

/* Long dropdown lists (Safety Nets / Bird & Sports Nets) stay on screen */
.main-menu .main-menu__list > li > ul {
  max-height: 75vh;
  overflow-y: auto;
}

/* ------------------------------------------------------------------ */
/* Enquiry / quote form styling (contact page + any other custom form) */
/* ------------------------------------------------------------------ */
.contact-form-validated .form-group {
  position: relative;
  margin-bottom: 20px;
}

.contact-form-validated input[type="text"],
.contact-form-validated input[type="email"],
.contact-form-validated input[type="tel"],
.contact-form-validated input[type="number"],
.contact-form-validated select,
.contact-form-validated textarea {
  width: 100%;
  height: 58px;
  padding: 0 24px;
  background-color: #fff;
  border: 1px solid var(--cleanon-bdr-color);
  border-radius: var(--cleanon-bdr-radius);
  font-size: 15px;
  font-family: var(--cleanon-font);
  color: var(--cleanon-black);
  transition: border-color 300ms ease, box-shadow 300ms ease;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}

.contact-form-validated select {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke='%2322004b' stroke-width='2' d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 22px center;
  padding-right: 45px;
  cursor: pointer;
}

.contact-form-validated textarea {
  height: 150px;
  padding-top: 16px;
  padding-bottom: 16px;
  resize: vertical;
}

.contact-form-validated input::placeholder,
.contact-form-validated textarea::placeholder {
  color: rgba(var(--cleanon-gray-rgb), .75);
  opacity: 1;
}

.contact-form-validated input:focus,
.contact-form-validated select:focus,
.contact-form-validated textarea:focus {
  border-color: var(--cleanon-extra);
  box-shadow: 0 0 0 3px rgba(var(--cleanon-extra-rgb), .12);
}

.contact-form-validated .message-btn {
  margin-top: 4px;
  margin-bottom: 0;
}

.contact-form-validated .result {
  margin-top: 14px;
  font-size: 14px;
}

/* ------------------------------------------------------------------ */
/* Custom cursor effect fully disabled (see header.php + body class)  */
/* ------------------------------------------------------------------ */
.custom-cursor__cursor,
.custom-cursor__cursor-two { display: none !important; }
* { cursor: auto !important; }
a, button, .thm-btn, [role="button"] { cursor: pointer !important; }
/* CLEAR & BRIGHT SLIDER IMAGE */

.main-slider__bg {
    opacity: 1 !important;
    filter: none !important;
    -webkit-filter: none !important;
    background-blend-mode: normal !important;
}

/* Very light white overlay */
.main-slider__bg::before {
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.08) 45%,
        rgba(255, 255, 255, 0.02) 100%
    ) !important;
    opacity: 1 !important;
}

/* Remove template dark shape */
.main-slider__shape-1 {
    display: none !important;
}