/*!
 * LoseSize Tools — shared calculator styles.
 * BEM-ish naming: .ls-* namespaced to avoid theme collisions.
 */

:root {
	--ls-primary: #0f766e;
	--ls-primary-dark: #115e59;
	--ls-primary-light: #ccfbf1;
	--ls-ink: #1e293b;
	--ls-muted: #64748b;
	--ls-border: #e2e8f0;
	--ls-bg: #f8fafc;
	--ls-danger: #b91c1c;
	--ls-radius: 10px;
	--ls-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 4px 16px rgba(15, 23, 42, 0.06);
}

/* ---------- tool shell ---------- */

.ls-tool {
	background: #fff;
	border: 1px solid var(--ls-border);
	border-radius: var(--ls-radius);
	box-shadow: var(--ls-shadow);
	padding: clamp(1.25rem, 3vw, 2rem);
	font-size: 1rem;
	color: var(--ls-ink);
}

.ls-tool__body {
	display: grid;
	gap: 1.25rem;
}

/* ---------- form ---------- */

.ls-form {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.875rem 1rem;
	align-items: start;
}

.ls-field--units,
.ls-field--full {
	grid-column: 1 / -1;
}

.ls-field--half {
	grid-column: span 1;
}

.ls-form__row {
	grid-column: 1 / -1;
	margin-top: 0.375rem;
}

.ls-field__label {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--ls-ink);
	margin-bottom: 0.375rem;
}

.ls-field__label--blank {
	visibility: hidden;
}

.ls-input {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--ls-bg);
	border: 1px solid var(--ls-border);
	border-radius: 8px;
	padding: 0.5rem 0.75rem;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.ls-input:focus-within {
	border-color: var(--ls-primary);
	box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15);
}

.ls-input input {
	border: 0;
	background: transparent;
	width: 100%;
	min-width: 0;
	font-size: 1rem;
	color: var(--ls-ink);
	outline: none;
	-moz-appearance: textfield;
}

.ls-input input::-webkit-outer-spin-button,
.ls-input input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ls-field__unit {
	font-size: 0.8125rem;
	color: var(--ls-muted);
	white-space: nowrap;
}

.ls-field__note {
	margin: 0.25rem 0 0;
	font-size: 0.75rem;
	color: var(--ls-muted);
}

.ls-field__error {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.75rem;
	color: var(--ls-danger);
}

.ls-field input[aria-invalid="true"] ~ .ls-field__error,
.ls-input:has(input[aria-invalid="true"]) {
	border-color: var(--ls-danger);
}

/* selects */

.ls-form select {
	width: 100%;
	padding: 0.625rem 0.75rem;
	background: var(--ls-bg);
	border: 1px solid var(--ls-border);
	border-radius: 8px;
	font-size: 0.9375rem;
	color: var(--ls-ink);
}

/* radio choices */

.ls-choices {
	display: flex;
	gap: 0.5rem;
}

.ls-choice {
	flex: 1;
}

.ls-choice input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ls-choice label {
	display: block;
	text-align: center;
	padding: 0.5rem 0.75rem;
	background: var(--ls-bg);
	border: 1px solid var(--ls-border);
	border-radius: 8px;
	font-size: 0.9375rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.15s;
}

.ls-choice input:checked + label {
	background: var(--ls-primary-light);
	border-color: var(--ls-primary);
	color: var(--ls-primary-dark);
}

.ls-choice input:focus-visible + label {
	outline: 2px solid var(--ls-primary);
	outline-offset: 2px;
}

/* unit toggle */

.ls-units {
	display: inline-flex;
	background: var(--ls-bg);
	border: 1px solid var(--ls-border);
	border-radius: 999px;
	padding: 3px;
}

.ls-units__btn {
	border: 0;
	background: transparent;
	padding: 0.375rem 1.25rem;
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--ls-muted);
	cursor: pointer;
	transition: all 0.15s;
}

.ls-units__btn.is-active {
	background: var(--ls-primary);
	color: #fff;
}

/* unit/sex visibility */

.ls-form[data-units="metric"] .ls-u-imperial { display: none; }
.ls-form[data-units="imperial"] .ls-u-metric { display: none; }
.ls-form:not(.is-female) .ls-sex-female { display: none; }

/* submit */

.ls-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: var(--ls-primary);
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: 0.75rem 2rem;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s;
}

