/*
 * Copyright (c) 2026, Salesforce, Inc.,
 * All rights reserved.
 * For full license text, see the LICENSE.txt file
 */

/**
 * Popover base — paint surface for the theme layer.
 *
 * Reads only canonical `--slds-c-popover-*` hooks. Concrete values
 * live in `themes/<theme>.css`. Variant modifiers (`_dark`, `_brand`,
 * `_brand-{top,right,bottom,left}`, `_error`, `_warning`, `_prompt`,
 * `_panel`, sizes) reassign canonical hooks under root-anchored
 * Rule-5 compounds in the theme files.
 *
 * Nubbin geometry (the rotated 1rem square that points at the
 * trigger) is a paint surface, not a customer-tunable hook surface.
 * The rotation, position offsets, and the inherited
 * `background-color: inherit` that picks up the popover's fill stay
 * as literal paint or as `--slds-c-popover-*` reads.
 */

.slds-popover {
  position: relative;
  border-radius: var(--slds-c-popover-radius-border);
  width: var(--slds-c-popover-sizing-width);
  min-height: calc(1rem * 2);
  z-index: 6000;
  background-color: var(--slds-c-popover-color-background);
  display: inline-block;
  box-shadow: var(--slds-c-popover-shadow);
  border: var(--slds-c-popover-sizing-border) solid var(--slds-c-popover-color-border, transparent);
}

.slds-popover .slds-popover__meta {
  margin-block-end: var(--slds-c-popover-meta-spacing-block-end);
}

.slds-popover .slds-popover__body {
  padding-block-start: var(
    --slds-c-popover-body-spacing-block-start,
    var(--slds-c-popover-body-spacing-block)
  );
  padding-block-end: var(--slds-c-popover-body-spacing-block-end, var(--slds-c-popover-body-spacing-block));
  padding-inline-start: var(
    --slds-c-popover-body-spacing-inline-start,
    var(--slds-c-popover-body-spacing-inline)
  );
  padding-inline-end: var(
    --slds-c-popover-body-spacing-inline-end,
    var(--slds-c-popover-body-spacing-inline)
  );
  color: var(--slds-c-popover-body-color-foreground);
  position: relative;
  word-wrap: break-word;
}

.slds-popover .slds-popover__body:focus-visible {
  box-shadow: var(--slds-c-popover-shadow-focus);
  outline: 0;
  z-index: 1;
}

.slds-popover .slds-popover__header,
.slds-popover .slds-popover__footer {
  position: relative;
  padding-block-start: var(
    --slds-c-popover-header-footer-spacing-block-start,
    var(--slds-c-popover-header-footer-spacing-block)
  );
  padding-block-end: var(
    --slds-c-popover-header-footer-spacing-block-end,
    var(--slds-c-popover-header-footer-spacing-block)
  );
  padding-inline-start: var(
    --slds-c-popover-header-footer-spacing-inline-start,
    var(--slds-c-popover-header-footer-spacing-inline)
  );
  padding-inline-end: var(
    --slds-c-popover-header-footer-spacing-inline-end,
    var(--slds-c-popover-header-footer-spacing-inline)
  );
  word-wrap: break-word;
}

.slds-popover .slds-popover__header {
  border-block-end: 0;
  color: var(--slds-c-popover-header-color-foreground);
  font-weight: var(--slds-c-popover-header-font-weight);
}

.slds-popover .slds-popover__header .slds-text-heading_small {
  font-size: var(--slds-c-popover-header-font-size);
}

.slds-popover .slds-popover__header .slds-text-heading_medium {
  font-size: var(--slds-c-popover-header-font-size);
}

.slds-popover .slds-popover__footer {
  border-block-start: var(--slds-c-popover-footer-sizing-border-block-start) solid
    var(--slds-c-popover-footer-color-border, transparent);
  background-color: var(--slds-c-popover-footer-color-background);
  border-end-start-radius: inherit;
  border-end-end-radius: inherit;
  color: var(--slds-c-popover-footer-color-foreground);
}

.slds-popover .slds-popover__footer_form {
  text-align: center;
  background: var(--slds-c-popover-footer-color-background);
  border-start-start-radius: 0;
  border-start-end-radius: 0;
  border-end-end-radius: var(--slds-c-popover-radius-border);
  border-end-start-radius: var(--slds-c-popover-radius-border);
}

.slds-popover .slds-popover__body_small {
  max-height: var(--slds-c-popover-body-sizing-max-height);
  overflow-y: auto;
}

