/* Shared contact layout and static rating badges. Maintained outside Elementor. */
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-details {padding: 0 36px 0 0; min-width: 0;}
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-details h2 {margin: 0 0 12px;}
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-details h3 {font-size: 24px; margin: 0 0 14px;}
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-details p {margin: 0 0 12px;}
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-details p:last-child {margin-bottom: 0;}
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-map .elementor-widget-google_maps,
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-map .elementor-widget-container,
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-map .elementor-custom-embed {height: 100%;}
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-map .elementor-widget-google_maps {flex-grow: 1;}
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-map .elementor-widget-google_maps iframe {display: block; height: 100%; min-height: 500px; border-radius: 24px;}
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-branch--collection {margin-top: 56px;}
.elementor:is(.elementor-383, .elementor-680) .nsb-contact-branch--collection .elementor-widget-google_maps iframe {min-height: 340px;}
.elementor:is(.elementor-383, .elementor-680) .nsb-review-badges {display: grid; gap: 12px; width: 100%; max-width: 390px;}
.elementor:is(.elementor-383, .elementor-680) a.nsb-review-badge {display: block; padding: 16px 20px; border: 1px solid #e5e7eb; border-radius: 16px; background: #fff; color: #171717; text-decoration: none; transition: border-color .2s, box-shadow .2s;}
.elementor:is(.elementor-383, .elementor-680) a.nsb-review-badge:hover {border-color: #5eaa4b; box-shadow: 0 3px 12px #0000000d;}
.elementor:is(.elementor-383, .elementor-680) a.nsb-review-badge:focus-visible {outline: 3px solid #5eaa4b; outline-offset: 3px;}
.elementor:is(.elementor-383, .elementor-680) .nsb-review-badge__title {display: block; font-size: 17px; line-height: 1.3; font-weight: 700;}
.elementor:is(.elementor-383, .elementor-680) .nsb-review-badge__rating {display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 6px; font-size: 15px; line-height: 1.3;}
.elementor:is(.elementor-383, .elementor-680) .nsb-review-badge__score {font-size: 22px; font-weight: 700; white-space: nowrap;}
.elementor:is(.elementor-383, .elementor-680) .nsb-review-badge__stars {color: #f5b400; font-size: 20px; letter-spacing: 1px; white-space: nowrap;}
.elementor:is(.elementor-383, .elementor-680) .nsb-review-badge__meta {color: #666; font-size: 13px;}
.elementor:is(.elementor-383, .elementor-680) .nsb-review-badge__caption {display: block; margin-top: 5px; color: #666; font-size: 12px; line-height: 1.4;}
@media (max-width: 1024px) and (min-width: 768px) {
 .elementor:is(.elementor-383, .elementor-680) .nsb-contact-details {padding-right: 24px;}
 .elementor:is(.elementor-383, .elementor-680) a.nsb-review-badge {padding: 14px;}
}
@media (max-width: 767px) {
 .elementor:is(.elementor-383, .elementor-680) .nsb-contact-details {padding: 0;}
 .elementor:is(.elementor-383, .elementor-680) .nsb-contact-map .elementor-widget-google_maps iframe {height: 320px; min-height: 320px;}
 .elementor:is(.elementor-383, .elementor-680) .nsb-contact-branch--collection {margin-top: 36px;}
 .elementor:is(.elementor-383, .elementor-680) .nsb-contact-branch--collection .elementor-widget-google_maps iframe {min-height: 320px;}
 .elementor:is(.elementor-383, .elementor-680) .nsb-review-badges {max-width: none;}
}
