/* Jamdip Door Cover — v1
   Every class is prefixed with jdc- so it never collides with the restaurant site's own CSS. */

html.jdc-pending{background:#140c0c}
html.jdc-pending body{visibility:hidden}
html.jdc-locked{overflow:hidden}

.jdc{
  --jdc-brass:#d9ac55; --jdc-muted:#b9a68c; --jdc-saffron:#ffb347; --jdc-cream:#f3e6cb;
  --jdc-display:"Lalezar","Vazirmatn",system-ui,sans-serif;
  --jdc-body:"Vazirmatn",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
  position:fixed;inset:0;z-index:2147483000;overflow:hidden;
  background:#140c0c;color:var(--jdc-cream);font-family:var(--jdc-body);direction:rtl;color-scheme:dark;
  visibility:visible;transition:opacity .6s;-webkit-user-select:none;user-select:none
}
.jdc *{box-sizing:border-box}
.jdc[hidden]{display:none!important}
.jdc.jdc-clear{background:transparent}
.jdc-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:block}
.jdc-back{z-index:0}
.jdc-front{z-index:3}
.jdc-stage{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
  padding-top:calc(env(safe-area-inset-top,0px) + 12px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 14px);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.jdc-area{position:relative;flex:1;min-height:0}
.jdc-scene{position:absolute;will-change:transform,opacity}
.jdc-frame{position:absolute;left:0;top:0;display:block}
.jdc-plaque{position:absolute;left:0;right:0;margin:0;text-align:center;font-family:var(--jdc-display);font-weight:400;
  background:linear-gradient(180deg,#f8e09c 12%,#d4a24b 55%,#8f6626 95%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 1.5px 0 rgba(0,0,0,.8));pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 26%}

.jdc-door{position:absolute;--open:0;--g:.6}
.jdc-leaf{position:absolute;top:0;height:calc(100% - 2px);width:calc(50% - 1px);transform-style:preserve-3d;will-change:transform}
.jdc-leaf.jdc-l{left:0;transform-origin:0 50%;transform:rotateY(calc(var(--open)*104deg))}
.jdc-leaf.jdc-r{right:0;transform-origin:100% 50%;transform:rotateY(calc(var(--open)*-104deg))}
.jdc-leaf canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.jdc-leaf .jdc-glow{opacity:var(--g)}
.jdc-leaf .jdc-shade{opacity:calc(var(--open)*.62)}
.jdc-door.jdc-idle .jdc-glow{animation:jdc-flick 3.4s ease-in-out infinite}
@keyframes jdc-flick{0%,100%{opacity:.34}14%{opacity:.48}22%{opacity:.3}38%{opacity:.44}52%{opacity:.36}64%{opacity:.52}80%{opacity:.31}}
.jdc-edge{position:absolute;top:0;height:100%;width:var(--t,8px);background:linear-gradient(90deg,#1e0f06,#5a341d 45%,#2a150a)}
.jdc-leaf.jdc-l .jdc-edge{right:0;transform-origin:100% 50%;transform:rotateY(-90deg)}
.jdc-leaf.jdc-r .jdc-edge{left:0;transform-origin:0 50%;transform:rotateY(90deg)}

/* brass ring knockers — the buttons */
.jdc-knock{position:absolute;padding:0;margin:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:18px;
  width:var(--kw);height:calc(var(--kw)*1.3);font:inherit;color:inherit}
.jdc-knock:focus-visible{outline:2px solid var(--jdc-saffron);outline-offset:3px}
.jdc-knock svg{position:absolute;left:0;width:100%;overflow:visible;display:block}
.jdc-knock .jdc-plate{top:0;height:calc(var(--kw)*.52);filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}
.jdc-knock .jdc-strike{top:calc(var(--kw)*1.02);left:24%;width:52%;height:calc(var(--kw)*.21);filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}
.jdc-hang{position:absolute;left:0;top:calc(var(--kw)*.22);width:100%;height:calc(var(--kw)*1.08);transform-origin:50% 6%;animation:jdc-sway 3s ease-in-out infinite}
.jdc-hang svg{top:0;height:100%;filter:drop-shadow(0 3px 3px rgba(0,0,0,.65)) drop-shadow(0 0 6px rgba(255,190,90,.45))}
.jdc-halo{position:absolute;left:50%;top:60%;width:190%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,206,120,.62) 0%,rgba(255,170,70,.3) 34%,rgba(255,150,50,0) 68%);
  transform:translate(-50%,-50%) scale(.55);animation:jdc-halo 2.4s ease-out infinite}
@keyframes jdc-halo{0%{opacity:.95;transform:translate(-50%,-50%) scale(.5)}80%,100%{opacity:0;transform:translate(-50%,-50%) scale(1.15)}}
@keyframes jdc-sway{0%,30%,100%{transform:rotate(0)}40%{transform:rotate(10deg)}52%{transform:rotate(-8deg)}64%{transform:rotate(5.5deg)}76%{transform:rotate(-3deg)}88%{transform:rotate(1.2deg)}}
.jdc-knock.jdc-r .jdc-halo,.jdc-knock.jdc-r .jdc-hang{animation-delay:.3s}
.jdc-knock:hover .jdc-hang svg{filter:drop-shadow(0 3px 3px rgba(0,0,0,.65)) drop-shadow(0 0 10px rgba(255,200,110,.8)) brightness(1.12)}
.jdc-knock.jdc-hit .jdc-hang{animation:jdc-knock .85s ease-in-out}
@keyframes jdc-knock{0%{transform:rotateX(0)}12%{transform:rotateX(62deg)}27%{transform:rotateX(0)}42%{transform:rotateX(56deg)}57%{transform:rotateX(0)}72%{transform:rotateX(50deg)}87%{transform:rotateX(0)}94%{transform:rotateX(7deg)}100%{transform:rotateX(0)}}
.jdc.jdc-busy .jdc-halo{animation:none;opacity:0}
.jdc.jdc-busy .jdc-knock:not(.jdc-hit) .jdc-hang{animation:none}

/* guiding hand: taps the right-hand knocker three times */
.jdc-hand{position:absolute;z-index:3;pointer-events:none;width:calc(var(--kw)*.62);height:calc(var(--kw)*.83);
  left:calc(50% - var(--kw)*.62*.4);top:calc(64% - var(--kw)*.83*.03);transform-origin:40% 3%;opacity:0;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.55));animation:jdc-hand 4.4s ease-in-out 1.2s infinite}
.jdc-hand svg{position:static;width:100%;height:100%;display:block}
@keyframes jdc-hand{
  0%{opacity:0;transform:translate(45%,70%) rotate(-10deg)}
  12%{opacity:1;transform:translate(0,10%) rotate(0)}
  18%{transform:translate(0,0) scale(.93)}22%{transform:translate(0,10%)}
  28%{transform:translate(0,0) scale(.93)}32%{transform:translate(0,10%)}
  38%{transform:translate(0,0) scale(.93)}46%{opacity:1;transform:translate(0,10%)}
  58%,100%{opacity:0;transform:translate(45%,70%) rotate(-10deg)}}
.jdc-tap{position:absolute;left:40%;top:3%;width:calc(var(--kw)*.5);aspect-ratio:1;border-radius:50%;border:2px solid rgba(255,214,140,.95);
  transform:translate(-50%,-50%) scale(.2);opacity:0;animation:jdc-tap 4.4s ease-out 1.2s infinite}
@keyframes jdc-tap{0%,17.9%{opacity:0;transform:translate(-50%,-50%) scale(.2)}18%{opacity:.95}24%{opacity:0;transform:translate(-50%,-50%) scale(1)}
  27.9%{opacity:0;transform:translate(-50%,-50%) scale(.2)}28%{opacity:.95}34%{opacity:0;transform:translate(-50%,-50%) scale(1)}
  37.9%{opacity:0;transform:translate(-50%,-50%) scale(.2)}38%{opacity:.95}44%{opacity:0;transform:translate(-50%,-50%) scale(1)}100%{opacity:0}}
.jdc.jdc-busy .jdc-hand,.jdc.jdc-nohand .jdc-hand{display:none}

.jdc-ui{position:relative;z-index:4;flex:none;display:flex;justify-content:center;padding-top:12px;text-align:center;transition:opacity .4s}
.jdc-hint{margin:0;font-size:15px;font-weight:600;line-height:1.6;display:flex;align-items:center;gap:10px}
.jdc-hint i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--jdc-saffron);animation:jdc-dot 2.4s ease-out infinite}
@keyframes jdc-dot{0%{box-shadow:0 0 0 0 rgba(255,179,71,.6)}80%,100%{box-shadow:0 0 0 10px rgba(255,179,71,0)}}
.jdc.jdc-busy .jdc-ui{opacity:0}

