.cm-ui-icon{width:20px;height:20px;display:block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ui-icon-button{position:relative;width:44px;height:44px;min-width:44px;display:grid;place-items:center;padding:0;border:1px solid rgba(23,23,20,.14);border-radius:50%;appearance:none;color:var(--ink,#171714);background:rgba(255,255,255,.82);cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}
.ui-icon-button:hover{border-color:rgba(23,23,20,.34);background:#fff;transform:translateY(-1px)}
.ui-icon-button:focus-visible{outline:3px solid rgba(215,25,32,.24);outline-offset:2px}
.ui-icon-button.is-active{border-color:rgba(215,25,32,.22);color:var(--brand,#d71920);background:rgba(215,25,32,.08)}
.ui-icon-button.is-active .cm-ui-icon{fill:currentColor}
.cm-file-icon{pointer-events:none}
:is(.card-cart-button,.catalog-cart-button,.product-cart-button,.modal-cart-button,.favorite-cart-button,.catalog-gallery-button,.card-open) .cm-file-icon,
:is(.card-action-button:hover,.card-action-button.is-active,.catalog-compare-choice:hover,.catalog-compare-choice.active,.product-favorite-button:hover,.product-favorite-button.is-active,.card-favorite-button.is-active,.catalog-favorite-button.is-active) .cm-file-icon,
:is(.hero-arrow:not(:hover),.image-lightbox-arrow:not(:hover)) .cm-file-icon{filter:brightness(0) invert(1)}
.card-fabric-link .cm-ui-icon,.catalog-card-fabric-link .cm-ui-icon{width:22px;height:22px}
.catalog-fabric-link:hover{border-color:#171714;background:#f5f4f0}
.ui-badge{position:absolute;z-index:2;top:-4px;right:-4px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 4px;border:2px solid #fff;border-radius:999px;color:#fff;background:var(--brand,#d71920);font-size:9px;font-weight:700;line-height:1;pointer-events:none}
.ui-badge[hidden]{display:none}
.ui-modal{position:fixed;inset:0;width:min(640px,calc(100% - 32px));max-width:none;height:auto;max-height:min(88vh,820px);max-height:min(88dvh,820px);margin:auto;padding:0;overflow:hidden;border:0;border-radius:26px;appearance:none;color:var(--ink,#171714);background:#f8f7f2;box-shadow:0 30px 100px rgba(18,17,15,.3);opacity:0;transform:translateY(16px) scale(.97);transition:opacity .26s cubic-bezier(.22,.72,.2,1),transform .26s cubic-bezier(.22,.72,.2,1),display .26s allow-discrete,overlay .26s allow-discrete}
.ui-modal::backdrop{background:rgba(18,17,15,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:background .26s ease,backdrop-filter .26s ease}
.ui-modal.is-visible{opacity:1;transform:none}
.ui-modal.is-visible::backdrop{background:rgba(18,17,15,.56);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.ui-modal.is-closing{pointer-events:none}
body.ui-modal-open{overflow:hidden}
.ui-fly-clone{position:fixed;z-index:1200;display:block;overflow:hidden;border:2px solid rgba(255,255,255,.9);border-radius:14px;background:var(--brand,#d71920);box-shadow:0 12px 30px rgba(18,17,15,.26);object-fit:cover;pointer-events:none;will-change:transform,opacity}
.is-pulsing{animation:ui-icon-pulse .4s cubic-bezier(.2,.8,.2,1)}
@keyframes ui-icon-pulse{0%,100%{transform:scale(1)}45%{transform:scale(1.12)}}
@media(max-width:620px){.ui-modal{width:calc(100% - max(24px,calc(env(safe-area-inset-left) + env(safe-area-inset-right))));max-height:calc(100dvh - max(24px,calc(env(safe-area-inset-top) + env(safe-area-inset-bottom))));border-radius:22px}}
@media(prefers-reduced-motion:reduce){.ui-icon-button,.ui-modal,.ui-modal::backdrop{transition:none}.is-pulsing{animation:none}.ui-fly-clone{display:none}}
