/* Social Icons BW - Frontend Styles */

/* Horizontal layout (default) */
.sibw-social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 0;
}

.sibw-social-icons.sibw-horizontal {
    flex-direction: row;
}

/* Vertical layout */
.sibw-social-icons.sibw-vertical {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 8px;
}

.sibw-social-icons.sibw-vertical.sibw-align-center {
    align-items: center;
}

.sibw-social-icons.sibw-vertical.sibw-align-right {
    align-items: flex-end;
}

/* Alignment for horizontal */
.sibw-social-icons.sibw-horizontal.sibw-align-left {
    justify-content: flex-start;
}

.sibw-social-icons.sibw-horizontal.sibw-align-center {
    justify-content: center;
}

.sibw-social-icons.sibw-horizontal.sibw-align-right {
    justify-content: flex-end;
}

/* Vertical icon wrapper (with labels) */
.sibw-social-icons .sibw-icon-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
    width: 100%;
}

.sibw-social-icons .sibw-icon-wrapper:hover {
    opacity: 0.85;
}

.sibw-social-icons .sibw-icon-wrapper:hover .sibw-icon {
    transform: scale(1.05);
}

.sibw-social-icons .sibw-icon-label {
    font-size: 16px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Vertical without labels - just icons stacked */
.sibw-social-icons.sibw-vertical-icons {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 8px;
}

.sibw-social-icons.sibw-vertical-icons.sibw-align-center {
    align-items: center;
}

.sibw-social-icons.sibw-vertical-icons.sibw-align-right {
    align-items: flex-end;
}

/* Base icon styles */
.sibw-social-icons .sibw-icon,
.sibw-social-icons a.sibw-icon,
.sibw-social-icons span.sibw-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
    box-sizing: border-box !important;
    --sibw-icon-padding: 25;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background-image: none !important;
}

.sibw-social-icons .sibw-icon svg {
    width: calc(100% - (var(--sibw-icon-padding) * 1%) * 2) !important;
    height: calc(100% - (var(--sibw-icon-padding) * 1%) * 2) !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: block !important;
}

/* Shapes */
.sibw-icon.sibw-circle {
    border-radius: 50%;
}

.sibw-icon.sibw-square {
    border-radius: 0;
}

.sibw-icon.sibw-rounded {
    border-radius: 15%;
}

/* Styles - background-color s'aplica inline, aquestes són fallbacks */
.sibw-icon.sibw-style-filled {
    background-color: #333;
}

.sibw-social-icons .sibw-icon.sibw-style-outline {
    background-color: transparent !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: currentColor !important;
}

.sibw-icon.sibw-style-flat {
    background-color: transparent !important;
    border: none !important;
}

/* Els SVGs reben el color via l'atribut fill directament */

/* Hover effects (only for horizontal icons, not wrapped) */
a.sibw-icon:hover {
    transform: scale(1.1);
    opacity: 0.85;
}

a.sibw-icon.sibw-style-filled:hover {
    filter: brightness(1.1);
}
