/* Shared Yelp client feedback: scoped to this one component only. */

/*
 * The two skyline layouts are CSS grids with explicit row assignments.
 * Adding a new review row (7) requires moving ONLY the pre-existing
 * content below the feature strip one row down. No design restyling.
 */
body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>p:first-of-type { grid-row:9 !important; }
body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>#a1-f1-e1 { grid-row:10 !important; }
body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>p:nth-of-type(3) { grid-row:11 !important; }
body.home #post-26 .es-home-wacp .es-hero-row>.es-profile { grid-row:9/12 !important; }
body.home #post-26 .es-home-wacp .es-about-anchor { grid-row:9 !important; }

body.page-id-247 #post-247 .san-diego-seo-page>.es-wacp-row:first-child>.es-wacp-content>p:nth-of-type(1) { grid-row:9 !important; }
body.page-id-247 #post-247 .san-diego-seo-page>.es-wacp-row:first-child>.es-wacp-content>p:nth-of-type(2) { grid-row:10 !important; }
body.page-id-247 #post-247 .san-diego-seo-page>.es-wacp-row:first-child>.es-wacp-content>p:nth-of-type(3) { grid-row:11 !important; }

@media(max-width:760px) {
  body.home #post-26 .es-home-wacp .es-hero-row>.es-profile { grid-row:13 !important; }
}