.slds-popover .slds-popover__close {
  position: relative;
  margin: var(--slds-c-popover-close-spacing);
  z-index: 6001;
}

.slds-popover .slds-popover__close.slds-button_icon-inverse:focus-visible {
  box-shadow: var(--slds-c-popover-shadow-focus);
}

/* Size modifiers */
.slds-popover.slds-popover_small {
  max-width: var(--slds-c-popover-sizing-max-width);
}

.slds-popover.slds-popover_medium {
  min-width: var(--slds-c-popover-sizing-min-width);
}

.slds-popover.slds-popover_large {
  min-width: var(--slds-c-popover-sizing-min-width);
  max-width: 512px;
}

.slds-popover[class*='theme_'] {
  border: 0;
}

.slds-popover *:last-child {
  margin-block-end: 0;
}

.slds-popover.slds-popover_full-width {
  width: 100%;
}

.slds-popover.slds-popover_hide {
  display: none;
}

/**
 * Nubbin geometry — rotated 1rem square that points at the trigger.
 * The `background-color: inherit` picks up the popover's fill so
 * recoloring the popover automatically recolors the nubbin.
 */

.slds-nubbin_top::before,
.slds-nubbin_top::after,
.slds-nubbin_top-left::before,
.slds-nubbin_top-left::after,
.slds-nubbin_top-left-corner::before,
.slds-nubbin_top-left-corner::after,
.slds-nubbin_top-right::before,
.slds-nubbin_top-right::after,
.slds-nubbin_top-right-corner::before,
.slds-nubbin_top-right-corner::after,
.slds-nubbin_bottom::before,
.slds-nubbin_bottom::after,
.slds-nubbin_bottom-left::before,
.slds-nubbin_bottom-left::after,
.slds-nubbin_bottom-left-corner::before,
.slds-nubbin_bottom-left-corner::after,
.slds-nubbin_bottom-right::before,
.slds-nubbin_bottom-right::after,
.slds-nubbin_bottom-right-corner::before,
.slds-nubbin_bottom-right-corner::after,
.slds-nubbin_left::before,
.slds-nubbin_left::after,
.slds-nubbin_left-top::before,
.slds-nubbin_left-top::after,
.slds-nubbin_left-top-corner::before,
.slds-nubbin_left-top-corner::after,
.slds-nubbin_left-bottom::before,
.slds-nubbin_left-bottom::after,
.slds-nubbin_left-bottom-corner::before,
.slds-nubbin_left-bottom-corner::after,
.slds-nubbin_right::before,
.slds-nubbin_right::after,
.slds-nubbin_right-top::before,
.slds-nubbin_right-top::after,
.slds-nubbin_right-top-corner::before,
.slds-nubbin_right-top-corner::after,
.slds-nubbin_right-bottom::before,
.slds-nubbin_right-bottom::after,
.slds-nubbin_right-bottom-corner::before,
.slds-nubbin_right-bottom-corner::after {
  width: 1rem;
  height: 1rem;
  position: absolute;
  transform: rotate(45deg);
  content: '';
  background-color: inherit;
}

/**
 * Nubbin base classes (physical, LTR-pinned).
 *
 * These match the SLDS 1 physical nubbin family. Positional declarations
 * use physical `left` / `right` / `margin-left` / `margin-right` and stay
 * pinned regardless of `dir`. For a nubbin that follows reading direction,
 * use the `_start` / `_end` family (see logical section below).
 */

/* Top-edge nubbins. */
.slds-nubbin_top::before,
.slds-nubbin_top::after,
.slds-nubbin_top-left::before,
.slds-nubbin_top-left::after,
.slds-nubbin_top-left-corner::before,
.slds-nubbin_top-left-corner::after,
.slds-nubbin_top-right::before,
.slds-nubbin_top-right::after,
.slds-nubbin_top-right-corner::before,
.slds-nubbin_top-right-corner::after {
  /* RTL: physical (mirrors SLDS1 @noflip) — centering paired with margin-left offset */
  left: 50%;
  inset-block-start: calc((1rem * 0.5) * -1);
  /* RTL: physical (mirrors SLDS1 @noflip) — pairs with left: 50% centering */
  margin-left: calc((1rem * 0.5) * -1);
}

.slds-nubbin_top::after,
.slds-nubbin_top-left::after,
.slds-nubbin_top-left-corner::after,
.slds-nubbin_top-right::after,
.slds-nubbin_top-right-corner::after {
  box-shadow: var(--slds-c-popover-nubbin-shadow-top);
  z-index: -1;
}

