.shop-box{margin-top:18px;text-align:left;width:100%;max-width:380px;box-sizing:border-box}
@media(max-width:699px){.shop-box{margin-left:auto;margin-right:auto}}
.shop-extras-title{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#999;margin:0 0 8px}
.shop-extra{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #1d1d1d;font-size:.95rem;color:#eee;cursor:pointer;-webkit-tap-highlight-color:transparent}
.shop-extra input{width:18px;height:18px;accent-color:#fff;flex:0 0 auto;cursor:pointer}
.shop-extra .shop-extra-name{flex:1 1 auto;min-width:0}
.shop-extra .shop-free{flex:0 0 auto;font-size:.78rem;font-weight:700;color:#7dffa4;letter-spacing:.04em}
.shop-add{margin-top:14px;width:100%;padding:14px 18px;border:1px solid #fff;border-radius:12px;background:#fff;color:#000;font:700 .95rem/1 Arial,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent}
.shop-add:hover:not(:disabled){background:#e8e8e8}
.shop-add:disabled{background:#161616;border-color:#333;color:#777;cursor:not-allowed}
.shop-added{min-height:1.4em;margin-top:8px;font-size:.85rem;color:#7dffa4}

#shopCartBubble{position:fixed;right:92px;bottom:22px;width:58px;height:58px;border:1px solid #fff;border-radius:50%;background:#fff;color:#000;font-size:23px;cursor:pointer;z-index:1200;box-shadow:0 8px 30px #000;-webkit-tap-highlight-color:transparent;padding:0}
@media(max-width:600px){#shopCartBubble{right:84px;bottom:16px}}
#shopCartBubble .shop-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:10px;background:#e53935;color:#fff;font:700 12px/20px Arial,sans-serif;text-align:center}
#shopCartBubble .shop-badge[hidden]{display:none}

.shop-overlay{position:fixed;inset:0;z-index:2500;background:rgba(0,0,0,.82);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;overscroll-behavior:contain;padding:max(14px,env(safe-area-inset-top)) 12px 28px}
.shop-overlay[hidden]{display:none!important}
.shop-panel{width:min(680px,100%);margin:auto 0;background:#0b0b0b;border:1px solid #333;border-radius:16px;box-shadow:0 20px 70px #000;color:#eee;box-sizing:border-box}
.shop-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #222;background:#0b0b0b;border-radius:16px 16px 0 0}
.shop-head h2{margin:0;font-size:1.25rem}
.shop-x{width:40px;height:40px;border:1px solid #444;border-radius:50%;background:#151515;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:0}
.shop-body{padding:6px 18px 22px}
.shop-body h3{margin:22px 0 10px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#999}
.shop-empty{padding:26px 0;text-align:center;color:#999}
.shop-item{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 0;border-bottom:1px solid #1d1d1d}
.shop-item-name{font-weight:700;font-size:1rem}
.shop-item-extras{grid-column:1;font-size:.82rem;color:#aaa;line-height:1.5}
.shop-item-extras .shop-free{color:#7dffa4;font-weight:700}
.shop-item-price{text-align:right;font-weight:700;white-space:nowrap}
.shop-item-controls{grid-column:1 / span 2;display:flex;align-items:center;gap:8px}
.shop-qty{width:34px;height:34px;border:1px solid #444;border-radius:8px;background:#181818;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0}
.shop-qty-n{min-width:26px;text-align:center}
.shop-remove{margin-left:auto;border:0;background:none;color:#ff7a7a;font-size:.82rem;cursor:pointer;text-decoration:underline;padding:6px}
.shop-summary{padding:14px 0 2px;font-size:.95rem}
.shop-sum-row{display:flex;justify-content:space-between;gap:16px;padding:4px 0}
.shop-sum-row.total{font-size:1.15rem;font-weight:700;border-top:1px solid #2a2a2a;margin-top:8px;padding-top:12px}
.shop-ship-note{color:#bbb;font-size:.85rem;text-align:right;max-width:62%}
.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.shop-grid .wide{grid-column:1 / -1}
@media(max-width:520px){.shop-grid{grid-template-columns:1fr}}
.shop-field{display:flex;flex-direction:column;gap:5px;font-size:.82rem;color:#bbb}
.shop-field input,.shop-field textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #333;border-radius:9px;background:#141414;color:#fff;font:16px/1.3 Arial,sans-serif}
.shop-field textarea{resize:vertical;min-height:70px}
.shop-field input:focus,.shop-field textarea:focus{outline:none;border-color:#aaa}
.shop-field.invalid input{border-color:#ff5252}
.shop-note{font-size:.8rem;color:#999;line-height:1.45;margin:2px 0 0}
#shopEmail{width:100%;box-sizing:border-box;min-height:260px;padding:12px;border:1px solid #333;border-radius:9px;background:#050505;color:#ddd;font:13px/1.5 ui-monospace,Menlo,Consolas,monospace;resize:vertical}
.shop-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.shop-actions button{flex:1 1 160px;padding:14px 16px;border-radius:12px;border:1px solid #fff;font:700 .95rem/1 Arial,sans-serif;cursor:pointer}
#shopSend{background:#fff;color:#000}
#shopCopy{background:#111;color:#fff}
.shop-actions button:disabled{opacity:.4;cursor:not-allowed}
#shopMsg{min-height:1.4em;margin-top:10px;font-size:.88rem;line-height:1.4}
#shopMsg.ok{color:#7dffa4}#shopMsg.err{color:#ff7a7a}

.info-section{width:min(920px,calc(100vw - 40px));margin:0 auto;padding:clamp(40px,7vh,84px) 0;box-sizing:border-box;color:#eee;border-top:1px solid #1c1c1c;position:relative;z-index:1}
.info-section h2{margin:0 0 18px;font-size:clamp(1.9rem,4.5vw,3.2rem);line-height:1.1;letter-spacing:-.02em}
.info-section p{font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.65;color:#cfcfcf;margin:0 0 14px}
.info-list{margin:6px 0 18px;padding-left:20px;color:#cfcfcf;line-height:1.7;font-size:clamp(1rem,1.3vw,1.1rem)}
.info-joke{margin:22px 0 0;padding:16px 18px;border-left:3px solid #e4b85c;background:#121212;border-radius:0 10px 10px 0;color:#fff!important;font-style:italic}
.about-members{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
@media(max-width:700px){.about-members{grid-template-columns:1fr}}
.about-member{border:1px solid #2a2a2a;border-radius:12px;background:#0f0f0f;padding:16px}
.about-member h3{margin:0 0 4px;font-size:1.05rem}
.about-member .role{margin:0 0 10px;color:#aaa;font-size:.92rem;line-height:1.4}
.about-member .phone{margin:0;color:#fff;font-weight:600;font-size:.95rem}
.about-contact{margin-top:20px;font-size:.98rem}
.about-contact a{color:#fff}

.shop-add:focus-visible,.shop-x:focus-visible,.shop-qty:focus-visible,.shop-actions button:focus-visible,#shopCartBubble:focus-visible,.shop-remove:focus-visible{outline:2px solid #e4b85c;outline-offset:2px}
.shop-extra:focus-within{background:#111}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.shop-field[hidden]{display:none}
#shopDelivery{display:flex;flex-direction:column;gap:8px}
.shop-radio{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:center;padding:12px 14px;border:1px solid #2a2a2a;border-radius:12px;background:#101010;cursor:pointer}
.shop-radio.on{border-color:#fff;background:#161616}
.shop-radio input{width:18px;height:18px;accent-color:#fff;margin:0;grid-row:1}
.shop-radio-name{font-weight:700;grid-row:1;grid-column:2}
.shop-radio-price{font-weight:700;color:#7dffa4;grid-row:1;grid-column:3;text-align:right}
.shop-radio-note{grid-column:2 / -1;font-size:.82rem;color:#aaa;line-height:1.4}
.shop-radio:focus-within{outline:2px solid #e4b85c;outline-offset:2px}

.shop-close-bottom{display:block;width:100%;margin-top:16px;padding:13px;border:1px solid #444;border-radius:12px;background:#141414;color:#fff;font:700 .95rem Arial,sans-serif;cursor:pointer}

.shop-tip{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.shop-tip-chip{min-height:44px;padding:0 16px;border:1px solid #2a2a2a;border-radius:12px;background:#101010;color:#eee;font:700 .92rem/1 Arial,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent}
.shop-tip-chip.on{border-color:#fff;background:#1c1c1c}
.shop-tip-chip:focus-visible{outline:2px solid #e4b85c;outline-offset:2px}
.shop-tip-custom{display:flex;align-items:center;gap:6px;color:#bbb}
.shop-tip-custom[hidden]{display:none}
.shop-tip-custom input{width:110px;min-height:44px;box-sizing:border-box;padding:0 12px;border:1px solid #333;border-radius:10px;background:#141414;color:#fff;font:16px Arial,sans-serif}
.shop-tip-custom input:focus{outline:none;border-color:#aaa}
