.jstars-reg{
  --jstars-ink:#0b0d10;
  --jstars-line-soft:#e6e8ec;
  --jstars-paper-2:#f5f6f8;
  --jstars-gold:#e8b44a;
  --jstars-gold-deep:#c8912b;
  --jstars-muted-dark:#5d6773;
  color:var(--jstars-ink);
  font-family:inherit;
  font-size:16px;
  line-height:1.58;
}
.jstars-reg *{box-sizing:border-box}
.jstars-reg fieldset{border:0!important;padding:0!important;margin:0!important;min-width:0}
.jstars-reg legend{font-size:11.5px!important;font-weight:900!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--jstars-gold-deep)!important;margin:0 0 15px!important;padding:0!important;line-height:1.4!important}
.jstars-field{margin-bottom:16px}
.jstars-field label{display:block!important;font-weight:700!important;font-size:14px!important;margin:0 0 6px!important;color:var(--jstars-ink)!important}
.jstars-hint{font-weight:400;color:var(--jstars-muted-dark);font-size:13px;display:block;margin:-2px 0 6px}
.jstars-optional{font-weight:400;color:var(--jstars-muted-dark)}
.jstars-req{color:#c0392b}
.jstars-reg input[type=text],
.jstars-reg input[type=email],
.jstars-reg input[type=tel],
.jstars-reg input[type=date],
.jstars-reg select,
.jstars-reg textarea{
  width:100%!important;
  min-height:0!important;
  padding:12px 14px!important;
  border:1px solid #c9cfd8!important;
  border-radius:7px!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:16px!important;
  line-height:1.45!important;
  background:#fff!important;
  color:var(--jstars-ink)!important;
  outline:none;
}
.jstars-reg textarea{min-height:82px!important;resize:vertical}
.jstars-reg input:focus,.jstars-reg select:focus,.jstars-reg textarea:focus{outline:2px solid var(--jstars-gold-deep)!important;outline-offset:1px!important;border-color:var(--jstars-gold-deep)!important}
.jstars-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.jstars-reg-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0 36px;align-items:start}
.jstars-reg-cols .jstars-field-row{grid-template-columns:1fr}
.jstars-reg-foot{margin-top:26px;padding-top:24px;border-top:1px solid var(--jstars-line-soft);display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:end}
.jstars-check{display:flex!important;gap:11px;align-items:flex-start;margin:0 0 13px!important;font-size:14.5px!important;line-height:1.48!important;color:var(--jstars-ink)!important;font-weight:400!important}
.jstars-check input{margin:3px 0 0!important;width:17px!important;height:17px!important;min-width:17px!important;flex:0 0 auto!important;accent-color:var(--jstars-gold-deep)!important}
.jstars-check a{color:inherit;text-decoration:underline}
.jstars-camp-choice{margin-bottom:26px!important}
.jstars-opt-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jstars-opt{display:flex!important;gap:11px!important;align-items:center!important;border:1px solid #c9cfd8!important;border-radius:9px!important;padding:15px 17px!important;cursor:pointer!important;font-size:15px!important;line-height:1.35!important;transition:border-color .15s,background .15s!important;color:var(--jstars-ink)!important;font-weight:400!important;background:#fff!important}
.jstars-opt:hover{border-color:var(--jstars-gold-deep)!important}
.jstars-opt.is-checked{border-color:var(--jstars-gold-deep)!important;background:rgba(232,180,74,.09)!important;border-width:2px!important;padding:14px 16px!important}
.jstars-opt input{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;flex:0 0 auto!important;accent-color:var(--jstars-gold-deep)!important}
.jstars-opt b{display:block;font-weight:800}
.jstars-opt-price{display:block;font-weight:800;color:var(--jstars-gold-deep);margin-top:3px}
.jstars-three-window{margin-top:16px;max-width:420px}
.jstars-pay-summary{background:var(--jstars-paper-2);border:1px solid var(--jstars-line-soft);border-radius:9px;padding:20px 24px;margin:0 0 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.jstars-summary-title{font-weight:800;font-size:16px}
.jstars-summary-desc{color:var(--jstars-muted-dark);font-size:14.5px}
.jstars-summary-right{text-align:right}
.jstars-summary-amount{font-size:30px;font-weight:900;line-height:1}
.jstars-summary-currency{color:var(--jstars-muted-dark);font-size:13px;margin-top:4px}
.jstars-submit,
.jstars-reg button.jstars-submit,
.elementor .jstars-reg button.jstars-submit{
  display:inline-block!important;
  width:100%!important;
  min-height:0!important;
  background:var(--jstars-gold)!important;
  color:#1a1204!important;
  text-decoration:none!important;
  font-family:inherit!important;
  font-weight:800!important;
  font-size:16.5px!important;
  line-height:1.2!important;
  padding:16px 34px!important;
  border-radius:6px!important;
  border:0!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:transform .12s,background .15s,color .15s!important;
}
.jstars-submit:hover,
.jstars-submit:focus,
.jstars-reg button.jstars-submit:hover,
.jstars-reg button.jstars-submit:focus,
.elementor .jstars-reg button.jstars-submit:hover,
.elementor .jstars-reg button.jstars-submit:focus{
  background:#000!important;
  color:#fff!important;
  border-color:#000!important;
  transform:translateY(-1px)!important;
}
.jstars-notice{padding:14px 16px;border-radius:8px;margin:0 0 18px;font-weight:600}
.jstars-notice-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.jstars-notice-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}
.jstars-notice-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.jstars-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:980px){.jstars-reg-cols{grid-template-columns:1fr 1fr}.jstars-reg-cols fieldset:last-child{grid-column:1/-1}}
@media(max-width:860px){.jstars-reg-foot{grid-template-columns:1fr;gap:20px}}
@media(max-width:700px){.jstars-field-row,.jstars-reg-cols,.jstars-opt-row{grid-template-columns:1fr}.jstars-reg-cols fieldset:last-child{grid-column:auto}.jstars-summary-right{text-align:left}.jstars-pay-summary{align-items:flex-start}}


