.sr-cart-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9990;
  background: rgba(0, 0, 0, .6);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}

.sr-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9991;
  width: clamp(360px, 23.5vw, 450px);
  max-width: 100vw;
  height: 100vh;
  height: 100dvh;
  background: #fff;
  color: #000;
  font-family: "Nunito Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform .25s ease, visibility .25s ease;
}

body.sr-cart-open { overflow: hidden; }
body.sr-cart-open .sr-cart-backdrop { opacity: 1; visibility: visible; }
body.sr-cart-open .sr-cart-drawer { transform: translateX(0); visibility: visible; }

.sr-cart-drawer__close {
  position: absolute;
  top: 0;
  right: 100%;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #000;
  font: inherit;
  padding: 11px 12px;
  cursor: pointer;
}

.sr-cart-drawer__scroll {
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 20px 40px;
}

.sr-cart-drawer h2 {
  margin: 0 0 27px;
  padding: 0 0 20px;
  text-align: right;
  font-family: Manrope, Arial, sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 48.4px;
  letter-spacing: 0;
}

.sr-cart-drawer__empty p { margin: 0 0 22px; line-height: 22px; }

.sr-cart-drawer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 47px;
  padding: 14px 35px;
  border-radius: 300px;
  background: #000;
  color: #fff;
  font-size: 14px;
  line-height: 19px;
  letter-spacing: 1px;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.sr-cart-drawer__button:hover,
.sr-cart-drawer__button:focus-visible { color: #fff; background: #333; text-decoration: none; }
.sr-cart-drawer :focus-visible { outline: 2px solid #075d98; outline-offset: 3px; }

.sr-cart-drawer__items { margin: 0; padding: 0; list-style: none; }
.sr-cart-drawer__item {
  position: relative;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 30px;
  column-gap: 12px;
  padding: 17px 0 27px;
  border-bottom: 1px solid #ddd;
}
.sr-cart-drawer__image img { display: block; width: 70px; height: 85px; object-fit: contain; }
.sr-cart-drawer__product-name { display: block; padding-right: 5px; color: #000; font-size: 16px; text-transform: uppercase; line-height: 1.4; text-decoration: none; }
.sr-cart-drawer__product-name:hover { text-decoration: none; }
.sr-cart-drawer__variation { color: #777; font-size: 14px; }
.sr-cart-drawer__variation dl { display: flex; flex-wrap: wrap; margin: 3px 0 0; }
.sr-cart-drawer__variation dt { font-weight: 400; margin-right: 4px; }
.sr-cart-drawer__variation dd, .sr-cart-drawer__variation p { margin: 0; }
.sr-cart-drawer__remove, .sr-cart-drawer__quantity button { border: 0; background: none; color: #666; cursor: pointer; }
.sr-cart-drawer__remove { align-self: start; padding: 0; font-size: 28px; line-height: 25px; }
.sr-cart-drawer__quantity { display: flex; align-items: center; gap: 17px; margin-top: 26px; font-size: 16px; }
.sr-cart-drawer__quantity button { min-width: 30px; min-height: 30px; padding: 0; font-size: 27px; line-height: 1; }
.sr-cart-drawer__quantity button:disabled { opacity: .25; cursor: default; }
.sr-cart-drawer__price { grid-column: 2 / 4; margin: 23px 0 0; text-align: right; }
.sr-cart-drawer__summary { padding-top: 28px; text-align: right; }
.sr-cart-drawer__summary p { display: flex; justify-content: flex-end; gap: 18px; margin: 0 0 55px; }
.sr-cart-drawer__error { margin: 16px 0; color: #a22222; }

@media (max-width: 921px) {
  .sr-cart-drawer { width:min(80vw,360px); font-size:13px; line-height:19.5px; }
  .sr-cart-drawer__close { right:100%; left:auto; padding:12px; font:400 16px/22px "Nunito Sans",Arial,sans-serif; }
  .sr-cart-drawer h2 { padding:0 0 20px; font-size:30px; line-height:48.4px; }
  .sr-cart-drawer__product-name { font-size:13px; line-height:19.5px; }
  .sr-cart-drawer__variation { font-size:12px; }
  .sr-cart-drawer__price { font-size:13px; }
  .sr-cart-drawer__summary { margin:0 -20px; padding:22px 20px 28px; background:#eaeaee; }
  .sr-cart-drawer__summary p { margin-bottom:36px; font-size:13px; }
}

@media (prefers-reduced-motion: reduce) {
  .sr-cart-backdrop, .sr-cart-drawer { transition: none; }
}
.cart-link__count { display: inline; margin: 0; padding: 0; background: transparent; color: inherit; font: inherit; border-radius: 0; }
.sr-cart-drawer__summary .sr-cart-drawer__button { min-height: 35px; padding: 0 12px; letter-spacing: 0; font-size: 14px; }
.sr-cart-drawer__variation p { line-height: 22px; }
.sr-cart-added { position: fixed; z-index: 9989; top: 118px; right: 4vw; width: min(440px, calc(100vw - 32px)); padding: 22px; border-radius: 6px; background: #075d98; color: #fff; font: 400 16px / 24px Manrope, Arial, sans-serif; }
.sr-cart-added h2 { margin: 0 0 20px; font: 500 18px / 24px Manrope, sans-serif; color: #fff; }
.sr-cart-added__close { position: absolute; right: 20px; top: 15px; border: 0; background: transparent; color: #fff; font-size: 25px; cursor: pointer; }
.sr-cart-added__item { display: grid; grid-template-columns: 60px minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.sr-cart-added__image img { width: 60px; height: 60px; object-fit: cover; display: block; }
.sr-cart-added__name,.sr-cart-added__options { margin: 0; }
.sr-cart-added__options { font-size: 12px; }
.sr-cart-added__actions { display: flex; gap: 12px; margin-top: 26px; }
.sr-cart-added__actions button,.sr-cart-added__actions a { flex: 1; text-align: center; min-height: 44px; padding: 10px; border: 1px solid #8eb9dc; border-radius: 12px; background: transparent; color: #8eb9dc; font: 400 12px / 22px Arial,sans-serif; cursor: pointer; }
.sr-cart-added__actions a { background: #8eb9dc; color: #000; }
@media(max-width: 1000px) { .sr-cart-added { top: 64px; right: 16px; width: min(440px, calc(100vw - 32px)); } }
.cart-link__count { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; }
.sr-cart-drawer__image img { height: 80px; object-fit: cover; }
