/* Legacy base styles removed — modern design uses Tailwind CSS classes exclusively */
/* Old main { max-width: 960px } was constraining the new max-w-7xl layout */
/* Old .hero { padding: 3rem; background: #fff; border: ... } was overriding the new hero section */

/* Modern design custom styles */
html { scroll-behavior: smooth; }
/* Shared navigation and footer controls keep a 44px minimum hit area without changing visual hierarchy. */
.site-utility-bar a,
.site-primary-nav a[href]:not([aria-label="St Martin Pharmacy home"]),
.site-primary-nav button,
.site-mobile-menu a,
.site-footer a,
.site-footer button {
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
}
.site-mobile-menu a,
.site-footer a,
.site-footer button {
  width: 100%;
}
/* Breadcrumb links are short text controls; vertical padding expands their hit area for touch users. */
main nav.text-sm a {
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* Text CTAs on cards remain visually compact while providing a full touch-height target. */
main a.text-brand-blue:not([class*="py-"]),
main button.text-brand-blue:not([class*="py-"]) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.glass {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
}
.glass-dark {
  background: rgba(22, 41, 74, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.hero-grid-bg {
  background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 24px 24px;
}
@keyframes pin-pulse {
  0% { transform: scale(0.95); opacity: 0.5; }
  50% { transform: scale(1.15); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.5; }
}
.pulse-pin { animation: pin-pulse 2s infinite ease-in-out; }
.hover-lift {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}
.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(22, 41, 74, 0.08);
}
/* Overflow prevention for audit findings */
body { overflow-x: hidden; }
/* Allow long service titles to wrap instead of overflowing */
a[href^="/services/"] h2,
a[href^="/services/"] h3 {
  word-break: break-word;
  overflow-wrap: break-word;
}
/* Prevent hero mockup stat text from overflowing on small screens */
@media (max-width: 640px) {
  .glass .text-xl { font-size: 1.125rem; }
}
/* Contain decorative blur/pulse elements so they don't inflate scrollWidth */
/* Note: overflow: clip was tested but caused layout issues with card widths. Using default overflow: hidden from Tailwind. */
