/* SKM Symposium Feedback & Certificates - front-end styles (all scoped to .skm-fb)
   Neutral palette: greys for structure, the SKM red only as an accent (top rule, main button, required marks). */
.skm-fb { --skm-red:#a51c1c; --skm-red-dark:#861515; --skm-ink:#1f2937; --skm-body:#374151; --skm-muted:#6b7280; --skm-line:#e5e7eb;
          --skm-faint:#f9fafb; --skm-sel:#374151; --skm-radius:8px; --skm-shadow:0 1px 2px rgba(17,24,39,.04);
          max-width:860px; margin:8px auto 32px; color:var(--skm-body); font-size:15px; line-height:1.55; box-sizing:border-box;
          font-family:"Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; }
.skm-fb *, .skm-fb *::before, .skm-fb *::after { box-sizing:border-box; }
.skm-fb [hidden] { display:none !important; }
/* the theme header gives every <span> padding + margin: undo it inside the plugin */
.skm-fb span, .skm-fb i, .skm-fb em, .skm-fb b, .skm-fb strong, .skm-fb small { padding:0; margin:0; }
.skm-fb a { color:var(--skm-red); }
.skm-fb strong, .skm-fb b { color:var(--skm-ink); }
.skm-fb p { margin:0 0 10px; padding:0; text-align:left; }
.skm-fb .skm-i { flex:none; vertical-align:middle; }

/* cards */
.skm-fb .skm-card { border:1px solid var(--skm-line); border-radius:var(--skm-radius); background:#fff; margin:16px 0; overflow:hidden; box-shadow:var(--skm-shadow); }
.skm-fb .skm-card-head { padding:14px 22px; font-weight:600; font-size:16px; color:var(--skm-ink); border-bottom:1px solid var(--skm-line); background:#fff; }
.skm-fb .skm-card-sub { display:block; font-weight:400; font-size:13px; color:var(--skm-muted); margin-top:2px; }
.skm-fb .skm-card-body { padding:22px; }
.skm-fb .skm-h { font-size:15px; font-weight:600; margin:24px 0 10px; color:var(--skm-ink); }
.skm-fb .skm-note { color:var(--skm-muted); font-size:13px; margin:10px 0 0; }
.skm-fb .skm-req { color:var(--skm-red); }

/* session header */
.skm-fb .skm-hero { background:#fff; border:1px solid var(--skm-line); border-top:3px solid var(--skm-red); border-radius:var(--skm-radius);
                    padding:20px 24px; box-shadow:var(--skm-shadow); }
.skm-fb .skm-eyebrow { font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--skm-muted); }
.skm-fb .skm-hero-title { color:var(--skm-ink); font-size:22px; line-height:1.3; font-weight:600; margin:6px 0 12px; padding:0; border:0; font-family:inherit; text-transform:none; }
.skm-fb .skm-chips { display:flex; flex-wrap:wrap; gap:8px; }
.skm-fb .skm-chips span { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:6px; font-size:13px; font-weight:500;
                          background:var(--skm-faint); border:1px solid var(--skm-line); color:var(--skm-body); }
.skm-fb .skm-chips .skm-i { width:16px; height:16px; color:var(--skm-muted); }

/* 3 steps */
.skm-fb ol.skm-steps { list-style:none; margin:14px 0 0 !important; padding:0; display:flex; gap:0; border:1px solid var(--skm-line); border-radius:var(--skm-radius); background:#fff; overflow:hidden; }
.skm-fb .skm-steps li { flex:1; display:flex; align-items:center; gap:10px; margin:0; padding:10px 14px; color:var(--skm-muted); font-size:13px; font-weight:500; }
.skm-fb .skm-steps li + li { border-left:1px solid var(--skm-line); }
.skm-fb .skm-steps .n { flex:none; width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
                        border:1px solid #d1d5db; color:var(--skm-muted); font-size:12px; font-weight:600; }
.skm-fb .skm-steps li.on { color:var(--skm-ink); font-weight:600; background:var(--skm-faint); box-shadow:inset 0 -2px 0 var(--skm-ink); }
.skm-fb .skm-steps li.on .n { background:var(--skm-ink); border-color:var(--skm-ink); color:#fff; }
.skm-fb .skm-steps li.done .n { background:#f3f4f6; border-color:#d1d5db; color:var(--skm-body); }

/* messages: neutral box, a coloured rule + icon say what kind */
.skm-fb .skm-box { display:flex; gap:12px; align-items:flex-start; padding:13px 16px; border-radius:var(--skm-radius); margin:16px 0; font-size:14.5px;
                   background:#fff; border:1px solid var(--skm-line); border-left-width:3px; color:var(--skm-body); }
.skm-fb .skm-box .skm-i { margin-top:2px; }
.skm-fb .skm-box-text { flex:1; min-width:0; }
.skm-fb .skm-ok    { border-left-color:#3f7a5a; } .skm-fb .skm-ok .skm-i { color:#3f7a5a; }
.skm-fb .skm-info  { border-left-color:#6b7280; } .skm-fb .skm-info .skm-i { color:#6b7280; }
.skm-fb .skm-error { border-left-color:var(--skm-red); } .skm-fb .skm-error .skm-i { color:var(--skm-red); }

/* "How does CME evaluation work?" (top of every page) */
.skm-fb .skm-faq { background:#fff; border:1px solid var(--skm-line); border-left:3px solid var(--skm-red); border-radius:var(--skm-radius);
                   padding:14px 18px; margin:0 0 16px; box-shadow:var(--skm-shadow); }
.skm-fb .skm-faq-h { display:flex; align-items:center; gap:8px; margin:0 0 8px; padding:0; border:0; font-family:inherit; font-size:15px; line-height:1.4;
                     font-weight:600; color:var(--skm-ink); text-transform:none; }
.skm-fb .skm-faq-h .skm-i { color:var(--skm-red); }
.skm-fb .skm-faq ul { margin:0; padding:0 0 0 22px; list-style:disc; }
.skm-fb .skm-faq li { margin:0 0 4px; padding:0; font-size:14px; line-height:1.5; color:var(--skm-body); }
.skm-fb .skm-faq li:last-child { margin-bottom:0; }

/* signed-in bar */
.skm-fb .skm-me { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--skm-line); border-radius:var(--skm-radius);
                  padding:8px 16px 8px 8px; margin:0 0 14px; }
.skm-fb .skm-me-who { display:flex; flex-direction:column; line-height:1.3; flex:1; min-width:0; }
.skm-fb .skm-me-who small { color:var(--skm-muted); font-size:12px; }
.skm-fb .skm-me-out { font-size:13px; white-space:nowrap; color:var(--skm-muted) !important; }
.skm-fb .skm-me-out:hover { color:var(--skm-red) !important; }
.skm-fb .ms-av { flex:none; width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
                 background:#f3f4f6; border:1px solid var(--skm-line); color:var(--skm-body); font-weight:600; font-size:13px; letter-spacing:.02em; }

/* buttons: one solid (primary), the rest outlined */
.skm-fb .skm-btn, .skm-fb .ms-back, .skm-fb .ms-next, .skm-fb .ms-submit {
	display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--skm-red); border-radius:6px;
	padding:10px 18px; font-weight:600; font-size:14.5px; line-height:1.2; font-family:inherit; cursor:pointer; text-decoration:none !important; text-transform:none;
	background:var(--skm-red); color:#fff !important; box-shadow:none; transition:background .15s, border-color .15s; }
.skm-fb .skm-btn:hover, .skm-fb .ms-next:hover, .skm-fb .ms-submit:hover { background:var(--skm-red-dark); border-color:var(--skm-red-dark); }
.skm-fb .skm-btn:disabled, .skm-fb .ms-submit:disabled { opacity:.6; cursor:wait; }
.skm-fb .skm-btn-lg { padding:12px 24px; font-size:15px; }
.skm-fb .skm-btn-dark, .skm-fb .skm-btn-light, .skm-fb .ms-back { background:#fff; color:var(--skm-ink) !important; border-color:#d1d5db; }
.skm-fb .skm-btn-dark:hover, .skm-fb .skm-btn-light:hover, .skm-fb .ms-back:hover { background:var(--skm-faint); border-color:#9ca3af; }
.skm-fb .skm-inline { display:inline; margin:0; }
.skm-fb .skm-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:16px 0; }
.skm-fb .skm-issue { margin:14px 0 0; }
.skm-fb .skm-actions .skm-issue { margin:0; }
.skm-fb .skm-btn:focus-visible, .skm-fb .ms-back:focus-visible, .skm-fb .ms-next:focus-visible, .skm-fb .ms-submit:focus-visible { outline:2px solid var(--skm-ink); outline-offset:2px; }

/* registration check */
.skm-fb .skm-verifycard .skm-card-body { padding:24px; }
.skm-fb .skm-vhead { display:flex; gap:14px; align-items:flex-start; margin-bottom:20px; }
.skm-fb .skm-vhead h3 { margin:0 0 4px; font-size:17px; line-height:1.4; font-weight:600; color:var(--skm-ink); font-family:inherit; }
.skm-fb .skm-vhead p { margin:0; color:var(--skm-muted); font-size:14px; }
.skm-fb .skm-vicon { flex:none; width:40px; height:40px; border-radius:var(--skm-radius); display:inline-flex; align-items:center; justify-content:center;
                     background:#f3f4f6; color:var(--skm-body); }
.skm-fb .skm-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:18px; }
.skm-fb .skm-field label { display:block; font-weight:600; font-size:13.5px; margin:0 0 6px; color:var(--skm-ink); }
.skm-fb .skm-input { position:relative; }
.skm-fb .skm-input .skm-i { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:#9ca3af; pointer-events:none; }
.skm-fb .skm-input input { display:block; width:100%; max-width:none; height:44px; margin:0; padding:0 12px 0 40px; border:1px solid #d1d5db; border-radius:6px;
                           background:#fff; font-size:15px; font-family:inherit; color:var(--skm-ink); box-shadow:none; transition:border-color .15s, box-shadow .15s; }
.skm-fb .skm-input input:hover { border-color:#9ca3af; }
.skm-fb .skm-input input:focus { outline:none; border-color:var(--skm-ink); box-shadow:0 0 0 3px rgba(31,41,55,.10); }

/* "Forgot your registration number?" */
.skm-fb .skm-forgot { margin-top:20px; padding-top:16px; border-top:1px solid var(--skm-line); }
.skm-fb .skm-forgot summary { cursor:pointer; font-size:14px; font-weight:600; color:var(--skm-body); list-style:none; display:inline-flex; align-items:center; gap:8px; }
.skm-fb .skm-forgot summary::-webkit-details-marker { display:none; }
.skm-fb .skm-forgot summary::before { content:""; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); transition:transform .15s; }
.skm-fb .skm-forgot[open] summary::before { transform:rotate(45deg); }
.skm-fb .skm-forgot summary:hover { color:var(--skm-ink); }
.skm-fb .skm-remind { margin-top:10px; }
.skm-fb .skm-remind > .skm-note:first-of-type { margin:0 0 10px; }
.skm-fb .skm-remind-row { display:flex; gap:10px; align-items:stretch; }
.skm-fb .skm-remind-row .skm-input { flex:1; max-width:420px; }
.skm-fb .skm-remind-row .skm-btn { white-space:nowrap; }

/* the questionnaire */
.skm-fb .skm-ms { margin:16px 0; background:#fff; border:1px solid var(--skm-line); border-radius:var(--skm-radius); box-shadow:var(--skm-shadow); overflow:hidden; }
.skm-fb .ms-head { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:14px 22px; border-bottom:1px solid var(--skm-line); background:#fff; }
.skm-fb .ms-title { font-size:15px; font-weight:600; color:var(--skm-ink); }
.skm-fb .ms-req { margin-left:auto; font-size:12.5px; color:var(--skm-muted); }
.skm-fb .ms-prog { display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--skm-muted); }
.skm-fb .ms-prog .bar { display:inline-block; width:140px; height:4px; border-radius:2px; background:#e5e7eb; overflow:hidden; }
.skm-fb .ms-prog .bar i { display:block; height:100%; background:var(--skm-ink); transition:width .3s ease; }
.skm-fb .ms-page { padding:4px 0; }
.skm-fb .ms-sec { padding:18px 22px 4px; font-size:16px; font-weight:600; color:var(--skm-ink); }
.skm-fb .ms-speaker { display:flex; gap:14px; align-items:center; margin:16px 22px 4px; padding:14px 16px; border-radius:var(--skm-radius); background:var(--skm-faint); border:1px solid var(--skm-line); }
.skm-fb .ms-speaker > span:last-child { display:flex; flex-direction:column; min-width:0; }
.skm-fb .ms-speaker .ms-av { width:44px; height:44px; font-size:15px; background:#fff; }
.skm-fb .ms-kicker { font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--skm-muted); }
.skm-fb .ms-sname { font-size:16px; font-weight:600; line-height:1.35; color:var(--skm-ink); }
.skm-fb .ms-sub { font-size:13px; font-weight:400; color:var(--skm-muted); }
.skm-fb .ms-q { border:0; margin:0; padding:16px 22px; min-width:0; background:transparent; }
.skm-fb .ms-q + .ms-q { border-top:1px solid #f3f4f6; }
.skm-fb .ms-ql { display:flex; gap:10px; align-items:flex-start; font-weight:500; font-size:15px; margin:0 0 10px; padding:0; float:left; width:100%; border:0; color:var(--skm-ink); }
.skm-fb .ms-ql + * { clear:both; }
.skm-fb .ms-n { flex:none; min-width:22px; color:var(--skm-muted); font-size:14px; font-weight:500; }
.skm-fb .ms-n::after { content:"."; }
.skm-fb .ms-q > .ms-scale, .skm-fb .ms-q > .ms-ends, .skm-fb .ms-q > .ms-ynm, .skm-fb .ms-q > .ms-et { margin-left:32px; }
.skm-fb .ms-err { background:#fdf8f8; box-shadow:inset 3px 0 0 var(--skm-red); }
.skm-fb .ms-et { color:var(--skm-red); font-size:13px; margin-top:8px; }

.skm-fb .ms-scale { display:flex; max-width:400px; gap:6px; }
.skm-fb .ms-scale label, .skm-fb .ms-ynm label { flex:1 1 0; cursor:pointer; position:relative; margin:0; font-weight:500; }
.skm-fb .ms-scale input, .skm-fb .ms-ynm input { position:absolute; inset:0; opacity:0; margin:0; width:100%; height:100%; cursor:pointer; }
.skm-fb .ms-scale span, .skm-fb .ms-ynm span { display:flex; align-items:center; justify-content:center; height:40px; padding:0 12px; background:#fff;
                                               border:1px solid #d1d5db; border-radius:6px; font-size:14.5px; color:var(--skm-body); transition:background .15s, border-color .15s, color .15s; }
.skm-fb .ms-scale label:hover span, .skm-fb .ms-ynm label:hover span { border-color:#9ca3af; background:var(--skm-faint); }
.skm-fb .ms-scale input:checked + span, .skm-fb .ms-ynm input:checked + span { background:var(--skm-sel); border-color:var(--skm-sel); color:#fff; }
.skm-fb .ms-scale input:focus-visible + span, .skm-fb .ms-ynm input:focus-visible + span { outline:2px solid var(--skm-ink); outline-offset:2px; }
.skm-fb .ms-ends { display:flex; justify-content:space-between; max-width:400px; font-size:12px; color:var(--skm-muted); margin-top:6px; gap:10px; }
.skm-fb .ms-ynm { display:flex; gap:6px; max-width:400px; }
.skm-fb .ms-text { display:block; width:100%; max-width:640px; min-height:96px; margin:0; padding:10px 12px; border:1px solid #d1d5db; border-radius:6px;
                   background:#fff; font:inherit; font-size:14.5px; line-height:1.5; color:var(--skm-ink); resize:vertical; box-shadow:none; }
.skm-fb .ms-text:hover { border-color:#9ca3af; }
.skm-fb .ms-text:focus { outline:none; border-color:var(--skm-ink); box-shadow:0 0 0 3px rgba(31,41,55,.10); }
.skm-fb .ms-q > .ms-text { margin-left:32px; width:calc(100% - 32px); }

.skm-fb .ms-nav { display:flex; align-items:center; gap:10px; padding:14px 22px; border-top:1px solid var(--skm-line); background:var(--skm-faint); }
.skm-fb .ms-nav .ms-next, .skm-fb .ms-nav .ms-submit { margin-left:auto; }
.skm-fb .skm-ms + .skm-note, .skm-fb .skm-ms .skm-note { padding:0 22px 16px; background:var(--skm-faint); margin:0; }
/* without JavaScript every page shows: separate them a little */
.skm-fb .skm-ms:not(.ms-js) .ms-page + .ms-page { border-top:6px solid #f3f4f6; }

/* add more? */
.skm-fb .skm-more h3 { margin:0 0 6px; font-size:16px; line-height:1.4; font-weight:600; color:var(--skm-ink); font-family:inherit; }
.skm-fb .skm-final { border-top:1px solid var(--skm-line); padding-top:12px; color:var(--skm-red); }

/* sessions + credits table */
.skm-fb .skm-tblwrap { overflow-x:auto; border:1px solid var(--skm-line); border-radius:var(--skm-radius); }
.skm-fb .skm-cr { width:100%; border-collapse:collapse; font-size:14px; margin:0; border:0; }
.skm-fb .skm-cr th, .skm-fb .skm-cr td { border:0; border-bottom:1px solid var(--skm-line); padding:10px 14px; text-align:left; vertical-align:top; color:var(--skm-body); }
.skm-fb .skm-cr thead th { background:var(--skm-faint); font-size:12px; letter-spacing:.03em; color:var(--skm-muted); font-weight:600; }
.skm-fb .skm-cr .num { text-align:right; white-space:nowrap; }
.skm-fb .skm-cr tfoot td { font-weight:600; border-bottom:0; color:var(--skm-ink); }
.skm-fb .skm-cr tfoot td.num { font-size:15px; }

/* the certificate (same layout as the ACCME template / PDF); scales with its width */
.skm-fb .skm-certwrap { max-width:900px; margin:0 auto 14px; border:1px solid var(--skm-line); box-shadow:0 1px 6px rgba(17,24,39,.08); }
.skm-fb .skm-acc { container-type:inline-size; background:#fff; }
.skm-fb .acc-in { position:relative; aspect-ratio:297 / 210; padding:7.6cqw 8.4cqw 0; text-align:center; font-family:Arial, Helvetica, sans-serif; color:#000; line-height:1.3; }
.skm-fb .acc-in img { max-width:none; }
.skm-fb .acc-logo { height:3.3cqw; display:block; margin:0 auto; }
.skm-fb .acc-rule { height:0; border-top:.2cqw solid #e00000; margin:.6cqw 0 1.4cqw; }
.skm-fb .acc-h { font-weight:bold; font-size:1.8cqw; }
.skm-fb .acc-c { font-weight:bold; font-size:1.6cqw; margin-top:1.6cqw; }
.skm-fb .acc-name { font-weight:bold; font-size:2.3cqw; color:#000; margin-top:1cqw; }
.skm-fb .acc-s { font-weight:bold; font-size:1.15cqw; margin-top:1.6cqw; }
.skm-fb .acc-t { font-weight:bold; font-style:italic; font-size:1.6cqw; margin-top:1.1cqw; }
.skm-fb .acc-t sup { font-size:.62em; }
.skm-fb .acc-d { margin-top:.8cqw; }
.skm-fb .acc-x { font-size:.92cqw; margin-top:1cqw; }
.skm-fb .acc-x + .acc-x { margin-top:.5cqw; font-size:.82cqw; }
.skm-fb .acc-red { color:#e00000; }
.skm-fb .acc-b { font-weight:bold; font-size:1.2cqw; line-height:1.85; margin-top:2.2cqw; }
.skm-fb .acc-sign { display:block; height:4cqw; margin:3.6cqw auto 0; }
.skm-fb .acc-who { font-weight:bold; font-size:1.6cqw; line-height:1.35; }
.skm-fb .acc-accme { position:absolute; right:16cqw; top:57.6cqw; height:3cqw; }
.skm-fb .acc-in b, .skm-fb .acc-in strong { color:inherit; }

@media (max-width: 640px) {
	.skm-fb .skm-hero { padding:16px 18px; }
	.skm-fb .skm-hero-title { font-size:19px; }
	.skm-fb .skm-steps .l { display:none; }
	.skm-fb .skm-steps li { justify-content:center; }
	.skm-fb .skm-steps li.on .l { display:inline; }
	.skm-fb .skm-steps li.on { flex:3; }
	.skm-fb .skm-fields { grid-template-columns:1fr; }
	.skm-fb .skm-remind-row { flex-direction:column; }
	.skm-fb .skm-remind-row .skm-input { max-width:none; }
	.skm-fb .skm-verifycard .skm-card-body, .skm-fb .skm-card-body { padding:18px 16px; }
	.skm-fb .skm-btn-lg { width:100%; }
	.skm-fb .ms-head, .skm-fb .ms-sec, .skm-fb .ms-q, .skm-fb .ms-nav { padding-left:16px; padding-right:16px; }
	.skm-fb .ms-speaker { margin-left:16px; margin-right:16px; }
	.skm-fb .ms-q > .ms-scale, .skm-fb .ms-q > .ms-ends, .skm-fb .ms-q > .ms-ynm, .skm-fb .ms-q > .ms-et { margin-left:0; }
	.skm-fb .ms-q > .ms-text { margin-left:0; width:100%; }
	.skm-fb .ms-prog .bar { width:90px; }
	.skm-fb .skm-me-out { font-size:12px; }
	.skm-fb .skm-faq { padding:12px 14px; }
	.skm-fb .skm-faq ul { padding-left:18px; }
	.skm-fb .skm-card { margin:12px 0; }
	.skm-fb .skm-card-head { padding:12px 16px; }
}

/* Phone: our pages use the full screen width. The theme frame (95% wrapper, offset banner, empty header box, 40px top gap) is tightened here only. */
@media (max-width: 767px) {
	body.skm-fb-page .wrapper { width:100%; border-radius:0; box-shadow:none; }
	body.skm-fb-page #branding { margin-top:0; }
	body.skm-fb-page #branding > .clearfix { padding-left:0 !important; }
	body.skm-fb-page .hgroup-right { display:none; }
	body.skm-fb-page #branding hgroup, body.skm-fb-page #site-title, body.skm-fb-page #site-title a { display:block; width:100%; margin:0; line-height:0; }
	body.skm-fb-page #site-title a img { display:block; width:100%; max-width:100%; height:auto; margin:0; }
	/* #main is also .clearfix, whose padding the site's Additional CSS forces to 0 with !important */
	body.skm-fb-page #main { width:auto; padding:12px 12px 8px !important; }
	body.skm-fb-page .skm-fb { margin:0 auto 20px; max-width:none; }
	body.skm-fb-page #content .skm-fb ul { margin:0; }
}
