/* JEF light branded CiviCRM form CSS (PRODUCTION) — see UPGRADE-LOG.
   Scoped to public forms; excludes UK pages 9/12; DISABLED on body.jef-skin
   (the dark full-page redesign owns those pages). */
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800;900&display=swap');

body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)){
  --jef:#00CC66;
  --jef-deep:#068A49;
  --ink:#1B2620;
  --ink-soft:#585F5A;
  --muted:#8C918C;
  --line:#DEE6D9;
  --field-bg:#FFFFFF;
  --field-line:#C9D5C1;
  --shadow:0 1px 2px rgba(11,23,16,.06),0 12px 34px -18px rgba(11,23,16,.28);
  --shadow-lift:0 2px 6px rgba(11,23,16,.09),0 26px 60px -26px rgba(0,204,102,.24);

  font-family:"Mulish",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--ink);
  background:#FFFFFF;
  border:1px solid var(--line);
  border-radius:20px;
  padding:30px 30px 26px;
  box-shadow:var(--shadow);
  max-width:720px;
}
@media(max-width:520px){body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)){padding:22px 18px}}

/* flatten CiviCRM's default fieldset chrome; sections are separated by the legend rule below */
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) fieldset{border:0;margin:0;padding:0;min-width:0}

/* section / group headings (CiviCRM renders these as <legend> inside fieldsets) */
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) legend,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-group-title,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) h2.section-title,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-accordion-header{
  display:block;width:100%;box-sizing:border-box;
  font-weight:900;font-size:12.5px;text-transform:uppercase;letter-spacing:.02em;
  color:var(--ink-soft);margin:30px 0 16px;padding:0 0 10px;border-bottom:1px solid var(--line);
}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-group:first-of-type .crm-group-title,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) fieldset:first-of-type legend{margin-top:0}

/* field rows: stack label over the control */
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-section{display:flex;flex-direction:column;gap:7px;margin:0 0 17px;padding:0;border:0;float:none;width:auto}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-section > .label,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-section > .crm-label{float:none;width:auto;text-align:left;padding:0}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-section > .label label{font-weight:700;font-size:14px;color:var(--ink)}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-section > .content{margin-left:0;width:auto}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-marker{color:var(--jef-deep);margin-left:3px;font-weight:800}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .description{color:var(--muted);font-size:13px;margin-top:3px}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .clear{clear:both}

/* inputs, selects, textareas */
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input[type=text],
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input[type=email],
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input[type=tel],
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input[type=number],
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input[type=password],
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input.crm-form-text,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) select,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) textarea,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-form-select{
  width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:var(--field-bg);
  border:1.5px solid var(--field-line);border-radius:11px;padding:12px 14px;line-height:1.3;
  transition:border-color .12s,box-shadow .12s;box-shadow:none;
}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) textarea{min-height:96px;resize:vertical}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input:focus,body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) select:focus,body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) textarea:focus{
  outline:none;border-color:var(--jef);box-shadow:0 0 0 3px rgba(0,204,102,.22);
}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input::placeholder{color:var(--muted)}

/* price / membership options as selectable cards */
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .price-set-row{display:flex;flex-direction:column;gap:10px}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-option-label-pair{
  display:flex;align-items:center;gap:12px;border:1.5px solid var(--field-line);border-radius:13px;
  padding:15px 16px;cursor:pointer;background:var(--field-bg);transition:border-color .12s,background .12s,box-shadow .12s;
}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-option-label-pair:hover{border-color:var(--jef)}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-option-label-pair:has(input:checked){border-color:var(--jef);background:rgba(0,204,102,.09);box-shadow:var(--shadow)}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-option-label-pair input[type=radio]{width:20px;height:20px;flex:0 0 auto;margin:0}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-option-label-pair label{margin:0;font-weight:700;font-size:16px;cursor:pointer;flex:1;display:flex;justify-content:space-between;gap:10px;align-items:baseline}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-price-amount-amount{font-weight:900;color:var(--jef-deep);font-variant-numeric:tabular-nums}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .pricesettotal,body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .total-amount{font-weight:900;font-variant-numeric:tabular-nums}

/* radios & checkboxes (gender, fields of interest, consent…) use brand accent */
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input[type=radio],
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input[type=checkbox],
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-form-checkbox,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-form-radio{accent-color:var(--jef)}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-checkbox-list label,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-radio-list label{display:flex;align-items:center;gap:9px;font-weight:500;color:var(--ink-soft);cursor:pointer}

/* submit button(s) */
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-submit-buttons{display:flex;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-button,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) button.crm-form-submit,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input.crm-form-submit{
  -webkit-appearance:none;appearance:none;font-family:inherit;font-weight:800;font-size:17px;
  background:var(--jef);color:#04140b;border:0;border-radius:12px;padding:15px 26px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:var(--shadow);
  transition:transform .12s,box-shadow .12s;
}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-button:hover,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) button.crm-form-submit:hover,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) input.crm-form-submit:hover{transform:translateY(-1px);box-shadow:var(--shadow-lift)}
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-i{font-style:normal}

/* billing / payment block */
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) #billing-payment-block,
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-payment-js-billing-form-container{
  background:rgba(10,47,160,.04);border:1px solid var(--line);border-radius:14px;padding:18px 18px 4px;margin-top:6px;
}

/* keep two-up name rows tidy where CiviCRM already uses them */
body:not(.jef-skin) .crm-container.crm-public:not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .crm-inline-block-content{display:flex;gap:16px;flex-wrap:wrap}

/* neutralise the theme green gutters (light version only) */
body.civicrm-contribute-transact:not(.jef-skin):not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)),
body.civicrm-contribute-transact:not(.jef-skin):not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) #mid,
body.civicrm-contribute-transact:not(.jef-skin):not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) #content,
body.civicrm-contribute-transact:not(.jef-skin):not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) #col-mask,
body.civicrm-contribute-transact:not(.jef-skin):not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .content-box,
body.civicrm-contribute-transact:not(.jef-skin):not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .formatter,
body.civicrm-contribute-transact:not(.jef-skin):not(:has(.crm-contribution-page-id-9)):not(:has(.crm-contribution-page-id-12)) .real-content{
  background:#EFF2EC !important;
}
