.shop-suggestion[hidden], .shop-suggestion [hidden] { display: none !important; }
.shop-suggestion { position: fixed; z-index: 1250; right: 24px; bottom: 28px; width: 330px; max-width: calc(100vw - 32px); padding: 24px; box-sizing: border-box; border: 1px solid #dedbd5; border-radius: 6px; background: #fff; color: #302d28; box-shadow: 0 6px 28px #0002; font-family: inherit; text-align: left; }
.shop-suggestion h2.shop-suggestion__title { margin: 0 20px 10px 0; font-weight: 600; font-family: inherit; font-size: 20px; line-height: 1.25; text-transform: none; }
.shop-suggestion__body, .shop-suggestion__basket { margin: 0 0 16px; font-size: 14px; line-height: 1.5; }
.shop-suggestion__basket { font-size: 12px; }
.shop-suggestion__close { position: absolute; top: 6px; right: 6px; width: 36px; height: 36px; border: 0; background: transparent; color: inherit; font-size: 26px; cursor: pointer; }
.shop-suggestion__go { display: block; padding: 12px; border-radius: 3px; background: #3e382d; color: #fff; font-size: 14px; font-weight: 600; text-align: center; text-decoration: none; }
.shop-suggestion__stay { display: block; margin: 12px auto 0; padding: 4px 12px; border: 0; background: transparent; color: inherit; font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; }
.shop-suggestion a:focus-visible, .shop-suggestion button:focus-visible, .shop-suggestion-usp:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.navigation__usp--shop-suggestion { flex-shrink: 0; }
.shop-suggestion-usp { color: inherit; text-underline-offset: 3px; text-decoration: underline; }
@media (max-width: 984px) { .shop-suggestion { right: 16px; bottom: calc(78px + env(safe-area-inset-bottom)); width: 310px; padding: 20px; } }

html.shop-suggestion-pending .customer-club-popup__teaser-wrap,
html.shop-suggestion-pending .js-customer-club-usp,
html.shop-suggestion-pending .concept-teaser-wrap { display: none !important; }

@keyframes shop-suggestion-enter {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
.shop-suggestion:not([hidden]) {
  animation: shop-suggestion-enter 320ms cubic-bezier(.22, 1, .36, 1) both;
}
@media (prefers-reduced-motion: reduce) {
  .shop-suggestion:not([hidden]) { animation: none; }
}

@keyframes shop-suggestion-exit {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(10px); }
}
.shop-suggestion.is-closing:not([hidden]) {
  animation: shop-suggestion-exit 220ms ease-in both;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .shop-suggestion.is-closing:not([hidden]) { animation: none; }
}

.shop-destination-status {
  margin: 0;
  padding: 12px 20px;
  background: #f3f3f3;
  color: #222;
  text-align: center;
  font-size: 14px;
}

html.shop-basket-warning-open { overflow: hidden; }
html.shop-basket-warning-open .shop-suggestion,
html.shop-basket-warning-open .customer-club-popup__teaser-wrap,
html.shop-basket-warning-open .js-customer-club-usp,
html.shop-basket-warning-open .concept-teaser-wrap { visibility: hidden; }
.shop-basket-warning {
  position: fixed;
  inset: 0;
  margin: auto;
  width: 420px;
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  padding: 32px;
  box-sizing: border-box;
  overflow: auto;
  border: 1px solid #dedbd5;
  border-radius: 6px;
  background: #fff;
  color: #302d28;
  box-shadow: 0 12px 48px #0003;
  font-family: inherit;
  text-align: left;
}
.shop-basket-warning::backdrop { background: rgb(0 0 0 / 48%); }
.shop-basket-warning h2 {
  margin: 0 0 24px;
  font-family: inherit;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 600;
  text-transform: none;
}
.shop-basket-warning a:focus-visible,
.shop-basket-warning button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@keyframes shop-basket-warning-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes shop-basket-warning-exit { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(8px); } }
.shop-basket-warning[open] { animation: shop-basket-warning-enter 240ms ease-out both; }
.shop-basket-warning.is-closing { animation: shop-basket-warning-exit 180ms ease-in both; pointer-events: none; }
@media (max-width: 480px) { .shop-basket-warning { padding: 24px; } }
@media (prefers-reduced-motion: reduce) { .shop-basket-warning[open] { animation: none; } }
