/* KALLCOR Signup Offer — WooCommerce / Razzi-safe registration fields */
.kso-register-fields,
.kso-register-fields *{box-sizing:border-box}
.kso-register-fields{display:block!important;width:100%!important;max-width:100%!important;margin:14px 0 0!important;font-family:inherit}

.kso-register-phone{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 14px!important;padding:0!important}
.kso-register-phone label{display:block!important;width:100%!important;max-width:none!important;margin:0 0 8px!important;padding:0!important}
.kso-register-phone input[type="tel"]{display:block!important;width:100%!important;max-width:100%!important;height:52px!important;margin:0!important;padding:0 15px!important;border:1px solid #dfe5ec!important;border-radius:12px!important;background:#f7f9fc!important;line-height:52px!important}
.kso-register-phone input[type="tel"]:focus{border-color:#2f7dff!important;box-shadow:0 0 0 4px rgba(47,125,255,.12)!important;outline:none!important}

.kso-check-row{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 12px!important;padding:13px 14px!important;border:1px solid #e3e8f0!important;border-radius:12px!important;background:#f7f9fc!important;overflow:visible!important}

/* Do NOT use CSS grid here: some WooCommerce themes force narrow label widths.
   Flex guarantees the text gets the remaining width instead of one-letter wrapping. */
.kso-check-label{position:relative!important;display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:flex-start!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;gap:10px!important;cursor:pointer!important;text-align:left!important;font-size:13px!important;line-height:1.5!important;color:#475569!important;white-space:normal!important}

.kso-check-label>input[type="checkbox"]{position:absolute!important;left:0!important;top:0!important;width:18px!important;height:18px!important;margin:0!important;opacity:0!important;pointer-events:none!important}
.kso-check-box{position:relative!important;display:block!important;flex:0 0 18px!important;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:2px 0 0!important;border:1.5px solid #b8c2d1!important;border-radius:5px!important;background:#fff!important}
.kso-check-copy{display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;font-size:13px!important;line-height:1.5!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:left!important}

.kso-check-label>input[type="checkbox"]:checked + .kso-check-box{background:#2563eb!important;border-color:#2563eb!important}
.kso-check-label>input[type="checkbox"]:checked + .kso-check-box:after{content:"";position:absolute!important;left:5px!important;top:2px!important;width:5px!important;height:9px!important;border:solid #fff!important;border-width:0 2px 2px 0!important;transform:rotate(45deg)!important}
.kso-check-label>input[type="checkbox"]:focus-visible + .kso-check-box{box-shadow:0 0 0 4px rgba(37,99,235,.18)!important}
.kso-researcher-row{border-color:#cfe0ff!important;background:#f4f8ff!important}
.kso-check-copy .required{color:#ef4444!important}
.kso-field-note{font-size:11px;color:#64748b}

@media (max-width:600px){
 .kso-check-row{padding:12px!important}
 .kso-check-copy{font-size:12.5px!important;line-height:1.5!important}
}


/* ==========================================================
   KALLCOR CHECKOUT CERTIFICATION
   Kept inside the billing/contact flow — before payment.
   Isolated from Razzi/WooCommerce label/grid rules.
   ========================================================== */
.kso-checkout-certification,
.kso-checkout-certification *{box-sizing:border-box}
.kso-checkout-certification{
  display:block!important;width:100%!important;max-width:100%!important;
  margin:22px 0 8px!important;padding:18px 20px!important;
  border:1px solid #d9e3f0!important;border-radius:14px!important;
  background:#f7faff!important;clear:both!important;
}
.kso-checkout-cert-title{
  display:block!important;margin:0 0 12px!important;
  font-size:14px!important;line-height:1.4!important;font-weight:700!important;
  color:#172033!important;
}
.kso-checkout-cert-title .required{color:#e11d48!important}
.kso-checkout-cert-label{
  position:relative!important;display:flex!important;flex-direction:row!important;
  align-items:flex-start!important;gap:11px!important;width:100%!important;
  max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;
  cursor:pointer!important;text-align:left!important;white-space:normal!important;
}
.kso-checkout-cert-checkbox{
  position:absolute!important;left:0!important;top:0!important;
  width:18px!important;height:18px!important;margin:0!important;
  opacity:0!important;pointer-events:none!important;
}
.kso-checkout-cert-box{
  position:relative!important;display:block!important;flex:0 0 18px!important;
  width:18px!important;min-width:18px!important;height:18px!important;
  margin:2px 0 0!important;border:1.5px solid #aebdce!important;
  border-radius:5px!important;background:#fff!important;
}
.kso-checkout-cert-checkbox:checked + .kso-checkout-cert-box{
  background:#2563eb!important;border-color:#2563eb!important;
}
.kso-checkout-cert-checkbox:checked + .kso-checkout-cert-box:after{
  content:""!important;position:absolute!important;left:5px!important;top:2px!important;
  width:5px!important;height:9px!important;border:solid #fff!important;
  border-width:0 2px 2px 0!important;transform:rotate(45deg)!important;
}
.kso-checkout-cert-checkbox:focus-visible + .kso-checkout-cert-box{
  box-shadow:0 0 0 4px rgba(37,99,235,.15)!important;
}
.kso-checkout-cert-copy{
  display:block!important;flex:1 1 auto!important;width:auto!important;
  min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;
  font-size:13px!important;line-height:1.62!important;color:#526176!important;
  white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;
}
.kso-checkout-cert-copy a{color:#2563eb!important;font-weight:700!important;text-decoration:underline!important}
@media(max-width:600px){
 .kso-checkout-certification{padding:15px!important;margin:18px 0 7px!important}
 .kso-checkout-cert-copy{font-size:12.5px!important;line-height:1.58!important}
}
