/* =========================================================
   MOBILE / RESPONSIVE STYLES
   Organized by breakpoint (largest → smallest)
   ========================================================= */


/* =========================================================
   1) Accessibility: Reduced Motion
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  .lsv-utility-bar a,
  .lsv-utility-bar a::after {
    transition: none;
  }
}


/* =========================================================
   2) ≤ 1024px (Header layout)
   ========================================================= */
@media (max-width: 1024px) {
  .lsv-header-inner {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }

  .lsv-header-inner .custom-logo {
    max-height: 150px;
    margin-top: -16px;
  }
}

/* =========================================================
   2) ≤ 960px (Header layout)
   ========================================================= */
@media (max-width: 960px) {
   /* Base menu item comfort */
  .mobmenu-content .wp-mobile-menu > li > a {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.9rem 1rem;         /* tap target */
    line-height: 1.2;
    font-size: 1rem;              /* you already like 1rem */
  }

  /* Make emoji icons consistent and not oversized */
  .mobmenu-content .wp-mobile-menu > li > a img.emoji {
    width: 1.05em;
    height: 1.05em;
    flex: 0 0 auto;
    margin: 0;
  }

  /* --- Quick Actions: first three items --- */
  .mobmenu-content .wp-mobile-menu > li:nth-child(-n+3) > a {
    font-weight: 600;             /* feels like “actions” */
  }

  /* Give the quick actions a grouped feel */
  .mobmenu-content .wp-mobile-menu > li:nth-child(1) > a {
    padding-top: 1.1rem;
  }

  .mobmenu-content .wp-mobile-menu > li:nth-child(-n+3) > a {
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }

  /* Divider after the 3rd item */
  .mobmenu-content .wp-mobile-menu > li:nth-child(3) {
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid rgba(0,0,0,0.08);
  }
  .mobmenu-content .wp-mobile-menu > li:nth-child(-n+3) > a {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

  /* Optional: slightly tighter spacing for normal nav items */
  .mobmenu-content .wp-mobile-menu > li:nth-child(n+4) > a {
    font-weight: 400;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }
  .mobile-menu .menu li a {
    font-size: 1.2rem;
    line-height: 1.4;
  }
  .team-slider {
    left: -300px;
}
#genesis-footer-widgets .footer-widgets-1 {
    
 justify-content: flex-start;
}

}

/* =========================================================
   3) ≤ 900px (Utility bar + About: Why Choose Us)
   ========================================================= */
@media (max-width: 900px) {
  /* Utility bar */
  .lsv-utility-bar { font-size: 1.05rem; }
  .lsv-utility-bar .wrap { padding: 0.7rem 1rem; gap: 1.25rem; }
  .lsv-utl { gap: 1.25rem; flex-wrap: wrap; }

  /* About: Why Choose Us */
  .lsv-why-group .wp-block-columns { gap: 1.5rem; }

  .lsv-why-group h2,
  .lsv-why-group .lsv-about-why-h2 {
    font-size: 1.75rem;
  }

  .lsv-why-group .wp-block-column:first-child {
    padding-left: 0;
    border-left: none;
  }
}


/* =========================================================
   4) ≤ 800px (Footer widgets)
   ========================================================= */
