/**
 * Hobbiz buttons — cookie-banner style as the platform standard.
 *
 * Primary: solid purple pill, white text, soft glow.
 * Secondary / ghost: white fill, pale border, dark text (not purple outline).
 * Shape: fully rounded (999px). Pairs stay in a horizontal row.
 */

:root {
    --hz-btn-radius: 999px;
    --hz-btn-ink: #1c0a47;
    --hz-btn-accent: var(--primary-color, #7f58ff);
    --hz-btn-accent-dark: var(--primary-color-dark, #6b48d6);
    --hz-btn-border: #e7e2f7;
    --hz-btn-ghost-hover: #f5f2ff;
    --hz-btn-shadow: 0 10px 24px -10px rgba(127, 88, 255, 0.65);
    --hz-btn-min-h: 44px;
}

.btn:not(.btn-close):not(.rounded-circle):not(.btn-icon):not(.no-hz-btn),
a.btn:not(.btn-close):not(.rounded-circle):not(.btn-icon):not(.no-hz-btn),
button.btn:not(.btn-close):not(.rounded-circle):not(.btn-icon):not(.no-hz-btn),
input[type="submit"].btn,
input[type="button"].btn,
.gam-btn-primary,
.gam-btn-outline,
.btn-w-primary,
.btn-w-secondary,
.noty_buttons .btn,
.noty_buttons button {
    border-radius: var(--hz-btn-radius) !important;
    font-weight: 600;
    border-width: 1.5px;
    border-style: solid;
}

.btn:not(.btn-close):not(.rounded-circle):not(.btn-icon):not(.no-hz-btn):not(.btn-sm):not(.btn-lg):not(.p-0):not(.px-0),
a.btn:not(.btn-close):not(.rounded-circle):not(.btn-icon):not(.no-hz-btn):not(.btn-sm):not(.btn-lg),
button.btn:not(.btn-close):not(.rounded-circle):not(.btn-icon):not(.no-hz-btn):not(.btn-sm):not(.btn-lg),
.gam-btn-primary:not(.btn-sm),
.gam-btn-outline:not(.btn-sm),
.noty_buttons .btn,
.noty_buttons button {
    min-height: var(--hz-btn-min-h);
    padding: 10px 20px;
    font-size: 14px;
    line-height: 1.25;
}

.btn-sm:not(.btn-close):not(.rounded-circle):not(.btn-icon):not(.no-hz-btn) {
    min-height: 36px;
    padding: 8px 16px;
    font-size: 13px;
    border-radius: var(--hz-btn-radius) !important;
}

.btn-lg:not(.btn-close):not(.rounded-circle):not(.btn-icon):not(.no-hz-btn) {
    min-height: 48px;
    padding: 12px 24px;
    font-size: 16px;
    border-radius: var(--hz-btn-radius) !important;
}

.btn-primary,
.gam-btn-primary,
.btn-w-primary,
.noty_buttons .btn-primary {
    background: var(--hz-btn-accent) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: var(--hz-btn-shadow);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.gam-btn-primary:hover,
.gam-btn-primary:focus,
.btn-w-primary:hover,
.noty_buttons .btn-primary:hover {
    background: var(--hz-btn-accent-dark) !important;
    border-color: transparent !important;
    color: #fff !important;
}

.btn-primary:disabled,
.btn-primary.disabled,
.gam-btn-primary:disabled {
    background: #e2e8f0 !important;
    border-color: transparent !important;
    color: #a0aec0 !important;
    box-shadow: none;
}

/* Ghost / secondary — cookie «Отклонить»: pale border, dark text */
.btn-secondary,
.btn-outline-secondary,
.btn-outline,
.btn-outline-primary:not(.active):not(.service-delivery-btn):not(.service-delivery-check):not(.service-price-mode-btn):not(.service-delivery-configure-btn),
.gam-btn-outline,
.btn-w-secondary,
.noty_buttons .btn-secondary,
.notification-suggestion .btn-link,
.messenger-notification-prompt .btn-link {
    background: #fff !important;
    color: var(--hz-btn-ink) !important;
    border-color: var(--hz-btn-border) !important;
    box-shadow: none;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:focus-visible,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:focus-visible,
.btn-outline:hover,
.btn-outline:focus,
.btn-outline-primary:not(.active):not(.service-delivery-btn):not(.service-delivery-check):not(.service-price-mode-btn):not(.service-delivery-configure-btn):hover,
.btn-outline-primary:not(.active):not(.service-delivery-btn):not(.service-delivery-check):not(.service-price-mode-btn):not(.service-delivery-configure-btn):focus,
.gam-btn-outline:hover,
.gam-btn-outline:focus,
.btn-w-secondary:hover,
.noty_buttons .btn-secondary:hover,
.notification-suggestion .btn-link:hover,
.messenger-notification-prompt .btn-link:hover {
    background: var(--hz-btn-ghost-hover) !important;
    border-color: var(--hz-btn-accent) !important;
    color: var(--hz-btn-ink) !important;
}

.btn-danger,
.btn-outline-danger {
    border-radius: var(--hz-btn-radius) !important;
}

.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-outline-secondary:focus-visible,
.btn-outline-primary:focus-visible,
.btn-outline:focus-visible,
.gam-btn-primary:focus-visible,
.gam-btn-outline:focus-visible {
    outline: 2px solid var(--hz-btn-accent);
    outline-offset: 2px;
}

/* High-specificity overrides that previously forced 8–12px radius */
.modal .btn:not(.btn-close):not(.ch-modal-close):not(.modal-close):not(.modal-close-btn),
.ch-modal .btn:not(.btn-close):not(.ch-modal-close),
.community-hub .btn,
.custom-modal-footer .btn,
.custom-modal-footer-actions .btn,
.modal-overlay .modal-footer .btn,
.modal-overlay .modal-footer button,
.delete-confirmation-buttons button,
.guest-cta-banner .auth-cta .btn,
.auth-cta .btn,
.hobby-survey-page .btn,
.hobby-recommendations-page .btn,
#addHobbyModal .btn,
.subscription-root .btn,
.subscription-modal .btn,
.coach-page-root .btn-primary,
.coach-page-root .btn-secondary,
.coach-page-root .btn-danger,
.notification-suggestion .btn,
.messenger-notification-prompt .btn,
.prompt-actions .btn,
.suggestion-actions .btn {
    border-radius: var(--hz-btn-radius) !important;
}

.modal .btn-secondary,
.custom-modal-footer .btn-secondary,
.custom-modal-footer .btn-outline-primary,
.modal-overlay .modal-footer .btn-secondary,
.modal-overlay .modal-footer .btn-outline-secondary,
.delete-confirmation-buttons .cancel-delete,
.modal-footer .btn-cancel,
.modal-actions .btn-cancel,
.guest-cta-banner .auth-cta .btn-outline-secondary,
.auth-cta .btn-outline-secondary,
.hobby-survey-page .btn-outline-secondary,
.hobby-recommendations-page .btn-outline-secondary,
#addHobbyModal .btn-outline-secondary,
.community-hub .btn-outline-secondary,
.ch-modal .btn-outline-secondary,
.subscription-root .btn.btn-secondary,
.subscription-modal .btn.btn-secondary {
    background: #fff !important;
    color: var(--hz-btn-ink) !important;
    border-color: var(--hz-btn-border) !important;
}

.modal .btn-secondary:hover,
.custom-modal-footer .btn-secondary:hover,
.custom-modal-footer .btn-outline-primary:hover,
.modal-overlay .modal-footer .btn-secondary:hover,
.delete-confirmation-buttons .cancel-delete:hover,
.guest-cta-banner .auth-cta .btn-outline-secondary:hover,
.auth-cta .btn-outline-secondary:hover,
.hobby-survey-page .btn-outline-secondary:hover,
.hobby-recommendations-page .btn-outline-secondary:hover,
.community-hub .btn-outline-secondary:hover,
.ch-modal .btn-outline-secondary:hover {
    background: var(--hz-btn-ghost-hover) !important;
    border-color: var(--hz-btn-accent) !important;
    color: var(--hz-btn-ink) !important;
}

.modal .btn-primary,
.custom-modal-footer .btn-primary,
.ch-modal .btn-primary,
.community-hub .btn-primary,
.guest-cta-banner .auth-cta .btn-primary,
.auth-cta .btn-primary,
.hobby-survey-page .btn-primary,
.hobby-recommendations-page .btn-primary,
#addHobbyModal .btn-primary {
    background: var(--hz-btn-accent) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* Action pairs stay side-by-side, like cookie Accept / Decline */
.notification-suggestion .suggestion-actions,
.messenger-notification-prompt .prompt-actions,
.noty_buttons,
.custom-modal-footer,
.custom-modal-footer-actions,
.delete-confirmation-buttons,
.guest-cta-banner .auth-cta {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.notification-suggestion .suggestion-actions .btn,
.messenger-notification-prompt .prompt-actions .btn,
.noty_buttons .btn,
.noty_buttons button {
    flex: 1 1 0;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .notification-suggestion .suggestion-actions,
    .messenger-notification-prompt .prompt-actions {
        flex-direction: row !important;
    }

    .notification-suggestion .suggestion-actions .btn,
    .messenger-notification-prompt .prompt-actions .btn {
        width: auto;
        flex: 1 1 0;
    }
}

/* Do not pill-ify attached / icon / close controls */
.input-group > .btn,
.btn-group > .btn,
.btn-close,
.ch-modal-close,
.modal-close,
.modal-close-btn,
.custom-modal-close,
.comments-close-btn,
.subscription-close-btn,
.menu-button-with-badge,
.search-button,
.password-toggle,
.btn-quest-refresh,
.swiper-button-next,
.swiper-button-prev,
button.close,
#appSidebarToggle,
#notificationsBell,
#voiceControlBtn {
    border-radius: inherit;
}

.btn-close,
.ch-modal-close,
.modal-close,
.modal-close-btn,
.custom-modal-close,
.comments-close-btn,
.subscription-close-btn {
    border-radius: 0.75rem !important;
    min-height: unset;
    box-shadow: none !important;
}

.input-group > .btn,
.btn-group > .btn {
    border-radius: 0 !important;
    box-shadow: none;
}

.input-group > .btn:first-child {
    border-top-left-radius: var(--hz-btn-radius) !important;
    border-bottom-left-radius: var(--hz-btn-radius) !important;
}

.input-group > .btn:last-child {
    border-top-right-radius: var(--hz-btn-radius) !important;
    border-bottom-right-radius: var(--hz-btn-radius) !important;
}

@media (prefers-reduced-motion: reduce) {
    .btn,
    .gam-btn-primary,
    .gam-btn-outline {
        transition-duration: 0.001ms !important;
    }
}
