.cart { --ink: rgba(51, 16, 55, .9); position: relative; max-width: 1440px; margin-inline: auto; min-height: calc(1300 * var(--u)); padding: calc(250 * var(--u)) 0 calc(200 * var(--u)); overflow: clip; }
.cart__in { position: relative; z-index: 1; }
.cart__rays, .cart__iris { position: absolute; z-index: 0; pointer-events: none; }
.cart__rays img, .cart__iris img { width: 100%; height: auto; }
.cart__rays { left: calc(192 * var(--u)); top: calc(276 * var(--u)); width: calc(1055.78 * var(--u)); }
.cart__iris { left: calc(495.71 * var(--u)); top: calc(590.44 * var(--u)); width: calc(416.3 * var(--u)); transition: opacity var(--t-med) var(--ease); }
.cart:not([data-state="empty"]) .cart__rays { display: none; }
.cart[data-state="full"] .cart__iris { left: calc(512 * var(--u)); top: calc(190 * var(--u)); width: calc(470 * var(--u)); opacity: .2; }
.cart[data-state="loading"] .cart__iris { opacity: 0; }
.cart__title { margin: 0 0 0 calc(206 * var(--u)); width: calc(578 * var(--u)); font: italic 400 max(44px, calc(88 * var(--u))) / 1.17 var(--editorial); color: #780C55; text-align: center; white-space: nowrap; letter-spacing: 0; }
.cart__sub { margin: calc(-8 * var(--u)) 0 0 calc(587 * var(--u)); font: italic 400 max(16px, calc(20 * var(--u))) / 1.17 var(--editorial); color: var(--plum); white-space: nowrap; }
.cart[data-state="empty"] { padding-top: calc(276 * var(--u)); }
.cart[data-state="empty"] .cart__title { margin-left: calc(431 * var(--u)); }
.cart[data-state="empty"] .cart__sub { display: none; }
.cart__loading { margin: calc(80 * var(--u)) 0 0; text-align: center; font: italic 400 18px/1.4 var(--editorial); color: #888375; }
.cart:not([data-state="loading"]) .cart__loading { display: none; }
@media (scripting: enabled) { .cart[data-state="loading"] .cart__in { visibility: hidden; } .cart[data-state="loading"] .cart__loading { visibility: visible; } }
.cart__empty, .cart__full { display: none; }
.cart[data-state="empty"] .cart__empty { display: block; }
.cart[data-state="full"] .cart__full { display: block; }
.cart__empty { position: relative; height: calc(1104 * var(--u)); }
@media (min-width: 761px) {
  .cart[data-state="empty"] .cart__rays { top: calc((276 - 46) * var(--u)); }
  .cart[data-state="empty"] .cart__iris { top: calc((590.44 - 46) * var(--u)); }
}
.cart__arc { position: absolute; left: 50%; transform: translateX(-50%); }
.cart__arc svg { display: block; width: 100%; height: auto; }
.cart__arc--1 { top: calc((457 - 379 - 46) * var(--u)); width: calc(456 * var(--u)); }
.cart__arc--2 { top: calc((518 - 379 - 46) * var(--u)); width: calc(282 * var(--u)); }
.cart__shop { position: absolute; left: 50%; top: calc((572 - 379 - 46) * var(--u)); transform: translateX(-50%); width: auto; min-width: 0; height: max(40px, calc(40 * var(--u))); padding-inline: max(22px, calc(24 * var(--u))); --btn-drop: .13em; font: 400 max(17px, calc(18 * var(--u))) / 1 var(--editorial); border-radius: 6px; }
@media (hover: hover) { .cart__shop:hover { transform: translate(-50%, -3px); } }
.cart__shop:active { transform: translate(-50%, 1px); }
.cart__full { margin: calc(130 * var(--u)) 0 0 calc(279 * var(--u)); width: calc(871 * var(--u)); }
.cart__table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.cart__th { padding: 0 0 calc(10 * var(--u)); border-bottom: 1px solid #C8C3B5; text-align: left; font: italic 400 max(13px, calc(14 * var(--u))) / 1.17 var(--editorial); color: #888375; }
.cart__th--product { width: calc(395 * var(--u)); padding-left: calc(14 * var(--u)); }
.cart__th--count { width: calc(202 * var(--u)); }
.cart__th--remove { width: calc(201 * var(--u)); }
.cart__th--price { width: calc(73 * var(--u)); }
.line { background: rgba(242, 237, 223, .72); border-bottom: 1px solid #C8C3B5; }
.line td { padding: 0; vertical-align: middle; height: calc(207 * var(--u)); font: italic 400 max(15px, calc(16 * var(--u))) / 1.17 var(--editorial); color: var(--ink); }
.line__product { display: flex; align-items: center; gap: calc(17 * var(--u)); height: calc(207 * var(--u)); padding-left: calc(3 * var(--u)) !important; }
.line__pic { flex: none; display: block; width: calc(116 * var(--u)); aspect-ratio: 116 / 155; border-radius: 4px; overflow: hidden; background: var(--placeholder); }
.line__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.line__txt { min-width: 0; }
.line__name { color: inherit; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size var(--t-fast) var(--ease); }
.line__name:hover, .line__name:focus-visible { background-size: 100% 1px; }
.line__opt::before { content: " : "; }
.line__each { display: none; }
.line__del { padding: 6px 0; border: 0; background: none; font: inherit; color: inherit; cursor: pointer; background-image: linear-gradient(currentColor, currentColor); background-position: 0 85%; background-size: 0 1px; background-repeat: no-repeat; transition: background-size var(--t-fast) var(--ease); }
.line__del:hover, .line__del:focus-visible { background-size: 100% 1px; }
.line__price { white-space: nowrap; }
.money sup { font-size: .6em; vertical-align: .55em; line-height: 0; margin-right: .05em; }
.qty { display: inline-flex; align-items: center; gap: 12px; }
.qty__btn { display: grid; place-items: center; width: 28px; height: 22px; padding: 0; border: 0; border-radius: 3px; color: var(--cream); font: 600 16px/1 var(--sans); cursor: pointer; transition: background-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease); }
.qty__btn::before { content: ""; position: absolute; left: 50%; top: 50%; width: 36px; height: 44px; transform: translate(-50%, -50%); }
.qty__btn { position: relative; }
.qty__btn--minus { background: #97938A; }
.qty__btn--plus { background: var(--plum-deep); }
@media (hover: hover) { .qty__btn--minus:hover { background: #7f7b72; } .qty__btn--plus:hover { background: #780C55; } }
.qty__btn:active { transform: scale(.94); }
.qty__btn:focus-visible { outline: 2px solid var(--magenta); outline-offset: 2px; }
.qty__n { min-width: 1.2em; text-align: center; font: italic 400 max(17px, calc(20 * var(--u))) / 1 var(--editorial); }
.cart[aria-busy="true"] .line { opacity: .7; transition: opacity var(--t-fast) var(--ease); }
.cart__sum { margin: calc(36 * var(--u)) 0 0 auto; width: max(280px, calc(340 * var(--u))); }
.cart__subtotal { display: flex; justify-content: space-between; margin: 0; font: 400 max(19px, calc(22 * var(--u))) / 1.2 var(--editorial); color: var(--ink); }
.cart__note { margin: 6px 0 0; font: italic 400 max(14px, calc(15 * var(--u))) / 1.3 var(--editorial); color: #707070; }
.cart__checkout { --btn-drop: .13em; margin-top: calc(22 * var(--u)); width: 100%; height: max(48px, calc(58 * var(--u))); font: 400 max(21px, calc(24 * var(--u))) / 1 var(--editorial); border-radius: 6px; }
.cart__checkout[aria-disabled="true"] { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
.cart__mock { margin: 10px 0 0; font-size: 13.5px; line-height: 1.4; color: #707070; text-align: center; }
.cart__msg { margin: 8px 0 0; font-size: 14px; color: #780C55; }
.cart__msg:empty { display: none; }
@media (max-width: 760px) {
  .cart, .cart[data-state="empty"] { min-height: 0; padding: 96px var(--gutter) 72px; }
  .cart__title, .cart[data-state="empty"] .cart__title { margin: 0 auto; width: auto; font-size: 44px; text-align: center; }
  .cart__sub { margin: 7px 0 0; padding: 0 8px 0 0; text-align: right; font-size: 15px; }
  .cart__loading { margin-top: 40px; }
  .cart__empty { height: auto; padding-top: 24px; display: none; }
  .cart[data-state="empty"] .cart__empty { display: flex; flex-direction: column; align-items: center; }
  .cart__arc { position: static; transform: none; }
  .cart__arc--1 { width: min(78vw, 320px); }
  .cart__arc--2 { width: min(50vw, 200px); margin-top: -10px; }
  .cart__shop { position: static; transform: none; margin-top: 0; height: 40px; }
  @media (hover: hover) { .cart__shop:hover { transform: translateY(-3px); } }
  .cart__shop:active { transform: translateY(1px); }
  .cart__rays { left: 50%; top: 150px; width: 150vw; margin-left: -75vw; }
  .cart__iris { left: 50%; top: 290px; width: min(70vw, 300px); transform: translateX(-50%); }
  .cart[data-state="empty"] { padding-bottom: calc(min(70vw, 300px) * 802 / 416 + 30px); }
  .cart[data-state="full"] .cart__iris { left: 50%; top: 150px; width: 80vw; opacity: .18; }
  .cart__full { margin: 28px 0 0; width: auto; }
  .cart__table, .cart__table tbody { display: block; }
  .cart__table thead { display: none; }
  .line { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; grid-template-areas: "p p q" "p p r"; align-items: center; column-gap: 14px; padding: 14px 0; background: rgba(242, 237, 223, .72); }
  .line td { display: block; height: auto; }
  .line td.line__product { grid-area: p; display: flex; height: auto; gap: 14px; padding: 0 !important; }
  .line__pic { width: 76px; }
  .line__name { font: 400 19px/1.15 var(--editorial); }
  .line__opt { display: block; font: italic 400 14px/1.2 var(--editorial); }
  .line__opt::before { content: none; }
  .line__each { display: block; margin-top: 8px; font: 400 18px/1 var(--editorial); }
  .line__count { grid-area: q; align-self: end; }
  .line__remove { grid-area: r; align-self: start; text-align: center; }
  .line__del { font: italic 400 13px/1 var(--editorial); color: #707070; padding: 10px 4px; }
  .line__price { display: none !important; }
  .qty { gap: 10px; }
  .qty__btn { width: 26px; height: 20px; }
  .qty__n { font-size: 19px; }
  .cart__sum { width: auto; margin-top: 26px; }
  .cart__subtotal { font-size: 20px; }
  .cart__checkout { margin-top: 20px; height: 52px; font-size: 22px; background: var(--plum-deep); }
}
