.cart-confirmation {
  position: fixed; z-index: 1100; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: min(430px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto;
  padding: 28px; border: 1px solid var(--line); border-radius: 22px;
  background: #fff; color: var(--ink); text-align: center;
  box-shadow: 0 20px 90px #171b1c40, 0 4px 16px #171b1c15;
}
.cart-confirmation[hidden] { display: none; }
.cart-confirmation-close {
  position: absolute; right: 12px; top: 12px; display: grid; place-items: center;
  width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; cursor: pointer;
}
.cart-confirmation-close:hover { background: var(--paper); }
.cart-confirmation-check {
  display: grid; place-items: center; width: 60px; height: 60px;
  border-radius: 50%; background: #e7f4ed; color: #176847; margin: 0 auto 16px;
}
.cart-confirmation h2 { font-size: 32px; line-height: 1.1; margin: 0 0 16px; }
.cart-confirmation-quantity { font-size: 20px; font-weight: 700; color: var(--blue); margin: 0 0 7px; }
.cart-confirmation-model { font-size: 14px; font-weight: 600; line-height: 1.5; margin: 0 0 8px; }
.cart-confirmation-color { font-size: 13px; color: var(--muted); margin: 0; }
.cart-confirmation-sizes { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 18px; }
.cart-confirmation-sizes span { padding: 7px 12px; border-radius: 7px; background: var(--paper); font-size: 12px; }
.cart-confirmation-bottom { display: flex; gap: 14px; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); margin-top: 22px; padding-top: 16px; }
.cart-confirmation-bottom > span:first-child { color: var(--muted); font-size: 11px; text-align: left; }
.cart-confirmation-timer { position: relative; flex: 0 0 44px; height: 44px; }
.cart-confirmation-timer svg { transform: rotate(-90deg); }
.cart-confirmation-timer circle { fill: none; stroke-width: 2.5; }
.timer-track { stroke: #e1e8f7; }
.timer-progress { stroke: var(--blue); stroke-linecap: round; stroke-dasharray: 125.664; }
.cart-confirmation-timer b { position: absolute; inset: 0; display: grid; place-items: center; font-size: 12px; color: var(--blue); }
@media (max-width: 400px) { .cart-confirmation { padding: 24px 20px; } }
