/* Product (DMS) page — design canvas "Product (DMS)"; shares tokens/chrome with css/home.css. */
.product-page .page > section:first-child { min-height: 0; }

/* "On this page" bar: sticks under the site header, scrolls sideways on small screens */
.subnav { position: sticky; top: 88px; z-index: 40; padding: 0 var(--gutter) !important; min-height: 64px; gap: 24px; }
.subnav > div { overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.subnav > div::-webkit-scrollbar { display: none; }
.subnav a { position: relative; padding: 8px 0; }
.subnav > div a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.subnav > div a:hover::after, .subnav > div a.is-active::after { transform: scaleX(1); }
html { scroll-padding-top: 160px; }

@media (max-width: 1023px) {
  .subnav > a { display: none !important; }
  .subnav > div { width: 100%; }
}
@media (max-width: 767px) {
  .subnav { top: 72px; min-height: 56px; }
  .subnav > div > span:first-child { display: none; }
  html { scroll-padding-top: 140px; }
}
.product-page .page span[style*="background: #F5F3EC; font-size: 13px; font-weight: 600"] { white-space: nowrap; }
/* sticky needs an ancestor without overflow:hidden; clip still prevents sideways scroll */
.product-page .page { overflow: visible; overflow-x: clip; }
.site-nav a[aria-current="page"]::after { transform: scaleX(1); }

/* About: distribution-chain card on phones */
@media (max-width: 767px) {
  .about-page figure [style*="grid-template-columns: repeat(5"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .about-page figure [style*="justify-content: space-between"] { flex-wrap: wrap; gap: 8px; }
}
@media (max-width: 767px) {
  .product-page .page section > div[style*="display: flex"], .product-page .page section > div > div[style*="display: flex"] { flex-wrap: wrap; }
  .product-page .page section > div[style*="display: flex"] > [style*="flex-shrink: 0"] { flex-shrink: 1; max-width: 100%; }
}

/* Contact: live Google map under the "Visit us" card */
#find-us { min-height: 520px; padding: 0 !important; }
#find-us .map-embed { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(.85); }
@media (max-width: 767px) {
  #find-us { min-height: 0; display: flex; flex-direction: column; }
  #find-us .map-embed { position: relative; height: 300px; }
  #find-us > div:not([aria-hidden]) { position: relative !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; width: auto !important; margin: 20px; }
}
@media (max-width: 767px) {
  .product-page .page > section[style*="display: flex"][style*="justify-content: space-between"] { flex-direction: column; align-items: stretch !important; gap: 28px !important; }
  .product-page .page > section[style*="display: flex"] > [style*="flex-shrink: 0"] { flex-shrink: 1; }
}

/* Request a demo: form section is the page hero */
.demo-page .demo-hero { padding-top: clamp(40px, 5vw, 72px) !important; }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 4px; font-size: 13.5px; color: var(--sage); }
.crumbs a { color: var(--sage); }
.crumbs a:hover { color: #fff; }
.crumbs [aria-current] { color: var(--mint); font-weight: 600; }
