/* custom overrides (loaded last) */
@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;
  }
}
/* eyebrow contact bar: keep each icon tight against its own text with even
   spacing, and stop each item from wrapping. Scoped to the desktop row layout
   so the mobile stacked layout is untouched. */
@media (min-width: 1025px) {
  /* Lay out each contact item as [icon][text] on a single line, centered. The
     icons are :before pseudo-elements that the template positions absolutely at
     left:-20px (which floats them off in the flex gap with uneven spacing). Pull
     them into an inline flex flow so each sits the same 6px from its own text.
     !important is needed to beat the per-block inline styles the footer pass set
     (width:100%;text-align:right) that these shared blocks also carry. */
  .secondaryNav .blockInnerContent {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap;
  }
  .secondaryNav .blockInnerContent > * { margin: 0 !important; }
  .secondaryNav .blockInnerContent:before {
    position: static !important;
    left: auto !important;
    margin: 0 6px 0 0 !important;
    flex: 0 0 auto !important;
  }
  /* the address block carries a <br> between street and city; keep it on one
     line in the strip and restore the space the <br> provided. */
  .secondaryNav .blockWrap_d1c3085901d84645b31bd09c4bae76b6 br { display: none; }
  .secondaryNav .blockWrap_d1c3085901d84645b31bd09c4bae76b6
    span[itemprop="streetAddress"]:after { content: " "; }
}
/* About page "The Pharmacy Team": the template renders each headshot as a round
   background-image cropped to a 1:1 square at center (background-position 50% 50%).
   The source photos are tall portraits, so a center crop lops off the tops of the
   team members' heads, and the circle fills the whole grid column (too large).
   Cap the circle size, center it, and pull the focal point up to the faces. */
.items_teamlist .itemImg {
  max-width: 200px;
  margin-left: auto;
  margin-right: auto;
}
.items_teamlist .imgShape.circleImg {
  background-position: 50% 12% !important;
}
/* Newsletter signup block: the template's two-column form+heading was replaced
   with the Lumistry capture embed (which renders its own titled signup form).
   Center the embed within the block so it matches the original centered layout
   regardless of how the third-party widget lays itself out internally. */
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .blockContent {
  display: block;
  text-align: center;
}
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .blockText,
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .blockInnerContent {
  text-align: center;
}
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 [data-lumistry-capture] {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
