/* GeneratePress wraps page templates in a constrained, flex content area. */
body.page-template-page-contact-us #page{width:100%;max-width:none;margin:0;padding:0}
body.page-template-page-contact-us #content{display:block;padding:0}
.kj-contact-page{
  width:100%;
  display:flow-root;
  background:#fff;
  --kj-accent:#0166ff;
  --kj-accent-dark:#0055d6;
  --kj-accent-soft:#edf4ff;
  --kj-text:#1c2430;
  --kj-muted:#6f7886;
  --kj-line:#e7ebf0;
  --kj-surface:#fff;
  --kj-shadow:0 24px 70px rgba(20,30,50,.09);
  --kj-radius-lg:22px;
  --kj-container:1120px;
  color:var(--kj-text);
  font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
}
.kj-contact-page *,.kj-contact-page *::before,.kj-contact-page *::after{box-sizing:border-box}
.kj-contact-page a{color:inherit}
.kj-contact-page button,.kj-contact-page input,.kj-contact-page select,.kj-contact-page textarea{font-family:inherit;line-height:inherit}
.kj-contact-page button{touch-action:manipulation}

.kj-contact-hero{
  color:#fff;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.15),transparent 28%),
    radial-gradient(circle at 82% 0,rgba(255,255,255,.09),transparent 24%),
    var(--kj-accent);
  padding:58px 24px 182px;
}
.kj-contact-hero__inner{max-width:820px;margin:0 auto;text-align:center}
.kj-contact-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;padding:6px 10px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.10);font-size:12px;font-weight:700;letter-spacing:.06em}
.kj-contact-hero__eyebrow i{width:7px;height:7px;border-radius:50%;background:#7ef0a8;box-shadow:0 0 0 4px rgba(126,240,168,.14)}
.kj-contact-hero h1{margin:0 0 14px;color:#fff;font-size:36px;font-weight:700;line-height:1.2;letter-spacing:-.02em}
.kj-contact-hero p{max-width:720px;margin:0 auto;color:rgba(255,255,255,.88);font-size:17px}

.kj-support-shell{width:min(calc(100% - 36px),var(--kj-container));margin:-138px auto 56px;background:var(--kj-surface);border:1px solid rgba(20,30,50,.08);border-radius:var(--kj-radius-lg);box-shadow:var(--kj-shadow);overflow:hidden;position:relative;z-index:5}
.kj-support-topbar{min-height:58px;padding:13px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fbfcfd;border-bottom:1px solid #edf0f4}
.kj-online-badge{display:flex;align-items:center;gap:9px;font-size:13px;color:#56606d;font-weight:600}
.kj-pulse{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.kj-topbar-note{font-size:13px;color:#8a93a0;text-align:right}
.kj-support-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;padding:44px 48px 48px}

.kj-support-info h2,.kj-ticket-head h2{margin:0;color:var(--kj-text);font-size:25px;line-height:1.3;letter-spacing:-.01em}
.kj-section-lead{margin:10px 0 0;color:var(--kj-muted);font-size:14px;line-height:1.75}
.kj-promise-list{display:grid;gap:10px;margin:24px 0 30px}
.kj-promise-item{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid #edf0f4;background:#fbfcfe;border-radius:12px}
.kj-promise-icon{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--kj-accent-soft);color:var(--kj-accent)}
.kj-promise-icon svg{width:15px;height:15px}
.kj-promise-text strong{display:block;font-size:14px;margin-bottom:1px}
.kj-promise-text span{display:block;font-size:13px;color:var(--kj-muted)}
.kj-contact-title{font-size:15px;font-weight:800;margin:0 0 12px}
.kj-channels{display:grid;gap:10px}
.kj-channel{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid var(--kj-line);border-radius:13px;background:#fff}
.kj-channel-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f4f6f8;color:#2e3742;font-size:17px;font-weight:800}
.kj-channel-icon svg{width:19px;height:19px}
.kj-channel-copy{min-width:0}
.kj-channel-name{font-size:13px;font-weight:700;color:#303946}
.kj-channel-value{margin-top:1px;font-size:13px;color:var(--kj-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kj-channel-actions{display:flex;gap:7px;align-items:center}
.kj-contact-page .kj-mini-btn{border:1px solid #dfe4ea;background:#fff;color:#45505e;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:700;line-height:1;cursor:pointer;text-decoration:none;transition:.15s ease}
.kj-contact-page .kj-mini-btn:hover{border-color:#bac3cf;color:var(--kj-accent);background:#fbfdff}
.kj-qr-panel{margin-top:14px;padding:15px;border-radius:14px;background:#f8fafc;border:1px solid #eef1f5}
.kj-qr-panel summary{cursor:pointer;list-style:none;font-size:13px;font-weight:700;color:#4f5967;display:flex;align-items:center;justify-content:space-between}
.kj-qr-panel summary::-webkit-details-marker{display:none}
.kj-qr-panel summary::after{content:"+";font-size:18px;color:#8a93a0;font-weight:500;line-height:1}
.kj-qr-panel[open] summary::after{content:"−"}
.kj-qr-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.kj-qr-item{text-align:center;font-size:12px;color:#66707e}
.kj-qr-img{aspect-ratio:1;width:100%;max-width:118px;margin:0 auto 6px;border-radius:10px;border:1px solid #e8ebef;background:#fff;display:block;object-fit:cover}

.kj-ticket-wrap{padding-left:42px;border-left:1px solid #edf0f4;min-width:0}
.kj-ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}
.kj-ticket-head p{margin:7px 0 0;color:var(--kj-muted);font-size:14px}
.kj-ticket-step{flex:none;background:var(--kj-accent-soft);color:var(--kj-accent);font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px}
.kj-cf7-slot{min-width:0}
.kj-admin-note{padding:14px 15px;border:1px dashed #cad3df;border-radius:12px;background:#fbfcfe;color:#5f6977;font-size:13px;line-height:1.7}
.kj-admin-note code{display:inline-block;margin-top:6px;padding:3px 6px;background:#f0f3f7;border-radius:5px;color:#394454;word-break:break-all}

/* Contact Form 7 */
.kj-contact-page .kj-ticket,.kj-contact-page .kj-ticket *,.kj-contact-page .kj-ticket *::before,.kj-contact-page .kj-ticket *::after{box-sizing:border-box}
.kj-contact-page .kj-ticket .wpcf7-form-control-wrap{display:block;width:100%}
.kj-contact-page .kj-ticket .wpcf7-not-valid-tip{display:block;margin-top:6px;color:#b42318;font-size:12px;line-height:1.45}
.kj-contact-page .kj-ticket .wpcf7-form-control.wpcf7-not-valid{border-color:#f0a5a0!important;box-shadow:0 0 0 3px rgba(180,35,24,.08)!important}
.kj-contact-page .kj-t-field{margin-bottom:18px}
.kj-contact-page .kj-t-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:14px;font-weight:700;color:#303946}
.kj-contact-page .kj-t-label em{font-style:normal;color:#d92d20;margin-left:2px}
.kj-contact-page .kj-t-optional{font-size:11px;color:#98a1ad;font-weight:500}
.kj-contact-page .kj-ticket input[type="text"],
.kj-contact-page .kj-ticket input[type="email"],
.kj-contact-page .kj-ticket select,
.kj-contact-page .kj-ticket textarea{width:100%;border:1px solid #dfe4ea;border-radius:10px;background:#fff;color:var(--kj-text);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}
.kj-contact-page .kj-ticket input[type="text"],.kj-contact-page .kj-ticket input[type="email"],.kj-contact-page .kj-ticket select{min-height:47px;padding:11px 13px}
.kj-contact-page .kj-ticket select{appearance:none;padding-right:38px}
.kj-contact-page .kj-ticket input::placeholder,.kj-contact-page .kj-ticket textarea::placeholder{color:#a6aebb}
.kj-contact-page .kj-ticket input[type="text"]:focus,.kj-contact-page .kj-ticket input[type="email"]:focus,.kj-contact-page .kj-ticket select:focus,.kj-contact-page .kj-ticket textarea:focus{border-color:var(--kj-accent);box-shadow:0 0 0 3px rgba(1,102,255,.11)}
.kj-contact-page .kj-t-select{position:relative}
.kj-contact-page .kj-select-arrow{position:absolute;right:13px;top:50%;transform:translateY(-52%);color:#8b94a1;pointer-events:none;z-index:2;font-size:16px}
.kj-contact-page .kj-t-help{margin:6px 0 0;font-size:12px;color:#8a93a0;line-height:1.55}
.kj-contact-page .kj-order-policy{margin:9px 0 0;padding:12px 13px;border-radius:10px;background:#f7f9fc;border:1px solid #e8edf3;color:#6f7886;font-size:12px;line-height:1.65}
.kj-contact-page .kj-order-policy strong{display:block;margin-bottom:3px;color:#374151;font-weight:800}
.kj-contact-page .kj-order-policy span{display:block}
.kj-contact-page .kj-order-policy a{display:inline-flex;margin-top:7px;color:var(--kj-accent);font-weight:700;text-decoration:none}
.kj-contact-page .kj-order-policy a:hover{text-decoration:underline}
.kj-contact-page .kj-t-msg{border:1px solid #dfe4ea;border-radius:11px;background:#fff;transition:border-color .15s,box-shadow .15s;overflow:hidden}
.kj-contact-page .kj-t-msg:focus-within{border-color:var(--kj-accent);box-shadow:0 0 0 3px rgba(1,102,255,.11)}
.kj-contact-page .kj-t-msg textarea{display:block;width:100%;height:145px;min-height:145px;padding:13px;border:0!important;border-radius:0!important;outline:none;resize:vertical;background:transparent;font-size:14px;line-height:1.65;color:var(--kj-text);box-shadow:none!important}
.kj-contact-page .kj-t-msgbar{min-height:52px;display:flex;align-items:center;gap:9px;padding:8px 10px;border-top:1px solid #f0f2f5;background:#fbfcfd;position:relative}
.kj-contact-page .kj-file-input-wrap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.kj-contact-page .kj-t-upload{width:36px;height:36px;display:grid;place-items:center;border:1px dashed #c5ccd6;border-radius:9px;color:#7c8794;cursor:pointer;background:#fff;transition:.15s ease;flex:none;font-size:20px;line-height:1}
.kj-contact-page .kj-t-upload:hover{border-color:var(--kj-accent);color:var(--kj-accent)}
.kj-contact-page .kj-t-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#7d8794}
.kj-contact-page .kj-t-count{margin-left:auto;font-size:12px;color:#99a2ae;white-space:nowrap}
.kj-contact-page .kj-t-count .wpcf7-character-count{display:inline;background:none;border:0;padding:0;color:inherit;font-size:inherit}
.kj-contact-page .kj-t-actions{display:flex;align-items:center;gap:10px;margin-top:22px;position:relative}
.kj-contact-page .kj-ticket .wpcf7-submit{flex:1;min-height:48px;border:0;border-radius:10px;background:var(--kj-accent);color:#fff;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 9px 20px rgba(1,102,255,.18);transition:background .15s,transform .15s,opacity .15s;margin:0}
.kj-contact-page .kj-ticket .wpcf7-submit:hover{background:var(--kj-accent-dark)}
.kj-contact-page .kj-ticket .wpcf7-submit:active{transform:translateY(1px)}
.kj-contact-page .kj-ticket .wpcf7-submit:disabled{opacity:.58;cursor:not-allowed;transform:none}
.kj-contact-page .kj-ticket .wpcf7-spinner{position:absolute;left:12px;top:12px;margin:0;pointer-events:none}
.kj-contact-page .kj-t-reset{min-height:48px;padding:0 18px;border:1px solid #dfe4ea;border-radius:10px;background:#fff;color:#606a77;font-size:13px;font-weight:700;cursor:pointer}
.kj-contact-page .kj-t-reset:hover{border-color:#bdc6d1}
.kj-contact-page .kj-ticket .wpcf7-response-output{margin:14px 0 0!important;padding:13px 14px!important;border-radius:10px!important;font-size:13px;line-height:1.55}
.kj-contact-page .kj-ticket.sent .wpcf7-response-output{background:#edfdf3;color:#166534;border:1px solid #c7f0d5!important}
.kj-contact-page .kj-ticket.invalid .wpcf7-response-output,
.kj-contact-page .kj-ticket.unaccepted .wpcf7-response-output,
.kj-contact-page .kj-ticket.payment-required .wpcf7-response-output,
.kj-contact-page .kj-ticket.failed .wpcf7-response-output,
.kj-contact-page .kj-ticket.aborted .wpcf7-response-output,
.kj-contact-page .kj-ticket.spam .wpcf7-response-output{background:#fff3f1;color:#9f1f17;border:1px solid #ffd2ce!important}
.kj-contact-page .submit-footnote{margin:10px 0 0;font-size:11px;text-align:center;color:#9aa2ad}

.kj-copy-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);z-index:9999;padding:10px 14px;background:#18202b;color:#fff;border-radius:9px;font-size:13px;opacity:0;pointer-events:none;transition:.2s ease;box-shadow:0 10px 28px rgba(0,0,0,.16)}
.kj-copy-toast.is-show{opacity:1;transform:translate(-50%,0)}

@media(max-width:900px){
  .kj-support-grid{gap:30px;padding:36px 30px 38px}
  .kj-ticket-wrap{padding-left:30px}
}
@media(max-width:767px){
  .kj-contact-hero{padding:42px 20px 62px}
  .kj-contact-hero__inner{text-align:left}
  .kj-contact-hero h1{font-size:29px}
  .kj-contact-hero p{font-size:15px}
  .kj-contact-hero__eyebrow{margin-bottom:13px}
  .kj-support-shell{width:calc(100% - 24px);margin:-24px auto 34px;border-radius:18px}
  .kj-support-topbar{padding:12px 16px;align-items:flex-start}
  .kj-topbar-note{max-width:150px;font-size:11px;line-height:1.45}
  .kj-support-grid{grid-template-columns:1fr;padding:26px 18px 30px;gap:30px}
  .kj-ticket-wrap{order:1;padding:0;border:0}
  .kj-support-info{order:2;border-top:1px solid #edf0f4;padding-top:28px}
  .kj-ticket-head h2,.kj-support-info h2{font-size:22px}
  .kj-qr-row{grid-template-columns:repeat(3,1fr);gap:8px}
  .kj-channel{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:11px}
  .kj-channel-icon{width:40px;height:40px}
  .kj-channel-actions{gap:5px}
  .kj-contact-page .kj-mini-btn{padding:7px 8px;font-size:11px}
  .kj-contact-page .kj-t-actions{flex-direction:column}
  .kj-contact-page .kj-ticket .wpcf7-submit,.kj-contact-page .kj-t-reset{width:100%}
}
@media(max-width:420px){
  .kj-support-shell{width:calc(100% - 16px)}
  .kj-support-grid{padding-left:14px;padding-right:14px}
  .kj-support-topbar{padding-left:14px;padding-right:14px}
  .kj-open-label{display:none}
  .kj-qr-item{font-size:11px}
}