@media (max-width: 800px) {
  .footer-widgets .widget-area { width: 90%; }
  .footer-widgets p { text-align: left; margin-bottom: 5px; }
  .footer-widgets .wp-block-column { margin-bottom: 0; gap: 1em; }

  /* Make the footer widgets feel like ONE block */
  #genesis-footer-widgets.footer-widgets > .wrap{
    background: rgba(255,255,255,0.85);
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(0,0,0,0.06);

    padding: 1rem 1.25rem;
  }

  /* Flatten the individual widget cards */
  #genesis-footer-widgets .footer-widget-area{
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    min-height: unset;
  }

  /* Divider lines between sections */
  #genesis-footer-widgets .footer-widget-area + .footer-widget-area{
    border-top: 1px solid rgba(0,0,0,0.12);
    margin-top: .75rem;
    padding-top: .75rem;
  }

  /* Smaller, left-aligned logo */
  #genesis-footer-widgets .footer-widgets-1 img{
    max-width: 120px !important;
    margin: 0;
  }

  /* Left align text (mobile readability) */
  #genesis-footer-widgets{
    text-align: left;
  }

  /* Tighten spacing */
  #genesis-footer-widgets p{
    margin: 0 0 .4rem;
    line-height: 1.4;
  }

  /* Undo forced centering in Hours widget */
  #genesis-footer-widgets .has-text-align-center{
    text-align: left !important;
  }
   /* Reduce big mobile section padding */
  .lsv-why-group,
  .lsv-about-meet-the-team-group{
    padding-block: 1.75rem !important;
  }

  /* Tone down H2s on mobile */
  .lsv-why-group h2,
  .lsv-why-group .lsv-about-why-h2,
  .gray-bands__card h2,
  .lsv-about-meet-the-team-group h2,
  .wp-block-group.gray-bands h2{
    font-size: 1.45rem !important;
    line-height: 1.2 !important;
    margin-bottom: 1rem !important;
  }

  /* Tighten paragraph spacing a bit */
  .lsv-why-group .wp-block-column:first-child p{
    margin: 0 0 .75rem !important;
    padding: 0 0 .75rem !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }

  /* Reduce spacer blocks (that 40px spacer is feeling chunky on mobile) */
  .lsv-about-meet-the-team-group .wp-block-spacer{
    height: 18px !important;
  }

  
}


/* =========================================================
   5) ≤ 782px (WP breakpoint: header/nav wrapping)
   ========================================================= */
@media (max-width: 782px) {
  .lsv-utility-bar .lsv-utility-inner {
    padding-inline: var(--wrap-pad);
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }

  .lsv-header-inner .lsv-primary-nav .genesis-nav-menu {
    flex-wrap: wrap;
    justify-content: center;
  }
}


/* =========================================================
   6) ≤ 781px (Mobile stacking: What to Expect)
   ========================================================= */
@media (max-width: 781px) {
  .lsv-what-to-expect {
    padding: 28px 0;
    gap: 18px;
  }

  .lsv-what-to-expect > .wp-block-column {
    padding: 20px 18px 16px;
  }
}


/* =========================================================
   7) ≤ 768px (Bands padding + Home intro)
   ========================================================= */
