/* custom overrides (loaded last) */
/* accessibility: skip-to-content link (visually hidden until focused) */
.skip-to-content {
  position: absolute; left: -9999px; top: 0; z-index: 10000;
  background: #0a3d62; color: #fff; padding: 12px 18px; border-radius: 0 0 6px 0;
  font-size: 15px; text-decoration: none;
}
.skip-to-content:focus { left: 0; }
/* keep intrinsic width/height attrs from distorting fluid images */
img[width][height] { max-width: 100%; height: auto; }
/* map embed */
.mapEmbed { margin: 1.5em 0 0; line-height: 0; }
.mapEmbed iframe { width: 100%; max-width: 100%; border: 0; border-radius: 8px; }
/* FAQ accordion (native details/summary), styled to match the template */
.faqSection { max-width: 860px; margin: 0 auto; padding: 40px 20px 70px; }
.faqSection .contentTitle { text-align: center; margin-bottom: 1em; }
.faqItem { border-bottom: 1px solid #e2e6ea; }
.faqItem .faqQ {
  cursor: pointer; list-style: none; padding: 20px 40px 20px 4px; position: relative;
  font-size: 18px; font-weight: 600; color: #0a3d62; outline-offset: 3px;
}
.faqItem .faqQ::-webkit-details-marker { display: none; }
.faqItem .faqQ::after {
  content: "+"; position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  font-size: 26px; font-weight: 400; color: #3c6382; transition: transform .2s ease;
}
.faqItem[open] .faqQ::after { content: "\2013"; }
.faqItem .faqA { padding: 0 4px 20px; color: #444; font-size: 16px; line-height: 1.6; }
.faqItem .faqA p { margin: 0; }
/* mobile-app promo: spacing inherited from the original dynamic block id.
   The two-phone mockup replaces the template's runtime widget image, so strip
   any inherited shape mask / rounding and center the text column like MSI. */
div.blockWrap_slidellapppromo { padding-top: 20px; padding-bottom: 80px; color: #444; }
div.blockWrap_slidellapppromo .blockImg,
div.blockWrap_slidellapppromo .blockImg img {
  -webkit-mask: none !important; mask: none !important;
  -webkit-mask-image: none !important; mask-image: none !important;
  clip-path: none !important; border-radius: 0 !important;
  background: none !important; box-shadow: none !important;
}
div.blockWrap_slidellapppromo .blockImg img { display: block; width: 100%; max-width: 300px; height: auto; margin: 0 auto; }
div.blockWrap_slidellapppromo .blockText { color: #444; text-align: center; }
div.blockWrap_slidellapppromo .contentTitle { text-align: center; padding-left: 0; margin-right: 0; }
div.blockWrap_slidellapppromo .appDownload ul { margin: 1em 0 0; }
div.blockWrap_slidellapppromo .appDownload img { height: 40px !important; }
/* app-store badges (mobile section, footer, /our-app): the store badge PNGs
   carry intrinsic width/height attrs and sit in fluid blocks, which stretches
   them. Pin a fixed height with auto width everywhere so they keep native
   aspect ratio and sit side by side at a natural size. */
.appDownload ul { padding: 0; margin: 1.2em 0 0; list-style: none; }
.appDownload li { display: inline-block; margin: 0 5px; vertical-align: middle; }
.appDownload a { display: inline-block; line-height: 0; }
.appDownload img {
  height: 46px !important; width: auto !important; max-width: none !important;
  display: inline-block; vertical-align: middle;
}
/* center the home mobile-section badge row */
.blockImg.appDownload { text-align: center; }
.blockImg.appDownload ul { text-align: center; }
/* mobile-app "text me the app" widget: matches the template's SMS field */
.sms-widget { margin: 1.5em 0 0; text-align: center; }
.sms-widget .sms-label { font-size: 18px; color: #0a3d62; margin-bottom: .6em; }
.sms-widget #form-phoneLanding { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; justify-content: center; }
.sms-widget input[type=tel] { flex: 1 1 220px; min-width: 0; padding: 12px 14px; font-size: 16px; border: 1px solid #cdd5dd; border-radius: 6px; }
.sms-widget input[type=submit] { flex: 0 0 auto; padding: 12px 26px; font-size: 15px; font-weight: 600; letter-spacing: .04em; color: #fff; background: #0a3d62; border: 0; border-radius: 6px; cursor: pointer; }
.sms-widget input[type=submit]:hover { background: #0c4b78; }
.sms-widget .sms-disclaimer { margin: 1em 0 0; font-size: 13px; line-height: 1.5; color: #6b7480; }
.sms-widget .sms-note { margin-top: .5em; font-size: 14px; }
/* newsletter (Lumistry) embed: hide only the widget's own header (its h3 title +
   description live in .lk-head); keep .lk-body so the email input + subscribe
   button still render. Our own H2 above the embed provides the heading. */
[data-lumistry-capture] .lk-head { display: none !important; }
@media (max-width: 767px) {
  .headerAndNavContainer {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
  }
  /* eyebrow (secondary nav) collapses on scroll to reclaim space */
  .secondaryNav {
    overflow: hidden;
    max-height: 300px;
    transition: max-height 0.25s ease, opacity 0.2s ease;
  }
  .secondaryNav.eyebrow-collapsed {
    max-height: 0 !important;
    opacity: 0 !important;
  }
}
