/* FHJCIS extras v1 — FHJ-Bot, free resources, FAQ, social icons */

/* ---------- social icons (footer) ---------- */
.soc{display:flex;gap:10px;margin-top:20px}
.soc a{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#dbe4ff;transition:transform .2s,background .2s,color .2s,border-color .2s}
.soc a:hover,.soc a:focus-visible{background:var(--grad);color:#06102a;border-color:transparent;transform:translateY(-3px)}
.soc svg{width:19px;height:19px;fill:currentColor}

/* ---------- FHJ-Bot ---------- */
.fb-root{--fb-ink:#0a0f2c;font-family:'Inter',system-ui,sans-serif}
.fb-launch{position:fixed;right:22px;bottom:96px;z-index:96;display:flex;align-items:center;gap:10px;padding:6px 18px 6px 6px;border:0;border-radius:999px;cursor:pointer;color:#eef2ff;background:linear-gradient(135deg,#1b2a8f,#0f6b7d 60%,#2f7d1f);box-shadow:0 14px 34px rgba(11,18,54,.45),0 0 0 1px rgba(255,255,255,.14) inset;font:600 .92rem/1 'Inter',system-ui,sans-serif;transition:transform .25s,box-shadow .25s}
.fb-launch:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(37,71,232,.5),0 0 0 1px rgba(255,255,255,.2) inset}
.fb-launch:focus-visible,.fb-close:focus-visible,.fb-chip:focus-visible,.fb-send:focus-visible,.fb-in:focus-visible,.fb-act:focus-visible{outline:3px solid #b7f34a;outline-offset:2px}
.fb-launch .fb-av{width:44px;height:44px}
.fb-av{flex:none;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 0 0 2px rgba(183,243,74,.8)}
.fb-av img{width:78%;height:78%;object-fit:contain}
.fb-dot{position:absolute;left:38px;top:4px;width:12px;height:12px;border-radius:50%;background:#34d399;border:2px solid #0f6b7d}
.fb-launch.open{display:none}
.fb-tip{position:fixed;right:22px;bottom:160px;z-index:96;max-width:230px;background:#fff;color:#0b1236;font:500 .86rem/1.4 'Inter',system-ui,sans-serif;padding:12px 34px 12px 14px;border-radius:14px 14px 4px 14px;box-shadow:0 14px 34px rgba(0,0,0,.28);animation:fbpop .4s ease both}
.fb-tip button{position:absolute;right:6px;top:6px;width:24px;height:24px;border:0;background:transparent;color:#4b587f;font-size:1.1rem;cursor:pointer;border-radius:50%}
@keyframes fbpop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.fb-panel{position:fixed;right:22px;bottom:22px;z-index:97;width:392px;max-width:calc(100vw - 24px);height:min(640px,calc(100dvh - 44px));display:none;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--fb-ink);color:#eef2ff;border:1px solid rgba(160,180,255,.22);box-shadow:0 30px 90px rgba(0,0,0,.55)}
.fb-panel.open{display:flex;animation:fbpop .28s ease both}
.fb-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(120deg,rgba(27,42,143,.95),rgba(15,107,125,.95) 60%,rgba(47,125,31,.95));border-bottom:1px solid rgba(255,255,255,.12)}
.fb-head .fb-av{width:42px;height:42px}
.fb-head b{display:block;font:700 1rem/1.1 'Sora',system-ui,sans-serif;letter-spacing:-.01em}
.fb-head small{display:block;font-size:.74rem;color:#d4f5ff;margin-top:3px}
.fb-close{margin-left:auto;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;font-size:1.2rem;cursor:pointer;line-height:1}
.fb-close:hover{background:rgba(255,255,255,.2)}
.fb-log{flex:1;overflow-y:auto;padding:16px 14px 6px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;overscroll-behavior:contain}
.fb-msg{max-width:88%;padding:11px 14px;border-radius:16px;font-size:.9rem;line-height:1.55;word-wrap:break-word;overflow-wrap:anywhere}
.fb-msg.bot{align-self:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(160,180,255,.16);border-bottom-left-radius:5px;color:#eef2ff}
.fb-msg.me{align-self:flex-end;background:linear-gradient(100deg,#b7f34a,#34d399 40%,#22d3ee);color:#06102a;font-weight:500;border-bottom-right-radius:5px}
.fb-msg p+p{margin-top:8px}
.fb-msg ul{margin:6px 0 0 18px}.fb-msg li{margin:2px 0}
.fb-msg a{color:#8ee9ff;text-decoration:underline;text-underline-offset:2px}
.fb-msg b,.fb-msg strong{color:#fff}
.fb-typing{display:inline-flex;gap:4px;padding:2px 0}.fb-typing i{width:7px;height:7px;border-radius:50%;background:#8aa0e6;animation:fbdot 1s infinite}.fb-typing i:nth-child(2){animation-delay:.15s}.fb-typing i:nth-child(3){animation-delay:.3s}
@keyframes fbdot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.fb-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fb-act{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;font:700 .8rem/1 'Inter',system-ui,sans-serif;text-decoration:none!important;color:#06102a!important;background:#25d366;border:0;cursor:pointer}
.fb-act.mail{background:#fff}.fb-act.alt{background:rgba(255,255,255,.14);color:#fff!important;border:1px solid rgba(255,255,255,.3)}
.fb-act:hover{filter:brightness(1.08)}
.fb-act svg{width:15px;height:15px;fill:currentColor;flex:none}
.fb-chips{display:flex;gap:8px;overflow-x:auto;padding:8px 14px 10px;scrollbar-width:thin;flex:none;-webkit-overflow-scrolling:touch}
.fb-chips.wrap{flex-wrap:wrap;overflow:visible;max-height:none}
.fb-chip{flex:none;padding:8px 13px;border-radius:999px;border:1px solid rgba(183,243,74,.55);background:rgba(183,243,74,.08);color:#e6ffb8;font:600 .8rem/1 'Inter',system-ui,sans-serif;cursor:pointer;white-space:nowrap;transition:background .2s}
.fb-chip:hover{background:rgba(183,243,74,.2)}
.fb-form{display:flex;gap:8px;padding:10px 12px 8px;border-top:1px solid rgba(160,180,255,.16);background:rgba(255,255,255,.03);flex:none}
.fb-in{flex:1;min-width:0;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(5,7,26,.7);color:#fff;padding:12px 16px;font:400 16px/1.2 'Inter',system-ui,sans-serif}
.fb-in::placeholder{color:#8f9bc7}
.fb-send{flex:none;width:46px;height:46px;border-radius:50%;border:0;background:linear-gradient(100deg,#b7f34a,#34d399 40%,#22d3ee);color:#06102a;cursor:pointer;display:grid;place-items:center}
.fb-send svg{width:20px;height:20px;fill:currentColor}
.fb-foot{padding:0 14px 10px;font-size:.7rem;color:#8f9bc7;text-align:center;flex:none;background:rgba(255,255,255,.03)}
.fb-foot a{color:#8ee9ff}
.fb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:560px){
  .fb-launch{right:16px;bottom:84px;padding-right:14px}
  .fb-tip{right:16px;bottom:146px}
  .fb-panel{right:0;bottom:0;left:0;width:100%;max-width:100%;border-radius:20px 20px 0 0;top:8px;height:auto}
}
@media (prefers-reduced-motion:reduce){.fb-panel.open,.fb-tip{animation:none}.fb-typing i{animation:none}.fb-log{scroll-behavior:auto}}
@media print{.fb-root{display:none}}

/* ---------- Free resources ---------- */
.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch}
.res-card{background:#fff;border:1px solid #e3e8f8;border-radius:26px;overflow:hidden;box-shadow:0 14px 44px rgba(11,18,54,.08);color:var(--ink);display:flex;flex-direction:column}
.res-top{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:26px 26px 18px;align-items:start}
.res-cover{border-radius:10px;box-shadow:0 18px 40px -12px rgba(11,18,54,.5);width:150px;height:auto;aspect-ratio:1/1.414;background:#0b1132}
.res-card h3{font-size:1.28rem;font-weight:800;margin:6px 0 8px;line-height:1.15}
.res-card .tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#0a8f7a}
.res-card p{font-size:.93rem;color:var(--inkmuted)}
.res-card ul{margin:10px 0 0 18px;font-size:.88rem;color:var(--inkmuted)}.res-card li{margin:3px 0}
.res-meta{font-size:.78rem;color:#6a7599;margin-top:10px}
.res-act{padding:0 26px 24px;margin-top:auto}
.res-act .btn{width:100%}
.res-form{display:none;padding:4px 26px 26px;border-top:1px dashed #d9e0f3;margin-top:4px}
.res-card.open .res-form{display:block;padding-top:20px}
.res-card.open .res-toggle{display:none}
.res-form .fld{margin-bottom:13px}
.res-form label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#3b4876;margin-bottom:6px;text-transform:uppercase}
.res-form input[type=text],.res-form input[type=tel],.res-form input[type=email],.res-form select{width:100%;background:#f4f7ff;border:1px solid #d3dbf2;border-radius:14px;padding:13px 15px;color:var(--ink);font:inherit;font-size:.95rem}
.res-form input:focus,.res-form select:focus{outline:none;border-color:#2547e8;box-shadow:0 0 0 4px rgba(37,71,232,.14)}
.res-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.res-form .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.res-form .priv{font-size:.78rem;color:#5d6a92;margin-top:12px;line-height:1.5}
.res-form .priv a{text-decoration:underline;color:#2547e8}
.res-form .err{display:none;margin:10px 0 0;padding:11px 14px;border-radius:12px;background:#fff1f0;color:#a12a1f;font-size:.86rem;border:1px solid #f5c2bd}
.res-form .err.show{display:block}
.res-form .err a{text-decoration:underline;font-weight:700}
.res-form button[type=submit]{width:100%;margin-top:6px}
.res-ok{display:none;padding:22px 26px 26px;border-top:1px dashed #d9e0f3;margin-top:4px}
.res-card.done .res-form{display:none!important}.res-card.done .res-ok{display:block}.res-card.done .res-toggle{display:none}
.res-ok h4{font-size:1.1rem;margin-bottom:6px}
.res-ok .btn{margin:10px 8px 0 0;font-size:.88rem;padding:12px 22px}
.res-trust{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:34px;font-size:.88rem;color:var(--inkmuted)}
.res-trust span::before{content:"✓ ";color:#0fa37f;font-weight:800}
@media (max-width:900px){.res-grid{grid-template-columns:1fr}}
@media (max-width:480px){.res-top{grid-template-columns:96px 1fr;gap:16px;padding:20px 18px 14px}.res-cover{width:96px}.res-act{padding:0 18px 20px}.res-form,.res-ok{padding-left:18px;padding-right:18px}.res-form .row2{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq-list{max-width:900px;margin:0 auto;display:grid;gap:12px}
.faq-item{background:#fff;border:1px solid #e3e8f8;border-radius:18px;box-shadow:0 8px 24px rgba(11,18,54,.05);overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 56px 18px 22px;font-family:var(--display);font-weight:700;font-size:1.04rem;letter-spacing:-.01em;color:var(--ink);position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;color:#2547e8;font-weight:800;font-size:1.1rem;line-height:1}
.faq-item[open] summary::after{content:"–"}
.faq-item summary:focus-visible{outline:3px solid #2547e8;outline-offset:-3px}
.faq-item .ans{padding:0 22px 20px;color:var(--inkmuted);font-size:.96rem}
.faq-item .ans a{color:#2547e8;text-decoration:underline}
.faq-cta{text-align:center;margin-top:28px}
.s-light .faq-cta .btn-primary{color:#06102a}
.res-cta-wide{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:30px}

/* ---------- utilities ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.foot .fh{font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:1.08;color:var(--text);margin-bottom:16px;font-size:1rem}
.step h3{margin:14px 0 4px;font-size:1.02rem}
/* pages with their own bottom-right WhatsApp button (PaperAudit Pro) */
body:has(.fx-wa) .fb-launch{bottom:142px}
body:has(.fx-wa) .fb-tip{bottom:206px}
