/* Scoped styles: only affects this form */
.paddle-form-wrap { --p-border:#e6e8ef; --p-text:#0f172a; --p-muted:#64748b; --p-bg:#ffffff; --p-soft:#f6f8fc; --p-danger:#b42318; --p-ok:#067647; }

.paddle-form-wrap * { box-sizing: border-box; }

.paddle-card{
  max-width: 980px;
  margin: 18px auto;
  background: var(--p-bg);
  border: 1px solid var(--p-border);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  color: var(--p-text);
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.paddle-card-header{
  padding: 18px 22px;
  background: linear-gradient(90deg, #0b1f3a, #123a74);
  color: #fff;
}

.paddle-title{
  margin: 0;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 800;
}

.paddle-card-body{ padding: 18px 22px 22px; }

.paddle-desc{
  background: var(--p-soft);
  border: 1px solid var(--p-border);
  border-radius: 14px;
  padding: 14px 14px;
  margin-bottom: 16px;
}
.paddle-desc p{ margin: 0 0 10px; }
.paddle-desc ul{ margin: 0; padding-left: 18px; }
.paddle-desc li{ margin: 4px 0; color: #0f172a; }

.paddle-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px 14px;
}

.paddle-field-full{ grid-column: 1 / -1; }

.paddle-field label{
  display: block;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 6px;
}

.paddle-field .req{ color: var(--p-danger); font-weight: 800; margin-left: 2px; }

.paddle-field input,
.paddle-field select,
.paddle-field textarea{
  width: 100%;
  border: 1px solid var(--p-border);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  color: var(--p-text);
  outline: none;
  transition: box-shadow .15s, border-color .15s;
}

.paddle-field textarea{ resize: vertical; min-height: 86px; }

.paddle-field input:focus,
.paddle-field select:focus,
.paddle-field textarea:focus{
  border-color: rgba(37, 99, 235, .45);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

.paddle-help{
  margin-top: 6px;
  font-size: 12px;
  color: var(--p-muted);
}

.paddle-error{
  margin-top: 6px;
  font-size: 12px;
  color: var(--p-danger);
  min-height: 16px;
}

.paddle-invalid{
  border-color: rgba(180,35,24,.55) !important;
  box-shadow: 0 0 0 4px rgba(180,35,24,.10) !important;
}

.paddle-fieldset{
  border: 1px solid var(--p-border);
  border-radius: 14px;
  padding: 12px 12px 6px;
  background: #fff;
}

.paddle-fieldset legend{
  font-weight: 800;
  font-size: 14px;
  padding: 0 8px;
}

.paddle-check{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 10px;
  border-radius: 12px;
  background: var(--p-soft);
  border: 1px solid var(--p-border);
  margin: 10px 0 6px;
}

.paddle-check input{ margin-top: 3px; }

.paddle-actions{
  margin-top: 16px;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.paddle-btn{
  border: 0;
  border-radius: 12px;
  padding: 12px 16px;
  font-weight: 800;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, #0d47a1, #1976d2);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.paddle-form.is-loading .paddle-btn{ opacity: .8; cursor: wait; }
.paddle-spinner{
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  display: none;
  animation: paddleSpin .9s linear infinite;
}
.paddle-form.is-loading .paddle-spinner{ display: inline-block; }

@keyframes paddleSpin { to { transform: rotate(360deg);} }

.paddle-form-msg{
  font-weight: 700;
  font-size: 14px;
}
.paddle-form-msg.ok{ color: var(--p-ok); }
.paddle-form-msg.err{ color: var(--p-danger); }

@media (max-width: 768px){
  .paddle-card-body{ padding: 16px; }
  .paddle-grid{ grid-template-columns: 1fr; }
}
.paddle-title {
  color: white;
}

/* Waiver checkbox row: checkbox LEFT, text RIGHT */
.paddle-check{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 14px;
}

.paddle-check input[type="checkbox"]{
  margin:2px 0 0;         /* align to first line */
  flex:0 0 auto;
  width:18px;
  height:18px;
}

.paddle-check span{
  flex:1 1 auto;
  line-height:1.35;
}

/* Optional: make whole row clickable feel */
.paddle-check{
  cursor:pointer;
}
.paddle-check input{
  cursor:pointer;
}