.cart-page{max-width:960px;margin:26px auto 56px}.cart-back{display:inline-block;margin-bottom:20px;color:#17665a;font-size:14px}.cart-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#edf5ee;border:1px solid #ddeadd;border-radius:28px;padding:28px 38px;overflow:hidden}.cart-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.7px;color:#57776a}.cart-hero h1{font-size:clamp(26px,3vw,36px);line-height:1.15;max-width:430px;margin:12px 0;color:#213c35}.cart-hero p{color:#5e7167;max-width:390px;margin-bottom:0}.cart-mascot{width:210px;height:210px;object-fit:contain;flex-shrink:0;animation:cart-sway 1.8s ease-in-out 1;transform-origin:50% 85%}.cart-hero:hover .cart-mascot{transform:rotate(2deg);transition:transform .5s}.cart-items{margin:24px 0;border:1px solid #e4e8df;border-radius:22px;background:#fff;overflow:hidden}.cart-item{display:grid;grid-template-columns:80px minmax(0,1fr) auto 36px;gap:20px;align-items:center;padding:20px 24px}.cart-item+.cart-item{border-top:1px solid #edf0e8}.cart-item>img{object-fit:cover;border-radius:12px;background:#faf7ed}.cart-item-copy a{font-weight:600;color:#213c35;text-decoration:none;overflow-wrap:anywhere}.cart-item-copy p{font-size:13px;color:#788176;margin:6px 0 0}.cart-item>strong{white-space:nowrap}.cart-item>button{width:36px;height:36px;padding:0;border:0;background:#f4f5ef;color:#758174;font-size:24px;border-radius:50%}.cart-item>button:hover{color:#932e26;background:#fbece7}.cart-bundle-icon{display:grid;place-items:center;width:80px;height:80px;background:#f7dfa2;border-radius:14px;color:#6d581c;font-weight:700}.cart-checkout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:48px;padding:28px;border-radius:24px;background:#fcf7ed;border:1px solid #eee4d3}.cart-promo label{font-weight:600;display:block;margin-bottom:10px}.cart-promo-controls{display:flex;gap:8px}.cart-promo-controls input{width:100%;min-width:0;border:1px solid #dadfd2;border-radius:12px;padding:12px;background:#fff}.cart-promo-controls button{background:white;border:1px solid #d8dfd2;border-radius:12px;padding:10px 16px;font-weight:600}.cart-promo p{font-size:12px;color:#66766b;line-height:1.5;margin:10px 0 0}.cart-promo #cart-promo-status{min-height:18px;color:#17665a}.cart-promo #cart-promo-status.error{color:#9a3027}.cart-summary .cart-total{display:flex;justify-content:space-between;margin:0 0 18px;font-size:18px;padding:0;border:0}.cart-total strong{font-size:26px;color:#213c35}.cart-discount{display:flex;justify-content:space-between;color:#17665a;font-size:13px;margin-bottom:10px}.cart-discount[hidden]{display:none}.cart-pay{width:100%;min-height:48px;border-radius:14px}.cart-pay:disabled{opacity:.65}.cart-payment-note{font-size:12px;line-height:1.5;color:#67776c;margin:12px 0 0}.cart-empty{text-align:center;padding:32px 15px}.cart-page>[data-demo-cart]{margin-top:20px}.cart-page button:focus-visible,.cart-page input:focus-visible,.cart-page a:focus-visible{outline:3px solid #e6b641;outline-offset:3px}@keyframes cart-sway{0%,100%{transform:rotate(0)}35%{transform:rotate(-2deg) translateY(-2px)}70%{transform:rotate(2deg)}}@media(max-width:650px){.cart-page{margin-top:18px}.cart-hero{padding:24px;gap:0}.cart-hero h1{font-size:26px}.cart-hero p{font-size:14px}.cart-mascot{width:130px;height:160px;margin-right:-20px}.cart-item{grid-template-columns:60px minmax(0,1fr) 30px;gap:12px;padding:16px}.cart-item>img,.cart-bundle-icon{width:60px;height:60px}.cart-item-copy{font-size:14px}.cart-item>strong{grid-column:2;grid-row:2;font-size:15px;margin-top:-5px}.cart-item>button{grid-column:3;grid-row:1/3;width:30px;height:30px}.cart-item-copy p{font-size:12px}.cart-checkout{grid-template-columns:1fr;gap:24px;padding:22px}.cart-summary{border-top:1px solid #e6ddcc;padding-top:22px}}@media(max-width:400px){.cart-hero{flex-direction:column;align-items:flex-start}.cart-mascot{align-self:center;width:170px;height:145px;margin:0}.cart-hero h1{max-width:300px}}@media(prefers-reduced-motion:reduce){.cart-mascot,.cart-hero:hover .cart-mascot{animation:none;transition:none;transform:none}}
body:has(.cart-page) .floating-cart{display:none}.cart-item>button{min-width:44px;min-height:44px}.cart-item{grid-template-columns:80px minmax(0,1fr) auto 44px}@media(max-width:650px){.cart-item{grid-template-columns:60px minmax(0,1fr) 44px}}
