/* Catalogue call to action: frosted glass with a solid fallback. */
html body #main-content .catalog-request { position: relative; isolation: isolate; }
html body #main-content .catalog-request__inner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 140px;
  padding: clamp(24px, 3.5vw, 44px) !important;
  gap: 28px;
  background: linear-gradient(125deg, rgba(255,255,255,.85), rgba(235,238,242,.72)) !important;
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: 28px !important;
  box-shadow: inset 0 1px 1px rgba(255,255,255,.95), inset 0 -1px 1px rgba(124,134,149,.1), 0 14px 40px rgba(29,29,31,.07) !important;
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  backdrop-filter: blur(22px) saturate(145%);
}
html body #main-content .catalog-request__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at 12% 0%, rgba(255,255,255,.95), transparent 58%), radial-gradient(ellipse at 92% 110%, rgba(166,182,205,.2), transparent 58%);
}
html body #main-content .catalog-request__copy h2 { margin: 0 !important; }
html body #main-content .catalog-request__button {
  color: #1d1d1f !important;
  background: linear-gradient(140deg, rgba(255,255,255,.85), rgba(255,255,255,.3)) !important;
  border: 1px solid rgba(255,255,255,.95) !important;
  border-radius: 18px !important;
  box-shadow: inset 0 1px 1px #fff, 0 5px 16px rgba(29,29,31,.08) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: box-shadow .3s ease, border-color .3s ease !important;
}
html body #main-content .catalog-request__button:hover {
  background: linear-gradient(140deg, rgba(255,255,255,.85), rgba(255,255,255,.3)) !important;
  border-color: #fff !important;
  box-shadow: inset 0 1px 1px #fff, 0 8px 20px rgba(29,29,31,.13) !important;
}
html body #main-content .catalog-request__button:focus-visible { outline: 2px solid #1d1d1f; outline-offset: 4px; }
@media (max-width: 640px) {
  html body #main-content .catalog-request__inner { min-height: 0; border-radius: 22px !important; gap: 22px; }
  html body #main-content .catalog-request__button { width: 100%; }
}
@media (prefers-reduced-transparency: reduce) {
  html body #main-content .catalog-request__inner,
  html body #main-content .catalog-request__button { background: #f1f2f4 !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* Override legacy mobile button text-fill on the light glass surface. */
html body #main-content .catalog-request__button,
html body #main-content .catalog-request__button > span {
  color: #1d1d1f !important;
  -webkit-text-fill-color: #1d1d1f !important;
}

/* A clipped light sweep replaces the abrupt full-button flash. */
html body #main-content .catalog-request__button {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
}
html body #main-content .catalog-request__button::before { content: none !important; }
html body #main-content .catalog-request__button::after {
  content: "" !important;
  position: absolute !important;
  inset: -40% auto -40% 0 !important;
  width: 42% !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent) !important;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transform: translateX(-180%) skewX(-18deg);
  transition: none !important;
  animation: none !important;
}
html body #main-content .catalog-request__button > span { position: relative; z-index: 1; }
html body #main-content .catalog-request__button .catalog-request__icon {
  transition: transform .3s ease !important;
}
@media (hover: hover) {
  html body #main-content .catalog-request__button:hover::after {
    animation: catalogue-light-sweep 850ms cubic-bezier(.22,.61,.36,1) both !important;
  }
  html body #main-content .catalog-request__button:hover .catalog-request__icon { transform: translateX(3px) !important; }
}
html body #main-content .catalog-request__button:focus-visible::after {
  animation: catalogue-light-sweep 850ms cubic-bezier(.22,.61,.36,1) both !important;
}
@keyframes catalogue-light-sweep {
  0% { opacity: 0; transform: translateX(-180%) skewX(-18deg); }
  20%, 65% { opacity: .8; }
  100% { opacity: 0; transform: translateX(360%) skewX(-18deg); }
}
@media (prefers-reduced-motion: reduce) {
  html body #main-content .catalog-request__button::after { animation: none !important; }
  html body #main-content .catalog-request__button .catalog-request__icon { transition: none !important; transform: none !important; }
}
