/* Offline-only additions: static form and frozen Instagram feed. */
.offline-contact-form .field-wrap { margin: 0 0 18px; }
.offline-contact-form label { display: block; margin-bottom: 6px; }
.offline-contact-form input[type="text"],
.offline-contact-form input[type="email"],
.offline-contact-form input[type="tel"],
.offline-contact-form textarea { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #c4c4c4; background: #f7f7f7; font: inherit; }
.offline-contact-form textarea { resize: vertical; }
.offline-contact-form .consent { display: flex; gap: 8px; align-items: flex-start; margin: 18px 0; }
.offline-contact-form .consent input { flex: 0 0 auto; margin-top: 5px; }
.offline-contact-form button { border: 0; padding: 12px 24px; background: #333; color: #fff; font: inherit; cursor: default; }
.offline-contact-form button:not(:disabled) { cursor: pointer; }
.offline-contact-form button:disabled { opacity: .65; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-form-status { min-height: 24px; margin: 14px 0 0; font-weight: 500; }
.contact-form-status.is-success { color: #18733c; }
.contact-form-status.is-error { color: #b00020; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
#sb_instagram #sbi_images .sbi_item { opacity: 1; max-height: 1000px; }
#sb_instagram .sbi_photo { cursor: default; }

/* Slick core omits arrow positioning supplied by slick-theme.css. Keep only
   required positioning here so service controls stay centred at every width. */
.carousel .slick-prev,
.carousel .slick-next,
.quote-holder .slick-prev,
.quote-holder .slick-next {
  position: absolute;
  display: block;
  top: 50%;
  z-index: 2;
  margin-top: 0;
  transform: translateY(-50%);
}

/* Theme's fixed -60px offset clips arrows in narrow desktop viewports. */
@media screen and (min-width: 1201px) and (max-width: 1400px) {
  .carousel .slick-prev { left: 0; }
  .carousel .slick-next { right: 0; }
}

@media screen and (min-width: 1201px) and (max-width: 1400px) {
  .quote-holder .slick-prev { left: 0; }
  .quote-holder .slick-next { right: 0; }
}

.privacy-policy .page-content a {
  overflow-wrap: anywhere;
}

/* The source theme hid testimonials on phones. Keep the section and its
   correctly positioned controls available in the editable local version. */
@media screen and (max-width: 567px) {
  .content-holder.quote-holder { display: block; }
  .quote-holder .slick-prev { left: 10px !important; }
  .quote-holder .slick-next { right: 10px !important; }
}
