:root {
    /* macOS 13 inspired radius system: crisp, cool, and consistent. */
    --qm-radius-size-0: 0px;
    --qm-radius-size-1: 6px;
    --qm-radius-size-2: 10px;
    --qm-radius-size-3: 12px;
    --qm-radius-size-4: 14px;
    --qm-radius-pill: 999px;
    --qm-radius-circle: 50%;

    /* Semantic tokens. */
    --qm-radius-frame: var(--qm-radius-size-0);
    --qm-radius-control: var(--qm-radius-size-1);
    --qm-radius-field: var(--qm-radius-size-2);
    --qm-radius-card: var(--qm-radius-size-2);
    --qm-radius-panel: var(--qm-radius-size-3);
    --qm-radius-modal: var(--qm-radius-size-4);
    --qm-radius-window: var(--qm-radius-size-4);
    --qm-radius-window-title: var(--qm-radius-size-3);
    --qm-radius-icon: var(--qm-radius-size-1);
    --qm-radius-badge: var(--qm-radius-pill);
    --qm-radius-avatar: var(--qm-radius-circle);

    /* Compatibility aliases. */
    --qm-radius-xs: var(--qm-radius-control);
    --qm-radius-sm: var(--qm-radius-control);
    --qm-radius-md: var(--qm-radius-card);
    --qm-radius-lg: var(--qm-radius-panel);
    --qm-radius-lg-soft: var(--qm-radius-panel);
    --qm-radius-xl: var(--qm-radius-window);
    --qm-radius-2xl: var(--qm-radius-window);
    --qm-radius-full: var(--qm-radius-pill);

    /* Global bridge tokens. */
    --qm-global-control-radius: var(--qm-radius-control);
    --qm-global-control-lg-radius: var(--qm-radius-card);
    --qm-global-card-radius: var(--qm-radius-card);
    --qm-global-panel-radius: var(--qm-radius-panel);
    --qm-global-modal-radius: var(--qm-radius-modal);
    --qm-global-window-radius: var(--qm-radius-window);

    /* Bootstrap bridge. */
    --bs-border-radius-sm: var(--qm-radius-control);
    --bs-border-radius: var(--qm-radius-control);
    --bs-border-radius-lg: var(--qm-radius-card);
    --bs-border-radius-xl: var(--qm-radius-window);
    --bs-border-radius-2xl: var(--qm-radius-window);
    --bs-border-radius-pill: var(--qm-radius-pill);
    --bs-btn-border-radius: var(--qm-global-control-radius);
    --bs-card-border-radius: var(--qm-global-card-radius);
    --bs-card-inner-border-radius: calc(var(--qm-global-card-radius) - var(--bs-border-width, 1px));
    --bs-accordion-border-radius: var(--qm-global-card-radius);
    --bs-accordion-inner-border-radius: calc(var(--qm-global-card-radius) - var(--bs-border-width, 1px));
    --bs-list-group-border-radius: var(--qm-global-card-radius);
    --bs-nav-tabs-border-radius: var(--qm-radius-frame);
    --bs-dropdown-border-radius: var(--qm-global-card-radius);
    --bs-popover-border-radius: var(--qm-global-card-radius);
    --bs-popover-inner-border-radius: calc(var(--qm-global-card-radius) - var(--bs-border-width, 1px));
    --bs-toast-border-radius: var(--qm-global-card-radius);
    --bs-offcanvas-border-radius: var(--qm-global-window-radius);
    --bs-modal-border-radius: var(--qm-global-window-radius);
    --bs-modal-inner-border-radius: calc(var(--qm-global-window-radius) - var(--bs-border-width, 1px));
}

