/* Shared TUBY button language: one font, one shape, one restrained ripple. */
.tuby-commerce button,
.tuby-commerce input[type="submit"],
.tuby-commerce input.button,
.tuby-commerce a.button,
.tuby-commerce .tuby-button,
.tuby-commerce .tuby-cta,
.tuby-commerce .tuby-filters button,
.tuby-commerce .tuby-consent-actions button,
.tuby-commerce .tuby-consent-manage button {
    font-family: "Segoe UI", Arial, sans-serif;
}
.tuby-commerce button.button,
.tuby-commerce input.button,
.tuby-commerce a.button,
.tuby-commerce .tuby-button,
.tuby-commerce .tuby-cta,
.tuby-commerce .tuby-filters button,
.tuby-commerce .tuby-consent-actions button,
.tuby-commerce .tuby-consent-manage button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 999px;
    font-weight: 500;
    letter-spacing: .02em;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease, opacity .18s ease;
}
.tuby-commerce button.button::before,
.tuby-commerce input.button::before,
.tuby-commerce a.button::before,
.tuby-commerce .tuby-button::before,
.tuby-commerce .tuby-cta::before,
.tuby-commerce .tuby-filters button::before,
.tuby-commerce .tuby-consent-actions button::before,
.tuby-commerce .tuby-consent-manage button::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .23);
    transform: translate(-50%, -50%);
    transition: width .42s ease, height .42s ease;
}
.tuby-commerce button.button:hover,
.tuby-commerce button.button:focus-visible,
.tuby-commerce input.button:hover,
.tuby-commerce input.button:focus-visible,
.tuby-commerce a.button:hover,
.tuby-commerce a.button:focus-visible,
.tuby-commerce .tuby-button:hover,
.tuby-commerce .tuby-button:focus-visible,
.tuby-commerce .tuby-cta:hover,
.tuby-commerce .tuby-cta:focus-visible,
.tuby-commerce .tuby-filters button:hover,
.tuby-commerce .tuby-filters button:focus-visible,
.tuby-commerce .tuby-consent-actions button:hover,
.tuby-commerce .tuby-consent-actions button:focus-visible,
.tuby-commerce .tuby-consent-manage button:hover,
.tuby-commerce .tuby-consent-manage button:focus-visible {
    background: var(--tuby-dark-hover);
    border-color: var(--tuby-dark-hover);
}
.tuby-commerce button.button:hover::before,
.tuby-commerce button.button:focus-visible::before,
.tuby-commerce input.button:hover::before,
.tuby-commerce input.button:focus-visible::before,
.tuby-commerce a.button:hover::before,
.tuby-commerce a.button:focus-visible::before,
.tuby-commerce .tuby-button:hover::before,
.tuby-commerce .tuby-button:focus-visible::before,
.tuby-commerce .tuby-cta:hover::before,
.tuby-commerce .tuby-cta:focus-visible::before,
.tuby-commerce .tuby-filters button:hover::before,
.tuby-commerce .tuby-filters button:focus-visible::before,
.tuby-commerce .tuby-consent-actions button:hover::before,
.tuby-commerce .tuby-consent-actions button:focus-visible::before,
.tuby-commerce .tuby-consent-manage button:hover::before,
.tuby-commerce .tuby-consent-manage button:focus-visible::before {
    width: 260%;
    height: 520%;
}
.tuby-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 14px;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .22s ease, transform .22s ease;
}
.tuby-card:hover .tuby-card-actions,
.tuby-card:focus-within .tuby-card-actions {
    opacity: 1;
    transform: none;
}
.tuby-card-actions .tuby-button {
    display: inline-flex;
    flex: 1 1 130px;
    min-width: 0;
    padding: 11px 13px;
    font-size: 12px;
}
.tuby-button-secondary {
    background: var(--tuby-surface);
    color: var(--tuby-dark) !important;
}
@media (max-width: 700px) {
    .tuby-card-actions {
        display: grid;
        grid-template-columns: 1fr;
        opacity: 1;
        transform: none;
    }
    .tuby-card-actions .tuby-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .tuby-commerce button.button,
    .tuby-commerce input.button,
    .tuby-commerce a.button,
    .tuby-commerce .tuby-button,
    .tuby-commerce .tuby-cta,
    .tuby-commerce .tuby-filters button,
    .tuby-commerce .tuby-consent-actions button,
    .tuby-commerce .tuby-consent-manage button { transition: none; }
    .tuby-commerce button.button::before,
    .tuby-commerce input.button::before,
    .tuby-commerce a.button::before,
    .tuby-commerce .tuby-button::before,
    .tuby-commerce .tuby-cta::before,
    .tuby-commerce .tuby-filters button::before,
    .tuby-commerce .tuby-consent-actions button::before,
    .tuby-commerce .tuby-consent-manage button::before { display: none; }
}

.tuby-commerce .tuby-related-add{display:inline-flex!important;align-items:center;justify-content:center;margin-top:8px;padding:10px 16px!important;border:1px solid var(--tuby-dark);border-radius:999px!important;background:var(--tuby-dark)!important;color:#fff!important;font:600 13px/1.2 "Segoe UI",Arial,sans-serif!important;text-decoration:none!important}.tuby-commerce .tuby-related-add:hover,.tuby-commerce .tuby-related-add:focus-visible{background:var(--tuby-dark-hover)!important;color:#fff!important;transform:translateY(-2px)}

.tuby-commerce .tuby-button-secondary{background:var(--tuby-surface);border-color:var(--tuby-line);color:var(--tuby-ink)!important}
.tuby-commerce .tuby-button-secondary:hover,.tuby-commerce .tuby-button-secondary:focus-visible{background:var(--tuby-sand);border-color:var(--tuby-accent);color:var(--tuby-ink)!important}