/* v1.0.2 — compact alignment + correct 3-day visibility */
.jstars-three-window[hidden]{
  display:none!important;
}

.jstars-three-window:not([hidden]){
  display:block!important;
  margin-top:16px!important;
  margin-bottom:0!important;
  max-width:420px;
}

.jstars-camp-choice{
  margin-bottom:28px!important;
}

.jstars-reg-cols{
  column-gap:36px!important;
}

.jstars-reg-cols > fieldset > legend{
  margin-bottom:16px!important;
}

/* Align only the first control of Player / Parent / Medical.
   Do not reserve artificial helper rows for every field. */
.jstars-first-row{
  margin-bottom:16px!important;
}

.jstars-first-meta{
  min-height:55px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:2px;
  margin:0 0 6px;
}

.jstars-first-meta label{
  margin:0!important;
  line-height:1.25!important;
}

.jstars-first-meta .jstars-hint{
  margin:0!important;
  line-height:1.25;
}

.jstars-first-row > input[type=text],
.jstars-first-row > input[type=email],
.jstars-first-row > input[type=tel],
.jstars-first-row > input[type=date],
.jstars-first-row > select{
  height:50px!important;
  min-height:50px!important;
}

.jstars-first-row > textarea{
  min-height:96px!important;
  margin:0!important;
}

/* Keep the rest of the form compact and uniform. */
.jstars-field{
  margin-bottom:16px!important;
}

.jstars-reg input[type=text],
.jstars-reg input[type=email],
.jstars-reg input[type=tel],
.jstars-reg input[type=date],
.jstars-reg select{
  min-height:50px!important;
}

@media(max-width:700px){
  .jstars-first-meta{
    min-height:0;
    justify-content:flex-start;
  }
  .jstars-camp-choice{
    margin-bottom:24px!important;
  }
  .jstars-three-window:not([hidden]){
    max-width:none;
  }
}


/* v1.0.3 — legend position only.
   Keeps every field/input exactly where it was in v1.0.2. */
@media(min-width:701px){
  .jstars-reg-cols > fieldset > legend{
    position:relative;
    transform:translateY(20px);
    z-index:1;
  }
}


/* v1.1.0 — coupon field */
.jstars-payment-column{display:flex;flex-direction:column;gap:14px}
.jstars-coupon-box{margin:0}
.jstars-coupon-box>label{display:block!important;margin:0 0 7px!important;font-weight:800!important;font-size:14px!important;color:var(--jstars-ink)!important}
.jstars-coupon-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.jstars-coupon-row input[type=text]{height:50px!important;min-height:50px!important;margin:0!important;text-transform:uppercase}
.jstars-coupon-apply,
.elementor .jstars-reg .jstars-coupon-apply{
  min-height:50px!important;padding:0 20px!important;border:1px solid #0b0d10!important;border-radius:7px!important;background:#fff!important;color:#0b0d10!important;font-weight:800!important;font-size:14px!important;cursor:pointer!important;box-shadow:none!important
}
.jstars-coupon-apply:hover,.jstars-coupon-apply:focus,.elementor .jstars-reg .jstars-coupon-apply:hover,.elementor .jstars-reg .jstars-coupon-apply:focus{background:#0b0d10!important;color:#fff!important}
.jstars-coupon-apply[disabled]{opacity:.65;cursor:wait}
.jstars-coupon-feedback{min-height:20px;margin-top:6px;font-size:13px;line-height:1.45;color:var(--jstars-muted-dark)}
.jstars-coupon-feedback.is-success{color:#166534;font-weight:700}
.jstars-coupon-feedback.is-error{color:#991b1b;font-weight:700}
@media(max-width:700px){.jstars-coupon-row{grid-template-columns:1fr}.jstars-coupon-apply{width:100%!important}}


/* v1.1.2 — mobile legend spacing fix */
@media(max-width:700px){
  .jstars-camp-choice{
    margin-bottom:20px!important;
  }

  .jstars-reg-cols > fieldset > legend{
    display:block!important;
    margin-top:10px!important;
    margin-bottom:12px!important;
    line-height:1.2!important;
  }

  .jstars-reg-cols .jstars-field:first-of-type{
    margin-top:0!important;
  }
}


/* v1.1.3 — definitive mobile spacing fix.
   Use padding on the registration columns instead of relying on fieldset/legend margins. */
@media(max-width:700px){
  .jstars-reg-cols{
    padding-top:20px!important;
  }

  .jstars-reg-cols > fieldset > legend{
    margin-top:0!important;
    margin-bottom:10px!important;
  }

  .jstars-reg-cols > fieldset + fieldset{
    margin-top:18px!important;
  }
}
