/* Shopping controls extend Zona Shop's existing ivory, serif and ink palette. */
[hidden]{display:none!important}
button,select,input,textarea{font:inherit}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #826537;outline-offset:4px}
.product-card{padding:22px;min-width:0}
.product-card small{font-size:11px;line-height:1.5;letter-spacing:.07em}
.product-card h3{font-size:25px;line-height:1.14;margin:9px 0 17px;overflow-wrap:anywhere}
.product-initial.has-image{height:220px;flex-shrink:0;padding:14px;margin-bottom:20px;background:#fff;overflow:hidden}
.product-initial.has-image img{width:100%;height:100%;object-fit:contain;object-position:center}
.photo-unavailable{font:400 13px/1.5 var(--sans);color:var(--muted);text-align:center;max-width:140px}
.product-purchase{margin-top:auto;padding-top:10px}
.presentation-label{display:block;font-size:12px;margin-bottom:5px;color:var(--muted)}
.presentation,.presentation-single{font-size:13px!important;min-height:38px;color:var(--black)!important;line-height:1.5;margin:0!important}
.presentation{width:100%;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:0}
.presentation-single{display:flex;align-items:center}
.price-block{display:flex;flex-direction:column;gap:5px;margin:17px 0}
.product-price{font-family:var(--sans);font-size:20px;letter-spacing:-.035em;font-weight:600}
.price-block>span{font-size:11px;color:var(--muted);line-height:1.4}
.product-actions{display:grid;gap:8px}
.add-cart,.buy-now{width:100%;padding:12px 8px;min-height:43px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s,color .2s}
.add-cart{background:var(--black);color:#fff;border:1px solid var(--black)}
.add-cart:hover{background:#493f32}
.buy-now{background:#fff;color:var(--black);border:1px solid var(--line)}
.buy-now:hover{background:var(--ivory)}
.buy-now>span{padding-left:5px}
.image-note{font-size:12px;line-height:1.5;padding:0;margin:-5px 0 15px}
.catalog-toolbar{gap:18px;flex-wrap:wrap;font-size:13px;margin-bottom:12px}
.catalog-price-info{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 26px;max-width:700px}
.sort-label{margin-left:auto;display:flex;gap:8px;align-items:center;color:var(--black)}
.sort-label select{font-size:13px;padding:8px;background:transparent;border:1px solid var(--line)}
.bag{width:min(500px,100%);height:100dvh;padding:28px}
.bag-head{flex-shrink:0}
.bag-items{min-height:0;overscroll-behavior:contain}
.bag-row{grid-template-columns:64px minmax(0,1fr) 28px;gap:15px;align-items:start;padding:22px 0}
.bag-photo{height:85px;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px}
.bag-photo img{width:100%;height:100%;object-fit:contain}
.bag-photo .photo-unavailable{font-size:9px}
.bag-row h4{font-size:22px;line-height:1.2}
.bag-row small,.bag-row p{font-size:11px;line-height:1.5;margin:5px 0;color:var(--muted)}
.bag-row strong{display:block;font-size:14px;margin:9px 0}
.remove{font-size:23px;min-height:36px}
.quantity{display:inline-flex;align-items:center;border:1px solid var(--line);font-size:14px}
.quantity button{border:0;background:transparent;width:34px;height:34px;cursor:pointer;font-size:18px}
.quantity button:disabled{opacity:.3;cursor:default}
.quantity span{min-width:30px;text-align:center}
.bag-foot{flex-shrink:0;background:var(--paper)}
.bag-foot p{font-size:12px;margin:12px 0 16px}
.subtotal-line{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-size:14px}
.subtotal-line strong{font-size:20px;text-align:right;line-height:1.3}
.primary{font-size:12px;min-height:48px;cursor:pointer;line-height:1.5}
.primary:disabled{opacity:.4;cursor:default}
.checkout-caption{display:block;text-align:center;font-size:11px;color:var(--muted);margin-top:12px}
.order-dialog{border:1px solid var(--line);background:var(--paper);color:var(--black);width:min(640px,calc(100vw - 28px));max-height:90dvh;padding:30px;box-sizing:border-box}
.order-dialog::backdrop{background:#17141099}
.order-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}
.order-heading h2{font:500 40px/1.1 var(--serif);margin:10px 0 22px}
.order-heading button{border:0;background:none;font-size:32px;cursor:pointer;line-height:1}
.order-lines{padding:0;list-style:none;margin:0 0 20px;max-height:240px;overflow:auto;border-top:1px solid var(--line)}
.order-lines li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}
.order-lines li>div{min-width:0}
.order-lines strong{font-size:15px;font-weight:600}
.order-lines span{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:5px}
.order-lines b{text-align:right;flex-shrink:0;font-size:13px;align-self:center}
.order-note{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0 22px}
.order-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.order-fields label{font-size:13px;display:flex;flex-direction:column;gap:8px}
.order-fields input,.order-fields select,.order-fields textarea{width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:0;padding:12px;color:var(--black);font-size:16px;min-height:44px}
.order-fields label>span{color:var(--muted)}
.shipping-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;grid-column:1/-1}
.full-width{grid-column:1/-1}
.order-fields textarea{resize:vertical}
#orderStatus{font-size:13px;line-height:1.6;color:#315440;background:#e8eee5;padding:12px;margin-bottom:0}
.toast{font-size:13px;text-align:center;max-width:calc(100vw - 40px);width:max-content}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card{padding:14px}.product-card h3{font-size:23px}.product-initial.has-image{height:185px;padding:10px}.product-price{font-size:18px}.catalog-toolbar{gap:12px}.sort-label{margin-left:0}.product-actions button{font-size:11px}.bag{padding:22px 18px}}
@media(max-width:380px){.product-grid{gap:8px}.product-card{padding:10px}.product-initial.has-image{height:160px}.product-card h3{font-size:21px}.product-price{font-size:16px}.product-actions button{font-size:11px;padding:11px 4px}}
@media(max-width:520px){.order-dialog{padding:22px 18px}.order-fields,.shipping-fields{grid-template-columns:1fr}.order-heading h2{font-size:34px}.subtotal-line strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.menu-toggle{border:0;background:none;width:46px;height:46px;display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer;justify-self:center}
.menu-toggle span{width:24px;height:1.5px;background:var(--black)}
.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.supplies-card{background:#c9c2b5}.supplies-card:hover{background:#beb5a6}.supplies-card .ornament{font-size:300px;color:#ffffff42}
.global-search{max-width:760px;margin:0 auto 45px}.global-search>label{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:9px;color:var(--muted)}.global-search>div{display:grid;grid-template-columns:1fr auto;border:1px solid var(--line);background:#fff}.global-search input{min-width:0;border:0;background:transparent;padding:16px 18px;font:15px var(--sans);outline:none}.global-search button{border:0;background:var(--black);color:#fff;padding:0 25px;font:600 11px var(--sans);cursor:pointer}.global-search button span{margin-left:8px}
.site-menu{position:fixed;z-index:40;top:0;left:0;width:min(360px,88vw);height:100dvh;background:var(--paper);border-right:1px solid var(--line);padding:28px;transform:translateX(-102%);transition:transform .3s;display:flex;flex-direction:column;box-shadow:20px 0 45px #0002}
.site-menu.open{transform:translateX(0)}
.site-menu-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}
.site-menu-head strong{font:500 30px var(--serif)}
.site-menu-head button{border:0;background:none;font-size:32px;cursor:pointer}
.site-menu>button{border:0;border-bottom:1px solid var(--line);background:none;text-align:left;padding:18px 2px;font:500 22px var(--serif);cursor:pointer}
.admin-entry{margin-top:auto;display:block;width:max-content;color:var(--black);font-size:14px;text-decoration:none;border-bottom:1px solid;padding:10px 3px}
.supplies-view{padding:52px 5vw 110px}
.supplies-heading{display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:40px;margin:35px 0 70px}
.supplies-heading h2{font:500 clamp(50px,6vw,82px)/.92 var(--serif);margin:14px 0 0;letter-spacing:-.035em}
.supplies-heading p{color:var(--muted);line-height:1.8;margin:0}
.supply-group{margin-top:64px}.supply-group>h3{font:500 38px var(--serif);margin:10px 0 25px}
.supplies-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.supply-card{border:1px solid var(--line);background:#fff;padding:20px;display:flex;flex-direction:column}
.supply-image{aspect-ratio:1;background:#fff;margin-bottom:18px;overflow:hidden}.supply-image img{width:100%;height:100%;object-fit:contain}
.supply-card h4{font:500 29px var(--serif);margin:4px 0 16px}.supply-card>small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9px}
.tier-list{list-style:none;padding:0;margin:0 0 20px;border-top:1px solid var(--line)}.tier-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:11px 0;font-size:12px}.tier-list b{font-weight:600}
.supply-card .add-cart{margin-top:auto}
@media(max-width:1050px) and (min-width:761px){.category-grid{grid-template-columns:1fr 1fr}.category-card{min-height:390px}}
@media(max-width:760px){.header{grid-template-columns:1fr auto 1fr;height:74px;padding:0 18px}.wordmark{font-size:17px}.menu-toggle{order:-1;justify-self:start}.header>.wordmark{justify-self:center}.bag-open{font-size:0}.bag-open b{font-size:11px}.category-grid{grid-template-columns:1fr;min-height:0}.category-card{min-height:340px}.supplies-heading{grid-template-columns:1fr;gap:20px}.supplies-grid{grid-template-columns:1fr 1fr}.tools-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.supplies-grid,.tools-grid{grid-template-columns:1fr}.supplies-view{padding:32px 18px 80px}.supply-card{padding:16px}.global-search>div{grid-template-columns:1fr}.global-search button{min-height:46px}.global-search{margin-bottom:28px}}
