/* Same 450ms circle draw as the fixed sidebar, with no capsule, bounce or glow.
 * This enhancement does not own button dimensions, positioning, icons or touch targets. */
body.sibo-site .sibo-round-hover.sibo-round-static { position: relative; }
body.sibo-site .sibo-round-hover {
    --sibo-round-duration: .45s;
    transition: color var(--sibo-round-duration) ease, background-color var(--sibo-round-duration) ease,
        border-color var(--sibo-round-duration) ease, opacity .18s ease;
}
/* Keep positioning transforms (e.g. -50% vertical anchoring), but remove hover lift. */
body.sibo-site button.sibo-carousel-button.sibo-round-hover {
    --sibo-control-lift: 0px;
    transition: color .45s ease, background-color .45s ease, border-color .45s ease, opacity .18s ease;
}
body.sibo-site .sibo-round-hover > svg.sibo-round-hover-ring {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%; height: 100%; min-width: 0; max-width: none; max-height: none;
    margin: 0; padding: 0;
    overflow: visible;
    fill: none; stroke: none;
    border: 0; border-radius: 0; box-shadow: none; background: none;
    transform: none; transition: none;
    pointer-events: none;
}
body.sibo-site .sibo-round-hover > .sibo-round-hover-ring circle {
    fill: none;
    stroke: var(--sibo-accent, #21c4b8);
    stroke-width: 1.2;
    stroke-linecap: round;
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    opacity: 0;
    transition: stroke-dashoffset var(--sibo-round-duration) ease, opacity var(--sibo-round-duration) ease;
}
body.sibo-site .sibo-round-hover:not(:disabled):not([aria-disabled="true"]):focus-visible,
body.sibo-site .sibo-round-trigger:focus-visible .sibo-round-hover {
    --sibo-control-lift: 0px;
    color: var(--sibo-accent, #21c4b8);
    border-color: rgb(255 255 255 / .11);
    background-color: var(--sibo-round-hover-surface, #35383c);
    outline: 2px solid var(--sibo-accent, #21c4b8); outline-offset: 4px;
}
body.sibo-site .sibo-round-hover:not(:disabled):not([aria-disabled="true"]):focus-visible > .sibo-round-hover-ring circle,
body.sibo-site .sibo-round-trigger:focus-visible .sibo-round-hover > .sibo-round-hover-ring circle {
    stroke-dashoffset: 0; opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
    body.sibo-site .sibo-round-hover:not(:disabled):not([aria-disabled="true"]):hover,
    body.sibo-site .sibo-round-trigger:hover .sibo-round-hover {
        --sibo-control-lift: 0px;
        color: var(--sibo-accent, #21c4b8);
        border-color: rgb(255 255 255 / .11);
        background-color: var(--sibo-round-hover-surface, #35383c);
    }
    body.sibo-site .sibo-round-hover:not(:disabled):not([aria-disabled="true"]):hover > .sibo-round-hover-ring circle,
    body.sibo-site .sibo-round-trigger:hover .sibo-round-hover > .sibo-round-hover-ring circle {
        stroke-dashoffset: 0; opacity: 1;
    }
}
/* The light gallery enlargement icon keeps its original light surface. */
body.sibo-site .sibo-pdp-enlarge.sibo-round-hover { --sibo-round-hover-surface: #f0f5f4; }
@media (prefers-reduced-motion: reduce) {
    body.sibo-site .sibo-round-hover,
    body.sibo-site .sibo-round-hover > .sibo-round-hover-ring circle { transition: none; }
}
