/* SOMIRA U-100 VISUALIZER v1.0. All rules are component-scoped under .somira-dose-guide. */

.somira-dose-guide {
	--sdv-blue: #3B7FB2;
	--sdv-deep: #2F5FA5;
	--sdv-ink: #16345A;
	--sdv-muted: #566677;
	--sdv-line: #D9E4EF;
	--sdv-soft: #EDF4FB;
	color: var(--sdv-ink);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	text-align: left;
	container-type: inline-size;
	overflow-wrap: break-word;
}
.somira-dose-guide *,
.somira-dose-guide *::before,
.somira-dose-guide *::after {
	box-sizing: border-box;
}
.somira-dose-guide :where(h2, h3, p, fieldset, legend, figure, figcaption, dl, dt, dd) {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: inherit;
}
.somira-dose-guide [hidden] { display: none !important; }

.somira-dose-guide .sdv-eyebrow {
	font-size: 11px;
	letter-spacing: .15em;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--sdv-deep);
}
.somira-dose-guide h2 {
	font-size: clamp(28px, 3.5vw, 39px);
	line-height: 1.14;
	letter-spacing: -.035em;
	font-weight: 600;
	color: var(--sdv-blue);
	margin: 9px 0 12px;
	text-transform: none;
}
.somira-dose-guide .sdv-intro {
	color: var(--sdv-muted);
	max-width: 760px;
	margin-bottom: 16px;
	font-size: 16px;
}
.somira-dose-guide .sdv-review {
	font-size: 12px;
	display: inline-block;
	border: 1px solid var(--sdv-line);
	background: #F5F8FC;
	border-radius: 8px;
	padding: 7px 11px;
	margin-bottom: 23px;
	color: var(--sdv-muted);
}

.somira-dose-guide .sdv-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	border: 1px solid var(--sdv-line);
	border-radius: 22px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 12px 32px rgba(47, 95, 165, .045);
}
.somira-dose-guide .sdv-fields {
	padding: 28px;
	min-width: 0;
}
.somira-dose-guide .sdv-field {
	display: block;
	margin: 0 0 19px;
	min-width: 0;
}
.somira-dose-guide .sdv-label {
	display: block;
	font-weight: 650;
	font-size: 14px;
	margin-bottom: 7px;
	color: var(--sdv-ink);
}
.somira-dose-guide .sdv-helper {
	display: block;
	font-size: 12px;
	line-height: 1.6;
	color: var(--sdv-muted);
	margin-top: 7px;
}

