/* Base layout + defaults */
.cw-glow-link { display:inline-flex; align-items:center; gap: 8px; text-decoration:none; position:relative; }
.cw-gl-text { position:relative; display:inline-block; color:#c2a519; font-size:16px; font-weight:500; line-height:1.2; }
.cw-glow-link__icon { display:inline-flex; line-height:0; }
.cw-glow-link__img { display:inline-block; height:auto; }

/* Underline base (grows left→right on hover) */
.cw-gl-text:after { content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background-color:#c2a519; transform:scaleX(0); transform-origin:left; transition:transform var(--cw-glow-duration,600ms) ease; }
.cw-glow-link:hover .cw-gl-text:after { transform:scaleX(1); }

/* Glow sweep */
.cw-gl-text:before { content:""; position:absolute; left:0; bottom:-2px; height:2px; width:30%; background-image:linear-gradient(90deg, transparent 0%, rgba(194,165,25,0.9) 50%, transparent 100%); filter:blur(var(--cw-glow-blur,6px)); opacity:0; transform:translateX(-100%); }
.cw-glow-link:hover .cw-gl-text:before { opacity:1; animation:cw-glow-sheen var(--cw-glow-duration,600ms) ease-out forwards; }
@keyframes cw-glow-sheen { from { transform:translateX(-100%);} to { transform:translateX(300%);} }