/*
 * Windows 11 / Fluent 2 shape normalization.
 * Rectangular controls use 4px, cards use 8px, and dialogs use 12px.
 * Semantic circles and pills are intentionally excluded.
 */

html[data-ui="fluent2"] {
  --site-radius-compact: 2px;
  --site-radius-control: 4px;
  --site-radius-card: 8px;
  --site-radius-dialog: 12px;
}

/* Rectangular interactive controls. */
html[data-ui="fluent2"] :where(
  button,
  input:not([type="radio"]):not([type="checkbox"]):not([type="range"]),
  select,
  textarea,
  [role="tab"],
  [role="menuitem"],
  [role="option"]
):not([class*="avatar"])
 :not([data-shape]) {
  border-radius: var(--site-radius-control) !important;
}

html[data-ui="fluent2"] :where(
  button,
  input:not([type="radio"]):not([type="checkbox"]):not([type="range"]),
  select,
  textarea,
  [role="tab"],
  [role="menuitem"],
  [role="option"]
):not([class*="avatar"])
:not([class*="badge"])
:not([class*="chip"])
:not([class*="pill"])
:not([class*="coin"])
:not([class*="dot"])
:not([class*="round"])
:not([class*="circle"])
:not([class*="reaction"])
:not([class*="swatch"])
:not([class*="floating"])
:not([data-shape="circle"])
:not([data-shape="pill"]) {
  border-radius: var(--site-radius-control) !important;
}

/* Main rectangular surfaces and cards. */
html[data-ui="fluent2"] :where(
  .panel-avatar,
  .student-panel__nav,
  .student-panel__card,
  .dashboard-task-service,
  .dashboard-task-item,
  .dashboard-services__tabs,
  .dashboard-calendar-sidebar,
  .dashboard-calendar-sidebar__grid,
  .order-glass-card__surface,
  .order-glass-card__today,
  .order-glass-card__footer,
  .file-manager__workspace,
  .file-manager__panel,
  .file-manager__item,
  .file-manager__folder-upload-plus,
  .messages-layout,
  .messages-sidebar,
  .messages-main,
  .message-contact,
  .chat-bubble,
  .settings-menu,
  .settings-avatar-upload,
  .settings-profile-fields,
  .prompt-service__hero,
  .prompt-service__search,
  .prompt-service__filters,
  .prompt-list__item,
  .guidelines-prompt-editor,
  .version-control,
  .version-control__head,
  .auth-login-mode,
  .auth-google-panel,
  .admin-calendar__order-tabs,
  .admin-calendar__order-panel,
  .admin-calendar__payment-summary,
  .admin-calendar__schedule-table,
  .admin-calendar__description-box,
  .admin-calendar__attachment-item,
  .public-order-track-card
) {
  border-radius: var(--site-radius-card) !important;
}

/* Floating surfaces remain softer, but never exceed Fluent's dialog radius. */
html[data-ui="fluent2"] :where(
  [role="dialog"],
  .admin-calendar__modal-card,
  .site-note-modal__card,
  .redis-advanced-modal__card,
  .messages-call-panel,
  .elementor-editor-inspector,
  .elementor-editor-toolbar,
  .elementor-editor-widgets,
  .elementor-navigator
) {
  border-radius: var(--site-radius-dialog) !important;
}

html[data-ui="fluent2"] :where(
  [role="menu"],
  [role="listbox"],
  .header-panel-search__results,
  .dashboard-order-status-picker__menu,
  .file-manager__context-menu,
  .admin-calendar__date-popover,
  .admin-calendar__order-type-menu,
  .elementor-context-menu
) {
  border-radius: var(--site-radius-card) !important;
}

/* Joined controls should not create rounded gaps between adjacent parts. */
html[data-ui="fluent2"] :where(
  .admin-calendar__payment-table-cell,
  .admin-calendar__schedule-table-cell,
  .admin-calendar__date-trigger,
  .admin-calendar__modal-head
) {
  border-radius: 0 !important;
}
