/* Vector decoration is centered independently of the text font's baseline. */
:root .ui-icon{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;align-self:center;width:18px;height:18px;flex:0 0 18px;line-height:0;vertical-align:middle;padding:0;margin:0;pointer-events:none}
:root .ui-icon>svg{display:block;width:100%;height:100%;overflow:visible}
:root :is(a,button,small,.text-link).has-ui-icon{display:inline-flex;align-items:center;gap:8px}
:root :is(a,button).is-icon-only{padding:0;line-height:0;justify-content:center}
:root .icon-btn>.ui-icon,:root .round>.ui-icon{width:20px;height:20px;flex-basis:20px}
:root .icon-btn svg{display:block;width:20px;height:20px;margin:0;flex-shrink:0}
:root .round{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0}
:root .save-product{align-items:center;justify-content:center;line-height:20px}
:root .save-product:not(.save-with-caption){padding:0}
:root .save-product svg{display:block;width:20px;height:20px;margin:0;flex:0 0 20px}
:root .save-product path{stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:root .active-filter-tag{display:inline-flex;align-items:center;justify-content:center;gap:6px}
:root .active-filter-tag>.ui-icon{width:14px;height:14px;flex-basis:14px}
:root .stock-size.has-ui-icon{display:inline-flex;align-items:center;justify-content:center;gap:4px}
:root .stock-size>.ui-icon{width:12px;height:12px;flex-basis:12px}
:root .faq summary>.ui-icon{width:30px;height:30px;flex-basis:30px;align-self:center}
:root .faq summary>.ui-icon>svg{width:18px;height:18px}
:root .empty-heart.ui-icon{display:flex;width:48px;height:48px;margin:0 auto 16px}
:root .measure-note .ui-icon{width:1em;height:1em;font-size:inherit}
.hero-postcard>svg{justify-self:center;align-self:center;display:block}
/* Decorative symbols must not fall back to a phone's emoji font. */
:root .stars{display:inline-flex;align-items:center;gap:3px;letter-spacing:0;line-height:1}
:root .stars>.ui-icon{width:14px;height:14px;flex-basis:14px}
:root .ui-icon-star>svg{fill:currentColor;stroke-width:1.2}
:root .gallery-swipe-hint>.ui-icon,:root .stock-legend>.ui-icon{width:14px;height:14px;flex-basis:14px}
:root .occasion-card .text-link::after{content:none;display:none}
.fabric-notes>span::before{content:'';width:15px;height:15px;top:3px;background:currentColor;-webkit-mask:url('/assets/icon-flower.svg') center/contain no-repeat;mask:url('/assets/icon-flower.svg') center/contain no-repeat}
@media(max-width:650px){
 :root .occasion-card .text-link>.ui-icon{width:22px;height:22px;flex-basis:22px}
}