.slds-nubbin_top-left::before,
.slds-nubbin_top-left::after,
.slds-nubbin_top-left-corner::before,
.slds-nubbin_top-left-corner::after {
  /* RTL: physical (mirrors SLDS1 @noflip) — `_top-left` must stay pinned to physical left; use `_top-start` for logical */
  left: var(--slds-c-popover-nubbin-spacing-inline-start);
}

.slds-nubbin_top-right::before,
.slds-nubbin_top-right::after,
.slds-nubbin_top-right-corner::before,
.slds-nubbin_top-right-corner::after {
  /* RTL: physical (mirrors SLDS1 @noflip) — resets the shared rule's left: 50% */
  left: auto;
  /* RTL: physical (mirrors SLDS1 @noflip) — `_top-right` must stay pinned to physical right; use `_top-end` for logical */
  right: var(--slds-c-popover-nubbin-spacing-inline-end);
  /* RTL: physical (mirrors SLDS1 @noflip) — nubbin size compensation on the pinned physical edge */
  margin-right: calc((1rem * 0.5) * -1);
}

/* Bottom-edge nubbins. */
.slds-nubbin_bottom::before,
.slds-nubbin_bottom::after,
.slds-nubbin_bottom-left::before,
.slds-nubbin_bottom-left::after,
.slds-nubbin_bottom-left-corner::before,
.slds-nubbin_bottom-left-corner::after,
.slds-nubbin_bottom-right::before,
.slds-nubbin_bottom-right::after,
.slds-nubbin_bottom-right-corner::before,
.slds-nubbin_bottom-right-corner::after {
  /* RTL: physical (mirrors SLDS1 @noflip) — centering paired with margin-left offset */
  left: 50%;
  inset-block-end: calc((1rem * 0.5) * -1);
  /* RTL: physical (mirrors SLDS1 @noflip) — pairs with left: 50% centering */
  margin-left: calc((1rem * 0.5) * -1);
}

.slds-nubbin_bottom::after,
.slds-nubbin_bottom-left::after,
.slds-nubbin_bottom-left-corner::after,
.slds-nubbin_bottom-right::after,
.slds-nubbin_bottom-right-corner::after {
  box-shadow: var(--slds-c-popover-nubbin-shadow-bottom);
  z-index: -1;
}

.slds-nubbin_bottom-left::before,
.slds-nubbin_bottom-left::after,
.slds-nubbin_bottom-left-corner::before,
.slds-nubbin_bottom-left-corner::after {
  /* RTL: physical (mirrors SLDS1 @noflip) — `_bottom-left` must stay pinned to physical left; use `_bottom-start` for logical */
  left: var(--slds-c-popover-nubbin-spacing-inline-start);
  inset-block-start: 100%;
  margin-block-start: calc((1rem * 0.5) * -1);
}

.slds-nubbin_bottom-right::before,
.slds-nubbin_bottom-right::after,
.slds-nubbin_bottom-right-corner::before,
.slds-nubbin_bottom-right-corner::after {
  /* RTL: physical (mirrors SLDS1 @noflip) — resets the shared rule's left: 50% */
  left: auto;
  /* RTL: physical (mirrors SLDS1 @noflip) — `_bottom-right` must stay pinned to physical right; use `_bottom-end` for logical */
  right: var(--slds-c-popover-nubbin-spacing-inline-end);
  inset-block-start: 100%;
  margin-block-start: calc((1rem * 0.5) * -1);
  /* RTL: physical (mirrors SLDS1 @noflip) — nubbin size compensation on the pinned physical edge */
  margin-right: calc((1rem * 0.5) * -1);
}

/* Left-edge nubbins. */
.slds-nubbin_left::before,
.slds-nubbin_left::after,
.slds-nubbin_left-top::before,
.slds-nubbin_left-top::after,
.slds-nubbin_left-top-corner::before,
.slds-nubbin_left-top-corner::after,
.slds-nubbin_left-bottom::before,
.slds-nubbin_left-bottom::after,
.slds-nubbin_left-bottom-corner::before,
.slds-nubbin_left-bottom-corner::after {
  inset-block-start: 50%;
  /* RTL: physical (mirrors SLDS1 @noflip) — `_left*` classes must stay pinned to physical left; use `_start*` for logical */
  left: calc((1rem * 0.5) * -1);
  margin-block-start: calc((1rem * 0.5) * -1);
}

