:host {
  /**
   * @prop --background: Background
   * @prop --color: Text color
   *
   * @prop --border-color: Color of the footer border
   * @prop --border-style: Style of the footer border
   * @prop --border-width: Width of the footer border
   *
   * @prop --padding-top: Top padding
   * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left
   * @prop --padding-bottom: Bottom padding
   * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left
   */
  --background: var(--bkkr-toolbar-background, var(--bkkr-background-color, #fff));
  --color: var(--bkkr-toolbar-color, var(--bkkr-text-color, #000));
  --border-color: var(--bkkr-toolbar-border-color, rgba(var(--bkkr-text-color-rgb, 0, 0, 0), 0.1));
  --border-width: 0.55px;
  --border-style: solid;
  --padding-top: 2px;
  --padding-bottom: 2px;
  --padding-start: 0;
  --padding-end: 0;
  --max-width: 720px;
  --opacity: 1;
  --opacity-scale: 1;
  display: block;
  order: 1;
  color: var(--color-contrast, var(--color));
  z-index: 10;
}

:host(.footer-fixed) {
  left: 0;
  bottom: 0;
  padding-left: var(--padding-left);
  padding-right: var(--padding-right);
  padding-top: var(--padding-top);
  padding-bottom: var(--padding-bottom);
  position: relative;
  width: 100%;
}
:host-context([dir=rtl]):host(.footer-fixed), :host-context([dir=rtl]).footer-fixed {
  left: unset;
  right: unset;
  right: 0;
}

@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
  :host(.footer-fixed) {
    padding-left: unset;
    padding-right: unset;
    -webkit-padding-start: var(--padding-left);
    padding-inline-start: var(--padding-left);
    -webkit-padding-end: var(--padding-right);
    padding-inline-end: var(--padding-right);
  }
}

:host(.footer-fixed) .footer-background {
  border-top: var(--border-width) var(--border-style) var(--border-color);
}

:host(.footer-floating) {
  --border-radius: 32px;
  --box-shadow: 0 15px 25px 0 rgba(var(--box-shadow-color, 0, 0, 0), 0.1), 0 6px 20px 0 rgba(var(--box-shadow-color, 0, 0, 0), 0.12), 0 13.2px 40px 0 rgba(var(--box-shadow-color, 0, 0, 0), 0.08);
  --transition: 0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59), 0.2s box-shadow cubic-bezier(0.25, 1.11, 0.78, 1.59);
  --transform: translate3d(0, 0, 0);
  --background: var(--bkkr-overlay-background, var(--bkkr-background-color, #fff));
  margin-left: var(--padding-left);
  margin-right: var(--padding-right);
  margin-top: var(--padding-top);
  margin-bottom: calc(var(--padding-bottom) + var(--bkkr-spacer) * 0.5);
  left: calc(var(--bkkr-spacer) * 0.5);
  right: calc(var(--bkkr-spacer) * 0.5);
  bottom: 0;
  border-radius: var(--border-radius);
  position: fixed;
  max-width: var(--max-width);
  transform: var(--transform);
  transition: var(--transition);
  box-shadow: var(--box-shadow);
  overflow: hidden;
  will-change: transform, box-shadow;
}
@supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
  :host(.footer-floating) {
    margin-left: unset;
    margin-right: unset;
    -webkit-margin-start: var(--padding-left);
    margin-inline-start: var(--padding-left);
    -webkit-margin-end: var(--padding-right);
    margin-inline-end: var(--padding-right);
  }
}
:host(.footer-floating) ::slotted(bkkr-toolbar) {
  --padding-top: 4px;
  --padding-bottom: 4px;
}

.footer-background {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  transform: translateZ(0);
  background: var(--color-base, var(--background));
  contain: strict;
  opacity: calc(var(--opacity) * var(--opacity-scale));
  z-index: -1;
  pointer-events: none;
}

.footer-content {
  flex: 1 1 0%;
  min-width: 0;
}

bkkr-footer.footer-toolbar-padding bkkr-toolbar:last-of-type {
  padding-bottom: var(--bkkr-safe-area-bottom, 0);
}

:host(.footer-floating:active),
:host(.footer-floating.state-activated) {
  --box-shadow: 0 3px 5px 0 rgba(var(--box-shadow-color, 0, 0, 0), 0.1), 0 6px 10px 0 rgba(var(--box-shadow-color, 0, 0, 0), 0.12), 0 1.2px 20px 0 rgba(var(--box-shadow-color, 0, 0, 0), 0.08);
  --transform: translate3d(0, 1px, 0);
  --transition: 0.2s transform ease-out, 0.2s box-shadow ease-out;
}

@media (prefers-reduced-motion: reduce) {
  :host(.footer-floating) {
    transform: none;
    transition: none;
  }
}