/* Björn's Snow — small additions for the static (self-hosted) copy. */

/* Duda hides animated blocks until its script reveals them; show them always. */
[data-anim-desktop], [data-anim-extended], .dmNewParagraph[data-anim-desktop], .dmNewParagraph[data-anim-extended] {
  visibility: visible !important;
}

/* spam trap field: invisible to people */
.bs-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

form.bs-busy .submit-button, form.bs-busy [type=submit] { opacity: .6; cursor: progress; pointer-events: none; }

/* accordion open state (Duda used React for this) */
[data-grab='accordion-item-title-wrapper'] { cursor: pointer; }
[data-grab='accordion-item-container'].bs-open [data-grab='accordion-item-arrow'] > div > div:first-child { transform: rotate(0deg) !important; }

/* drawer open: lock page scroll */
html.bs-drawer-open, html.bs-drawer-open body { overflow: hidden; }

/* ---------- static Google reviews (replaces the Elfsight widget) ---------- */
.bs-stars { color: #FBBC05; letter-spacing: 2px; font-size: 18px; line-height: 1; }
.bs-g { width: 22px; height: 22px; flex: 0 0 auto; }

.bs-review-badge {
  display: inline-flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 10px 16px; background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,.12);
  color: #111 !important; text-decoration: none !important; font-family: Barlow, Inter, sans-serif;
}
.bs-review-badge .bs-g { width: 20px; height: 20px; }
.bs-review-badge .bs-stars { font-size: 14px; }
.bs-badge-score { font-size: 17px; font-weight: 700; display: flex; align-items: center; gap: 6px; }
.bs-badge-count { font-size: 11px; color: #444; }

.bs-reviews { width: 100%; font-family: Barlow, Inter, sans-serif; }
.bs-reviews-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.bs-reviews-title { display: flex; align-items: center; gap: 8px; font-size: 26px; font-weight: 700; color: #1a73e8; }
.bs-reviews-title em { font-style: italic; color: #1e9bff; }
.bs-reviews-count { display: block; font-size: 13px; color: #6aa9e9; margin-top: 2px; }
.bs-reviews-cta {
  background: #1e9bff; color: #fff !important; text-decoration: none !important; font-weight: 700;
  padding: 12px 22px; border-radius: 999px; white-space: nowrap;
}
.bs-review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.bs-review { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.bs-review blockquote {
  margin: 0; background: #1e9bff; color: #fff; border-radius: 14px; padding: 20px 22px; position: relative; flex: 1;
}
.bs-review blockquote::after {
  content: ""; position: absolute; left: 24px; bottom: -10px; border: 10px solid transparent; border-top-color: #1e9bff; border-bottom: 0;
}
.bs-review blockquote .bs-stars { color: #7ff0ff; }
.bs-review blockquote p { margin: 10px 0 0; font-style: italic; font-size: 15px; line-height: 1.5; color: #fff; }
.bs-review figcaption { display: flex; align-items: center; gap: 10px; font-weight: 700; font-style: italic; color: #111; padding-left: 4px; }
.bs-review figcaption .bs-g { background: #fff; border-radius: 8px; padding: 4px; width: 32px; height: 32px; box-shadow: 0 1px 4px rgba(0,0,0,.15); }
@media (max-width: 767px) {
  .bs-reviews-title { font-size: 22px; }
  /* swipeable row on phones, like the live carousel */
  .bs-review-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 8px; -webkit-overflow-scrolling: touch; }
  .bs-review { flex: 0 0 86%; scroll-snap-align: start; }
}

/* homepage quote form, step 2 (built here; live builds it in the browser) */
#bs-quote-step2 #bs-name, #bs-quote-step2 #bs-phone, #bs-quote-step2 #bs-email { width: 496px; max-width: 100%; height: auto; order: 1; }
#bs-quote-step2 #group_jsg, #bs-quote-step2 #c94c2d9e { margin-top: 0 !important; }

/* gallery viewer */
.bs-lightbox { position: fixed; inset: 0; z-index: 10000; background: rgba(0,0,0,.92); display: none; align-items: center; justify-content: center; }
.bs-lightbox.bs-open { display: flex; }
.bs-lightbox img { max-width: 92vw; max-height: 88vh; object-fit: contain; }
.bs-lightbox button { position: absolute; background: none; border: 0; color: #fff; font-size: 44px; line-height: 1; cursor: pointer; padding: 12px 16px; }
.bs-lb-close { top: 8px; right: 8px; }
.bs-lb-prev { left: 4px; top: 50%; transform: translateY(-50%); }
.bs-lb-next { right: 4px; top: 50%; transform: translateY(-50%); }
