/* Shared interaction foundation. Individual template layouts and brand palettes remain distinct. */
[data-vaysen-ux="motion-01"] { --ux-motion-time: 420ms; --ux-ease: cubic-bezier(.2,.7,.2,1); --ux-header-height: 96px; }
[data-vaysen-motion-profile="editorial"] { --ux-motion-time: 660ms; }
[data-vaysen-motion-profile="application"] { --ux-motion-time: 520ms; }
[data-vaysen-ux] .ux-sticky-header { position: sticky; top: 0; z-index: 80; background: var(--ux-header-background); transition: box-shadow 220ms, padding 220ms; }
[data-vaysen-ux] .ux-sticky-header.ux-scrolled { box-shadow: 0 8px 28px rgb(0 0 0 / .09); }
[data-vaysen-ux] main :is(section, h2, h3, [id]) { scroll-margin-top: calc(var(--ux-header-height) + 24px); }
[data-vaysen-ux] :is(a, button, summary) { -webkit-tap-highlight-color: transparent; }
[data-vaysen-ux] :is(a.button, button.button, .card, .product-card, .product) { transition: transform 220ms var(--ux-ease), box-shadow 220ms, background-color 220ms; }
[data-vaysen-ux] :is(a.button, button.button):active { transform: translateY(1px); }
[data-vaysen-ux] :is(input, select, textarea):focus-visible { outline-offset: 4px; }
[data-vaysen-ux] .ux-chapters { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 26px 0; padding: 12px 0; border-block: 1px solid var(--line, #b4b8b3); color: inherit; }
[data-vaysen-ux] .ux-chapters > span { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; margin-right: 8px; }
[data-vaysen-ux] .ux-chapters a { padding: 9px 12px; min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; text-decoration: none; border: 1px solid transparent; border-radius: 0; }
[data-vaysen-ux] .ux-chapters a:hover, [data-vaysen-ux] .ux-chapters a[aria-current="location"] { border-color: currentColor; }
[data-vaysen-ux] .ux-inspect { position: relative; margin-top: 9px; padding: 9px 13px; font-size: 12px; min-height: 44px; line-height: 1.4; border: 1px solid currentColor; background: transparent; color: inherit; border-radius: 0; }
[data-vaysen-ux] .ux-lightbox { width: min(1120px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 20px; color: #202720; background: #f7f5ef; border: 1px solid #92968d; }
[data-vaysen-ux] .ux-lightbox::backdrop { background: rgb(5 16 23 / .82); }
[data-vaysen-ux] .ux-lightbox-header { display: flex; gap: 16px; justify-content: space-between; align-items: center; margin-bottom: 16px; }
[data-vaysen-ux] .ux-lightbox h2 { margin: 0; font-size: 20px; }
[data-vaysen-ux] .ux-lightbox img { width: 100%; max-height: 68dvh; object-fit: contain; margin: 0 auto; }
[data-vaysen-ux] .ux-lightbox-caption { margin-top: 14px; font-size: 12px; max-width: none; }
[data-vaysen-ux] .ux-lightbox :is(button,a) { min-height: 44px; }
[data-vaysen-ux] .ux-view-preferences { margin: 20px 0 0; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 12px; }
[data-vaysen-ux] :is(.ux-motion-toggle, .ux-footer-top) { min-height: 44px; padding: 9px 13px; font-size: 12px; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: 0; }
[data-vaysen-ux] .ux-back-top { position: fixed; z-index: 90; left: 16px; bottom: 16px; width: 44px; height: 44px; padding: 0; display: grid; place-items: center; border-radius: 50%; background: var(--ux-header-background); color: inherit; border: 1px solid currentColor; box-shadow: 0 4px 18px rgb(0 0 0 / .12); font-size: 22px; }
[data-vaysen-ux] .ux-back-top[hidden] { display: none; }
@media(hover:hover) and (pointer:fine) {
  [data-vaysen-ux] :is(a.button, button.button):hover { transform: translateY(-3px); box-shadow: 0 7px 18px rgb(0 0 0 / .1); }
  [data-vaysen-ux] :is(.card, .product-card):hover { transform: translateY(-4px); }
  [data-vaysen-ux] .ux-inspect:hover { background: rgb(128 128 128 / .1); }
}
@media(max-width:700px) {
  [data-vaysen-ux] .ux-chapters { gap: 4px; }
  [data-vaysen-ux] .ux-chapters > span { flex-basis: 100%; }
  [data-vaysen-ux] .ux-chapters a { padding: 9px; font-size: 12px; }
  [data-vaysen-ux] .ux-lightbox { padding: 14px; }
  [data-vaysen-ux] .ux-lightbox img { max-height: 57dvh; }
  [data-vaysen-ux] .ux-back-top { display: none; }
}
[data-vaysen-motion="off"] *, [data-vaysen-motion="off"] *::before, [data-vaysen-motion="off"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media(prefers-reduced-motion:reduce) { [data-vaysen-ux] *, [data-vaysen-ux] *::before, [data-vaysen-ux] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
