/* custom overrides (loaded last) */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Top contact bar (eyebrow): keep each icon tight against its text with even
   spacing, and stop it wrapping. The template pins every icon absolutely to the
   left edge of a full-width, right-aligned content box, so long text (address,
   hours) fills the cell and looks tight while the short phone number sits far
   right, leaving a big gap. Shrinking each content box to hug its text anchors
   the icon just left of the text for all three, with a uniform gap. */
.blockWrap_d1c3085901d84645b31bd09c4bae76b6 .blockInnerContent,
.blockWrap_ec68df6a64454b0d992c5244bb2cac55 .blockInnerContent,
.blockWrap_f00a8333e723460baad25b5365b52e36 .blockInnerContent {
  display: inline-block;
  position: relative;
}
@media (min-width: 768px) {
  .blockWrap_d1c3085901d84645b31bd09c4bae76b6 .blockInnerContent,
  .blockWrap_ec68df6a64454b0d992c5244bb2cac55 .blockInnerContent,
  .blockWrap_f00a8333e723460baad25b5365b52e36 .blockInnerContent {
    white-space: nowrap;
  }
}
.blockWrap_d1c3085901d84645b31bd09c4bae76b6 .blockInnerContent:before,
.blockWrap_ec68df6a64454b0d992c5244bb2cac55 .blockInnerContent:before,
.blockWrap_f00a8333e723460baad25b5365b52e36 .blockInnerContent:before {
  width: 16px;
  height: 16px;
  background-position: center;
  left: -22px;
  margin-top: 0;
  top: 50%;
  transform: translateY(-50%);
}
/* Distribute the three eyebrow items (address / phone / hours) with equal gaps
   across the bar. The template centers them as a group, which -- because the
   items are very different widths -- leaves the address stranded left and the
   phone clumped next to the hours. space-between anchors address and hours to
   the edges and drops the phone at true center for even spacing. Each flex
   child is forced to shrink to its content so the free space distributes. */
@media (min-width: 768px) {
  .secondaryNavContent {
    justify-content: space-between !important;
    gap: 1.5em !important;
  }
  .secondaryNavContent > .blockWrap_d1c3085901d84645b31bd09c4bae76b6,
  .secondaryNavContent > .blockWrap_ec68df6a64454b0d992c5244bb2cac55,
  .secondaryNavContent > .blockWrap_f00a8333e723460baad25b5365b52e36 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: max-content !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* About-section portrait crop: the circular image is painted as a
   background-image on .imgShape (the <img> itself is opacity:0) with
   background-position:50% 50%. Center-cropping a headshot slices the top of the
   head off. Anchor the crop near the top (15%) so the head stays fully visible
   while the face remains well placed. Applies to the homepage About block and
   the standalone Our Pharmacy page, which share the same headshot. */
.blockWrap_cf2495fef3f246eda03a4a26d0afb874 .imgShape,
.blockWrap_d55f91342f024f59b17b4228366c8373 .imgShape {
  background-position: 50% 15% !important;
}
/* Newsletter: the Lumistry embed renders its own heading + email + Subscribe,
   so the template's plain heading is dropped at build time. Center the remaining
   form; the two-column layoutD would otherwise pin it to one side. */
.blockContent.lumistryNewsletter {
  display: block;
  text-align: center;
}
.lumistryNewsletter .blockImg.blockForm {
  float: none;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
}
.lumistryNewsletter [data-lumistry-capture] {
  margin: 0 auto;
}
@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;
  }
}
/* About / Our Pharmacy: render the 'The Pharmacy Team' roster as individual
   left-aligned boxes instead of a plain stacked list. */
.teamGrid {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1rem;
  margin-top: 1.25rem;
  text-align: left;
}
.teamMember {
  flex: 0 1 260px;
  box-sizing: border-box;
  padding: 1.15rem 1.4rem;
  border: 1px solid #d7e2ef;
  border-left: 4px solid #003e7e;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.teamMember p {
  margin: 0;
  line-height: 1.4;
}
.teamMember strong {
  display: block;
  color: #003e7e;
  font-size: 1.05em;
  margin-bottom: 0.15rem;
}
