/*!
 * NeuroClinicians Assessment — front-end stylesheet
 * ---------------------------------------------------------------
 * Brand refresh only. Every class name below matches the untouched
 * assessment markup 1:1 — nothing here changes structure, copy,
 * question logic or scoring. All rules are scoped under .nca-widget
 * so the plugin cannot leak into (or be overridden by) the active
 * WordPress theme.
 *
 * Fonts:  Fraunces (headings) · Poppins (body) — enqueued separately
 *         by nca_enqueue_assets() in the main plugin file.
 * Colours: teal → green brand gradient, with a clear red for
 *          emergency states. See the --nca-* custom properties below.
 * ---------------------------------------------------------------
 */

.nca-widget {
	--nca-primary: #007c91;
	--nca-primary-dark: #005f6e;
	--nca-primary-deep: #00424d;
	--nca-primary-light: #2a9fb0;
	--nca-primary-tint: #f4fdff;
	--nca-primary-tint2: #cfe9ec;

	--nca-accent: #7ace5b;
	--nca-accent-dark: #4fa856;
	--nca-accent-tint: #eef9e7;
	--nca-accent-border: #c7ecb3;

	--nca-text: #222222;
	--nca-text-mid: #3f3f3f;
	--nca-text-light: #757575;

	--nca-border: #e4eaea;
	--nca-bg: #fafafa;
	--nca-bg-card: #ffffff;

	--nca-green: #2f9e57;
	--nca-green-bg: #f0fbf2;
	--nca-green-border: #bfe6c6;

	--nca-amber: #b8720a;
	--nca-amber-bg: #fff9ec;
	--nca-amber-border: #f5deac;

	--nca-red: #ba1a1a;
	--nca-red-bg: #fff4f3;
	--nca-red-border: #f2c3bf;
	--nca-red-gradient: linear-gradient(258.93deg, rgba(255, 30, 14, 0.92) 0.03%, rgba(186, 26, 26, 0.92) 99.99%);
	--nca-brand-gradient: linear-gradient(90deg, #00859a 0%, #15958f 35%, #38a77a 65%, #68c85b 100%);

	--nca-shadow: 0 2px 18px rgba(0, 66, 77, 0.08);
	--nca-shadow-md: 0 10px 32px rgba(0, 66, 77, 0.14);
	--nca-shadow-lg: 0 24px 64px rgba(0, 40, 46, 0.28);

	--nca-r: 18px;
	--nca-r-sm: 12px;
	--nca-t: 0.2s ease;

	font-family: 'Poppins', sans-serif;
	color: var(--nca-text);
	/* Transparent so the widget sits on whatever section background it's placed in. */
	background: transparent;
	position: relative;
	padding: 60px 15px;
	box-sizing: border-box;
}

.nca-widget,
.nca-widget *,
.nca-widget *::before,
.nca-widget *::after {
	box-sizing: border-box;
}

.nca-widget img {
	max-width: 100%;
}

/* Decorative animated background from the original build — kept in the
   markup (so the script's getElementById call never fails) but hidden,
   because the approved design is a plain, calm surface. */
.nca-widget canvas#neural-bg {
	display: none !important;
}

.nca-widget .wrapper {
	position: relative;
	z-index: 1;
	max-width: 880px;
	margin: 0 auto;
	padding: 0;
}

/* ═══════════════════════════════════════════════
   EYEBROW / "Free Assessment"-style flourish
   Reused wherever the original markup has a short
   label above a heading (card-eyebrow, card-hero-eyebrow).
═══════════════════════════════════════════════ */
.nca-widget .card-eyebrow,
.nca-widget .card-hero-eyebrow {
	font-family: 'Poppins', sans-serif;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.nca-widget .card-eyebrow {
	color: var(--nca-accent-dark);
	display: flex;
	align-items: center;
	gap: 10px;
}

.nca-widget .card-hero-eyebrow {
	color: rgba(255, 255, 255, 0.75);
	position: relative;
}

/* ═══════════════════════════════════════════════
   PANELS
═══════════════════════════════════════════════ */
.nca-widget .panel {
	display: none;
	animation: nca-fadeUp 0.35s ease;
}
.nca-widget .panel.active {
	display: block;
}
@keyframes nca-fadeUp {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ═══════════════════════════════════════════════
   CARDS
═══════════════════════════════════════════════ */
.nca-widget .card {
	background: var(--nca-bg-card);
	border-radius: var(--nca-r);
	border: 1px solid var(--nca-border);
	padding: 40px;
	box-shadow: var(--nca-shadow);
	margin-bottom: 20px;
}

.nca-widget .card-title {
	font-family: 'Fraunces', serif;
	font-optical-sizing: auto;
	font-size: 26px;
	font-weight: 600;
	color: var(--nca-text);
	margin-bottom: 8px;
	line-height: 1.28;
}

.nca-widget .card-sub {
	font-size: 14.5px;
	color: var(--nca-text-light);
	margin-bottom: 26px;
	line-height: 1.7;
	max-width: 640px;
}

.nca-widget .card-hero {
	background: linear-gradient(135deg, var(--nca-primary) 0%, #23977f 55%, var(--nca-accent) 100%);
	border-radius: var(--nca-r) var(--nca-r) 0 0;
	padding: 40px;
	margin: -40px -40px 30px;
	color: #fff;
	position: relative;
	overflow: hidden;
}
.nca-widget .card-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 80% 20%, rgba(255, 255, 255, 0.16), transparent 60%);
}
.nca-widget .card-hero-title {
	font-family: 'Fraunces', serif;
	font-size: 30px;
	font-weight: 600;
	color: #fff;
	margin-bottom: 10px;
	line-height: 1.22;
	position: relative;
}
.nca-widget .card-hero-sub {
	font-size: 14.5px;
	color: rgba(255, 255, 255, 0.88);
	line-height: 1.65;
	position: relative;
	max-width: 560px;
}

/* ═══════════════════════════════════════════════
   PROGRESS STEPS
═══════════════════════════════════════════════ */
.nca-widget .progress-wrap {
	padding: 0 0 26px;
	max-width: 880px;
	margin: 0 auto;
}
.nca-widget .progress-steps {
	display: flex;
	align-items: center;
	margin-bottom: 14px;
}
.nca-widget .p-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
}
.nca-widget .p-step-dot {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 12px;
	border: 2px solid var(--nca-border);
	background: var(--nca-bg-card);
	color: var(--nca-text-light);
	transition: all 0.3s;
	font-family: 'Poppins', sans-serif;
	position: relative;
}
.nca-widget .p-step.done .p-step-dot {
	background: var(--nca-primary);
	border-color: var(--nca-primary);
	color: transparent;
}
.nca-widget .p-step.done .p-step-dot::after {
	content: '\2713';
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 13px;
}
.nca-widget .p-step.active .p-step-dot {
	background: #fff;
	border-color: var(--nca-primary);
	color: var(--nca-primary);
	box-shadow: 0 0 0 4px var(--nca-primary-tint);
}
.nca-widget .p-step-line {
	flex: 1;
	height: 2px;
	background: var(--nca-border);
	transition: background 0.3s;
	margin-top: -20px;
}
.nca-widget .p-step-line.done {
	background: var(--nca-primary);
}
.nca-widget .p-step-label {
	font-size: 10.5px;
	color: var(--nca-text-light);
	margin-top: 8px;
	text-align: center;
	white-space: nowrap;
}
.nca-widget .p-step.active .p-step-label,
.nca-widget .p-step.done .p-step-label {
	color: var(--nca-primary-dark);
	font-weight: 600;
}
.nca-widget .progress-bar {
	height: 4px;
	background: var(--nca-border);
	border-radius: 99px;
	overflow: hidden;
	margin-bottom: 4px;
}
.nca-widget .progress-bar-fill {
	height: 100%;
	background: var(--nca-brand-gradient);
	border-radius: 99px;
	transition: width 0.5s ease;
}

/* ═══════════════════════════════════════════════
   DISCLAIMERS
═══════════════════════════════════════════════ */
.nca-widget .disclaimer {
	background: var(--nca-amber-bg);
	border: 1px solid var(--nca-amber-border);
	border-left: 4px solid var(--nca-amber);
	border-radius: 0 12px 12px 0;
	padding: 16px 20px;
	margin-bottom: 18px;
}
.nca-widget .disclaimer p {
	font-size: 13.5px;
	color: #6b4a12;
	line-height: 1.65;
}
.nca-widget .disclaimer p + p {
	margin-top: 8px;
}
.nca-widget .disclaimer strong {
	color: #4a3208;
}
.nca-widget .emergency-box {
	background: var(--nca-red-bg);
	border: 1px solid var(--nca-red-border);
	border-left: 4px solid var(--nca-red);
	border-radius: 0 12px 12px 0;
	padding: 16px 20px;
	margin-bottom: 18px;
}
.nca-widget .emergency-box strong {
	display: block;
	font-size: 14px;
	color: var(--nca-red);
	margin-bottom: 4px;
}
.nca-widget .emergency-box p {
	font-size: 13.5px;
	color: #8a2020;
	line-height: 1.6;
}

