/* 5.4: progressive AJAX feedback and accessible trust panel */
.bs-contact-form .bs-form-status[hidden]{display:none!important}
.bs-contact-form .bs-form-status{margin:0 0 16px;padding:15px 17px;border-radius:13px;border:1px solid #ffd9dc;font-size:13px;line-height:1.55;letter-spacing:0;font-weight:600}
.bs-contact-form .bs-form-status.is-success{background:#ecfaf2;color:#12683c;border-color:#aee8c4}
.bs-contact-form .bs-form-status.is-error{background:#fff1f1;color:#952f38;border-color:#ffd3d5}
.bs-contact-form [data-bs-form-submit][disabled]{cursor:wait;opacity:.72;filter:saturate(.75)}
.bs-contact-form input:focus-visible,.bs-contact-form textarea:focus-visible,.bs-contact-form select:focus-visible,.bs-contact-form button:focus-visible{outline:3px solid rgba(23,108,243,.25);outline-offset:2px}
.bs-contact-form .bs-form-footer p{font-size:11px;line-height:1.55}
.bs-contact-form .bs-form-footer p a{color:#215ac2;text-decoration:underline;text-underline-offset:2px}
.bs-contact-form .bs-form-help{font-size:11px;color:#6c7791;margin:12px 0 0}
.bs-contact-benefits{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 24px}
.bs-contact-benefits span{display:inline-flex;align-items:center;gap:5px;border:1px solid #d9e5fb;background:#f5f8ff;border-radius:99px;padding:8px 11px;color:#254b95;font-weight:700;font-size:11px;line-height:1.3}
.bs-testimonial-section{margin-top:6px}
.bs-testimonial-panel{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:16px;align-items:stretch}
.bs-testimonial-intro,.bs-testimonial-proof{padding:clamp(22px,3vw,36px)!important;min-width:0}
.bs-testimonial-intro{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(140deg,#f7faff,#fff)!important}
.bs-testimonial-intro h2{font-size:clamp(25px,2.7vw,38px);margin:10px 0 12px;line-height:1.12;letter-spacing:-.035em}
.bs-testimonial-intro p{font-size:14px;line-height:1.65;color:#63708b;margin:0 0 18px}
.bs-testimonial-stars{color:#f2ae29;font-size:21px;letter-spacing:2px;line-height:1.5}
.bs-testimonial-score{display:flex;gap:13px;align-items:center;margin:8px 0 15px;flex-wrap:wrap}
.bs-testimonial-score strong{font-size:42px;letter-spacing:-.05em;line-height:1}
.bs-testimonial-score span{font-size:12px;color:#6d7590;line-height:1.55}
.bs-testimonial-proof{display:flex;flex-direction:column;gap:14px}
.bs-testimonial-proof h3{font-size:19px;letter-spacing:-.025em;margin:0}
.bs-testimonial-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bs-testimonial-quote{min-width:0;background:#fafcff;border:1px solid #e5eaf5;border-radius:13px;padding:17px}
.bs-testimonial-quote p{font-size:13px;line-height:1.64;color:#37455f;margin:9px 0 15px}
.bs-testimonial-quote .bs-testimonial-author{font-size:11px;font-weight:750;color:#19243a}
.bs-testimonial-quote .bs-testimonial-author a{color:inherit;text-decoration:underline;text-decoration-color:#bbc7da;text-underline-offset:3px}
.bs-testimonial-quote .bs-testimonial-note{font-size:10px;color:#7c879c;margin-top:3px}
.bs-testimonial-proof .bs-testimonial-footnote{font-size:11px;color:#828da2;margin:0}
.bs-testimonial-panel .bs-btn{align-self:flex-start}
@media(max-width:900px){.bs-testimonial-panel{grid-template-columns:1fr}.bs-testimonial-list{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.bs-testimonial-list{grid-template-columns:1fr}.bs-testimonial-intro,.bs-testimonial-proof{padding:22px!important}.bs-contact-benefits{gap:6px}.bs-contact-benefits span{font-size:10px}.bs-contact-form .bs-form-footer{align-items:stretch}.bs-contact-form .bs-form-footer button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.bs-contact-form .bs-form-status{scroll-behavior:auto}}

/* v5.5: actual reviews accessible through Maps; no frozen numeric rating. */
.bs-google-rating-disclaimer{margin:6px 0 20px!important;font-size:13px!important;color:#465674!important}
.bs-testimonial-map{grid-column:1/-1;padding:clamp(22px,3vw,36px)!important;min-width:0}
.bs-map-header{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.bs-map-header h3{font-size:clamp(18px,2vw,23px);margin:5px 0 6px;letter-spacing:-.02em}
.bs-map-header p,.bs-map-note{color:#63708b;font-size:13px;line-height:1.6;margin:0}
.bs-lazy-map{border-radius:15px;border:1px solid #e5eaf5;background:linear-gradient(110deg,#f3f7ff,#fafcff);min-height:280px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.bs-lazy-map iframe{display:block;width:100%;height:330px;border:0}
.bs-map-consent{padding:24px;max-width:490px;text-align:center}
.bs-map-consent p{margin:0 0 15px;line-height:1.6;color:#465674}
.bs-map-consent .bs-btn{margin:0 auto}
.bs-map-note{font-size:11px;margin:12px 0 0}
@media(max-width:580px){.bs-testimonial-map{padding:21px!important}.bs-lazy-map iframe{height:280px}.bs-map-header{align-items:flex-start}}
