/* ==========================================================================
   FarsKids — فرم تماس اختصاصی  [fk_contact_form]
   هماهنگ با رنگ‌بندی قالب: بنفش (#7c3aed) → سرخابی (#c026d3) روی زمینهٔ تیره
   ========================================================================== */
.fk-cf{
    --cf-a:#7c3aed;--cf-b:#c026d3;--cf-hi:#d8b4fe;
    --cf-line:rgba(255,255,255,.10);--cf-mute:#a8a1b3;
    --cf-ease:cubic-bezier(.22,1,.36,1);--cf-spring:cubic-bezier(.34,1.5,.5,1);
    position:relative;isolation:isolate;overflow:hidden;direction:rtl;text-align:right;
    margin:8px 0 4px;padding:28px;border-radius:26px;color:#f5f3f7;font-family:inherit;
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));
    border:1px solid var(--cf-line);
    box-shadow:0 30px 70px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.06);
}.fk-cf *{box-sizing:border-box}/* animated gradient edge on top */
.fk-cf::before{
    content:"";position:absolute;inset:0 0 auto 0;height:3px;z-index:2;
    background:linear-gradient(90deg,var(--cf-a),var(--cf-b),#06b6d4,var(--cf-b),var(--cf-a));
    background-size:300% 100%;animation:fkCfEdge 7s linear infinite;
}
@keyframes fkCfEdge{to{background-position:-300% 0}}/* floating glow orbs */
.fk-cf-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(60px);pointer-events:none;opacity:.5}.fk-cf-orb-a{width:260px;height:260px;top:-90px;right:-70px;background:radial-gradient(closest-side,rgba(124,58,237,.7),transparent);animation:fkCfOrbA 11s ease-in-out infinite alternate}.fk-cf-orb-b{width:240px;height:240px;bottom:-100px;left:-60px;background:radial-gradient(closest-side,rgba(192,38,211,.55),transparent);animation:fkCfOrbB 13s ease-in-out infinite alternate}
@keyframes fkCfOrbA{to{transform:translate(-50px,40px) scale(1.15)}}
@keyframes fkCfOrbB{to{transform:translate(60px,-30px) scale(1.2)}}/* entrance: every block rises in one after another */
.fk-cf-form>*{animation:fkCfUp .7s var(--cf-ease) both;animation-delay:calc(var(--i,0) * 90ms + 60ms)}
@keyframes fkCfUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}/* header */
.fk-cf-head{display:flex;align-items:center;gap:14px;margin-bottom:22px}.fk-cf-head strong{display:block;font-size:17px;font-weight:800;color:#fff;line-height:1.7}.fk-cf-head small{display:block;font-size:12px;color:var(--cf-mute);line-height:1.8}.fk-cf-badge{flex:0 0 auto;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:#fff;
    background:linear-gradient(135deg,var(--cf-a),var(--cf-b));box-shadow:0 12px 26px -10px rgba(192,38,211,.9);animation:fkCfBob 3.2s ease-in-out infinite}.fk-cf-badge svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@keyframes fkCfBob{50%{transform:translateY(-4px) rotate(-4deg)}}/* fields */