.ls-btn:hover {
	background: var(--ls-primary-dark);
}

.ls-btn:focus-visible {
	outline: 3px solid rgba(15, 118, 110, 0.35);
	outline-offset: 2px;
}

.ls-btn--ghost {
	background: transparent;
	color: var(--ls-primary-dark);
	border: 1px solid var(--ls-border);
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
}

.ls-btn--ghost:hover {
	background: var(--ls-bg);
}

.ls-btn--danger {
	background: transparent;
	color: var(--ls-danger);
	border: 1px solid #fecaca;
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
}

.ls-btn--danger:hover {
	background: #fef2f2;
}

.ls-linkbtn {
	border: 0;
	background: transparent;
	color: var(--ls-muted);
	cursor: pointer;
	font-size: 0.875rem;
	padding: 0.25rem 0.5rem;
	border-radius: 6px;
}

.ls-linkbtn:hover {
	background: #fef2f2;
	color: var(--ls-danger);
}

/* ---------- results ---------- */

.ls-results {
	background: var(--ls-bg);
	border: 1px solid var(--ls-border);
	border-radius: var(--ls-radius);
	padding: 1.25rem 1.5rem;
}

.ls-result__primary {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-bottom: 0.75rem;
}

.ls-result__value {
	font-size: clamp(2rem, 5vw, 2.75rem);
	font-weight: 700;
	color: var(--ls-primary-dark);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.ls-result__unit {
	font-size: 0.45em;
	font-weight: 600;
	color: var(--ls-muted);
	margin-left: 0.5rem;
}

.ls-result__caption {
	font-size: 0.9375rem;
	color: var(--ls-muted);
}

.ls-result__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.ls-pill {
	display: inline-block;
	padding: 0.3125rem 0.875rem;
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 600;
}

.ls-pill--good { background: #dcfce7; color: #166534; }
.ls-pill--warn { background: #fef9c3; color: #854d0e; }
.ls-pill--bad { background: #fee2e2; color: #991b1b; }
.ls-pill--neutral { background: #e2e8f0; color: #334155; }

.ls-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 0.75rem;
	margin: 1rem 0;
}

.ls-stat {
	background: #fff;
	border: 1px solid var(--ls-border);
	border-radius: 8px;
	padding: 0.75rem 1rem;
}

.ls-stat__label {
	display: block;
	font-size: 0.75rem;
	color: var(--ls-muted);
	margin-bottom: 0.25rem;
}

.ls-stat__value {
	font-size: 1rem;
	font-weight: 600;
	color: var(--ls-ink);
}

.ls-result__info {
	margin: 1rem 0 0;
	font-size: 0.8125rem;
	color: var(--ls-muted);
	border-top: 1px dashed var(--ls-border);
	padding-top: 0.75rem;
}

/* notes */

.ls-note {
	border-left: 3px solid var(--ls-primary);
	background: #f0fdfa;
	border-radius: 0 8px 8px 0;
	padding: 0.75rem 1rem;
	font-size: 0.875rem;
	color: #134e4a;
	margin: 0.75rem 0;
}

.ls-note a { color: var(--ls-primary-dark); font-weight: 600; }

.ls-note--warn {
	border-left-color: #d97706;
	background: #fffbeb;
	color: #78350f;
}

.ls-note--good {
	border-left-color: #16a34a;
	background: #f0fdf4;
	color: #14532d;
}

/* tables */

.ls-table-scroll {
	overflow-x: auto;
	margin: 0.75rem 0;
}

.ls-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
	background: #fff;
	border: 1px solid var(--ls-border);
	border-radius: 8px;
	overflow: hidden;
}

.ls-table caption {
	text-align: left;
	font-size: 0.8125rem;
	color: var(--ls-muted);
	padding: 0.5rem 0.75rem;
	caption-side: top;
}

.ls-table th,
.ls-table td {
	text-align: left;
	padding: 0.5rem 0.75rem;
	border-bottom: 1px solid var(--ls-border);
}

.ls-table thead th {
	background: var(--ls-bg);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--ls-muted);
}

.ls-table tbody tr:last-child td {
	border-bottom: 0;
}

.ls-table tr.is-selected {
	background: var(--ls-primary-light);
	font-weight: 600;
}

/* macro bars */

.ls-bar {
	margin: 0.5rem 0;
}

.ls-bar__head {
	display: flex;
	justify-content: space-between;
	font-size: 0.8125rem;
	margin-bottom: 0.25rem;
	color: var(--ls-ink);
}

.ls-bar__track {
	height: 10px;
	background: #e2e8f0;
	border-radius: 999px;
	overflow: hidden;
}

.ls-bar__fill {
	height: 100%;
	border-radius: 999px;
	transition: width 0.4s ease;
}

.ls-bar__fill--protein { background: #0f766e; }
.ls-bar__fill--carbs { background: #0284c7; }
.ls-bar__fill--fat { background: #d97706; }

/* chart */

.ls-chart__wrap {
	margin: 1rem 0;
}

.ls-chart {
	width: 100%;
	height: auto;
	background: #fff;
	border: 1px solid var(--ls-border);
	border-radius: 8px;
}

/* ---------- tracker ---------- */

.ls-empty {
	text-align: center;
	padding: 2rem 1rem;
	color: var(--ls-muted);
}

.ls-empty__title {
	font-weight: 700;
	font-size: 1.0625rem;
	color: var(--ls-ink);
	margin: 0 0 0.375rem;
}

.ls-tracker__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

.ls-tracker__table td {
	white-space: nowrap;
}

/* ---------- FAQ, citations, disclaimer ---------- */

.ls-faq {
	margin-top: 2rem;
	border-top: 1px solid var(--ls-border);
	padding-top: 1.5rem;
}

.ls-faq__title {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
	color: var(--ls-ink);
}

.ls-faq__item {
	border: 1px solid var(--ls-border);
	border-radius: 8px;
	margin-bottom: 0.5rem;
	background: #fff;
}

.ls-faq__item summary {
	padding: 0.875rem 1rem;
	font-weight: 600;
	cursor: pointer;
	list-style-position: inside;
	color: var(--ls-ink);
}

.ls-faq__item[open] summary {
	border-bottom: 1px solid var(--ls-border);
}

.ls-faq__answer {
	padding: 0.875rem 1rem;
	font-size: 0.9375rem;
	color: #334155;
	line-height: 1.6;
}

.ls-citations {
	margin-top: 1.5rem;
	font-size: 0.8125rem;
	color: var(--ls-muted);
}

.ls-citations__label {
	font-weight: 600;
	margin-right: 0.5rem;
}

.ls-citations ul {
	display: inline;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ls-citations li {
	display: inline;
}

.ls-citations li:not(:last-child)::after {
	content: " · ";
	color: var(--ls-border);
}

.ls-citations a {
	color: var(--ls-primary-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ls-disclaimer {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px dashed var(--ls-border);
	font-size: 0.75rem;
	color: var(--ls-muted);
	line-height: 1.5;
}

/* ---------- tools grid ---------- */

.ls-grid__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
	gap: 1.125rem;
}

.ls-card {
	background: #fff;
	border: 1px solid var(--ls-border);
	border-radius: 16px;
	box-shadow: var(--ls-card-shadow);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.ls-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 8px rgba(15, 23, 42, 0.06), 0 16px 40px rgba(13, 148, 136, 0.14);
	border-color: #99f6e4;
}

.ls-card__link {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	padding: 1.25rem;
	height: 100%;
	text-decoration: none;
}

/* icon tile — gradient media block with inline SVG */

.ls-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	color: #ffffff;
	flex-shrink: 0;
}

.ls-card__media .ls-ico {
	width: 28px;
	height: 28px;
}

.ls-card__media--scale { background: linear-gradient(135deg, #0d9488, #0f766e); }
.ls-card__media--flame { background: linear-gradient(135deg, #f97316, #ea580c); }
.ls-card__media--bolt { background: linear-gradient(135deg, #f59e0b, #d97706); }
.ls-card__media--pie { background: linear-gradient(135deg, #8b5cf6, #7c3aed); }
.ls-card__media--chart { background: linear-gradient(135deg, #0ea5e9, #0284c7); }
.ls-card__media--ruler { background: linear-gradient(135deg, #ec4899, #db2777); }
.ls-card__media--target { background: linear-gradient(135deg, #6366f1, #4f46e5); }
.ls-card__media--ratio { background: linear-gradient(135deg, #14b8a6, #0891b2); }
.ls-card__media--shirt { background: linear-gradient(135deg, #a16207, #854d0e); }
.ls-card__media--clipboard { background: linear-gradient(135deg, #22c55e, #16a34a); }
.ls-card__media--search { background: linear-gradient(135deg, #06b6d4, #0891b2); }
.ls-card__media--food { background: linear-gradient(135deg, #f59e0b, #ea580c); }

.ls-card__title {
	font-weight: 700;
	color: var(--ls-ink);
	font-size: 1.0625rem;
	letter-spacing: -0.01em;
}

.ls-card__excerpt {
	font-size: 0.8125rem;
	color: var(--ls-muted);
	line-height: 1.5;
	flex: 1;
}

.ls-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--ls-primary-dark);
	margin-top: 0.25rem;
	transition: gap 0.18s ease;
}

.ls-card:hover .ls-card__cta {
	gap: 0.625rem;
}

/* ---------- block editor preview ---------- */

.ls-block-preview {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem;
	border: 1px solid var(--ls-border);
	border-radius: var(--ls-radius);
	background: #fff;
}

.ls-block-preview__badge {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex-shrink: 0;
}

.ls-block-preview__badge .dashicons {
	font-size: 24px;
	width: 24px;
	height: 24px;
}

.ls-block-preview__body p {
	margin: 0.25rem 0 0;
	color: var(--ls-muted);
}

/* ---------- responsive ---------- */

@media (max-width: 640px) {
	.ls-form {
		grid-template-columns: 1fr;
	}

	.ls-field--half {
		grid-column: 1 / -1;
	}

	.ls-stats {
		grid-template-columns: 1fr;
	}

	/* comfortable touch targets */
	.ls-btn {
		width: 100%;
		min-height: 48px;
	}

	.ls-units__btn {
		padding: 0.625rem 1.5rem;
	}

	.ls-choice label {
		padding: 0.75rem;
	}

	.ls-food__portion {
		flex-direction: column;
		align-items: flex-start;
	}

	.ls-tracker__actions .ls-btn {
		flex: 1 1 auto;
	}

	.ls-foodcard__arrow,
	.ls-card__cta {
		display: inline-flex;
	}
}

/* ---------- print (tracker sheet) ---------- */

@media print {
	.ls-form,
	.ls-tracker__actions,
	.ls-linkbtn,
	.ls-faq,
	.ls-citations,
	.ls-disclaimer {
		display: none !important;
	}

	.ls-tool {
		border: 0;
		box-shadow: none;
		padding: 0;
	}

	.ls-results {
		border: 1px solid #cbd5e1;
	}
}

/* ======================================================================
 * Food search & nutrition pages (Phase 2)
 * ====================================================================== */

.ls-food {
	margin: 1.5rem 0;
}

.ls-food__bar {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.ls-food__input {
	flex: 1;
	padding: 0.875rem 1.125rem;
	font-size: 1.0625rem;
	border: 1px solid var(--ls-border);
	border-radius: 10px;
	background: var(--ls-bg);
	transition: border-color 0.15s, box-shadow 0.15s;
}

.ls-food__input:focus {
	outline: none;
	border-color: var(--ls-primary);
	box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15);
}

.ls-food__hint {
	font-size: 0.75rem;
	color: var(--ls-muted);
	white-space: nowrap;
}

.ls-food__results {
	margin-top: 1rem;
}

.ls-food__loading {
	color: var(--ls-muted);
}

.ls-food__section {
	margin: 1.25rem 0;
}

.ls-food__section-title {
	font-size: 1.0625rem;
	font-weight: 700;
	margin: 0 0 0.125rem;
	color: var(--ls-ink);
}

.ls-food__section-sub {
	font-size: 0.75rem;
	color: var(--ls-muted);
	margin: 0 0 0.625rem;
}

.ls-food__card {
	border: 1px solid var(--ls-border);
	border-radius: 10px;
	background: #fff;
	padding: 0.875rem 1rem;
	margin-bottom: 0.625rem;
}

.ls-food__card-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 0.5rem;
}

.ls-food__name {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	color: var(--ls-ink);
}

.ls-food__brand {
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--ls-muted);
}

.ls-food__serving {
	display: block;
	font-size: 0.75rem;
	color: var(--ls-muted);
	margin-top: 0.125rem;
}

.ls-food__badges {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
}

.ls-food__link {
	font-size: 0.75rem;
	color: var(--ls-primary-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ls-badge-ns {
	display: inline-block;
	padding: 0.1875rem 0.5rem;
	border-radius: 6px;
	font-size: 0.6875rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.02em;
}

.ls-badge-ns--a { background: #038141; }
.ls-badge-ns--b { background: #85bb2f; }
.ls-badge-ns--c { background: #d3a012; color: #1e293b; }
.ls-badge-ns--d { background: #ee8100; }
.ls-badge-ns--e { background: #e63e11; }

.ls-food__macros {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem 0.875rem;
	margin-bottom: 0.625rem;
}

.ls-food__macro {
	font-size: 0.8125rem;
	color: var(--ls-muted);
}

.ls-food__macro strong {
	color: var(--ls-ink);
	font-weight: 700;
}

.ls-food__portion {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	border-top: 1px dashed var(--ls-border);
	padding-top: 0.625rem;
	font-size: 0.875rem;
}

.ls-food__portion label {
	color: var(--ls-muted);
	white-space: nowrap;
}

.ls-food__grams {
	width: 5.5rem;
	padding: 0.375rem 0.5rem;
	border: 1px solid var(--ls-border);
	border-radius: 6px;
	background: var(--ls-bg);
	font-size: 0.9375rem;
	-moz-appearance: textfield;
}

.ls-food__grams::-webkit-outer-spin-button,
.ls-food__grams::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ls-food__out {
	font-weight: 600;
	color: var(--ls-primary-dark);
}

.ls-food__attrib {
	margin: 1rem 0 0;
	font-size: 0.75rem;
	color: var(--ls-muted);
	border-top: 1px dashed var(--ls-border);
	padding-top: 0.75rem;
}

/* foods index (hub page) */

.ls-foods-index {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
	margin: 1.5rem 0;
}

.ls-foods-index__cat h3 {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	border-bottom: 2px solid #ccfbf1;
	padding-bottom: 0.375rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.ls-foods-index__caticon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	color: #ffffff;
	flex-shrink: 0;
}

.ls-foods-index__caticon .ls-ico {
	width: 17px;
	height: 17px;
}

.ls-foods-index__caticon--fruits { background: linear-gradient(135deg, #f97316, #ef4444); }
.ls-foods-index__caticon--vegetables { background: linear-gradient(135deg, #22c55e, #16a34a); }
.ls-foods-index__caticon--grains { background: linear-gradient(135deg, #d97706, #b45309); }
.ls-foods-index__caticon--protein { background: linear-gradient(135deg, #ef4444, #be123c); }
.ls-foods-index__caticon--dairy { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.ls-foods-index__caticon--fats-nuts { background: linear-gradient(135deg, #a16207, #854d0e); }
.ls-foods-index__caticon--snacks-sweets { background: linear-gradient(135deg, #ec4899, #be185d); }

.ls-foods-index__cat ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ls-foods-index__cat li {
	padding: 0.25rem 0;
	font-size: 0.9375rem;
	border-bottom: 1px solid var(--ls-border);
}

.ls-foods-index__cat li:last-child {
	border-bottom: 0;
}

.ls-foods-index__cat a {
	color: var(--ls-primary-dark);
	text-decoration: none;
	font-weight: 600;
}

.ls-foods-index__cat a:hover {
	text-decoration: underline;
}

/* meal analyzer */

.ls-analyzer__input,
.ls-input--textarea textarea {
	width: 100%;
	min-height: 6.5rem;
	border: 0;
	background: transparent;
	font-size: 1rem;
	font-family: inherit;
	color: var(--ls-ink);
	resize: vertical;
	outline: none;
}

.ls-analyzer__attrib {
	margin: 1rem 0 0;
	font-size: 0.75rem;
	color: var(--ls-muted);
	border-top: 1px dashed var(--ls-border);
	padding-top: 0.75rem;
}

/* nutrition tables on food pages (wp-block-table defaults are spartan) */

.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}

.wp-block-table th,
.wp-block-table td {
	border: 1px solid var(--ls-border);
	padding: 0.5rem 0.75rem;
	text-align: left;
	font-size: 0.9375rem;
}

.wp-block-table thead th {
	background: var(--ls-bg);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--ls-muted);
}

.wp-block-table figcaption {
	margin-top: 0.5rem;
	font-size: 0.8125rem;
	color: var(--ls-muted);
}