/* music on/off — stays on the page after the cover closes */
.jdc-sound{position:fixed;z-index:2147483001;top:calc(12px + env(safe-area-inset-top,0px));left:calc(12px + env(safe-area-inset-left,0px));
  width:46px;height:46px;padding:0;margin:0;border-radius:50%;border:1.5px solid #d9ac55;cursor:pointer;
  background:rgba(20,13,13,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center}
.jdc-sound[hidden]{display:none!important}
.jdc-sound:focus-visible{outline:2px solid #ffb347;outline-offset:3px}
.jdc-bars{display:flex;align-items:flex-end;gap:3px;height:16px}
.jdc-bars i{display:block;width:3px;height:30%;background:#d9ac55;border-radius:2px}
.jdc-sound[aria-pressed="true"] .jdc-bars i{animation:jdc-eq 1s ease-in-out infinite}
.jdc-sound[aria-pressed="true"] .jdc-bars i:nth-child(2){animation-delay:-.3s}
.jdc-sound[aria-pressed="true"] .jdc-bars i:nth-child(3){animation-delay:-.6s}
.jdc-sound[aria-pressed="true"] .jdc-bars i:nth-child(4){animation-delay:-.15s}
.jdc-sound[aria-pressed="false"]{border-color:#b9a68c}
.jdc-sound[aria-pressed="false"] .jdc-bars i{background:#b9a68c}
@keyframes jdc-eq{0%,100%{height:25%}50%{height:100%}}

@media (prefers-reduced-motion:reduce){
  .jdc-halo,.jdc-hang,.jdc-hint i,.jdc-door.jdc-idle .jdc-glow,.jdc-bars i,.jdc-tap{animation:none!important}
  .jdc-hand{animation:none!important;opacity:.9}
}