.fk-cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.fk-cf-field{position:relative;display:block;margin:0 0 14px}.fk-cf-row .fk-cf-field{margin:0}.fk-cf.fk-cf .fk-cf-field input,.fk-cf.fk-cf .fk-cf-field textarea{
    all:unset;box-sizing:border-box;display:block;width:100%;-webkit-user-select:text;user-select:text;
    padding:23px 16px 8px;border-radius:15px;font-size:14px;line-height:1.9;color:#fff;font-family:inherit;
    background:rgba(255,255,255,.06);border:1px solid var(--cf-line);
    transition:border-color .25s ease,background .25s ease,box-shadow .3s ease;
}.fk-cf.fk-cf .fk-cf-field input{height:56px}.fk-cf.fk-cf .fk-cf-field textarea{min-height:150px;resize:vertical;padding-top:28px;white-space:pre-wrap}.fk-cf.fk-cf .fk-cf-field input::placeholder,.fk-cf.fk-cf .fk-cf-field textarea::placeholder{color:transparent}.fk-cf.fk-cf .fk-cf-field:hover input,.fk-cf.fk-cf .fk-cf-field:hover textarea{background:rgba(255,255,255,.08)}.fk-cf.fk-cf .fk-cf-field input:focus,.fk-cf.fk-cf .fk-cf-field textarea:focus{
    border-color:rgba(192,132,252,.85);background:rgba(255,255,255,.09);box-shadow:0 0 0 4px rgba(124,58,237,.22);
}.fk-cf-label{
    position:absolute;right:16px;top:17px;font-size:14px;color:var(--cf-mute);pointer-events:none;transform-origin:right center;
    transition:transform .3s var(--cf-ease),color .25s ease;
}.fk-cf.fk-cf .fk-cf-field input:focus~.fk-cf-label,.fk-cf.fk-cf .fk-cf-field input:not(:placeholder-shown)~.fk-cf-label,.fk-cf.fk-cf .fk-cf-field textarea:focus~.fk-cf-label,.fk-cf.fk-cf .fk-cf-field textarea:not(:placeholder-shown)~.fk-cf-label{
    transform:translateY(-11px) scale(.78);color:var(--cf-hi);
}/* line that sweeps in under the focused field */
.fk-cf-line{position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px;pointer-events:none;
    background:linear-gradient(90deg,var(--cf-a),var(--cf-b));transform:scaleX(0);transform-origin:right;transition:transform .45s var(--cf-ease)}.fk-cf.fk-cf .fk-cf-field input:focus~.fk-cf-line,.fk-cf.fk-cf .fk-cf-field textarea:focus~.fk-cf-line{transform:scaleX(1)}.fk-cf-ltr .fk-cf-label{right:16px}.fk-cf-count{position:absolute;left:14px;bottom:10px;font-size:11px;color:var(--cf-mute);pointer-events:none;transition:color .2s}.fk-cf-count.is-near{color:#f0abfc}.fk-cf-err{display:block;font-style:normal;font-size:11.5px;line-height:1.8;color:#fda4af;max-height:0;overflow:hidden;opacity:0;padding:0 4px;
    transition:max-height .3s var(--cf-ease),opacity .25s ease,padding .25s ease}.fk-cf-field.has-error .fk-cf-err{max-height:40px;opacity:1;padding-top:4px}.fk-cf.fk-cf .fk-cf-field.has-error input,.fk-cf.fk-cf .fk-cf-field.has-error textarea{border-color:rgba(251,113,133,.7)}.fk-cf-field.is-shake{animation:fkCfShake .45s ease}
