/* Site-wide external-link treatment: quiet, explicit, and keyboard-visible. */
.external-link-description {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.external-link__icon {
    display: inline-block;
    flex: 0 0 auto;
    width: 0.78em;
    height: 0.78em;
    margin-inline-start: 0.34em;
    overflow: visible;
    vertical-align: 0.08em;
    opacity: 0.72;
    transition: opacity 150ms ease, transform 150ms ease;
}

a[data-external-link]:hover > .external-link__icon,
a[data-external-link]:focus-visible > .external-link__icon {
    opacity: 1;
    transform: translate(1px, -1px);
}

.nav__dropdown-link[data-external-link],
.footer__links a[data-external-link] {
    position: relative;
    padding-inline-end: 2rem;
}

.nav__dropdown-link[data-external-link] > .external-link__icon,
.footer__links a[data-external-link] > .external-link__icon {
    position: absolute;
    inset-inline-end: 0.75rem;
    top: 0.85rem;
    margin: 0;
}

.product-card[data-external-link] > .external-link__icon {
    position: absolute;
    top: 1.55rem;
    inset-inline-end: 1.5rem;
    width: 0.9rem;
    height: 0.9rem;
    margin: 0;
}

@media (prefers-reduced-motion: reduce) {
    .external-link__icon { transition: none; }
}
