/* Shared mobile contact bar. Independent of the legacy Sass build. */
.sp-fixed-cta {
  display: none;
}

@media screen and (max-width: 767px) {
  body.has-sp-fixed-cta {
    --sp-fixed-cta-height: calc(64px + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(var(--sp-fixed-cta-body-padding, 0px) + var(--sp-fixed-cta-height));
  }

  body.has-sp-fixed-cta .sp-fixed-cta:not([hidden]) {
    position: fixed;
    inset: auto 0 0;
    z-index: 10000;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    box-sizing: border-box;
    height: var(--sp-fixed-cta-height);
    margin: 0;
    padding: 6px max(8px, env(safe-area-inset-right, 0px)) calc(6px + env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px));
    background: #fff;
    box-shadow: 0 -2px 8px rgb(0 0 0 / 15%);
  }

  .sp-fixed-cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    min-height: 44px;
    box-sizing: border-box;
    margin: 0;
    padding: 8px 4px;
    border: 0;
    border-radius: 4px;
    color: #fff;
    font: bold 15px/1.4 sans-serif;
    text-decoration: none;
    white-space: nowrap;
  }

  .sp-fixed-cta a > svg,
  .sp-fixed-cta a > span {
    transform: translateX(-8px);
  }

  .sp-fixed-cta-contact {
    background: #2d70b8;
  }

  .sp-fixed-cta-tel {
    background: #1e305e;
  }

  .sp-fixed-cta a:focus-visible {
    outline: 3px solid #f0a800;
    outline-offset: -3px;
  }

  .sp-fixed-cta svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body.has-sp-fixed-cta footer .btn-top,
  body.has-sp-fixed-cta #pageTop {
    bottom: calc(var(--sp-fixed-cta-height) + 16px);
  }

  body.has-sp-fixed-cta .line-official-btn {
    bottom: calc(var(--sp-fixed-cta-height) + 80px);
  }

  body.has-sp-fixed-cta .navigation {
    padding-bottom: var(--sp-fixed-cta-height);
  }
}