:host {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 100dvh;
  background: #f5f5f5;
  color: #202020;
}

.store-layout {
  position: relative;
  width: 100%;
  min-width: 0;
}

.store-layout__cart-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1040;
  background: transparent;
}

.store-layout__cart-dropdown {
  position: absolute;
  display: flex;
  flex-direction: column;
  top: 100px;
  right: calc((100% - 1320px) / 2 + 1.5rem);
  width: 100%;
  max-width: 400px;
  max-height: calc(100vh - 120px);
  z-index: 1050;
  background-color: #ffffff;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  animation: store-layout-slide-down 0.2s ease-out;

  > app-cart {
    min-height: 0;
  }

  @media (max-width: 1400px) {
    right: 1.5rem;
  }
  @media (max-width: 576px) {
    right: 1rem;
    left: 1rem;
    width: auto;
    max-width: none;
  }
}

@keyframes store-layout-slide-down {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
