/* Original reference images used as CSS sprites; the supplied artwork is unmodified. */
.grid .card{position:relative;overflow:visible;transform-origin:50% 0;backface-visibility:hidden;margin-top:20px;box-shadow:1px 8px 0 #38698628,0 10px 18px #245b7620}
.grid .card::before{content:"";position:absolute;z-index:2;width:36px;height:36px;left:calc(50% - 18px);top:-18px;border-radius:50%;background:url('assets/stationery-reference.jpg') -282px -248px / 331.2px 440.1px no-repeat;box-shadow:0 3px 3px #17395155;pointer-events:none}
header .folder-cart,header .folder-cart:hover,header .folder-cart:active{left:auto;right:max(14px,env(safe-area-inset-right));bottom:calc(26px + env(safe-area-inset-bottom));top:auto;width:98px;height:100px;min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none;color:#134559;filter:drop-shadow(0 4px 3px #24577933)}
header .folder-cart:hover{transform:translateY(-3px) rotate(-3deg)}
.folder-cart .folder-art{display:block;position:absolute;top:0;left:0;width:98px;height:82px;border-radius:0;margin:0;background:url('assets/folder-reference.jpg') -117.3px -9.8px / 431.64px 521.64px no-repeat;clip-path:polygon(3% 0,52% 0,58% 5%,64% 16%,95% 16%,100% 21%,100% 96%,97% 100%,3% 100%,0 95%,0 7%)}
.folder-cart #cartCount{position:absolute;top:-7px;right:-2px;min-width:25px;width:auto;height:25px;padding:0 6px;border:2px solid white;background:#216887;color:white;font-size:12px;margin:0;box-shadow:0 2px 4px #24577933}
.folder-cart .folder-label{position:absolute;bottom:0;left:14px;width:70px;height:24px;margin:0;border-radius:12px;background:#f8feffec;font-size:12px;font-weight:800}
header .admin-link{margin-right:0}
header .folder-cart.cart-bounce{animation:folder-pop .45s ease}
@keyframes folder-pop{0%,100%{transform:rotate(0) scale(1)}40%{transform:rotate(-8deg) scale(1.12)}70%{transform:rotate(5deg) scale(1.04)}}
dialog.receipt{width:min(440px,calc(100% - 30px));border:0;border-radius:2px;padding:32px 26px 24px;color:#304b56;background:#fffef8;box-shadow:0 12px 55px #123b6655;font-family:ui-monospace,"SFMono-Regular","PingFang SC",monospace;max-height:88dvh}
.receipt::before{content:"";display:block;height:8px;position:absolute;left:0;right:0;top:0;background:repeating-linear-gradient(135deg,#bedbe3 0 5px,transparent 5px 10px)}
.receipt .dialog-head{justify-content:center;position:relative;text-align:center;margin:0 0 20px;padding:8px 22px 0}
.receipt .dialog-head .close{position:absolute;right:-14px;top:-16px;width:32px;height:32px;border:0;background:transparent;color:#527280}
.receipt .dialog-head h2{font-size:25px;letter-spacing:2px;margin:12px 0 6px}.receipt .eyebrow{font-size:10px;letter-spacing:1.4px;color:#54717b}
.receipt-subtitle{font-size:13px;margin:0;color:#6d8289;letter-spacing:2px}
.receipt-rule{display:flex;justify-content:space-between;border-top:2px dashed #a6b7b9;border-bottom:1px dashed #b8c4c4;padding:12px 0;font-size:12px;letter-spacing:1px}
.receipt .cart-row{align-items:flex-start;gap:10px;padding:17px 0;border-color:#b8c4c4;position:relative}
.receipt .cart-row img{width:46px;height:54px;border-radius:3px;object-fit:cover;filter:saturate(.65)}
.receipt .cart-row h3{font-size:14px;line-height:1.6;font-weight:600;margin:0 0 5px}.receipt .cart-row p{font-size:12px;color:#6a8187}
.receipt .cart-row .remove{font-size:12px;padding:4px 0;color:#667d83;align-self:flex-end}
.receipt-quantity{font-size:14px;min-width:20px;text-align:center;padding-top:3px}
.receipt-total{display:flex;justify-content:space-between;font-size:16px;border-bottom:2px dashed #a6b7b9;padding:18px 0}
.receipt .cart-bottom p{font-size:12px;line-height:1.8;color:#708184;margin:18px 0}
.receipt .primary{font:700 16px system-ui;color:#164d60;background:#b4e1e8;border-color:#73b6c7;border-radius:4px;box-shadow:0 3px 0 #86aeb7;padding:12px}
.receipt-end{text-align:center;margin:25px 0 5px;font-size:16px;letter-spacing:3px;color:#55737b}.receipt-end span{display:block;margin-top:8px;font-size:12px;letter-spacing:1px}
@media(max-width:650px){header .folder-cart{width:79px;height:85px;right:12px;bottom:calc(18px + env(safe-area-inset-bottom))}.folder-cart .folder-art{transform:scale(.8);transform-origin:top left}.folder-cart .folder-label{left:7px;width:66px;font-size:11px;bottom:0}.grid .card{margin-top:19px}.receipt .cart-row{gap:8px}.receipt .cart-row img{width:38px;height:46px}dialog.receipt{padding:28px 20px 20px}.receipt .dialog-head h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.grid .card{rotate:0deg!important;transform:none!important}header .folder-cart{animation:none!important}}
/* Generated raster paper supplies the texture and torn outline, not CSS shapes. */
.grid .card{border:0;border-radius:0;padding:22px 18px 27px;background:transparent url('assets/handmade-paper.png') center / 100% 100% no-repeat;box-shadow:none;filter:drop-shadow(1px 5px 3px #34566924)}
.grid .card::before{top:-12px}
.grid .card .photo-button{border:5px solid #fffdfa;border-radius:3px;box-shadow:0 2px 4px #51463126;background:#fffdfa}
.grid .card .card-info{padding:15px 5px 2px}
.grid .card h3{color:#284b60}
.grid .card .meta-tags span{background:#edf6f4b8;border-color:#adc7c9;color:#54727b}
.grid .card .add{border-radius:6px;box-shadow:0 2px 0 #6fa5b2;background:#bbe0e6;border-color:#80b4c0}
.grid .card .add.selected{background:#f6d6df;border-color:#ce9dad;box-shadow:0 2px 0 #c78da1}
@media(max-width:650px){.grid .card{padding:19px 12px 23px}.grid .card .photo-button{border-width:4px}.grid .card .card-info{padding:11px 3px 0}}
