.sz-icon {
    block-size: 1.25em;
    flex: none;
    inline-size: 1.25em;
    vertical-align: -0.15em;
    transition: transform 220ms cubic-bezier(0.34, 1.42, 0.44, 1);
}
.sz-icon[data-sz-icon="arrow-left"],
.sz-icon[data-sz-icon="arrow-right"] {
    scale: -1 1;
}
[dir="ltr"] .sz-icon[data-sz-icon="arrow-left"],
[dir="ltr"] .sz-icon[data-sz-icon="arrow-right"] {
    scale: 1;
}
:is(a, button):hover .sz-icon[data-sz-icon="arrow-left"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="arrow-left"] {
    transform: translateX(-4px);
}
:is(a, button):hover .sz-icon[data-sz-icon="arrow-right"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="arrow-right"] {
    transform: translateX(4px);
}
:is(a, button):hover .sz-icon[data-sz-icon="cart"],
:is(a, button):hover .sz-icon[data-sz-icon="cart-add"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="cart"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="cart-add"] {
    animation: sz-icon-roll 520ms cubic-bezier(0.34, 1.42, 0.44, 1);
}
@keyframes sz-icon-roll {
    0% { transform: translateX(0); }
    55% { transform: translateX(-5px); }
    100% { transform: translateX(0); }
}
[dir="ltr"] :is(a, button):hover .sz-icon[data-sz-icon="cart"],
[dir="ltr"] :is(a, button):hover .sz-icon[data-sz-icon="cart-add"] {
    animation-name: sz-icon-roll-ltr;
}
@keyframes sz-icon-roll-ltr {
    0% { transform: translateX(0); }
    55% { transform: translateX(5px); }
    100% { transform: translateX(0); }
}
:is(a, button):hover .sz-icon[data-sz-icon="car"],
:is(a, button):hover .sz-icon[data-sz-icon="car-rental"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="car"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="car-rental"] {
    animation: sz-icon-roll 760ms ease-out;
}
:is(a, button):hover .sz-icon[data-sz-icon="bell"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="bell"] {
    animation: sz-icon-ring 640ms ease-in-out;
    transform-origin: 50% 12%;
}
@keyframes sz-icon-ring {
    0%, 100% { transform: rotate(0); }
    15% { transform: rotate(13deg); }
    35% { transform: rotate(-10deg); }
    55% { transform: rotate(6deg); }
    75% { transform: rotate(-3deg); }
}
:is(a, button):hover .sz-icon[data-sz-icon="wrench"],
:is(a, button):hover .sz-icon[data-sz-icon="engineer"],
:is(a, button):hover .sz-icon[data-sz-icon="car-repair"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="wrench"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="engineer"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="car-repair"] {
    transform: rotate(-22deg);
}
:is(a, button):hover .sz-icon[data-sz-icon="settings"],
:is(a, button):hover .sz-icon[data-sz-icon="parts"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="settings"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="parts"] {
    animation: sz-icon-turn 2.6s linear infinite;
}
@keyframes sz-icon-turn {
    to { transform: rotate(360deg); }
}
:is(a, button):hover .sz-icon[data-sz-icon="heart"],
:is(a, button):hover .sz-icon[data-sz-icon="heart-filled"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="heart"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="heart-filled"] {
    animation: sz-icon-beat 900ms ease-in-out;
}
@keyframes sz-icon-beat {
    0%, 100% { transform: scale(1); }
    18% { transform: scale(1.22); }
    32% { transform: scale(1); }
    50% { transform: scale(1.14); }
    64% { transform: scale(1); }
}
:is(a, button):hover .sz-icon[data-sz-icon="star"],
:is(a, button):hover .sz-icon[data-sz-icon="star-filled"],
:is(a, button):hover .sz-icon[data-sz-icon="sparkles"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="star"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="star-filled"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="sparkles"] {
    transform: rotate(16deg) scale(1.12);
}
:is(a, button):hover .sz-icon[data-sz-icon="bolt"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="bolt"] {
    animation: sz-icon-flicker 700ms steps(1, end) 2;
}
@keyframes sz-icon-flicker {
    0%, 100% { opacity: 1; }
    40% { opacity: 0.35; }
    60% { opacity: 1; }
    80% { opacity: 0.6; }
}
:is(a, button):hover .sz-icon[data-sz-icon="search"],
:is(a, button):hover .sz-icon[data-sz-icon="eye"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="search"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="eye"] {
    transform: translate(-1px, -1px) scale(1.14);
}
:is(a, button):hover .sz-icon[data-sz-icon="pin"],
:is(a, button):hover .sz-icon[data-sz-icon="locate"],
:is(a, button):hover .sz-icon[data-sz-icon="near-me"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="pin"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="locate"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="near-me"] {
    animation: sz-icon-drop 460ms cubic-bezier(0.34, 1.42, 0.44, 1);
    transform-origin: 50% 100%;
}
@keyframes sz-icon-drop {
    0% { transform: translateY(-4px); }
    100% { transform: translateY(0); }
}
:is(a, button):hover .sz-icon[data-sz-icon="clock"],
:is(a, button):hover .sz-icon[data-sz-icon="history"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="clock"],
:is(a, button):focus-visible .sz-icon[data-sz-icon="history"] {
    transform: rotate(30deg);
}
.sz-bento-tile:hover .sz-icon,
.sz-bento-tile:focus-visible .sz-icon {
    transform: scale(1.14);
}
.sz-reveal--armed .sz-icon path {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}
.sz-reveal--in .sz-icon path {
    animation: sz-icon-draw 620ms ease-out forwards;
    stroke-dasharray: 1;
}
@keyframes sz-icon-draw {
    from { stroke-dashoffset: 1; }
    to { stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .sz-icon,
    .sz-icon path {
        animation: none !important;
        transform: none !important;
        transition: none !important;
    }
    .sz-reveal--armed .sz-icon path,
    .sz-reveal--in .sz-icon path {
        stroke-dasharray: none;
        stroke-dashoffset: 0;
    }
}