.somira-dose-guide input[type=text],
.somira-dose-guide select {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: auto;
	min-height: 48px;
	padding: 11px 12px;
	background: #fff;
	color: var(--sdv-ink);
	border: 1px solid #ABBED1;
	border-radius: 9px;
	font: 400 16px/1.4 Arial, Helvetica, sans-serif;
	box-shadow: none;
	outline-offset: 3px;
	text-transform: none;
}
.somira-dose-guide select { padding-right: 26px; white-space: normal; }
.somira-dose-guide input:focus-visible,
.somira-dose-guide select:focus-visible,
.somira-dose-guide button:focus-visible,
.somira-dose-guide a:focus-visible,
.somira-dose-guide summary:focus-visible {
	outline: 3px solid var(--sdv-deep);
	outline-offset: 3px;
}
.somira-dose-guide [aria-invalid=true] { border-color: #8B4439 !important; }

.somira-dose-guide .sdv-confirm {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	line-height: 1.6;
	cursor: pointer;
	margin: 7px 0 17px;
	color: var(--sdv-muted);
}
.somira-dose-guide input[type=checkbox] {
	position: static !important;
	appearance: auto !important;
	opacity: 1 !important;
	width: 19px;
	height: 19px;
	flex: 0 0 19px;
	margin: 3px 0 0;
	padding: 0;
	clip: auto;
	clip-path: none;
	accent-color: var(--sdv-deep);
}

.somira-dose-guide .sdv-actions { display: flex; gap: 10px; align-items: center; }
.somira-dose-guide button {
	font: 600 15px/1.4 Arial, Helvetica, sans-serif;
	min-height: 48px;
	cursor: pointer;
	border: 1px solid var(--sdv-deep);
	border-radius: 10px;
	padding: 12px 17px;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
}
.somira-dose-guide .sdv-calculate { flex: 1; background: var(--sdv-deep); color: #fff; }
.somira-dose-guide .sdv-calculate:hover { background: #254F8C; }
.somira-dose-guide .sdv-reset { background: #fff; color: var(--sdv-deep); }
.somira-dose-guide button:disabled { opacity: .55; cursor: not-allowed; }

.somira-dose-guide .sdv-alert {
	font-size: 13px;
	line-height: 1.6;
	border: 1px solid #DAC8B2;
	background: #FBF8F3;
	border-radius: 9px;
	padding: 13px 14px;
	margin-top: 16px;
	color: #664F32;
}
.somira-dose-guide .sdv-alert[data-state="success"] {
	background: #EDF4FB;
	border-color: #CADAEA;
	color: #2F5FA5;
}

.somira-dose-guide .sdv-result-side {
	min-width: 0;
	background: linear-gradient(145deg, #F7F9FC, #EDF4FB);
	border-left: 1px solid var(--sdv-line);
	padding: 27px;
}
.somira-dose-guide .sdv-empty {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 380px;
	text-align: center;
	align-items: center;
	color: var(--sdv-muted);
}
.somira-dose-guide .sdv-empty h3 {
	font-size: 23px;
	line-height: 1.3;
	color: var(--sdv-deep);
	margin: 18px 0 10px;
	font-weight: 600;
	letter-spacing: -.025em;
}
.somira-dose-guide .sdv-empty p { font-size: 14px; max-width: 290px; }
.somira-dose-guide .sdv-placeholder {
	border: 1px solid #BFCFE0;
	background: #fff;
	border-radius: 18px;
	padding: 19px 25px;
	font-size: 24px;
	color: var(--sdv-deep);
	font-weight: 650;
	letter-spacing: -.02em;
}
.somira-dose-guide .sdv-placeholder small {
	display: block;
	font-size: 10px;
	letter-spacing: .14em;
	font-weight: 650;
	margin-top: 3px;
}

.somira-dose-guide .sdv-result h3 { font-size: 14px; font-weight: 650; color: var(--sdv-deep); margin: 0 0 3px; }
.somira-dose-guide .sdv-units {
	font-size: 46px;
	line-height: 1.1;
	letter-spacing: -.04em;
	color: var(--sdv-deep);
	font-weight: 650;
	margin: 3px 0 8px;
}
.somira-dose-guide .sdv-units small { font-size: 17px; font-weight: 500; letter-spacing: 0; }
.somira-dose-guide .sdv-volume { font-size: 16px; color: var(--sdv-ink); }
.somira-dose-guide .sdv-entered {
	font-size: 12px;
	line-height: 1.6;
	color: var(--sdv-muted);
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #CADAEA;
}
.somira-dose-guide .sdv-diagram { display: block; width: 100%; max-width: 335px; height: auto; margin: 2px auto 0; }
.somira-dose-guide .sdv-close-title { font-size: 12px; font-weight: 650; color: var(--sdv-deep); margin-top: 8px; }
.somira-dose-guide .sdv-close { display: block; width: 100%; max-width: 380px; height: auto; margin: 0 auto; }
.somira-dose-guide figcaption { font-size: 12px; color: var(--sdv-muted); line-height: 1.6; margin-top: 7px; }
.somira-dose-guide .sdv-result-note {
	font-size: 12px;
	line-height: 1.6;
	margin-top: 13px;
	padding: 11px 12px;
	border-radius: 9px;
	background: #fff;
	border: 1px solid var(--sdv-line);
}

.somira-dose-guide .sdv-help {
	margin-top: 17px;
	padding: 16px 20px;
	border: 1px solid var(--sdv-line);
	border-radius: 13px;
	background: #F8FAFC;
	font-size: 13px;
	color: var(--sdv-muted);
}
.somira-dose-guide .sdv-help strong { color: var(--sdv-ink); }
.somira-dose-guide a,
.somira-dose-guide a:visited {
	color: var(--sdv-deep);
	text-decoration: underline;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}
.somira-dose-guide details { border-bottom: 1px solid var(--sdv-line); margin-top: 9px; }
.somira-dose-guide summary { font-size: 13px; font-weight: 650; min-height: 44px; padding: 12px 0; cursor: pointer; color: var(--sdv-ink); }
.somira-dose-guide .sdv-details-body { font-size: 13px; color: var(--sdv-muted); padding: 0 0 16px; line-height: 1.7; }
.somira-dose-guide .sdv-details-body p + p { margin-top: 10px; }
.somira-dose-guide .sdv-footnote { font-size: 12px; line-height: 1.6; color: var(--sdv-muted); margin-top: 14px; }

/* Container query drives layout by the widget's own width (useful if it's ever
   embedded somewhere narrower than the viewport, e.g. a sidebar); the media
   query is the fallback for browsers without container-query support. Both
   breakpoints are kept at the same 760px so they can never disagree. */
@media (max-width: 760px) {
	.somira-dose-guide .sdv-card { grid-template-columns: 1fr; }
	.somira-dose-guide .sdv-result-side { border-left: 0; border-top: 1px solid var(--sdv-line); }
	.somira-dose-guide .sdv-empty { min-height: 220px; }
}
@container (max-width: 760px) {
	.somira-dose-guide .sdv-card { grid-template-columns: 1fr; }
	.somira-dose-guide .sdv-result-side { border-left: 0; border-top: 1px solid var(--sdv-line); }
	.somira-dose-guide .sdv-empty { min-height: 220px; }
}
@media (max-width: 380px) {
	.somira-dose-guide .sdv-fields,
	.somira-dose-guide .sdv-result-side { padding: 18px; }
	.somira-dose-guide h2 { font-size: 29px; }
	.somira-dose-guide button { padding: 11px 12px; }
	.somira-dose-guide .sdv-units { font-size: 40px; }
}
@media (forced-colors: active) {
	.somira-dose-guide .sdv-calculate { border: 2px solid ButtonText; }
	.somira-dose-guide .sdv-result-note { border: 1px solid CanvasText; }
}
@media print {
	.somira-dose-guide .sdv-actions { display: none; }
	.somira-dose-guide .sdv-card { display: block; }
	.somira-dose-guide .sdv-result-side { border: 0; break-inside: avoid; }
	.somira-dose-guide .sdv-review { display: block; }
}
