.ncn-seminars {width:100%;min-width:0;max-width:100%;overflow-wrap:anywhere;}
.ncn-seminars * {box-sizing:border-box;}
.ncn-seminars .ncn-button {display:inline-block;background:#005bac;color:#fff;text-decoration:none;border:0;border-radius:6px;padding:14px 24px;text-align:center;font-weight:700;line-height:1.5;font-size:18px;cursor:pointer;}
.ncn-seminars .ncn-buttons {display:flex;flex-wrap:wrap;gap:12px;}

.ncn-seminars .ncn-entry {max-width:800px;margin:0 auto;}
.ncn-seminars .ncn-field {display:block;margin:0 0 14px;}
.ncn-seminars .ncn-field input,.ncn-seminars .ncn-field select,.ncn-seminars textarea {display:block;width:100%;min-width:0;max-width:100%;min-height:44px;font-size:16px;margin-top:5px;padding:10px;border:1px solid #999;border-radius:4px;background:#fff;color:#222;}
.ncn-seminars .ncn-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.ncn-seminars .ncn-entry fieldset {padding:12px;margin:16px 0;border:1px solid #ccc;}
.ncn-seminars .ncn-choice {display:inline-flex;align-items:center;gap:8px;padding:10px;cursor:pointer;}
.ncn-seminars .ncn-consent {display:flex;justify-content:center;align-items:center;gap:12px;padding:16px;margin:20px 0;border:1px solid #ccc;border-radius:6px;cursor:pointer;}
.ncn-seminars input[type=checkbox],.ncn-seminars input[type=radio] {width:20px;height:20px;flex:0 0 auto;margin:0;}
.ncn-seminars .ncn-form-actions {text-align:center;margin-top:24px;}
.ncn-seminars .ncn-form-actions button {width:340px;max-width:100%;min-height:64px;font-size:22px;}
.ncn-seminars .ncn-button:disabled {background:#777;cursor:not-allowed;opacity:1;}
.ncn-seminars .ncn-empty,.ncn-seminars .ncn-invalid {background:#fff0f3!important;}
.ncn-seminars .ncn-invalid {border:2px solid #c62828!important;}
.ncn-seminars .ncn-form-status {color:#b71c1c;}
.ncn-seminars a:focus-visible,.ncn-seminars button:focus-visible {outline:3px solid #e79a00;outline-offset:4px;}
@media(max-width:600px){.ncn-seminars .ncn-pair {grid-template-columns:1fr;gap:0;}.ncn-seminars .ncn-consent {justify-content:flex-start;align-items:flex-start;}}

/* Schedule styling is intentionally separate from the large form submit button. */
.ncn-seminars {container-type:inline-size;}
.ncn-seminars .ncn-schedule {container-type:inline-size;min-width:0;margin:0!important;padding:0!important;width:100%;}
.ncn-seminars .ncn-schedule-empty {margin:0;}
.ncn-seminars > :first-child {margin-block-start:0;}
.ncn-seminars .ncn-schedule-head {display:none;}
.ncn-seminars .ncn-schedule-row {display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title" "when when" "venues action";gap:7px 14px;align-items:center;padding:14px 0;margin:0;border-bottom:1px solid #dfe5eb;line-height:1.5;}
.ncn-seminars .ncn-no-title .ncn-schedule-row {grid-template-areas:"when when" "venues action";}
.ncn-seminars .ncn-layout-compact .ncn-schedule-row:first-child {padding-top:0;}
.ncn-seminars .ncn-schedule-row:last-child {border-bottom:0;padding-bottom:0;}
.ncn-seminars .ncn-schedule-when {grid-area:when;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;min-width:0;}
.ncn-seminars .ncn-schedule-when time {display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;}
.ncn-seminars .ncn-schedule-year {font-size:12px;color:#66717b;white-space:nowrap;}
.ncn-seminars .ncn-schedule-date {font-size:22px;font-weight:700;color:#164d70;white-space:nowrap;line-height:1.35;}
.ncn-seminars .ncn-schedule-time {font-size:14px;font-weight:400;color:#333;white-space:nowrap;}
.ncn-seminars .ncn-schedule-title {grid-area:title;display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;line-height:1.5;color:#222;min-width:0;}
.ncn-seminars .ncn-schedule-venues {grid-area:venues;font-size:13px;color:#555;min-width:0;}
.ncn-seminars .ncn-schedule-action {grid-area:action;justify-self:end;}
.ncn-seminars .ncn-schedule-button {display:inline-flex;align-items:center;justify-content:center;width:auto!important;min-width:94px;min-height:44px;padding:8px 14px!important;background:#005bac;color:#fff!important;border:0;border-radius:4px;text-decoration:none;font-size:14px!important;font-weight:600;line-height:1.3;white-space:nowrap;box-shadow:none;}
.ncn-seminars .ncn-schedule-button:hover {background:#00477f;}
.ncn-seminars .ncn-schedule-pending {font-size:12px;color:#666;}
/* The containing column width, rather than the overall screen width, controls the layout. */
@container (min-width:700px) {
 .ncn-seminars .ncn-layout-compact .ncn-schedule-row {grid-template-columns:minmax(260px,1.25fr) minmax(0,1fr) auto;grid-template-areas:"when venues action";gap:10px 18px;padding:12px 0;}
 .ncn-seminars .ncn-layout-compact.ncn-has-title .ncn-schedule-row {grid-template-areas:"title title title" "when venues action";}
 .ncn-seminars .ncn-layout-compact .ncn-schedule-row:first-child {padding-top:0;}
 .ncn-seminars .ncn-layout-compact .ncn-schedule-row:last-child {padding-bottom:0;}
}
@container (min-width:760px) {
 .ncn-seminars .ncn-layout-table .ncn-schedule-row,
 .ncn-seminars .ncn-layout-table .ncn-schedule-head {grid-template-columns:minmax(180px,1.25fr) minmax(190px,1.05fr) minmax(150px,1fr) 104px;gap:18px;}
 .ncn-seminars .ncn-layout-table .ncn-schedule-head {display:grid;padding:9px 12px;background:#f1f4f7;color:#4d5c6a;font-size:12px;font-weight:600;border-bottom:1px solid #cbd5df;}
 .ncn-seminars .ncn-layout-table .ncn-schedule-row {grid-template-areas:"title when venues action";padding:13px 12px;}
 .ncn-seminars .ncn-layout-table.ncn-no-title .ncn-schedule-row,
 .ncn-seminars .ncn-layout-table.ncn-no-title .ncn-schedule-head {grid-template-columns:minmax(170px,1fr) minmax(160px,1fr) 104px;}
 .ncn-seminars .ncn-layout-table.ncn-no-title .ncn-schedule-row {grid-template-areas:"when venues action";}
}

.ncn-seminars .ncn-schedule-title strong {font-size:inherit;font-weight:700;line-height:inherit;}
.ncn-seminars .ncn-schedule-time {display:block;margin:0;font-variant-numeric:tabular-nums;}
.ncn-seminars .ncn-seminar-image {display:block;width:48px!important;height:48px!important;min-width:48px;max-width:48px;object-fit:cover;aspect-ratio:1/1;border-radius:4px;flex:0 0 48px;margin:0;}
@container(max-width:400px){.ncn-seminars .ncn-schedule-title {font-size:17px;}}

/* CTA: keep the category icon beside the date even when the title is hidden. */
.ncn-seminars .ncn-schedule-datetime {min-width:0;}
.ncn-seminars .ncn-no-title .ncn-schedule-when {display:flex;align-items:center;gap:10px;}
.ncn-seminars .ncn-no-title .ncn-schedule-when .ncn-seminar-image {width:36px!important;height:36px!important;min-width:36px;max-width:36px;flex:0 0 36px;}

.ncn-seminars .ncn-seminar-title-link {color:inherit;text-decoration:none;}
.ncn-seminars .ncn-seminar-title-link:hover {text-decoration:underline;text-underline-offset:3px;}
.ncn-seminars .ncn-seminar-icon-link {display:block;flex:0 0 48px;width:48px;line-height:0;border-radius:4px;}
.ncn-seminars .ncn-no-title .ncn-schedule-when .ncn-seminar-icon-link {flex-basis:36px;width:36px;}
.ncn-seminars .ncn-seminar-icon-link:hover {opacity:.85;}

/* Fixed venue guides: native dialog stays above theme headers and traps focus. */
.ncn-seminars .ncn-venue-link {display:inline-block;color:#005bac;text-decoration:underline;text-underline-offset:3px;line-height:1.8;}
.ncn-seminars .ncn-venue-link:hover {color:#003e75;}
body.ncn-venue-open {overflow:hidden;}
.ncn-venue-dialog {width:calc(100% - 32px);max-width:680px;max-height:85vh;max-height:85dvh;margin:auto;padding:0;border:0;border-radius:8px;background:#fff;color:#222;box-shadow:0 10px 50px #0004;overflow:auto;font-size:16px;line-height:1.8;}
.ncn-venue-dialog::backdrop {background:rgba(0,0,0,.5);}
.ncn-venue-dialog * {box-sizing:border-box;}
.ncn-venue-dialog .ncn-venue-header {display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:1;padding:14px 20px;background:#fff;border-bottom:1px solid #dce5ec;}
.ncn-venue-dialog .ncn-venue-header h2 {font-size:20px;line-height:1.5;font-weight:700;color:#164d70;background:none;border:0;padding:0;margin:0;}
.ncn-venue-dialog h2::before,.ncn-venue-dialog h2::after {display:none;}
.ncn-venue-dialog .ncn-venue-close {flex:0 0 auto;min-height:44px;padding:8px 12px;border:1px solid #c6d2dc;border-radius:4px;background:#f5f8fa;color:#243644;font:inherit;font-size:14px;line-height:1.5;cursor:pointer;}
.ncn-venue-dialog .ncn-venue-body {display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:24px;padding:24px;}
.ncn-venue-dialog .ncn-venue-photo {display:block;width:100%;height:auto;margin:0;border-radius:4px;}
.ncn-venue-dialog .ncn-venue-info {min-width:0;overflow-wrap:anywhere;}
.ncn-venue-dialog .ncn-venue-address {margin:0 0 20px;font-size:16px;line-height:1.8;}
.ncn-venue-dialog .ncn-venue-info h3 {margin:0 0 8px;padding:0;border:0;background:none;color:#164d70;font-size:16px;font-weight:700;line-height:1.5;}
.ncn-venue-dialog .ncn-venue-access {padding-left:1.2em;margin:0;font-size:14px;line-height:1.8;}
.ncn-venue-dialog li {margin:0 0 10px;}
.ncn-venue-dialog button:focus-visible {outline:3px solid #ef8200;outline-offset:3px;}
@media(max-width:560px){.ncn-venue-dialog .ncn-venue-body {grid-template-columns:minmax(0,1fr);gap:18px;padding:20px;}.ncn-venue-dialog .ncn-venue-photo {max-width:220px;margin-inline:auto;}.ncn-venue-dialog .ncn-venue-header {padding:10px 16px;}.ncn-venue-dialog .ncn-venue-header h2 {font-size:18px;}}

/* Optional special-seminar section and explicit audience labels. */
.ncn-seminars[hidden]{display:none!important}
.ncn-special-section{margin:48px 0;padding:28px;border:1px solid #d9e4ec;border-radius:8px;background:#fff}
.ncn-special-heading{color:#164d70;font-size:clamp(23px,2.5vw,30px);line-height:1.5;margin:0 0 16px}
.ncn-special-description{margin:0 0 24px;line-height:1.8}
.ncn-target-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.ncn-target-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700;line-height:1.6;white-space:nowrap}
.ncn-target-high{background:#e5f1ff;color:#07559b;border:1px solid #a9c9ed}
.ncn-target-university{background:#f1e9fb;color:#653196;border:1px solid #ceb6e5}
@media(max-width:600px){.ncn-special-section{margin:32px 0;padding:20px 16px}}