/* Controls */
.btn:not(.rounded-pill):not(.rounded-circle),
button:not(.rounded-pill):not(.rounded-circle),
.wp-core-ui .button,
.wp-core-ui .button-primary,
.wp-core-ui .button-secondary,
input[type="button"],
input[type="submit"],
input[type="reset"],
:is(a, button, input[type="button"], input[type="submit"], input[type="reset"])[class$="-button"],
:is(a, button, input[type="button"], input[type="submit"], input[type="reset"])[class*="-button "],
:is(a, button, input[type="button"], input[type="submit"], input[type="reset"])[class$="__button"],
:is(a, button, input[type="button"], input[type="submit"], input[type="reset"])[class*="__button "],
:is(a, button, input[type="button"], input[type="submit"], input[type="reset"])[class$="-submit"],
:is(a, button, input[type="button"], input[type="submit"], input[type="reset"])[class*="-submit "],
:is(a, button, input[type="button"], input[type="submit"], input[type="reset"])[class$="__submit"],
:is(a, button, input[type="button"], input[type="submit"], input[type="reset"])[class*="__submit "] {
    --bs-btn-border-radius: var(--qm-global-control-radius);
    border-radius: var(--qm-global-control-radius) !important;
}

.btn-sm,
.btn-group-sm > .btn {
    --bs-btn-border-radius: var(--qm-radius-control);
    border-radius: var(--qm-radius-control) !important;
}

.btn-lg,
.btn-group-lg > .btn {
    --bs-btn-border-radius: var(--qm-global-control-lg-radius);
    border-radius: var(--qm-global-control-lg-radius) !important;
}

button.qm-mobile-search__trigger,
.qm-mobile-search__trigger {
    --bs-btn-border-radius: var(--qm-radius-pill);
    border-radius: var(--qm-radius-pill) !important;
}

.form-control,
.form-select,
.input-group-text,
.page-link,
.pagination .page-numbers,
ul.page-numbers .page-numbers,
input[type="text"],
input[type="email"],
input[type="search"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="password"],
textarea,
select {
    border-radius: var(--qm-radius-field) !important;
}

.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group > .form-floating:not(:last-child) > .form-control,
.input-group > .form-floating:not(:last-child) > .form-select {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip),
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-feedback),
.input-group > :not(:first-child):not(.dropdown-menu):not(.invalid-tooltip),
.input-group > :not(:first-child):not(.dropdown-menu):not(.invalid-feedback) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

/* Surfaces */
.card,
.accordion,
.list-group,
.dropdown-menu,
.popover,
.toast,
.offcanvas,
.modal {
    --bs-card-border-radius: var(--qm-global-card-radius);
    --bs-card-inner-border-radius: calc(var(--qm-global-card-radius) - var(--bs-border-width, 1px));
    --bs-accordion-border-radius: var(--qm-global-card-radius);
    --bs-accordion-inner-border-radius: calc(var(--qm-global-card-radius) - var(--bs-border-width, 1px));
    --bs-list-group-border-radius: var(--qm-global-card-radius);
    --bs-nav-tabs-border-radius: var(--qm-radius-frame);
    --bs-dropdown-border-radius: var(--qm-global-card-radius);
    --bs-popover-border-radius: var(--qm-global-card-radius);
    --bs-popover-inner-border-radius: calc(var(--qm-global-card-radius) - var(--bs-border-width, 1px));
    --bs-toast-border-radius: var(--qm-global-card-radius);
    --bs-offcanvas-border-radius: var(--qm-global-window-radius);
    --bs-modal-border-radius: var(--qm-global-window-radius);
    --bs-modal-inner-border-radius: calc(var(--qm-global-window-radius) - var(--bs-border-width, 1px));
}

.nav-tabs,
.navbar,
.navbar-nav,
.menu,
.sub-menu,
#qm-primary-header,
#qm-primary-nav,
#qm-primary-nav-side,
#mobile-menu .menu,
.table,
table,
thead,
tbody,
tr,
th,
td {
    border-radius: var(--qm-radius-frame) !important;
}

.card,
.widget,
.qm-card,
.qm-task-widget,
.qm-sidebar-card,
.qm-sidebar-user,
.qm-home-module-card,
.qm-article-side-card,
.qm-article-rail-author-card,
.qm-community-topic,
.qm-topic-vote,
.qm-slider,
:is(div, article, section, aside, li)[class$="-card"],
:is(div, article, section, aside, li)[class*="-card "],
:is(div, article, section, aside, li)[class$="__card"],
:is(div, article, section, aside, li)[class*="__card "],
:is(div, section, article, aside, nav)[class$="-panel"],
:is(div, section, article, aside, nav)[class*="-panel "],
:is(div, section, article, aside, nav)[class$="__panel"],
:is(div, section, article, aside, nav)[class*="__panel "],
:is(div, section, article, aside)[class$="-widget"],
:is(div, section, article, aside)[class*="-widget "],
:is(div, section, article, aside)[class$="__widget"],
:is(div, section, article, aside)[class*="__widget "],
.postbox,
.stuffbox,
.notice,
.csf-nav,
.csf-content,
.csf-section,
.csf-fieldset {
    border-radius: var(--qm-global-card-radius) !important;
}

