.dbtsl {
    display: flex;
    gap: var(--dbtsl-gap);
    max-width: 100%;
    color: inherit;
    font: inherit;
}

.dbtsl-horizontal {
    flex-flow: row wrap;
    align-items: center;
}

.dbtsl-vertical {
    flex-direction: column;
    align-items: flex-start;
}

.dbtsl-align-start { justify-content: flex-start; }
.dbtsl-align-center { justify-content: center; }
.dbtsl-align-end { justify-content: flex-end; }
.dbtsl-vertical.dbtsl-align-start { align-items: flex-start; }
.dbtsl-vertical.dbtsl-align-center { align-items: center; }
.dbtsl-vertical.dbtsl-align-end { align-items: flex-end; }

.dbtsl-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55em;
    min-width: 0;
    color: inherit;
    font: inherit;
    text-decoration: none;
    transition: transform .16s ease, opacity .16s ease, background-color .16s ease;
}

.dbtsl-link:hover,
.dbtsl-link:focus-visible {
    color: inherit;
    opacity: .78;
    transform: translateY(-1px);
}

.dbtsl-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.dbtsl-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: var(--dbtsl-icon-size);
    height: var(--dbtsl-icon-size);
    color: inherit;
    line-height: 1;
}

.dbtsl-icon svg,
.dbtsl-icon img {
    display: block;
    width: 100%;
    height: 100%;
}

.dbtsl-icon img {
    object-fit: contain;
}

.dbtsl-style-circle .dbtsl-icon,
.dbtsl-style-rounded .dbtsl-icon {
    box-sizing: content-box;
    padding: .42em;
    border: 1px solid currentColor;
    background: transparent;
}

.dbtsl-style-circle .dbtsl-icon { border-radius: 50%; }
.dbtsl-style-rounded .dbtsl-icon { border-radius: .45em; }

.dbtsl-label {
    line-height: 1.2;
    white-space: nowrap;
}

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

/* Optional brand colours. Text labels continue to inherit the template colour. */
.dbtsl-colors-brand .dbtsl-link[data-platform="facebook"] .dbtsl-icon { color: #1877F2; }
.dbtsl-colors-brand .dbtsl-link[data-platform="youtube"] .dbtsl-icon { color: #FF0000; }
.dbtsl-colors-brand .dbtsl-link[data-platform="linkedin"] .dbtsl-icon { color: #0A66C2; }
.dbtsl-colors-brand .dbtsl-link[data-platform="x"] .dbtsl-icon { color: #000000; color: light-dark(#000000, #FFFFFF); }
.dbtsl-colors-brand .dbtsl-link[data-platform="bluesky"] .dbtsl-icon { color: #1185FE; }
.dbtsl-colors-brand .dbtsl-link[data-platform="threads"] .dbtsl-icon { color: #000000; color: light-dark(#000000, #FFFFFF); }
.dbtsl-colors-brand .dbtsl-link[data-platform="mastodon"] .dbtsl-icon { color: #6364FF; }
.dbtsl-colors-brand .dbtsl-link[data-platform="pinterest"] .dbtsl-icon { color: #E60023; }
.dbtsl-colors-brand .dbtsl-link[data-platform="tiktok"] .dbtsl-icon { color: #000000; color: light-dark(#000000, #FFFFFF); }
