@font-face {
  font-family: "f_inter";
  src: url("/fonts/Inter_24pt-Regular.ttf");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "f_inter";
  src: url("/fonts/Inter_24pt-Bold.ttf");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "f_inter";
  src: url("/fonts/Inter_24pt-SemiBold.ttf");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
:root {
  --var-color-1: #ffffff;
  --var-color-2: #000000;
  --var-color-3: #30C1F0;
  --var-color-4: #F3F3F3;
  --var-color-5: #002B5B;
  --var-background-color: #F3F3FB;
  --var-max-width: 1440px;
  --var-horizontal-padding: 25px;
  --var-vertical-padding: 20px;
  /* Modern CSS variables for better design */
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.2);
  --border-radius-sm: 8px;
  --border-radius-md: 12px;
  --border-radius-lg: 20px;
  --border-radius-xl: 25px;
  --transition-fast: 0.15s ease-in-out;
  --transition-normal: 0.25s ease-in-out;
  --transition-slow: 0.35s ease-in-out;
}
@media (max-width: 1080px) {
  :root {
    --var-horizontal-padding: 15px;
  }
}

.modal {
  width: 100%;
  position: fixed;
  z-index: 10000;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.modal.active {
  opacity: 1;
  visibility: visible;
}
.modal .modal-container {
  width: 100%;
  max-width: 480px;
  padding: var(--var-vertical-padding) var(--var-horizontal-padding);
  background-color: var(--var-color-1);
  z-index: 10;
  position: relative;
  transform: scale(0.8) translateY(-50px);
  transition: all 0.3s ease;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-lg);
}

.modal.active .modal-container {
  transform: scale(1) translateY(0);
}
.modal .modal-container .m-head {
  padding: 0 0 15px;
}
.modal .modal-container .m-head h1 {
  font-size: 24px;
  font-weight: 600;
}
.modal .modal-container .m-head p {
  font-size: 14px;
  color: var(--var-color-3);
}
.modal .modal-container .m-head span {
  position: absolute;
  right: 15px;
  top: 15px;
  font-size: 20px;
  cursor: pointer;
}
.modal .modal-container .m-head span:hover {
  opacity: 0.7;
  color: var(--var-color-3);
}
.modal .modal-container .m-body {
  width: 100%;
}
.modal .modal-container .m-body form {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 100%;
}
.modal .modal-container .m-body form .enter-element {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.modal .modal-container .m-body form .enter-element label {
  font-size: 16px;
}
.modal .modal-container .m-body form .enter-element input,
.modal .modal-container .m-body form .enter-element textarea {
  width: 100%;
  border-radius: 12px;
  background-color: #F3F3F3;
  padding: 12px var(--var-horizontal-padding);
  font-size: 16px;
  font-weight: 200;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  font-family: inherit;
  resize: vertical;
}

.modal .modal-container .m-body form .enter-element input {
  height: 48px;
}

.modal .modal-container .m-body form .enter-element textarea {
  min-height: 80px;
}
.modal .modal-container .m-body form .enter-element input:focus {
  outline: 1px solid var(--var-color-3);
}
.modal .modal-container .m-body form .btn-sb {
  width: 100%;
}
.modal .modal-container .m-body form .btn-sb button {
  width: 100%;
}
.modal .modal-container .m-body form .btn-sb button .btn {
  width: 100%;
}
.modal .overlay {
  position: fixed;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  cursor: pointer;
}

/* Prevent body scroll when modal is open */
body.modal-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

/* Form validation styles */
.modal .enter-element input.error {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.modal .enter-element input:focus {
  outline: none;
  border-color: var(--var-color-3);
  box-shadow: 0 0 0 3px rgba(48, 193, 240, 0.1);
}

/* Loading state removed - no longer needed */

/* Success message styles */
.modal .success-message {
  background: #10b981;
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 20px;
  display: none;
}

.modal .success-message.show {
  display: block;
}

/* Error message styles */
.modal .error-message {
  color: #ef4444;
  font-size: 14px;
  margin-top: 5px;
  display: none;
}

.modal .error-message.show {
  display: block;
}

.modal .enter-element input.error,
.modal .enter-element textarea.error {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.modal .enter-element input:focus,
.modal .enter-element textarea:focus {
  outline: none;
  border-color: var(--var-color-3);
  box-shadow: 0 0 0 3px rgba(48, 193, 240, 0.1);
}

/* Error message styles for all forms */
.error-message {
  color: #ef4444;
  font-size: 14px;
  margin-top: 5px;
  display: none;
}

.error-message.show {
  display: block;
}

/* Error styles for form inputs */
input.error,
textarea.error {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

/* Focus styles for form inputs */
input:focus,
textarea:focus {
  outline: none;
  border-color: var(--var-color-3) !important;
  box-shadow: 0 0 0 3px rgba(48, 193, 240, 0.1) !important;
}
