/* =========================
   SPACING SYSTEM
   ========================= */

/* Base scale */
:root {
  --s-0: 0px;
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
}

/* =========================
   MARGIN
   ========================= */

/* all */
.m-0 { margin: var(--s-0); }
.m-1 { margin: var(--s-1); }
.m-2 { margin: var(--s-2); }
.m-3 { margin: var(--s-3); }
.m-4 { margin: var(--s-4); }
.m-5 { margin: var(--s-5); }
.m-6 { margin: var(--s-6); }
.m-7 { margin: var(--s-7); }

/* top */
.mt-0 { margin-top: var(--s-0); }
.mt-1 { margin-top: var(--s-1); }
.mt-2 { margin-top: var(--s-2); }
.mt-3 { margin-top: var(--s-3);}
.mt-4 { margin-top: var(--s-4); }
.mt-5 { margin-top: var(--s-5); }
.mt-6 { margin-top: var(--s-6); }
.mt-7 { margin-top: var(--s-7); }

/* bottom */
.mb-0 { margin-bottom: var(--s-0); }
.mb-1 { margin-bottom: var(--s-1); }
.mb-2 { margin-bottom: var(--s-2); }
.mb-3 { margin-bottom: var(--s-3); }
.mb-4 { margin-bottom: var(--s-4); }
.mb-5 { margin-bottom: var(--s-5); }
.mb-6 { margin-bottom: var(--s-6); }
.mb-7 { margin-bottom: var(--s-7); }

/* left */
.ml-0 { margin-left: var(--s-0); }
.ml-1 { margin-left: var(--s-1); }
.ml-2 { margin-left: var(--s-2); }
.ml-3 { margin-left: var(--s-3); }
.ml-4 { margin-left: var(--s-4); }
.ml-5 { margin-left: var(--s-5); }

/* right */
.mr-0 { margin-right: var(--s-0); }
.mr-1 { margin-right: var(--s-1); }
.mr-2 { margin-right: var(--s-2); }
.mr-3 { margin-right: var(--s-3); }
.mr-4 { margin-right: var(--s-4); }
.mr-5 { margin-right: var(--s-5); }

/* horizontal */
.mx-1 { margin-left: var(--s-1); margin-right: var(--s-1); }
.mx-2 { margin-left: var(--s-2); margin-right: var(--s-2); }
.mx-3 { margin-left: var(--s-3); margin-right: var(--s-3); }
.mx-4 { margin-left: var(--s-4); margin-right: var(--s-4); }

/* vertical */
.my-1 { margin-top: var(--s-1); margin-bottom: var(--s-1); }
.my-2 { margin-top: var(--s-2); margin-bottom: var(--s-2); }
.my-3 { margin-top: var(--s-3); margin-bottom: var(--s-3); }
.my-4 { margin-top: var(--s-4); margin-bottom: var(--s-4); }
.my-5 { margin-top: var(--s-5); margin-bottom: var(--s-5); }

/* =========================
   PADDING
   ========================= */

/* all */
.p-0 { padding: var(--s-0); }
.p-1 { padding: var(--s-1); }
.p-2 { padding: var(--s-2); }
.p-3 { padding: var(--s-3); }
.p-4 { padding: var(--s-4); }
.p-5 { padding: var(--s-5); }
.p-6 { padding: var(--s-6); }
.p-7 { padding: var(--s-7); }

/* top */
.pt-0 { padding-top: var(--s-0); }
.pt-1 { padding-top: var(--s-1); }
.pt-2 { padding-top: var(--s-2); }
.pt-3 { padding-top: var(--s-3); }
.pt-4 { padding-top: var(--s-4); }
.pt-5 { padding-top: var(--s-5); }
.pt-6 { padding-top: var(--s-6); }

/* bottom */
.pb-0 { padding-bottom: var(--s-0); }
.pb-1 { padding-bottom: var(--s-1); }
.pb-2 { padding-bottom: var(--s-2); }
.pb-3 { padding-bottom: var(--s-3); }
.pb-4 { padding-bottom: var(--s-4); }
.pb-5 { padding-bottom: var(--s-5); }
.pb-6 { padding-bottom: var(--s-6); }

