/* Shared tactile feedback. Existing category colours, geometry and layout remain authoritative. */
:root {--poz-response:cubic-bezier(.22,1,.36,1)}
[data-pz-motion] { -webkit-tap-highlight-color:transparent; }
[data-pz-position="relative"] {position:relative}
[data-pz-motion="action"], [data-pz-motion="control"], [data-pz-motion="card"] {
  transition-property:background-color,border-color,color,box-shadow,opacity,transform,scale;
  transition-duration:160ms;
  transition-timing-function:var(--poz-response);
}
[data-pz-motion]:focus-visible, :where(main,footer,#px-header,#px-menu) :is(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid #0071e3!important;outline-offset:4px!important;
}
[data-pz-motion]:is(:disabled,[aria-disabled="true"]) {cursor:default}
.poz-action-light {
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;overflow:hidden;contain:paint;
}
.poz-action-sweep {
  position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.35) 48%,transparent 72%);
  mask-image:linear-gradient(#000,transparent 32%,transparent 68%,#000);

}
@media (hover:hover) and (pointer:fine) {
  [data-pz-motion="action"]:not(:disabled):not([aria-disabled="true"]):hover {
    box-shadow:0 5px 14px -7px rgba(15,35,65,.3),inset 0 1px 0 rgba(255,255,255,.2);
  }
  [data-pz-motion="link"] {text-underline-offset:.22em;text-decoration-thickness:1px}
  [data-pz-motion="link"]:hover {text-decoration-line:underline}
  .pozq-page-link-arrow,.pozq-model-panel__item > svg {transition:translate 180ms var(--poz-response)}
  .pozq-page-link:hover .pozq-page-link-arrow,.pozq-model-panel__item:hover > svg {translate:3px 0}
}
@media (prefers-reduced-motion:no-preference) {
  html:not([data-pz-input="keyboard"]) [data-pz-motion="action"]:not(:disabled):not([aria-disabled="true"]):active,
  html:not([data-pz-input="keyboard"]) [data-pz-motion="control"]:not(:disabled):not([aria-disabled="true"]):active {scale:.975;transition-duration:80ms}
  html:not([data-pz-input="keyboard"]) [data-pz-motion="card"]:not(:disabled):not([aria-disabled="true"]):active {scale:.992;transition-duration:80ms}
  :is(.pzcf-progress,.poz-vodic__steps) [aria-current="step"] {transition:background-color 160ms var(--poz-response),color 160ms var(--poz-response)}
}
/* Keyboard use is immediate; reduced motion retains colour/focus feedback. */
html[data-pz-input="keyboard"] [data-pz-motion] {transition-duration:0ms!important}
@media (prefers-reduced-motion:reduce) {
  [data-pz-motion] {transition-duration:0ms!important;scale:1!important}
  .poz-action-light {display:none!important}
  .pozq-page-link-arrow,.pozq-model-panel__item > svg {transition:none!important;translate:none!important}
}
@media (forced-colors:active) {
  .poz-action-light {display:none!important}
  [data-pz-motion]:focus-visible {outline-color:Highlight!important}
}

/* An opening submenu remains a solid reading surface; only its links enter. */
html body #px-page-menu.pozq-page-panel:not([hidden]) {opacity:1!important;animation:none!important}

/* Selection is already expressed by each component. Never add a generic underline. */
.poz-tab-marker {display:none!important}

/* Magic UI-inspired accents are inert overlays; content and hit areas stay unchanged. */
[data-poz-magic-card]::after {content:"";
  position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;
  opacity:0;background:radial-gradient(180px circle at var(--poz-light-x,50%) var(--poz-light-y,50%),color-mix(in srgb,var(--acc,var(--pozcs-accent,#0071e3)) 72%,transparent),color-mix(in srgb,var(--acc,var(--pozcs-accent,#0071e3)) 16%,transparent) 48%,transparent 75%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  transition:opacity 180ms ease-out;
}
.poz-magic-active::after {opacity:1}
.poz-tap-ripple {position:absolute;border-radius:50%;background:currentColor;pointer-events:none;opacity:0}
.poz-catalogue-light {position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;contain:paint}
.poz-catalogue-shine {
  position:absolute;inset:12% 16%;border-radius:32%;pointer-events:none;opacity:0;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
  clip-path:inset(0 0 0 0 round 30%);contain:paint;
}
/* Keep the catalogue's light inside its existing visual, away from text or controls. */

@supports not (mask-composite:exclude) {[data-poz-magic-card]::after{background:none;border:1px solid rgba(0,113,227,.4)}}
@media (prefers-reduced-motion:reduce),(forced-colors:active) {
  [data-poz-magic-card]::after,.poz-catalogue-light,.poz-catalogue-shine,.poz-tap-ripple {display:none!important;transition:none!important}
}
@media (hover:none),(pointer:coarse) {[data-poz-magic-card]::after{display:none}}

/* A visible, bounded response on the actual product and configurator cards. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .pxh-tab-art img,.pxh-category img,.px-library-card img,.px-config-card img {
    transition:scale 360ms cubic-bezier(.22,1,.36,1);
  }
  .pxh-tabs > button:hover .pxh-tab-art img,
  .pxh-category:hover img,.px-library-card:hover img,.px-config-card:hover img {scale:1.045}
  [data-poz-magic-card].poz-magic-active::after {padding:2px;opacity:1}
}
@media (prefers-reduced-motion:reduce) {
  .pxh-tab-art img,.pxh-category img,.px-library-card img,.px-config-card img {scale:1!important;transition:none!important}
}
