[data-fs-shipping-simulation] {
  // --------------------------------------------------------
  // Design Tokens for Shipping Simulation
  // --------------------------------------------------------

  // Default properties
  --fs-shipping-simulation-text-size                : var(--fs-text-size-legend);

  // Title
  --fs-shipping-simulation-title-padding-bottom     : var(--fs-spacing-2);
  --fs-shipping-simulation-title-font-size          : var(--fs-text-size-3);
  --fs-shipping-simulation-title-font-weight        : var(--fs-text-weight-bold);
  --fs-shipping-simulation-title-line-height        : 1.2;

  // Link
  --fs-shipping-simulation-link-padding-top         : var(--fs-spacing-1);

  // Header
  --fs-shipping-simulation-header-padding-top       : var(--fs-spacing-3);

  // Subtitle
  --fs-shipping-simulation-subtitle-size            : var(--fs-text-size-2);
  --fs-shipping-simulation-subtitle-weight          : var(--fs-text-weight-bold);
  --fs-shipping-simulation-subtitle-line-height     : 1.5;

  // Location
  --fs-shipping-simulation-location-padding-bottom  : var(--fs-spacing-2);
  --fs-shipping-simulation-location-font-size       : var(--fs-text-size-2);
  --fs-shipping-simulation-location-line-height     : 1.5;

  // --------------------------------------------------------
  // Structural Styles
  // --------------------------------------------------------

  [data-fs-shipping-simulation-title] {
    padding-bottom: var(--fs-shipping-simulation-title-padding-bottom);
    font-size: var(--fs-shipping-simulation-title-font-size);
    font-weight: var(--fs-shipping-simulation-title-font-weight);
    line-height: var(--fs-shipping-simulation-title-line-height);
  }

  [data-fs-shipping-simulation-link] {
    display: flex;
    align-items: center;
    padding-top: var(--fs-shipping-simulation-link-padding-top);

    svg {
      margin-left: var(--fs-spacing-0);
    }
  }

  [data-fs-shipping-simulation-header] {
    padding-top: var(--fs-shipping-simulation-header-padding-top);
  }

  [data-fs-shipping-simulation-subtitle] {
    font-size: var(--fs-shipping-simulation-subtitle-size);
    font-weight: var(--fs-shipping-simulation-subtitle-weight);
    line-height: var(--fs-shipping-simulation-subtitle-line-height);
  }

  [data-fs-table-row] {
    display: flex;
    align-items: stretch;
  }

  [data-fs-table-cell] {
    display: flex;
    width: 100%;
    font-size: var(--fs-text-size-1);

    &:first-of-type { flex-direction: column; }

    &:last-of-type {
      align-items: center;
      width: fit-content;
      min-width: fit-content;
    }

    [data-fs-shipping-simulation-option-carrier] {
      overflow: hidden;
      font-weight: var(--fs-text-weight-medium);
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    [data-fs-shipping-simulation-option-estimate] {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }

  [data-fs-shipping-simulation-location] {
    padding-bottom: var(--fs-shipping-simulation-location-padding-bottom);
    font-size: var(--fs-shipping-simulation-location-font-size);
    line-height: var(--fs-shipping-simulation-location-line-height);
  }
}