/* ═══════════════════════════════════════════════
   FORM ELEMENTS / QUESTION OPTIONS
═══════════════════════════════════════════════ */
.nca-widget .q-block {
	margin-bottom: 28px;
}
.nca-widget .q-mnemonic {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Poppins', sans-serif;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	background: var(--nca-primary-tint);
	color: var(--nca-primary-dark);
	padding: 3px 10px;
	border-radius: 6px;
	margin-bottom: 8px;
}
.nca-widget .q-label {
	font-size: 15px;
	font-weight: 600;
	color: var(--nca-text);
	margin-bottom: 8px;
	line-height: 1.5;
}
.nca-widget .q-hint {
	font-size: 12.5px;
	color: var(--nca-text-light);
	margin-bottom: 12px;
	background: var(--nca-primary-tint);
	padding: 10px 14px;
	border-radius: 10px;
	border-left: 3px solid var(--nca-primary-light);
	line-height: 1.6;
	font-style: normal;
}
.nca-widget .options-list {
	display: flex;
	flex-direction: column;
	gap: 9px;
}
@media (max-width: 600px) {
	.nca-widget .options-list {
	flex-direction: column !important;
	}
}
.nca-widget .opt-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 15px 18px;
	border-radius: 12px;
	border: 1.5px solid var(--nca-border);
	cursor: pointer;
	transition: all var(--nca-t);
	background: var(--nca-bg-card);
	position: relative;
	overflow: hidden;
}
.nca-widget .opt-item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: transparent;
	transition: background var(--nca-t);
}
.nca-widget .opt-item:hover {
	border-color: var(--nca-primary-light);
	background: var(--nca-primary-tint);
}
.nca-widget .opt-item:hover::before {
	background: var(--nca-primary-light);
}
.nca-widget .opt-item.sel-green,
.nca-widget .opt-item.sel-amber,
.nca-widget .opt-item.sel-red,
.nca-widget .opt-item.sel-multi,
.nca-widget .opt-item.opt-selected {
	border-color: var(--nca-primary) !important;
	background: var(--nca-primary-tint) !important;
}
.nca-widget .opt-item.sel-green::before,
.nca-widget .opt-item.sel-amber::before,
.nca-widget .opt-item.sel-red::before,
.nca-widget .opt-item.opt-selected::before {
	background: var(--nca-primary) !important;
}
.nca-widget .opt-radio {
	width: 19px;
	height: 19px;
	border-radius: 50%;
	border: 2px solid var(--nca-border);
	flex-shrink: 0;
	margin-top: 1px;
	transition: all var(--nca-t);
	position: relative;
	background: #fff;
}
.nca-widget .opt-item.sel-green .opt-radio,
.nca-widget .opt-item.sel-amber .opt-radio,
.nca-widget .opt-item.sel-red .opt-radio,
.nca-widget .opt-item.opt-selected .opt-radio {
	border-color: var(--nca-primary) !important;
	background: var(--nca-primary) !important;
}
.nca-widget .opt-radio::after {
	content: '';
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: #fff;
	opacity: 0;
	transition: opacity var(--nca-t);
}
.nca-widget .opt-item.sel-green .opt-radio::after,
.nca-widget .opt-item.sel-amber .opt-radio::after,
.nca-widget .opt-item.sel-red .opt-radio::after,
.nca-widget .opt-item.opt-selected .opt-radio::after {
	opacity: 1;
}
.nca-widget .opt-content {
	flex: 1;
	min-width: 0;
}
.nca-widget .opt-main {
	font-size: 14px;
	font-weight: 500;
	color: var(--nca-text);
	line-height: 1.5;
}
.nca-widget .opt-sub {
	font-size: 12px;
	color: var(--nca-text-light);
	margin-top: 3px;
	line-height: 1.55;
}
.nca-widget .opt-badge {
	display: none !important;
}
.nca-widget .opt-check {
	width: 19px;
	height: 19px;
	border-radius: 6px;
	border: 2px solid var(--nca-border);
	flex-shrink: 0;
	margin-top: 1px;
	transition: all var(--nca-t);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.nca-widget .opt-item.sel-multi .opt-check,
.nca-widget .opt-item.opt-selected .opt-check {
	border-color: var(--nca-primary) !important;
	background: var(--nca-primary) !important;
}
.nca-widget .opt-check::after {
	content: '\2713';
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	opacity: 0;
	transition: opacity var(--nca-t);
}
.nca-widget .opt-item.sel-multi .opt-check::after,
.nca-widget .opt-item.opt-selected .opt-check::after {
	opacity: 1;
}
.nca-widget .options-list.multi .opt-check {
	display: flex;
}

/* Gamified card grids (emergency safety check + history) */
.nca-widget .safety-grid,
.nca-widget .history-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
}
.nca-widget .safety-grid .opt-item,
.nca-widget .history-grid .opt-item {
	flex-direction: column !important;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px;
	padding: 16px 15px;
	min-height: 108px;
	border-radius: 14px;
	transition: transform 0.12s ease, border-color 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
}
.nca-widget .safety-grid .opt-item:hover,
.nca-widget .history-grid .opt-item:hover {
	transform: translateY(-3px);
	border-color: var(--nca-primary);
	box-shadow: var(--nca-shadow);
}
.nca-widget .safety-grid .opt-item::before,
.nca-widget .history-grid .opt-item::before {
	display: none !important;
}
.nca-widget .card-ico {
	font-size: 26px;
	line-height: 1;
}
.nca-widget .safety-grid .opt-main,
.nca-widget .history-grid .opt-main {
	font-size: 13px;
	line-height: 1.4;
	font-weight: 600;
}
.nca-widget .nc-none {
	grid-column: 1 / -1;
	flex-direction: row !important;
	align-items: center !important;
	min-height: 0 !important;
	gap: 12px !important;
	background: var(--nca-bg);
}
.nca-widget .nc-none .card-ico {
	font-size: 20px;
}

/* Select */
.nca-widget .nc-select {
	width: 100%;
	padding: 15px 17px;
	border: 2px solid var(--nca-border);
	border-radius: 13px;
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	color: var(--nca-text);
	background-color: #fff;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23007c91' stroke-width='3' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");
	background-repeat: no-repeat;
	background-position: right 17px center;
}
.nca-widget .nc-select:focus {
	outline: none;
	border-color: var(--nca-primary);
	box-shadow: 0 0 0 3px rgba(0, 124, 145, 0.15);
}

/* ═══════════════════════════════════════════════
   MEDICATION SEARCH TAG INPUT
═══════════════════════════════════════════════ */
.nca-widget .med-search-wrap {
	border: 2px solid var(--nca-border);
	border-radius: 14px;
	background: var(--nca-bg-card);
	transition: border-color var(--nca-t);
	overflow: hidden;
}
.nca-widget .med-search-wrap:focus-within {
	border-color: var(--nca-primary);
	box-shadow: 0 0 0 3px rgba(0, 124, 145, 0.12);
}
.nca-widget .med-tags-area {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 12px 14px 0;
	min-height: 20px;
}
.nca-widget .med-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--nca-primary-tint);
	border: 1px solid var(--nca-primary-tint2);
	color: var(--nca-primary-dark);
	padding: 5px 10px;
	border-radius: 8px;
	font-size: 12.5px;
	font-weight: 500;
}
.nca-widget .med-tag-flag {
	font-size: 10px;
	background: var(--nca-red-bg);
	color: var(--nca-red);
	border: 1px solid var(--nca-red-border);
	padding: 1px 5px;
	border-radius: 4px;
	letter-spacing: 0.02em;
}
.nca-widget .med-tag-flag.flag-amber {
	background: var(--nca-amber-bg);
	color: var(--nca-amber);
	border-color: var(--nca-amber-border);
}
.nca-widget .med-tag-remove {
	cursor: pointer;
	color: var(--nca-primary-light);
	font-size: 14px;
	line-height: 1;
	padding: 0 2px;
	border-radius: 3px;
	transition: all var(--nca-t);
}
.nca-widget .med-tag-remove:hover {
	color: var(--nca-red);
	background: var(--nca-red-bg);
}
.nca-widget .med-search-input-row {
	display: flex;
	align-items: center;
	gap: 0;
	padding: 8px 14px;
}
.nca-widget .med-search-icon {
	color: var(--nca-text-light);
	font-size: 16px;
	margin-right: 10px;
	flex-shrink: 0;
}
.nca-widget .med-search-input {
	flex: 1;
	border: none;
	outline: none;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	color: var(--nca-text);
	background: transparent;
	padding: 6px 0;
}
.nca-widget .med-search-input::placeholder {
	color: var(--nca-text-light);
}
.nca-widget .med-count-badge {
	font-size: 11px;
	background: var(--nca-primary);
	color: #fff;
	padding: 2px 8px;
	border-radius: 10px;
	margin-left: 8px;
	flex-shrink: 0;
}
.nca-widget .med-dropdown {
	max-height: 300px;
	overflow-y: auto;
	border-top: 1px solid var(--nca-border);
	display: none;
}
.nca-widget .med-dropdown.open {
	display: block;
}
.nca-widget .med-category {
	padding: 8px 14px 4px;
	font-size: 10.5px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--nca-primary-dark);
	background: var(--nca-primary-tint);
	font-weight: 700;
	position: sticky;
	top: 0;
	z-index: 1;
}
.nca-widget .med-option {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 14px;
	cursor: pointer;
	transition: background var(--nca-t);
	border-bottom: 1px solid rgba(228, 234, 234, 0.6);
}
.nca-widget .med-option:hover {
	background: var(--nca-primary-tint);
}
.nca-widget .med-option.med-added {
	background: var(--nca-green-bg);
	pointer-events: none;
}
.nca-widget .med-option-left {
	flex: 1;
	min-width: 0;
}
.nca-widget .med-option-name {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--nca-text);
}
.nca-widget .med-option-brand {
	font-size: 11.5px;
	color: var(--nca-text-light);
	margin-top: 2px;
}
.nca-widget .med-option-flag {
	font-size: 10px;
	padding: 2px 7px;
	border-radius: 4px;
	flex-shrink: 0;
	align-self: flex-start;
	margin-top: 2px;
	letter-spacing: 0.02em;
}
.nca-widget .med-option-flag.risk-high {
	background: var(--nca-red-bg);
	color: var(--nca-red);
	border: 1px solid var(--nca-red-border);
}
.nca-widget .med-option-flag.risk-mod {
	background: var(--nca-amber-bg);
	color: var(--nca-amber);
	border: 1px solid var(--nca-amber-border);
}
.nca-widget .med-option-flag.risk-info {
	background: var(--nca-primary-tint);
	color: var(--nca-primary-dark);
	border: 1px solid var(--nca-primary-tint2);
}
.nca-widget .med-note {
	font-size: 11px;
	color: var(--nca-text-light);
	margin-top: 3px;
	line-height: 1.5;
	font-style: italic;
}
.nca-widget .med-empty {
	padding: 20px;
	text-align: center;
	color: var(--nca-text-light);
	font-size: 13.5px;
}
.nca-widget .med-none-btn {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	cursor: pointer;
	color: var(--nca-text-light);
	font-size: 13.5px;
	transition: background var(--nca-t);
	border-top: 1px solid var(--nca-border);
	margin-top: 4px;
}
.nca-widget .med-none-btn:hover {
	background: var(--nca-primary-tint);
	color: var(--nca-primary-dark);
}
.nca-widget .med-none-active .med-none-btn {
	background: var(--nca-green-bg);
}
.nca-widget .med-none-active .opt-check {
	border-color: var(--nca-green);
	background: var(--nca-green);
}
.nca-widget .med-none-active .opt-check::after {
	opacity: 1;
}

.nca-widget .med-detail-wrap {
	margin-top: 16px;
	padding: 16px;
	border: 1px solid var(--nca-border);
	border-radius: 14px;
	background: var(--nca-bg);
}
.nca-widget .med-detail-head {
	font-size: 14px;
	font-weight: 600;
	color: var(--nca-primary);
	margin-bottom: 4px;
}
.nca-widget .med-detail-sub {
	font-size: 12.5px;
	color: var(--nca-text-light);
	line-height: 1.5;
	margin-bottom: 12px;
}
.nca-widget .med-detail-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 8px 0;
	border-top: 1px solid var(--nca-border);
}
.nca-widget .med-detail-row:first-of-type {
	border-top: none;
}
.nca-widget .med-detail-name {
	flex: 1 1 160px;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--nca-text);
}
.nca-widget .med-detail-fields {
	flex: 1 1 260px;
	display: flex;
	gap: 8px;
}
.nca-widget .med-detail-input {
	flex: 1;
	min-width: 0;
	padding: 8px 10px;
	border: 1px solid var(--nca-border);
	border-radius: 8px;
	font-family: inherit;
	font-size: 13px;
	color: var(--nca-text);
	background: #fff;
}
.nca-widget .med-detail-input:focus {
	outline: 2px solid var(--nca-primary);
	outline-offset: 1px;
	border-color: var(--nca-primary);
}
.nca-widget .med-upload-block {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--nca-border);
	position: relative;
}
.nca-widget .med-upload-title {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--nca-text);
	margin-bottom: 3px;
}
.nca-widget .med-upload-sub {
	font-size: 12.5px;
	color: var(--nca-text-light);
	line-height: 1.5;
	margin-bottom: 10px;
}
.nca-widget .med-upload-btn {
	display: inline-block;
	padding: 9px 16px;
	border: 1.5px dashed var(--nca-primary);
	border-radius: 10px;
	color: var(--nca-primary);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	background: #fff;
}
.nca-widget .med-upload-btn:hover {
	background: var(--nca-primary-tint);
}
.nca-widget .med-doc-list {
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.nca-widget .med-doc-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 10px;
	background: #fff;
	border: 1px solid var(--nca-border);
	border-radius: 8px;
	font-size: 12.5px;
}
.nca-widget .med-doc-name {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--nca-text);
}
.nca-widget .med-doc-size {
	color: var(--nca-text-light);
	font-size: 11.5px;
}
.nca-widget .med-doc-x {
	border: none;
	background: none;
	color: var(--nca-text-light);
	font-size: 17px;
	cursor: pointer;
	line-height: 1;
	padding: 0 2px;
}
.nca-widget .med-doc-x:hover {
	color: var(--nca-red);
}
.nca-widget .q-multi-hint {
	font-size: 13px;
	font-weight: 600;
	color: var(--nca-primary-dark);
	background: var(--nca-primary-tint);
	border: 1px solid var(--nca-primary-tint2);
	border-radius: 10px;
	padding: 8px 12px;
	margin: 0 0 10px;
}

