/* La Raíz de México — store (quiet, archive-like). Only active when the store is enabled. */

/* header tools */
.store-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
.store-tools select{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--paper);border:1px solid var(--rule);padding:9px 8px;border-radius:0;cursor:pointer}
.store-tools select:focus-visible,#cart-btn:focus-visible,.buy-btn:focus-visible,.drawer button:focus-visible,.drawer select:focus-visible,.drawer a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#cart-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--paper);border:1px solid var(--ink);color:var(--ink);cursor:pointer;border-radius:0}
#cart-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#cart-count{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;padding:0 4px;background:var(--accent);color:#fff;font:500 11px/19px var(--mono);text-align:center;border-radius:10px}
#cart-count[data-n="0"]{display:none}
.bar .lang{margin-left:0}

/* buy row: a quiet line under the description */
.buy{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin:0 0 26px;padding:10px 0;border-top:1px dotted var(--rule);border-bottom:1px dotted var(--rule);max-width:62ch}
.buy-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font:12px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.buy-price{color:var(--ink)}
.buy-who{flex-basis:100%;text-transform:none;letter-spacing:0;font:italic 15px/1.35 var(--serif);color:var(--ink-2)}
.buy-btn{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:none;border:0;text-decoration:underline;text-underline-offset:5px;padding:14px 6px;margin:0;cursor:pointer;border-radius:0;min-height:44px}
.buy-btn:hover{color:var(--ink)}
.buy-btn[disabled]{color:var(--ink-2);text-decoration-color:var(--rule);cursor:not-allowed}
.buy-na{font:12px/1.4 var(--mono);color:var(--ink-2);text-transform:none;letter-spacing:0}
.buy.inline{margin:0;padding:0;border:0;max-width:none;justify-content:flex-end}
.tools .buy{margin:14px 0 0;max-width:none}

/* recipe: from our store */
.store-box{margin-top:18px;padding-top:14px;border-top:1px solid var(--rule)}
.store-box>.mono{color:var(--accent)}
.store-box ul{list-style:none;margin:8px 0 0;padding:0}
.store-box li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 14px;padding:8px 0;border-bottom:1px dotted var(--rule)}
.store-box li:last-child{border-bottom:0}
.sb-name{font-size:16px}
.sb-name a{color:var(--ink);text-underline-offset:3px}
.sb-sub{display:block;font:italic 14px/1.3 var(--serif);color:var(--ink-2)}
.plink{color:inherit;text-decoration:underline dotted var(--accent);text-underline-offset:3px}
.plink:hover{text-decoration-style:solid;color:var(--accent)}

/* drawer */
.drawer[hidden]{display:none}
.drawer{position:fixed;inset:0;z-index:60}
.drawer .scrim{position:absolute;inset:0;background:rgba(22,25,28,.42)}
.drawer aside{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper);display:flex;flex-direction:column;box-shadow:-12px 0 32px rgba(0,0,0,.14);outline:0}
.drawer header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--rule)}
.drawer h2{font:400 26px/1.1 var(--serif);margin:0}
.drawer .x{width:44px;height:44px;font:300 34px/1 var(--serif);background:none;border:0;color:var(--ink);cursor:pointer}
.drawer .mk{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--rule)}
.drawer .mk select{flex:1;font:16px/1.2 var(--serif);padding:10px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0}
.drawer .lines{flex:1;overflow-y:auto;padding:6px 18px;list-style:none;margin:0}
.drawer .empty{padding:28px 18px;color:var(--ink-2)}
.line{display:grid;grid-template-columns:56px 1fr auto;gap:4px 12px;padding:14px 0;border-bottom:1px dotted var(--rule);align-items:start}
.line img{width:56px;height:84px;object-fit:contain;background:var(--faint)}
.line .nm{font-size:17px;line-height:1.25}
.line .sub{display:block;font:italic 14px/1.3 var(--serif);color:var(--ink-2)}
.line .na{display:block;font:12px/1.4 var(--mono);color:#8a2b1c;margin-top:4px}
.line .pr{font:12px/1.4 var(--mono);text-align:right;white-space:nowrap}
.line .qty{grid-column:2/4;display:flex;align-items:center;gap:6px;margin-top:6px}
.line .qty button{width:40px;height:40px;background:none;border:1px solid var(--rule);font:500 18px/1 var(--mono);color:var(--ink);cursor:pointer;border-radius:0}
.line .qty output{min-width:28px;text-align:center;font:500 14px var(--mono)}
.line .qty .rm{margin-left:auto;width:auto;min-width:44px;height:40px;border:0;font:12px/1 var(--mono);text-decoration:underline;color:var(--ink-2);padding:0 4px;background:none}
.drawer footer{padding:14px 18px 18px;border-top:1px solid var(--ink);background:var(--paper)}
.drawer .tot{display:flex;justify-content:space-between;font:500 14px var(--mono);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}
.drawer .fund{font:italic 15px/1.4 var(--serif);color:var(--ink-2);margin:0 0 8px}
.drawer .ship{font:13px/1.4 var(--mono);color:var(--ink-2);margin:0 0 12px}
.drawer .send{display:block;text-align:center;padding:14px 12px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:500 13px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.drawer .send[aria-disabled="true"]{background:var(--faint);color:var(--ink-2);border-color:var(--rule);pointer-events:none}
.drawer .thanks{margin:12px 0 0;padding:10px 12px;border-left:2px solid var(--accent);background:var(--faint);font-size:16px}
.drawer .clear{display:inline-block;margin-top:6px;background:none;border:0;font:12px/1 var(--mono);color:var(--ink-2);text-decoration:underline;cursor:pointer;padding:15px 0;min-height:44px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:640px){
  .store-tools select{display:none}
  .store-tools{margin-left:0}
  #cart-btn{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:40;width:50px;height:50px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
  .drawer aside{width:100%}
}
@media (prefers-reduced-motion:no-preference){
  .drawer aside{animation:slidein .22s ease-out}
  @keyframes slidein{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}
}

/* shop tab */
ul.shop{list-style:none;margin:0 0 36px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px 18px}
ul.shop li{display:flex;flex-direction:column;gap:6px;min-width:0}
ul.shop .shop-img{display:block;aspect-ratio:1/1;background:var(--faint);overflow:hidden}
ul.shop .shop-img img{width:100%;height:100%;object-fit:contain;display:block}
ul.shop h4{font-weight:400;font-size:22px;line-height:1.15;margin:4px 0 0}
ul.shop .buy{margin:auto 0 0}
@media (max-width:640px){ul.shop{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}ul.shop h4{font-size:18px}}
