/* ==========================================================================
   Maxi Maid Services — site-wide additions
   Load AFTER style.css and responsive.css. This file does NOT reset or
   override the theme's existing look — it only adds rules for pieces that
   didn't have theme CSS to begin with: footer badges, the footer's Get In
   Touch column, the footer quote button, the footer's split bottom bar,
   and the testimonial page's review-card layout.
   ========================================================================== */

/* Testimonial page: fix uneven gaps under short review cards.
   The theme's .review-grid uses CSS Grid, which pairs cards into fixed
   rows — a short card next to a tall one leaves dead space below it.
   Multi-column layout lets cards flow and pack tightly instead. */
.review-grid{
  display: block;
  column-count: 2;
  column-gap: 18px;
  max-width: 100%;
}
.review-card{
  display: inline-block;
  width: 100%;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  margin-bottom: 18px;
  padding: 20px 22px;
  border-radius: 14px;
}
/* Higher specificity (two classes) than the .review-card rule above,
   so these always win regardless of stylesheet load order -- fixes the
   testimonial page's filter tabs silently failing to hide cards. */
.review-card.review-card--filtered,
.review-card.review-card--hidden{
  display: none;
}
@media (min-width: 1400px){
  .review-grid{
    column-count: 3;
  }
}
@media (max-width: 768px){
  .review-grid{
    column-count: 1;
  }
}

/* Google-review-style card head: avatar, name/subtext, three-dot menu */
.review-card__head-left{
  display: flex;
  align-items: center;
  gap: 10px;
}
.review-card__avatar{
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  font-family: var(--Coreclean-font-two);
}
.review-card__meta{
  display: flex;
  flex-direction: column;
}
.review-card__name{
  font-size: 14px;
}
.review-card__subtext{
  font-size: 11px;
  color: #888888;
  margin: 1px 0 0;
}
.review-card__menu{
  color: #999999;
  font-size: 13px;
  padding: 4px;
  flex: 0 0 auto;
}
.review-card__stars{
  display: block;
  font-size: 13px;
  margin: 2px 0 8px;
}
.review-card__text{
  display: block;
  font-size: 13.5px;
  line-height: 1.6;
}

/* Trust badge pills, under the About text */

.footer-widget__badges{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 20px;
}
.footer-widget__badge{
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 500;
  font-family: var(--Coreclean-font-two);
  color: var(--Coreclean-white);
  background-color: rgba(var(--Coreclean-white-rgb), 0.08);
  border: 1px solid rgba(var(--Coreclean-white-rgb), 0.18);
  padding: 6px 12px;
  border-radius: 30px;
  line-height: 1;
}

/* Get In Touch column */
.footer-widget__contact{
  position: relative;
  display: block;
}
.footer-widget__contact-list{
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
}
.footer-widget__contact-list li{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--Coreclean-white);
  font-size: 16px;
}
.footer-widget__contact-list li + li{
  margin-top: 14px;
}
.footer-widget__contact-list i{
  position: relative;
  top: 3px;
  font-size: 16px;
  color: var(--Coreclean-base);
  flex: 0 0 18px;
}
.footer-widget__contact-list a{
  color: var(--Coreclean-white);
  transition: all 500ms ease;
}
.footer-widget__contact-list a:hover{
  color: var(--Coreclean-base);
}
.footer-widget__contact-list small{
  display: block;
  font-size: 13px;
  color: rgba(var(--Coreclean-white-rgb), 0.6);
  margin-top: 2px;
}

.footer-widget__quote-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
}