/* left */
.pl-0 { padding-left: var(--s-0); }
.pl-1 { padding-left: var(--s-1); }
.pl-2 { padding-left: var(--s-2); }
.pl-3 { padding-left: var(--s-3); }
.pl-4 { padding-left: var(--s-4); }
.pl-5 { padding-left: var(--s-5); }

/* right */
.pr-0 { padding-right: var(--s-0); }
.pr-1 { padding-right: var(--s-1); }
.pr-2 { padding-right: var(--s-2); }
.pr-3 { padding-right: var(--s-3); }
.pr-4 { padding-right: var(--s-4); }
.pr-5 { padding-right: var(--s-5); }

/* horizontal */
.px-1 { padding-left: var(--s-1); padding-right: var(--s-1); }
.px-2 { padding-left: var(--s-2); padding-right: var(--s-2); }
.px-3 { padding-left: var(--s-3); padding-right: var(--s-3); }
.px-4 { padding-left: var(--s-4); padding-right: var(--s-4); }

/* vertical */
.py-1 { padding-top: var(--s-1); padding-bottom: var(--s-1); }
.py-2 { padding-top: var(--s-2); padding-bottom: var(--s-2); }
.py-3 { padding-top: var(--s-3); padding-bottom: var(--s-3); }
.py-4 { padding-top: var(--s-4); padding-bottom: var(--s-4); }
.py-5 { padding-top: var(--s-5); padding-bottom: var(--s-5); }



.consent-box {
  border: 1px solid #dcdcdc;
  padding: 5% 2%;
  border-radius: 8px;
  background: #fafafa;
  line-height: 1.6;
	font-size: 15px;
}

.consent-box p {
  margin-bottom: 12px;
}

.consent-agree {
  margin-top: 12px;
  display: flex;
  align-items: center;
	font-size: 16px;
  gap: 6px;
}


.captcha-box {
  border: 1px solid #DCDCDC;
  padding: 16px;
  border-radius: 8px;
  margin-top: 34px;
  background: #fafafa;
}

.captcha-image {
  margin: 8px 0 12px;
}


#cpatchaTextBox {
  width: 100%;
  background: #f5f7f9;
  border: 1px solid #dcdfe3;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14px;
  color: #333;
}

#cpatchaTextBox:focus {
  background: #ffffff;
  border-color: #4CAF50;
  box-shadow: 0 0 0 3px rgba(76,175,80,0.15);
}

/* =========================
   FORM ACTION BUTTONS
   ========================= */

.form-actions{
  margin-top: 24px;
  display: flex;
  justify-content: center;
  gap: 12px;
}


.form-actions .ui.button{
  min-width: 140px;
  height: 42px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
}

/* =========================
   PRIMARY BUTTON (Submit)
   ========================= */

.ui.primary.button,
.ui.primary.buttons .button {
  background-color: #e7262b !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(231,38,43,0.35);
}

/* Hover */
.ui.primary.button:hover,
.ui.primary.buttons .button:hover {
  background-color: #c81f23 !important;
}

/* Active / Focus */
.ui.primary.button:active,
.ui.primary.button:focus {
  background-color: #b71b1f !important;
  box-shadow: 0 0 0 3px rgba(231,38,43,0.25);
}

/* =========================
   RESET BUTTON
   ========================= */

.form-actions .ui.reset.button{
  background: #ffffff !important;
  border: 1px solid #dcdfe3 !important;
  color: #555 !important;
}

.form-actions .ui.reset.button:hover{
  background: #f5f7f9 !important;
}

/* =========================
   ERROR MESSAGE
   ========================= */

.form-error{
  margin-top: 12px !important;
  font-size: 14px;
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 480px){
  .form-actions{
    flex-direction: column;
    align-items: stretch;
  }

  .form-actions .ui.button{
    width: 100%;
    min-width: 0;
  }
}
