/* ============================================================
   在线咨询浮层 zxzx  —  028edu / upzikao 共用
   仅移动端：底部抽屉（≤768px）。桌面端整块不渲染。

   主题色通过 --zx-brand / --zx-accent 注入，
   各站在自己的 style.css 里覆盖即可：
     :root{ --zx-brand:#0d6e5c; --zx-brand-dark:#0a5447; --zx-accent:#c2410c; }
   ============================================================ */

:root{
  --zx-brand:#0d6e5c;
  --zx-brand-dark:#0a5447;
  --zx-accent:#c2410c;
  --zx-max:420px;
}

/* 桌面端整体不渲染（display:none 已足够，再加 visibility 双保险） */
.zx{display:none !important;visibility:hidden !important;}

@media(max-width:768px){
  .zx{
    display:block !important;
    visibility:visible !important;
  }
  .zx *{box-sizing:border-box;}

  /* ---------- 遮罩 ---------- */
  .zx-mask{
    position:fixed;inset:0;z-index:1200;
    background:rgba(15,23,32,.55);
    opacity:0;visibility:hidden;
    transition:opacity .22s ease,visibility .22s ease;
  }
  .zx-mask.on{opacity:1;visibility:visible;}

  /* ---------- 面板：底部抽屉 ---------- */
  .zx-panel{
    position:fixed;z-index:1201;left:0;right:0;bottom:0;
    max-width:var(--zx-max);width:100%;margin:0 auto;
    background:#fff;color:#1f2328;
    border-radius:16px 16px 0 0;
    transform:translateY(100%);
    transition:transform .26s cubic-bezier(.22,.61,.36,1);
    max-height:92vh;display:flex;flex-direction:column;
    box-shadow:0 -6px 28px rgba(15,23,32,.2);
  }
  .zx-mask.on .zx-panel{transform:translateY(0);}

  /* ---------- 头部 ---------- */
  .zx-head{
    position:relative;flex:0 0 auto;
    padding:16px 18px 12px;
    border-bottom:1px solid #e5e8eb;
    background:#fff;
  }
  /* 顶部拖拽条 */
  .zx-head::before{
    content:"";position:absolute;left:50%;top:7px;transform:translateX(-50%);
    width:36px;height:4px;border-radius:2px;background:#d7dce1;
  }
  .zx-hd-t{
    margin:8px 0 2px;font-size:17px;font-weight:600;line-height:1.4;
    display:flex;align-items:center;gap:7px;
  }
  .zx-hd-t svg{width:19px;height:19px;flex:0 0 auto;color:var(--zx-accent);}
  .zx-hd-s{margin:0;font-size:12.5px;line-height:1.6;color:#5b6570;}
  .zx-x{
    position:absolute;right:8px;top:10px;
    width:34px;height:34px;padding:0;border:0;background:none;
    font-size:24px;line-height:1;color:#8b949e;cursor:pointer;border-radius:50%;
  }
  .zx-x:hover{background:#f0f2f4;color:#5b6570;}

  /* ---------- 滚动内容区 ---------- */
  .zx-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 18px 18px;}

  /* ---------- 快捷问题 ---------- */
  .zx-lab{
    font-size:12.5px;color:#5b6570;margin:0 0 8px;
    display:flex;align-items:center;gap:6px;
  }
  .zx-lab b{color:#1f2328;font-weight:600;}
  .zx-quick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;}
  .zx-q{
    padding:7px 13px;border-radius:16px;
    border:1px solid #dfe3e7;background:#f7f9fa;
    font-size:13px;color:#3a4249;line-height:1.4;cursor:pointer;
    font-family:inherit;transition:all .15s;
    -webkit-tap-highlight-color:transparent;
  }
  .zx-q:hover{border-color:var(--zx-brand);color:var(--zx-brand);}
  .zx-q.on{
    background:var(--zx-brand);border-color:var(--zx-brand);
    color:#fff;font-weight:600;
  }

  /* ---------- 表单 ---------- */
  .zx-f{margin:0;}
  .zx-row{margin:0 0 11px;}
  .zx-row label{
    display:block;font-size:13px;color:#3a4249;margin:0 0 5px;font-weight:500;
  }
  .zx-row label i{color:#dc2626;font-style:normal;}
  .zx-in{
    width:100%;height:42px;padding:0 12px;
    border:1px solid #dfe3e7;border-radius:8px;
    font-size:15px;font-family:inherit;color:#1f2328;
    background:#fff;outline:none;
    -webkit-appearance:none;appearance:none;
  }
  .zx-in:focus{border-color:var(--zx-brand);box-shadow:0 0 0 3px rgba(13,110,92,.12);}
  .zx-sel{
    background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6570' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 10px center;background-size:17px;
    padding-right:34px;
  }
  .zx-ta{height:auto;min-height:62px;padding:10px 12px;line-height:1.6;resize:vertical;}

  /* 双列 */
  .zx-two{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0 0 11px;}

  /* ---------- 提交按钮 ---------- */
  .zx-submit{
    display:block;width:100%;height:46px;margin:4px 0 0;
    border:0;border-radius:23px;
    background:var(--zx-accent);color:#fff;
    font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;
    transition:background .16s,opacity .16s;
  }
  .zx-submit:hover{background:#a8370a;}
  .zx-submit:disabled{opacity:.6;cursor:not-allowed;}
  .zx-note{
    margin:10px 0 0;font-size:11.5px;line-height:1.65;color:#8b949e;
  }

  /* ---------- 微信兜底 ---------- */
  .zx-alt{
    margin:14px 0 0;padding:12px 14px;border-radius:10px;
    background:#f7f9fa;border:1px solid #e5e8eb;
    display:flex;align-items:center;gap:12px;
  }
  .zx-alt-t{flex:1;min-width:0;font-size:13px;line-height:1.6;color:#5b6570;}
  .zx-alt-t b{display:block;color:#1f2328;font-size:13.5px;font-weight:600;margin-bottom:1px;}
  .zx-alt-btn{
    flex:0 0 auto;padding:8px 15px;border-radius:18px;
    border:1px solid var(--zx-brand);background:#fff;
    color:var(--zx-brand);font-size:13px;font-weight:600;
    font-family:inherit;cursor:pointer;white-space:nowrap;
  }
  .zx-alt-btn:hover{background:var(--zx-brand);color:#fff;}

  /* ---------- 提交成功态 ---------- */
  .zx-ok{display:none;text-align:center;padding:30px 18px 26px;}
  .zx-ok.on{display:block;}
  .zx-ok-ic{
    width:56px;height:56px;margin:0 auto 14px;border-radius:50%;
    background:#e6f4f0;display:flex;align-items:center;justify-content:center;
  }
  .zx-ok-ic svg{width:28px;height:28px;color:var(--zx-brand);}
  .zx-ok-t{margin:0 0 6px;font-size:17px;font-weight:600;}
  .zx-ok-s{margin:0 0 16px;font-size:13px;line-height:1.75;color:#5b6570;}
  .zx-ok-s b{color:var(--zx-accent);}
  .zx-ok-wx{
    display:inline-flex;align-items:center;gap:8px;
    padding:9px 18px;border-radius:20px;
    background:var(--zx-brand);color:#fff;font-size:14px;font-weight:600;
    text-decoration:none;
  }
  .zx-ok-wx:hover{background:var(--zx-brand-dark);color:#fff;}
  .zx-ok-wx svg{width:18px;height:18px;}

  /* ---------- 错误提示 ---------- */
  .zx-err{
    display:none;margin:0 0 12px;padding:9px 12px;border-radius:8px;
    background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;
    font-size:13px;line-height:1.6;
  }
  .zx-err.on{display:block;}

  /* ---------- 底部安全区 ---------- */
  .zx-safe{height:env(safe-area-inset-bottom,0px);flex:0 0 auto;background:#fff;}

  /* ---------- 微信二维码放大层 ---------- */
  .zx-wxmask{z-index:1300;align-items:center;justify-content:center;}
  .zx-wxmask .zx-panel{
    position:relative;left:auto;right:auto;bottom:auto;
    max-width:340px;width:340px;transform:none;
    border-radius:14px;padding:22px;text-align:center;
    max-height:none;
  }
  .zx-wxbox img{
    width:230px;height:230px;object-fit:contain;
    margin:0 auto 10px;border:1px solid #e5e8eb;border-radius:10px;display:block;
  }
  .zx-wxbox p{margin:0;font-size:13px;color:#5b6570;line-height:1.7;}
}