/* ═══════════════════════════════════════════════
   CONDITION GRID
═══════════════════════════════════════════════ */
.nca-widget .condition-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
.nca-widget .cond-card {
	background: var(--nca-bg-card);
	border: 1.5px solid var(--nca-border);
	border-radius: 14px;
	padding: 20px;
	cursor: pointer;
	transition: all var(--nca-t);
}
.nca-widget .cond-card:hover {
	border-color: var(--nca-primary);
	box-shadow: var(--nca-shadow-md);
	transform: translateY(-2px);
}
.nca-widget .cond-card.selected {
	border-color: var(--nca-primary);
	background: var(--nca-primary);
	box-shadow: 0 6px 20px rgba(0, 124, 145, 0.28);
}
.nca-widget .cond-card.selected .cond-name,
.nca-widget .cond-card.selected .cond-nice {
	color: #fff;
}
.nca-widget .cond-card.selected .cond-tag {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}
.nca-widget .cond-icon {
	font-size: 28px;
	margin-bottom: 10px;
	display: block;
}
.nca-widget .cond-name {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--nca-text);
	margin-bottom: 4px;
}
.nca-widget .cond-nice {
	font-size: 10.5px;
	color: var(--nca-text-light);
}
.nca-widget .cond-tag {
	display: inline-block;
	background: var(--nca-primary-tint);
	color: var(--nca-primary-dark);
	font-size: 10px;
	padding: 3px 8px;
	border-radius: 5px;
	margin-top: 8px;
	font-weight: 600;
}
.nca-widget .cond-tag.no-green {
	background: var(--nca-amber-bg);
	color: var(--nca-amber);
	border: 1px solid var(--nca-amber-border);
}

/* ═══════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════ */
.nca-widget .btn-row {
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid var(--nca-border);
}
.nca-widget .btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 26px;
	border-radius: 999px;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all var(--nca-t);
	border: none;
}
.nca-widget .btn-primary {
	background: linear-gradient(135deg, var(--nca-primary), var(--nca-primary-dark));
	color: #fff;
	box-shadow: 0 6px 18px rgba(0, 124, 145, 0.3);
}
.nca-widget .btn-primary:hover {
	box-shadow: 0 8px 22px rgba(0, 124, 145, 0.4);
	transform: translateY(-1px);
}
.nca-widget .btn-primary:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}
.nca-widget .btn-outline {
	background: #fff;
	color: var(--nca-primary-dark);
	border: 1.5px solid var(--nca-border);
}
.nca-widget .btn-outline:hover {
	border-color: var(--nca-primary);
	background: var(--nca-primary-tint);
}
.nca-widget .btn-ghost-dark {
	background: rgba(0, 66, 77, 0.06);
	color: var(--nca-text-mid);
	border: 1.5px solid var(--nca-border);
}
.nca-widget .btn-ghost-dark:hover {
	border-color: var(--nca-primary-light);
	background: rgba(0, 66, 77, 0.1);
}
.nca-widget .btn-text {
	background: none;
	border: none;
	color: var(--nca-text-light);
	box-shadow: none;
	padding: 8px 26px;
	font-weight: 600;
	cursor: pointer;
	border-radius: 999px;
}
.nca-widget .btn-text:hover {
	color: #fff;
}
.nca-widget .btn-print {
	border: 1.5px solid var(--nca-border);
	background: #fff;
	color: var(--nca-primary-dark);
	border-radius: 999px;
	padding: 9px 16px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	font-family: 'Poppins', sans-serif;
}
.nca-widget .btn-print:hover {
	border-color: var(--nca-primary);
	background: var(--nca-primary-tint);
}

/* ═══════════════════════════════════════════════
   CONSENT
═══════════════════════════════════════════════ */
.nca-widget .consent-row {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 17px 20px;
	border: 1.5px solid var(--nca-border);
	border-radius: 12px;
	cursor: pointer;
	transition: all var(--nca-t);
	background: var(--nca-bg-card);
	margin-bottom: 16px;
}
.nca-widget .consent-row:hover {
	border-color: var(--nca-primary);
	background: var(--nca-primary-tint);
}
.nca-widget .consent-row.checked {
	border-color: var(--nca-green);
	background: var(--nca-green-bg);
}
.nca-widget .consent-box {
	width: 22px;
	height: 22px;
	border-radius: 7px;
	border: 2px solid var(--nca-border);
	flex-shrink: 0;
	margin-top: 1px;
	transition: all var(--nca-t);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.nca-widget .consent-row.checked .consent-box {
	border-color: var(--nca-green);
	background: var(--nca-green);
}
.nca-widget .consent-box::after {
	content: '\2713';
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	opacity: 0;
	transition: opacity var(--nca-t);
}
.nca-widget .consent-row.checked .consent-box::after {
	opacity: 1;
}
.nca-widget .consent-text {
	font-size: 13.5px;
	color: var(--nca-text-mid);
	line-height: 1.65;
}

.nca-widget .section-divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 26px 0 18px;
	color: var(--nca-text-light);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.nca-widget .section-divider::before,
.nca-widget .section-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--nca-border);
}

/* ═══════════════════════════════════════════════
   EMAIL CAPTURE PANEL
═══════════════════════════════════════════════ */
.nca-widget .email-panel-inner {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}
.nca-widget .email-panel-icon {
	font-size: 50px;
	margin-bottom: 16px;
}
.nca-widget .email-panel-title {
	font-family: 'Fraunces', serif;
	font-size: 27px;
	font-weight: 600;
	color: var(--nca-text);
	margin-bottom: 10px;
}
.nca-widget .email-panel-sub {
	font-size: 14.5px;
	color: var(--nca-text-light);
	line-height: 1.65;
	margin-bottom: 28px;
}
.nca-widget .email-input-row {
	display: flex;
	gap: 10px;
	max-width: 480px;
	margin: 0 auto 12px;
}
.nca-widget .email-input {
	flex: 1;
	padding: 14px 18px;
	border: 2px solid var(--nca-border);
	border-radius: 12px;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	color: var(--nca-text);
	background: var(--nca-bg-card);
	outline: none;
	transition: border-color var(--nca-t);
}
.nca-widget .email-input:focus {
	border-color: var(--nca-primary);
	box-shadow: 0 0 0 3px rgba(0, 124, 145, 0.12);
}
.nca-widget .email-input.invalid {
	border-color: var(--nca-red);
	box-shadow: 0 0 0 3px rgba(186, 26, 26, 0.1);
}
.nca-widget .email-privacy {
	font-size: 12px;
	color: var(--nca-text-light);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-bottom: 24px;
}
.nca-widget .email-divider {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 20px auto;
	max-width: 400px;
	color: var(--nca-text-light);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.nca-widget .email-divider::before,
.nca-widget .email-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--nca-border);
}
.nca-widget .what-included {
	background: var(--nca-primary-tint);
	border-radius: 14px;
	padding: 20px 24px;
	text-align: left;
	max-width: 480px;
	margin: 0 auto 24px;
}
.nca-widget .what-included h4 {
	font-size: 13px;
	font-weight: 700;
	color: var(--nca-primary-dark);
	margin-bottom: 12px;
}
.nca-widget .what-feature {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--nca-text-mid);
	margin-bottom: 8px;
}
.nca-widget .what-feature::before {
	content: '\2713';
	color: var(--nca-green);
	font-weight: 700;
	flex-shrink: 0;
}

/* ═══════════════════════════════════════════════
   RED FLAG MODAL
═══════════════════════════════════════════════ */
.nca-widget .modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(20, 22, 22, 0.78);
	backdrop-filter: blur(6px);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}