.slds-nubbin_left::after,
.slds-nubbin_left-top::after,
.slds-nubbin_left-top-corner::after,
.slds-nubbin_left-bottom::after,
.slds-nubbin_left-bottom-corner::after {
  box-shadow: var(--slds-c-popover-nubbin-shadow-left);
  z-index: -1;
}

.slds-nubbin_left-top::before,
.slds-nubbin_left-top::after,
.slds-nubbin_left-top-corner::before,
.slds-nubbin_left-top-corner::after {
  inset-block-start: var(--slds-c-popover-nubbin-spacing-block-start);
}

.slds-nubbin_left-bottom::before,
.slds-nubbin_left-bottom-corner::before {
  margin-block-end: -1px;
}

.slds-nubbin_left-bottom::before,
.slds-nubbin_left-bottom::after,
.slds-nubbin_left-bottom-corner::before,
.slds-nubbin_left-bottom-corner::after {
  inset-block-start: auto;
  inset-block-end: var(--slds-c-popover-nubbin-spacing-block-end);
}

/* Right-edge nubbins. */
.slds-nubbin_right::before,
.slds-nubbin_right::after,
.slds-nubbin_right-top::before,
.slds-nubbin_right-top::after,
.slds-nubbin_right-top-corner::before,
.slds-nubbin_right-top-corner::after,
.slds-nubbin_right-bottom::before,
.slds-nubbin_right-bottom::after,
.slds-nubbin_right-bottom-corner::before,
.slds-nubbin_right-bottom-corner::after {
  inset-block-start: 50%;
  /* RTL: physical (mirrors SLDS1 @noflip) — `_right*` classes must stay pinned to physical right; use `_end*` for logical */
  right: calc((1rem * 0.5) * -1);
  margin-block-start: calc((1rem * 0.5) * -1);
}

.slds-nubbin_right::after,
.slds-nubbin_right-top::after,
.slds-nubbin_right-top-corner::after,
.slds-nubbin_right-bottom::after,
.slds-nubbin_right-bottom-corner::after {
  box-shadow: var(--slds-c-popover-nubbin-shadow-right);
  z-index: -1;
}

.slds-nubbin_right-top::before,
.slds-nubbin_right-top::after,
.slds-nubbin_right-top-corner::before,
.slds-nubbin_right-top-corner::after {
  inset-block-start: var(--slds-c-popover-nubbin-spacing-block-start);
}

.slds-nubbin_right-bottom::before,
.slds-nubbin_right-bottom-corner::before {
  margin-bottom: -1px;
}

.slds-nubbin_right-bottom::before,
.slds-nubbin_right-bottom::after,
.slds-nubbin_right-bottom-corner::before,
.slds-nubbin_right-bottom-corner::after {
  inset-block-start: auto;
  inset-block-end: var(--slds-c-popover-nubbin-spacing-block-end);
}

/* Corner-nubbin border-radius adjustments. */
.slds-nubbin_top-left-corner {
  border-radius: var(--slds-c-popover-nubbin-corner-radius-border) var(--slds-c-popover-radius-border)
    var(--slds-c-popover-radius-border);
}

.slds-nubbin_top-left-corner::before,
.slds-nubbin_top-left-corner::after {
  /* RTL: physical (mirrors SLDS1 @noflip) — corner variant must stay pinned to physical left */
  left: var(--slds-c-popover-nubbin-corner-spacing-inline-start);
}

.slds-nubbin_bottom-left-corner {
  border-start-start-radius: var(--slds-c-popover-radius-border);
  border-start-end-radius: var(--slds-c-popover-radius-border);
  border-end-start-radius: var(--slds-c-popover-nubbin-corner-radius-border);
  border-end-end-radius: var(--slds-c-popover-radius-border);
}

.slds-nubbin_bottom-left-corner::before,
.slds-nubbin_bottom-left-corner::after {
  /* RTL: physical (mirrors SLDS1 @noflip) — corner variant must stay pinned to physical left */
  left: var(--slds-c-popover-nubbin-corner-spacing-inline-start);
}

.slds-nubbin_top-right-corner {
  border-start-start-radius: var(--slds-c-popover-radius-border);
  border-start-end-radius: var(--slds-c-popover-nubbin-corner-radius-border);
  border-end-start-radius: var(--slds-c-popover-radius-border);
  border-end-end-radius: var(--slds-c-popover-radius-border);
}

.slds-nubbin_top-right-corner::before,
.slds-nubbin_top-right-corner::after {
  /* RTL: physical (mirrors SLDS1 @noflip) — corner variant must stay pinned to physical right */
  right: var(--slds-c-popover-nubbin-corner-spacing-inline-end);
}

