/* 兔仔咖啡凍 shop: editorial catalogue, scoped to the public shop page. */
.shop-page {
  background:
    radial-gradient(ellipse 75% 25% at 92% 7%, rgba(116, 64, 152, .13), transparent 80%),
    #0d0d13;
  color: #f6f1fa;
}
.shop-page .shop-main {
  width: min(1500px, 100%);
  margin: 0 auto;
  padding: 36px clamp(18px, 3.8vw, 62px) 88px;
}
.shop-page .shop-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(310px, .87fr);
  min-height: 440px;
  overflow: hidden;
  border: 1px solid rgba(200, 166, 234, .24);
  border-radius: 28px;
  background:
    radial-gradient(ellipse at 82% 55%, rgba(130, 86, 180, .3) 0%, transparent 48%),
    linear-gradient(110deg, #201628 0%, #15121e 50%, #291a39 100%);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .25);
}
.shop-page .shop-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .32;
  background: radial-gradient(circle at 13% 20%, rgba(236, 202, 255, .16), transparent 24%);
  pointer-events: none;
}
.shop-page .shop-hero-copy {
  position: relative;
  z-index: 2;
  align-self: center;
  padding: clamp(36px, 4.5vw, 68px);
}
.shop-page .shop-kicker,
.shop-page .shop-section-kicker,
.shop-page .shop-cart-eyebrow {
  margin: 0 0 16px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  color: #d6b6eb;
}
.shop-page .shop-kicker span { margin-inline: 10px; font-size: 12px; }
.shop-page .shop-hero h1 {
  margin: 0 0 18px;
  color: #fff9ff;
  font-size: clamp(43px, 5.2vw, 76px);
  line-height: 1.1;
  font-weight: 750;
  letter-spacing: -.025em;
}
.shop-page .shop-hero-intro {
  max-width: 560px;
  margin: 0;
  color: #d5cddd;
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.9;
}
.shop-page .shop-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 25px 0 28px;
}
.shop-page .shop-hero-tags span {
  padding: 7px 12px;
  border: 1px solid rgba(218, 181, 241, .25);
  border-radius: 999px;
  background: rgba(225, 195, 249, .07);
  color: #e2d0f0;
  font-size: 12px;
}
.shop-page .shop-hero-link {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid rgba(238, 209, 255, .45);
  padding: 3px 0 9px;
  color: #f6e6ff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  transition: border-color 180ms, color 180ms;
}
.shop-page .shop-hero-link:hover { color: #fff; border-color: #fff; }
.shop-page .shop-hero-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  overflow: hidden;
}
.shop-page .shop-hero-orbit {
  position: absolute;
  width: min(85%, 410px);
  aspect-ratio: 1;
  border: 1px solid rgba(229, 184, 255, .2);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(174, 129, 208, .27), rgba(90, 54, 120, .1) 63%, transparent 70%);
  box-shadow: 0 0 0 35px rgba(225, 196, 247, .025), 0 0 0 72px rgba(225, 196, 247, .025);
}
.shop-page .shop-hero-fallback {
  position: absolute;
  z-index: 0;
  display: grid;
  justify-items: center;
  gap: 13px;
  color: #f5ddff;
  text-shadow: 0 8px 32px rgba(0, 0, 0, .3);
}
.shop-page .shop-hero-fallback span { color: #d6abf3; font-size: 39px; }
.shop-page .shop-hero-fallback strong { font-size: clamp(27px, 3vw, 43px); letter-spacing: .1em; white-space: nowrap; }
.shop-page .shop-hero-fallback small { color: #c2abc9; font-size: 13px; letter-spacing: .28em; }
.shop-page .shop-hero-visual > img {
  position: relative;
  z-index: 1;
  display: block;
  width: min(88%, 450px);
  height: 330px;
  object-fit: contain;
  filter: drop-shadow(0 28px 36px rgba(0, 0, 0, .42));
}
.shop-page .shop-hero-visual > img[hidden] { display: none; }
.shop-page .shop-hero-visual-label {
  position: absolute;
  z-index: 2;
  right: clamp(15px, 2.5vw, 36px);
  bottom: 26px;
  display: grid;
  gap: 5px;
  padding: 14px 18px;
  border: 1px solid rgba(212, 178, 232, .23);
  border-radius: 14px;
  background: rgba(15, 11, 20, .77);
  backdrop-filter: blur(12px);
  text-align: right;
}
.shop-page .shop-hero-visual-label span { color: #cebdd9; font-size: 10px; letter-spacing: .16em; }
.shop-page .shop-hero-visual-label strong { color: #fff3ff; font-size: 22px; letter-spacing: .06em; }

.shop-page #catalog { scroll-margin-top: 90px; }
.shop-page .shop-section { padding-top: clamp(42px, 5vw, 78px); }
.shop-page .shop-catalog-header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 28px;
}
.shop-page .shop-section-kicker { margin-bottom: 10px; }
.shop-page .shop-catalog-header h2 {
  margin: 0 0 8px;
  color: #fff6ff;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.2;
}
.shop-page .shop-product-count { margin: 0; font-size: 14px; color: #b7a9c5; }
.shop-page .shop-catalog-controls { display: flex; align-items: end; gap: 14px; }
.shop-page .event-filter {
  width: clamp(190px, 21vw, 275px);
  margin: 0;
  gap: 7px;
}
.shop-page .event-filter label {
  color: #d1b5e7;
  font-size: 13px;
  font-weight: 700;
}
.shop-page .event-filter select {
  min-height: 48px;
  padding: 0 40px 0 16px;
  border: 1px solid rgba(185, 148, 220, .38);
  border-radius: 12px;
  background: #1c1724;
  color: #f6effb;
  box-shadow: none;
}
.shop-page .shop-cart-shortcut {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 11px;
  padding: 0 14px;
  border: 1px solid rgba(185, 148, 220, .38);
  border-radius: 12px;
  color: #f7e8ff;
  text-decoration: none;
  background: rgba(49, 33, 62, .82);
  white-space: nowrap;
  transition: border-color 180ms, background-color 180ms;
}
.shop-page .shop-cart-shortcut:hover { border-color: #ddbcf5; background: #322341; }
.shop-page .shop-cart-shortcut-count,
.shop-page .shop-cart-count {
  display: inline-grid;
  place-items: center;
  min-width: 26px;
  height: 26px;
  padding: 0 5px;
  border-radius: 99px;
  background: #d9b4ee;
  color: #281333;
  font-size: 13px;
  font-weight: 800;
}

.shop-page .shop-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 324px;
  gap: 26px;
  align-items: start;
}
.shop-page .product-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
}
.shop-page .product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(193, 164, 215, .19);
  border-radius: 20px;
  background: #191720;
  color: #f8f4fa;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .14);
  backdrop-filter: none;
  animation: none;
  transform: none;
  transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}
.shop-page .product-card:hover {
  transform: none;
  border-color: rgba(216, 184, 239, .5);
  background: #201b2a;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .24);
}
.shop-page .shop-product-image {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  padding: 18px;
  background:
    radial-gradient(circle at 50% 44%, rgba(195, 164, 225, .24), transparent 64%),
    #272031;
  text-decoration: none;
}
.shop-page .shop-product-fallback {
  position: absolute;
  inset: 18px;
  display: none;
  align-content: center;
  justify-items: center;
  gap: 14px;
  border: 1px solid rgba(225, 187, 248, .15);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(204, 152, 238, .12), rgba(31, 22, 45, .3));
  color: #d2b2e5;
  text-align: center;
}
.shop-page .shop-product-fallback small { font-size: 10px; letter-spacing: .2em; }
.shop-page .shop-product-fallback strong { color: #efd4ff; font-size: clamp(16px, 1.5vw, 21px); letter-spacing: .07em; }
.shop-page .shop-product-fallback i { font-size: 32px; font-style: normal; }
.shop-page .shop-product-image.has-no-image .shop-product-fallback { display: grid; }
.shop-page .shop-product-image img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 7px;
  transition: transform 350ms cubic-bezier(.2,.8,.2,1);
}
.shop-page .shop-product-image img[hidden] { display: none; }
.shop-page .product-card:hover .shop-product-image img { transform: scale(1.035); }
.shop-page .shop-product-image-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 6px 10px;
  border: 1px solid rgba(246, 229, 255, .22);
  border-radius: 99px;
  background: rgba(22, 14, 31, .78);
  color: #f3e9fa;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
}
.shop-page .shop-product-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}
.shop-page .shop-product-body .shop-card-kicker {
  margin: 0 0 8px;
  color: #b59acb;
  font-size: 10px;
  letter-spacing: .15em;
}
.shop-page .product-card h3 {
  margin: 0;
  min-height: 2.75em;
  color: #fff7ff;
  font-size: clamp(17px, 1.4vw, 20px);
  font-weight: 750;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.shop-page .product-card .product-detail-text {
  margin: 11px 0 17px;
  min-height: 3.9em;
  color: #bfb4cb;
  font-size: 13px;
  line-height: 1.65;
}
.shop-page .shop-product-purchase {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(216, 184, 238, .13);
}
.shop-page .product-card .price {
  display: block;
  margin: 0 0 13px;
  color: #e7c4f5;
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -.01em;
}
.shop-page .shop-product-actions { display: grid; gap: 9px; }
.shop-page .shop-quick-add.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #d1a7ee;
  border-radius: 11px;
  background: #a77acc;
  color: #211228;
  box-shadow: none;
  font-size: 13px;
  font-weight: 800;
}
.shop-page .shop-quick-add.button:hover {
  background: #d2a9ef;
  color: #1f102b;
}
.shop-page .shop-product-details-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 5px 8px;
  color: #d8c1e7;
  font-size: 12px;
  text-decoration: none;
}
.shop-page .shop-product-details-link:hover { color: #fff5ff; text-decoration: underline; }
.shop-page .product-grid .event-empty {
  grid-column: 1 / -1;
  display: grid;
  place-items: center;
  min-height: 240px;
  margin: 0;
  padding: 32px;
  border: 1px dashed rgba(216, 184, 238, .34);
  border-radius: 18px;
  background: rgba(39, 28, 48, .46);
  color: #d1c4da;
  text-align: center;
}

.shop-page .cart {
  position: sticky;
  top: 86px;
  min-width: 0;
  padding: 25px;
  border: 1px solid rgba(216, 178, 241, .3);
  border-radius: 20px;
  background: linear-gradient(180deg, #282033, #1b1724 54%, #1a1522);
  color: #fff4ff;
  box-shadow: 0 16px 50px rgba(0, 0, 0, .18);
  backdrop-filter: none;
  scroll-margin-top: 85px;
}
.shop-page .shop-cart-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.shop-page .shop-cart-eyebrow { margin: 0 0 7px; color: #c5a3dd; }
.shop-page .shop-cart-header h3 {
  margin: 0;
  color: #fff7ff;
  font-size: 27px;
}
.shop-page .shop-cart-intro {
  margin: 18px 0 22px;
  color: #cbbcd4;
  font-size: 13px;
  line-height: 1.75;
}
.shop-page .cart-items {
  display: grid;
  gap: 13px;
  min-height: 60px;
  max-height: 375px;
  overflow-y: auto;
  padding-right: 3px;
}
.shop-page .cart-items > p {
  display: grid;
  place-items: center;
  min-height: 100px;
  padding: 20px;
  border: 1px dashed rgba(203, 165, 226, .26);
  border-radius: 12px;
  color: #c6b3d5;
  background: rgba(17, 12, 23, .2);
  text-align: center;
  font-size: 13px;
  line-height: 1.7;
}
.shop-page .cart-row {
  display: grid;
  grid-template-columns: 57px minmax(0, 1fr) 26px;
  align-items: start;
  gap: 11px;
  padding: 0 0 13px;
  border-bottom: 1px solid rgba(228, 195, 246, .16);
  background: transparent;
}
.shop-page .cart-row > img {
  width: 57px;
  height: 57px;
  object-fit: contain;
  border-radius: 9px;
  background: #352b40;
}
.shop-page .shop-cart-item-copy { display: grid; min-width: 0; gap: 5px; }
.shop-page .shop-cart-item-copy strong {
  color: #fff5ff;
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.shop-page .shop-cart-item-copy small { color: #bfabd1; font-size: 12px; }
.shop-page .shop-quantity-controls { display: inline-flex; align-items: center; justify-self: start; gap: 8px; margin-top: 3px; }
.shop-page .shop-quantity-controls span { min-width: 17px; color: #f6eaff; text-align: center; font-size: 13px; }
.shop-page .cart-row button {
  display: inline-grid;
  width: 27px;
  height: 27px;
  min-height: 0;
  place-items: center;
  border: 1px solid rgba(215, 183, 240, .32);
  border-radius: 8px;
  padding: 0;
  background: rgba(211, 180, 233, .1);
  color: #f6eaff;
  font: inherit;
  font-size: 16px;
  cursor: pointer;
  animation: none;
  transform: none;
}
.shop-page .cart-row button:hover {
  transform: none;
  border-color: rgba(237, 204, 255, .68);
  background: rgba(211, 180, 233, .22);
  color: #fff;
}
.shop-page .cart-row .shop-cart-remove {
  width: 25px;
  height: 25px;
  color: #c7b3d5;
}
.shop-page .cart-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 24px 0 17px;
  padding-top: 18px;
  border-top: 1px solid rgba(227, 196, 246, .24);
}
.shop-page .cart-total span { color: #d3c3dc; font-size: 13px; }
.shop-page .cart-total strong { color: #fceaff; font-size: 23px; font-weight: 800; white-space: nowrap; }
.shop-page .shop-checkout-button.button {
  display: flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid #e0c0f3;
  border-radius: 12px;
  background: #bd92dd;
  color: #201128;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
}
.shop-page .shop-checkout-button.button:hover { background: #dbb8f0; color: #201128; }
.shop-page .shop-clear-button.button {
  display: block;
  width: 100%;
  min-height: 36px;
  margin: 9px 0 0;
  padding: 5px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #c6b4d0;
  box-shadow: none;
  font-size: 12px;
}
.shop-page .shop-clear-button.button:hover { background: rgba(230, 206, 247, .07); color: #fff; }
.shop-page .shop-cart-disclaimer {
  margin: 15px 0 0;
  color: #af9dbd;
  font-size: 11px;
  line-height: 1.8;
}

.shop-page .shipping {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(210px, .65fr);
  gap: clamp(28px, 6vw, 90px);
  align-items: center;
  margin-top: clamp(55px, 6vw, 95px);
  padding: clamp(30px, 4vw, 56px);
  border: 1px solid rgba(207, 174, 230, .2);
  border-radius: 24px;
  background: linear-gradient(125deg, #20192a, #16131d);
}
.shop-page .shipping h2 { color: #fff5ff; font-size: clamp(29px, 2.5vw, 40px); }
.shop-page .shipping h3 { color: #f1ddff; }
.shop-page .shipping p,
.shop-page .shipping li,
.shop-page .shipping li span { color: #d0c3d8; }
.shop-page .shipping ol { gap: 16px; }
.shop-page .shipping li { line-height: 1.7; }
.shop-page .shipping li strong { color: #f2e2fd; }
.shop-page .shipping img {
  width: 100%;
  max-height: 390px;
  object-fit: contain;
  border-radius: 18px;
  box-shadow: none;
}
@media (max-width: 1200px) {
  .shop-page .shop-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; }
  .shop-page .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .shop-page .shop-product-body { padding: 17px; }
}
@media (max-width: 900px) {
  .shop-page .shop-main { padding-top: 22px; }
  .shop-page .shop-layout { grid-template-columns: 1fr; }
  .shop-page .cart { position: static; max-width: none; }
  .shop-page .shop-hero { grid-template-columns: minmax(0, 1fr) minmax(250px, .7fr); }
  .shop-page .shop-hero-copy { padding: 34px; }
  .shop-page .shop-hero-visual > img { height: 255px; }
  .shop-page .shop-catalog-header { align-items: start; }
}
@media (max-width: 640px) {
  .shop-page .shop-main { padding: 16px 14px 60px; }
  .shop-page .shop-hero { display: flex; flex-direction: column; min-height: 0; border-radius: 21px; }
  .shop-page .shop-hero-copy { padding: 29px 24px 10px; }
  .shop-page .shop-hero h1 { font-size: clamp(39px, 11vw, 53px); }
  .shop-page .shop-hero-intro { font-size: 14px; line-height: 1.8; }
  .shop-page .shop-hero-tags { margin: 20px 0; }
  .shop-page .shop-hero-visual { min-height: 230px; padding-bottom: 12px; }
  .shop-page .shop-hero-visual > img { height: 240px; width: 72%; }
  .shop-page .shop-hero-visual-label { right: 12px; bottom: 12px; padding: 9px 12px; }
  .shop-page .shop-hero-visual-label strong { font-size: 15px; }
  .shop-page .shop-catalog-header { flex-direction: column; gap: 18px; }
  .shop-page .shop-catalog-controls { width: 100%; align-items: end; gap: 8px; }
  .shop-page .event-filter { flex: 1; min-width: 0; width: auto; }
  .shop-page .shop-cart-shortcut { padding-inline: 10px; font-size: 13px; }
  .shop-page .product-grid { grid-template-columns: 1fr; gap: 18px; }
  .shop-page .shop-product-image { aspect-ratio: 1 / .92; }
  .shop-page .product-card h3 { min-height: 0; font-size: 21px; }
  .shop-page .product-card .product-detail-text { min-height: 0; }
  .shop-page .shop-product-body { padding: 19px; }
  .shop-page .shipping { grid-template-columns: 1fr; margin-top: 50px; padding: 27px 22px; }
  .shop-page .shipping img { max-height: 240px; }
}
@media (prefers-reduced-motion: reduce) {
  .shop-page .product-card, .shop-page .shop-product-image img, .shop-page .shop-hero-link {
    transition: none;
  }
  .shop-page .product-card:hover, .shop-page .product-card:hover .shop-product-image img {
    transform: none;
  }
}

/* Product detail keeps the same visual language as the catalogue. */
.shop-detail-page {
  background: #0e0d13;
  color: #f5edf8;
}
.shop-detail-page .product-detail-page {
  min-height: 72vh;
  background: radial-gradient(ellipse at 70% 18%, rgba(123, 77, 149, .16), transparent 50%), #0e0d13;
}
.shop-detail-page .product-detail-shell {
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: clamp(30px, 5vw, 72px) clamp(18px, 4vw, 60px) 90px;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 300px;
}
.shop-detail-page .product-detail {
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  gap: clamp(24px, 3.5vw, 50px);
  padding: clamp(22px, 3vw, 46px);
  border: 1px solid rgba(214, 173, 244, .2);
  border-radius: 25px;
  background: linear-gradient(140deg, #211828, #17141e);
}
.shop-detail-page .shop-detail-visual {
  position: relative;
  display: grid;
  min-width: 0;
  aspect-ratio: 1;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(227, 183, 246, .16);
  border-radius: 20px;
  background: radial-gradient(circle at 50% 40%, rgba(173, 115, 210, .23), transparent 65%), #282032;
}
.shop-detail-page .shop-detail-fallback {
  position: absolute;
  display: grid;
  justify-items: center;
  gap: 12px;
  color: #d8b8e9;
  text-align: center;
}
.shop-detail-page .shop-detail-fallback strong { color: #f4deff; font-size: clamp(22px, 2vw, 32px); letter-spacing: .1em; }
.shop-detail-page .shop-detail-fallback small { font-size: 12px; letter-spacing: .22em; }
.shop-detail-page .shop-detail-visual .detail-image {
  position: relative;
  z-index: 1;
  display: block;
  width: 92%;
  height: 92%;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 0;
  box-shadow: none;
}
.shop-detail-page .shop-detail-visual .detail-image[hidden] { display: none; }
.shop-detail-page .detail-copy h1 { color: #fff6ff; font-size: clamp(26px, 2.8vw, 40px); }
.shop-detail-page .detail-copy p { color: #cec1d7; line-height: 1.8; }
.shop-detail-page .detail-copy .detail-price { color: #e9c6fa; font-size: clamp(32px, 3vw, 45px); }
.shop-detail-page .detail-copy .product-description { color: #e8d9f1; font-size: 16px; }
.shop-detail-page .detail-actions .button {
  border-radius: 12px;
  background: #aa7fcb;
  color: #201128;
  font-weight: 750;
}
.shop-detail-page .detail-actions .button.muted {
  background: #32263d;
  color: #f1e1fb;
}
.shop-detail-page .compact-cart {
  position: sticky;
  top: 86px;
  border: 1px solid rgba(207, 166, 230, .28);
  border-radius: 20px;
  padding: 24px;
  background: #241d2c;
  box-shadow: 0 18px 40px rgba(0,0,0,.2);
}
.shop-detail-page .compact-cart h3 { color: #fff2ff; font-size: 24px; }
.shop-detail-page .compact-cart .cart-items { max-height: 350px; }
.shop-detail-page .compact-cart .cart-row { grid-template-columns: minmax(0,1fr) auto; color: #e5d5ee; gap: 12px; }
.shop-detail-page .compact-cart .cart-row span { color: #e5d5ee; overflow-wrap: anywhere; }
.shop-detail-page .compact-cart .cart-row button { color: #ebd5f6; }
.shop-detail-page .compact-cart .cart-total strong { color: #faeaff; }
.shop-detail-page .compact-cart .button { border-radius: 11px; }
@media (max-width: 1100px) {
  .shop-detail-page .product-detail-shell { grid-template-columns: 1fr; }
  .shop-detail-page .compact-cart { position: static; }
}
@media (max-width: 670px) {
  .shop-detail-page .product-detail-shell { padding: 22px 14px 60px; }
  .shop-detail-page .product-detail { grid-template-columns: 1fr; border-radius: 19px; padding: 18px; }
  .shop-detail-page .shop-detail-visual { aspect-ratio: 1.1; }
  .shop-detail-page .detail-copy h1 { margin-top: 3px; }
}
