/* LuminaBooks — SVG sprite icon utilities (Heroicons-compatible symbols in img/icons.svg) */

.icon {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    vertical-align: middle;
    color: inherit;
    pointer-events: none;
}

.icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.icon-lg {
    width: 1.5rem;
    height: 1.5rem;
}

.icon-xl {
    width: 2rem;
    height: 2rem;
}

.icon-2xl {
    width: 2.5rem;
    height: 2.5rem;
}

/* Rating row: five stars */
.rating-stars {
    display: inline-flex;
    align-items: center;
    gap: 0.125rem;
    color: #fbbf24;
}

.rating-stars .icon {
    width: 1rem;
    height: 1rem;
}

.social-btn {
    display: inline-flex;
    height: 2.25rem;
    width: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: #f59e0b;
    cursor: pointer;
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.social-btn:hover {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.35);
    color: #fcd34d;
}

.social-btn:focus-visible {
    outline: 2px solid rgba(245, 158, 11, 0.65);
    outline-offset: 2px;
}

.social-btn .icon {
    width: 1.125rem;
    height: 1.125rem;
}
