/* ZENITH SPA — 6-channel floating scaffold; independent of existing page styles. */
.zenith-floating {
  --zf-green:#263a30;
  position:fixed; z-index:85; right:max(12px,env(safe-area-inset-right)); top:50%;
  transform:translateY(-50%); display:flex; align-items:center; gap:12px;
  font-family:'Noto Sans KR',system-ui,sans-serif; pointer-events:none;
}
.zenith-floating :where(button,a){-webkit-tap-highlight-color:transparent}
.zenith-floating :where(button,a):focus-visible{outline:3px solid #c1a573;outline-offset:3px}
.zf-rail {
  pointer-events:auto; display:flex; flex-direction:column; align-items:center;
  gap:6px; padding:10px 7px 7px; border-radius:30px;
  background:rgba(33,49,39,.94); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(242,234,217,.19); box-shadow:0 13px 32px rgba(12,28,20,.23);
  order:2;
}
.zf-list{display:flex; flex-direction:column; align-items:center;gap:7px;}
.zf-item{position:relative; display:flex;align-items:center;justify-content:center;}
.zf-action{
  width:43px; height:43px; border:0; border-radius:50%;
  display:grid;place-items:center;cursor:pointer; padding:4px;
  background:#f8f7f2; color:#263a30; box-shadow:0 2px 8px rgba(0,0,0,.08);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.zf-action img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;}
.zf-action:hover{transform:scale(1.08);box-shadow:0 3px 13px #0002}
.zf-action[aria-expanded="true"]{box-shadow:0 0 0 2px #dec596,0 2px 9px #0003}
.zf-action.zf-pending{cursor:default;filter:saturate(.7);opacity:.72;}
.zf-action.zf-pending:hover{transform:none}
.zf-icon-fallback{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;font-size:12px;font-weight:800;letter-spacing:-.06em;}
.zf-item--kakao .zf-icon-fallback{background:#ffe65b;color:#331e17;font-size:10px}
.zf-item--telegram .zf-icon-fallback{background:#189cdd;color:white;font-size:24px}
.zf-item--line .zf-icon-fallback{background:#13c563;color:white;font-size:10px}
.zf-item--zalo .zf-icon-fallback{background:#f3f7ff;color:#0964e7;font-size:13px}
.zf-item--whatsapp .zf-icon-fallback{background:#13bb65;color:white;font-size:23px}
.zf-item--phone .zf-icon-fallback{background:#d7bd92;color:#263a30;font-size:24px}
.zf-mobile-action{display:none}
.zf-toggle{
  width:37px;height:33px;display:grid;place-items:center;border:0;border-top:1px solid rgba(255,255,255,.24);
  padding:3px 2px 0;background:transparent;color:#e8e7dd;cursor:pointer;
}
.zf-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.zenith-floating.is-collapsed .zf-list{display:none}
.zenith-floating.is-collapsed .zf-toggle svg{transform:rotate(180deg)}
.zf-panel{
  pointer-events:auto; position:relative; order:1; width:292px; border-radius:17px;
  padding:23px 21px 22px; text-align:center; background:#fffefa; color:#2d3930;
  box-shadow:0 13px 47px rgba(17,25,21,.21); border:1px solid #e9e2d5;
  animation:zf-in .18s ease-out;
}
.zf-panel[hidden],.zf-panel-details[hidden]{display:none!important;}
.zf-panel::after{content:"";position:absolute;right:-6px;top:48%;width:11px;height:11px;background:#fffefa;border-top:1px solid #e9e2d5;border-right:1px solid #e9e2d5;transform:rotate(45deg)}
.zf-panel-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#68726b;font-size:25px;line-height:1;width:32px;height:32px;cursor:pointer}
.zf-panel-eyebrow{font-size:9px;letter-spacing:.15em;font-weight:700;color:#a18c6e;}
.zf-panel-details h2{margin:6px 0 4px!important;font-size:23px!important;line-height:1.35!important;letter-spacing:-.04em!important;font-weight:700!important}
.zf-panel-intro{font-size:12px!important;line-height:1.55!important;color:#747e73;margin:0 0 15px!important}
.zf-qr-box{display:flex;align-items:center;justify-content:center;width:224px;max-width:100%;height:224px;padding:8px;margin:auto;background:#fff;border:1px solid #ece8e0;border-radius:10px}
.zf-qr-box img{width:208px;height:208px;object-fit:contain;image-rendering:auto}
.zf-qr-placeholder{width:224px;max-width:100%;height:204px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;margin:auto;background:repeating-linear-gradient(45deg,#f8f6f1 0,#f8f6f1 7px,#f5f2ea 7px,#f5f2ea 14px);border:1px dashed #d8cebf;border-radius:11px;color:#a4967a}
.zf-qr-placeholder svg{width:69px;height:69px;fill:none;stroke:currentColor;stroke-width:4;stroke-linejoin:round}
.zf-qr-placeholder > span{font-size:50px;line-height:1}
.zf-qr-placeholder small{font-size:12px;letter-spacing:0;}
.zf-panel-link{display:flex;align-items:center;justify-content:center;gap:7px;margin:14px auto 0;min-height:41px;width:100%;border-radius:6px;background:#526a59;color:#fff;font-size:12px;font-weight:600;text-decoration:none}
.zf-panel-link:hover{background:#354b3b}
.zf-panel-wait{display:block;font-size:11px;color:#8f9087;margin-top:13px;}
.zf-phone-box{font-size:21px;font-weight:700;letter-spacing:.02em;word-break:break-all;padding:24px 4px;background:#f7f5f0;border-radius:8px}
@keyframes zf-in{from{opacity:0;transform:translateX(7px)}to{opacity:1;transform:translateX(0)}}
body.menu-open .zenith-floating{opacity:0;pointer-events:none;visibility:hidden}
@media(max-width:900px){
  .zenith-floating{right:max(5px,env(safe-area-inset-right));left:auto;top:48%;z-index:85;gap:0}
  .zf-rail{order:1;border-radius:27px;padding:7px 5px 5px;gap:4px;box-shadow:0 7px 24px #0003}
  .zf-list{gap:6px}
  .zf-action{width:39px;height:39px;padding:3px}
  .zf-desktop-action{display:none}
  .zf-mobile-action{display:grid}
  .zf-toggle{width:36px;height:30px}
  .zf-panel{display:none!important}
}
@media(max-width:370px), (max-height:600px){
  .zenith-floating{top:45%}
  .zf-action{width:36px;height:36px}
  .zf-rail{padding:5px 4px 3px}
  .zf-list{gap:4px;max-height:min(53dvh,290px);overflow-y:auto;scrollbar-width:none}
  .zf-list::-webkit-scrollbar{display:none}
}
@media(prefers-reduced-motion:reduce){.zf-action,.zf-toggle svg{transition:none}.zf-panel{animation:none}}


/* ZENITH floating rail: genuine library logo contours, no decorative halos */
.zf-rail { background:#1c3328; border:1px solid rgba(214,195,152,.48); padding:9px 7px 7px; border-radius:24px; box-shadow:0 8px 22px rgba(10,25,17,.25); }
.zf-list { gap:7px; }
.zf-action { width:44px; height:44px; padding:0; margin:0; border:0; background:transparent; border-radius:10px; overflow:hidden; box-shadow:none; }
.zf-action img { display:block; width:100%; height:100%; border-radius:10px; object-fit:contain; }
.zf-action:hover { transform:scale(1.045); box-shadow:none; }
.zf-action[aria-expanded="true"] { outline:2px solid #E9D19D; outline-offset:2px; box-shadow:none; }
.zf-action.zf-pending { opacity:1; filter:none; cursor:default; }
.zf-action.zf-pending:hover { transform:none; }
.zf-toggle { color:#efe6d6; }
@media (max-width:900px) {
  .zenith-floating { right:max(5px,env(safe-area-inset-right)); left:auto; top:48%; }
  .zf-rail { padding:7px 5px 5px; border-radius:20px; }
  .zf-action { width:40px; height:40px; min-width:40px; min-height:40px; border-radius:9px; }
  .zf-action img { border-radius:9px; }
  .zf-list { gap:5px; }
}
@media (max-width:370px), (max-height:600px) {
  .zf-action { width:37px; height:37px; min-width:37px; min-height:37px; }
  .zf-list { gap:4px; }
}
