/* Museum store, at the bottom of the homepage (inside .store-page). Builds on style.css; one wooden board per row. */
.store-page main{background:var(--paper)}
.store-top{padding-block:clamp(40px,6vw,80px) 0;border-bottom:1px solid var(--rule)}
.store-top>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,56px);align-items:end}
.store-top h2{font-size:clamp(38px,5.4vw,68px);line-height:1.02}
.store-top p:not(.eyebrow){margin:16px 0 0;max-width:60ch;color:var(--ink-2);font-size:18px}
.till{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding:18px 20px;background:var(--card);border:1px solid var(--rule-2)}
.till .btn{min-width:200px}
.linkish{background:none;border:0;padding:0;font:400 15px/1.3 var(--body);color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.linkish:hover{color:var(--barn)}
.aisles{margin-top:clamp(28px,4vw,44px);border-top:1px solid var(--rule-2)}
.aisles .wrap{display:flex;flex-wrap:wrap;gap:4px 26px;padding-block:14px}
.aisles a{font:400 14px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding:6px 0;border-bottom:1px solid transparent}
.aisles a:hover{border-bottom-color:currentColor}

.aisle{padding-block:clamp(48px,7vw,96px) clamp(20px,3vw,40px);scroll-margin-top:60px}
.aisle+.aisle{border-top:1px solid var(--rule-2)}
.aisle-head{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:8px 28px;align-items:baseline}
.aisle-head h3{font-size:clamp(30px,3.6vw,46px);line-height:1.05}
.aisle-head p{margin:0;color:var(--ink-2);font-size:17px;max-width:62ch}

.store-page .shelf{--g:clamp(22px,3vw,44px);--pich:clamp(180px,17vw,230px);grid-template-columns:repeat(4,minmax(0,1fr));row-gap:clamp(56px,6vw,80px)}
.store-page .shelf::before{display:none}
.store-page .item{text-align:left;align-items:stretch}
.store-page .item .pic{height:var(--pich);margin-bottom:30px}
.store-page .item .pic::after{display:block;left:calc(var(--g) / -2);right:calc(var(--g) / -2)}
.store-page .item:first-child .pic::after{left:-12px}
.store-page .item .pic>img{max-width:92%}
.store-page .item .pic>img.plain{max-width:86%}
.store-page .item .pic>img.print{max-width:84%}
.store-page .item h4{font:400 22px/1.1 var(--fell);margin:6px 0 0}
.store-page .item h4 small{font:400 15px/1 var(--body);color:var(--muted)}
.store-page .item p{font-size:16px;line-height:1.4;margin:6px 0 0}
.store-page .item p.by{font-style:italic;margin-top:2px}
.item .note{color:var(--barn)!important}
.item .sku{font:400 13px/1.4 var(--type)!important;color:var(--muted)!important;margin-top:10px!important}
.card-list{margin:10px 0 0;padding-left:20px;font-size:15px;line-height:1.45;color:var(--ink-2);columns:2;column-gap:24px}
.buyrow{margin-top:auto;padding-top:16px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 14px}
.store-page .item .price{margin-top:0}
.buy{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;flex:1 1 180px}
.buy .opt{flex-basis:100%;font:400 12.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:-4px}
.buy select{flex:1 1 100%;min-height:46px;padding:0 12px;font:400 16px/1 var(--body);color:var(--ink);background:#fbf7ec;border:1.5px solid var(--ink-2);border-radius:0}
.buy .add{flex:1 1 auto;min-height:46px}

/* postcards: six cards side by side on one long board */
.item.wide{grid-column:span 3}
.pic.cards{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end!important;padding-inline:4px}
.pic.cards img{width:100%;height:auto;border:4px solid #f9f5ea;box-shadow:0 6px 10px -4px rgba(0,0,0,.4);position:relative;z-index:1}
.pic.cards img:nth-child(odd){transform:rotate(-2deg)}
.pic.cards img:nth-child(even){transform:rotate(1.5deg) translateY(-6px)}

.consign{padding-block:clamp(44px,6vw,72px);border-top:1px solid var(--rule)}
.consign .wrap{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:8px 28px;align-items:baseline}
.consign h3{font-size:clamp(26px,3vw,36px)}
.consign p{margin:0;font-size:17px;color:var(--ink-2)}

.cart-float{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:40}
.cart-float .btn{box-shadow:0 10px 22px -10px rgba(40,25,10,.7)}

@media (max-width:1100px){
  .store-page .shelf{grid-template-columns:repeat(3,minmax(0,1fr))}
  .item.wide{grid-column:span 2}
  .pic.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .store-page .item.wide .pic{height:auto;min-height:var(--pich)}
}
@media (max-width:760px){
  .store-top>.wrap,.aisle-head,.consign .wrap{grid-template-columns:1fr}
  .till{align-items:stretch}
  .till .btn{min-width:0}
  .store-page .shelf{grid-template-columns:repeat(2,minmax(0,1fr));--g:18px;--pich:170px}
  .item.wide{grid-column:1/-1}
  .card-list{columns:1}
  .buy{flex-basis:100%}
}
@media (max-width:420px){
  .store-page .shelf{grid-template-columns:1fr;--pich:210px}
  .store-page .item .pic::after{left:-12px!important;right:-12px!important}
}
.store-page .item p{max-width:none}
.store-page .item.wide>p{max-width:62ch}
.store-page section.store-top{padding-top:clamp(36px,5vw,64px)}
.store-page section.aisle{padding-top:clamp(44px,5vw,72px);padding-bottom:clamp(28px,3vw,44px)}

/* on the homepage: the store starts with a rule, like the other sections */
.store-page .store-top{border-top:1px solid var(--rule)}
.consign h3{font:400 clamp(26px,3vw,36px)/1.1 var(--fell)}

/* ---- the cart (Nov 2026): Add to cart opens this sheet; Check out goes to PayPal through checkout.php ---- */
.cart-count{font-variant-numeric:lining-nums}
.cart-panel{position:fixed;inset:0;z-index:80;background:rgba(32,24,16,0);transition:background .22s ease}
.cart-panel.on{background:rgba(32,24,16,.45)}
.cart-sheet{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);display:flex;flex-direction:column;background:var(--paper);background-image:var(--grain,none);box-shadow:-18px 0 40px -20px rgba(20,12,4,.6);transform:translateX(100%);transition:transform .22s ease;overflow:auto;overscroll-behavior:contain}
.cart-panel.on .cart-sheet{transform:none}
.cart-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 26px 16px;border-bottom:3px double var(--ink)}
.cart-top h3{margin:0;font:400 30px/1.1 var(--fell);color:var(--ink)}
.cart-close{width:42px;height:42px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:400 26px/1 var(--body);cursor:pointer}
.cart-close:hover{background:var(--ink);color:var(--paper)}
.cart-added{margin:16px 26px 0;padding:10px 14px;background:var(--card);border-left:3px solid var(--moss,#56603b);font:400 14.5px/1.4 var(--type);color:var(--ink-2)}
.cart-empty{margin:26px;font:italic 400 18px/1.5 var(--body);color:var(--ink-2)}
.cart-lines{list-style:none;margin:0;padding:6px 26px}
.cart-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"img text sum" "img qty del";gap:6px 14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--rule-2)}
.cart-line img,.cart-line .noimg{grid-area:img;width:64px;height:64px;object-fit:cover;background:var(--card);box-shadow:0 1px 3px rgba(40,25,10,.25);align-self:start}
.cl-text{grid-area:text;display:flex;flex-direction:column;gap:2px;min-width:0}
.cl-text b{font:400 18px/1.25 var(--body);color:var(--ink)}
.cl-text span{font:400 14px/1.35 var(--body);color:var(--ink-2)}
.cl-text .cl-each{font:400 13px/1.35 var(--type);color:var(--muted)}
.cl-sum{grid-area:sum;font:700 17px/1 var(--body);color:var(--ink);justify-self:end}
.cl-qty{grid-area:qty;display:inline-flex;align-items:center;border:1.5px solid var(--ink-2);justify-self:start}
.cl-qty button{width:36px;height:34px;border:0;background:transparent;color:var(--ink);font:400 19px/1 var(--body);cursor:pointer}
.cl-qty button:hover:not(:disabled){background:var(--paper-2)}
.cl-qty button:disabled{opacity:.35;cursor:default}
.cl-qty .q-n{min-width:30px;text-align:center;font:400 16px/1 var(--body)}
.cl-del{grid-area:del;justify-self:end;font-size:14px}
.cart-sum{margin-top:auto;padding:18px 26px 26px;background:var(--card);border-top:1px solid var(--rule)}
.cart-fees{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:400 16px/1.35 var(--body);color:var(--ink-2);cursor:pointer}
.cart-fees input{width:18px;height:18px;accent-color:var(--barn)}
.cart-sum dl{display:grid;grid-template-columns:1fr auto;gap:6px 0;margin:0 0 18px;font:400 16px/1.3 var(--body);color:var(--ink-2)}
.cart-sum dt,.cart-sum dd{margin:0}
.cart-sum dd{padding-left:18px;text-align:right;font-variant-numeric:tabular-nums lining-nums}
.cart-sum .total{padding-top:10px;border-top:1px solid var(--ink);font:700 20px/1.2 var(--body);color:var(--ink)}
.cart-go .btn{width:100%;min-height:54px;font-size:15px}
.cart-keep{display:block;margin:14px auto 0}
.cart-note{margin:12px 0 0;text-align:center;font:400 13px/1.4 var(--type);color:var(--muted)}
.cart-thanks{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 22px;padding:16px 20px;background:var(--card);border-left:4px solid var(--moss,#56603b);box-shadow:0 1px 0 var(--rule-2)}
.cart-thanks p{margin:0;font:400 18px/1.45 var(--body)}
html.cart-open-page{overflow:hidden}
@media (max-width:560px){
  .cart-sheet{top:auto;max-height:92vh;width:100%;transform:translateY(100%);box-shadow:0 -18px 40px -20px rgba(20,12,4,.6)}
  .cart-top{padding:18px 18px 14px}.cart-lines{padding:4px 18px}.cart-sum{padding:16px 18px 22px}.cart-added,.cart-empty{margin-left:18px;margin-right:18px}
}
@media (prefers-reduced-motion:reduce){.cart-panel,.cart-sheet{transition:none}}
