/* Single-business dock is independent of the selected layout and its bottom menu. */
body.r22-business-detail-page .r22-bottom-nav,
body.r22-business-detail-page .r22-site-footer{display:none!important}
body.r22-business-detail-page .r22-site-content{padding-bottom:0!important}
body.r22-business-detail-page .r22-single-screen{margin-bottom:0!important;padding-bottom:110px!important}
body.r22-business-detail-page .r22-single-bottom-cta{
 position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;
 transform:none!important;width:100%!important;max-width:none!important;margin:0!important;
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
 padding:10px max(14px,calc((100vw - 780px)/2)) calc(10px + env(safe-area-inset-bottom,0px))!important;
 border:0!important;border-top:1px solid #dce7e1!important;border-radius:0!important;
 background:#fff!important;box-shadow:0 -4px 22px rgba(17,62,46,.08)!important;z-index:120!important;
}
body.r22-business-detail-page .r22-single-bottom-cta:empty{display:none!important}
body.r22-business-detail-page .r22-single-bottom-cta>button{
 min-width:0;width:100%;height:50px;padding:8px;border-radius:12px;box-shadow:none;
 display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:14px;font-weight:700;
}
body.r22-business-detail-page .r22-single-bottom-cta>.r22-single-cta-secondary{background:#11624f!important;color:#fff!important;border:1px solid #11624f!important}
body.r22-business-detail-page .r22-single-bottom-cta>.r22-single-cta-primary{background:#fff!important;color:#11624f!important;border:1px solid #11624f!important}
body.r22-business-detail-page .r22-single-bottom-cta>:only-child{grid-column:1/-1}
body.r22-business-detail-page.r22-modal-open .r22-single-bottom-cta{visibility:hidden}
body.r22-business-detail-page .r22-single-gallery-row{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;gap:10px;max-width:100%;scroll-snap-type:x proximity}
body.r22-business-detail-page .r22-single-gallery-row>a{flex:0 0 130px;width:130px;max-width:130px;height:105px;scroll-snap-align:start}
body.r22-business-detail-page .r22-action-modal{z-index:100020!important}
body.r22-business-detail-page .r22-gallery-lightbox{z-index:100030!important}
body.r22-business-detail-page .r22-action-modal-panel{max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:400px){body.r22-business-detail-page .r22-single-bottom-cta>button{font-size:12px}}

/* Version 1.36.0: uninterrupted review flow. */
.r22-review-login-notice{
 display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid #cfe5dc;border-radius:14px;
 background:#eff8f4;color:#164f40;
}
.r22-review-login-notice>.r22-icon{flex:0 0 auto;margin-top:2px}
.r22-review-login-notice p{display:grid;gap:2px;margin:0;line-height:1.8}
.r22-review-login-notice strong{font-size:12px}
.r22-review-login-notice span{font-size:11px;color:#477166}
.r22-review-word-counter{display:block;justify-self:end;color:#8b8178;font-size:10px;font-weight:500}
.r22-review-word-counter.is-complete{color:#187355}
.r22-review-image-after-login{display:flex;align-items:center;gap:7px;margin:0;padding:9px 11px;border-radius:12px;background:#faf6f0;color:#786b5f;font-size:11px;line-height:1.7}
.r22-review-image-after-login>.r22-icon{flex:0 0 auto;color:#9b7654}

/* Version 1.37.0: modern, touch-friendly review image picker. */
.r22-review-media-field{display:grid;gap:10px;min-width:0}
.r22-theme-review-form .r22-review-upload{
 position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;
 min-height:92px;padding:14px;border:1.5px dashed #b9d7cb;border-radius:17px;background:linear-gradient(145deg,#f9fdfb,#f1f8f5);
 color:#174c3f;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.r22-theme-review-form .r22-review-upload:hover,.r22-theme-review-form .r22-review-upload:focus-within,.r22-theme-review-form .r22-review-upload.is-dragging{
 border-color:#11624f;background:#edf8f3;box-shadow:0 0 0 4px rgba(17,98,79,.08);transform:translateY(-1px)
}
.r22-review-file-input{position:absolute!important;width:1px!important;height:1px!important;inset:auto!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.r22-review-upload-icon{display:grid!important;place-items:center;width:46px;height:46px;border-radius:14px;background:#dff1e9;color:#11624f;font-weight:400!important}
.r22-review-upload-copy{display:grid!important;gap:2px;min-width:0;font-weight:400!important;line-height:1.75}
.r22-review-upload-copy strong{font-size:12px;color:#173f35}
.r22-review-upload-copy small{font-size:10px!important;color:#668078!important;font-weight:400!important}
.r22-review-upload-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border-radius:11px;background:#11624f;color:#fff;font-size:10px;font-weight:700!important;white-space:nowrap}
.r22-review-upload-meta{display:flex;flex-wrap:wrap;gap:6px}
.r22-review-upload-meta span{padding:4px 8px;border:1px solid #e4e1da;border-radius:999px;background:#fff;color:#756f67;font-size:9px;line-height:1.5}
.r22-review-upload-status{margin:0;color:#7b756e;font-size:10px;line-height:1.7}
.r22-review-upload-status.is-ready{color:#187355}.r22-review-upload-status.is-error{color:#a43737}
.r22-theme-review-form .r22-selected-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}
.r22-theme-review-form .r22-selected-images:empty{display:none}
.r22-theme-review-form .r22-selected-images .r22-review-preview{position:relative;display:block;width:100%;aspect-ratio:1;border-radius:13px;overflow:hidden;background:#eef2ef;box-shadow:inset 0 0 0 1px #dce5e0}
.r22-theme-review-form .r22-selected-images .r22-review-preview img{display:block;width:100%;height:100%;border:0;border-radius:inherit;object-fit:cover}
.r22-review-preview-remove{position:absolute;top:5px;left:5px;display:grid;place-items:center;width:26px;height:26px;padding:0!important;border:1px solid rgba(255,255,255,.65)!important;border-radius:9px!important;background:rgba(33,37,35,.72)!important;color:#fff!important;box-shadow:0 3px 12px rgba(0,0,0,.18)!important;font:700 18px/1 sans-serif!important;cursor:pointer;backdrop-filter:blur(5px)}
.r22-review-preview-name{position:absolute;right:5px;bottom:5px;left:5px;overflow:hidden;padding:3px 5px;border-radius:7px;background:rgba(26,38,33,.7);color:#fff;font-size:8px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:left}
@media(max-width:520px){
 .r22-theme-review-form .r22-review-upload{grid-template-columns:42px minmax(0,1fr);min-height:88px;padding:12px}
 .r22-review-upload-icon{width:42px;height:42px}
 .r22-review-upload-button{grid-column:1/-1;width:100%}
 .r22-theme-review-form .r22-selected-images{grid-template-columns:repeat(3,minmax(0,1fr))}
}
