/* Sinais de interação: ponto no submenu e movimento breve nos links editoriais. */
header .mega a{position:relative;padding-inline-start:16px}
header .mega a::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:0;transform:translateY(-50%) scale(.2);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
header .mega a:focus-visible::before{opacity:1;transform:translateY(-50%) scale(1)}
header .mega a:focus-visible{outline:1px solid currentColor;outline-offset:4px}
:is(.text-link:not(.has-motion-label),.procedure h3>a,.procedure-subchoices a,.catalog-card h3,.related-card>span,.concern-option h3,.feature-links>a h3,.instagram-caption h3,.motion-label){background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0% 1px;transition:color .22s ease,border-color .22s ease,background-size .28s ease,transform .28s ease}
:is(.procedure h3>a,.catalog-card h3,.related-card>span,.concern-option h3,.feature-links>a h3,.instagram-caption h3,.motion-label){display:inline-block;max-width:100%;padding-bottom:4px}
:is(.text-link:not(.has-motion-label),.procedure h3>a,.procedure-subchoices a):focus-visible{background-size:100% 1px;transform:translateY(-2px);outline:1px solid currentColor;outline-offset:5px}
:is(.catalog-card,.related-card,.concern-option,.feature-links>a,.instagram-post):focus-visible :is(h3,.motion-label){background-size:100% 1px;transform:translateY(-2px)}
@media(hover:hover) and (pointer:fine){
header .mega a:hover::before{opacity:1;transform:translateY(-50%) scale(1)}
:is(.text-link:not(.has-motion-label),.procedure h3>a,.procedure-subchoices a):hover{background-size:100% 1px;transform:translateY(-3px)}
:is(.catalog-card,.related-card,.concern-option,.feature-links>a,.instagram-post):hover :is(h3,.motion-label){background-size:100% 1px;transform:translateY(-3px)}
.procedure h3>a:hover{text-decoration:none}
}
@media(prefers-reduced-motion:reduce){
header .mega a::before,:is(.text-link:not(.has-motion-label),.procedure h3>a,.procedure-subchoices a,.catalog-card h3,.related-card>span,.concern-option h3,.feature-links>a h3,.instagram-caption h3,.motion-label){transition:none}
:is(.text-link:not(.has-motion-label),.procedure h3>a,.procedure-subchoices a):is(:hover,:focus-visible),:is(.catalog-card,.related-card,.concern-option,.feature-links>a,.instagram-post):is(:hover,:focus-visible) :is(h3,.motion-label){transform:none}
}

.has-motion-label .motion-label{display:inline-block;width:fit-content;max-width:100%;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0% 1px;padding-bottom:3px;transition:color .22s ease,background-size .28s ease,transform .28s ease}
.has-motion-label:focus-visible .motion-label{background-size:100% 1px;transform:translateY(-2px)}
.has-motion-label:focus-visible{outline:1px solid currentColor;outline-offset:5px}
@media(hover:hover) and (pointer:fine){.has-motion-label:hover .motion-label{background-size:100% 1px;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.has-motion-label .motion-label{transition:none}.has-motion-label:is(:hover,:focus-visible) .motion-label{transform:none}}

.text-link.has-motion-label{border-bottom-color:transparent}
.cta-secondary.has-motion-label{border-bottom:0;padding-bottom:0}
.has-motion-label .motion-label{border:0;margin:0}
.concern-option.has-motion-label>span{border-bottom-color:transparent}
@media(hover:none){.has-motion-label .motion-label{background-size:100% 1px}}

/* Cápsulas usam somente a inversão de cores, sem motion ou sublinhado no rótulo. */
body :is(.button,.brand-capsule,.nav-cta,.floating-contact,.map-directions,.international-gallery-link) .motion-label,
body :is(.button,.brand-capsule,.nav-cta,.floating-contact,.map-directions,.international-gallery-link):is(:hover,:focus-visible) .motion-label{transform:none;background-image:none;text-decoration:none;border:0;transition:color .22s ease;padding-bottom:0}
