/* SIPAC membership application (inc/apply.php). Uses the site's sv2 colour tokens, so it follows light and dark mode. */
.sm-apply-page .page-title,.sm-apply-page .post-title,.sm-apply-page #page-title-wrap{display:none!important}
.sm-apply-page #content{padding-top:0!important}
#sm-apply{--a-red:var(--sv-red,#DA2011);--a-ink:var(--sv-ink,#14161A);--a-body:var(--sv-body,#3A3F47);--a-muted:var(--sv-muted,#6B7280);--a-line:var(--sv-line,#E2E4E8);--a-subtle:var(--sv-subtle,#F3F4F6);--a-bg:var(--sv-white,#fff);--a-control:#858C96;
  max-width:1280px;margin:0 auto;padding:56px 40px 96px;color:var(--a-body);font:400 16px/1.6 var(--sv-text,'Inter',system-ui,sans-serif);box-sizing:border-box}
#sm-apply *,#sm-apply *::before,#sm-apply *::after{box-sizing:border-box}
#sm-apply [hidden]{display:none!important}
#sm-apply .ap-kicker{margin:0 0 10px;color:var(--a-red);font:700 11px/1.3 var(--sv-text,'Inter',system-ui,sans-serif);letter-spacing:.12em;text-transform:uppercase}
#sm-apply .ap-h1{margin:0 0 14px;color:var(--a-ink);font:800 clamp(32px,4.2vw,48px)/1.08 var(--sv-head,'Plus Jakarta Sans',system-ui,sans-serif);letter-spacing:-.02em}
#sm-apply .ap-lead{max-width:760px;margin:0;font-size:17px;color:var(--a-body)}
#sm-apply .ap-h2{margin:0 0 20px;color:var(--a-ink);font:800 28px/1.2 var(--sv-head,'Plus Jakarta Sans',system-ui,sans-serif);letter-spacing:-.01em;outline:none}
#sm-apply .ap-h3{margin:28px 0 12px;color:var(--a-ink);font:700 18px/1.3 var(--sv-head,'Plus Jakarta Sans',system-ui,sans-serif)}
#sm-apply .ap-sub{margin:-6px 0 14px;color:var(--a-muted);font-size:14.5px}
#sm-apply a{color:var(--a-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--a-line)}
#sm-apply a:hover{color:var(--a-red)}
#sm-apply .ap-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:72px;margin-top:44px;align-items:start}
#sm-apply .ap-side{position:sticky;top:110px;padding:28px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-bg)}
#sm-apply .ap-side .ap-h3{margin-top:0}
#sm-apply .ap-flow{list-style:none;margin:0;padding:0;counter-reset:f}
#sm-apply .ap-flow li{position:relative;margin:0;padding:0 0 16px 36px;counter-increment:f}
#sm-apply .ap-flow li::before{content:counter(f);position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--a-subtle);color:var(--a-ink);font:700 12px/24px var(--sv-text,'Inter',system-ui,sans-serif);text-align:center}
#sm-apply .ap-flow b{display:block;color:var(--a-ink);font-size:15px}
#sm-apply .ap-flow span{display:block;font-size:14px;color:var(--a-muted);line-height:1.5}
#sm-apply .ap-facts{margin:8px 0 14px;padding:16px 0 0;border-top:1px solid var(--a-line);font-size:14px}
#sm-apply .ap-facts p{margin:0 0 6px}
#sm-apply .ap-facts b{color:var(--a-red);font-weight:800}
#sm-apply .ap-small{margin:0;font-size:14px;color:var(--a-muted)}

