.np-body { font-size:16px; line-height:1.65; }
.np-eyebrow { margin:0 0 18px; color:var(--color-text-secondary); font-size:14px; }
.np-types { display:grid; gap:14px; }
#nutramedix-menu .nutramedix-product-image:has(.np-cover-plate) { background:#ebd3bc; }
.np-search label { display:block; font-size:14px; margin-bottom:7px; }
#nutramedix-menu .np-search input { box-sizing:border-box; width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--border-glass-active); border-radius:10px; background:var(--bg-primary); color:var(--color-text-primary); font:16px var(--font-sans); }
.np-list-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:18px 0; }
.np-list-toolbar > div { display:flex; flex-wrap:wrap; gap:8px; }
.np-list-toolbar > span,.np-muted { color:var(--color-text-secondary); font-size:14px; }
#nutramedix-menu .np-control { box-sizing:border-box; min-height:44px; padding:9px 13px; border:1px solid var(--border-glass-active); border-radius:10px; background:var(--bg-primary); color:var(--color-text-primary); font:600 14px/1.4 var(--font-sans); cursor:pointer; }
#nutramedix-menu .np-control[aria-pressed="true"] { border-color:var(--ui-accent); box-shadow:inset 0 0 0 1px var(--ui-accent); }
#nutramedix-menu .np-control:disabled { opacity:.4; cursor:default; }
.np-region-list { display:grid; gap:14px; }
#nutramedix-menu .np-region { width:100%; display:grid; grid-template-columns:38% minmax(0,1fr); align-items:stretch; border:1px solid var(--border-glass-active); border-radius:16px; padding:0; overflow:hidden; background:var(--bg-primary); color:var(--color-text-primary); text-align:left; font:inherit; cursor:pointer; }
.np-region-image { display:grid; place-items:center; align-self:stretch; background:#ebd3bc; }
.np-cover-plate { position:relative; width:100%; aspect-ratio:1; background:#ebd3bc; }
.np-cover-plate img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.np-cover-dots { position:absolute; inset:0; pointer-events:none; }
.np-cover-dot { position:absolute; width:clamp(3px,2.1%,5px); height:clamp(3px,2.1%,5px); border-radius:50%; background:#d0122b; box-shadow:0 0 0 1px #fff; transform:translate(-50%,-50%); }
.np-region-copy { display:flex; flex-direction:column; padding:17px 20px; gap:8px; }
.np-region-copy strong { font-size:20px; line-height:1.25; }
.np-region-copy > span:not(.np-region-action) { color:var(--color-text-secondary); font-size:14px; line-height:1.5; }
.np-region-action { display:flex; align-items:center; gap:5px; font-size:14px; font-weight:650; color:var(--ui-accent); }
.np-guide-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.np-guide-meta > span { font-size:14px; color:var(--color-text-secondary); }
.np-intro { margin:22px 0 12px; font-size:18px; line-height:1.6; }
.np-product { font-size:14px; margin:0 0 12px; color:var(--color-text-secondary); }
.np-status-note { font-size:14px; margin:0 0 20px; padding-left:12px; border-left:3px solid var(--ui-accent); }
.np-index { display:flex; flex-wrap:wrap; gap:8px; padding:0 0 22px; }
#nutramedix-menu .np-index button { padding:10px 12px; min-height:44px; border:1px solid var(--border-glass-active); border-radius:9px; background:var(--bg-primary); color:var(--color-text-primary); font:14px/1.3 var(--font-sans); cursor:pointer; }
.np-section { border-top:1px solid var(--border-glass-active); scroll-margin-top:10px; }
.np-section > summary { padding:20px 4px; font-size:18px; font-weight:650; cursor:pointer; }
.np-section-content { padding:0 4px 22px; overflow-wrap:anywhere; }
.np-section-content p { margin:0 0 16px; }
.np-page { display:inline; margin-left:6px; font-size:12px; color:var(--color-text-secondary); font-weight:400; }
.np-steps { margin:16px 0; padding-left:27px; }
.np-steps li { padding:0 0 8px 7px; }
.np-steps li::marker { color:var(--ui-accent); font-weight:700; }
.np-steps strong { display:block; margin-bottom:7px; }
.np-technique { margin:12px 0; padding:0 16px; border:1px solid var(--border-glass-active); border-radius:12px; background:var(--bg-primary); }
.np-technique > summary { padding:16px 0; font-weight:650; cursor:pointer; }
.np-technique > div { padding-bottom:8px; }
.np-review-note { padding:16px; border-left:3px solid var(--ui-accent); background:var(--bg-primary); margin-bottom:20px; }
.np-review-note p { margin:8px 0 0; }
.np-figure { margin:24px 0; }
.np-figure > button { position:relative; display:block; width:100%; padding:0; border:1px solid var(--border-glass-active); border-radius:12px; overflow:hidden; background:#ebd3bc; cursor:zoom-in; }
.np-figure img { display:block; width:100%; height:auto; max-height:360px; object-fit:contain; }
.np-figure-overlay .np-cover-plate { width:100%; background:#ebd3bc; }
.np-figure-overlay .np-cover-dot { width:clamp(6px,2.4%,9px); height:clamp(6px,2.4%,9px); }
.np-image-viewport .np-cover-plate { width:100%; background:#ebd3bc; }
.np-image-viewport .np-cover-dot { width:clamp(8px,2.4%,12px); height:clamp(8px,2.4%,12px); }
.np-enlarge { display:block; padding:10px; background:var(--bg-primary); color:var(--ui-accent); font:600 14px/1.4 var(--font-sans); }
.np-figure figcaption { margin-top:10px; font-size:14px; line-height:1.6; color:var(--color-text-secondary); }
.np-figure small { display:block; font-size:12px; }
.np-references { padding-left:24px; font-size:14px; }
.np-references li { padding:0 0 12px 4px; }
.np-credits,.np-source-file { color:var(--color-text-secondary); font-size:14px; }
.np-empty { padding:28px 0; }
.np-save-status { color:var(--color-text-secondary); font-size:14px; }
.np-image-toolbar { flex:none; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; padding:12px; border-bottom:1px solid var(--border-glass-active); }
.np-image-viewport { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; background:var(--bg-primary); }
.np-image-viewport img { display:block; height:auto; max-width:none; min-width:100%; background:white; }
.np-image-caption { flex:none; max-height:25%; overflow:auto; padding:14px 18px max(14px,env(safe-area-inset-bottom)); font-size:14px; line-height:1.5; }
.np-image-caption small { display:block; margin-top:5px; color:var(--color-text-secondary); font-size:12px; }
.np-image-fallback { display:block; padding:20px; background:var(--bg-primary); color:var(--color-text-primary); font:14px/1.5 var(--font-sans); }
.np-image-fallback[hidden] { display:none; }
@media(max-width:400px) { .np-region-copy { padding:14px; } .np-region-copy strong { font-size:18px; } }
@media(min-width:641px) { .np-guide { padding:24px 40px; } .np-region-list { grid-template-columns:repeat(2,minmax(0,1fr)); } #nutramedix-menu .np-region { grid-template-columns:160px minmax(0,1fr); } }

#nutramedix-menu .np-region.np-region-text { grid-template-columns:52px minmax(0,1fr); align-items:start; }
.np-region-number { padding:20px 0 0 16px; color:var(--ui-accent); font-size:20px; font-weight:650; font-variant-numeric:tabular-nums; }
.np-region-copy .np-area-group { font-size:12px; letter-spacing:.02em; }
.np-catalog-label { grid-column:1 / -1; margin:8px 0 0; font-size:13px; font-weight:650; letter-spacing:.03em; text-transform:uppercase; color:var(--color-text-secondary); }
.np-region-list > .np-catalog-label:first-child { margin-top:0; }
#nutramedix-menu .np-region-pending { border-style:dashed; }
#nutramedix-menu .np-region-overview { border-color:var(--ui-accent); }
.np-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0; }
.np-facts > div { padding:14px; border:1px solid var(--border-glass-active); border-radius:12px; background:var(--bg-primary); }
.np-facts dt { color:var(--color-text-secondary); font-size:14px; margin-bottom:5px; }
.np-facts dd { margin:0; font-size:16px; line-height:1.5; font-weight:600; }
.np-fact-bilateral { grid-column:1 / -1; }
.np-bilateral { display:inline-block; margin-left:6px; padding:2px 8px; border-radius:999px; background:var(--ui-accent); color:var(--bg-primary); font-size:11px; font-weight:700; letter-spacing:.02em; vertical-align:middle; }
.np-dose-reference { margin-top:18px; }
.np-dose-reference .np-facts { margin-top:12px; }
.np-sheet-heading { margin:28px 0 8px; font-size:16px; font-weight:650; }
.np-limits { margin:0 0 20px; padding-left:22px; }
.np-limits li { padding:0 0 8px; }
#nutramedix-menu .np-consult-btn { width:100%; min-height:48px; margin:8px 0 6px; padding:12px 16px; border:0; border-radius:12px; background:var(--ui-accent); color:var(--bg-primary); font:650 16px/1.3 var(--font-sans); cursor:pointer; }
.np-figure.np-map img, .np-sheet .np-figure img { max-height:460px; }
.np-references a,.np-dose-source a { color:var(--ui-accent); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:400px) { .np-facts { grid-template-columns:1fr; } .np-fact-bilateral { grid-column:auto; } }
#protocol-consult-banner { position:absolute; z-index:9; top:auto; bottom:16px; left:12px; right:12px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid var(--border-glass-active); border-radius:12px; background:rgba(13,18,32,.92); color:var(--color-text-primary); pointer-events:auto; }
#protocol-consult-banner[hidden] { display:none !important; }
#protocol-consult-banner p { margin:0; font-size:13px; line-height:1.4; }
#protocol-consult-banner button { min-height:36px; padding:6px 10px; border:1px solid var(--border-glass-active); border-radius:8px; background:var(--bg-primary); color:var(--color-text-primary); font:600 13px var(--font-sans); cursor:pointer; }
.phone-layout #protocol-consult-banner { top:8px; bottom:auto; }