.nca-widget .modal-overlay.open {
	opacity: 1;
	visibility: visible;
}
.nca-widget .modal-card {
	background: #fff;
	border-radius: 20px;
	max-width: 580px;
	width: 100%;
	box-shadow: var(--nca-shadow-lg);
	transform: scale(0.95) translateY(20px);
	transition: all 0.3s ease;
	overflow: hidden;
	max-height: 90vh;
	overflow-y: auto;
}
.nca-widget .modal-overlay.open .modal-card {
	transform: scale(1) translateY(0);
}
.nca-widget .modal-header {
	background: var(--nca-red-gradient);
	padding: 30px 32px 26px;
	position: relative;
	overflow: hidden;
}
.nca-widget .modal-header::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at top right, rgba(255, 255, 255, 0.18), transparent 70%);
}
.nca-widget .modal-header-eyebrow {
	font-size: 10.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.75);
	margin-bottom: 10px;
	position: relative;
	font-weight: 700;
}
.nca-widget .modal-header-icon {
	font-size: 38px;
	margin-bottom: 12px;
	display: block;
	position: relative;
	animation: nca-urgentPulse 1.5s ease-in-out infinite;
}
@keyframes nca-urgentPulse {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.08);
	}
}
.nca-widget .modal-header-title {
	font-family: 'Fraunces', serif;
	font-size: 23px;
	font-weight: 600;
	color: #fff;
	margin-bottom: 6px;
	line-height: 1.25;
	position: relative;
}
.nca-widget .modal-header-sub {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.55;
	position: relative;
}
.nca-widget .modal-body {
	padding: 28px 30px;
}
.nca-widget .modal-concern {
	background: var(--nca-red-bg);
	border: 1px solid var(--nca-red-border);
	border-left: 4px solid var(--nca-red);
	border-radius: 0 12px 12px 0;
	padding: 14px 18px;
	margin-bottom: 18px;
}
.nca-widget .modal-concern-label {
	font-size: 10.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nca-red);
	margin-bottom: 5px;
	font-weight: 700;
}
.nca-widget .modal-concern p {
	font-size: 13px;
	color: #7a2323;
	line-height: 1.65;
}
.nca-widget .modal-steps-title {
	font-size: 13px;
	font-weight: 700;
	color: var(--nca-text);
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.nca-widget .modal-steps-title::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--nca-border);
}
.nca-widget .modal-step {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 9px;
}
.nca-widget .modal-step:last-child {
	margin-bottom: 16px;
}
.nca-widget .modal-step-num {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--nca-primary-deep);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.nca-widget .modal-step-text {
	font-size: 13px;
	color: var(--nca-text-mid);
	line-height: 1.55;
	padding-top: 2px;
}
.nca-widget .modal-step-text strong {
	color: var(--nca-text);
}
.nca-widget .modal-cta-primary {
	width: 100%;
	padding: 15px;
	background: var(--nca-red-gradient);
	color: #fff;
	border: none;
	border-radius: 12px;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: all var(--nca-t);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 10px;
}
.nca-widget .modal-cta-primary:hover {
	box-shadow: 0 8px 22px rgba(186, 26, 26, 0.4);
	transform: translateY(-1px);
}
.nca-widget .modal-divider-or {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 14px 0;
	color: var(--nca-text-light);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.nca-widget .modal-divider-or::before,
.nca-widget .modal-divider-or::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--nca-border);
}
.nca-widget .modal-cta-secondary {
	width: 100%;
	padding: 13px;
	background: transparent;
	border: 1.5px solid var(--nca-border);
	border-radius: 12px;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all var(--nca-t);
	color: var(--nca-text-light);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.nca-widget .modal-cta-secondary:hover {
	border-color: var(--nca-primary-light);
	color: var(--nca-primary);
	background: var(--nca-primary-tint);
}
.nca-widget .modal-continue-warning {
	background: var(--nca-amber-bg);
	border: 1px solid var(--nca-amber-border);
	border-radius: 10px;
	padding: 11px 14px;
	margin-top: 10px;
	font-size: 12px;
	color: #6b4a12;
	line-height: 1.55;
}

/* ═══════════════════════════════════════════════
   PACKAGE CHECKOUT MODAL
═══════════════════════════════════════════════ */
.nca-widget .checkout-overlay {
	position: fixed;
	inset: 0;
	background: rgba(20, 22, 22, 0.78);
	backdrop-filter: blur(8px);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}
.nca-widget .checkout-overlay.open {
	opacity: 1;
	visibility: visible;
}
.nca-widget .checkout-card {
	background: #fff;
	border-radius: 20px;
	max-width: 640px;
	width: 100%;
	box-shadow: var(--nca-shadow-lg);
	transform: scale(0.95) translateY(20px);
	transition: all 0.3s ease;
	overflow: hidden;
	max-height: 92vh;
	display: flex;
	flex-direction: column;
}
.nca-widget .checkout-overlay.open .checkout-card {
	transform: scale(1) translateY(0);
}
.nca-widget .checkout-header {
	padding: 24px 28px;
	border-bottom: 1px solid var(--nca-border);
	flex-shrink: 0;
}
.nca-widget .checkout-header-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 4px;
}
.nca-widget .checkout-title {
	font-family: 'Fraunces', serif;
	font-size: 21px;
	font-weight: 600;
	color: var(--nca-text);
}
.nca-widget .checkout-close {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--nca-bg);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--nca-text-light);
	transition: all var(--nca-t);
}
.nca-widget .checkout-close:hover {
	background: var(--nca-red-bg);
	color: var(--nca-red);
}
.nca-widget .checkout-sub {
	font-size: 13px;
	color: var(--nca-text-light);
}
.nca-widget .checkout-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	margin-top: 8px;
}
.nca-widget .badge-bronze-co {
	background: #fdf4e7;
	color: #8a5a12;
	border: 1px solid #f0dcae;
}
.nca-widget .badge-silver-co {
	background: #f4f6f6;
	color: #52605f;
	border: 1px solid #d9e0e0;
}
.nca-widget .badge-gold-co {
	background: #fff8e6;
	color: #8a6410;
	border: 1px solid #f0dcae;
}
.nca-widget .checkout-scroll {
	flex: 1;
	overflow-y: auto;
	padding: 0;
}
.nca-widget .checkout-section {
	padding: 20px 28px;
	border-bottom: 1px solid var(--nca-border);
}
.nca-widget .checkout-section:last-child {
	border-bottom: none;
}
.nca-widget .checkout-section-title {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--nca-primary-dark);
	margin-bottom: 14px;
}
.nca-widget .checkout-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	border-bottom: 1px solid rgba(228, 234, 234, 0.6);
	cursor: pointer;
	transition: background var(--nca-t);
	border-radius: 10px;
	padding: 10px 10px;
}
.nca-widget .checkout-item:last-child {
	border-bottom: none;
}
.nca-widget .checkout-item:hover {
	background: var(--nca-primary-tint);
}
.nca-widget .checkout-item-check {
	width: 20px;
	height: 20px;
	border-radius: 6px;
	border: 2px solid var(--nca-border);
	flex-shrink: 0;
	margin-top: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all var(--nca-t);
	background: #fff;
}
.nca-widget .checkout-item.checked .checkout-item-check {
	border-color: var(--nca-primary);
	background: var(--nca-primary);
}
.nca-widget .checkout-item-check::after {
	content: '\2713';
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	opacity: 0;
	transition: opacity var(--nca-t);
}
.nca-widget .checkout-item.checked .checkout-item-check::after {
	opacity: 1;
}
.nca-widget .checkout-item-content {
	flex: 1;
	min-width: 0;
}
.nca-widget .checkout-item-name {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--nca-text);
	margin-bottom: 2px;
}
.nca-widget .checkout-item-desc {
	font-size: 12px;
	color: var(--nca-text-light);
	line-height: 1.45;
}
.nca-widget .checkout-item-price {
	font-size: 13px;
	font-weight: 600;
	color: var(--nca-text);
	flex-shrink: 0;
	padding-top: 1px;
}
.nca-widget .checkout-item-required {
	font-size: 10px;
	background: var(--nca-primary-tint);
	color: var(--nca-primary-dark);
	border: 1px solid var(--nca-primary-tint2);
	padding: 1px 6px;
	border-radius: 4px;
	margin-left: 6px;
}
.nca-widget .checkout-item-nice {
	font-size: 10px;
	background: var(--nca-amber-bg);
	color: var(--nca-amber);
	border: 1px solid var(--nca-amber-border);
	padding: 1px 6px;
	border-radius: 4px;
	margin-left: 4px;
}
.nca-widget .checkout-item-info {
	margin-top: 6px;
}
.nca-widget .checkout-item-info summary {
	cursor: pointer;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--nca-primary);
	list-style: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	user-select: none;
}
.nca-widget .checkout-item-info summary::-webkit-details-marker {
	display: none;
}
.nca-widget .checkout-item-info[open] summary {
	margin-bottom: 5px;
}
.nca-widget .checkout-item-info-body {
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--nca-text-light);
	background: var(--nca-bg);
	border: 1px solid var(--nca-border);
	border-radius: 8px;
	padding: 8px 10px;
}
.nca-widget .checkout-footer {
	padding: 20px 28px;
	border-top: 2px solid var(--nca-border);
	background: var(--nca-bg);
	flex-shrink: 0;
}
.nca-widget .checkout-total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}
.nca-widget .checkout-total-label {
	font-size: 14px;
	color: var(--nca-text-mid);
}
.nca-widget .checkout-total {
	font-family: 'Fraunces', serif;
	font-size: 27px;
	font-weight: 600;
	color: var(--nca-text);
}
.nca-widget .checkout-savings {
	font-size: 12px;
	color: var(--nca-green);
	font-weight: 600;
	margin-top: 2px;
}
.nca-widget .checkout-note {
	font-size: 12px;
	color: var(--nca-text-light);
	line-height: 1.5;
	margin-bottom: 14px;
}
.nca-widget .btn-checkout {
	width: 100%;
	padding: 16px;
	background: linear-gradient(135deg, var(--nca-primary), var(--nca-accent-dark));
	color: #fff;
	border: none;
	border-radius: 999px;
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: all var(--nca-t);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-shadow: 0 6px 20px rgba(0, 124, 145, 0.3);
}
.nca-widget .btn-checkout:hover {
	box-shadow: 0 10px 28px rgba(0, 124, 145, 0.42);
	transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════
   RESULTS
═══════════════════════════════════════════════ */
.nca-widget .rag-banner {
	border-radius: var(--nca-r);
	padding: 36px 32px;
	margin-bottom: 20px;
	position: relative;
	overflow: hidden;
	text-align: center;
	background: var(--nca-bg-card);
	border: 1px solid var(--nca-border);
	box-shadow: var(--nca-shadow);
}
.nca-widget .rag-banner::before {
	content: '\1F9E0';
	display: block;
	font-size: 46px;
	margin: 0 auto 14px;
	line-height: 1;
	filter: grayscale(0);
}
.nca-widget .rag-banner.red::before {
	content: '\1F6A8';
	animation: nca-blink 1.2s infinite;
}
.nca-widget .rag-indicator {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 10px;
}
.nca-widget .rag-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}
.nca-widget .rag-banner.green .rag-dot {
	background: var(--nca-green);
}
.nca-widget .rag-banner.amber .rag-dot {
	background: var(--nca-amber);
}
.nca-widget .rag-banner.red .rag-dot {
	background: var(--nca-red);
	animation: nca-blink 1.2s infinite;
}
@keyframes nca-blink {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.3;
	}
}
.nca-widget .rag-label-text {
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 700;
}
.nca-widget .rag-banner.green .rag-label-text {
	color: var(--nca-green);
}
.nca-widget .rag-banner.amber .rag-label-text {
	color: var(--nca-amber);
}
.nca-widget .rag-banner.red .rag-label-text {
	color: var(--nca-red);
}
.nca-widget .rag-title {
	font-family: 'Fraunces', serif;
	font-size: 25px;
	font-weight: 600;
	margin-bottom: 10px;
	color: var(--nca-text);
}
.nca-widget .rag-desc {
	font-size: 14px;
	line-height: 1.7;
	color: var(--nca-text-light);
	max-width: 560px;
	margin: 0 auto;
}
.nca-widget .rag-score {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	background: var(--nca-bg);
	border-radius: 10px;
	padding: 9px 15px;
	border: 1px solid var(--nca-border);
}
.nca-widget .rag-score-num {
	font-size: 22px;
	font-weight: 700;
	color: var(--nca-text);
}
.nca-widget .rag-score-label {
	font-size: 12px;
	color: var(--nca-text-light);
	line-height: 1.4;
	text-align: left;
}

.nca-widget .report-actionbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.nca-widget .report-ref {
	font-size: 12px;
	color: var(--nca-text-light);
	font-weight: 600;
	letter-spacing: 0.02em;
}
.nca-widget .report-card {
	background: #fff;
	border: 1px solid var(--nca-border);
	border-radius: 16px;
	padding: 22px 24px;
	margin-bottom: 16px;
	box-shadow: var(--nca-shadow);
}
.nca-widget .report-card.subtle {
	background: var(--nca-bg);
}
.nca-widget .report-h {
	font-weight: 700;
	font-size: 16px;
	color: var(--nca-text);
	margin-bottom: 12px;
}
.nca-widget .report-sub {
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--nca-text-light);
	margin: 18px 0 9px;
}
.nca-widget .report-body {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--nca-text-mid);
}
.nca-widget .report-body p {
	margin: 0 0 10px;
}
.nca-widget .report-list {
	margin: 4px 0 12px;
	padding-left: 20px;
}
.nca-widget .report-list li {
	margin: 5px 0;
}
.nca-widget .report-note.ok {
	background: var(--nca-accent-tint);
	border: 1px solid var(--nca-accent-border);
	color: #2c5c2e;
	border-radius: 12px;
	padding: 12px 16px;
	font-size: 13.5px;
	margin-bottom: 16px;
}
.nca-widget .chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.nca-widget .chip {
	background: var(--nca-primary-tint);
	color: var(--nca-primary-deep);
	border: 1px solid var(--nca-primary-tint2);
	border-radius: 99px;
	padding: 6px 13px;
	font-size: 12.5px;
	font-weight: 600;
}
.nca-widget .rf-row {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	margin: 9px 0;
}
.nca-widget .rf-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--nca-accent);
	margin-top: 7px;
	flex-shrink: 0;
}

