/* BYESWRLD — components added on top of main.css: intro video, header actions, modals, cart, checkout, auth, AI assistant, toast */
:root{--panel:#101010;--panel2:#171717;--ok:#2fd27a;--warn:#ffb020}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}
input,select,textarea{font:inherit;color:#fff}
body.lock{overflow:hidden}

/* ------------ intro video ------------ */
#intro{position:fixed;inset:0;z-index:500;background:#000;overflow:hidden;transition:clip-path 1.1s cubic-bezier(.7,0,.2,1)}
#intro video{position:absolute;left:50%;top:50%;background:#000;max-width:none;object-fit:cover;transform-origin:center}
#intro .vig{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(0,0,0,.55));pointer-events:none}
#intro .top{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;padding:22px 4vw;z-index:3}
#intro .mark{height:20px;opacity:.95}
#intro .btns{display:flex;gap:10px}
#intro .btn{border:1.5px solid rgba(255,255,255,.85);color:#fff;padding:10px 16px;font:700 12px 'Space Mono',monospace;letter-spacing:.14em;text-transform:uppercase;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);transition:.25s}
[dir=rtl] #intro .btn{font-family:var(--ar);letter-spacing:0;font-size:14px}
#intro .btn:hover{background:#fff;color:#000}
#intro .skip{opacity:0;pointer-events:none;transition:opacity .6s}#intro .skip.on{opacity:1;pointer-events:auto}
#intro .prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.18);z-index:3}
#intro .prog i{display:block;height:100%;width:0;background:var(--red)}
#intro .rot{position:absolute;left:50%;bottom:11vh;transform:translateX(-50%);z-index:3;display:none;align-items:center;gap:12px;color:#fff;font:700 12px 'Space Mono';letter-spacing:.14em;text-transform:uppercase;background:rgba(0,0,0,.45);padding:10px 16px;border:1px solid rgba(255,255,255,.4)}
#intro .rot svg{width:22px;height:22px;animation:rotp 2.4s ease-in-out infinite}
@keyframes rotp{0%,25%{transform:rotate(0)}60%,100%{transform:rotate(-90deg)}}
#intro.portrait .rot{display:flex}
#intro .tap{position:absolute;inset:0;z-index:2}
body.intro-on .hd,body.intro-on #bwAi{opacity:0;pointer-events:none}

/* ------------ header actions ------------ */
.hd .ic{gap:10px}
.hd .ib{position:relative;width:42px;height:42px;display:grid;place-items:center;border:1.5px solid transparent;transition:.25s;border-radius:50%}
.hd .ib:hover{border-color:#fff}.hd .ib svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.8}
.hd .ib .n{position:absolute;top:2px;inset-inline-end:0;min-width:18px;height:18px;border-radius:9px;background:var(--red);color:#fff;font:700 11px/18px 'Space Mono';text-align:center;padding:0 4px;transform:scale(0);transition:.3s}
.hd .ib .n.on{transform:scale(1)}
.hd .lang{padding:8px 14px}
.menu{background:none;border:0;padding:6px;justify-self:start}
.menu{display:none;font:700 13px 'Space Mono',monospace;letter-spacing:.14em;cursor:pointer}
#mnav{position:fixed;inset:0;z-index:150;background:#000;display:flex;flex-direction:column;justify-content:center;padding:0 8vw;gap:6px;transform:translateY(-100%);transition:transform .7s cubic-bezier(.7,0,.2,1)}
#mnav.open{transform:none}
#mnav a{font:900 clamp(44px,13vw,90px)/1.05 'Archivo';font-stretch:125%;text-transform:uppercase;letter-spacing:-.04em}
[dir=rtl] #mnav a{font-family:var(--ar);text-transform:none;font-stretch:100%}
#mnav .x{position:absolute;top:22px;inset-inline-end:5vw;font:700 13px 'Space Mono';letter-spacing:.14em}

/* ------------ shop cards ------------ */
.pc{cursor:pointer}
.pc .im{background:#f1f1f1}
.pc .q{cursor:pointer}
.pc .sw{display:flex;gap:6px;margin-top:8px}.pc .sw i{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.4)}

/* ------------ overlays ------------ */
.ov{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .35s;display:flex;align-items:center;justify-content:center;padding:3vw}
.ov.open{opacity:1;pointer-events:auto}
.sheet{background:var(--panel);border:1px solid var(--line);width:min(1080px,100%);max-height:94vh;overflow:auto;position:relative;transform:translateY(30px) scale(.98);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.ov.open .sheet{transform:none}
.sheet .close{position:absolute;top:14px;inset-inline-end:14px;z-index:5;width:44px;height:44px;border:1.5px solid rgba(255,255,255,.5);border-radius:50%;font-size:18px;background:#000}
.sheet .close:hover{background:#fff;color:#000}
.drawer{justify-content:flex-end;padding:0}
.drawer .sheet{width:min(520px,100%);height:100vh;max-height:100vh;transform:translateX(100%);border-width:0 0 0 1px}
[dir=rtl] .drawer{justify-content:flex-start}[dir=rtl] .drawer .sheet{transform:translateX(-100%);border-width:0 1px 0 0}
.drawer.open .sheet{transform:none}

/* product sheet */
.pv{display:grid;grid-template-columns:1.1fr 1fr}
.pv .gal{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:14px;align-items:start}
.pv .thumbs{display:flex;flex-direction:column;gap:8px}.pv .thumbs img{width:72px;aspect-ratio:4/5;object-fit:cover;opacity:.55;border:1.5px solid transparent;cursor:pointer;background:#eee}
.pv .thumbs img.on{opacity:1;border-color:#fff}
.pv .main{aspect-ratio:4/5;background:#f1f1f1;overflow:hidden}.pv .main img{width:100%;height:100%;object-fit:cover}
.pv .info{padding:34px 34px 30px;display:flex;flex-direction:column;gap:16px}
.pv .k{color:var(--red)}
.pv h3{font:900 clamp(30px,3.6vw,52px)/.92 'Archivo';font-stretch:125%;letter-spacing:-.03em;text-transform:uppercase}
[dir=rtl] .pv h3,[dir=rtl] .ck h3,[dir=rtl] .au h3{font-family:var(--ar);text-transform:none;font-stretch:100%;line-height:1.2}
.price{display:flex;align-items:baseline;gap:12px;font:700 22px 'Space Mono'}.price s{font-size:15px;opacity:.6}.price .pct{background:var(--red);padding:3px 8px;font-size:12px}
.desc{font-size:17px;line-height:1.65;color:#fff}
.lbl{display:flex;justify-content:space-between;font:700 12px 'Space Mono';letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{min-width:56px;padding:13px 16px;border:1.5px solid var(--line);font:700 14px 'Space Mono';transition:.2s}
.chips button:hover{border-color:#fff}.chips button.on{background:#fff;color:#000;border-color:#fff}
.qty{display:inline-flex;border:1.5px solid var(--line);align-items:center}.qty button{width:46px;height:50px;font-size:20px}.qty span{min-width:40px;text-align:center;font:700 15px 'Space Mono'}
.row{display:flex;gap:10px;align-items:stretch}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:17px 26px;font:700 13px 'Space Mono';letter-spacing:.16em;text-transform:uppercase;transition:.3s;cursor:pointer;border:1.5px solid #fff}
.btn.solid{background:#fff;color:#000}.btn.solid:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn.red{background:var(--red);border-color:var(--red);color:#fff}.btn.red:hover{background:#fff;color:#000;border-color:#fff}
.btn.ghost:hover{background:#fff;color:#000}
.btn[disabled]{opacity:.4;pointer-events:none}
.btn.full{width:100%}
[dir=rtl] .btn,[dir=rtl] .chips button,[dir=rtl] .lbl{font-family:var(--ar);letter-spacing:0;text-transform:none;font-size:15px}
.note{font-size:14px;color:#d8d8d8;line-height:1.5}
.err{color:#ff8a8a;font-size:14px;min-height:20px}

/* cart drawer */
.cd{display:flex;flex-direction:column;height:100%}
.cd header{padding:26px 26px 18px;border-bottom:1px solid var(--line)}
.cd h3,.ck h3,.au h3{font:900 28px 'Archivo';font-stretch:125%;letter-spacing:-.02em;text-transform:uppercase}
.cd .list{flex:1;overflow:auto;padding:8px 26px}
.cd .it{display:grid;grid-template-columns:84px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}
.cd .it img{width:84px;aspect-ratio:4/5;object-fit:cover;background:#eee}
.cd .it b{display:block;font:800 16px 'Archivo';text-transform:uppercase}[dir=rtl] .cd .it b{font-family:var(--ar);text-transform:none}
.cd .it small{display:block;opacity:.85;margin:3px 0 8px;font-size:14px}
.cd .it .qty button{width:34px;height:34px;font-size:16px}.cd .it .qty span{min-width:30px;font-size:13px}
.cd .it .rm{font-size:13px;text-decoration:underline;opacity:.8}
.cd .it .p{font:700 15px 'Space Mono';text-align:end}
.cd footer{padding:20px 26px 26px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.tot{display:flex;justify-content:space-between;font:700 16px 'Space Mono'}.tot.big{font-size:20px}
.empty{padding:60px 0;text-align:center;font-size:18px}

/* checkout / auth sheets */
.ck,.au{padding:34px;max-width:640px;margin:auto}
.ov.narrow .sheet{width:min(640px,100%)}
.steps{display:flex;gap:6px;margin:18px 0 24px}.steps i{flex:1;height:4px;background:var(--line)}.steps i.on{background:var(--red)}
.fg{display:grid;gap:14px}.fg.two{grid-template-columns:1fr 1fr}
.fld label{display:block;font:700 12px 'Space Mono';letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
[dir=rtl] .fld label{font-family:var(--ar);letter-spacing:0;text-transform:none;font-size:14px}
.fld input,.fld select,.fld textarea{width:100%;background:#000;border:1.5px solid var(--line);padding:14px 14px;font-size:16px;border-radius:0;outline:0;transition:.2s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:#fff}
.fld textarea{min-height:84px;resize:vertical}
.tabs{display:flex;border-bottom:1px solid var(--line);margin:16px 0 22px}
.tabs button{flex:1;padding:14px;font:700 13px 'Space Mono';letter-spacing:.14em;text-transform:uppercase;opacity:.6;border-bottom:2px solid transparent}
[dir=rtl] .tabs button{font-family:var(--ar);letter-spacing:0;font-size:15px}
.tabs button.on{opacity:1;border-color:var(--red)}
.pay{display:grid;gap:10px;margin:10px 0 18px}
.pay label{display:flex;gap:14px;align-items:center;border:1.5px solid var(--line);padding:16px;cursor:pointer;transition:.2s}
.pay label:hover{border-color:#aaa}.pay input{accent-color:var(--red);width:20px;height:20px}
.pay label.sel{border-color:#fff;background:var(--panel2)}.pay label.off{opacity:.45;cursor:not-allowed}
.pay b{display:block;font-size:17px}.pay small{opacity:.85;font-size:14px}
.pay .tag{margin-inline-start:auto;font:700 11px 'Space Mono';letter-spacing:.1em;background:#333;padding:4px 8px}
.how{background:var(--panel2);border:1px dashed rgba(255,255,255,.4);padding:18px;display:grid;gap:10px;margin-bottom:16px}
.how .big{font:700 22px 'Space Mono';display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.how button.copy{font:700 12px 'Space Mono';border:1.5px solid #fff;padding:7px 12px}.how button.copy:hover{background:#fff;color:#000}
.sum{border:1px solid var(--line);padding:14px 16px;margin-bottom:16px;display:grid;gap:6px;font-size:15px}
.sum .tot{font-size:15px}
.ok{text-align:center;padding:30px 10px}.ok .tick{width:84px;height:84px;border-radius:50%;border:3px solid var(--ok);margin:0 auto 18px;display:grid;place-items:center;font-size:42px;color:var(--ok)}
.ok h3{margin-bottom:10px}
.ords{display:grid;gap:12px;margin-top:10px}
.ord{border:1px solid var(--line);padding:14px 16px;display:grid;gap:6px;font-size:15px}
.ord .st{display:inline-block;font:700 11px 'Space Mono';letter-spacing:.1em;padding:3px 8px;background:#333;text-transform:uppercase}
.ord .st.new{background:#4b3b00;color:#ffd666}.ord .st.paid,.ord .st.done{background:#0d3d24;color:#7dffb4}.ord .st.shipped{background:#0d2f4a;color:#8cc8ff}.ord .st.cancelled{background:#4a1010;color:#ff9a9a}

/* toast */
#toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,30px);z-index:600;background:#fff;color:#000;padding:14px 22px;font:700 13px 'Space Mono';letter-spacing:.08em;opacity:0;transition:.4s;pointer-events:none;max-width:90vw;text-align:center}
[dir=rtl] #toast{font-family:var(--ar);font-size:15px;letter-spacing:0}
#toast.on{opacity:1;transform:translate(-50%,0)}

/* ------------ AI assistant ------------ */
#bwAi{position:fixed;inset-inline-end:22px;bottom:22px;z-index:300;transition:opacity .4s}
.ai-launcher{position:relative;width:76px;height:76px;border-radius:50%;background:#000;border:1.5px solid #fff;display:grid;place-items:center;box-shadow:0 10px 40px rgba(0,0,0,.6);transition:transform .3s}
.ai-launcher:hover{transform:scale(1.07)}
.ai-launcher img{width:46px;height:46px;object-fit:contain;position:relative;z-index:2}
.ai-launcher b{position:absolute;top:-4px;inset-inline-start:-2px;z-index:3;background:var(--red);color:#fff;font:700 11px/1 'Space Mono';padding:5px 7px;border-radius:12px;letter-spacing:.06em}
.ai-ring{position:absolute;inset:-7px;width:calc(100% + 14px);height:calc(100% + 14px);fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.2;stroke-dasharray:3 9;animation:rot 18s linear infinite}
.ai-launcher.on{transform:scale(.9)}
.ai-tip{position:absolute;inset-inline-end:90px;bottom:18px;background:#fff;color:#000;padding:10px 16px;font:700 13px 'Space Mono';letter-spacing:.04em;white-space:nowrap;opacity:0;transform:translateX(12px);transition:.5s;pointer-events:none;border-radius:20px 20px 4px 20px}
[dir=rtl] .ai-tip{font-family:var(--ar);transform:translateX(-12px);border-radius:20px 20px 20px 4px;font-size:15px}
.ai-tip.show{opacity:1;transform:none}
.ai-panel{position:absolute;inset-inline-end:0;bottom:92px;width:min(380px,calc(100vw - 28px));height:min(560px,calc(100vh - 150px));background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;opacity:0;transform:translateY(20px) scale(.97);pointer-events:none;transition:.35s cubic-bezier(.2,.8,.2,1);box-shadow:0 30px 80px rgba(0,0,0,.7);transform-origin:bottom right}
.ai-panel.open{opacity:1;transform:none;pointer-events:auto}
.ai-panel header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:#000}
.ai-panel header img{width:34px;height:34px;object-fit:contain}
.ai-panel header strong{display:block;font:900 15px 'Archivo';letter-spacing:.04em}.ai-panel header small{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.9}
.ai-panel header small:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.ai-panel header button{margin-inline-start:auto;width:34px;height:34px;border:1px solid var(--line);border-radius:50%}
.ai-body{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.ai-msg{max-width:88%;padding:11px 14px;font-size:15px;line-height:1.55}
.ai-msg.bot{background:var(--panel2);border:1px solid var(--line);align-self:flex-start}.ai-msg.me{background:#fff;color:#000;align-self:flex-end}
.ai-chips{display:flex;flex-wrap:wrap;gap:7px}.ai-chips button{border:1px solid rgba(255,255,255,.5);padding:8px 12px;font-size:13px;transition:.2s}.ai-chips button:hover{background:#fff;color:#000}
.ai-link,.ai-wa{align-self:flex-start;font:700 12px 'Space Mono';letter-spacing:.08em;border-bottom:1px solid #fff;padding-bottom:2px}.ai-wa{color:#7dffb4;border-color:#7dffb4}
[dir=rtl] .ai-link,[dir=rtl] .ai-wa{font-family:var(--ar);font-size:14px;letter-spacing:0}
.ai-form{display:flex;border-top:1px solid var(--line)}.ai-form input{flex:1;background:#000;border:0;padding:15px 16px;font-size:15px;outline:0}
.ai-form button{width:56px;background:#fff;color:#000;font-size:20px}.ai-form button:hover{background:var(--red);color:#fff}
.ai-dots{display:inline-flex;gap:4px}.ai-dots i{width:6px;height:6px;border-radius:50%;background:#fff;animation:dot 1s infinite}.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{opacity:.25}30%{opacity:1}}

/* ------------ responsive ------------ */
@media(max-width:860px){
 .menu{display:block}
 .pv{grid-template-columns:1fr}.pv .gal{grid-template-columns:1fr;padding:0}.pv .thumbs{flex-direction:row;order:2;padding:10px;overflow:auto}.pv .main{aspect-ratio:4/4.6}
 .pv .info{padding:22px 20px 26px}
 .ov{padding:0;align-items:flex-end}.sheet{max-height:92vh;width:100%}
 .ov:not(.drawer) .sheet{border-radius:0}
 .ck,.au{padding:26px 20px}.fg.two{grid-template-columns:1fr}
 #bwAi{inset-inline-end:14px;bottom:14px}.ai-launcher{width:64px;height:64px}.ai-launcher img{width:38px;height:38px}.ai-tip{inset-inline-end:76px;bottom:14px;font-size:12px}
 .hd .ic{gap:0}.hd .ib{width:36px;height:36px}.hd .ib svg{width:20px;height:20px}.hd .lang{padding:6px 9px;font-size:12px}.hd .logo img{height:15px}
 #toast{bottom:96px}
}

/* ------------ The Drop: plain horizontal swipe row (no pinning, page keeps scrolling vertically) ------------ */
.drop{padding-bottom:7vh}
.drop .head{position:relative;z-index:2;padding:12vh 4vw 4vh;align-items:flex-end;pointer-events:auto}
.drop .dctl{display:flex;align-items:center;gap:22px}
.drop .arrows{display:flex;gap:10px}
.drop .arrows button{width:58px;height:58px;border:1.5px solid #fff;border-radius:50%;font-size:22px;transition:.25s}
.drop .arrows button:hover{background:#fff;color:#000}
[dir=rtl] .drop .arrows{flex-direction:row-reverse}
.pin{height:auto!important;display:block!important;padding-top:0!important;overflow:visible!important}
.track{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 4vw 3vh!important;gap:22px!important;cursor:grab;transform:none!important}
.track::-webkit-scrollbar{display:none}
.track.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.track.drag .pc{pointer-events:none}
.pc{flex:0 0 clamp(250px,24vw,380px)!important;scroll-snap-align:start}
.pc .im{height:auto!important;aspect-ratio:4/5}
.dbar{height:2px;background:rgba(255,255,255,.2);margin:2vh 4vw 0}.dbar i{display:block;height:100%;width:10%;background:#fff;transition:width .2s}
@media(max-width:860px){.pc{flex-basis:72vw!important}.drop .head{padding-top:9vh}.drop .arrows button{width:46px;height:46px}.drop .dctl .mono{display:none}}
/* marquee separator = the BYESWRLD emblem instead of the red X */
.mq .t .mk{display:inline-block;height:1.15em;width:auto;vertical-align:middle;margin:0 .45em;position:relative;top:-.06em}
