.lwr-nutrition-calculator-page {
	--nl-red: #dc1f2e;
	--nl-deep: #65000c;
	--nl-ink: #191315;
	--nl-muted: #74686b;
	--nl-line: #e9dfe1;
	--nl-paper: #fff;
	--nl-wash: #f8f3f4;
}

.nutrition-page { overflow: clip; }

.nutrition-hero {
	position: relative;
	background:
		radial-gradient(circle at 85% 28%, rgba(255,255,255,.14) 0 2px, transparent 3px) 0 0 / 30px 30px,
		linear-gradient(125deg, #4a0009 0%, #85000f 48%, #d51d2b 100%);
	color: #fff;
	border-bottom: 1px solid rgba(255,255,255,.18);
}

.nutrition-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 7px;
	background: repeating-linear-gradient(90deg, #fff 0 34px, transparent 34px 54px);
	opacity: .9;
}

.nutrition-hero__inner {
	min-height: 620px;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
	align-items: center;
	gap: clamp(40px, 8vw, 120px);
	padding-block: clamp(80px, 10vw, 140px);
}

.nutrition-hero .eyebrow { color: #ffbec4; }

.nutrition-hero__copy h1 {
	max-width: 820px;
	margin: 18px 0 24px;
	font-size: clamp(3.7rem, 7.4vw, 8rem);
	line-height: .83;
	letter-spacing: -.07em;
	color: #fff;
}

.nutrition-hero__copy h1 em {
	display: inline-block;
	font-family: Georgia, serif;
	font-size: .75em;
	font-weight: 400;
	letter-spacing: -.045em;
	color: #ffd9dc;
	transform: translateX(5%);
}

.nutrition-hero__copy > p:not(.eyebrow) {
	max-width: 660px;
	font-size: clamp(1.05rem, 1.5vw, 1.35rem);
	line-height: 1.65;
	color: rgba(255,255,255,.78);
}

.nutrition-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 42px;
}

.nutrition-hero__facts span {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	padding: 10px 14px;
	border: 1px solid rgba(255,255,255,.24);
	border-radius: 999px;
	font-size: .78rem;
	color: rgba(255,255,255,.76);
	backdrop-filter: blur(6px);
}

.nutrition-hero__facts b { color: #fff; font-size: .95rem; }

.nutrition-hero__art {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 420px;
}

.nutrition-hero__plate {
	position: relative;
	width: clamp(280px, 30vw, 430px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: #fff9f2;
	box-shadow: inset 0 0 0 24px #fff, inset 0 0 0 28px #f0d5d7, 0 38px 90px rgba(30,0,4,.42);
	transform: rotate(-7deg);
	animation: nl-plate-float 6s ease-in-out infinite;
}

.nutrition-hero__plate strong {
	position: absolute;
	inset: 50% auto auto 50%;
	transform: translate(-50%,-50%);
	font-size: clamp(2.4rem, 5vw, 4.8rem);
	letter-spacing: -.08em;
	color: var(--nl-red);
}

.nutrition-food-shape { position: absolute; display: block; }
.nutrition-food-shape--leaf { width: 80px; height: 110px; left: 23%; top: 25%; border-radius: 100% 0 100% 0; background: #489047; transform: rotate(-28deg); }
.nutrition-food-shape--leaf::after { content:""; position:absolute; width:4px; height:84px; background:#285f2c; left:42px; top:18px; transform:rotate(18deg); border-radius:9px; }
.nutrition-food-shape--tomato { width: 92px; height: 86px; right: 22%; top: 22%; border-radius: 50%; background: #ec3341; box-shadow: inset -12px -9px 0 rgba(123,0,12,.18); }
.nutrition-food-shape--tomato::after { content:"✦"; position:absolute; color:#32703b; font-size:36px; left:27px; top:-17px; }
.nutrition-food-shape--grain { width: 110px; height: 68px; left: 20%; bottom: 22%; border-radius: 50%; background: repeating-radial-gradient(ellipse, #efc572 0 5px, #dba64c 6px 8px); transform: rotate(17deg); }
.nutrition-food-shape--protein { width: 108px; height: 78px; right: 18%; bottom: 20%; border-radius: 52% 38% 55% 40%; background: #e79370; box-shadow: inset -14px -10px 0 #c86a4c; transform: rotate(-16deg); }

.nutrition-hero__badge {
	position: absolute;
	right: 1%;
	top: 7%;
	display: grid;
	place-items: center;
	width: 90px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #fff;
	color: var(--nl-red);
	font-size: .75rem;
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: .16em;
	text-align: center;
	transform: rotate(10deg);
	box-shadow: 0 15px 36px rgba(34,0,4,.24);
}

.nutrition-orbit { position:absolute; border:1px solid rgba(255,255,255,.22); border-radius:50%; }
.nutrition-orbit--one { width: 115%; aspect-ratio:1.7; transform:rotate(34deg); }
.nutrition-orbit--two { width: 92%; aspect-ratio:1.45; transform:rotate(-36deg); }

@keyframes nl-plate-float { 0%,100% { transform:rotate(-7deg) translateY(0); } 50% { transform:rotate(-4deg) translateY(-14px); } }

.nutrition-page__body { padding-block: clamp(60px, 8vw, 110px); }

.nutrition-app {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(340px, .72fr);
	gap: clamp(34px, 6vw, 88px);
	align-items: start;
}

.nutrition-workbench { min-width: 0; }

.nutrition-section-heading {
	display: grid;
	grid-template-columns: minmax(280px, .9fr) minmax(260px, 1fr);
	gap: 30px;
	align-items: end;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--nl-line);
}

.nutrition-section-heading span {
	display: block;
	margin-bottom: 8px;
	font-size: .74rem;
	font-weight: 900;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--nl-red);
}

.nutrition-section-heading h2 {
	margin: 0;
	font-size: clamp(2.2rem, 4vw, 4.4rem);
	letter-spacing: -.055em;
	line-height: .95;
}

.nutrition-section-heading > p { margin:0; color:var(--nl-muted); line-height:1.7; }

.food-search { position:relative; margin-top:36px; z-index:4; }
.food-search > label,
.food-picker__controls label { display:block; margin-bottom:9px; font-size:.73rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:var(--nl-muted); }

.food-search__control { position:relative; }
.food-search__control svg { position:absolute; left:20px; top:50%; width:23px; transform:translateY(-50%); fill:none; stroke:currentColor; stroke-width:1.8; pointer-events:none; }
.food-search__control input {
	width:100%;
	height:72px;
	padding:0 62px;
	border:2px solid var(--nl-ink);
	border-radius:16px;
	background:var(--nl-paper);
	color:var(--nl-ink);
	font:inherit;
	font-size:1.06rem;
	font-weight:700;
	outline:none;
	transition:border-color .2s, box-shadow .2s;
}
.food-search__control input:focus { border-color:var(--nl-red); box-shadow:0 0 0 5px rgba(220,31,46,.11); }
.food-search__spinner { position:absolute; right:22px; top:25px; width:22px; height:22px; border:3px solid #ead9dc; border-top-color:var(--nl-red); border-radius:50%; animation:nl-spin .7s linear infinite; }
@keyframes nl-spin { to { transform:rotate(1turn); } }

.food-search__hint { margin:10px 4px 0; color:var(--nl-muted); font-size:.8rem; }
.food-search__results {
	position:absolute;
	inset:auto 0 auto;
	margin-top:9px;
	max-height:430px;
	overflow:auto;
	border:1px solid var(--nl-line);
	border-radius:16px;
	background:var(--nl-paper);
	box-shadow:0 28px 70px rgba(40,13,18,.2);
}
.food-result { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; padding:17px 19px; border:0; border-bottom:1px solid var(--nl-line); background:transparent; color:var(--nl-ink); text-align:left; cursor:pointer; }
.food-result:last-child { border-bottom:0; }
.food-result:hover,.food-result:focus,.food-result.is-active { background:#fff1f2; outline:none; }
.food-result__identity,.food-result__nutrition { display:flex; flex-direction:column; min-width:0; }
.food-result__identity strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.94rem; }
.food-result small { margin-top:4px; color:var(--nl-muted); font-size:.72rem; line-height:1.3; }
.food-result__nutrition { align-items:flex-end; white-space:nowrap; }
.food-result__nutrition b { color:var(--nl-red); }
.food-search__message { margin:0; padding:24px; color:var(--nl-muted); }

.food-picker {
	margin-top:28px;
	padding:24px;
	border:1px solid #f1c9cd;
	border-radius:20px;
	background:linear-gradient(135deg,#fff8f8,#fff);
}
.food-picker__identity { display:flex; gap:16px; align-items:center; }
.food-picker__icon { display:grid; place-items:center; flex:0 0 54px; width:54px; aspect-ratio:1; border-radius:16px; background:var(--nl-red); color:#fff; font-size:1.35rem; box-shadow:0 11px 25px rgba(220,31,46,.24); }
.food-picker__identity span { display:block; margin-bottom:4px; color:var(--nl-red); font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.food-picker__identity h3 { margin:0; font-size:1.25rem; letter-spacing:-.025em; }
.food-picker__identity p { margin:4px 0 0; color:var(--nl-muted); font-size:.8rem; }
.food-picker__controls { display:grid; grid-template-columns:minmax(110px,.48fr) minmax(160px,.75fr) minmax(200px,1fr); gap:12px; align-items:end; margin-top:22px; }
.food-picker__controls label { margin:0; }
.food-picker__controls input,.food-picker__controls select { width:100%; height:48px; margin-top:8px; padding:0 12px; border:1px solid var(--nl-line); border-radius:10px; background:var(--nl-paper); color:var(--nl-ink); font:inherit; font-weight:750; }
.food-picker__controls button { height:48px; padding:0 18px; border:0; border-radius:10px; background:var(--nl-ink); color:#fff; font-weight:850; cursor:pointer; }
.food-picker__controls button:hover { background:var(--nl-red); }
.food-picker__conversion { margin:12px 0 0; color:var(--nl-muted); font-size:.78rem; }

.plate-list { margin-top:34px; }
.plate-empty { display:grid; place-items:center; min-height:285px; padding:32px; border:1px dashed #d7c8cb; border-radius:18px; text-align:center; background:var(--nl-wash); }
.plate-empty svg { width:84px; fill:none; stroke:#bca9ad; stroke-width:2; }
.plate-empty h3 { margin:14px 0 4px; }
.plate-empty p { margin:0; color:var(--nl-muted); }

.plate-item { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:14px; align-items:center; padding:18px 0; border-bottom:1px solid var(--nl-line); }
.plate-item__number { color:#bca9ad; font-size:.72rem; font-weight:900; }
.plate-item__identity { min-width:0; }
.plate-item__identity strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.95rem; }
.plate-item__identity small { display:block; margin-top:4px; overflow:hidden; color:var(--nl-muted); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.plate-item__controls { display:grid; grid-template-columns:82px 82px 75px 36px; gap:7px; align-items:center; }
.plate-item__controls input,.plate-item__controls select { width:100%; height:40px; padding:0 8px; border:1px solid var(--nl-line); border-radius:8px; background:var(--nl-paper); color:var(--nl-ink); font:inherit; font-size:.82rem; }
.plate-item__grams { color:var(--nl-muted); font-size:.72rem; text-align:right; }
.plate-item__remove { width:36px; height:36px; border:1px solid var(--nl-line); border-radius:50%; background:transparent; color:var(--nl-muted); font-size:1.3rem; cursor:pointer; }
.plate-item__remove:hover { border-color:var(--nl-red); color:var(--nl-red); }
.plate-actions { display:flex; justify-content:space-between; align-items:center; margin-top:20px; }
.plate-actions button { padding:0; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--nl-red); font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; }
.plate-actions span { color:var(--nl-muted); font-size:.78rem; }

.nutrition-result { position:sticky; top:112px; }
.nutrition-label { padding:20px 22px 24px; border:3px solid var(--nl-ink); background:var(--nl-paper); color:var(--nl-ink); box-shadow:12px 14px 0 #f3d6d9; }
.nutrition-label header { padding-bottom:8px; border-bottom:10px solid var(--nl-ink); }
.nutrition-label header > span { color:var(--nl-red); font-size:.68rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.nutrition-label h2 { margin:2px 0 0; font-family:Arial Black,Arial,sans-serif; font-size:clamp(2.35rem,4vw,3.6rem); line-height:.95; letter-spacing:-.075em; }
.nutrition-label header p { margin:8px 0 0; color:var(--nl-muted); font-size:.78rem; }
.nutrition-label__calories { display:flex; justify-content:space-between; align-items:end; padding:8px 0 5px; border-bottom:5px solid var(--nl-ink); }
.nutrition-label__calories span { font-size:1.05rem; font-weight:900; }
.nutrition-label__calories strong { font-family:Arial Black,Arial,sans-serif; font-size:2.9rem; line-height:.85; letter-spacing:-.06em; }
.nutrition-label__dv { margin:5px 0 0; padding-bottom:4px; border-bottom:1px solid var(--nl-ink); text-align:right; font-size:.68rem; font-weight:900; }
.nutrition-line { display:flex; justify-content:space-between; gap:12px; padding:5px 0; border-bottom:1px solid var(--nl-ink); font-size:.79rem; }
.nutrition-line span { min-width:0; }
.nutrition-line em { font-style:normal; }
.nutrition-line strong { white-space:nowrap; }
.nutrition-line--indent span { padding-left:14px; }
.nutrition-line--strong { border-bottom-width:2px; }
.nutrition-line--protein { padding-block:7px; border-bottom-width:9px; }
.nutrition-line--micro { border-bottom-color:#999; font-size:.75rem; }
.nutrition-line.is-incomplete em { color:var(--nl-red); font-size:.68rem; font-weight:800; }
.nutrition-label__footnote { margin:8px 0 0; font-size:.64rem; line-height:1.35; }
.nutrition-data-note { margin-top:30px; padding:18px; border-left:4px solid var(--nl-red); background:var(--nl-wash); }
.nutrition-data-note strong { font-size:.83rem; }
.nutrition-data-note p { margin:6px 0 0; color:var(--nl-muted); font-size:.76rem; line-height:1.55; }

.nutrition-method { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:clamp(64px,8vw,110px); border:1px solid var(--nl-line); background:var(--nl-line); }
.nutrition-method > div { padding:28px; background:var(--nl-paper); }
.nutrition-method span { display:inline-grid; place-items:center; min-width:58px; height:28px; padding:0 9px; border-radius:999px; background:#ffe9eb; color:var(--nl-red); font-size:.65rem; font-weight:900; letter-spacing:.1em; }
.nutrition-method strong { display:block; margin-top:18px; font-size:1.08rem; }
.nutrition-method p { margin:8px 0 0; color:var(--nl-muted); font-size:.82rem; line-height:1.6; }

.nutrition-source { padding-block:clamp(64px,8vw,110px); background:#190f12; color:#fff; }
.nutrition-source__inner { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,9vw,140px); }
.nutrition-source .eyebrow { color:#ff7e88; }
.nutrition-source h2 { margin:12px 0 0; max-width:500px; color:#fff; font-size:clamp(2.6rem,5vw,5.5rem); line-height:.9; letter-spacing:-.06em; }
.nutrition-source__inner > div:last-child { max-width:700px; }
.nutrition-source__inner p { color:#c9bcc0; line-height:1.75; }
.nutrition-source__inner a { display:inline-block; margin-top:16px; color:#fff; font-weight:800; text-decoration-color:var(--nl-red); text-underline-offset:5px; }

[data-theme="dark"] .lwr-nutrition-calculator-page {
	--nl-ink:#f8f0f2;
	--nl-muted:#b9a8ad;
	--nl-line:#453138;
	--nl-paper:#171114;
	--nl-wash:#21171b;
}
[data-theme="dark"] .food-result:hover,[data-theme="dark"] .food-result:focus,[data-theme="dark"] .food-result.is-active { background:#31191e; }
[data-theme="dark"] .food-picker { background:linear-gradient(135deg,#25161a,#171114); border-color:#5f3038; }
[data-theme="dark"] .nutrition-label { box-shadow:12px 14px 0 #4e2028; }
[data-theme="dark"] .nutrition-method span { background:#3a1c22; }

@media (max-width: 980px) {
	.nutrition-hero__inner { grid-template-columns:1fr; min-height:auto; padding-bottom:80px; }
	.nutrition-hero__art { min-height:340px; order:-1; }
	.nutrition-hero__plate { width:min(310px,70vw); }
	.nutrition-hero__copy { text-align:center; }
	.nutrition-hero__copy > p:not(.eyebrow) { margin-inline:auto; }
	.nutrition-hero__facts { justify-content:center; }
	.nutrition-app { grid-template-columns:1fr; }
	.nutrition-result { position:static; width:min(480px,100%); margin-inline:auto; }
}

@media (max-width: 680px) {
	.nutrition-hero__inner { gap:14px; padding-top:48px; }
	.nutrition-hero__art { min-height:290px; }
	.nutrition-hero__copy h1 { font-size:clamp(3.25rem,16vw,5.4rem); }
	.nutrition-hero__copy h1 em { transform:none; }
	.nutrition-hero__badge { right:4%; top:2%; width:70px; }
	.nutrition-section-heading { grid-template-columns:1fr; gap:14px; }
	.food-search__control input { height:62px; padding-inline:54px 46px; }
	.food-result { grid-template-columns:1fr; gap:7px; }
	.food-result__nutrition { align-items:flex-start; flex-direction:row; gap:8px; }
	.food-picker { padding:18px; }
	.food-picker__controls { grid-template-columns:1fr 1fr; }
	.food-picker__controls button { grid-column:1/-1; }
	.plate-item { grid-template-columns:28px minmax(0,1fr); align-items:start; }
	.plate-item__controls { grid-column:2; grid-template-columns:minmax(70px,1fr) minmax(70px,1fr) 64px 36px; }
	.nutrition-method { grid-template-columns:1fr; }
	.nutrition-source__inner { grid-template-columns:1fr; gap:26px; }
}

@media (prefers-reduced-motion: reduce) {
	.nutrition-hero__plate,.food-search__spinner { animation:none; }
	* { scroll-behavior:auto !important; }
}

@media print {
	.site-header,.site-footer,.nutrition-hero,.nutrition-workbench,.nutrition-method,.nutrition-source,.privacy-widget { display:none !important; }
	.nutrition-app { display:block; }
	.nutrition-result { position:static; width:100%; }
	.nutrition-label { max-width:430px; margin:0 auto; box-shadow:none; }
}
