@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;700&display=swap');
:root{--green:#435635;--cream:#fff;--lime:#eef1e9;--muted:#60695b;--sage:#848f7b;--copper:#9a4a09}body{font-family:Inter,Arial,sans-serif;background:#f8f9f6;color:#222;padding-bottom:100px}button,input,select{font-family:Inter,Arial,sans-serif}button{touch-action:manipulation}h1,h2,.eyebrow{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400}h1,h2{color:var(--green)}.market-header{height:78px;max-width:none;padding:0 max(22px,calc((100vw - 1080px)/2));background:white;border-bottom:1px solid #e3e7dd;position:sticky;top:0;z-index:3;gap:14px}.brand{letter-spacing:normal}.brand img{display:block;object-fit:contain;width:138px;height:58px}.market-wordmark{font-size:10px;letter-spacing:2px;color:var(--sage);margin-right:auto;padding-left:18px;border-left:1px solid #dde3d7}.cart-toggle{border:1px solid #dce2d6;border-radius:8px;gap:9px;padding:9px 11px;color:var(--green);min-height:44px;font-size:12px;font-weight:600}.cart-toggle span#bag-count{height:22px;width:22px;font-size:10px}.cart-toggle .cart-label{background:none;width:auto;height:auto;color:var(--green)}.market-main{max-width:1080px;padding:0 22px}.location-bar{padding:17px 0 15px;border-bottom:1px solid #e3e7dd;gap:7px;letter-spacing:0;color:var(--green);font-size:12px;font-weight:500}.demo-badge{font-size:8px;letter-spacing:1px;color:#776249;background:#f4eee7;border:1px solid #e9dfd2;border-radius:3px;padding:5px 6px;margin-left:auto;width:auto}.checkout-intro{padding:23px 0 18px}.checkout-intro h1{font-size:52px;line-height:1;margin:0 0 9px;letter-spacing:.2px}.checkout-intro p{font-size:13px;line-height:1.65;color:#62685e;margin:0;max-width:560px}#shop{padding-top:0}.scan-button{display:flex;align-items:center;justify-content:flex-start;gap:13px;width:100%;border:0;border-radius:8px;background:var(--green);color:white;min-height:52px;padding:13px 17px;font-size:14px;font-weight:600;margin:0 0 13px}.scan-button>span:last-child{margin-left:auto;font-size:20px}.search{height:45px;border-color:#dce2d6;border-radius:7px;background:white;padding:0 13px;gap:9px;color:#7c8674;margin-bottom:17px}.search input{font-size:13px;width:100%;height:100%;min-width:0;outline-offset:0;color:#222}.search input::placeholder{color:#858b80}#categories{gap:7px;scrollbar-width:none;overflow:auto;padding:0 0 3px;margin-bottom:16px}#categories button{font-size:12px;font-weight:500;border:1px solid #dce2d6;border-radius:6px;background:white;padding:10px 19px;min-height:40px;color:#58614f}#categories button.active{color:white;background:var(--green)}.results-line{font-size:10px;color:#777f6f;margin-bottom:12px}.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.product{background:white;border:1px solid #e1e5db;border-radius:10px;overflow:hidden;min-width:0}.product-visual{height:158px;background:white;border-radius:0;position:relative;padding:15px 20px 7px}.product-image{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:multiply}.product:hover .product-image{transform:none}.product-info{padding:10px 14px 14px}.product h3{font-family:Inter,Arial,sans-serif;font-weight:500;color:#222;font-size:13px;line-height:1.45;margin:0;min-height:38px;letter-spacing:0}.product .product-size{font-size:11px;color:#7b8373;margin:5px 0 12px;line-height:1.2}.product-bottom{align-items:center;gap:8px}.product-bottom b{font-size:15px;font-weight:600;color:#222;white-space:nowrap}.product-bottom .add{position:static;width:auto;height:34px;min-width:64px;border-radius:6px;background:#edf1e8;color:var(--green);border:1px solid #dae2d0;box-shadow:none;font-size:12px;font-weight:600;white-space:nowrap;padding:0 10px}.product-bottom .add:active{background:var(--green);color:white}.sold-out .product-image{opacity:.45}.stock-badge{position:absolute;top:8px;left:8px;background:#f3f1ed;border-radius:3px;font-size:9px;padding:4px 7px;color:#77746e}.empty-search{grid-column:1/-1;padding:40px 15px;text-align:center;color:#66735c;font-size:13px}.empty-search h3{font-size:15px}.market-footer{padding:28px 0 12px;display:flex;border-top:1px solid #e0e5d8;margin-top:28px;align-items:center;gap:12px}.market-footer>span{display:block;font-family:'Bebas Neue',sans-serif;font-size:19px;color:var(--green);letter-spacing:.5px}.market-footer small{font-size:9px;color:#7c8374;text-align:right}.bottom-cart{position:fixed;z-index:3;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:530px;height:60px;display:flex;align-items:center;gap:12px;border:1px solid #526845;border-radius:10px;padding:0 17px;background:var(--green);color:white;box-shadow:0 5px 24px #26371c33;font-size:14px;font-weight:500}.bottom-count{background:#ffffff20;border:1px solid #ffffff30;border-radius:6px;height:30px;min-width:30px;display:grid;place-items:center;font-size:12px}.bottom-cart strong{margin-left:auto;font-size:16px;font-weight:600}.bottom-cart>span:last-child{font-size:21px}.drawer{color:#222}.drawer h2{font-size:34px;margin:8px 0 12px;letter-spacing:.3px}.eyebrow{color:var(--sage);font-size:12px;letter-spacing:1.5px}.primary{background:var(--green);border-radius:6px;min-height:44px;font-family:Inter,sans-serif}.close{color:var(--green)}.cart-photo{width:55px;height:64px;flex-shrink:0}.cart-detail h3{font-family:Inter,sans-serif;font-size:13px}.cart-line>b{font-size:14px}.cart-detail p{color:#75806a}.cart-detail .quantity{gap:13px}.quantity button{width:32px;height:32px;border-color:#d3ddc8;color:var(--green)}.summary-line strong{color:var(--green)}#cart-location{font-size:12px;color:#68765e}.demo-note{font-size:11px}.checkout-top .brand img{width:140px;height:55px}.checkout-top .brand{font-size:initial}.order-art{background:white;border:1px solid #e1e7d8;overflow:hidden;padding:5px}.order-panel h1{font-family:'Bebas Neue',sans-serif;font-size:45px;letter-spacing:0}.order-row strong{font-family:Inter,sans-serif}.payment-panel h2{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:0}.checkout-top,.checkout-privacy{border-color:#dce3d4}.checkout-success h1{font-family:'Bebas Neue',sans-serif;letter-spacing:0}.preview-chip{color:#57694a}.order-total{font-size:18px}.payment-panel{border-radius:10px}#scanner .scanner-header h2{font-family:'Bebas Neue',sans-serif;font-size:33px;letter-spacing:.4px}#scanner .scanner-header .eyebrow{font-family:Inter,sans-serif;font-size:8px}.scanner-stage{background:#24331c}.scanner-target i{border-color:#c8d5bc}.scanner-laser{background:#c8d5bc}.scanner-idle{color:#c8d5bc}#scanner .scanner-intro{color:#69755f}.scanner-privacy{color:#7b8671}#scanner{border-radius:14px}#toast{background:var(--green);font-size:12px;bottom:90px;max-width:calc(100vw - 30px);white-space:normal;text-align:center}button:focus-visible,a:focus-visible{outline-color:var(--copper)}
@media(min-width:800px){#shop{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.scan-button{grid-column:2;grid-row:1}.search{grid-column:1;grid-row:1;height:52px;margin-bottom:13px}#categories,.results-line,.products{grid-column:1/-1}.checkout-intro{padding:26px 0 23px}.checkout-intro h1{font-size:60px}.product-visual{height:180px}}
@media(max-width:600px){body{padding-bottom:95px}.market-header{height:72px;padding:0 18px;gap:8px}.brand img{width:122px;height:54px}.market-wordmark{display:none}.cart-toggle{margin-left:auto;gap:7px}.market-main{padding:0 18px}.location-bar{padding:13px 0;font-size:11px;flex-wrap:nowrap}.demo-badge{font-size:7px;padding:4px 5px;margin:0 0 0 auto;width:auto}.checkout-intro{padding:21px 0 17px}.checkout-intro h1{font-size:46px;letter-spacing:.2px}.checkout-intro p{font-size:12px;line-height:1.65;max-width:350px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-visual{height:133px;padding:12px 15px 3px}.product-info{padding:9px 11px 12px}.product h3{font-size:12px;min-height:35px}.product .product-size{font-size:10px;margin:4px 0 11px}.product-bottom b{font-size:14px}.product-bottom .add{min-width:59px;font-size:11px;height:33px;padding:0 8px}#categories{gap:6px;margin-bottom:13px}#categories button{padding:9px 14px;font-size:11px;min-height:37px;flex:1}.results-line{font-size:9px}.scan-button{font-size:13px;min-height:50px}.market-footer{padding-top:20px;margin-top:22px}.market-footer small{max-width:175px;line-height:1.5}.drawer{padding:24px}.checkout-shell{padding:18px}.order-panel h1{font-size:37px}.checkout-layout{gap:20px}.bottom-cart{height:58px;font-size:13px}.bottom-cart strong{font-size:15px}}
@media(max-width:350px){.market-main{padding:0 12px}.product-info{padding:8px}.product-bottom .add{min-width:53px;padding:0 6px}#categories button{padding:8px 11px}.checkout-intro h1{font-size:42px}}
.product-visual{display:block}.product-visual .product-image{height:100%;max-height:100%;min-height:0;width:100%;max-width:100%}.product-info{position:relative;background:white}.cart-photo .product-image,.order-art .product-image{max-height:100%;max-width:100%;min-height:0}
.checkout-intro h1>span{color:var(--copper)}

#venmo-wallet{margin-top:10px;min-height:44px} #venmo-wallet:empty{display:none}

/* Payment providers append secure authentication overlays to the document body. */
#checkout-page[open]{position:fixed;inset:0;z-index:2000;background:#fff}

#scanner-cart{width:100%;margin-top:12px}#scan-result:empty{display:none}#scan-result p{font-size:13px;line-height:1.5;color:var(--green)}.scanner-secondary{min-height:44px;border:1px solid #cbd5c3;border-radius:6px;padding:10px 14px;background:#eef1e9;color:var(--green);font-size:12px}#scanner{max-height:calc(100dvh - 24px);overflow:auto}#scanner .scanner-intro{font-size:13px}

.market-return{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:white;padding:12px 20px}.market-error{max-width:480px;margin:12vh auto;padding:24px;line-height:1.6}.market-error h1{font-size:38px}.market-error p{color:#62685e}

.market-footer{gap:12px;flex-wrap:wrap}.market-footer .admin-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid #ccd3c5;border-radius:8px;color:var(--green);background:#fff;font-size:12px;font-weight:600;text-decoration:none}.market-footer .admin-link:hover{background:#eef1e9}@media(max-width:600px){.market-footer small{text-align:left;margin-right:auto}.market-footer .admin-link{flex-shrink:0}}

/* Keep the dock attached to the viewport without a transformed fixed button. */
.cart-dock{position:fixed;inset:auto 0 0;z-index:3;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,#f8f9f6 35%);pointer-events:none}.cart-dock .bottom-cart{position:static;transform:none;width:100%;margin:0 auto;pointer-events:auto}.scan-button{font-size:19px;font-weight:700;min-height:66px;padding:18px 20px}.scan-button svg{width:30px;height:30px}.brand:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:5px}#checkout-page .brand:focus:not(:focus-visible){outline:none}@media(max-width:600px){.search input,#scanner input{font-size:16px}.scan-button{font-size:19px;min-height:66px}.location-bar{white-space:normal;gap:6px}#location-name{font-size:12px;line-height:1.4}body{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}}

/* App shell: scrolling belongs to the catalog, never to the cart dock. */
html{height:100%;overflow:hidden}body{height:100%;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}.market-header{position:relative;top:auto;flex:0 0 auto;width:100%;margin:0}.market-main{flex:1 1 0;min-height:0;width:100%;overflow-y:auto;overflow-x:hidden;margin:0 auto;padding-bottom:24px;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.cart-dock{position:relative;inset:auto;flex:0 0 auto;width:100%;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#f8f9f6;border-top:1px solid #dce2d6;pointer-events:auto}.cart-dock .bottom-cart{position:relative;inset:auto;transform:none;margin:0 auto}.market-header,.cart-dock{isolation:isolate}@media(max-width:600px){body{padding-bottom:0}}

/* Receipt: keep the purchase acknowledgement clear and follow-up details quiet. */
.checkout-success{display:flex;flex-direction:column;min-height:calc(100dvh - 80px);box-sizing:border-box;margin:0 auto;padding:clamp(30px,8vh,78px) 22px 20px;max-width:560px;text-align:center}
.success-main{margin:auto 0}.checkout-success h1{font-size:clamp(34px,8.5vw,48px);line-height:1.08;letter-spacing:.1px;margin:22px 0 18px;outline:none}.checkout-success .checkout-location{font-size:15px;line-height:1.65;max-width:330px;margin:0 auto 23px;color:var(--muted)}
.checkout-success .market-return{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 25px;max-width:100%;box-sizing:border-box}.checkout-success .market-return:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.checkout-success .success-purpose{font-size:12px;line-height:1.7;max-width:280px;margin:24px auto 0}.success-purpose a{color:var(--green);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#b6c2a9}.checkout-success .success-support{font-size:11px;line-height:1.9;color:var(--muted);border-top:1px solid #e3e7dd;padding-top:18px;margin:48px 0 0}.success-support a{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.checkout-success{margin:0 auto;min-height:calc(100dvh - 60px);padding:28px 20px 20px}.checkout-success .success-check{width:64px;height:64px;margin-bottom:25px}.checkout-success .success-support{margin-top:36px}.checkout-success h1{max-width:330px;margin-left:auto;margin-right:auto}}
