/* The Oysters Club — one shared cart (home menu + category pages) */
.tc-shop{max-width:1100px;margin:0 auto;padding:8px 20px 10px;font-family:"Archivo",system-ui,sans-serif;color:#201e1d}
.tc-step{margin:34px 0 0}
.tc-step h2{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(22px,3.2vw,30px);line-height:1.1;margin:0 0 6px;letter-spacing:-.01em;text-transform:none}
.tc-n{display:inline-block;background:#201e1d;color:#f3f2f2;border-radius:999px;width:28px;height:28px;text-align:center;line-height:28px;font-size:14px;margin-right:10px;vertical-align:3px}
.tc-sub{opacity:.72;margin:0 0 14px;font-size:15px}
.tc-chips{display:flex;flex-wrap:wrap;gap:8px}
.tc-chip{border:1.5px solid rgba(32,30,29,.2);background:#fff;border-radius:999px;padding:10px 15px;font:600 14px "Archivo",sans-serif;color:#201e1d;cursor:pointer}
.tc-chip.on{background:#201e1d;color:#f3f2f2;border-color:#201e1d}
.tc-zone{margin-top:12px;background:#fff;border-radius:14px;padding:13px 16px;border-left:4px solid #ec3013;font-size:14.5px;display:none}
.tc-zone.on{display:block}
.tc-tabs{display:flex;gap:6px;position:sticky;top:0;z-index:15;background:#f3f2f2;padding:10px 0;margin:4px 0 8px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tc-tab{flex:0 0 auto;border:0;background:#eae9e9;border-radius:999px;padding:11px 18px;font:700 14px "Archivo",sans-serif;color:#201e1d;cursor:pointer}
.tc-tab.on{background:#201e1d;color:#f3f2f2}
.tc-panel{display:none}.tc-panel.on{display:block}
.tc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:10px}
.tc-item{background:#fff;border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:center}
.tc-item img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex:0 0 auto;background:#f3f2f2}
.tc-item img.tc-bottle{object-fit:contain}
.tc-info{flex:1;min-width:0}
.tc-info h3{margin:0;font:800 15.5px/1.25 "Archivo",sans-serif;text-transform:none;letter-spacing:0}
.tc-d{font-size:12.5px;opacity:.68;margin-top:2px}
.tc-p{font-weight:800;margin-top:5px;font-size:15px}
.tc-p s{font-weight:400;opacity:.5;margin-left:6px}
.tc-p small{font-weight:400;opacity:.6}
.tc-off{display:inline-block;background:#ec3013;color:#fff;border-radius:4px;font-size:10.5px;font-weight:800;padding:2px 6px;margin-left:6px;vertical-align:2px}
.tc-q{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.tc-q button{width:38px;height:38px;border-radius:999px;border:1.5px solid rgba(32,30,29,.2);background:#fff;font:700 18px/1 "Archivo",sans-serif;color:#201e1d;cursor:pointer;padding:0}
.tc-q button.tc-plus{background:#201e1d;color:#fff;border-color:#201e1d}
.tc-q span{min-width:16px;text-align:center;font-weight:800}
.tc-sizes{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.tc-size{border:1.5px solid rgba(32,30,29,.2);background:#fff;border-radius:8px;padding:6px 10px;font:600 13px "Archivo",sans-serif;color:#201e1d;cursor:pointer}
.tc-size.on{background:#201e1d;color:#fff;border-color:#201e1d}
.tc-more{margin-top:10px}
.tc-more summary{cursor:pointer;font-weight:700;padding:10px 0;list-style:none}
.tc-more summary::before{content:"+ "}
.tc-more[open] summary::before{content:"− "}
.tc-note{font-size:13px;opacity:.72;margin:10px 0 0}
.tc-sets .tc-item{border:1.5px solid #201e1d}
.tc-go{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 22px;font:700 14px "Archivo",sans-serif;cursor:pointer;background:#ec3013;color:#fff;text-decoration:none}
/* sticky bar */
.tc-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:#201e1d;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));transform:translateY(120%);transition:transform .25s;font-family:"Archivo",sans-serif;cursor:pointer}
.tc-bar.on{transform:none}
.tc-bar .tc-bl{min-width:0;flex:1}
.tc-bar .tc-bn{font-size:12.5px;line-height:1.3;opacity:.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tc-bar .tc-bt{font-size:16px;font-weight:800}
.tc-bar .tc-go{padding:12px 18px;flex:0 0 auto}
body.tc-has-bar{padding-bottom:92px}
/* drawer */
.tc-ov{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9500;display:none}
.tc-ov.on{display:block}
.tc-dr{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:#f3f2f2;z-index:9600;transform:translateX(105%);transition:transform .25s;display:flex;flex-direction:column;font-family:"Archivo",sans-serif;color:#201e1d}
.tc-dr.on{transform:none}
.tc-dh{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(32,30,29,.15)}
.tc-dh h2{margin:0;font:800 19px "Archivo",sans-serif;text-transform:none}
.tc-dh button{background:none;border:0;font-size:28px;line-height:1;cursor:pointer;color:#201e1d}
.tc-db{padding:12px 18px;overflow:auto;flex:1}
.tc-line{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed rgba(32,30,29,.18);font-size:14px}
.tc-line .tc-ln{flex:1;min-width:0}
.tc-line .tc-q button{width:30px;height:30px;font-size:15px}
.tc-line b{white-space:nowrap}
.tc-gift{color:#1d7a3a;font-weight:700;font-size:13.5px;padding:8px 0}
.tc-tot{display:flex;justify-content:space-between;font-weight:800;font-size:17px;padding:12px 0 4px}
.tc-dz{font-size:13px;opacity:.8;margin:2px 0 6px}
.tc-f{margin:11px 0}
.tc-f label{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;opacity:.7}
.tc-f input,.tc-f select,.tc-f textarea{width:100%;padding:12px;border:1.5px solid rgba(32,30,29,.2);border-radius:10px;font:15px "Archivo",sans-serif;background:#fff;color:#201e1d;box-sizing:border-box}
.tc-f textarea{min-height:60px;resize:vertical}
.tc-chk{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;margin:10px 0;cursor:pointer}
.tc-chk input{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto}
.tc-df{padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid rgba(32,30,29,.15)}
.tc-df button{width:100%;border:0;border-radius:999px;padding:16px;font:800 15px "Archivo",sans-serif;background:#25d366;color:#08311a;cursor:pointer}
.tc-empty{opacity:.65;padding:18px 0}
.tc-hide{display:none!important}
body.tc-lock{overflow:hidden}
@media(max-width:640px){.tc-grid{grid-template-columns:1fr}.tc-item img{width:56px;height:56px}}
.tc-cav{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}@media(max-width:640px){.tc-cav{grid-template-columns:1fr}}