.nca-widget .pkg-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-bottom: 24px;
}
.nca-widget .pkg-card {
	background: var(--nca-bg-card);
	border: 1.5px solid var(--nca-border);
	border-radius: 14px;
	overflow: hidden;
	transition: all var(--nca-t);
	cursor: pointer;
	display: flex;
	flex-direction: column;
}
.nca-widget .pkg-card:hover {
	box-shadow: var(--nca-shadow-md);
	transform: translateY(-2px);
}
.nca-widget .pkg-header {
	padding: 18px;
	text-align: center;
}
.nca-widget .pkg-bronze .pkg-header {
	background: linear-gradient(135deg, #fdf4e7, #f6e6c5);
}
.nca-widget .pkg-silver .pkg-header {
	background: linear-gradient(135deg, #f6f8f8, #e6ebeb);
}
.nca-widget .pkg-gold .pkg-header {
	background: linear-gradient(135deg, #fff8e6, #f6e9bf);
}
.nca-widget .pkg-tier-icon {
	font-size: 28px;
	margin-bottom: 6px;
	display: block;
}
.nca-widget .pkg-tier-name {
	font-size: 10.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 4px;
}
.nca-widget .pkg-bronze .pkg-tier-name {
	color: #8a5a12;
}
.nca-widget .pkg-silver .pkg-tier-name {
	color: #52605f;
}
.nca-widget .pkg-gold .pkg-tier-name {
	color: #8a6410;
}
.nca-widget .pkg-price {
	font-family: 'Fraunces', serif;
	font-size: 27px;
	font-weight: 600;
	color: var(--nca-text);
}
.nca-widget .pkg-type {
	font-size: 11px;
	color: var(--nca-text-light);
	margin-top: 2px;
}
.nca-widget .pkg-body {
	padding: 16px;
}
.nca-widget .pkg-feature {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 7px;
	font-size: 12.5px;
	color: var(--nca-text-mid);
	line-height: 1.4;
}
.nca-widget .pkg-feature::before {
	content: '\2713';
	color: var(--nca-green);
	font-weight: 700;
	flex-shrink: 0;
	margin-top: 1px;
}
.nca-widget .pkg-cta-btn {
	display: block;
	width: 100%;
	padding: 13px;
	background: var(--nca-primary);
	color: #fff;
	border: none;
	border-radius: 0 0 12px 12px;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--nca-t);
	text-align: center;
	margin-top: auto;
}
.nca-widget .pkg-cta-btn:hover {
	background: var(--nca-primary-dark);
}
.nca-widget .pkg-bronze .pkg-cta-btn {
	background: linear-gradient(135deg, #8a5a12, #a86e1a);
}
.nca-widget .pkg-silver .pkg-cta-btn {
	background: linear-gradient(135deg, #3f4c4b, #52605f);
}
.nca-widget .pkg-gold .pkg-cta-btn {
	background: linear-gradient(135deg, #8a6410, #a8801a);
}

.nca-widget .flag-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 13px 16px;
	border-radius: 12px;
	margin-bottom: 8px;
	font-size: 13px;
	line-height: 1.6;
}
.nca-widget .flag-item:last-child {
	margin-bottom: 0;
}
.nca-widget .flag-red {
	background: var(--nca-red-bg);
	border: 1px solid var(--nca-red-border);
}
.nca-widget .flag-amber {
	background: var(--nca-amber-bg);
	border: 1px solid var(--nca-amber-border);
}
.nca-widget .flag-blue {
	background: var(--nca-primary-tint);
	border: 1px solid var(--nca-primary-tint2);
}
.nca-widget .flag-green {
	background: var(--nca-green-bg);
	border: 1px solid var(--nca-green-border);
}
.nca-widget .flag-icon {
	font-size: 15px;
	flex-shrink: 0;
}
.nca-widget .inv-detail {
	font-size: 12.5px;
	color: var(--nca-text-light);
	line-height: 1.5;
}
.nca-widget .med-doc-ico {
	font-size: 15px;
	flex-shrink: 0;
}
/* One-question-per-page wizard progress bar (sits inside the teal
   card-hero band while a condition's questions are being answered). */
.nca-widget .qwiz-bar {
	height: 6px;
	background: rgba(255, 255, 255, 0.32);
	border-radius: 99px;
	margin-top: 14px;
	overflow: hidden;
}
.nca-widget .qwiz-bar-fill {
	height: 100%;
	background: #fff;
	border-radius: 99px;
	transition: width 0.35s ease;
}
.nca-widget .inv-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-bottom: 20px;
}
.nca-widget .inv-card {
	background: var(--nca-bg-card);
	border: 1px solid var(--nca-border);
	border-radius: 12px;
	padding: 14px 16px;
}
.nca-widget .inv-name {
	font-size: 13px;
	font-weight: 700;
	color: var(--nca-text);
	margin-bottom: 3px;
}
.nca-widget .inv-reason {
	font-size: 12px;
	color: var(--nca-text-light);
	line-height: 1.45;
}
.nca-widget .inv-priority {
	display: inline-block;
	font-size: 9px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 2px 7px;
	border-radius: 5px;
	margin-top: 5px;
}
.nca-widget .inv-priority.mandatory {
	background: var(--nca-red-bg);
	color: var(--nca-red);
	border: 1px solid var(--nca-red-border);
}
.nca-widget .inv-priority.standard {
	background: var(--nca-primary-tint);
	color: var(--nca-primary-dark);
	border: 1px solid var(--nca-primary-tint2);
}
.nca-widget .dvla-alert {
	background: var(--nca-amber-bg);
	border: 2px solid #e0a731;
	border-radius: 14px;
	padding: 18px;
	margin-bottom: 20px;
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.nca-widget .dvla-icon {
	font-size: 22px;
	flex-shrink: 0;
}
.nca-widget .dvla-title {
	font-size: 14px;
	font-weight: 700;
	color: #6b4a12;
	margin-bottom: 4px;
}
.nca-widget .dvla-text {
	font-size: 13px;
	color: #7a5613;
	line-height: 1.6;
}
.nca-widget .nice-compliance {
	background: var(--nca-primary-tint);
	border: 1px solid var(--nca-primary-tint2);
	border-radius: 12px;
	padding: 13px 16px;
	font-size: 12px;
	color: var(--nca-primary-dark);
	line-height: 1.6;
	margin-bottom: 20px;
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

/* ===== report v3 ===== */
.nca-widget .v3-ribbon {
	display: flex;
	align-items: center;
	gap: 9px;
	background: var(--nca-primary-tint);
	border: 1px solid var(--nca-primary-tint2);
	color: var(--nca-primary-dark);
	border-radius: 12px;
	padding: 10px 14px;
	font-size: 0.92rem;
	font-weight: 600;
	margin-bottom: 16px;
}
.nca-widget .v3-ribbon svg {
	width: 18px;
	height: 18px;
	flex: none;
}
.nca-widget .v3-snap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 4px 0 6px;
}
.nca-widget .v3-stat {
	background: var(--nca-bg-card);
	border: 1px solid var(--nca-border);
	border-left: 5px solid var(--nca-primary);
	border-radius: 14px;
	padding: 14px 16px;
	box-shadow: var(--nca-shadow);
}
.nca-widget .v3-stat.ok {
	border-left-color: var(--nca-accent-dark);
}
.nca-widget .v3-stat.warn {
	border-left-color: var(--nca-amber);
}
.nca-widget .v3-stat.alert {
	border-left-color: var(--nca-red);
}
.nca-widget .v3-stat .lab {
	font-size: 0.74rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--nca-text-light);
	font-weight: 700;
}
.nca-widget .v3-stat .num {
	font-size: 1.45rem;
	font-weight: 800;
	color: var(--nca-text);
	margin: 3px 0 2px;
	line-height: 1.15;
}
.nca-widget .v3-stat .sub {
	font-size: 0.84rem;
	color: var(--nca-text-light);
}
.nca-widget .v3-act {
	background: var(--nca-bg-card);
	border: 1px solid var(--nca-border);
	border-radius: 16px;
	margin: 12px 0;
	overflow: hidden;
	box-shadow: var(--nca-shadow);
}
.nca-widget .v3-acth {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 16px;
	background: var(--nca-primary-tint);
	border-bottom: 1px solid var(--nca-border);
}
.nca-widget .v3-ico {
	width: 38px;
	height: 38px;
	flex: none;
	border-radius: 10px;
	background: #fff;
	border: 1px solid var(--nca-primary-tint2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 19px;
}
.nca-widget .v3-name {
	font-weight: 800;
	color: var(--nca-text);
	font-size: 1.04rem;
}
.nca-widget .v3-now {
	font-size: 0.84rem;
	color: var(--nca-primary-dark);
	font-weight: 600;
}
.nca-widget .v3-actb {
	padding: 14px 16px;
}
.nca-widget .v3-todo {
	background: var(--nca-accent-tint);
	border: 1px solid var(--nca-accent-border);
	border-radius: 12px;
	padding: 11px 13px;
	font-size: 0.93rem;
	color: var(--nca-text-mid);
	margin-bottom: 12px;
}
.nca-widget .v3-eat {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.nca-widget .v3-col {
	border-radius: 12px;
	padding: 10px 12px;
	font-size: 0.87rem;
	line-height: 1.55;
}
.nca-widget .v3-col b {
	display: block;
	font-size: 0.74rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-bottom: 5px;
}
.nca-widget .v3-col.more {
	background: var(--nca-green-bg);
	border: 1px solid var(--nca-green-border);
}
.nca-widget .v3-col.more b {
	color: var(--nca-accent-dark);
}
.nca-widget .v3-col.less {
	background: #fdf4f3;
	border: 1px solid var(--nca-red-border);
}
.nca-widget .v3-col.less b {
	color: var(--nca-red);
}
.nca-widget .v3-worth {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 12px;
	padding: 10px 12px;
	background: var(--nca-bg);
	border: 1px dashed var(--nca-primary-tint2);
	border-radius: 12px;
	font-size: 0.89rem;
	color: var(--nca-text-mid);
}
.nca-widget .v3-worth b {
	color: var(--nca-primary-dark);
}

/* ── unified fork chooser (free feedback vs. GP-reviewed report) ── */
.nca-widget .fork-wrap {
	max-width: 860px;
	margin: 0 auto;
}
.nca-widget .fork-head {
	text-align: center;
	margin-bottom: 22px;
}
.nca-widget .fork-kicker {
	font-family: 'Fraunces', serif;
	font-optical-sizing: auto;
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
	margin: 0 0 18px;
	background: linear-gradient(90deg, #007c91 0%, #15958f 40%, #38a77a 70%, #68c85b 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: var(--nca-primary);
}
.nca-widget .fork-title {
	font-family: 'Fraunces', serif;
	font-optical-sizing: auto;
	font-size: clamp(1.35rem, 3vw, 1.75rem);
	font-weight: 600;
	color: var(--nca-text);
	margin: 0 0 10px;
	line-height: 1.25;
}
.nca-widget .fork-sub {
	color: var(--nca-text-mid);
	font-size: 0.98rem;
	line-height: 1.6;
	max-width: 520px;
	margin: 0 auto;
}
.nca-widget .fork-reminder {
	border-left: 3px solid #e5484d;
	background: #fff;
	border-radius: 0 10px 10px 0;
	padding: 12px 16px;
	font-size: 0.86rem;
	line-height: 1.6;
	color: var(--nca-text-mid);
	margin: 0 0 22px;
}
.nca-widget .fork-reminder strong {
	color: var(--nca-text);
	font-weight: 600;
}
.nca-widget .fork-reminder .fork-999 {
	color: #e5484d;
	font-weight: 700;
}
.nca-widget .fork-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: stretch;
}
.nca-widget .fork-card {
	position: relative;
	background: #fff;
	border: 1px solid #ececea;
	border-radius: 22px;
	padding: 24px 22px 22px;
	display: flex;
	flex-direction: column;
	box-shadow: none;
}
.nca-widget .fork-card.featured {
	border: none;
	color: #fff;
	background: linear-gradient(60deg, #007c91 0%, #1a958c 45%, #5fbf63 100%);
	box-shadow: 0 14px 36px rgba(0, 124, 145, 0.22);
}
.nca-widget .fork-tag {
	display: inline-block;
	width: fit-content;
	font-size: 0.72rem;
	font-weight: 500;
	line-height: 1;
	padding: 5px 11px;
	border-radius: 999px;
	margin-bottom: 12px;
}
.nca-widget .fork-tag.free {
	background: var(--nca-primary-tint);
	color: var(--nca-primary);
	border: 1px solid #d9eff2;
}
.nca-widget .fork-tag.paid {
	background: #fff;
	color: var(--nca-primary);
}
.nca-widget .fork-name {
	font-family: 'Fraunces', serif;
	font-optical-sizing: auto;
	font-size: 1.45rem;
	font-weight: 600;
	color: var(--nca-text);
	line-height: 1.25;
	margin: 0 0 10px;
}
.nca-widget .fork-card.featured .fork-name {
	color: #fff;
}
.nca-widget .fork-desc {
	font-size: 0.86rem;
	line-height: 1.6;
	color: var(--nca-text-mid);
	margin: 0 0 18px;
	flex: 1;
}
.nca-widget .fork-list {
	list-style: none;
	padding: 0;
	margin: 0 0 18px;
	flex: 1;
}
.nca-widget .fork-list li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 3px 0;
	font-size: 0.9rem;
	line-height: 1.45;
	color: #fff;
}
.nca-widget .fork-list li::before {
	content: none;
}
.nca-widget .fork-list li svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	margin-top: 3px;
}
.nca-widget .fork-list li strong {
	font-weight: 700;
}
.nca-widget .fork-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 12px 22px;
	border-radius: 999px;
	font-family: 'Poppins', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: none;
	text-transform: none;
	letter-spacing: 0;
	transition: background var(--nca-t), border-color var(--nca-t), color var(--nca-t), transform 0.08s;
}
.nca-widget .fork-btn:active {
	transform: translateY(1px);
}
.nca-widget .fork-btn-outline {
	background: #fff;
	color: var(--nca-text);
	border: 1px solid #e6e6e3;
}
.nca-widget .fork-btn-outline:hover,
.nca-widget .fork-btn-outline:focus {
	background: #fff;
	color: var(--nca-primary);
	border-color: var(--nca-primary);
}
.nca-widget .fork-btn-white {
	background: #fff;
	color: var(--nca-primary);
	border: 1px solid #fff;
}
.nca-widget .fork-btn-white:hover,
.nca-widget .fork-btn-white:focus {
	background: var(--nca-primary-tint);
	color: var(--nca-primary-dark);
	border-color: var(--nca-primary-tint);
}
.nca-widget .fork-restart {
	display: flex;
	justify-content: center;
	margin-top: 26px;
}
.nca-widget .fork-btn-restart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 28px;
	border-radius: 999px;
	background: #fff;
	color: var(--nca-text);
	border: 1px solid #ececea;
	font-family: 'Poppins', sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	cursor: pointer;
	box-shadow: none;
	text-transform: none;
	transition: border-color var(--nca-t), color var(--nca-t);
}
.nca-widget .fork-btn-restart:hover,
.nca-widget .fork-btn-restart:focus {
	background: #fff;
	color: var(--nca-primary);
	border-color: var(--nca-primary);
}

/* ═══════════════════════════════════════════════
   PRINT
═══════════════════════════════════════════════ */
@media print {
	@page {
		margin: 1cm;
	}

	/* Hide theme chrome — header, footer, nav, admin bar */
	body > *:not(#page):not(.site):not(main):not([class*="nca"]) { display: none !important; }
	header, footer, nav, #wpadminbar,
	.site-header, .site-footer, .site-nav,
	#masthead, #colophon, #site-navigation,
	.wp-block-template-part { display: none !important; }

	/* Show only the widget itself */
	.nca-widget {
		display: block !important;
		background: #fff !important;
		padding: 0 !important;
		width: 100% !important;
	}

	/* Hide progress bar, buttons, anything marked no-print */
	.nca-widget #progressSection,
	.nca-widget .no-print,
	.nca-widget .btn-row,
	.nca-widget .report-actionbar,
	.nca-widget .fork-wrap,
	.nca-widget .pkg-card { display: none !important; }

	/* Cards: no shadows, print in sequence, no page-break mid-card */
	.nca-widget .report-card,
	.nca-widget .rag-banner,
	.nca-widget .inv-card,
	.nca-widget .dvla-alert {
		box-shadow: none !important;
		border: 1px solid #ddd !important;
		break-inside: avoid;
		page-break-inside: avoid;
		margin-bottom: 10px !important;
	}

	/* Fix section heading: constrain emoji icon size */
	.nca-widget .report-h {
		font-size: 13px !important;
		font-weight: 700 !important;
		display: flex !important;
		align-items: center !important;
		gap: 6px !important;
		margin-bottom: 8px !important;
	}

	/* The emoji inside report-h is inline text — cap it explicitly */
	.nca-widget .report-h::first-letter,
	.nca-widget .report-h {
		font-size: 13px !important;
	}

	.nca-widget .report-body {
		font-size: 12px !important;
		line-height: 1.5 !important;
	}

	.nca-widget .card {
		box-shadow: none !important;
		border: none !important;
	}
}

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
@media (max-width: 640px) {
	.nca-widget {
		padding: 32px 15px;
	}
	.nca-widget .condition-grid,
	.nca-widget .pkg-grid,
	.nca-widget .inv-grid,
	.nca-widget .fork-cards,
	.nca-widget .v3-snap,
	.nca-widget .v3-eat {
		grid-template-columns: 1fr;
	}
	.nca-widget .card {
		padding: 24px 20px;
	}
	.nca-widget .card-hero {
		padding: 26px 22px;
		margin: -24px -20px 22px;
	}
	.nca-widget .email-input-row {
		flex-direction: column;
	}
	.nca-widget .modal-body,
	.nca-widget .checkout-header,
	.nca-widget .checkout-section,
	.nca-widget .checkout-footer {
		padding-left: 20px;
		padding-right: 20px;
	}
}


/* ═══════════════════════════════════════════════════════════════════
   DESIGN V2 — screen refresh (consent, about-you, condition, questions,
   email pop-up, emergency pop-up).
   Presentation only: appended after the v1 rules so nothing earlier is
   edited. Remove this whole block to return to the previous look.
═══════════════════════════════════════════════════════════════════ */

/* ---- layout ---- */
.nca-widget .wrapper { max-width: 820px; z-index: auto; }
.nca-widget .progress-wrap { text-align: center; padding: 0 0 26px; }

/* ---- "— Free Assessment —" eyebrow ---- */
.nca-widget .nca-eyebrow {
	display: flex; align-items: center; justify-content: center; gap: 14px;
	margin: 0 0 22px;
}
.nca-widget .nca-eyebrow::before,
.nca-widget .nca-eyebrow::after {
	content: ''; width: 78px; height: 1px; background: var(--nca-accent);
}
.nca-widget .nca-eyebrow span {
	font-family: 'Fraunces', serif; font-weight: 600; font-size: 24px; line-height: 1.2;
	background: var(--nca-brand-gradient);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: transparent;
}

/* ---- intro (screen 1) ---- */
.nca-widget .nca-intro { text-align: center; margin: 0 auto 34px; max-width: 700px; }
.nca-widget .nca-intro-title {
	font-family: 'Fraunces', serif; font-weight: 600; font-size: 44px; line-height: 1.15;
	color: #222; margin: 0 0 18px; letter-spacing: -0.01em;
}
.nca-widget .nca-intro-sub { font-size: 16px; line-height: 1.65; color: #222; margin: 0; font-weight: 400; }

/* ---- step dots ---- */
.nca-widget .progress-steps { max-width: 470px; margin: 0 auto 4px; align-items: center; }
.nca-widget .progress-bar,
.nca-widget .p-step-label,
.nca-widget #pstep4,
.nca-widget #pline4 { display: none !important; }
.nca-widget .p-step { flex: 0 0 auto; }
.nca-widget .p-step-dot {
	width: 38px; height: 38px; font-size: 12.5px; font-weight: 500;
	background: #fff; border: 1px solid #ececec; color: #b4b4b4;
}
.nca-widget .p-step.active .p-step-dot {
	border: 2px solid var(--nca-primary); color: var(--nca-primary); box-shadow: none; font-weight: 600;
}
.nca-widget .p-step.done .p-step-dot { background: var(--nca-primary); border-color: var(--nca-primary); }
.nca-widget .p-step-line { flex: 1; height: 3px; margin: 0 4px; border-radius: 2px; background: #e6e6e6; }
.nca-widget .p-step-line.done { background: var(--nca-primary); }

/* ---- card + headings ---- */
.nca-widget .card { border-radius: 28px; border: 1px solid #eef1f1; box-shadow: none; padding: 40px; }
.nca-widget .card-eyebrow {
	display: block; text-transform: none; letter-spacing: 0; margin: 0 0 6px;
	font-family: 'Fraunces', serif; font-weight: 600; font-size: 18px;
	background: var(--nca-brand-gradient); -webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: transparent; width: fit-content;
}
.nca-widget .card-title { font-family: 'Fraunces', serif; font-weight: 600; font-size: 28px; color: #222; margin-bottom: 8px; }
.nca-widget .card-sub { font-size: 13px; font-weight: 300; color: #757575; margin-bottom: 26px; max-width: none; }

/* ---- screen 1 info boxes ---- */
.nca-widget .nca-info {
	display: flex; gap: 18px; align-items: flex-start; border-radius: 14px;
	padding: 18px 22px; margin-bottom: 14px; border: 1px solid; border-left-width: 1px;
}
.nca-widget .nca-info-ico {
	flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
}
.nca-widget .nca-info-ico svg { width: 20px; height: 20px; }
.nca-widget .nca-info-body { flex: 1; min-width: 0; }
.nca-widget .nca-info-body > strong:first-child,
.nca-widget .nca-info-h { display: block; font-size: 16px; font-weight: 600; margin-bottom: 8px; }
.nca-widget .nca-info-body p { font-size: 14px; line-height: 1.6; color: #222; margin: 0 0 10px; }
.nca-widget .nca-info-body p:last-child { margin-bottom: 0; }
.nca-widget .nca-info-body p strong { display: inline; font-size: inherit; margin: 0; color: #222; }
.nca-widget .emergency-box.nca-info { background: #fff3f2; border-color: #e24b4b; border-left: 4px solid #ba1a1a; }
.nca-widget .emergency-box.nca-info .nca-info-ico { background: #ffe0de; }
.nca-widget .emergency-box.nca-info .nca-info-ico svg { fill: #ba1a1a; }
.nca-widget .emergency-box.nca-info .nca-info-body > strong:first-child { color: #ba1a1a; }
.nca-widget .emergency-box.nca-info p { color: #222; }
.nca-widget .emergency-box.nca-info b { color: #ba1a1a; }
.nca-widget .nca-info-teal { background: #f4fdff; border-color: #d9f0f4; }
.nca-widget .nca-info-teal .nca-info-ico { background: #e1f3f5; }
.nca-widget .nca-info-teal .nca-info-ico svg { fill: var(--nca-primary); }
.nca-widget .nca-info-teal .nca-info-h { color: var(--nca-primary); }
.nca-widget .nca-info-green { background: #f1f8ec; border-color: #dcebd2; }
.nca-widget .nca-info-green .nca-info-ico { background: #dcecd1; }
.nca-widget .nca-info-green .nca-info-ico svg { fill: #2e7d32; }
.nca-widget .nca-info-green .nca-info-h { color: #2e7d32; }
.nca-widget .nca-link { color: #2e7d32; font-weight: 600; text-decoration: underline; white-space: nowrap; }
.nca-widget .nca-link svg { width: 12px; height: 12px; fill: currentColor; margin-left: 4px; vertical-align: -1px; }

.nca-widget .consent-row {
	border: 0; border-top: 1px solid #eee; border-radius: 0; background: none;
	padding: 20px 0 0; margin: 18px 0 22px; gap: 12px; align-items: center;
}
.nca-widget .consent-row:hover,
.nca-widget .consent-row.checked { background: none; border-color: #eee; }
.nca-widget .consent-box { width: 18px; height: 18px; border-radius: 5px; border: 1px solid #cfcfcf; margin-top: 0; }
.nca-widget .consent-row.checked .consent-box { background: var(--nca-primary); border-color: var(--nca-primary); }
.nca-widget .consent-text { font-size: 12.5px; font-weight: 300; color: #333; line-height: 1.6; }

/* ---- buttons (pill, chevron on forward actions) ---- */
.nca-widget .btn { border-radius: 999px; font-size: 14px; font-weight: 600; padding: 14px 30px; }
.nca-widget .btn-primary { background: var(--nca-primary); box-shadow: none; }
.nca-widget .btn-primary:hover { background: var(--nca-primary-dark); box-shadow: none; transform: none; }
.nca-widget .btn-outline { background: #fff; border: 1px solid #ececec; color: #222; }
.nca-widget .btn-outline:hover { background: #fafafa; border-color: #d8d8d8; }
.nca-widget .btn-row { border-top: 1px solid #eee; margin-top: 30px; padding-top: 24px; }
.nca-widget .btn-row.nca-row-full { border: 0; margin-top: 0; padding: 0; }
.nca-widget .btn-row.nca-row-full .btn { width: 100%; justify-content: center; padding: 18px; font-size: 15px; }
.nca-widget #startBtn::after,
.nca-widget #conditionNextBtn::after,
.nca-widget #panel1 .btn-row .btn-primary::after,
.nca-widget #qNextBtn::after,
.nca-widget #emailSubmitBtn::after,
.nca-widget .nca-skip::after {
	content: ''; width: 6px; height: 6px; margin-left: 6px; flex: none;
	border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg);
}

/* ---- screen 2: About you ---- */
.nca-widget #panel1 .section-divider { font-size: 0; margin: 26px 0; gap: 0; }
.nca-widget #panel1 .section-divider::after { display: none; }
.nca-widget #panel1 .section-divider::before { background: #eee; }
.nca-widget #panel1 .q-mnemonic { display: none; }
.nca-widget #panel1 .q-label { font-family: 'Fraunces', serif; font-weight: 600; font-size: 20px; color: #222; margin-bottom: 4px; }
.nca-widget #panel1 .q-hint {
	background: none; border: 0; padding: 0; margin: 0 0 18px; border-radius: 0;
	font-size: 12.5px; font-weight: 300; color: #757575; line-height: 1.55;
}
.nca-widget #panel1 .q-label span { color: #e5484d !important; }

/* option tiles (safety + history + sex/drive/pregnancy) */
.nca-widget #panel1 .opt-item {
	border: 1px solid #ececec; border-radius: 14px; background: #fff; box-shadow: none; transform: none;
	color: #222; transition: background .15s, border-color .15s, color .15s;
}
.nca-widget #panel1 .opt-item:hover { background: #f4fdff; border-color: var(--nca-primary-light); transform: none; box-shadow: none; }
.nca-widget #panel1 .opt-item::before { display: none !important; }
.nca-widget #panel1 .opt-main { font-size: 14px; font-weight: 400; line-height: 1.4; color: inherit; }
.nca-widget #panel1 .opt-sub { display: none; }

.nca-widget #panel1 .safety-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
.nca-widget #panel1 .history-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
.nca-widget #panel1 .safety-grid .opt-item,
.nca-widget #panel1 .history-grid .opt-item {
	flex-direction: row !important; align-items: center; min-height: 62px; padding: 12px 16px; gap: 14px;
}
.nca-widget #panel1 .safety-grid .nc-none { grid-column: 1 / -1; width: calc(50% - 6px); order: -1; min-height: 62px !important; background: #fff; }
.nca-widget #panel1 .history-grid .nc-none { grid-column: auto; width: auto; }

.nca-widget #panel1 .card-ico {
	flex: 0 0 auto; width: 40px; height: 40px; border-radius: 10px; display: flex;
	align-items: center; justify-content: center; font-size: 0; line-height: 0; transition: background .15s;
}
.nca-widget #panel1 .history-grid .card-ico { width: 32px; height: 32px; }
.nca-widget .nca-ico { width: 30px; height: 30px; object-fit: contain; display: block; }
.nca-widget .nca-hico { width: 22px; height: 22px; fill: var(--nca-primary); color: var(--nca-primary); }
.nca-widget .nca-check-ico { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; }
.nca-widget .nca-check-ico svg { width: 22px; height: 22px; fill: var(--nca-primary); }
.nca-widget .nca-check-ico.circ { background: var(--nca-primary); border-radius: 50%; }
.nca-widget .nca-check-ico.circ svg { width: 16px; height: 16px; fill: #fff; }

/* selected = teal fill, icon on a white tile */
.nca-widget #panel1 .opt-item.sel-green,
.nca-widget #panel1 .opt-item.sel-amber,
.nca-widget #panel1 .opt-item.sel-multi {
	background: var(--nca-primary) !important; border-color: var(--nca-primary) !important; color: #fff;
}
.nca-widget #panel1 .opt-item.sel-red { background: #007C91 !important; border-color: #007C91 !important; color: #fff; }
.nca-widget #panel1 .opt-item.sel-green .card-ico,
.nca-widget #panel1 .opt-item.sel-amber .card-ico,
.nca-widget #panel1 .opt-item.sel-multi .card-ico,
.nca-widget #panel1 .opt-item.sel-red .card-ico { background: #fff; }

/* sex / driving / pregnancy: plain buttons */
.nca-widget #panel1 #q-sex,
.nca-widget #panel1 #q-driving,
.nca-widget #panel1 #q-pregnancy { gap: 12px !important; }
.nca-widget #panel1 #q-sex .opt-item,
.nca-widget #panel1 #q-driving .opt-item,
.nca-widget #panel1 #q-pregnancy .opt-item { justify-content: center; text-align: center; padding: 20px 14px; }
.nca-widget #panel1 #q-sex .opt-radio,
.nca-widget #panel1 #q-driving .opt-radio,
.nca-widget #panel1 #q-pregnancy .opt-radio { display: none; }
.nca-widget #panel1 #q-sex .opt-content,
.nca-widget #panel1 #q-driving .opt-content,
.nca-widget #panel1 #q-pregnancy .opt-content { flex: 0 1 auto; }

/* age select (kept as a select so exact-age logic is untouched) */
.nca-widget #panel1 .nc-select {
	border: 1px solid #ececec; border-radius: 14px; padding: 16px 20px; font-size: 14px; font-weight: 400;
	background-color: #fff; color: #222;
}
.nca-widget #panel1 .nc-select:focus { border-color: var(--nca-primary); box-shadow: 0 0 0 3px rgba(0,124,145,.12); }

/* medications */
.nca-widget .med-search-wrap { display: flex; flex-direction: column; border: 0; background: none; overflow: visible; box-shadow: none; }
.nca-widget .med-search-wrap:focus-within { border: 0; box-shadow: none; }
.nca-widget .med-search-input-row {
	order: 1; border: 1px solid #ececec; border-radius: 999px; background: #fff; padding: 6px 18px 6px 22px; min-height: 48px;
}
.nca-widget .med-search-input-row:focus-within { border-color: var(--nca-primary); box-shadow: 0 0 0 3px rgba(0,124,145,.12); }
.nca-widget .med-search-input { font-size: 13px; }
.nca-widget .med-search-icon { order: 3; margin: 0 0 0 10px; display: flex; }
.nca-widget .med-search-icon svg { width: 17px; height: 17px; fill: #222; }
.nca-widget .med-count-badge { order: 2; }
.nca-widget .med-dropdown { order: 2; border: 1px solid #ececec; border-radius: 14px; margin-top: 8px; background: #fff; }
.nca-widget .med-tags-area { order: 3; padding: 14px 0 0; }
.nca-widget .med-tags-area:empty { padding: 0; }
.nca-widget .med-tag {
	background: #fff; border: 1px solid var(--nca-primary); color: var(--nca-primary);
	border-radius: 999px; padding: 6px 14px; font-size: 12px; font-weight: 500;
}
.nca-widget .med-none-btn { border: 0; margin: 10px 0 0; padding: 8px 2px; font-size: 12.5px; font-weight: 300; }

/* ---- screen 3: conditions ---- */
.nca-widget .condition-grid { gap: 14px; }
.nca-widget .cond-card {
	display: grid; grid-template-columns: 44px 1fr; column-gap: 18px; row-gap: 3px; align-items: center;
	border: 1px solid #ececec; border-radius: 14px; padding: 18px 20px; background: #fff;
	box-shadow: none; transform: none;
}
.nca-widget .cond-card:hover { border-color: var(--nca-primary); box-shadow: none; transform: none; background: #f4fdff; }
.nca-widget .cond-icon { grid-row: 1 / 4; grid-column: 1; margin: 0; display: flex; align-items: center; justify-content: center; font-size: 0; }
.nca-widget .cond-icon .nca-ico { width: 40px; height: 40px; }
.nca-widget .cond-name { grid-column: 2; font-family: 'Fraunces', serif; font-weight: 600; font-size: 20px; line-height: 1.2; margin: 0; color: #222; }
.nca-widget .cond-nice { grid-column: 2; font-size: 11.5px; font-weight: 300; color: #757575; }
.nca-widget .cond-tag {
	grid-column: 2; justify-self: start; margin-top: 6px; border-radius: 6px; padding: 4px 10px;
	font-size: 11.5px; font-weight: 500; background: #e1f3f5; color: var(--nca-primary); border: 0;
}
.nca-widget .cond-tag.emerg { background: #fde3e1; color: #ba1a1a; }
.nca-widget .cond-tag.no-green { background: #fff1c9; color: #9a6a00; border: 0; }
.nca-widget .cond-card.selected { background: var(--nca-primary); border-color: var(--nca-primary); box-shadow: none; }
.nca-widget .cond-card.selected .cond-icon { background: #fff; border-radius: 12px; padding: 4px; width: 48px; height: 48px; }
.nca-widget .cond-card.selected .cond-icon .nca-ico { width: 34px; height: 34px; }
.nca-widget .cond-card.selected .cond-name,
.nca-widget .cond-card.selected .cond-nice { color: #fff; }

/* ---- screen 4: one question at a time ---- */
.nca-widget #assessmentCard .card-hero {
	background: none; color: #222; padding: 0; margin: 0 0 22px; border-radius: 0; overflow: visible;
}
.nca-widget #assessmentCard .card-hero::before { display: none; }
.nca-widget #assessmentCard .card-hero-eyebrow {
	font-size: 0; text-transform: none; letter-spacing: 0; margin: 0 0 6px; line-height: 1;
}
.nca-widget #assessmentCard .card-hero-eyebrow::before {
	content: 'Step 4 - Assessment'; display: block; font-family: 'Fraunces', serif; font-weight: 600; font-size: 18px; line-height: 1.3;
	background: var(--nca-brand-gradient); -webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: transparent; width: fit-content;
}
.nca-widget #assessmentCard .card-hero-title { font-family: 'Fraunces', serif; font-weight: 600; font-size: 28px; color: #222; margin: 0 0 16px; }
.nca-widget #assessmentCard .qwiz-bar { height: 8px; background: #ececec; border-radius: 99px; margin: 0; }
.nca-widget #assessmentCard .qwiz-bar-fill { background: var(--nca-primary); }
.nca-widget #assessmentCard .q-block { border: 1px solid #ececec; border-radius: 16px; padding: 22px 24px; margin: 0; }
.nca-widget #assessmentCard .q-label { font-size: 16px; font-weight: 400; color: #222; margin-bottom: 14px; }
.nca-widget #assessmentCard .q-hint { background: none; border: 0; padding: 0; font-size: 12.5px; font-weight: 300; color: #757575; }
.nca-widget #assessmentCard .options-list { gap: 4px; }
.nca-widget #assessmentCard .opt-item,
.nca-widget #assessmentCard .opt-item:hover,
.nca-widget #assessmentCard .opt-item.opt-selected {
	border: 0 !important; background: none !important; padding: 10px 4px; border-radius: 10px; align-items: center; transform: none;
}
.nca-widget #assessmentCard .opt-item:hover { background: #f4fdff !important; }
.nca-widget #assessmentCard .opt-item::before { display: none !important; }
.nca-widget #assessmentCard .opt-radio { width: 22px; height: 22px; border: 1.5px solid #bdbdbd; margin-top: 0; }
.nca-widget #assessmentCard .opt-radio::after { display: none; }
.nca-widget #assessmentCard .opt-item.opt-selected .opt-radio {
	border: 2px solid var(--nca-primary) !important; background: var(--nca-primary) !important; box-shadow: inset 0 0 0 3.5px #fff;
}
.nca-widget #assessmentCard .opt-main { font-size: 14.5px; font-weight: 400; }
.nca-widget #assessmentCard .opt-check { border-radius: 6px; }

/* ---- email pop-up (panel 4) ---- */
.nca-widget #panel4 { animation: none; }
.nca-widget .nca-pop-overlay {
	position: fixed; inset: 0; z-index: 100000; background: rgba(20,22,22,.55);
	display: flex; align-items: flex-start; justify-content: center; padding: 24px 16px; overflow-y: auto;
	animation: nca-fade .25s ease;
}
@keyframes nca-fade { from { opacity: 0; } to { opacity: 1; } }
.nca-widget .nca-pop { width: 100%; max-width: 480px; margin: auto; padding: 36px 32px 30px !important; border-radius: 28px; position: relative; box-shadow: 0 24px 64px rgba(0,0,0,.22); }
.nca-widget .nca-pop-x {
	position: absolute; top: 18px; right: 18px; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #ececec;
	background: #fff; color: #222; font-size: 18px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.nca-widget .nca-pop .email-panel-inner { max-width: none; }
.nca-widget .email-panel-icon {
	width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; background: #e1f3f5;
	display: flex; align-items: center; justify-content: center; font-size: 0;
}
.nca-widget .email-panel-icon svg { width: 28px; height: 28px; fill: var(--nca-primary); }
.nca-widget .email-panel-title { font-family: 'Fraunces', serif; font-weight: 600; font-size: 25px; line-height: 1.25; color: #222; margin: 0 0 12px; }
.nca-widget .email-panel-sub { font-size: 13.5px; font-weight: 300; color: #757575; line-height: 1.6; margin: 0 0 22px; }
.nca-widget .what-included { background: #f4fdff; border: 1px solid #d9f0f4; border-radius: 14px; padding: 18px 22px; margin: 0 0 20px; max-width: none; }
.nca-widget .what-included h4 { color: var(--nca-primary); font-size: 14px; font-weight: 600; margin: 0 0 12px; }
.nca-widget .what-feature { font-size: 13px; font-weight: 400; color: #222; margin-bottom: 9px; }
.nca-widget .what-feature:last-child { margin-bottom: 0; }
.nca-widget .what-feature::before { color: var(--nca-primary); }
.nca-widget .nca-field-label { display: block; text-align: left; font-size: 12.5px; color: #222; margin: 0 0 8px; }
.nca-widget .email-input-row { max-width: none; margin: 0 0 12px; gap: 10px; }
.nca-widget .email-input { border: 1px solid #ececec; border-radius: 999px; padding: 13px 20px; font-size: 13.5px; background: #fff; }
.nca-widget #emailSubmitBtn { white-space: nowrap; padding: 13px 24px; }
.nca-widget .email-privacy { font-size: 11.5px; color: #757575; font-weight: 300; margin-bottom: 18px; }
.nca-widget .email-privacy svg { width: 11px; height: 11px; fill: #757575; }
.nca-widget .email-divider { max-width: none; margin: 0 0 18px; font-size: 12px; font-weight: 400; color: #444; text-transform: uppercase; }
.nca-widget .nca-skip { margin: 0 auto; display: flex; padding: 13px 30px; background: #fff; border: 1px solid #ececec; color: #222; }

/* ---- emergency pop-up ---- */
.nca-widget .modal-overlay { background: rgba(20,22,22,.55); backdrop-filter: none; }
.nca-widget .modal-card {
	max-width: 650px; border-radius: 28px; border-top: 6px solid #ba1a1a; position: relative; overflow-y: auto;
}
.nca-widget .nca-modal-x {
	position: absolute; top: 24px; right: 26px; width: 32px; height: 32px; border-radius: 50%; border: 1px solid #ececec;
	background: #fff; color: #222; font-size: 20px; line-height: 1; cursor: pointer; z-index: 2; display: flex; align-items: center; justify-content: center;
}
.nca-widget .modal-header {
	background: none; padding: 28px 70px 8px 28px; display: grid; grid-template-columns: 50px 1fr; column-gap: 16px; align-items: center;
}
.nca-widget .modal-header::before { display: none; }
.nca-widget .modal-header-eyebrow { display: none; }
.nca-widget .modal-header-icon {
	grid-row: 1 / 3; width: 50px; height: 50px; border-radius: 50%; background: #fde3e1; margin: 0; animation: none;
	display: flex; align-items: center; justify-content: center; font-size: 0; line-height: 0;
}
.nca-widget .modal-header-icon::before { content: '!'; font: 700 24px/1 'Poppins', sans-serif; color: #ba1a1a; }
.nca-widget .modal-header-title { font-family: 'Fraunces', serif; font-weight: 600; font-size: 24px; line-height: 1.2; color: #ba1a1a; margin: 0 0 4px; }
.nca-widget .modal-header-sub { font-size: 15px; font-weight: 500; color: #222; line-height: 1.4; }
.nca-widget .modal-body { display: flex; flex-direction: column; padding: 14px 28px 28px; }
.nca-widget .modal-concern { order: 1; background: none; border: 0; padding: 0; margin: 0 0 22px; }
.nca-widget .modal-concern-label { text-transform: none; letter-spacing: 0; font-size: 18px; font-weight: 600; color: #222; margin: 14px 0 8px; }
.nca-widget .modal-concern p, .nca-widget #modalConcern { font-size: 16px; line-height: 1.6; color: #222; margin: 0; }
.nca-widget .modal-steps-title { order: 2; font-size: 18px; font-weight: 600; margin: 0 0 10px; }
.nca-widget .modal-steps-title::after { display: none; }
.nca-widget #modalSteps { order: 3; margin-bottom: 18px; }
.nca-widget .modal-step { align-items: flex-start; gap: 10px; margin-bottom: 8px; }
.nca-widget .modal-step:last-child { margin-bottom: 0; }
.nca-widget .modal-step-num { width: 5px; height: 5px; min-width: 5px; background: #ba1a1a; font-size: 0; margin-top: 11px; }
.nca-widget .modal-step-text { font-size: 16px; line-height: 1.5; padding-top: 0; color: #222; }
.nca-widget .modal-step-text strong { color: #ba1a1a; font-weight: 600; }
.nca-widget .modal-continue-warning {
	order: 4; background: #fafafa; border: 0; border-left: 3px solid #ba1a1a; border-radius: 4px 10px 10px 4px;
	padding: 14px 18px; margin: 0 0 22px; font-size: 14px; line-height: 1.5; color: #222;
}
.nca-widget .modal-cta-primary {
	order: 5; background: #ba1a1a; border-radius: 999px; padding: 18px; font-size: 16px; font-weight: 500; margin: 0 0 12px; box-shadow: none;
}
.nca-widget .modal-cta-primary:hover { background: #a01515; box-shadow: none; transform: none; }
.nca-widget .modal-cta-primary::before {
	content: ''; width: 18px; height: 18px; background: currentColor; flex: none;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.400 11.400 0 0 0 3.600.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.500a1 1 0 0 1 1 1c0 1.250.2 2.450.57 3.570a1 1 0 0 1-.25 1l-2.200 2.230Z'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.400 11.400 0 0 0 3.600.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.500a1 1 0 0 1 1 1c0 1.250.2 2.450.57 3.570a1 1 0 0 1-.25 1l-2.200 2.230Z'/></svg>") center / contain no-repeat;
}
.nca-widget .modal-cta-secondary { order: 6; border: 1px solid #ececec; border-radius: 999px; padding: 17px; font-size: 16px; font-weight: 600; color: #222; background: #fff; }
.nca-widget .modal-cta-secondary:hover { background: #fafafa; border-color: #d8d8d8; color: #222; }

/* ---- responsive ---- */
@media (max-width: 760px) {
	.nca-widget .nca-intro-title { font-size: 34px; }
	.nca-widget #panel1 .history-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.nca-widget .card { padding: 26px 18px; border-radius: 22px; }
	.nca-widget .nca-eyebrow span { font-size: 21px; }
	.nca-widget .nca-eyebrow::before, .nca-widget .nca-eyebrow::after { width: 40px; }
	.nca-widget .nca-intro-title { font-size: 28px; }
	.nca-widget .nca-info { gap: 12px; padding: 16px; }
	.nca-widget #panel1 .safety-grid { grid-template-columns: 1fr; }
	.nca-widget #panel1 .safety-grid .nc-none { width: 100%; }
	.nca-widget #panel1 #q-sex, .nca-widget #panel1 #q-driving, .nca-widget #panel1 #q-pregnancy { flex-wrap: wrap; }
	.nca-widget .condition-grid { grid-template-columns: 1fr; }
	.nca-widget .nca-pop { padding: 30px 20px 24px !important; }
	.nca-widget .nca-pop .email-input-row { flex-direction: column; }
	.nca-widget #emailSubmitBtn { width: 100%; justify-content: center; }
	.nca-widget .modal-header { padding: 24px 56px 6px 18px; grid-template-columns: 42px 1fr; column-gap: 12px; }
	.nca-widget .modal-header-icon { width: 42px; height: 42px; }
	.nca-widget .modal-header-title { font-size: 20px; }
	.nca-widget .modal-body { padding: 12px 18px 22px; }
	.nca-widget .nca-modal-x { top: 18px; right: 16px; }
}

/* v2 fixes */
.nca-widget .email-input { flex: 1 1 0; min-width: 0; width: 100%; }
.nca-widget #emailSubmitBtn { flex: 0 0 auto; }
.nca-widget .cond-card.selected .cond-tag { background: #fff; color: #007C91;}


/* ═══════════════════════════════════════════════════════════════════
   DESIGN V3 — pop-up scroll lock. (The 1.0.14 results-chooser styles are not
   used here: this plugin has its own redesigned results choice screen.)
   Presentation only; appended after earlier rules.
═══════════════════════════════════════════════════════════════════ */

/* email pop-up open: stop the page behind it scrolling */
html:has(.nca-widget #panel4.active) { overflow: hidden; }



/* Email pop-up always sits over the question screen it was opened from. */
.nca-widget:has(#panel4.active) #panel3 { display: block; animation: none; }

/* Icon sizing for the bundled PNG icons (64px source, drawn with built-in padding). */
.nca-widget .cond-card { grid-template-columns: 52px 1fr; column-gap: 16px; }
.nca-widget .cond-icon .nca-ico { width: 52px; height: 52px; }
.nca-widget .cond-card.selected .cond-icon { width: 56px; height: 56px; padding: 2px; }
.nca-widget .cond-card.selected .cond-icon .nca-ico { width: 50px; height: 50px; }
.nca-widget #panel1 .card-ico { width: 46px; height: 46px; }
.nca-widget .nca-ico { width: 44px; height: 44px; }
.nca-widget #panel1 .history-grid .card-ico { width: 32px; height: 32px; }


/* ═══ v1.0.14 ═══ */

/* health-background icons: SVGs carry their own white rounded tile */
.nca-widget .nca-hico-img { display: block; width: 44px; height: 44px; }
.nca-widget #panel1 .history-grid .card-ico { width: 44px; height: 44px; background: none !important; border-radius: 0; }
.nca-widget #panel1 .history-grid .opt-item { min-height: 66px; }

/* question screens: no divider line above the Go back / Next row */
.nca-widget #assessmentCard .btn-row { border-top-width: 0; }

/* step 2 inline validation messages */
.nca-widget .nca-field-error {
	display: flex; align-items: flex-start; gap: 8px; margin: 0 0 14px;
	font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 500; line-height: 1.45; color: var(--nca-red);
}
.nca-widget .nca-field-error[hidden] { display: none; }
.nca-widget .nca-field-error svg { flex: none; width: 16px; height: 16px; margin-top: 1px; fill: var(--nca-red); }
.nca-widget .q-block.has-error .nc-select { border-color: var(--nca-red); box-shadow: 0 0 0 3px rgba(186, 26, 26, 0.1); }

/* privacy link */
.nca-widget a.nca-link { cursor: pointer; }
.nca-widget a.nca-link:hover { color: #1f5e23; }