.srOnly {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.questionHeading {
  font-family: var(--font-serif);
  font-weight: var(--weight-regular);
  font-size: var(--text-2xl);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  text-align: center;
  color: var(--color-text-heading);
  margin: 0 0 12px
}

.questionDesc {
  font-family: var(--font-sans);
  font-weight: var(--weight-regular);
  font-size: var(--text-md);
  line-height: var(--leading-body);
  text-align: center;
  color: var(--color-text-body);
  margin: 0 0 12px
}

.questionDescSm {
  font-family: var(--font-sans);
  font-weight: var(--weight-regular);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  text-align: center;
  color: var(--color-text-secondary);
  margin: 8px 0 0
}

.headingTxt {
  font-family: var(--font-sans);
  font-weight: var(--weight-bold);
  font-size: var(--text-md);
  line-height: var(--leading-snug);
  color: var(--color-text-heading);
  margin: 0 0 12px
}

.borderedDescription {
  max-width: 750px;
  width: 100%;
  margin: 0px auto 0px;
  background: white;
  border: 2px dashed var(--color-orange-hover);
  border-radius: 16px;
  padding: 20px 30px
}

.borderedDescription .heading {
  font-family: 'DM Serif Display';
  font-weight: 400;
  font-size: var(--text-xl);
  color: var(--color-text-heading);
  text-align: left;
  line-height: 170%
}

.borderedDescription p {
  font-weight: 400;
  font-size: var(--text-base);
  line-height: 170%;
  text-align: left;
  color: var(--color-text-body);
  margin-bottom: 12px
}

.borderedDescription ul {
  list-style: none;
  margin-bottom: 30px
}

.borderedDescription ul li {
  position: relative;
  font-size: var(--text-md);
  font-weight: 500;
  line-height: 24px;
  text-align: left;
  color: var(--color-text-body);
  margin-bottom: 15px;
  padding-left: 25px
}

.borderedDescription ul li::before {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-orange);
  left: 4px;
  top: 10px
}

.formBtnWrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 10px
}

.formBtnWrapper .btnPrimary {
  background: var(--color-orange);
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  max-width: max-content;
  padding: 14px 36px;
  outline: none;
  border: none;
  cursor: pointer;
  box-shadow: var(--shadow-cta);
  transition: transform .22s cubic-bezier(.4,0,.2,1), box-shadow .22s cubic-bezier(.4,0,.2,1), background var(--transition-fast);
}

.formBtnWrapper .btnPrimary:hover {
  background: var(--color-orange-hover);
  box-shadow: var(--shadow-cta-hover);
  transform: translateY(-2px);
}

.formBtnWrapper .btnPrimary .btnTxt {
  font-weight: 700;
  font-style: Bold;
  font-size: var(--text-md);
  line-height: 100%;
  color: var(--color-text-inverse)
}

.formBtnWrapper .btnPrimary .arrowRight {
  width: 16px;
  height: 16px;
  margin-top: -1px;
  transition: transform 0.3s ease
}

.formBtnWrapper .btnPrimary:hover .arrowRight {
  transform: translateX(4px)
}

.formBtnWrapper .btnPrimary.loaderBtn .loaderImg {
  width: 76px;
  height: 31px;
  margin-top: -5px
}
.btnPrimary.loaderBtn:hover{
background: var(--color-orange);

}

.formBtnWrapper .btnPrimary.loaderBtn {
  cursor: not-allowed
}

.formBtnWrapper .skipBtn {
  background: transparent;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 0px;
  outline: none;
  cursor: pointer;
  max-width: 105px;
  width: 100%;
  height: auto;
  margin: 5px auto 0px
}

.formBtnWrapper .skipBtn .btnTxt {
  font-weight: 700;
  font-style: Bold;
  font-size: var(--text-lg);
  line-height: 100%;
  color: var(--color-text-body);
}

.formBtnWrapper .skipBtn .arrowRight {
  width: 18px;
  height: 18px;
  margin-top: -2px;
  transition: transform 0.3s ease
}

.formBtnWrapper .skipBtn:hover {
  background: none;
  border: none
}

.formBtnWrapper .skipBtn:hover .btnTxt {
  color: var(--color-orange);
  text-decoration: underline
}

.formBtnWrapper .skipBtn:hover .arrowRight {
  transform: translateX(5px)
}

.inputGroupAssessmentForm input {
  border: none;
  font-weight: 400;
  font-size: var(--text-lg);
  line-height: 100%;
  color: var(--color-text-heading);
  padding: 20px 15px;
  width: 100%;
  height: 100%;
  background: transparent;
  border-radius: 8px
}

.inputGroupAssessmentForm {
  background: var(--color-bg-white);
  border: 1px solid var(--color-orange);
  border-radius: 8px;
  width: 100%
}

