.snmd-quiz-container {
	max-width: 620px;
	margin: 0 auto;
	font-family: var(--snmd-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
	color: var(--snmd-headline-color, #111827);
}
.snmd-progress {
	height: 6px;
	background: #e5e7eb;
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 28px;
}
.snmd-progress-bar {
	height: 100%;
	background: var(--snmd-progress-color, #0f2a35);
	transition: width .3s ease;
}
.snmd-step-inner { text-align: center; }
.snmd-headline, .snmd-subheadline {
	font-size: 20px;
	line-height: 1.4;
	margin: 0 0 6px;
	color: var(--snmd-headline-color, #111827);
}
.snmd-em { font-style: italic; color: var(--snmd-accent-color, #6b8fa3); font-family: Georgia, serif; }
.snmd-text-success { color: var(--snmd-success-color, #16a34a); font-weight: 700; }
.snmd-text-highlight { color: var(--snmd-highlight-color, #c9962b); font-weight: 700; }
.snmd-question { font-size: 26px; font-weight: 700; margin: 18px 0 6px; color: var(--snmd-question-color, #111827); }
.snmd-description { color: var(--snmd-description-color, #4b5563); font-size: 14px; margin-bottom: 20px; }
.snmd-graphic { margin-bottom: 16px; }
.snmd-graphic img { max-width: 100%; border-radius: 14px; }

.snmd-type-content { margin: 22px 0; text-align: left; }

/* Number / date fields */
.snmd-number-fields, .snmd-date-fields, .snmd-name-fields {
	display: flex; flex-wrap: wrap; gap: 16px;
}
.snmd-field-group { flex: 1 1 45%; text-align: left; margin-bottom: 10px; }
.snmd-field-group.snmd-field-full { flex: 1 1 100%; }
.snmd-field-group label { display: block; font-size: 14px; margin-bottom: 6px; color: #111827; }
.snmd-input {
	width: 100%; padding: 14px 16px; border: 1px solid #e5e7eb; border-radius: 12px;
	background: #fff; font-size: 15px; box-sizing: border-box;
}
.snmd-input:focus { outline: none; border-color: var(--snmd-option-active-color, #0f2a35); }

/* Card select */
.snmd-card-grid { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.snmd-card {
	position: relative; flex: 1 1 140px; max-width: 200px; border: 1.5px solid var(--snmd-option-border-color, #e5e7eb);
	border-radius: 14px; padding: 18px 12px; text-align: center; cursor: pointer; background: #fff;
	transition: border-color .15s ease;
}
.snmd-card:hover { border-color: #94a3b8; }
.snmd-card.is-active { border-color: var(--snmd-option-active-color, #0f2a35); }
.snmd-card img { max-width: 56px; margin-bottom: 10px; }
.snmd-card-label { font-weight: 600; font-size: 15px; color: var(--snmd-option-text-color, #111827); }
.snmd-card-desc { font-size: 12px; color: #6b7280; margin-top: 2px; }
.snmd-radio-dot {
	position: absolute; top: 10px; right: 10px; width: 20px; height: 20px;
	border-radius: 50%; border: 1.5px solid #cbd5e1; background: #fff;
}
.snmd-card.is-active .snmd-radio-dot { border-color: var(--snmd-option-active-color, #0f2a35); background: radial-gradient(circle, var(--snmd-option-active-color, #0f2a35) 40%, #fff 42%); }

/* List / radio */
.snmd-list, .snmd-checklist { display: flex; flex-direction: column; gap: 10px; }
.snmd-list-row, .snmd-check-row {
	display: flex; align-items: center; gap: 12px; border: 1.5px solid var(--snmd-option-border-color, #e5e7eb); border-radius: 12px;
	padding: 16px 18px; cursor: pointer; background: #fff; font-size: 15px; color: var(--snmd-option-text-color, #111827);
}
.snmd-list-row:hover, .snmd-check-row:hover { border-color: #94a3b8; }
.snmd-list-row.is-active, .snmd-check-row.is-active { border-color: var(--snmd-option-active-color, #0f2a35); }
.snmd-list-row .snmd-radio-dot, .snmd-check-row input[type="checkbox"] { position: static; margin: 0; flex-shrink: 0; }
.snmd-list-row.is-active .snmd-radio-dot { border-color: var(--snmd-option-active-color, #0f2a35); background: radial-gradient(circle, var(--snmd-option-active-color, #0f2a35) 40%, #fff 42%); }
.snmd-check-row input[type="checkbox"] { accent-color: var(--snmd-option-active-color, #0f2a35); }
.snmd-check-row input[type="checkbox"] { width: 18px; height: 18px; }

/* Testimonial */
.snmd-testimonial-images { display: flex; gap: 10px; justify-content: center; margin-bottom: 12px; }
.snmd-testimonial-images img { max-width: 45%; border-radius: 10px; }
.snmd-testimonial-caption { font-size: 14px; color: var(--snmd-description-color, #4b5563); }

/* Medical review box (Name & State step) */
.snmd-medical-review {
	border: 1px solid #e5e7eb; border-radius: 12px; padding: 16px 18px; text-align: left;
	background: #fff; margin-bottom: 16px;
}
.snmd-medical-review p { margin: 0 0 6px; font-size: 15px; }
.snmd-medical-review p:last-child { margin-bottom: 0; }
.snmd-review-confidence { text-align: left; font-size: 15px; color: #111827; margin-bottom: 18px; }

/* Shipping address two-column layout — intentionally breaks out of the quiz's normal
   620px column width since this step needs to show a wider two-column layout. */
.snmd-shipping-grid {
	display: grid; grid-template-columns: 1fr 1fr; gap: 40px; text-align: left;
	width: 1100px; max-width: 90vw; margin-left: calc(50% - 550px);
}
@media (max-width: 1200px) {
	.snmd-shipping-grid { width: 100%; max-width: 100%; margin-left: 0; }
}
.snmd-shipping-form { display: flex; flex-direction: column; }
.snmd-address-links { font-size: 13px; margin: -6px 0 10px; }
.snmd-address-links a { color: var(--snmd-button-bg, #0f2a35); text-decoration: underline; cursor: pointer; }
.snmd-shipping-right { background: #fafafa; border-radius: 14px; padding: 20px; }
.snmd-right-heading { font-size: 19px; margin: 0 0 14px; }
.snmd-right-checklist { list-style: none; padding: 0; margin: 0 0 18px; }
.snmd-right-checklist li { color: #16a34a; font-size: 14px; margin-bottom: 8px; }

@media (max-width: 780px) {
	.snmd-shipping-grid { grid-template-columns: 1fr; }
}

/* Consent */
.snmd-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: #4b5563; margin-top: 14px; text-align: left; }
.snmd-consent input { margin-top: 3px; }

/* Results stat cards */
.snmd-results-stats { display: flex; gap: 16px; margin: 10px 0 20px; }
.snmd-results-col {
	flex: 1; border-radius: 16px; padding: 18px;
	background: linear-gradient(160deg,#f7c98f,#fbe6c8);
}
.snmd-results-today { background: linear-gradient(160deg,#f4b96b,#fde3bd); }
.snmd-results-goal { background: linear-gradient(160deg,#fde3bd,#fff8ec); }
.snmd-results-label { font-size: 13px; font-weight: 600; color: #7c4a12; margin-bottom: 12px; text-align: left; }
.snmd-results-body-row { display: flex; align-items: center; gap: 10px; }
.snmd-body-icon { width: 34px; height: 90px; color: rgba(124,74,18,.35); flex-shrink: 0; }
.snmd-results-facts { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.snmd-results-stat {
	background: rgba(255,255,255,.55); border-radius: 10px; padding: 8px 12px;
	display: flex; flex-direction: column; text-align: left; font-size: 11px; color: #6b4a26;
}
.snmd-results-stat strong { font-size: 15px; color: #1f2937; margin-top: 2px; }
.snmd-results-stat strong em { font-style: normal; font-size: 11px; color: #6b7280; }
.snmd-stat-bad { color: #b45309 !important; }
.snmd-stat-good { color: #16a34a !important; }

/* Treatment / plan cards */
.snmd-treatment-grid { display: flex; gap: 20px; flex-wrap: wrap; justify-content: center; text-align: left; }
.snmd-treatment-card { flex: 1 1 280px; max-width: 340px; border: 1px solid #e5e7eb; border-radius: 16px; padding: 18px; background: #fff; }
.snmd-treatment-image img { width: 100%; border-radius: 10px; }
.snmd-treatment-title { font-size: 17px; margin: 10px 0 6px; }
.snmd-treatment-tagline { background: #ecfdf5; color: #047857; font-size: 13px; padding: 8px 10px; border-radius: 8px; margin-bottom: 8px; }
.snmd-treatment-badge { display: inline-block; border: 1px solid #16a34a; color: #16a34a; font-size: 12px; padding: 4px 8px; border-radius: 8px; margin-bottom: 8px; }
.snmd-treatment-bullets { margin: 0 0 12px; padding-left: 18px; font-size: 13px; color: #374151; }
.snmd-plan-row { border: 1.5px solid #e5e7eb; border-radius: 12px; padding: 14px; margin-bottom: 10px; }
.snmd-plan-row.snmd-plan-highlight { border-color: #16a34a; }
.snmd-plan-head { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 6px; }
.snmd-plan-save { color: #16a34a; font-weight: 600; }
.snmd-plan-price { font-size: 22px; font-weight: 700; color: #b45309; margin-bottom: 4px; }
.snmd-plan-price span:last-child { font-size: 13px; font-weight: 400; color: #6b7280; }
.snmd-plan-billed { font-size: 12px; color: #4b5563; margin-bottom: 10px; }
.snmd-plan-select-btn {
	width: 100%; background: #64748b; color: #fff; border: none; border-radius: 999px;
	padding: 12px; font-weight: 600; cursor: pointer;
}

/* Buttons */
.snmd-next-btn, .snmd-back-btn {
	display: block; width: 100%; padding: 16px; border-radius: var(--snmd-button-radius, 999px); border: none;
	font-size: 16px; font-weight: 600; cursor: pointer; margin-top: 10px;
}
.snmd-next-btn { background: var(--snmd-button-bg, #0f2a35); color: var(--snmd-button-text, #fff); }
.snmd-next-btn:disabled { opacity: .5; cursor: not-allowed; }
.snmd-back-btn { background: transparent; color: #6b7280; }
.snmd-error { color: #dc2626; font-size: 13px; margin: 10px 0; text-align: left; }

@media (max-width: 480px) {
	.snmd-question { font-size: 21px; }
	.snmd-card { flex: 1 1 100%; max-width: 100%; }
}