/* Residential / Commercial sub-labels inside the Services list */
.footer-widget__service-list li.footer-widget__service-label{
  color: rgba(var(--Coreclean-white-rgb), 0.55);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.footer-widget__service-list li.footer-widget__service-label + li{
  margin-top: 11px;
}
.footer-widget__service-list li:has(+ li.footer-widget__service-label){
  margin-bottom: 4px;
}

/* Agency credit logo in the bottom bar */
.site-footer__credit-link{
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-left: 6px;
}
.site-footer__credit-logo{
  height: 20px;
  width: auto;
  display: block;
}
.site-footer__bottom-inner{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 767px){
  .site-footer__bottom-inner{
    flex-direction: column;
    text-align: center;
  }
  .site-footer__bottom-menu{
    justify-content: center;
  }
}

/* ==========================================================================
   Homepage Services grid — compact replacement for the old services-one
   carousel. Real content, all services crawlable (no carousel JS gating),
   tabbed Residential/Commercial view, dense card layout.
   ========================================================================== */
.home-services{
  position: relative;
  display: block;
  background-color: #f1f5f9;
  padding: 90px 0 90px;
  z-index: 1;
}

.home-services__tabs{
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 36px;
}
.home-services__tab{
  border: 1px solid rgba(28, 28, 28, 0.12);
  background-color: var(--Coreclean-white);
  color: var(--Coreclean-black);
  font-family: var(--Coreclean-font-two);
  font-size: 14px;
  font-weight: 700;
  padding: 10px 26px;
  border-radius: 30px;
  cursor: pointer;
  transition: all 250ms ease;
}
.home-services__tab:hover{
  border-color: var(--Coreclean-base);
}
.home-services__tab.active{
  background-color: var(--Coreclean-base);
  border-color: var(--Coreclean-base);
  color: var(--Coreclean-white);
}

.home-services__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.home-services__grid[hidden]{
  display: none;
}

.home-services__card{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background-color: var(--Coreclean-white);
  border-radius: 35px;
  padding: 20px 18px;
  box-shadow: 0px 6px 24px 0px rgba(0, 0, 0, 0.05);
  transition: all 300ms ease;
}
.home-services__card:hover{
  transform: translateY(-3px);
  box-shadow: 0px 12px 30px 0px rgba(0, 0, 0, 0.09);
  background-color: var(--Coreclean-base);
}
.home-services__card:hover .home-services__title,
.home-services__card:hover .home-services__text{
  color: var(--Coreclean-white);
}
.home-services__card:hover .home-services__icon{
  background-color: var(--Coreclean-white);
  color: var(--Coreclean-base);
}
.home-services__card:hover .home-services__arrow{
  color: var(--Coreclean-white);
  transform: translateX(3px);
}

.home-services__icon{
  flex: 0 0 44px;
  height: 44px;
  width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  background-color: var(--Coreclean-base);
  color: var(--Coreclean-white);
  font-size: 18px;
  transition: all 300ms ease;
}

.home-services__body{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}
.home-services__title{
  font-family: var(--Coreclean-font-two);
  font-size: 15px;
  font-weight: 700;
  color: var(--Coreclean-black);
  line-height: 1.3;
  transition: color 300ms ease;
}
.home-services__text{
  font-size: 13px;
  line-height: 1.45;
  color: #6b6b6b;
  margin-top: 4px;
  transition: color 300ms ease;
}

.home-services__arrow{
  flex: 0 0 auto;
  align-self: center;
  color: rgba(28, 28, 28, 0.35);
  font-size: 13px;
  transition: all 300ms ease;
}

@media (max-width: 1199px) and (min-width: 992px){
  .home-services__grid{
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991px){
  .home-services{
    padding: 70px 0 70px;
  }
  .home-services__grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px){
  .home-services__grid{
    grid-template-columns: 1fr;
  }
  .home-services__card{
    padding: 16px 14px;
  }
  .home-services__tabs{
    gap: 8px;
  }
  .home-services__tab{
    padding: 9px 20px;
    font-size: 13px;
  }
}

/* ==========================================================================
   Homepage Testimonial marquee — compaction override.
   Theme defaults (style.css ~L6048-6253) ship 550px-wide cards with
   35-60px padding and a 24px name — oversized for a scrolling marquee.
   This file loads after style.css/responsive.css, so same-specificity
   rules below win by source order; no !important needed. Marquee JS
   classes (marquee_one/marquee_two) and markup are untouched.
   ========================================================================== */
.testimonial-one{
  padding: 90px 0px 70px;
}

.testimonial-one__inner{
  padding: 24px 0px;
}

.testimonial-one__inner ul{
  margin-left: -8px;
  margin-right: -8px;
}

.testimonial-one__inner ul + ul{
  margin-top: 16px;
}

.testimonial-one__inner ul li{
  max-width: 320px;
  margin: 0 8px;
}

.single-testimonial-one{
  border-radius: 14px;
  padding: 22px 24px 20px;
}

.single-testimonial-one .top-box .left .point p{
  font-size: 16px;
  line-height: 1;
}

.single-testimonial-one .top-box .left .rating{
  padding-left: 10px;
}

.single-testimonial-one .top-box .left .rating > li{
  font-size: 12px;
}

.single-testimonial-one .top-box .left .rating > li + li{
  margin-left: 3px;
}

.single-testimonial-one .top-box .right .icon{
  font-size: 34px;
}

.single-testimonial-one .text-box{
  margin-top: 14px;
  padding-top: 14px;
}

.single-testimonial-one .text-box p{
  font-size: 14px;
  line-height: 1.5;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.single-testimonial-one .author-box{
  padding-top: 14px;
}

.single-testimonial-one .author-box .text h4{
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 2px;
}

.single-testimonial-one .author-box .text p{
  font-size: 11px;
  letter-spacing: 0.03em;
  opacity: 0.65;
}

@media (max-width: 767px){
  .testimonial-one{
    padding: 60px 0px 50px;
  }
  .testimonial-one__inner ul li{
    max-width: 260px;
  }
  .single-testimonial-one{
    padding: 18px 20px 16px;
  }
}

/* ==========================================================================
   FAQ page — category headings above each accordion group
   ========================================================================== */
.faq-category{
  margin-bottom: 34px;
}
.faq-category:last-child{
  margin-bottom: 0;
}
.faq-category__title{
  font-family: var(--Coreclean-font-two);
  font-size: 20px;
  font-weight: 700;
  color: var(--Coreclean-black);
  padding-bottom: 12px;
  margin-bottom: 18px;
  border-bottom: 2px solid var(--Coreclean-base);
  display: inline-block;
}

/* ==========================================================================
   Honeypot field — used on the contact form and chat popup form.
   Off-screen (not display:none) since some spam bots skip obviously
   hidden fields but still fill in ones merely positioned off-canvas.
   ========================================================================== */
.form-honeypot{
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.site-footer__bottom-inner--centered {
    justify-content: center;
    text-align: center;
}