.inputGroupAssessmentForm:hover {
  box-shadow: 0px 3px 3px 0px #F9731626
}

.inputGroupAssessmentForm:focus-within {
  box-shadow: 0px 3px 3px 0px #F9731626;
  background: #FFFBF9
}

.inputGroupAssessmentForm input::placeholder {
  color: var(--color-text-body);
  font-weight: 400;
  font-size: var(--text-lg);
  line-height: 100%
}

.inputGroupAssessmentForm:has(.invalid) {
  border: 2px solid #E20707;
  animation: shake 0.6s ease-in-out both
}

@keyframes shake {

  0%,
  100% {
    transform: translateX(0)
  }

  10%,
  50%,
  90% {
    transform: translateX(-5px)
  }

  20%,
  60% {
    transform: translateX(5px)
  }
}

.select2-container {
  width: 100% !important
}

.selection .select2-selection--single {
  min-height: 61px;
  padding: 19px 15px 23px;
  border: 1px solid transparent;
  border-radius: 8px
}

.relative {
  position: relative
}

select#petTypeSelect:disabled+.select2-container:after {
  position: absolute;
  content: '';
  cursor: no-drop;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}

@media (max-width:575px) {
  .borderedDescription ul {
    padding-top: 8px;
    margin-bottom: 0
  }

  .borderedDescription ul li:last-child {
    margin-bottom: 0
  }

  .questionDesc {
    font-size: var(--text-base)
  }

  .inputGroupAssessmentForm input {
    font-size: var(--text-md)
  }

  .createAccountWrapper .questionDesc:nth-of-type(2) {
    font-size: var(--text-base)
  }

  .evaluationAuthSection .questionDesc:nth-of-type(3) {
    margin-bottom: 56px
  }

  .inputGroupAssessmentForm input::placeholder {
    font-size: var(--text-md)
  }

  .evaluationAuthSection .questionDesc {
    font-size: var(--text-base);
    margin-bottom: 56px
  }

  .formBtnWrapper .btnPrimary .btnTxt {
    font-size: var(--text-md)
  }
}

/* ============================================================
   Basic flow — warm background + ambient paw scatter
   Applies to every page that loads commonStyles
   ============================================================ */
body {
  --paw-orange: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='%23FF5B2E'%3E%3Cellipse cx='7' cy='9' rx='3.2' ry='2.8'/%3E%3Cellipse cx='3' cy='5' rx='1.3' ry='1.7'/%3E%3Cellipse cx='8.7' cy='3' rx='1.3' ry='1.7'/%3E%3Cellipse cx='5.8' cy='3' rx='1.3' ry='1.7'/%3E%3Cellipse cx='11' cy='5' rx='1.1' ry='1.4'/%3E%3C/svg%3E");
  background: var(--color-bg-warm);
  position: relative;
}

/* Paw scatter — fixed in viewport so it follows the user through every step */
body::before,
body::after {
  content: '';
  position: fixed;
  background-image: var(--paw-orange);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  z-index: 0;
}

body::before {
  top: 6%;
  left: 2%;
  width: 56px;
  height: 56px;
  transform: rotate(-18deg);
  opacity: 0.08;
}

body::after {
  bottom: 8%;
  right: 3%;
  width: 48px;
  height: 48px;
  transform: rotate(14deg);
  opacity: 0.08;
}

/* Additional paws via a stand-alone scatter container that pages can opt-into.
   For now the body::before/::after gives 2 paws; add more as needed by
   appending <div class="basic-bg-paws">...</div> at the page level. */
.basic-bg-paws {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.basic-bg-paws .paw {
  position: absolute;
  display: block;
  background-image: var(--paw-orange);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.basic-bg-paws .paw-a { top: 26%;  left: 4%;   width: 38px; height: 38px; transform: rotate(12deg);  opacity: 0.08; }
.basic-bg-paws .paw-b { top: 58%;  left: 1%;   width: 32px; height: 32px; transform: rotate(-8deg);  opacity: 0.07; }
.basic-bg-paws .paw-c { top: 36%;  right: 2%;  width: 42px; height: 42px; transform: rotate(-20deg); opacity: 0.08; }
.basic-bg-paws .paw-d { bottom: 32%; right: 5%; width: 30px; height: 30px; transform: rotate(8deg);  opacity: 0.07; }

/* Keep content above ambient paws */
header.headerEvaluation,
section { position: relative; z-index: 1; }

@media (max-width: 768px) {
  body::before { width: 36px; height: 36px; top: 4%; left: 2%; }
  body::after  { width: 30px; height: 30px; bottom: 4%; right: 2%; }
  .basic-bg-paws .paw { transform: scale(0.7) !important; }
}
