/* === Center Google Reviews Block (base) === */
.bp-reviews {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
  max-width: 1200px;
  text-align: center;
}
.bp-reviews > div { margin: 0 auto !important; }

/* Review card with orange border + clean look */
.bp-reviews .rplg-review,
.bp-reviews .grw-review,
.bp-reviews .wpgr-review,
.bp-reviews .ti-review-item,
.bp-reviews .wprevpro_t1_DIV_3,
.bp-reviews [class*="review-item"],
.bp-reviews [class*="g-review"] {
  border: 2px solid #EB7A09 !important;
  border-radius: 12px !important;
  padding: 16px !important;
  background: #fff !important;
  margin: 12px !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
  box-sizing: border-box !important;
}

/* ===================== Responsive fixes ===================== */

/* Tablet: 2 columns */
@media (min-width: 768px) and (max-width: 1024px) {
  .bp-reviews {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    max-width: 100% !important;
    padding: 0 12px;
  }
  .bp-reviews .rplg-review,
  .bp-reviews .grw-review,
  .bp-reviews .wpgr-review,
  .bp-reviews .ti-review-item,
  .bp-reviews .wprevpro_t1_DIV_3,
  .bp-reviews [class*="review-item"],
  .bp-reviews [class*="g-review"] {
    margin: 0 !important;
    width: 100% !important;
  }
}

/* Phone */
@media (max-width: 767px) {

  /* --- HARD RESET: kill any fixed 1200px widths from the widget --- */
  .bp-reviews,
  .bp-reviews *,
  .bp-reviews [style*="width:1200"],
  .bp-reviews [style*="width: 1200px"],
  .bp-reviews iframe {
    max-width: 100% !important;
  }
  .bp-reviews [style*="width:1200"],
  .bp-reviews [style*="width: 1200px"],
  .bp-reviews .rplg-container,
  .bp-reviews .grw-container,
  .bp-reviews .wpgr-container,
  .bp-reviews iframe {
    width: 100% !important;
    min-width: 0 !important;
  }

  .bp-reviews {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;  /* prevent page-side overflow */
    padding: 0;
  }

  /* Horizontal track */
  .bp-reviews > div {
    display: flex !important;
    width: 100% !important;
    overflow-x: auto !important;
    gap: 14px;
    padding: 0 18px;                 /* show full left/right borders */
    scroll-padding: 0 18px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .bp-reviews > div::-webkit-scrollbar { display: none; }

  /* Cards: narrower so borders fit even on the smallest phones */
  .bp-reviews .rplg-review,
  .bp-reviews .grw-review,
  .bp-reviews .wpgr-review,
  .bp-reviews .ti-review-item,
  .bp-reviews .wprevpro_t1_DIV_3,
  .bp-reviews [class*="review-item"],
  .bp-reviews [class*="g-review"] {
    flex: 0 0 calc(100vw - 56px) !important;  /* viewport width minus edge padding */
    max-width: calc(100vw - 56px) !important;
    margin: 8px 0 !important;
    scroll-snap-align: start;
    height: auto !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: break-word !important;
    writing-mode: horizontal-tb !important;
  }

  /* Prevent inner widgets from creating their own scrollers */
  .bp-reviews .rplg-review *,
  .bp-reviews .grw-review *,
  .bp-reviews .wpgr-review *,
  .bp-reviews .ti-review-item *,
  .bp-reviews .wprevpro_t1_DIV_3 *,
  .bp-reviews [class*="review-item"] *,
  .bp-reviews [class*="g-review"] * {
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: break-word !important;
  }
}


/* Force phone link color in footer */
footer a[href^="tel:"] {
  color: #ff8c1a !important;  /* replace with your orange */
  text-decoration: none !important;
}
footer a[href^="tel:"]:hover {
  color: #ff8533 !important;  /* slightly lighter/darker hover */
}
/* ===== Kadence Footer: force column top alignment + centered lists ===== */

/* 0) Safety: scope everything to the footer only */
.site-footer { }

/* 1) Top-align common Kadence/Gutenberg footer row containers */
.site-footer .footer-widgets,
.site-footer .footer-widgets-inner,
.site-footer .footer-widget-area,
.site-footer .wp-block-columns,
.site-footer .kt-row-layout-inner,
.site-footer .kadence-row-layout-inner-wrap,
.site-footer .kt-row-column-wrap {
  align-items: flex-start !important;  /* <- ensures headings start on same line */
}

/* If your footer columns are individual widgets (common in Kadence),
   make sure each column aligns to the top regardless of layout */
.site-footer .widget,
.site-footer .footer-widget {
  vertical-align: top !important;
}

/* 2) Normalize heading spacing (this is usually the misalignment culprit) */
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.site-footer .widget-title {
  margin-top: 0 !important;   /* <- kills browser default top margin */
  margin-bottom: 8px;
  padding-top: 0 !important;
}

/* Some Kadence wrappers add padding—trim it so titles line up perfectly */
.site-footer .widget,
.site-footer .widget-inside,
.site-footer .widget-content,
.site-footer .footer-widget-area .widget-container {
  padding-top: 0 !important;
}

/* 3) Lists inside text widgets: remove bullets + center under titles */
.site-footer .widget_text ul,
.site-footer .widget_text ul li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}
.site-footer .widget_text ul {
  text-align: center;
}
.site-footer .widget_text ul li {
  margin: 6px 0;        /* optional: spacing between links */
}

/* If your Services/Help lists are not inside a Text widget but a Custom HTML widget,
   center those as well */
.site-footer .widget_custom_html ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0;
  text-align: center;
}

/* 4) Small nudge: if a column still sits low, pull the first element up slightly */
.site-footer .footer-widget-area > .widget:first-child {
  margin-top: 0 !important;
}

/* ====================================================== */
/* FIX: remove extra white gap above the hero on homepage */
/* ====================================================== */

/* Kill top margin/padding on the first block in the home page content */
body.home .entry-content > *:first-child,
body.page-id-908 .entry-content > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* If the first thing is a Kadence row or Group block, strip its spacing too */
body.home .entry-content > .wp-block-group:first-of-type,
body.page-id-908 .entry-content > .wp-block-group:first-of-type,
body.home .entry-content > .kt-row-layout:first-of-type,
body.page-id-908 .entry-content > .kt-row-layout:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Ensure the main content area isn’t adding its own top padding */
body.home .site-main,
body.page-id-908 .site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Final safety: make sure browser doesn’t add any random top margin */
html,
body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