@keyframes fkCfShake{20%{transform:translateX(7px)}40%{transform:translateX(-7px)}60%{transform:translateX(4px)}80%{transform:translateX(-3px)}}/* subject chips */
.fk-cf-subjects{all:unset;display:block;margin:0 0 16px}.fk-cf-subjects legend{all:unset;display:block;margin-bottom:9px;font-size:12.5px;font-weight:700;color:var(--cf-mute)}.fk-cf-chips{display:flex;flex-wrap:wrap;gap:9px}.fk-cf-chip{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent}.fk-cf.fk-cf .fk-cf-chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.fk-cf-chip span{display:inline-block;padding:9px 18px;border-radius:999px;font-size:13px;font-weight:700;color:#d6d3d1;
    background:rgba(255,255,255,.06);border:1px solid var(--cf-line);transition:background .25s ease,color .25s ease,border-color .25s ease,transform .3s var(--cf-spring),box-shadow .3s ease}.fk-cf-chip:hover span{background:rgba(255,255,255,.1);color:#fff}.fk-cf.fk-cf .fk-cf-chip input:checked+span{color:#fff;border-color:transparent;transform:scale(1.05);
    background:linear-gradient(135deg,var(--cf-a),var(--cf-b));box-shadow:0 10px 22px -10px rgba(192,38,211,.9)}.fk-cf.fk-cf .fk-cf-chip input:focus-visible+span{outline:2px solid #c9a0ff;outline-offset:2px}.fk-cf.fk-cf /* send button */
.fk-cf-send{
    all:unset;box-sizing:border-box;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;
    width:100%;height:56px;border-radius:16px;cursor:pointer;font-size:15px;font-weight:800;color:#fff;font-family:inherit;
    background:linear-gradient(135deg,var(--cf-a),var(--cf-b));background-size:160% 100%;
    box-shadow:0 18px 34px -14px rgba(192,38,211,.85);
    transition:transform .25s var(--cf-spring),box-shadow .3s ease,background-position .5s ease;
}.fk-cf.fk-cf .fk-cf-send::after{content:"";position:absolute;top:0;bottom:0;width:60px;right:-90px;transform:skewX(20deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:fkCfShine 3.4s ease-in-out infinite}
@keyframes fkCfShine{0%,55%{right:-90px}100%{right:calc(100% + 90px)}}.fk-cf.fk-cf .fk-cf-send:hover{transform:translateY(-3px);background-position:100% 0;box-shadow:0 24px 40px -14px rgba(192,38,211,.95)}.fk-cf.fk-cf .fk-cf-send:active{transform:scale(.98)}.fk-cf.fk-cf .fk-cf-send:focus-visible{outline:2px solid #c9a0ff;outline-offset:3px}.fk-cf-plane{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--cf-spring)}.fk-cf.fk-cf .fk-cf-send:hover .fk-cf-plane{transform:translate(-4px,-3px) rotate(-8deg)}.fk-cf-spin{position:absolute;width:22px;height:22px;border-radius:50%;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;opacity:0;animation:fkCfSpin .7s linear infinite}
@keyframes fkCfSpin{to{transform:rotate(360deg)}}.fk-cf.fk-cf .fk-cf-form.is-sending .fk-cf-send{pointer-events:none}.fk-cf.fk-cf .fk-cf-form.is-sending .fk-cf-send-txt,.fk-cf-form.is-sending .fk-cf-plane{opacity:0}.fk-cf-form.is-sending .fk-cf-spin{opacity:1}.fk-cf-form.is-flying .fk-cf-plane{opacity:1!important;animation:fkCfFly .7s ease-in forwards}
@keyframes fkCfFly{to{transform:translate(-190px,-60px) rotate(-18deg) scale(.5);opacity:0}}.fk-cf.fk-cf .fk-cf-status{margin:12px 0 0;min-height:0;font-size:12.5px;font-weight:700;text-align:center;color:#fda4af;opacity:0;transition:opacity .25s ease}.fk-cf.fk-cf .fk-cf-status.is-in{opacity:1}/* honeypot: invisible to people */
.fk-cf-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}/* success card */
.fk-cf-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:26px 10px 8px}.fk-cf-done[hidden]{display:none!important}.fk-cf.is-done .fk-cf-done{animation:fkCfUp .7s var(--cf-ease) both}.fk-cf-done strong{font-size:20px;font-weight:800;color:#fff}.fk-cf.fk-cf .fk-cf-done p{margin:0 0 8px;max-width:420px;font-size:13.5px;line-height:2.1;color:#cfc9d8}.fk-cf-check{position:relative;width:92px;height:92px;margin-bottom:6px}.fk-cf-check svg{width:100%;height:100%;fill:none;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-8deg)}.fk-cf-check circle{stroke:#a855f7;stroke-width:3;stroke-dasharray:145;stroke-dashoffset:145}.fk-cf-check path{stroke:#e879f9;stroke-width:4;stroke-dasharray:44;stroke-dashoffset:44}.fk-cf.is-done .fk-cf-check circle{animation:fkCfDraw .7s .1s var(--cf-ease) forwards}.fk-cf.is-done .fk-cf-check path{animation:fkCfDraw .45s .6s var(--cf-ease) forwards}
@keyframes fkCfDraw{to{stroke-dashoffset:0}}.fk-cf-check::before{content:"";position:absolute;inset:8px;border-radius:50%;background:radial-gradient(closest-side,rgba(168,85,247,.45),transparent);filter:blur(8px);z-index:-1}/* little burst of dots */
.fk-cf-check i{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#f0abfc);opacity:0;transform:rotate(var(--a)) translateY(0)}.fk-cf.is-done .fk-cf-check i{animation:fkCfBurst .9s .55s ease-out forwards}
@keyframes fkCfBurst{0%{opacity:1;transform:rotate(var(--a)) translateY(-40px) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateY(-78px) scale(.3)}}.fk-cf.fk-cf .fk-cf-again{all:unset;box-sizing:border-box;padding:11px 24px;border-radius:13px;cursor:pointer;font-size:13px;font-weight:800;color:#fff;
    background:rgba(255,255,255,.08);border:1px solid var(--cf-line);transition:background .2s ease,transform .2s var(--cf-spring)}.fk-cf.fk-cf .fk-cf-again:hover{background:rgba(124,58,237,.35);transform:translateY(-2px)}.fk-cf.fk-cf .fk-cf-again:focus-visible{outline:2px solid #c9a0ff;outline-offset:2px}

@media(max-width:640px){.fk-cf{padding:20px 16px;border-radius:22px}.fk-cf-row{grid-template-columns:1fr;gap:0}.fk-cf-row .fk-cf-field{margin-bottom:14px}
}
@media(prefers-reduced-motion:reduce){.fk-cf::before,.fk-cf-orb,.fk-cf-badge,.fk-cf.fk-cf .fk-cf-send::after,.fk-cf-form>*{animation:none!important}.fk-cf-line,.fk-cf-label{transition:none}
}.fk-cf.fk-cf .fk-cf-done p,.fk-cf.fk-cf .fk-cf-status{text-align:center;text-align-last:center}
