/* Gravity Forms — match static .field / .btn.btn-primary */
.gform_wrapper.gravity-theme,
.gform_wrapper{
  font-family:"Source Sans 3",system-ui,sans-serif;
}
.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label{
  font-family:"Lato",sans-serif;
  font-weight:700;
  font-size:.82rem;
  color:#1A1D24;
  margin-bottom:.4rem;
}
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper select,
.gform_wrapper textarea{
  width:100%;
  padding:.75rem .9rem;
  border:1px solid #e4e6ea;
  border-radius:6px;
  font-family:inherit;
  font-size:.98rem;
  color:#1A1D24;
  background:#fdfdfe;
}
.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus{
  outline:none;
  border-color:#0C71C3;
  box-shadow:0 0 0 3px rgba(12,113,195,.12);
}
.gform_wrapper textarea{min-height:120px;}
.gform_wrapper .gform_footer,
.gform_wrapper .gform-footer{
  margin-top:.4rem;
}
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  font-family:"Lato",sans-serif;
  font-weight:700;
  font-size:.9rem;
  padding:.85rem 1.6rem;
  border-radius:4px;
  border:2px solid transparent;
  background:#0C71C3;
  color:#fff;
  cursor:pointer;
}
.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover{
  background:#0a5fa5;
}
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea{
  border-color:#c0392b;
}
.gform_confirmation_message{
  font-size:1.05rem;
  color:#1A1D24;
}

/* School order — books + quantity + price rows */
.soho-book-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.soho-book-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.75rem .9rem;
  border:1px solid #e4e6ea;
  border-radius:8px;
  background:#fdfdfe;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.soho-book-row.is-selected{
  border-color:#0C71C3;
  box-shadow:0 0 0 3px rgba(12,113,195,.12);
}
.soho-book-check{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  flex:1;
  min-width:0;
  cursor:pointer;
  margin:0;
}
.soho-book-check input[type="checkbox"]{
  width:1.05rem;
  height:1.05rem;
  margin:.15rem 0 0;
  flex-shrink:0;
  accent-color:#0C71C3;
}
.soho-book-meta{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  min-width:0;
}
.soho-book-title{
  font-size:.98rem;
  color:#1A1D24;
  line-height:1.35;
}
.soho-book-unit{
  font-size:.82rem;
  color:#5a6070;
}
.soho-book-controls{
  display:flex;
  align-items:center;
  gap:.85rem;
  flex-shrink:0;
}
.soho-book-qty-wrap{
  display:flex;
  align-items:center;
  gap:.45rem;
  margin:0;
}
.soho-book-qty-label{
  font-family:"Lato",sans-serif;
  font-weight:700;
  font-size:.75rem;
  color:#5a6070;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.soho-book-qty{
  width:4.5rem;
  padding:.55rem .6rem;
  border:1px solid #e4e6ea;
  border-radius:6px;
  font-family:inherit;
  font-size:.95rem;
  color:#1A1D24;
  background:#fff;
  text-align:center;
}
.soho-book-qty:disabled,
.soho-book-qty[readonly]{
  opacity:.45;
  background:#f3f4f6;
}
.soho-book-qty:focus{
  outline:none;
  border-color:#0C71C3;
  box-shadow:0 0 0 3px rgba(12,113,195,.12);
}
.soho-book-line{
  min-width:4.75rem;
  text-align:right;
  font-family:"Lato",sans-serif;
  font-weight:700;
  font-size:.95rem;
  color:#1A1D24;
}
.soho-book-total-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:.85rem;
  padding:1rem .9rem;
  border-top:1px solid #e4e6ea;
}
.soho-book-total-label{
  font-family:"Lato",sans-serif;
  font-weight:700;
  font-size:.9rem;
  color:#1A1D24;
}
.soho-book-total-value{
  font-family:"Lato",sans-serif;
  font-weight:700;
  font-size:1.15rem;
  color:#0C71C3;
}
.soho-book-total-note{
  margin:.35rem 0 0;
  font-size:.85rem;
  color:#5a6070;
  text-align:right;
}
.soho-books-editor-note{
  margin:0;
  color:#5a6070;
  font-size:.92rem;
}
@media (max-width:520px){
  .soho-book-row{
    flex-wrap:wrap;
  }
  .soho-book-controls{
    width:100%;
    justify-content:flex-end;
    padding-left:1.7rem;
  }
}
