:root{--bg:#f3f4f1;--surface:#fff;--ink:#1b211f;--muted:#68726b;--line:#dce1db;--gold:#f6bd42;--green:#176244;--red:#b3323c;--night:#0b0c12;font-family:'Barlow',sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #137ab0;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h1{font-size:2rem}h2{font-size:1.3rem}small,.muted{color:var(--muted)}.mono{font-family:'IBM Plex Mono',monospace}.demo-notice{display:flex;gap:18px;justify-content:center;align-items:center;padding:10px 20px;background:#fff0b7;color:#604509;font-size:.76rem;font-weight:700}.demo-notice span{font-weight:400}.demo-notice a{white-space:nowrap}.store-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 4%;background:var(--night);color:#f6f3e8;border-bottom:1px solid #292b34}.store-brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:700;font-size:.8rem;letter-spacing:0}.store-brand img{object-fit:contain}.store-brand small{display:block;font-size:.72rem;color:#b3b5bf;font-weight:400}.store-header nav{display:flex;align-items:center;gap:24px;font-size:.82rem}.store-header nav>a{text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:5px;font-weight:600;text-decoration:none;font-size:.86rem}.button:hover{border-color:#949e98}.button.gold{background:var(--gold);border-color:var(--gold);color:#211908}.button.green{background:var(--green);border-color:var(--green);color:#fff}.button.danger{color:var(--red)}.button.small{padding:6px 10px;min-height:32px;font-size:.78rem}.button.full{width:100%}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font-size:1.4rem;display:inline-grid;place-items:center}.announcement{text-align:center;background:#e4ece7;padding:9px 20px;color:#2c5a43;font-size:.8rem}.loading,.empty{padding:60px 24px;text-align:center;color:var(--muted)}.error-panel{max-width:640px;margin:70px auto;padding:24px}.error-panel p{color:var(--muted)}.link-row{display:flex;gap:10px;flex-wrap:wrap}.shop-intro{max-width:1320px;margin:auto;padding:42px 4% 24px;display:flex;align-items:end;justify-content:space-between;gap:30px}.shop-intro h1{font:600 3rem 'Fraunces',Georgia,serif;margin-bottom:10px}.shop-intro p{max-width:570px;color:var(--muted);margin-bottom:0}.eyebrow{color:var(--green);text-transform:uppercase;font:500 .69rem 'IBM Plex Mono',monospace;margin-bottom:12px}.shop-tools{max-width:1320px;margin:auto;padding:0 4% 24px;display:flex;gap:10px;align-items:center;justify-content:space-between}.shop-tabs{display:flex;gap:6px;flex-wrap:wrap}.shop-tabs button{border:1px solid transparent;border-radius:4px;background:none;padding:8px 12px;font-weight:600;color:var(--muted)}.shop-tabs button.active{background:#e0e9e1;color:var(--green);border-color:#c4d6c8}.search{padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:white;max-width:100%;width:240px}.product-grid{max-width:1320px;margin:auto;padding:0 4% 50px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.shop-product{border:1px solid var(--line);background:#fff;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.product-photo{position:relative;display:block;aspect-ratio:4/5;background:#0b0b13;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:contain}.product-tag{position:absolute;top:12px;left:12px;background:#fff0bd;color:#604709;border-radius:3px;padding:4px 8px;font-size:.7rem;font-weight:700}.product-content{padding:18px;display:flex;flex:1;flex-direction:column}.product-topline{display:flex;align-items:start;justify-content:space-between;gap:12px}.product-topline h2{font-size:1.2rem;margin:0}.product-content p{color:var(--muted);font-size:.87rem;margin:12px 0}.product-price{font-weight:700;white-space:nowrap}.old-price{display:block;color:var(--muted);font-size:.74rem;font-weight:400}.product-content .button{margin-top:auto}.stock-line{font-size:.75rem;margin-bottom:12px;color:var(--green)}.shop-footer{max-width:1320px;margin:auto;padding:24px 4%;display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.admin-layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 85px)}.admin-sidebar{border-right:1px solid var(--line);background:#eef0eb;padding:28px 16px}.admin-sidebar .eyebrow{padding-left:12px}.admin-sidebar button{display:flex;width:100%;text-align:left;background:transparent;border:0;border-radius:4px;padding:11px 12px;margin-bottom:3px;color:#525d55;font-size:.86rem;font-weight:600}.admin-sidebar button.active{background:#dbe7dd;color:#17482d}.admin-sidebar .side-foot{margin-top:28px;padding:14px 12px;border-top:1px solid var(--line);font-size:.76rem}.status-dot{width:7px;height:7px;background:#9b6f14;border-radius:50%;display:inline-block;margin-right:6px}.admin-main{padding:30px 34px;min-width:0;max-width:1550px;width:100%}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-head h1{font-size:1.65rem;margin-bottom:5px}.page-head p{font-size:.86rem;color:var(--muted);margin:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line);margin-bottom:30px}.metric{padding:20px 16px;border-right:1px solid var(--line)}.metric:last-child{border-right:0}.metric span{display:block;color:var(--muted);font-size:.76rem}.metric strong{display:block;font-family:'IBM Plex Mono',monospace;font-size:1.6rem;margin-top:7px;font-weight:500}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:5px;background:#fff}table{width:100%;border-collapse:collapse;font-size:.84rem}th{text-align:left;font-size:.7rem;text-transform:uppercase;color:var(--muted);background:#f7f8f5;padding:12px 14px;font-weight:600;white-space:nowrap}td{padding:14px;border-top:1px solid var(--line);vertical-align:middle}td small{display:block}.table-product{display:flex;align-items:center;gap:12px;min-width:180px}.table-product img{width:44px;height:52px;object-fit:contain;background:#0c0c15;border-radius:3px}.table-product strong{display:block}.badge{display:inline-block;border-radius:3px;padding:3px 7px;font-size:.7rem;font-weight:600;background:#e3e9e4;color:#34523b;white-space:nowrap}.badge.warn{background:#fbefce;color:#805c10}.badge.neutral{background:#edf0ed;color:#616a63}.section-title{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:28px 0 16px}.section-title h2{margin:0;font-size:1.05rem}.section-title a{font-size:.8rem;color:var(--green)}.setup-list{border-block:1px solid var(--line);margin-top:18px}.setup-row{display:flex;justify-content:space-between;gap:20px;padding:17px 4px;border-bottom:1px solid var(--line)}.setup-row:last-child{border-bottom:0}.setup-row p{font-size:.83rem;color:var(--muted);margin:4px 0 0}.form-panel{max-width:740px}.field{display:block;margin-bottom:17px;font-size:.83rem;font-weight:600}.field input,.field textarea,.field select{display:block;width:100%;padding:10px 12px;margin-top:6px;border:1px solid #cdd5ce;border-radius:4px;background:#fff;color:var(--ink);font-weight:400;min-width:0}.field textarea{min-height:85px;resize:vertical}.field small{display:block;font-weight:400;margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.check-field{display:flex;gap:9px;align-items:center;font-size:.84rem;margin:12px 0}.check-field input{accent-color:var(--green)}.info-banner{padding:13px 16px;background:#e7eee8;border-left:3px solid #568f6b;margin-bottom:22px;font-size:.84rem}.info-banner.warning{background:#fff4da;border-left-color:#b47f16}.login{max-width:380px;margin:60px auto;padding:20px}.editor-dialog{width:min(660px,calc(100% - 30px));max-height:90vh;padding:26px;border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 80px #0004;color:var(--ink)}dialog::backdrop{background:#07100bb3}.dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.dialog-head h2{margin:0;font-size:1.4rem}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:20px}.editor-dialog .address{font-size:.86rem;background:#f4f6f1;padding:16px;line-height:1.65}.editor-dialog .order-items{margin:20px 0}.bag-dialog{position:fixed;inset:0 0 0 auto;margin:0;height:100%;max-height:100%;width:min(470px,100%);padding:24px;border:0;border-left:1px solid var(--line);color:var(--ink)}.bag-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.bag-line img{width:64px;height:80px;object-fit:contain;background:#111}.bag-line h3{font-size:.92rem;margin:0 0 7px}.bag-line p{font-size:.78rem;margin-bottom:8px;color:var(--muted);overflow-wrap:anywhere}.quantity{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:4px;overflow:hidden}.quantity button{width:30px;height:30px;border:0;background:#f2f4ef}.quantity span{min-width:32px;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:.8rem}.remove-line{border:0;background:none;color:var(--red);font-size:.74rem;display:block;padding:8px 0}.summary{padding:20px 0}.summary div{display:flex;justify-content:space-between;margin:8px 0;font-size:.86rem}.summary .total{padding-top:14px;border-top:1px solid var(--line);font-size:1.1rem;font-weight:700}.coupon-row{display:flex;gap:8px;margin-top:20px}.coupon-row input{min-width:0;flex:1;padding:10px;border:1px solid var(--line);border-radius:4px}.bag-note{color:var(--muted);font-size:.78rem;line-height:1.6;margin:14px 0}.error{color:var(--red);font-size:.84rem;margin-top:12px}.notice-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:40;padding:12px 20px;background:#183d2c;color:#fff;border-radius:5px;box-shadow:0 4px 20px #0003;font-size:.85rem;max-width:calc(100% - 32px)}#printArea{font-family:'Barlow',sans-serif;color:#111;background:white}#printArea header{border-bottom:2px solid #111;margin-bottom:24px}#printArea table{margin:24px 0}#printArea p{font-size:.9rem}#printArea th,#printArea td{padding:12px 0}#printArea>p:last-child{margin-top:36px;font-size:.75rem}.slip-preview{padding:16px;border:1px solid var(--line);max-height:55vh;overflow:auto}.slip-preview h1{font-size:1.4rem}.slip-preview table{margin:20px 0}.slip-preview p{font-size:.85rem}
.color-options{border:0;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:10px}
.color-options legend{font-size:.85rem;font-weight:600;margin-bottom:10px}
.color-choice{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;cursor:pointer;font-size:.86rem}
.color-choice:has(input:checked){border-color:var(--green);background:#e7f0e9;box-shadow:inset 0 0 0 1px var(--green)}
.color-choice input{accent-color:var(--green);margin:0}
.color-dot{width:18px;height:18px;border:1px solid #90978f;border-radius:50%;flex:none}
@media(max-width:1050px){.store-header nav{gap:14px}.admin-layout{grid-template-columns:175px minmax(0,1fr)}.admin-main{padding:24px 20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{border-bottom:1px solid var(--line)}}
@media(max-width:680px){.store-header{padding:12px 16px}.store-header nav{gap:10px}.store-header nav>a:not(#adminLink){display:none}.store-header nav a{font-size:.73rem}.store-brand{font-size:.65rem}.store-brand img{width:32px;height:32px}.store-header .button{padding:8px 10px;min-height:36px}.demo-notice{flex-wrap:wrap;gap:4px 12px;text-align:center;padding:8px 12px}.demo-notice span{flex-basis:100%;font-size:.7rem}.shop-intro{padding:30px 18px 22px;display:block}.shop-intro h1{font-size:2.25rem}.shop-intro .badge{margin-top:15px}.shop-tools{padding-inline:18px;flex-direction:column;align-items:stretch}.shop-tools .search{width:100%}.product-grid{padding-inline:18px;gap:14px}.product-content{padding:12px}.product-topline{flex-direction:column;gap:7px}.product-topline h2{font-size:1rem}.product-content p{font-size:.8rem}.product-content .button{font-size:.76rem;padding:8px}.product-tag{top:8px;left:8px;font-size:.6rem}.product-price{font-size:.9rem}.shop-footer{flex-direction:column;gap:10px}.admin-layout{display:block}.admin-sidebar{padding:12px;border-right:0;border-bottom:1px solid var(--line)}.admin-sidebar .eyebrow,.admin-sidebar .side-foot{display:none}.admin-sidebar nav{display:flex;overflow:auto;gap:4px}.admin-sidebar button{white-space:nowrap;width:auto;margin:0;padding:8px 12px;font-size:.78rem}.admin-main{padding:22px 16px}.page-head{align-items:start;gap:12px}.page-head h1{font-size:1.45rem}.page-head .button{padding:8px 10px;font-size:.75rem}.metrics{margin-bottom:20px}.metric{padding:14px 10px}.metric strong{font-size:1.3rem}.form-grid{grid-template-columns:1fr}.editor-dialog{padding:20px}.toolbar .search{width:100%}.toolbar{align-items:stretch}.setup-row{align-items:start}.setup-row .button{font-size:.75rem;white-space:nowrap}.bag-dialog{padding:20px}.product-photo{aspect-ratio:4/5}}
@media print{@page{margin:18mm}body>*{display:none!important}body>#printArea{display:block!important}#printArea{position:static;width:100%}#printArea table{width:100%}#printArea tr{break-inside:avoid}#printArea p{line-height:1.5}}/* Order success page */
.success-page{padding:48px 16px 70px}
.success-card{max-width:620px;margin:0 auto;padding:32px 28px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-align:center;box-shadow:0 14px 40px rgba(11,12,18,.07)}
.success-icon{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:2rem;font-weight:700;box-shadow:0 0 0 6px rgba(23,98,68,.12)}
.success-card .eyebrow{padding-left:0}
.success-card h1{margin:0 0 18px;font-size:clamp(1.7rem,4vw,2.3rem);line-height:1.15}
.success-lead{margin:0;color:var(--muted)}
.success-number{display:inline-block;margin:6px 0 8px;padding:10px 20px;border-radius:8px;background:var(--night);color:var(--gold);font:700 1.5rem 'IBM Plex Mono',monospace;letter-spacing:.06em}
.success-ref{margin:0 0 20px;font-size:.78rem;color:var(--muted);word-break:break-all}
.success-status{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 20px;padding:12px 16px;border-radius:8px;font-weight:600;font-size:.92rem}
.success-status.pending{background:#fff7e3;color:#7a5a00}
.success-status.paid{background:#e7eee8;color:var(--green)}
.success-status.failed{background:#fbe9ea;color:var(--red)}
.success-dot{width:10px;height:10px;border-radius:50%;background:currentColor;flex:none}
.success-status.pending .success-dot{animation:success-pulse 1.2s ease-in-out infinite}
@keyframes success-pulse{50%{opacity:.25}}
.success-summary,.success-next{text-align:left;margin:0 0 22px;padding:18px 20px;border:1px solid var(--line);border-radius:10px}
.success-summary h2,.success-next h2{margin:0 0 12px;font-size:1.05rem}
.success-line{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:.92rem}
.success-line small{display:block;color:var(--muted);font-size:.78rem}
.success-line.total{margin-top:6px;padding-top:10px;border-top:1px solid var(--line);font-weight:700;font-size:1rem}
.success-next ol{margin:0 0 12px;padding-left:20px}
.success-next li{margin-bottom:6px}
.success-card .link-row{justify-content:center}
.success-vet{margin:22px 0 0;font-size:.8rem;color:var(--muted)}
@media (max-width:520px){.success-card{padding:24px 18px}.success-number{font-size:1.2rem}}
/* USPS label rate picker */
.rate-list{display:grid;gap:8px;margin:12px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:10px}
.rate-list .button{justify-self:start;margin-top:6px}
/* Original-design notice above the shop footer */
.design-notice{max-width:720px;margin:28px auto 0;padding:0 16px;text-align:center;font-size:.8rem;color:var(--muted)}
