[data-fs-cart-sidebar] {
  // --------------------------------------------------------
  // Design Tokens for Cart Sidebar
  // --------------------------------------------------------

  // Default properties
  --fs-cart-sidebar-bkg-color                        : var(--fs-color-neutral-bkg);

  --fs-cart-sidebar-header-title-column-gap          : var(--fs-spacing-2);

  // List
  --fs-cart-sidebar-list-padding                     : var(--fs-spacing-3);

  // Footer
  --fs-cart-sidebar-footer-bkg-color                 : var(--fs-color-neutral-0);
  --fs-cart-sidebar-footer-box-shadow                : 0 0 6px rgb(0 0 0 / 20%);

  // --------------------------------------------------------
  // Structural Styles
  // --------------------------------------------------------
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: auto;

  &[data-fs-slide-over] {
    background-color: var(--fs-cart-sidebar-bkg-color);
  }

  > * { flex-shrink: 0; }

  [data-fs-cart-sidebar-title] {
    display: flex;
    align-items: center;

    font-size: var(--fs-text-size-4);
    font-weight: var(--fs-text-weight-bold);
    line-height: 1.12;

    column-gap: var(--fs-cart-sidebar-header-title-column-gap);
  }

  [data-fs-cart-sidebar-list] {
    display: flex;
    flex-direction: column;
    row-gap: var(--fs-spacing-2);
    padding: var(--fs-cart-sidebar-list-padding);
    overflow: auto;
  }

  [data-fs-cart-sidebar-footer] {
    padding: var(--fs-spacing-3);
    position: sticky;
    bottom: 0;
    margin-top: auto;
    background-color: var(--fs-cart-sidebar-footer-bkg-color);
    box-shadow: var(--fs-cart-sidebar-footer-box-shadow);

    [data-fs-order-summary] {
      padding: 0;
    }

    [data-fs-button] {
      width: 100%;
    }
  }
}
