/* fix-86: Knowledge Base, FAQ and ticket helper */
.kb-hero.is-compact .dpb-inner{min-height:0!important;padding-top:34px;padding-bottom:36px}
@media(min-width:681px){.kb-hero:not(.is-compact) .dpb-inner{min-height:400px}}
.kb-search{display:flex;align-items:center;gap:10px;background:#fff;border-radius:16px;padding:6px 6px 6px 18px;width:100%;max-width:680px;box-sizing:border-box;box-shadow:0 14px 34px rgba(20,8,90,.30);margin:4px 0 18px}
.kb-search svg{width:22px;height:22px;color:#63738d;flex:0 0 auto}
.kb-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:16px;color:#0b1b3b;height:48px;padding:0;margin:0;box-shadow:none}
.kb-search button{flex:0 0 auto;height:48px;padding:0 22px;border:0;border-radius:12px;background:#5b2fe8;color:#fff;font:inherit;font-weight:600;font-size:15px;cursor:pointer}
.kb-search button:hover{background:#4a22d6}
.kb-search.is-small{max-width:560px;margin:14px 0 0}
.kb-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.kb-chips span{font-size:14px;font-weight:600;color:rgba(255,255,255,.85);margin-right:2px}
.kb-chips a{display:inline-block;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:13.5px;font-weight:600;text-decoration:none}
.kb-chips a:hover{background:#fff;color:#3b1fb0}

.kb-page{max-width:1180px;margin:0 auto;padding:36px 22px 56px;box-sizing:border-box}
.kb-section{margin-bottom:40px}
.kb-section h2,.faq-group h2{font-size:28px;font-weight:700;color:#0b1b3b;margin:0 0 18px}
.kb-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.kb-cat{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #e3e9f3;border-radius:16px;padding:20px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.kb-cat:hover{border-color:#b9c7ea;box-shadow:0 12px 28px rgba(40,20,120,.08);transform:translateY(-2px)}
.kb-cat-ic{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:#f1f5fb;color:#334155;display:grid;place-items:center}
.kb-svg{width:22px;height:22px;stroke-width:1.6}
.kb-cat-txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.kb-cat-txt b{font-size:16.5px;color:#0b1b3b}
.kb-cat-txt small{font-size:13.5px;color:#63738d;line-height:1.45}
.kb-cat-txt em{font-style:normal;font-size:13px;font-weight:700;color:#5b2fe8;margin-top:4px}

.kb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.kb-list--grid{display:grid;grid-template-columns:repeat(2,1fr)}
.kb-list a{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #e3e9f3;border-radius:14px;padding:16px 44px 16px 18px;text-decoration:none;color:inherit;position:relative}
.kb-list a::after{content:"→";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#8a87a6;transition:transform .15s,color .15s}
.kb-list a:hover{border-color:#b9c7ea}
.kb-list a:hover::after{color:#5b2fe8;transform:translate(3px,-50%)}
.kb-list b{font-size:15.5px;color:#0b1b3b}
.kb-list span{font-size:13.5px;color:#63738d}
.kb-count{font-size:15px;color:#334155;margin:0 0 14px}
.kb-empty{background:#fff;border:1px dashed #d9e2ef;border-radius:14px;padding:22px;color:#334155;margin-bottom:24px}

.kb-two{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start;margin-bottom:40px}
.kb-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid #e3e9f3;border-radius:16px;padding:12px}
.kb-side h3{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:#63738d;margin:6px 10px 8px}
.kb-side a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:#334155;text-decoration:none;font-size:14.5px;font-weight:600;line-height:1.35}
.kb-side a:hover{background:#f6f8fc}
.kb-side a.is-on{background:#f1ecff;color:#4a22d6}
.kb-side .kb-svg{width:18px;height:18px;flex:0 0 auto}
.kb-side .kb-side-all{margin-top:6px;border-top:1px solid #eeebf6;border-radius:0 0 10px 10px;padding-top:12px;color:#5b2fe8}

.kb-article{background:#fff;border:1px solid #e3e9f3;border-radius:18px;padding:30px 34px;font-size:16px;line-height:1.7;color:#1e293b}
.kb-article p{margin:0 0 16px}
.kb-article ol,.kb-article ul{margin:0 0 18px;padding-left:22px}
.kb-article li{margin-bottom:8px}
.kb-article ol li::marker{font-weight:700;color:#5b2fe8}
.kb-note{border-radius:12px;padding:12px 16px;margin:0 0 18px;font-size:15px}
.kb-note b{margin-right:4px}
.kb-tip{background:#eefaf2;border:1px solid #c9ecd6;color:#14532d}
.kb-warn{background:#fff7ec;border:1px solid #fbdcb0;color:#7c2d12}
.kb-help{display:flex;flex-direction:column;gap:6px;margin-top:26px;padding:20px;border-radius:14px;background:#f6f8fc;border:1px solid #e3e9f3}
.kb-help b{font-size:17px;color:#0b1b3b}
.kb-help span{font-size:14.5px;color:#334155}
.kb-help div{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}

.kb-cta{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;background:#fff;border:1px solid #e3e9f3;border-radius:18px;padding:24px 28px}
.kb-cta>div:first-child{display:flex;flex-direction:column;gap:4px}
.kb-cta b{font-size:19px;color:#0b1b3b}
.kb-cta span{color:#63738d;font-size:14.5px}
.kb-cta-btns{display:flex;flex-wrap:wrap;gap:10px}

.faq-group{margin-bottom:30px;scroll-margin-top:100px}
.faq{background:#fff;border:1px solid #e3e9f3;border-radius:14px;margin-bottom:10px}
.faq summary{list-style:none;cursor:pointer;padding:16px 48px 16px 18px;font-weight:700;font-size:15.5px;color:#0b1b3b;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;color:#5b2fe8}
.faq[open] summary::after{content:"−"}
.faq p{margin:0;padding:0 18px 18px;color:#334155;line-height:1.65;font-size:15px}

/* ticket form: suggested articles while typing */
.kb-suggest{border:1px solid #d9e2ef;background:#f6f8fc;border-radius:14px;padding:14px 16px;margin:4px 0 16px}
.kb-suggest[hidden]{display:none}
.kb-suggest-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:#0b1b3b;margin-bottom:8px}
.kb-suggest-h svg{width:18px;height:18px;color:#5b2fe8}
.kb-suggest ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.kb-suggest a{color:#4a22d6;font-weight:600;font-size:14.5px;text-decoration:none}
.kb-suggest a:hover{text-decoration:underline}
.kb-suggest small{display:block;color:#63738d;font-size:12.5px;margin-top:8px}

/* math check */
.mc-field{display:flex;flex-direction:column;gap:6px;margin:4px 0 16px;max-width:260px}
.mc-field span b{color:#0b1b3b}
.mc-field{font-size:14px;font-weight:600;color:#334155}
.mc-field input{width:100%;box-sizing:border-box;min-height:46px;padding:0 14px;font-size:15px;border-radius:10px;border:1.5px solid #d9e2ef;background:#fff;color:#0b1b3b;margin:0}
.mc-field input:focus{outline:none;border-color:#5b2fe8;box-shadow:0 0 0 3px rgba(91,47,232,.14)}
.ct-card .mc-field+.btn{margin-top:4px}

@media(max-width:980px){.kb-cats{grid-template-columns:repeat(2,1fr)}.kb-two{grid-template-columns:1fr}.kb-side{position:static}.kb-two:has(.kb-article) .kb-side{order:2}}
@media(max-width:640px){
  .kb-cats,.kb-list--grid{grid-template-columns:1fr}
  .kb-page{padding:24px 16px 40px}
  .kb-article{padding:20px 18px}
  .kb-search{padding-left:12px}.kb-search button{padding:0 14px}
  .kb-search input{font-size:15px}
  .kb-chips span{width:100%}
}

/* contact page (fix-86) */
.ct-login{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;background:#f6f8fc;border:1px solid #d9e2ef;border-radius:14px;padding:16px 18px;margin:12px 0 4px}
.ct-login>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 240px}
.ct-login b{font-size:15.5px;color:#0b1b3b}
.ct-login span{font-size:13.5px;color:#475569;line-height:1.45}
.ct-card .ct-login .btn{margin-top:0;white-space:nowrap}
.ct-or{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:#63738d;font-size:13.5px;font-weight:700}
.ct-or::before,.ct-or::after{content:"";flex:1;height:1px;background:#e3e9f3}
.ct-card .mc-field{margin-top:14px}
.ct-more{display:block;margin-top:12px;font-size:13.5px;color:#5b2fe8;font-weight:600}

/* contact page tabs + Call PIN (fix-87) */
.ct-tabs{display:flex;gap:6px;background:#f1f5fb;border-radius:12px;padding:5px;margin:12px 0 16px}
.ct-tabs a{flex:1;text-align:center;border-radius:9px;padding:10px 8px;font-weight:700;color:#63738d;text-decoration:none;font-size:14.5px}
.ct-tabs a:hover{color:#4a22d6}
.ct-tabs a.is-on{background:#fff;color:#4a22d6;font-weight:700;box-shadow:0 2px 6px rgba(40,20,120,.08)}
.ct-hint{font-size:13.5px;color:#475569;background:#f6f8fc;border:1px solid #e3e9f3;border-radius:12px;padding:10px 14px;margin:0 0 16px;line-height:1.5}
.ct-hint a{color:#4a22d6}
.ct-pin{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;background:#f6f8fc;border:1px solid #e3e9f3;border-radius:14px;padding:16px;margin:16px 0 0}
.ct-pin label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#334155;margin:0}
.ct-pin input{width:190px;height:48px;margin:0;border:1.5px solid #d9e2ef;border-radius:10px;padding:0 14px;font-size:18px;font-weight:700;letter-spacing:6px;background:#fff;color:#0b1b3b}
.ct-pin input:focus{outline:none;border-color:#5b2fe8;box-shadow:0 0 0 3px rgba(91,47,232,.14)}
.ct-pin input.is-ok{border-color:#16a34a}
.ct-pin input.is-bad{border-color:#dc2626}
.ct-pin-msg{flex:1 1 220px;padding-bottom:6px;display:flex;flex-direction:column;gap:5px}
.ct-pin-msg small{color:#63738d;font-size:12.5px;line-height:1.45}
.ct-pin-ok{align-self:flex-start;display:inline-flex;font-size:12.5px;font-weight:700;color:#15803d;background:#ecfdf3;border:1px solid #bbf0cf;border-radius:999px;padding:3px 10px}
.ct-pin-bad{align-self:flex-start;display:inline-flex;font-size:12.5px;font-weight:700;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;padding:3px 10px}
.ct-fine{display:block;color:#63738d;margin-top:12px;font-size:12.5px}
.ct-login-btns{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:640px){.ct-pin input{width:100%}.ct-pin label{flex:1 1 100%}.ct-tabs a{font-size:13.5px;padding:9px 4px}}
