/* ZENITH SPA | Google Maps review integration | HOME only | mobile first */
.page-home .home-reviews{padding-top:clamp(30px,4.6vw,59px);padding-bottom:clamp(29px,4vw,46px)}
.page-home .home-reviews-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:21px}
.page-home .home-reviews-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.17em;color:#957e53;line-height:1.5}
.page-home .home-reviews-head h2{font-size:clamp(25px,3.1vw,36px);font-weight:650;line-height:1.36;letter-spacing:-.045em;color:#283d2f;margin:9px 0 7px;word-break:keep-all}
.page-home .home-reviews-head p{color:#71796f;font-size:14px;line-height:1.7;word-break:keep-all}
.page-home .home-reviews-heading-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;white-space:nowrap;font-size:12px;color:#50684e;font-weight:650;border-bottom:1px solid #bdc7b9}
.page-home .home-reviews-heading-link:hover{color:#273f2c}
.zr-google-feed{min-width:0}
.zr-google-feed-status[hidden],.zr-google-feed-fallback[hidden],.zr-google-feed-results[hidden]{display:none!important}
.zr-google-feed-status,.zr-google-feed-fallback{min-height:132px;display:flex;align-items:center;gap:20px;padding:27px 30px;border:1px solid #e0e1d8;border-radius:16px;background:linear-gradient(120deg,#f6f5ee,#eff2e9);color:#49604b}
.zr-google-feed-status{font-size:14px}
.zr-loading-mark{display:grid;place-items:center;flex:none;background:#e6ebe0;color:#a88c5f;border-radius:50%;width:42px;height:42px;font-size:23px}
.zr-google-feed-fallback{justify-content:space-between;flex-wrap:wrap}
.zr-fallback-copy{flex:1;min-width:215px;display:flex;flex-direction:column;gap:7px}
.zr-fallback-kicker{font:400 13px/1.4 Arial,sans-serif;color:#5e5e5e;letter-spacing:normal;white-space:nowrap}
.zr-fallback-copy strong{font-size:19px;line-height:1.4;font-weight:650;color:#314b37;letter-spacing:-.035em;word-break:keep-all}
.zr-fallback-copy p{font-size:13px;line-height:1.7;color:#6b786c;word-break:keep-all}
.zr-google-feed-fallback>a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:47px;border-radius:9px;background:#3c5d46;color:#fff;padding:10px 19px;font-size:13px;font-weight:700}
.zr-google-feed-fallback>a:hover{background:#2e4835}
.zr-review-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.zr-review-score{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#304c37}
.zr-review-score strong{font-size:31px;font-weight:750;line-height:1.1;letter-spacing:-.025em}
.zr-review-summary-stars,.zr-review-stars{color:#b19058;letter-spacing:.07em;white-space:nowrap}
.zr-review-summary-stars{font-size:19px}
.zr-review-count{font-size:13px;color:#6b7268}
.zr-review-map-link{font-size:12px;color:#365b41;text-decoration:underline;text-underline-offset:4px}
.zr-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.zr-review-card{min-width:0;display:flex;flex-direction:column;gap:12px;background:#fffefa;border:1px solid #e3e0d6;border-radius:14px;padding:21px;box-shadow:0 4px 18px rgba(40,52,38,.035)}
.zr-review-byline{display:flex;align-items:center;gap:11px}
.zr-review-avatar,.zr-review-avatar-placeholder{width:40px;height:40px;flex:0 0 40px;border-radius:50%;object-fit:cover}
.zr-review-avatar-placeholder{display:grid;place-items:center;background:#e5eadf;color:#48604c;font-size:15px;font-weight:700}
.zr-review-author{display:flex;flex-direction:column;gap:3px;min-width:0}
.zr-review-author-name{font-size:13px;font-weight:700;color:#2f4836;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zr-review-date{font-size:12px;line-height:1.4;color:#82877e}
.zr-review-stars{font-size:16px}
.zr-review-body{font-size:14px;line-height:1.8;color:#424e45;white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all;flex:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden}
.zr-review-translated{font-size:11px;color:#7c8278}
.zr-review-source{font-size:12px;font-weight:650;color:#3d6047;align-self:flex-start;margin-top:auto;text-decoration:underline;text-underline-offset:4px}
.zr-review-credits{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:16px;padding:2px;color:#69746a;font-size:11px;line-height:1.65}
.zr-review-google-attribution{font:400 13px/1.4 Roboto,Arial,sans-serif;color:#1f1f1f;letter-spacing:normal;white-space:nowrap}
.zr-review-policy{color:#3d6047;text-decoration:underline;text-underline-offset:3px}
.zr-review-third-party-attribution{font-size:11px}
.page-home .home-reviews a:focus-visible{outline:2px solid #3f6749;outline-offset:3px}
@media(max-width:900px){.zr-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-home .home-reviews-head{align-items:start;flex-direction:column;gap:8px}.page-home .home-reviews-heading-link{font-size:12px;min-height:38px}}
@media(max-width:600px){
 .page-home .home-reviews{padding-top:29px;padding-bottom:26px}
 .page-home .home-reviews-head{gap:5px;margin-bottom:14px}
 .page-home .home-reviews-eyebrow{font-size:9px;letter-spacing:.105em}
 .page-home .home-reviews-head h2{font-size:24px;line-height:1.35;margin:7px 0 5px}
 .page-home .home-reviews-head p{font-size:13px;line-height:1.7}
 .page-home .home-reviews-heading-link{font-size:12px;min-height:39px}
 .zr-google-feed-status,.zr-google-feed-fallback{min-height:122px;gap:12px;padding:19px 17px;border-radius:12px}
 .zr-google-feed-fallback>a{width:100%;min-height:46px}
 .zr-fallback-copy{min-width:0}
 .zr-fallback-copy strong{font-size:17px}
 .zr-fallback-copy p{font-size:13px}
 .zr-review-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 1px 10px;scrollbar-width:thin}
 .zr-review-card{flex:0 0 86%;padding:18px 16px;scroll-snap-align:start}
 .zr-review-body{font-size:14px}
 .zr-review-count{font-size:12px}
 .zr-review-map-link{font-size:12px}
 .zr-review-credits{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.zr-review-grid{scroll-behavior:auto}}

/* 5 true reviews from live API. Wide desktop shows all five without extra navigation. */
@media(min-width:1240px){
 .zr-review-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
 .zr-review-card{padding:16px 12px;gap:11px}
 .zr-review-author-name{font-size:12px}
 .zr-review-body{font-size:13px;line-height:1.75}
}
.zr-review-google-logo{object-fit:contain;width:74px;height:auto;max-height:25px}
.zr-review-slider-controls{display:none}
.zr-fallback-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.zr-fallback-actions button{border:1px solid #35563b;color:#35563b;background:#fffefa;cursor:pointer;border-radius:10px;padding:11px 17px;font:inherit;font-size:13px;font-weight:650}
.zr-google-feed-fallback strong{font-size:17px}
.zr-review-grid:focus-visible{outline:2px solid #4b654e;outline-offset:2px}
@media(max-width:600px){
 .zr-review-grid{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}
 .zr-review-card{flex:0 0 84%;min-width:0}
 .zr-review-slider-controls{display:flex;align-items:center;justify-content:center;gap:15px;margin:8px 0 6px}
 .zr-review-arrow{width:42px;height:42px;border:1px solid #a4afa4;border-radius:50%;background:#fffefa;color:#344b39;font-size:26px;line-height:1;cursor:pointer;touch-action:manipulation}
 .zr-review-slide-counter{font-size:12px;min-width:43px;text-align:center;color:#617265;font-variant-numeric:tabular-nums}
 .zr-fallback-actions{flex-direction:column;align-items:stretch}
 .zr-fallback-actions a,.zr-fallback-actions button{width:100%;text-align:center}
}

/* Ensure conditional sections cannot leak into view after successful live load. */
.zr-google-feed [hidden]{display:none!important}