.es-yelp-slider, .es-yelp-slider * { box-sizing:border-box; }
.es-yelp-slider {
  width:100%;
  padding:19px 22px 13px;
  margin:20px auto;
  color:#102746;
  background:linear-gradient(125deg,#f6fbfd 0%,#ffffff 48%,#f1f9fd 100%);
  border:1px solid #e4eef4;
  border-radius:15px;
  font-family:inherit;
  line-height:1.4;
  overflow:hidden;
}
.es-yelp-slider__inner { max-width:1360px; margin:0 auto; }
.es-yelp-slider__head {
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-bottom:12px;
}
html body .es-yelp-slider .es-yelp-slider__title {
  margin:0 0 2px !important; padding:0 !important; color:#103154 !important;
  font-family:inherit !important; font-size:clamp(20px,2.1vw,27px) !important;
  font-weight:800 !important; line-height:1.15 !important; letter-spacing:-.025em !important;
  text-transform:none !important; text-align:left !important;
}
html body .es-yelp-slider .es-yelp-slider__sub {
  margin:0 !important; padding:0 !important; color:#586d83 !important;
  font-size:13px !important; font-weight:400 !important; line-height:1.35 !important;
}
html body .es-yelp-slider .es-yelp-slider__source {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  flex:0 0 auto; padding:8px 13px; min-height:35px; border:1px solid #cadfe9;
  border-radius:40px; background:#fff; color:#11618d !important;
  font-size:12px; line-height:1.2; font-weight:750; text-decoration:none !important;
  white-space:nowrap; box-shadow:0 2px 8px rgba(6,36,70,.035);
}
.es-yelp-slider__source:hover,.es-yelp-slider__source:focus-visible {
  border-color:#009bb3; box-shadow:0 3px 12px rgba(0,155,179,.12);
}
.es-yelp-slider__brand { color:#d32323; font-weight:900; font-size:18px; line-height:1; }
.es-yelp-slider__arrow { font-size:17px; line-height:1; }
.es-yelp-slider__row { display:grid; grid-template-columns:34px minmax(0,1fr) 34px; gap:8px; align-items:center; }
.es-yelp-slider__viewport { width:100%; min-width:0; overflow:hidden; touch-action:pan-y; }
.es-yelp-slider__track { display:flex; gap:12px; align-items:stretch; transform:translate3d(0,0,0); }
html body .es-yelp-slider .es-yelp-slider__card {
  flex:0 0 calc((100% - 48px)/5); min-width:0; min-height:176px;
  display:flex; flex-direction:column; padding:13px 14px 12px; margin:0;
  background:#fff; border:1px solid #e6eef4; border-radius:12px;
  box-shadow:0 3px 13px rgba(17,45,77,.065);
}
.es-yelp-slider__stars { color:#eca90f; font-size:17px; letter-spacing:1px; line-height:1; margin-bottom:8px; white-space:nowrap; }
html body .es-yelp-slider .es-yelp-slider__quote {
  color:#213b59 !important; font-size:13px !important; line-height:1.38 !important;
  font-weight:400 !important; letter-spacing:normal !important;
  padding:0 !important; margin:0 0 10px !important;
  overflow-wrap:anywhere;
}
.es-yelp-slider__byline { display:flex; align-items:center; gap:8px; margin-top:auto; min-width:0; }
.es-yelp-slider__initials {
  display:flex; align-items:center; justify-content:center; flex:0 0 31px;
  width:31px; height:31px; border-radius:50%; font-size:11px;
  font-weight:800; background:#dcecff; color:#1761ae;
}
.es-yelp-slider__card:nth-child(3n+2) .es-yelp-slider__initials { background:#e0f6ec; color:#16775e; }
.es-yelp-slider__card:nth-child(3n+3) .es-yelp-slider__initials { background:#ede5fb; color:#7752b3; }
.es-yelp-slider__reviewer { display:block; font-size:12px; line-height:1.15; font-weight:750; color:#102746; }
.es-yelp-slider__location { display:block; font-size:11px; line-height:1.25; color:#72819a; margin-top:2px; }
html body .es-yelp-slider .es-yelp-slider__nav {
  display:flex; align-items:center; justify-content:center; min-width:0;
  width:34px; height:34px; padding:0 !important; border:1px solid #d4e5f0;
  border-radius:50%; background:#fff; color:#1376b8; font-size:26px;
  line-height:1; cursor:pointer; box-shadow:0 2px 10px rgba(17,45,77,.07);
}
html body .es-yelp-slider .es-yelp-slider__nav:hover { background:#eefaff; }
html body .es-yelp-slider .es-yelp-slider__nav:focus-visible,
html body .es-yelp-slider .es-yelp-slider__pause:focus-visible,
html body .es-yelp-slider .es-yelp-slider__source:focus-visible {
  outline:2px solid #126db7; outline-offset:3px;
}
.es-yelp-slider__foot { display:flex; justify-content:center; gap:12px; align-items:center; min-height:22px; margin-top:8px; }
.es-yelp-slider__dots { display:flex; gap:5px; align-items:center; }
.es-yelp-slider__dot { display:block; width:9px; height:5px; border-radius:10px; background:#d1e0ec; }
.es-yelp-slider__dot.is-active { width:23px; background:#0584d2; }
html body .es-yelp-slider .es-yelp-slider__pause {
  display:inline-block; width:auto; min-height:23px; padding:1px 6px !important;
  border:0; border-radius:4px; background:transparent; color:#52677e;
  font-size:11px; font-weight:600; line-height:1.3; cursor:pointer;
}
.es-yelp-slider__sr { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.home .es-yelp-slider--featureband,
body.page-id-247 .es-yelp-slider--featureband {
  grid-column:1/-1; grid-row:7; justify-self:center;
  width:100vw; max-width:100vw; margin:0; border-left:0; border-right:0;
  border-radius:0; padding:16px 22px 9px;
}
body.home .es-home-services,
body.page-id-247 .es-home-services { grid-row:8 !important; }
@media(max-width:1399px) {
  html body .es-yelp-slider .es-yelp-slider__card { flex-basis:calc((100% - 36px)/4); }
}
@media(max-width:1024px) {
  html body .es-yelp-slider .es-yelp-slider__card { flex-basis:calc((100% - 12px)/2); }
}
@media(max-width:700px) {
  .es-yelp-slider { padding:15px 10px 9px; margin:14px auto; }
  body.home .es-yelp-slider--featureband,
  body.page-id-247 .es-yelp-slider--featureband { padding:14px 9px 9px; }
  .es-yelp-slider__head { align-items:flex-start; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
  html body .es-yelp-slider .es-yelp-slider__title { font-size:22px !important; }
  html body .es-yelp-slider .es-yelp-slider__sub { font-size:11px !important; }
  html body .es-yelp-slider .es-yelp-slider__source {
    padding:7px 9px; font-size:11px; gap:5px; min-height:31px;
  }
  .es-yelp-slider__row { grid-template-columns:26px minmax(0,1fr) 26px; gap:5px; }
  html body .es-yelp-slider .es-yelp-slider__nav { width:26px; height:32px; font-size:21px; }
  html body .es-yelp-slider .es-yelp-slider__card { flex-basis:100%; min-height:158px; padding:13px 14px; }
  html body .es-yelp-slider .es-yelp-slider__quote { font-size:13px !important; }
  .es-yelp-slider__stars { margin-bottom:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .es-yelp-slider__track { transition:none !important; }
}


/* CLIENT FEEDBACK GRID PLACEMENT FIX 2026-10-18
 * The pre-existing service grids occupy row 7, while introductory copy
 * occupied rows 8-10. Inserting the slider at row 7 shifts all content after
 * the service cards one row; do not overlap the services with the intro text.
 * These rules are restricted to the two pages using this custom grid.
 */
body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > p:first-of-type {
  grid-row:9 !important;
}
body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f1-e1 {
  grid-row:10 !important;
}
body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > p:nth-of-type(3) {
  grid-row:11 !important;
}
body.home .es-about-anchor {
  grid-row:9 !important;
}
@media (min-width:761px) {
  body.home #post-26 .es-home-wacp .es-hero-row > .es-profile {
    grid-row:9/12 !important;
  }
}
body.page-id-247 #post-247 .san-diego-seo-page > .es-wacp-row:first-child > .es-wacp-content > p:nth-of-type(1) {
  grid-row:9 !important;
}
body.page-id-247 #post-247 .san-diego-seo-page > .es-wacp-row:first-child > .es-wacp-content > p:nth-of-type(2) {
  grid-row:10 !important;
}
body.page-id-247 #post-247 .san-diego-seo-page > .es-wacp-row:first-child > .es-wacp-content > p:nth-of-type(3) {
  grid-row:11 !important;
}