/* Stepper */
#sm-apply .ap-steps{display:flex;list-style:none;margin:0 0 36px;padding:0;gap:0}
#sm-apply .ap-steps li{flex:1;margin:0;padding:0;position:relative}
#sm-apply .ap-steps li::before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:var(--a-line)}
#sm-apply .ap-steps li.is-done::before,#sm-apply .ap-steps li.is-on::before{background:var(--a-ink)}
#sm-apply .ap-steps button{position:relative;display:block;width:100%;margin:0;padding:22px 8px 0 0;border:0;background:none;text-align:left;cursor:pointer;color:var(--a-muted);font:600 13px/1.3 var(--sv-text,'Inter',system-ui,sans-serif);box-shadow:none;min-height:0;text-transform:none;letter-spacing:0}
#sm-apply .ap-steps button:disabled{cursor:default}
#sm-apply .ap-steps i{position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;background:var(--a-bg);border:2px solid var(--a-line)}
#sm-apply .ap-steps li.is-done i{border-color:var(--a-ink);background:var(--a-ink)}
#sm-apply .ap-steps li.is-on i{border-color:var(--a-red);background:var(--a-red)}
#sm-apply .ap-steps li.is-on button,#sm-apply .ap-steps li.is-done button{color:var(--a-ink)}
#sm-apply .ap-steps button:focus-visible{outline:2px solid var(--a-red);outline-offset:4px}
#sm-apply .ap-stepno{margin:0 0 6px;color:var(--a-red);font:700 11px/1.3 var(--sv-text,'Inter',system-ui,sans-serif);letter-spacing:.12em;text-transform:uppercase}

/* Fields */
#sm-apply .ap-step{border-top:2px solid var(--a-ink);padding-top:28px}
#sm-apply .ap-row{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
#sm-apply .ap-row3{grid-template-columns:1fr 1fr 1fr}
#sm-apply .ap-field{margin:0 0 20px;min-width:0}
#sm-apply .ap-field[hidden],#sm-apply .ap-rp[hidden]{display:none}
#sm-apply .ap-label{display:block;margin:0 0 7px;color:var(--a-ink);font:600 14px/1.4 var(--sv-text,'Inter',system-ui,sans-serif)}
#sm-apply .ap-label.req::after{content:" *";color:var(--a-red)}
#sm-apply .ap-label:empty{display:none}
#sm-apply input[type=text],#sm-apply input[type=url],#sm-apply input[type=email],#sm-apply input[type=tel],#sm-apply select,#sm-apply textarea{
  display:block;width:100%;max-width:none;margin:0;padding:11px 13px;border:1px solid var(--a-line);border-radius:4px;background:var(--a-bg);color:var(--a-ink);
  font:400 16px/1.4 var(--sv-text,'Inter',system-ui,sans-serif);box-shadow:none;outline:none;transition:border-color 150ms ease;-webkit-appearance:none;appearance:none;height:auto;min-height:46px}
#sm-apply select{padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236B7280' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
#sm-apply select option:disabled{color:#9CA3AF}
#sm-apply textarea{resize:vertical;min-height:110px;line-height:1.55}
#sm-apply input:focus,#sm-apply select:focus,#sm-apply textarea:focus{border-color:var(--a-ink);box-shadow:0 0 0 3px rgba(20,22,26,.08)}
#sm-apply .has-err input,#sm-apply .has-err select,#sm-apply .has-err textarea{border-color:var(--a-red)}
#sm-apply .ap-hint{margin:7px 0 0;font-size:13.5px;line-height:1.5;color:var(--a-muted)}
#sm-apply .ap-err{margin:6px 0 0;font-size:13.5px;color:var(--a-red);min-height:0}
#sm-apply .ap-err:empty{display:none}
#sm-apply .ap-count{display:block;margin-top:4px;text-align:right;font-size:12px;color:var(--a-muted);min-height:16px}
#sm-apply .ap-count.is-near{color:var(--a-red)}
#sm-apply .ap-checks{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px}
#sm-apply .ap-radios{display:grid;gap:2px}
#sm-apply .ap-check,#sm-apply .ap-radio{display:flex;gap:11px;align-items:flex-start;margin:0;padding:7px 0;cursor:pointer;color:var(--a-body);font-size:15px;line-height:1.45}
/* Radio buttons and checkboxes drawn in full (as on the SILF registration form), so the theme's ::before ticks never show */
#sm-apply input[type=radio],#sm-apply input[type=checkbox]{-webkit-appearance:none!important;appearance:none!important;flex:none;width:18px!important;height:18px!important;min-height:0!important;margin:2px 0 0!important;padding:0!important;
  border:1.5px solid var(--a-control)!important;background:var(--a-bg)!important;background-repeat:no-repeat!important;background-position:center!important;cursor:pointer;vertical-align:middle;box-shadow:none;outline-offset:2px;transition:background-color .12s,border-color .12s,box-shadow .12s}
