 @import url("https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;700;900&display=swap");

 .employer-form-wrapper {
   display: flex;
   justify-content: center;
   align-items: center;
   min-height: 100vh;
   padding: 20px;
   font-family: "Vazirmatn", sans-serif;
   direction: rtl;
   position: relative;
   overflow: hidden;
   background: linear-gradient(135deg,
       #0f0c29 0%,
       #302b63 50%,
       #24243e 100%);
 }

 .employer-form-wrapper::before {
   content: "";
   position: absolute;
   width: 600px;
   height: 600px;
   background: radial-gradient(circle,
       rgba(99, 102, 241, 0.15) 0%,
       transparent 70%);
   top: -200px;
   right: -200px;
   border-radius: 50%;
   animation: floatOrb 8s ease-in-out infinite;
 }

 .employer-form-wrapper::after {
   content: "";
   position: absolute;
   width: 500px;
   height: 500px;
   background: radial-gradient(circle,
       rgba(168, 85, 247, 0.12) 0%,
       transparent 70%);
   bottom: -150px;
   left: -150px;
   border-radius: 50%;
   animation: floatOrb 10s ease-in-out infinite reverse;
 }

 @keyframes floatOrb {

   0%,
   100% {
     transform: translate(0, 0) scale(1);
   }

   50% {
     transform: translate(30px, 40px) scale(1.1);
   }
 }

 .particles {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   overflow: hidden;
   pointer-events: none;
   z-index: 0;
 }

 .particle {
   position: absolute;
   width: 4px;
   height: 4px;
   background: rgba(255, 255, 255, 0.15);
   border-radius: 50%;
   animation: rise linear infinite;
 }

 .particle:nth-child(1) {
   left: 10%;
   animation-duration: 8s;
   animation-delay: 0s;
   width: 3px;
   height: 3px;
 }

 .particle:nth-child(2) {
   left: 25%;
   animation-duration: 10s;
   animation-delay: 1s;
   width: 5px;
   height: 5px;
 }

 .particle:nth-child(3) {
   left: 40%;
   animation-duration: 7s;
   animation-delay: 2s;
 }

 .particle:nth-child(4) {
   left: 55%;
   animation-duration: 9s;
   animation-delay: 0.5s;
   width: 6px;
   height: 6px;
 }

 .particle:nth-child(5) {
   left: 70%;
   animation-duration: 11s;
   animation-delay: 3s;
   width: 3px;
   height: 3px;
 }

 .particle:nth-child(6) {
   left: 85%;
   animation-duration: 8s;
   animation-delay: 1.5s;
   width: 5px;
   height: 5px;
 }

 .particle:nth-child(7) {
   left: 15%;
   animation-duration: 12s;
   animation-delay: 4s;
 }

 .particle:nth-child(8) {
   left: 60%;
   animation-duration: 7s;
   animation-delay: 2.5s;
   width: 3px;
   height: 3px;
 }

 @keyframes rise {
   0% {
     bottom: -20px;
     opacity: 0;
     transform: translateX(0);
   }

   10% {
     opacity: 1;
   }

   90% {
     opacity: 1;
   }

   100% {
     bottom: 110%;
     opacity: 0;
     transform: translateX(50px);
   }
 }

 .form-card {
   position: relative;
   z-index: 1;
   width: 100%;
   max-width: 480px;
   background: rgba(255, 255, 255, 0.03);
   backdrop-filter: blur(25px);
   -webkit-backdrop-filter: blur(25px);
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 28px;
   padding: 45px 40px;
   box-shadow:
     0 25px 60px rgba(0, 0, 0, 0.4),
     0 0 0 1px rgba(255, 255, 255, 0.05) inset,
     0 1px 0 rgba(255, 255, 255, 0.1) inset;
   animation: cardEntrance 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
   opacity: 0;
   transform: translateY(30px);
 }

 @keyframes cardEntrance {
   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 .form-card::before {
   content: "";
   position: absolute;
   top: -1px;
   left: 20%;
   right: 20%;
   height: 2px;
   background: linear-gradient(90deg,
       transparent,
       rgba(99, 102, 241, 0.6),
       rgba(168, 85, 247, 0.6),
       transparent);
   border-radius: 50%;
 }

 /* Logo Section */
 .logo-container {
   text-align: center;
   margin-bottom: 8px;
 }

 .logo-circle {
   width: 80px;
   height: 80px;
   margin: 0 auto 20px;
   background: linear-gradient(135deg,
       #6366f1 0%,
       #a855f7 50%,
       #ec4899 100%);
   border-radius: 22px;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow:
     0 10px 30px rgba(99, 102, 241, 0.35),
     0 0 0 4px rgba(99, 102, 241, 0.1);
   animation: logoPulse 3s ease-in-out infinite;
   position: relative;
   overflow: hidden;
 }

 .logo-circle::after {
   content: "";
   position: absolute;
   top: -50%;
   left: -50%;
   width: 200%;
   height: 200%;
   background: linear-gradient(45deg,
       transparent 40%,
       rgba(255, 255, 255, 0.15) 50%,
       transparent 60%);
   animation: logoShine 4s ease-in-out infinite;
 }

 @keyframes logoShine {

   0%,
   100% {
     transform: translateX(-100%) rotate(45deg);
   }

   50% {
     transform: translateX(100%) rotate(45deg);
   }
 }

 @keyframes logoPulse {

   0%,
   100% {
     box-shadow:
       0 10px 30px rgba(99, 102, 241, 0.35),
       0 0 0 4px rgba(99, 102, 241, 0.1);
   }

   50% {
     box-shadow:
       0 10px 40px rgba(168, 85, 247, 0.45),
       0 0 0 8px rgba(168, 85, 247, 0.08);
   }
 }

 .logo-circle svg {
   width: 40px;
   height: 40px;
   fill: white;
   position: relative;
   z-index: 1;
 }

 .site-name {
   font-size: 22px;
   font-weight: 900;
   background: linear-gradient(135deg, #e0e7ff, #c4b5fd, #f0abfc);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
   letter-spacing: -0.5px;
   margin-bottom: 25px;
 }

 /* Large Icon */
 .main-icon-wrapper {
   text-align: center;
   margin-bottom: 15px;
   position: relative;
 }

 .main-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 100px;
   height: 100px;
   position: relative;
 }

 .main-icon-ring {
   position: absolute;
   width: 100%;
   height: 100%;
   border: 2px solid transparent;
   border-top-color: rgba(99, 102, 241, 0.5);
   border-right-color: rgba(168, 85, 247, 0.3);
   border-radius: 50%;
   animation: spinRing 6s linear infinite;
 }

 .main-icon-ring:nth-child(2) {
   width: 85%;
   height: 85%;
   top: 7.5%;
   left: 7.5%;
   border-top-color: rgba(168, 85, 247, 0.4);
   border-right-color: rgba(236, 72, 153, 0.3);
   animation-direction: reverse;
   animation-duration: 4s;
 }

 @keyframes spinRing {
   to {
     transform: rotate(360deg);
   }
 }

 .main-icon-inner {
   width: 60px;
   height: 60px;
   background: linear-gradient(135deg,
       rgba(99, 102, 241, 0.2),
       rgba(168, 85, 247, 0.2));
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid rgba(255, 255, 255, 0.1);
 }

 .main-icon-inner svg {
   width: 32px;
   height: 32px;
   fill: none;
   stroke: #c4b5fd;
   stroke-width: 1.5;
   stroke-linecap: round;
   stroke-linejoin: round;
 }

 /* Form Title */
 .form-title {
   text-align: center;
   font-size: 18px;
   font-weight: 700;
   color: #e0e7ff;
   margin-bottom: 8px;
   position: relative;
 }

 .form-subtitle {
   text-align: center;
   font-size: 13px;
   color: rgba(196, 181, 253, 0.5);
   margin-bottom: 30px;
   font-weight: 300;
 }

 .title-line {
   width: 60px;
   height: 3px;
   background: linear-gradient(90deg, #6366f1, #a855f7);
   margin: 12px auto 25px;
   border-radius: 10px;
   position: relative;
 }

 .title-line::after {
   content: "";
   position: absolute;
   width: 6px;
   height: 6px;
   background: #a855f7;
   border-radius: 50%;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   box-shadow: 0 0 10px #a855f7;
 }

 /* Input Fields */
 .form-group {
   margin-bottom: 20px;
   position: relative;
   animation: fieldSlide 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
   opacity: 0;
   transform: translateX(20px);
 }

 .form-group:nth-child(1) {
   animation-delay: 0.2s;
 }

 .form-group:nth-child(2) {
   animation-delay: 0.3s;
 }

 .form-group:nth-child(3) {
   animation-delay: 0.4s;
 }

 @keyframes fieldSlide {
   to {
     opacity: 1;
     transform: translateX(0);
   }
 }

 .form-group label {
   display: block;
   font-size: 13px;
   font-weight: 500;
   color: #a5b4fc;
   margin-bottom: 8px;
   padding-right: 4px;
 }

 .input-wrapper {
   position: relative;
 }

 .input-icon {
   position: absolute;
   right: 16px;
   top: 50%;
   transform: translateY(-50%);
   width: 20px;
   height: 20px;
   fill: none;
   stroke: rgba(165, 180, 252, 0.5);
   stroke-width: 2;
   stroke-linecap: round;
   stroke-linejoin: round;
   transition: all 0.3s ease;
   pointer-events: none;
 }

 .form-group input[type="text"],
 .form-group input[type="tel"] {
   width: 100%;
   padding: 14px 48px 14px 16px;
   background: rgba(255, 255, 255, 0.04);
   border: 1.5px solid rgba(255, 255, 255, 0.08);
   border-radius: 14px;
   color: #e2e8f0;
   font-family: "Vazirmatn", sans-serif;
   font-size: 14px;
   transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
   outline: none;
   box-sizing: border-box;
 }

 .form-group input::placeholder {
   color: rgba(165, 180, 252, 0.3);
   font-size: 13px;
 }

 .form-group input:focus {
   border-color: rgba(99, 102, 241, 0.5);
   background: rgba(99, 102, 241, 0.06);
   box-shadow:
     0 0 0 4px rgba(99, 102, 241, 0.08),
     0 4px 20px rgba(99, 102, 241, 0.1);
 }

 .form-group input:focus~.input-icon,
 .form-group input:focus+.input-icon {
   stroke: #818cf8;
 }

 .input-wrapper:focus-within .input-icon {
   stroke: #818cf8;
   filter: drop-shadow(0 0 4px rgba(129, 140, 248, 0.5));
 }

 .input-highlight {
   position: absolute;
   bottom: 0;
   left: 10%;
   right: 10%;
   height: 2px;
   background: linear-gradient(90deg, #6366f1, #a855f7, #6366f1);
   background-size: 200% 100%;
   border-radius: 10px;
   opacity: 0;
   transition: opacity 0.3s ease;
   animation: gradientMove 3s linear infinite;
 }

 .form-group input:focus~.input-highlight {
   opacity: 1;
 }

 @keyframes gradientMove {
   0% {
     background-position: 0% 50%;
   }

   100% {
     background-position: 200% 50%;
   }
 }

 /* Personnel Link */
 .personnel-link-wrapper {
   text-align: center;
   margin: 25px 0;
   animation: fadeUp 0.6s 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
   opacity: 0;
   transform: translateY(10px);
 }

 @keyframes fadeUp {
   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 .personnel-text {
   font-size: 13px;
   color: rgba(196, 181, 253, 0.5);
   font-weight: 300;
 }

 .personnel-link {
   color: #818cf8;
   text-decoration: none;
   font-weight: 500;
   position: relative;
   transition: color 0.3s ease;
   cursor: pointer;
 }

 .personnel-link:hover {
   color: #a5b4fc;
 }

 .personnel-link::after {
   content: "";
   position: absolute;
   bottom: -2px;
   right: 0;
   width: 0;
   height: 1.5px;
   background: linear-gradient(90deg, #818cf8, #a855f7);
   transition: width 0.3s ease;
 }

 .personnel-link:hover::after {
   width: 100%;
 }

 .personnel-arrow {
   display: inline-block;
   margin-right: 4px;
   transition: transform 0.3s ease;
   vertical-align: middle;
 }

 .personnel-link:hover .personnel-arrow {
   transform: translateX(-4px);
 }

 /* checkbox */

 .checkbox-wrapper {
   margin-bottom: 20px;
 }

 /* مخفی‌سازی کامل چک‌باکس اصلی با اولویت بالا */
 .custom-checkbox input[type="checkbox"] {
   position: absolute !important;
   opacity: 0 !important;
   width: 0 !important;
   height: 0 !important;
   margin: 0 !important;
   padding: 0 !important;
   appearance: none !important;
   -webkit-appearance: none !important;
   -moz-appearance: none !important;
   pointer-events: none !important;
 }

 /* اطمینان از لی‌اوت درست برای چک‌باکس سفارشی */
 .custom-checkbox {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   cursor: pointer;
   user-select: none;
   padding: 14px 18px;
   background: rgba(255, 255, 255, 0.02);
   border: 1px solid rgba(255, 255, 255, 0.06);
   border-radius: 14px;
   transition: all 0.3s ease;
   position: relative;
   /* برای موقعیت‌دهی صحیح اینپوت مخفی */
 }

 .custom-checkbox:hover {
   background: rgba(99, 102, 241, 0.04);
   border-color: rgba(99, 102, 241, 0.15);
 }

 .checkmark {
   width: 22px;
   height: 22px;
   min-width: 22px;
   border: 2px solid rgba(165, 180, 252, 0.3);
   border-radius: 7px;
   position: relative;
   transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
   margin-top: 1px;
   flex-shrink: 0;
   /* جلوگیری از فشرده شدن */
 }

 .custom-checkbox input:checked~.checkmark {
   background: linear-gradient(135deg, #6366f1, #a855f7);
   border-color: transparent;
   box-shadow: 0 4px 15px rgba(99, 102, 241, 0.3);
 }

 .checkmark::after {
   content: "";
   position: absolute;
   display: none;
   right: 6px;
   top: 2px;
   width: 6px;
   height: 10px;
   border: solid white;
   border-width: 0 2px 2px 0;
   transform: rotate(45deg);
 }

 .custom-checkbox input:checked~.checkmark::after {
   display: block;
   animation: checkPop 0.3s cubic-bezier(0.16, 1, 0.3, 1);
 }

 @keyframes checkPop {
   0% {
     transform: rotate(45deg) scale(0);
   }

   50% {
     transform: rotate(45deg) scale(1.2);
   }

   100% {
     transform: rotate(45deg) scale(1);
   }
 }

 .checkbox-label {
   font-size: 13px;
   color: #a5b4fc;
   font-weight: 400;
   line-height: 1.7;
 }

 /* Submit Button */
 .submit-wrapper {
   animation: fadeUp 0.6s 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
   opacity: 0;
   transform: translateY(10px);
 }

 .submit-btn {
   width: 100%;
   padding: 16px 24px;
   background: linear-gradient(135deg,
       #6366f1 0%,
       #8b5cf6 50%,
       #a855f7 100%);
   border: none;
   border-radius: 14px;
   color: white;
   font-family: "Vazirmatn", sans-serif;
   font-size: 16px;
   font-weight: 700;
   cursor: pointer;
   position: relative;
   overflow: hidden;
   transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
   box-shadow: 0 8px 30px rgba(99, 102, 241, 0.3);
   letter-spacing: 0.5px;
 }

 .submit-btn:hover {
   transform: translateY(-2px);
   box-shadow: 0 12px 40px rgba(99, 102, 241, 0.4);
 }

 .submit-btn:active {
   transform: translateY(0);
 }

 .submit-btn::before {
   content: "";
   position: absolute;
   top: 0;
   left: -100%;
   width: 100%;
   height: 100%;
   background: linear-gradient(90deg,
       transparent,
       rgba(255, 255, 255, 0.15),
       transparent);
   transition: left 0.5s ease;
 }

 .submit-btn:hover::before {
   left: 100%;
 }

 .btn-content {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   position: relative;
   z-index: 1;
 }

 .btn-icon {
   width: 20px;
   height: 20px;
   fill: none;
   stroke: currentColor;
   stroke-width: 2.5;
   stroke-linecap: round;
   stroke-linejoin: round;
   transition: transform 0.3s ease;
 }

 .submit-btn:hover .btn-icon {
   transform: translateX(-4px);
 }

 /* Footer */
 .form-footer {
   display: flex;
   justify-content: space-evenly;
   align-items: center;
   margin: 20px;

   flex-direction: row;
 }

 .form-footer a {
   color: white;
   text-decoration: none;
 }

 /* Responsive */
 @media (max-width: 520px) {
   .form-card {
     padding: 35px 24px;
     border-radius: 22px;
   }

   .site-name {
     font-size: 19px;
   }

   .form-title {
     font-size: 16px;
   }

   .main-icon {
     width: 80px;
     height: 80px;
   }

   .main-icon-inner {
     width: 50px;
     height: 50px;
   }
 }