:host {
  /**
   * @prop --ion-grid-padding: Padding for the Grid
   * @prop --ion-grid-padding-xs: Padding for the Grid on xs screens
   * @prop --ion-grid-padding-sm: Padding for the Grid on sm screens
   * @prop --ion-grid-padding-md: Padding for the Grid on md screens
   * @prop --ion-grid-padding-lg: Padding for the Grid on lg screens
   * @prop --ion-grid-padding-xl: Padding for the Grid on xl screens
   *
   * @prop --ion-grid-width: Width of the fixed Grid
   * @prop --ion-grid-width-xs: Width of the fixed Grid on xs screens
   * @prop --ion-grid-width-sm: Width of the fixed Grid on sm screens
   * @prop --ion-grid-width-md: Width of the fixed Grid on md screens
   * @prop --ion-grid-width-lg: Width of the fixed Grid on lg screens
   * @prop --ion-grid-width-xl: Width of the fixed Grid on xl screens
   */
  -webkit-padding-start: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
  padding-inline-start: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
  -webkit-padding-end: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
  padding-inline-end: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
  padding-top: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
  padding-bottom: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  -webkit-margin-end: auto;
  margin-inline-end: auto;
  display: block;
  flex: 1;
}
@media (min-width: 576px) {
  :host {
    -webkit-padding-start: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
    padding-inline-start: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
    -webkit-padding-end: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
    padding-inline-end: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
    padding-top: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
    padding-bottom: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
  }
}
@media (min-width: 768px) {
  :host {
    -webkit-padding-start: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
    padding-inline-start: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
    -webkit-padding-end: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
    padding-inline-end: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
    padding-top: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
    padding-bottom: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
  }
}
@media (min-width: 992px) {
  :host {
    -webkit-padding-start: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
    padding-inline-start: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
    -webkit-padding-end: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
    padding-inline-end: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
    padding-top: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
    padding-bottom: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
  }
}
@media (min-width: 1200px) {
  :host {
    -webkit-padding-start: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
    padding-inline-start: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
    -webkit-padding-end: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
    padding-inline-end: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
    padding-top: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
    padding-bottom: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
  }
}

:host(.grid-fixed) {
  width: var(--ion-grid-width-xs, var(--ion-grid-width, 100%));
  max-width: 100%;
}
@media (min-width: 576px) {
  :host(.grid-fixed) {
    width: var(--ion-grid-width-sm, var(--ion-grid-width, 540px));
  }
}
@media (min-width: 768px) {
  :host(.grid-fixed) {
    width: var(--ion-grid-width-md, var(--ion-grid-width, 720px));
  }
}
@media (min-width: 992px) {
  :host(.grid-fixed) {
    width: var(--ion-grid-width-lg, var(--ion-grid-width, 960px));
  }
}
@media (min-width: 1200px) {
  :host(.grid-fixed) {
    width: var(--ion-grid-width-xl, var(--ion-grid-width, 1140px));
  }
}

:host(.ion-no-padding) {
  --ion-grid-column-padding: 0;
  --ion-grid-column-padding-xs: 0;
  --ion-grid-column-padding-sm: 0;
  --ion-grid-column-padding-md: 0;
  --ion-grid-column-padding-lg: 0;
  --ion-grid-column-padding-xl: 0;
}