#sm-apply input[type=radio]{border-radius:50%!important}
#sm-apply input[type=checkbox]{border-radius:4px!important}
#sm-apply input[type=radio]:checked{border-color:var(--a-red)!important;background:var(--a-red)!important;box-shadow:inset 0 0 0 3.5px var(--a-bg)}
#sm-apply input[type=checkbox]:checked{border-color:var(--a-red)!important;background-color:var(--a-red)!important;background-size:12px 12px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.2 6.3l2.4 2.4 5.2-5.4' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
#sm-apply input[type=radio]:hover:not(:checked),#sm-apply input[type=checkbox]:hover:not(:checked){border-color:var(--a-ink)!important}
#sm-apply input[type=radio]:focus-visible,#sm-apply input[type=checkbox]:focus-visible{outline:2px solid var(--a-ink)}
#sm-apply input[type=radio]::before,#sm-apply input[type=radio]::after,#sm-apply input[type=checkbox]::before,#sm-apply input[type=checkbox]::after{content:none!important;display:none!important}
#sm-apply .has-err input[type=radio],#sm-apply .has-err input[type=checkbox]{border-color:var(--a-red)!important}
#sm-apply .ap-check span,#sm-apply .ap-radio span{color:var(--a-ink);font-weight:500}
#sm-apply .ap-decl .ap-check span{font-weight:400;color:var(--a-body)}
#sm-apply .ap-same{margin:-4px 0 10px}
#sm-apply .ap-note{margin:-4px 0 24px;padding:16px 18px;border-left:3px solid var(--a-red);background:var(--a-subtle);border-radius:0 4px 4px 0;font-size:14.5px;line-height:1.55}
#sm-apply .ap-note p{margin:0}
#sm-apply .ap-note details{margin-top:10px}
#sm-apply .ap-note summary{cursor:pointer;color:var(--a-ink);font-weight:600}
#sm-apply .ap-note details p{margin-top:8px;color:var(--a-muted);font-size:13.5px}
#sm-apply .ap-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Review */
#sm-apply .ap-rsec{margin:0 0 8px;padding:4px 0 10px;border-bottom:1px solid var(--a-line)}
#sm-apply .ap-rhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
#sm-apply .ap-rhead .ap-h3{margin:18px 0 8px}
#sm-apply dl{display:grid;grid-template-columns:200px minmax(0,1fr);gap:6px 20px;margin:0 0 6px;font-size:14.5px}
#sm-apply dt{color:var(--a-muted)}
#sm-apply dd{margin:0;color:var(--a-ink);white-space:pre-wrap;overflow-wrap:anywhere}
#sm-apply .ap-link{margin:0;padding:0;border:0;background:none;color:var(--a-ink);font:600 14px/1.4 var(--sv-text,'Inter',system-ui,sans-serif);text-decoration:underline;text-underline-offset:3px;cursor:pointer;box-shadow:none;min-height:0}
#sm-apply .ap-link:hover{color:var(--a-red)}
#sm-apply .ap-decl{margin-top:22px}
#sm-apply .ap-decl .ap-field{margin-bottom:6px}

/* Navigation */
#sm-apply .ap-nav{display:flex;align-items:center;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--a-line)}
#sm-apply .ap-formerr{flex:1;margin:0;color:var(--a-red);font-size:14px}
#sm-apply .ap-btn{display:inline-flex;align-items:center;justify-content:center;margin:0 0 0 auto;padding:13px 26px;border:1px solid var(--a-ink);border-radius:4px;background:var(--a-ink);color:var(--a-bg);font:600 15px/1.2 var(--sv-text,'Inter',system-ui,sans-serif);text-decoration:none;cursor:pointer;box-shadow:none;min-height:0;text-transform:none;letter-spacing:0}
#sm-apply .ap-btn:hover{background:var(--a-red);border-color:var(--a-red);color:#fff}
#sm-apply .ap-btn:disabled{opacity:.6;cursor:progress}
#sm-apply .ap-btn.ap-ghost{margin:0;background:transparent;color:var(--a-ink)}
#sm-apply .ap-btn.ap-ghost:hover{background:transparent;color:var(--a-red);border-color:var(--a-red)}
#sm-apply .ap-btn[hidden]{display:none}
#sm-apply button:focus-visible,#sm-apply a:focus-visible{outline:2px solid var(--a-red);outline-offset:3px}
#sm-apply .ap-done{border-top:2px solid var(--a-ink);padding-top:28px;outline:none}
#sm-apply .ap-done[hidden]{display:none}
#sm-apply .ap-done p{margin:0 0 14px}