.slds-nubbin_bottom-right-corner {
  border-start-start-radius: var(--slds-c-popover-radius-border);
  border-start-end-radius: var(--slds-c-popover-radius-border);
  border-end-start-radius: var(--slds-c-popover-radius-border);
  border-end-end-radius: var(--slds-c-popover-nubbin-corner-radius-border);
}

.slds-nubbin_bottom-right-corner::before,
.slds-nubbin_bottom-right-corner::after {
  /* RTL: physical (mirrors SLDS1 @noflip) — corner variant must stay pinned to physical right */
  right: var(--slds-c-popover-nubbin-corner-spacing-inline-end);
}

/* -----------------------------------------------------------------------------
 * Logical nubbin variants (RFC 1506).
 *
 * Sibling family of the physical nubbins above. Positioned with CSS logical
 * properties so they flip natively with `dir`. Preferred for new authored
 * markup that should follow reading direction. `box-shadow` offsets are not
 * mirrored by logical properties, so directional shadows are re-declared
 * under `[dir='rtl']` for the six inline-axis variants.
 * -----------------------------------------------------------------------------
 */

.slds-nubbin_top-start::before,
.slds-nubbin_top-start::after,
.slds-nubbin_top-end::before,
.slds-nubbin_top-end::after,
.slds-nubbin_bottom-start::before,
.slds-nubbin_bottom-start::after,
.slds-nubbin_bottom-end::before,
.slds-nubbin_bottom-end::after,
.slds-nubbin_start::before,
.slds-nubbin_start::after,
.slds-nubbin_start-top::before,
.slds-nubbin_start-top::after,
.slds-nubbin_start-bottom::before,
.slds-nubbin_start-bottom::after,
.slds-nubbin_end::before,
.slds-nubbin_end::after,
.slds-nubbin_end-top::before,
.slds-nubbin_end-top::after,
.slds-nubbin_end-bottom::before,
.slds-nubbin_end-bottom::after {
  width: 1rem;
  height: 1rem;
  position: absolute;
  transform: rotate(45deg);
  content: '';
  background-color: inherit;
}

/* Top-edge logical nubbins. */
.slds-nubbin_top-start::before,
.slds-nubbin_top-start::after,
.slds-nubbin_top-end::before,
.slds-nubbin_top-end::after {
  inset-block-start: calc((1rem * 0.5) * -1);
}

.slds-nubbin_top-start::after,
.slds-nubbin_top-end::after {
  box-shadow: var(--slds-c-popover-nubbin-shadow-top);
  z-index: -1;
}

.slds-nubbin_top-start::before,
.slds-nubbin_top-start::after {
  inset-inline-start: var(--slds-c-popover-nubbin-spacing-inline-start);
}

.slds-nubbin_top-end::before,
.slds-nubbin_top-end::after {
  inset-inline-end: var(--slds-c-popover-nubbin-spacing-inline-end);
  margin-inline-end: calc((1rem * 0.5) * -1);
}

/* Bottom-edge logical nubbins. */
.slds-nubbin_bottom-start::before,
.slds-nubbin_bottom-start::after,
.slds-nubbin_bottom-end::before,
.slds-nubbin_bottom-end::after {
  inset-block-start: 100%;
  margin-block-start: calc((1rem * 0.5) * -1);
}

.slds-nubbin_bottom-start::after,
.slds-nubbin_bottom-end::after {
  box-shadow: var(--slds-c-popover-nubbin-shadow-bottom);
  z-index: -1;
}

.slds-nubbin_bottom-start::before,
.slds-nubbin_bottom-start::after {
  inset-inline-start: var(--slds-c-popover-nubbin-spacing-inline-start);
}

.slds-nubbin_bottom-end::before,
.slds-nubbin_bottom-end::after {
  inset-inline-end: var(--slds-c-popover-nubbin-spacing-inline-end);
  margin-inline-end: calc((1rem * 0.5) * -1);
}

/* Start-edge (inline-start) logical nubbins. */
.slds-nubbin_start::before,
.slds-nubbin_start::after,
.slds-nubbin_start-top::before,
.slds-nubbin_start-top::after,
.slds-nubbin_start-bottom::before,
.slds-nubbin_start-bottom::after {
  inset-inline-start: calc((1rem * 0.5) * -1);
}

