.shopgroup > summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:16px 0;min-height:48px;font-size:20px;font-weight:700;color:#294d38;border-bottom:1px solid #deded1}
.shopgroup > summary::-webkit-details-marker {display:none}
.shopgroup > summary::after {content:'+';font-size:25px;line-height:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e8eddf;flex-shrink:0}
.shopgroup[open] > summary::after {content:'−'}
.shopgroup > summary:focus-visible {outline:3px solid #c46b3d;outline-offset:3px}
.plan-nutrition {margin-top:40px;padding-top:30px;border-top:1px solid #d9dece;scroll-margin-top:20px}
.estimate-note {font-size:13px;color:#655a36;background:#f4efdc;border-radius:8px;padding:10px 12px;line-height:1.5}
.nutrition-jump {margin:20px 0;font-size:14px}
.nutrition-jump a {color:#294d38;text-decoration:underline;text-underline-offset:3px}
.nutrition-cards {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.nutrition-card {padding:18px;border-radius:14px;background:#edf2e7;border:1px solid #d9e3cf;min-width:0}
.nutrition-card > span {font-size:13px;color:#596650;display:block;margin-bottom:10px}
.nutrition-card strong {font-size:26px;line-height:1.3;overflow-wrap:anywhere;display:block;color:#294d38}
.nutrition-card strong small {font-size:13px;font-weight:500}
.nutrition-full,.nutrition-sources {margin-top:18px;border-top:1px solid #ddd;padding-top:8px}
.nutrition-full > summary,.nutrition-sources > summary {cursor:pointer;padding:14px 0;min-height:44px;font-weight:600}
.nutrition-sources li {margin-bottom:14px;line-height:1.5}
.nutrition-sources li small {display:block;color:#687061;margin-top:5px}
.nutrition-missing {padding:12px;background:#fff3de;border-left:3px solid #bd8439;font-size:14px}
.nutrition-table-wrap {max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.nutrition-table {width:100%;border-collapse:collapse;font-size:14px;margin:16px 0;min-width:380px}
.nutrition-table th,.nutrition-table td {padding:12px 10px;border-bottom:1px solid #e0e3da;text-align:right;vertical-align:top}
.nutrition-table th:first-child {text-align:left;font-weight:500}
.nutrition-table thead th {background:#edf2e7;font-weight:600!important}
.nutrition-input-row {display:grid;grid-template-columns:minmax(0,2fr) minmax(110px,1fr) auto;align-items:end;gap:14px;border:1px solid #deded1;border-radius:16px;background:#fffdf8;padding:20px;margin:14px 0}
.nutrition-input-row label {display:grid;gap:8px;min-width:0}
.nutrition-input-row select,.nutrition-input-row input {min-width:0;width:100%}
.nutrition-input-row > p {grid-column:1/-1;font-size:12px;margin:0;line-height:1.5}
#calculatorresult {margin-top:28px;scroll-margin-top:20px}
#plannutrition .section-head label {display:grid;gap:8px;font-size:13px}
@media(max-width:700px){
 .nutrition-cards {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .nutrition-card {padding:14px}.nutrition-card strong {font-size:23px}
 .nutrition-input-row {grid-template-columns:minmax(0,1fr) 110px;padding:16px;gap:12px}
 .nutrition-input-row > label:first-child {grid-column:1/-1}
 .nutrition-input-row > button {justify-self:end}
 .nutrition-input-row > p {overflow-wrap:anywhere}
 .nutrition-table th,.nutrition-table td {padding:10px 8px}
 .nutrition-sources ul {padding-left:20px}
 .nutrition-sources a {overflow-wrap:anywhere}
}
@media print {.plan-nutrition,.nutrition-jump {display:none!important}.shopgroup::details-content {display:block!important;content-visibility:visible!important}.shopgroup>summary::after {display:none}}