@media (max-width:1100px){#sm-apply .ap-grid{grid-template-columns:1fr;gap:48px}#sm-apply .ap-side{position:static}}
@media (max-width:680px){
  #sm-apply{padding:32px 20px 72px}
  #sm-apply .ap-row,#sm-apply .ap-row3,#sm-apply .ap-checks{grid-template-columns:1fr}
  #sm-apply .ap-row3>span:empty,#sm-apply .ap-row>span:empty{display:none}
  #sm-apply .ap-steps span{display:none}
  #sm-apply .ap-steps li.is-on span{display:block;white-space:nowrap}
  #sm-apply dl{grid-template-columns:1fr;gap:0}
  #sm-apply dd{margin-bottom:10px}
  #sm-apply .ap-nav{flex-wrap:wrap}
  #sm-apply .ap-formerr{order:-1;flex-basis:100%}
}
html.sv-dark #sm-apply input:focus,html.sv-dark #sm-apply select:focus,html.sv-dark #sm-apply textarea:focus{box-shadow:0 0 0 3px rgba(255,255,255,.08)}
html.sv-dark #sm-apply .ap-btn:not(.ap-ghost){background:var(--a-ink);color:var(--a-bg)}

/* The site stylesheet forces 18px/29px, body colour and margins on every <p> in page content (with !important); restore the form's own sizes. */
html body #sm-apply p.ap-kicker,html body #sm-apply p.ap-stepno{font-size:11px!important;line-height:1.3!important;color:var(--a-red)!important;margin:0 0 10px!important;font-weight:700!important;letter-spacing:.12em!important}
html body #sm-apply p.ap-stepno{margin-bottom:6px!important}
html body #sm-apply p.ap-lead{font-size:17px!important;line-height:1.6!important;color:var(--a-body)!important;margin:0!important}
html body #sm-apply p.ap-sub{font-size:14.5px!important;line-height:1.5!important;color:var(--a-muted)!important;margin:-6px 0 14px!important}
html body #sm-apply p.ap-hint{font-size:13.5px!important;line-height:1.5!important;color:var(--a-muted)!important;margin:7px 0 0!important}
html body #sm-apply p.ap-err{font-size:13.5px!important;line-height:1.45!important;color:var(--a-red)!important;margin:6px 0 0!important}
html body #sm-apply p.ap-formerr{font-size:14px!important;line-height:1.45!important;color:var(--a-red)!important;margin:0!important}
html body #sm-apply .ap-note p{font-size:14.5px!important;line-height:1.55!important;color:var(--a-body)!important;margin:0!important}
html body #sm-apply .ap-note details p{font-size:13.5px!important;color:var(--a-muted)!important;margin:8px 0 0!important}
html body #sm-apply .ap-facts p{font-size:14px!important;line-height:1.5!important;color:var(--a-body)!important;margin:0 0 6px!important}
html body #sm-apply p.ap-small{font-size:14px!important;line-height:1.5!important;color:var(--a-muted)!important;margin:0!important}
html body #sm-apply .ap-done p{font-size:16px!important;line-height:1.6!important;color:var(--a-body)!important;margin:0 0 14px!important}
html body #sm-apply .ap-done p.ap-kicker{font-size:11px!important;color:var(--a-red)!important;margin:0 0 10px!important}
html body #sm-apply h1.ap-h1{font-size:clamp(32px,4.2vw,48px)!important;line-height:1.08!important;margin:0 0 14px!important;color:var(--a-ink)!important}
html body #sm-apply h2.ap-h2{font-size:28px!important;line-height:1.2!important;margin:0 0 20px!important;color:var(--a-ink)!important}
html body #sm-apply h2.ap-h3,html body #sm-apply h3.ap-h3{font-size:18px!important;line-height:1.3!important;margin:28px 0 12px!important;color:var(--a-ink)!important}
html body #sm-apply .ap-side .ap-h3{margin-top:0!important}
html body #sm-apply .ap-rhead .ap-h3{margin:18px 0 8px!important}
@media (max-width:680px){html body #sm-apply h2.ap-h2{font-size:24px!important}}

html.sv-dark #sm-apply{--a-control:#6B7280}