.slds-nubbin_start::before,
.slds-nubbin_start::after {
  inset-block-start: 50%;
  margin-block-start: calc((1rem * 0.5) * -1);
}

.slds-nubbin_start-top::before,
.slds-nubbin_start-top::after {
  inset-block-start: var(--slds-c-popover-nubbin-spacing-block-start);
}

.slds-nubbin_start-bottom::before,
.slds-nubbin_start-bottom::after {
  inset-block-end: var(--slds-c-popover-nubbin-spacing-block-end);
}

.slds-nubbin_start::after,
.slds-nubbin_start-top::after,
.slds-nubbin_start-bottom::after {
  box-shadow: var(--slds-c-popover-nubbin-shadow-left);
  z-index: -1;
}

[dir='rtl'] .slds-nubbin_start::after,
[dir='rtl'] .slds-nubbin_start-top::after,
[dir='rtl'] .slds-nubbin_start-bottom::after {
  box-shadow: var(--slds-c-popover-nubbin-shadow-right);
}

/* End-edge (inline-end) logical nubbins. */
.slds-nubbin_end::before,
.slds-nubbin_end::after,
.slds-nubbin_end-top::before,
.slds-nubbin_end-top::after,
.slds-nubbin_end-bottom::before,
.slds-nubbin_end-bottom::after {
  inset-inline-end: calc((1rem * 0.5) * -1);
}

.slds-nubbin_end::before,
.slds-nubbin_end::after {
  inset-block-start: 50%;
  margin-block-start: calc((1rem * 0.5) * -1);
}

.slds-nubbin_end-top::before,
.slds-nubbin_end-top::after {
  inset-block-start: var(--slds-c-popover-nubbin-spacing-block-start);
}

.slds-nubbin_end-bottom::before,
.slds-nubbin_end-bottom::after {
  inset-block-end: var(--slds-c-popover-nubbin-spacing-block-end);
}

.slds-nubbin_end::after,
.slds-nubbin_end-top::after,
.slds-nubbin_end-bottom::after {
  box-shadow: var(--slds-c-popover-nubbin-shadow-right);
  z-index: -1;
}

[dir='rtl'] .slds-nubbin_end::after,
[dir='rtl'] .slds-nubbin_end-top::after,
[dir='rtl'] .slds-nubbin_end-bottom::after {
  box-shadow: var(--slds-c-popover-nubbin-shadow-left);
}

.slds-nubbin_left-top-corner {
  border-start-start-radius: var(--slds-c-popover-nubbin-corner-radius-border);
  border-start-end-radius: var(--slds-c-popover-radius-border);
  border-end-start-radius: var(--slds-c-popover-radius-border);
  border-end-end-radius: var(--slds-c-popover-radius-border);
}

.slds-nubbin_left-top-corner::before,
.slds-nubbin_left-top-corner::after {
  inset-block-start: var(--slds-c-popover-nubbin-corner-spacing-block-start);
}

.slds-nubbin_right-top-corner {
  border-start-start-radius: var(--slds-c-popover-radius-border);
  border-start-end-radius: var(--slds-c-popover-nubbin-corner-radius-border);
  border-end-start-radius: var(--slds-c-popover-radius-border);
  border-end-end-radius: var(--slds-c-popover-radius-border);
}

.slds-nubbin_right-top-corner::before,
.slds-nubbin_right-top-corner::after {
  inset-block-start: var(--slds-c-popover-nubbin-corner-spacing-block-start);
}

.slds-nubbin_left-bottom-corner {
  border-start-start-radius: var(--slds-c-popover-radius-border);
  border-start-end-radius: var(--slds-c-popover-radius-border);
  border-end-start-radius: var(--slds-c-popover-nubbin-corner-radius-border);
  border-end-end-radius: var(--slds-c-popover-radius-border);
}

.slds-nubbin_left-bottom-corner::before,
.slds-nubbin_left-bottom-corner::after {
  inset-block-end: var(--slds-c-popover-nubbin-corner-spacing-block-end);
}

.slds-nubbin_right-bottom-corner {
  border-start-start-radius: var(--slds-c-popover-radius-border);
  border-start-end-radius: var(--slds-c-popover-radius-border);
  border-end-start-radius: var(--slds-c-popover-radius-border);
  border-end-end-radius: var(--slds-c-popover-nubbin-corner-radius-border);
}

.slds-nubbin_right-bottom-corner::before,
.slds-nubbin_right-bottom-corner::after {
  inset-block-end: var(--slds-c-popover-nubbin-corner-spacing-block-end);
}
