:root{--noble-navy:#0B1F33;--noble-gold:#D39A2C;--noble-ink:#171A1F;--noble-soft:#F5F7FA;--noble-line:#D8DEE6;--noble-form-text:#171A1F;--noble-form-heading:#0B1F33;--noble-form-label:#0B1F33;--noble-form-accent:#D39A2C;--noble-form-bg:#FFFFFF;--noble-field-bg:#FFFFFF;--noble-field-text:#17212B;--noble-button-bg:#D39A2C;--noble-button-text:#0B1F33;--noble-form-font-family:Roboto,Arial,sans-serif}
.noble-membership-form-wrap,.noble-payment-summary{font-family:var(--noble-form-font-family);color:var(--noble-form-text);max-width:980px;margin:0 auto}
.noble-membership-form{background:var(--noble-form-bg);border:1px solid #e2e7ec;box-shadow:0 8px 30px rgba(11,31,51,.06)}
.noble-form-section{padding:32px 36px;border-bottom:1px solid #e8edf1}
.noble-form-section h3,.noble-payment-summary h3{font-family:var(--noble-form-font-family);color:var(--noble-form-heading);font-size:28px;line-height:1.15;margin:4px 0 22px}
.noble-section-kicker{color:var(--noble-form-accent);font-weight:800;letter-spacing:1.5px;font-size:13px}
.noble-year-display{display:inline-block;background:var(--noble-form-heading);color:#fff;border-left:4px solid var(--noble-form-accent);padding:12px 20px;font-size:24px;font-weight:800}
.noble-help{font-size:14px;color:var(--noble-form-text);margin:10px 0 0}
.noble-grid{display:grid;gap:18px}.noble-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.noble-grid-3{grid-template-columns:2fr 1fr 1fr}
.noble-field{display:block;margin:0 0 18px}.noble-field>span,.noble-yes-no legend{display:block;font-weight:700;color:var(--noble-form-label);font-size:14px;margin-bottom:7px}.noble-field em,.noble-yes-no em{color:#9e2424;font-style:normal}
.noble-field input{box-sizing:border-box;width:100%;min-height:46px;border:1px solid #bcc6d0;border-radius:2px;background:var(--noble-field-bg);padding:10px 12px;font-size:16px;color:var(--noble-field-text);outline:none}.noble-field input:focus{border-color:var(--noble-form-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--noble-form-accent) 16%,transparent)}
.noble-yes-no{border:0;border-bottom:1px solid #edf0f3;margin:0;padding:0 0 18px}.noble-yes-no+ .noble-yes-no{padding-top:18px}.noble-yes-no label{display:inline-flex;align-items:center;gap:7px;margin-right:24px;font-weight:600;color:var(--noble-form-text)}.noble-yes-no input{width:18px;height:18px;accent-color:var(--noble-navy)}
.noble-membership-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.noble-membership-choice{display:flex;gap:10px;align-items:flex-start;border:1px solid #dce2e8;border-top:3px solid var(--noble-form-accent);padding:18px;background:var(--noble-soft);cursor:pointer}.noble-membership-choice input{margin-top:4px;accent-color:var(--noble-navy)}.noble-membership-choice span{display:flex;flex-direction:column;gap:5px}.noble-membership-choice small{color:var(--noble-form-text)}
.noble-checkbox{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:var(--noble-form-text)}.noble-checkbox input{margin-top:3px;accent-color:var(--noble-navy)}
.noble-submit-button{display:block;width:calc(100% - 72px);margin:28px 36px 36px;border:1px solid var(--noble-form-accent);border-radius:2px;background:var(--noble-button-bg);color:var(--noble-button-text);font-family:var(--noble-form-font-family);font-weight:800;font-size:15px;letter-spacing:.4px;padding:15px 22px;cursor:pointer}.noble-submit-button:hover{filter:brightness(.96);transform:translateY(-1px)}
.noble-form-errors,.noble-notice{border-left:4px solid #b43b3b;background:#fff5f5;padding:14px 18px;margin:0 0 18px}.noble-notice{border-left-color:var(--noble-gold);background:#fffaf0}.noble-form-errors ul{margin-bottom:0}
.noble-payment-summary{background:#fff;border:1px solid #e2e7ec;border-top:5px solid var(--noble-form-accent);padding:34px 38px;box-shadow:0 8px 30px rgba(11,31,51,.06)}.noble-payment-summary.is-paid{border-top-color:#3a7b4b}.noble-success-mark{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#eaf5ed;color:#2d6b3d;font-weight:900;font-size:26px}
.noble-summary-list{margin:24px 0}.noble-summary-list>div{display:grid;grid-template-columns:210px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid #edf0f3}.noble-summary-list dt{font-weight:700;color:var(--noble-form-label)}.noble-summary-list dd{margin:0}.noble-status{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef1f4}.noble-status-paid{background:#eaf5ed;color:#2d6b3d}
.noble-paypal-notice{background:var(--noble-soft);border-left:4px solid var(--noble-form-accent);padding:14px 16px;margin:20px 0}.noble-paypal-message{margin-top:12px;font-weight:600}.noble-paypal-message.is-error{color:#9e2424}.noble-paypal-message.is-success{color:#2d6b3d}
@media(max-width:767px){.noble-form-section{padding:26px 20px}.noble-grid-2,.noble-grid-3,.noble-membership-choices{grid-template-columns:1fr}.noble-submit-button{width:calc(100% - 40px);margin:24px 20px 28px}.noble-payment-summary{padding:26px 20px}.noble-summary-list>div{grid-template-columns:1fr;gap:3px}.noble-form-section h3,.noble-payment-summary h3{font-size:24px}}
.noble-form-intro{margin:0 0 18px}.noble-form-intro h2{font-family:var(--noble-form-font-family);color:var(--noble-form-heading);font-size:32px;margin:0 0 10px}.noble-form-intro p{font-size:16px;line-height:1.65;color:var(--noble-form-text)}
.noble-field select,.noble-field textarea{box-sizing:border-box;width:100%;border:1px solid #bcc6d0;border-radius:2px;background:var(--noble-field-bg);padding:10px 12px;font-size:16px;color:var(--noble-field-text);outline:none}.noble-field select{min-height:46px}.noble-field textarea{min-height:120px;resize:vertical}.noble-field input[type=file]{padding:9px;background:#f8fafc}.noble-field select:focus,.noble-field textarea:focus{border-color:var(--noble-form-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--noble-form-accent) 16%,transparent)}
.noble-status-pending{background:#fff5df;color:#7d5a16}.noble-instruction{padding:12px 0 18px;font-size:15px;line-height:1.6}

/* v1.3.0 frontend hardening: keep NOBLE forms readable inside Elementor/theme styles. */
.noble-membership-form-wrap,.noble-membership-form-wrap *{box-sizing:border-box}
.noble-membership-form-wrap{width:100%;max-width:980px;line-height:1.5}
.noble-membership-form-wrap .noble-form-intro{background:var(--noble-form-bg)!important;border:1px solid #e2e7ec;border-bottom:0;padding:28px 36px 12px;margin:0;color:var(--noble-form-text)!important}
.noble-membership-form-wrap .noble-form-intro h2{color:var(--noble-form-heading)!important;font-family:var(--noble-form-font-family)!important;font-weight:700}
.noble-membership-form-wrap .noble-form-intro p,.noble-membership-form-wrap .noble-help,.noble-membership-form-wrap .noble-instruction{color:var(--noble-form-text)!important;font-family:var(--noble-form-font-family)!important}
.noble-membership-form-wrap .noble-membership-form{background:var(--noble-form-bg)!important;color:var(--noble-form-text)!important;font-family:var(--noble-form-font-family)!important}
.noble-membership-form-wrap .noble-form-intro + .noble-membership-form{border-top:0}
.noble-membership-form-wrap .noble-form-section h3{color:var(--noble-form-heading)!important;font-family:var(--noble-form-font-family)!important}
.noble-membership-form-wrap .noble-field>span,.noble-membership-form-wrap .noble-yes-no legend,.noble-membership-form-wrap .noble-checkbox,.noble-membership-form-wrap .noble-yes-no label{color:var(--noble-form-label)!important;font-family:var(--noble-form-font-family)!important}
.noble-membership-form-wrap .noble-field input:not([type="checkbox"]):not([type="radio"]),.noble-membership-form-wrap .noble-field select,.noble-membership-form-wrap .noble-field textarea{background:var(--noble-field-bg)!important;color:var(--noble-field-text)!important;font-family:var(--noble-form-font-family)!important;border:1px solid #bcc6d0!important;border-radius:2px!important;box-shadow:none}
.noble-membership-form-wrap .noble-field input::placeholder,.noble-membership-form-wrap .noble-field textarea::placeholder{color:color-mix(in srgb,var(--noble-field-text) 62%,transparent);opacity:1}
.noble-membership-form-wrap .noble-field input:focus,.noble-membership-form-wrap .noble-field select:focus,.noble-membership-form-wrap .noble-field textarea:focus{border-color:var(--noble-form-accent)!important;outline:2px solid transparent;box-shadow:0 0 0 2px rgba(211,154,44,.16)!important}
.noble-membership-form-wrap .noble-submit-button{background:var(--noble-button-bg)!important;color:var(--noble-button-text)!important;border-color:var(--noble-form-accent)!important;font-family:var(--noble-form-font-family)!important;text-decoration:none!important}
.noble-membership-form-wrap .noble-membership-choice{background:var(--noble-field-bg)!important;color:var(--noble-form-text)!important}
.noble-membership-form-wrap .noble-membership-choice strong,.noble-membership-form-wrap .noble-membership-choice small{color:var(--noble-form-text)!important}
@media(max-width:767px){.noble-membership-form-wrap .noble-form-intro{padding:24px 20px 10px}}


/* v1.4.1 radio-control correction.
 * Several WordPress themes/Elementor styles apply width, height, border-radius,
 * transform, or native-control styles to radio inputs. Lock NOBLE radios to a
 * true square and draw the selected state ourselves so the dot is centered. */
.noble-membership-form-wrap input[type="radio"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:inline-block!important;
  box-sizing:border-box!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  flex:0 0 20px!important;
  padding:0!important;
  margin:1px 0 0 0!important;
  border:2px solid var(--noble-navy)!important;
  border-radius:50%!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:none!important;
  vertical-align:middle!important;
  transform:none!important;
  cursor:pointer!important;
  position:relative!important;
}
.noble-membership-form-wrap input[type="radio"]:checked{
  border-color:var(--noble-navy)!important;
  background:radial-gradient(circle at 50% 50%,var(--noble-navy) 0 4px,#fff 4.5px 100%)!important;
  box-shadow:none!important;
}
.noble-membership-form-wrap input[type="radio"]:focus-visible{
  outline:2px solid var(--noble-form-accent)!important;
  outline-offset:3px!important;
}
.noble-membership-form-wrap .noble-membership-choice{
  align-items:flex-start!important;
}
.noble-membership-form-wrap .noble-membership-choice>input[type="radio"]{
  align-self:flex-start!important;
  margin-top:3px!important;
}
.noble-membership-form-wrap .noble-membership-choice>span{
  min-width:0;
  line-height:1.35;
}
.noble-membership-form-wrap .noble-yes-no>label>input[type="radio"]{
  margin-top:0!important;
  align-self:center!important;
}
@media(max-width:767px){
  .noble-membership-form-wrap input[type="radio"]{
    width:20px!important;
    min-width:20px!important;
    max-width:20px!important;
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
  }
}