@media (max-width: 768px) {
  .gray-bands > .wp-block-group__inner-container,
  .gray-bands > .wrap,
  .white-bands > .wp-block-group__inner-container,
  .white-bands > .wrap {
    padding: 2.25rem var(--wrap-pad);
  }

  .home .lsv-intro {
    padding: 2.5rem 1.25rem;
  }
  .master-slider .ms-nav-next,
  .master-slider .ms-nav-prev{
    display:none !important;
  }
  .master-slider .ms-bullets{
    display:none !important;
  }
  .master-slider .ms-slide-bgcont img{
    object-fit: cover;
  }
  

 
  

  /* 3) Add a consistent bottom gradient overlay (bigger on mobile) */
  .master-slider-parent .ms-slide-bgcont::after{
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 46%;                  /* bigger gradient band */
    background: linear-gradient(
      to top,
      rgba(0,0,0,0.62),
      rgba(0,0,0,0)
    );
    pointer-events: none;
  }

  /* 4) Make the text layer bigger and easier to read */
  .master-slider-parent .ms-layer.msp-cn-1-2{
    width: 100% !important;
    left: 0 !important;
    bottom: 0 !important;

    font-size: 1.05rem !important;   /* bump from ~10px to readable */
    line-height: 1.25 !important;

    padding: 14px 16px 16px !important;
    color: #fff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.55);

    /* If the layer already has a background, this won’t hurt.
       If it doesn’t, this gives it a little extra “caption plate” */
    background: linear-gradient(
      to top,
      rgba(0,0,0,0.45),
      rgba(0,0,0,0)
    );
  }
  /* Section padding */
  .lsv-home-intro-band .lsv-intro{
    padding: 1rem .75rem; /* adjust if you want tighter */
  }

  /* Keep text from getting too wide even on big phones */
  .lsv-home-intro-band .lsv-intro-text{
    max-width: 42rem;
    margin: 0 auto;
  }

  /* Headline */
  .lsv-home-intro-band .lsv-intro-text h2{
    font-size: 1.4rem;      /* ~30px */
    line-height: 1.12;
    letter-spacing: -0.01em;
    margin: 0 0 0.9rem;
  }

  /* Paragraphs */
  .lsv-home-intro-band .lsv-intro-text p{
    font-size: 1rem;
    line-height: 1.6;
    margin: 0 0 1rem;
  }

  /* Slightly reduce space after the final intro paragraph */
  .lsv-home-intro-band .lsv-intro-text p:last-of-type{
    margin-bottom: 1.25rem;
  }

  /* Core services mini-band: tighten and clarify hierarchy */
  .lsv-home-intro-band .lsv-home-serv-band{
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(0,0,0,0.08);
  }

  .lsv-home-intro-band .lsv-home-serv-band h3{
    font-size: 1.35rem;
    line-height: 1.2;
    margin: 0 0 0.35rem;
  }

  .lsv-home-intro-band .lsv-home-serv-band h6{
    font-size: 0.95rem;
    line-height: 1.25;
    margin: 0 0 0.75rem;
    opacity: 0.85;
  }

  .lsv-home-intro-band .lsv-home-serv-band p{
    margin-bottom: 0;
  }

  /* Buttons: stack, full width, comfy tap targets */
  .lsv-home-intro-band .lsv-intro-btns{
    display: grid;
    gap: 0.75rem;
    margin-top: 1.25rem;
  }

  .lsv-home-intro-band .lsv-intro-btns .lsv-btn{
    width: 100%;
    text-align: center;
    padding: 0.9rem 1rem;
    font-size: 1rem;
  }

  .home .lsv-home-intro-band > .wp-block-group__inner-container, .home .lsv-home-intro-band > .wrap {
    padding: 2.5rem var(--wrap-pad);
    padding: 2rem var(--wrap-pad) 2.5rem;
}
/* tighten section padding a bit */
  .lsv-home-serv-imgs-band{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  /* Gutenberg columns stack: reduce the giant gaps */
  .lsv-home-serv-imgs-band .home-serv-block{
    gap: 1rem;
  }

  /* Reduce card height (overrides inline min-height:430px) */
  .lsv-home-serv-imgs-band .lsv-serv-card{
    min-height: 260px !important;  /* try 220–260px */
    border-radius: 16px;
    overflow: hidden;
  }

  /* Ensure cover image fills nicely */
  .lsv-home-serv-imgs-band .lsv-serv-card .wp-block-cover__image-background{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 49% 0% !important;
  }

  /* Stronger bottom gradient for readable label */
  .lsv-home-serv-imgs-band .lsv-serv-card .wp-block-cover__background{
    opacity: 1;
    background: linear-gradient(
      to top,
      rgba(0,0,0,0.55),
      rgba(0,0,0,0)
    );
  }

  /* Label styling */
  .lsv-home-serv-imgs-band .lsv-home-serv-p{
    margin: 0;
    padding: 0.9rem 1rem;
    font-size: 1.05rem;
    line-height: 1.2;
    text-shadow: 0 2px 10px rgba(0,0,0,0.55);
  }

   .lsv-home-serv-imgs-band{
    padding-left: 6%;
    padding-right: 6%;
  }

/* Section gutters – align with intro & services */
  .lsv-home-location{
    padding-left: 5%;
    padding-right: 5%;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    margin-bottom:0;
    gap: 1.5rem;
  }

  /* Stack columns cleanly */
  .lsv-home-location > .wp-block-column{
    flex-basis: 100% !important;
  }

  /* Map iframe: responsive + calmer presence */
   iframe{
    width: 100%;
    height: 280px;          /* reduce visual dominance */
    border-radius: 14px;
  }

  /* Headings: match intro hierarchy */
  .lsv-home-location h3{
    font-size: 1.25rem;     /* down from default */
    line-height: 1.2;
    margin: 0 0 0.5rem;
  }

  /* Body text */
  .lsv-home-location p{
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0 0 0.75rem;
  }

  /* Slight separation between phone + hours groups */
  .lsv-home-location h3 + p{
    margin-top: 0.25rem;
  }

  .home .lsv-home-trusted-band > .wp-block-group__inner-container {
    /* max-width: var(--wrap-max); */
    /* margin-inline: auto; */
    padding: 1rem var(--wrap-pad) 1.5rem;
}

/* ===========================
   Testimonials slider (mobile-safe)
   =========================== */

.ms-testimonials-1 .ms-view,
.ms-testimonials-1 .ms-slide{
  height: auto !important;
  min-height: 520px !important; /* adjust 480–650 depending on longest review */
}

/* Make the layer wrapper a vertical layout */
.ms-testimonials-1 .ms-slide-layers,
.ms-testimonials-1 .ms-anim-layers{
  position: static !important;
  transform: none !important;
  left: auto !important;
  top: auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;

  width: 100% !important;
  max-width: 42rem;
  margin: 0 auto !important;

  padding: 1.25rem 1.25rem 1.5rem !important;
  gap: .75rem !important;
  min-height: 520px; /* keeps button from floating up */
  box-sizing: border-box;
}

/* Every layer participates in the flow */
.ms-testimonials-1 .ms-layer{
  position: static !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;

  width: min(92vw, 38rem) !important;
  max-width: 92vw !important;

  font-size: 1rem !important;
  line-height: 1.55 !important;
  white-space: normal !important;
}

/* The button: push it to the bottom */
.ms-testimonials-1 .ms-btn-container{
  position: static !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;

  margin-top: auto !important; /* magic: sends button to bottom of flex column */
  padding-top: .75rem !important;
}

/* Make button look normal */
.ms-testimonials-1 .ms-btn-container .ms-btn{
  display: inline-block;
  width: auto !important;
  padding: .65rem 1rem !important;
  line-height: 1.1 !important;
  border-radius: 999px;
}

/* OPTIONAL: If you want to clamp super long reviews */
.ms-testimonials-1 .msp-cn-2-27,
.ms-testimonials-1 .msp-cn-2-33,
.ms-testimonials-1 .msp-cn-2-39,
.ms-testimonials-1 .msp-cn-2-37,
.ms-testimonials-1 .msp-cn-2-31,
.ms-testimonials-1 .msp-cn-2-25,
.ms-testimonials-1 .msp-cn-2-29,
.ms-testimonials-1 .msp-cn-2-35{
  display: -webkit-box !important;
  -webkit-line-clamp: 10; /* adjust */
  -webkit-box-orient: vertical;
  overflow: hidden;
}
 
 .team-slider {
    display:none;
  }
  .lsv-about-meet-the-team-group .meet-the-team {
    display: block;
  }

 
}


/* =========================================================
   8) ≤ 600px (Bands padding + modal + footer widgets layout)
   ========================================================= */
@media (max-width: 600px) {
  .gray-bands > .wp-block-group__inner-container,
  .gray-bands > .wrap,
  .white-bands > .wp-block-group__inner-container,
  .white-bands > .wrap {
    padding: 2rem var(--wrap-pad);
  }

  .lsv-service-modal__dialog {
    padding: 1.5rem 1.4rem 1.75rem;
  }

  #genesis-footer-widgets.footer-widgets > .wrap {
    grid-template-columns: 1fr;
  }
    /* reduce big section padding */
  .lsv-why-group,
  .lsv-about-meet-the-team-group{
    padding-block: 2rem;
  }

  /* smaller headings on mobile */
  .lsv-why-group h2,
  .lsv-about-meet-the-team-group h2{
    font-size: 1.55rem;
    line-height: 1.15;
    margin-bottom: .85rem;
  }

  /* tighten paragraph spacing a bit */
  .lsv-about-meet-the-team-group p,
  .lsv-why-group p{
    margin-bottom: .85rem;
  }
}


/* =========================================================
   9) ≤ 500px (Tiny-screen global tweaks)
   ========================================================= */
@media (max-width: 500px) {
  .wp-block-spacer { height: 0 !important; }
  body > div { font-size: 1rem; }
}

 