/* nutrition */
.nutri-wrap [hidden] {display:none !important;}
.nutri-wrap button {font:inherit; cursor:pointer;}
.nutri-tabs {display:flex; border-bottom:1px solid #e3e3e8; margin:0 0 28px; padding:0; list-style:none;}
.nutri-tabs li {flex:1 1 0; margin:0;}
.nutri-tabs button {display:block; width:100%; padding:14px 6px; margin-bottom:-1px; text-align:center; font-size:17px; color:#555; border:0; border-bottom:3px solid transparent; background:none; word-break:keep-all;}
.nutri-tabs button:hover {color:#B62B5C;}
.nutri-tabs button.on {color:#B62B5C; font-weight:700; border-bottom-color:#B62B5C;}

.nutri-layout {display:grid; grid-template-columns:280px minmax(0, 1fr); gap:20px; align-items:start;}

/* 왼쪽 목록: 긴 본문을 읽는 동안에도 따라오도록 sticky */
.nutri-side {position:sticky; top:20px; max-height:calc(100vh - 40px); overflow-y:auto; background:#f7f7f9; border-radius:12px; padding:24px 18px;}
.nutri-side-tit {font-size:20px; font-weight:700; color:#1d2433; margin:0 0 14px; word-break:keep-all;}
.nutri-search {position:relative; margin-bottom:10px;}
.nutri-search svg {position:absolute; left:13px; top:13px; color:#888; pointer-events:none;}
.nutri-search input {width:100%; height:44px; padding:0 12px 0 40px; font-size:14px; color:#333; border:1px solid #ddd; border-radius:8px; background:#fff; outline:none;}
.nutri-search input:focus {border-color:#B62B5C;}
.nutri-list {margin:0; padding:0; list-style:none;}
.nutri-list li + li {border-top:1px solid #e6e6ea;}
.nutri-list button {display:block; width:100%; position:relative; padding:11px 30px 11px 12px; text-align:left; font-size:16px; line-height:1.45; color:#333; border:0; border-left:3px solid transparent; background:none; word-break:keep-all; border-radius:0 6px 6px 0;}
.nutri-list button:after {content:''; position:absolute; right:14px; top:50%; width:7px; height:7px; margin-top:-4px; border-top:1.5px solid #999; border-right:1.5px solid #999; transform:rotate(45deg);}
.nutri-list button:hover {background:#faf5f9; color:#B62B5C;}
.nutri-list button.on {background:#faebf6; color:#B62B5C; font-weight:700; border-left-color:#B62B5C;}
.nutri-list button.on:after {border-color:#B62B5C;}
.nutri-noresult {padding:20px 0; margin:0; text-align:center; font-size:14px; color:#888;}

.nutri-select {display:none;}

.nutri-main {background:#fff; border:1px solid #e8e8ec; border-radius:12px; padding:28px 32px 36px; scroll-margin-top:20px;}
.nutri-path {font-size:14px; color:#555; margin-bottom:14px;}
.nutri-path span + span:before {content:'>'; margin:0 10px; color:#999;}
.nutri-body-tit {font-size:28px; font-weight:700; color:#1d2433; line-height:1.35; padding-bottom:18px; margin:0 0 24px; border-bottom:1px solid #ddd; word-break:keep-all;}
.nutri-body {font-size:18px; line-height:1.85; color:#444; word-break:keep-all;}
/* 관리자 편집기로 넣은 소제목(h4)·표(table)는 class 가 없어 태그로도 지정 */
.nutri-body h4,
.nutri-body .nutri-subtit {font-size:18px; font-weight:700; color:#B62B5C; margin:26px 0 8px; padding-left:10px; border-left:4px solid #B62B5C; line-height:1.3;}
.nutri-body h4:first-child,
.nutri-body .nutri-subtit:first-child {margin-top:0;}
.nutri-body .nutri-sub {padding-left:14px; margin:0 0 14px;}
.nutri-body img {max-width:100%; height:auto;}
.nutri-body .text-center {text-align:center; margin:10px 0 20px;}
.nutri-body .table-responsive {overflow-x:auto; -webkit-overflow-scrolling:touch; margin:10px 0 24px;}
.nutri-body table {width:100%; border-collapse:collapse; border-top:2px solid #B62B5C; font-size:15px; line-height:1.5; margin:10px 0 24px;}
.nutri-body .table-responsive table {min-width:520px; margin:0;}
.nutri-body table th,
.nutri-body table td {border:1px solid #ded5da; padding:8px 10px; text-align:center; vertical-align:middle;}
.nutri-body table th {background:#faebf6; color:#B62B5C; font-weight:600;}
.nutri-empty {padding:60px 0; text-align:center; color:#888;}

/* 모바일: 왼쪽 목록 대신 드롭다운 */
@media (max-width:768px){
	.nutri-layout {grid-template-columns:minmax(0, 1fr); gap:0;}
	.nutri-side {display:none;}
	.nutri-select {display:block; width:100%; height:46px; padding:0 12px; margin-bottom:16px; font-size:15px; color:#333; border:1px solid #ded5da; border-radius:8px; background:#fff;}
	.nutri-main {padding:20px 16px 28px;}
}
@media (max-width:640px){
	.nutri-tabs button {font-size:15px; padding:10px 4px;}
	.nutri-body-tit {font-size:21px;}
	.nutri-body {font-size:15px;}
	.nutri-body h4,
	.nutri-body .nutri-subtit {font-size:16px;}
	.nutri-body .nutri-sub {padding-left:6px;}
}

.diet-wrap [hidden] {display:none !important;}
.diet-wrap button {font-family:inherit; cursor:pointer;}

.diet-intro {
	margin:0 0 24px;
	padding:18px 22px;
	background:#f7f7f9;
	border-radius:12px;
	font-size:1.1rem;
	line-height:1.7;
	color:#555;
	word-break:keep-all;
}
.diet-intro p {margin:0 0 8px;}
.diet-intro p:last-child {margin-bottom:0;}
.diet-intro b {color:#B62B5C;}

.diet-score-guide {
	margin:12px 0 0;
	padding:12px 14px 12px 32px;
	background:#fff;
	border:1px solid #e8e8ec;
	border-radius:8px;
	list-style:disc;
}
.diet-score-guide li {margin:4px 0; font-size:1rem; color:#444;}
.diet-score-guide b {color:#B62B5C;}

.diet-form {margin:0;}
.diet-table {
	width:100%;
	border-collapse:collapse;
	border:1px solid #e8e8ec;
	background:#fff;
	font-size:0.9375rem;
}
.diet-table th,
.diet-table td {
	border:1px solid #d0dff0;
	padding:14px 16px;
	vertical-align:middle;
	word-break:keep-all;
}
.diet-table th {
	width:38%;
	background:#FAEBDD;
	color:#363131;
	font-weight:700;
	text-align:left;
	line-height:1.5;
}
.diet-table td {
	background:#fff;
}
.diet-opt {
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin:4px 18px 4px 0;
	cursor:pointer;
	color:#333;
	line-height:1.45;
}
.diet-opt input {
	width:16px;
	height:16px;
	margin:0;
	accent-color:#B62B5C;
	flex:none;
}

.diet-btns {
	display:flex;
	justify-content:center;
	gap:10px;
	margin-top:24px;
}
.diet-btn {
	min-width:200px;
	padding:10px 20px;
	border:1px solid #bbb;
	border-radius:8px;
	background:#fff;
	font-size:0.9375rem;
	color:#333;
}
.diet-btn--main {
	border-color:#B62B5C;
	background:#B62B5C;
	color:#fff;
	font-weight:600;
}
.diet-btn--main:hover,
.diet-btn--main:focus-visible {
	background:#9a244e;
	border-color:#9a244e;
	outline:none;
}

.diet-result {
	margin:28px auto 0;
	padding:22px 24px;
	border:1px solid #e3e3e8;
	border-radius:12px;
	background:#fff;
}
.diet-summary {
	margin:0 0 20px;
	padding:16px 18px;
	background:#faebf6;
	border-radius:10px;
	font-size:1.1rem;
	line-height:1.7;
	color:#333;
	word-break:keep-all;
}
.diet-summary .diet-total {
	margin:0 0 8px;
	font-size:1.25rem;
	font-weight:700;
	color:#222;
}
.diet-summary .diet-total b {color:#B62B5C;}
.diet-summary p {margin:0 0 6px;}
.diet-summary a {color:#B62B5C; text-decoration:underline;}

.diet-feedback {
	margin:0;
	padding:0 0 0 4px;
	list-style:none;
	counter-reset:diet-q;
}
.diet-feedback li {
	margin:0 0 18px;
	padding:0 0 16px;
	border-bottom:1px dotted #ddd;
	word-break:keep-all;
}
.diet-feedback li:last-child {
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:0;
}
.diet-feedback strong {
	display:block;
	margin:0 0 6px;
	font-size:1.1rem;
	color:#B62B5C;
	line-height:1.4;
}
.diet-feedback p {
	margin:0;
	font-size:1rem;
	line-height:1.7;
	color:#444;
}

@media (max-width:767px) {
	.diet-intro {padding:14px 16px; font-size:0.875rem;}
	.diet-table th,
	.diet-table td {display:block; width:100%;}
	.diet-table th {border-bottom:0;}
	.diet-table td {padding-top:8px;}
	.diet-opt {
		display:flex;
		margin:8px 0;
	}
	.diet-btn {flex:1; min-width:0;}
	.diet-result {padding:16px;}
	.diet-summary p {font-size: 1rem;}
	.diet-summary .diet-total {font-size:1.125rem;}
	.diet-feedback strong {
		font-size:1rem;	
	}
	.diet-feedback p { font-size: 0.925rem; }
}
