.celtiis-inline-link {
    display: flex;
    width: 100%;
}

.celtiis-inline-link.is-align-center {
    justify-content: center;
}

.celtiis-inline-link.is-align-right {
    justify-content: flex-end;
}

.celtiis-inline-link__heading {
    margin: 0;
}

.celtiis-inline-link__link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--celtiis-color-primary);
    text-decoration: none;
    transition: color 180ms ease, transform 180ms ease;
}

.celtiis-inline-link__link:hover {
    color: var(--celtiis-color-primary-dark);
}

.celtiis-inline-link__text {
    position: relative;
    display: inline-block;
    font-family: 'Gotham';
    font-size: 14px;
    line-height: 1.08;
    font-weight: 500;
    letter-spacing: -0.03em;
}

.celtiis-inline-link__text::after {
    position: absolute;
    right: 0;
    bottom: -4px;
    left: 0;
    height: 1.5px;
    border-radius: 999px;
    background: currentColor;
    content: "";
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 220ms ease;
}

.celtiis-inline-link__link:hover .celtiis-inline-link__text::after,
.celtiis-inline-link__link:focus-visible .celtiis-inline-link__text::after {
    transform: scaleX(1);
    transform-origin: left center;
}

.celtiis-inline-link__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    flex: 0 0 auto;
    color: inherit;
}

/* Icône custom (Elementor Icons_Manager : <i> Font Awesome / Phosphor, <svg> inline) */
.celtiis-inline-link__icon--custom > i,
.celtiis-inline-link__icon--custom > svg {
    color: inherit;
    fill: currentColor;
    line-height: 1;
    width: 100%;
    height: 100%;
}

.celtiis-inline-link__icon::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2016H27%22%2F%3E%3Cpath%20d%3D%22M18.5%207.5L27%2016L18.5%2024.5%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2016H27%22%2F%3E%3Cpath%20d%3D%22M18.5%207.5L27%2016L18.5%2024.5%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.celtiis-inline-link__icon.celtiis-inline-link__icon--custom::after {
    content: none;
    background: none;
    mask: none;
    -webkit-mask: none;
}

@media (prefers-reduced-motion: reduce) {
    .celtiis-inline-link__text::after {
        transition: none;
    }
}

@media (max-width: 767px) {
    .celtiis-inline-link__link {
        gap: 12px;
    }

    .celtiis-inline-link__text {
        font-size: 15px;
    }

    .celtiis-inline-link__icon {
        width: 20px;
        height: 20px;
    }
}