.modal-content,
.offcanvas,
.qm-modal-content,
.qm-login-modal__content,
.qm-notify-modal__panel,
.qm-message-modal__panel,
.qm-checkin-modal__panel,
.qm-search-modal__panel,
.qm-search-modal-content,
.qm-user-menu__panel,
.qm-service-modal__panel,
.qm-service-toolbar__panel,
.qm-support-chat-modal__panel,
.qm-points-cart-modal__dialog,
.qm-coupon-modal__container,
.qm-order-success-modal__container,
.qm-share-poster-dialog,
.qm-community-share-sheet__dialog,
.qm-sale-shot-modal__dialog,
.qm-guard-popup__panel,
.qm-popup-notice-card,
:is(div, section, article, aside)[class$="-dialog"],
:is(div, section, article, aside)[class*="-dialog "],
:is(div, section, article, aside)[class$="__dialog"],
:is(div, section, article, aside)[class*="__dialog "],
:is(div, section, article, aside)[class$="-sheet"],
:is(div, section, article, aside)[class*="-sheet "],
:is(div, section, article, aside)[class$="__sheet"],
:is(div, section, article, aside)[class*="__sheet "] {
    border-radius: var(--qm-global-window-radius) !important;
}

.dropdown-menu,
.popover,
.toast,
.qm-toast,
.qm-task-toast {
    border-radius: var(--qm-global-card-radius) !important;
}

/* Capsules and circles */
.badge:not(.rounded-circle),
.rounded-pill,
.tag-cloud-link,
.post-tags a,
.qm-article-list-badge,
.qm-post-list-badge,
.qm-topic-type-badge,
.qm-qa-accepted-badge,
.qm-sidebar-icon-tag,
.qm-sidebar-rank-badge,
.qm-vip-plan__tag,
.qm-sale-plan-card__badge,
:is(span, a, button, div, li)[class$="-badge"],
:is(span, a, button, div, li)[class*="-badge "],
:is(span, a, button, div, li)[class$="__badge"],
:is(span, a, button, div, li)[class*="__badge "],
:is(span, a, button, div, li)[class$="-tag"],
:is(span, a, button, div, li)[class*="-tag "],
:is(span, a, button, div, li)[class$="__tag"],
:is(span, a, button, div, li)[class*="__tag "] {
    border-radius: var(--qm-radius-badge) !important;
}

.rounded-circle,
.avatar,
.rounded-circle img,
.qm-author-avatar,
.qm-comment-avatar img,
.qm-sidebar-user-avatar,
.qm-community-topic__avatar,
.qm-post-list-meta .qm-author-avatar,
:is(img, div, span, a)[class$="-avatar"],
:is(img, div, span, a)[class*="-avatar "],
:is(img, div, span, a)[class$="__avatar"],
:is(img, div, span, a)[class*="__avatar "] {
    border-radius: var(--qm-radius-avatar) !important;
}

.qm-sidebar-user-header {
    border-radius: var(--qm-global-card-radius) var(--qm-global-card-radius) 0 0 !important;
}

.qm-sidebar-user-header-glass {
    border-radius: var(--qm-global-control-radius) var(--qm-global-control-radius) var(--qm-global-card-radius) var(--qm-global-card-radius) !important;
}

.qm-search-modal__gradient-overlay {
    border-radius: var(--qm-global-window-radius) var(--qm-global-window-radius) 0 0 !important;
}

.rounded-top {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important;
}

@media (max-width: 576px) {
    .qm-community-share-sheet__dialog,
    .offcanvas.offcanvas-bottom {
        border-radius: var(--qm-global-window-radius) var(--qm-global-window-radius) 0 0 !important;
    }
}
