/* SME Heading with icon + link support (stable) */
.sme-heading-wrap{--sme-icon-gap:.5em;--sme-icon-size:1em}
.sme-heading, .sme-heading .sme-heading__link{display:inline-flex; gap:var(--sme-icon-gap); align-items:baseline; position:relative; transition:all .35s ease; color:inherit; text-decoration:none}
.sme-heading .sme-heading__link{text-decoration:none}
.sme-heading__icon{width:var(--sme-icon-size); height:var(--sme-icon-size); display:inline-block; line-height:1}
.sme-heading__icon svg{width:100%; height:100%}
.sme-heading__icon-wrap.is-before{order:-1}
.sme-heading__icon-wrap.is-after{order:2}

/* Hover: underline */
.sme-heading.hover-underline::after,
.sme-heading.hover-underline .sme-heading__link::after{content:""; position:absolute; left:0; bottom:-.15em; width:100%; height:2px; background: currentColor; transform:scaleX(0); transform-origin:left; transition:transform .35s ease}
.sme-heading.hover-underline:hover::after,
.sme-heading.hover-underline .sme-heading__link:hover::after{transform:scaleX(1)}

/* Hover: scale */
.sme-heading.hover-scale:hover,
.sme-heading.hover-scale .sme-heading__link:hover{transform:translateZ(0) scale(1.06)}

/* Hover: wipe */
.sme-heading.hover-wipe{--wipe-bg: currentColor}
.sme-heading.hover-wipe,
.sme-heading.hover-wipe .sme-heading__link{background-image:linear-gradient(90deg,var(--wipe-bg),var(--wipe-bg)); background-size:0% 100%; background-repeat:no-repeat; transition:background-size .45s ease, color .1s ease}
.sme-heading.hover-wipe:hover,
.sme-heading.hover-wipe .sme-heading__link:hover{background-size:100% 100%; color:#fff}

/* Hover: glow */
.sme-heading.hover-glow:hover,
.sme-heading.hover-glow .sme-heading__link:hover{text-shadow:0 0 .6em currentColor}
