/* 0.7.0 — isolated discovery components. No generic header button styling. */
.njd{--njd-border:#d9cddf;--njd-muted:#63586a;--njd-focus:#4f1964;isolation:isolate;min-width:0;scroll-margin-block-start:32px}
.njd [hidden],.njd-suggestions[hidden]{display:none!important}
.njd :is(button,a,input,select,summary){touch-action:manipulation}
.njd :is(button,a,input,select,summary):focus-visible{outline:3px solid var(--nj-plum,#4f1964);outline-offset:3px}
.njd .njd-form{padding:clamp(18px,3vw,32px);border:1px solid var(--njd-border);border-radius:24px;background:#fff;box-shadow:0 10px 34px #4f196409;min-width:0}
.njd .njd-intro{display:flex;gap:24px;justify-content:space-between;align-items:center;margin-bottom:20px}
.njd .njd-intro h2{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.25;margin:0;letter-spacing:-.02em}
.njd .njd-intro>p{max-width:28ch;font-size:.9rem;line-height:1.5;color:var(--njd-muted);margin:0}
.njd .njd-eyebrow{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--nj-plum);margin:0 0 8px}
.njd .njd-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 24px;background:#f5f1f7;border-radius:16px;padding:6px}
.njd .njd-tabs>a{display:flex;flex-direction:column;justify-content:center;gap:2px;border:1px solid transparent;padding:12px 16px;border-radius:12px;text-decoration:none;min-height:68px;line-height:1.45;color:var(--nj-plum);background:transparent}
.njd .njd-tabs>a:is([aria-selected=true],[aria-current=page]){background:#fff;box-shadow:0 3px 8px #4f196410;border-color:#c9b9d2}
.njd .njd-tabs strong{font-size:1rem;font-weight:750}
.njd .njd-tabs span{font-size:.8rem;color:var(--njd-muted)}
.njd .njd-panel{min-width:0;margin-bottom:20px}
.njd .njd-panel>label,.njd .njd-exclude>label{font-weight:650;margin-bottom:9px;font-size:.95rem;display:block}
.njd .njd-search-row{display:flex;align-items:stretch;gap:10px;min-width:0}
.njd .njd-search-row>.njd-search-host{flex:1}
.njd .njd-search-row>.nj-button{flex:none;margin:0;min-height:50px}
.njd .njd-search-host>input{width:100%;min-height:50px;margin:0;font-size:1rem;line-height:1.45;padding:12px 14px;border:1px solid #92809d;border-radius:12px;background:#fff;color:#29232d;min-width:0}
.njd .njd-search-host>input:focus{outline:3px solid #4f19642b;outline-offset:1px;border-color:var(--nj-plum)}
.njd .njd-help{font-size:.81rem;line-height:1.55;color:var(--njd-muted);margin:9px 0 0;max-width:92ch}
.njd .njd-saved-note{font-size:.8rem;line-height:1.5;padding:10px 12px;background:#f7f2eb;border-radius:9px;margin:12px 0 0}
.njd .njd-ingredients{background:#fbf4e9;border:1px solid #ecdfcf;border-radius:16px;padding:clamp(14px,2.5vw,22px)}
.njd .njd-composer{position:relative;display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:7px;background:#fff;border:1px solid #92809d;border-radius:12px;min-height:62px;min-width:0}
.njd .njd-composer:focus-within{outline:3px solid #4f19642b;outline-offset:1px;border-color:var(--nj-plum)}
.njd .njd-chips{display:contents}
.njd .njd-composer>.njd-search-host{flex:1 1 185px;min-width:min(180px,100%);max-width:100%}
.njd .njd-composer>.njd-search-host>input{min-height:44px;border:0;padding:8px 10px;margin:0;background:transparent;outline:0!important;box-shadow:none;border-radius:6px}
.njd .njd-chip{display:inline-flex;gap:4px;align-items:center;background:#f4edf7;border:1px solid #ccb8d7;border-radius:8px;padding:0 0 0 10px;color:#4f1964;max-width:100%;line-height:1.35;min-height:44px;min-width:0}
.njd .njd-chip>span{font-size:.91rem;font-weight:650;overflow-wrap:anywhere}
.njd .njd-chip>button{flex:none;width:44px;height:44px;min-height:44px;margin:0;padding:0;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#4f1964;font-size:1.25rem;cursor:pointer}
.njd .njd-chip>button:hover{background:#e7dbed}
.njd .njd-chip[data-njd-chip=exclude]{border-color:#d8bfb7;background:#faf1ed;color:#71422e}
.njd:not(.njd-enhanced) .njd-chip>button{display:none}
.njd .njd-quick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:17px 0 20px}
.njd .njd-quick>span{width:100%;font-size:.78rem;color:var(--njd-muted);font-weight:600;margin-bottom:1px}
.njd .njd-quick>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #d8cbbd;padding:8px 12px;min-height:44px;border-radius:8px;font-size:.83rem;color:#4c344f;line-height:1.4;max-width:100%;cursor:pointer}
.njd .njd-quick>button:hover{border-color:#4f1964;background:#fffaf5}
.njd .njd-quick>button:disabled{opacity:.5;cursor:default}
.njd .njd-match{padding:0;border:0;margin:0 0 14px;min-inline-size:0}
.njd .njd-match legend{font-size:.87rem;color:#4f1964;font-weight:700;margin-bottom:8px;padding:0}
.njd .njd-match>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.njd .njd-match label{position:relative;margin:0;cursor:pointer;display:block}
.njd .njd-match input[type=radio]{position:absolute;left:12px;top:14px;width:17px;height:17px;min-height:0;margin:0;padding:0;accent-color:#4f1964;z-index:1}
.njd .njd-match label>span{display:block;height:100%;padding:11px 12px 12px 37px;background:#fff;border:1px solid #d8cbbd;border-radius:12px;line-height:1.4}
.njd .njd-match strong{font-size:.85rem;color:#4f1964;display:block}
.njd .njd-match small{display:block;font-size:.77rem;color:var(--njd-muted);margin-top:4px}
.njd .njd-match input:checked+span{border-color:#4f1964;box-shadow:inset 0 0 0 1px #4f1964;background:#fffaf6}
.njd .njd-match input:focus-visible+span{outline:3px solid #4f1964;outline-offset:3px}
.njd .njd-missing{display:flex;align-items:end;gap:16px;margin:15px 0}
.njd .njd-missing>label{flex:0 1 330px;font-size:.86rem}
.njd .njd-missing>small{flex:1;max-width:52ch;font-size:.77rem;line-height:1.45;color:var(--njd-muted);padding-bottom:6px}
.njd .njd-filters,.njd .njd-exclude,.njd .njd-browse-list{border:0;border-top:1px solid #e6dce9;padding:0;margin:16px 0 0;min-width:0}
.njd .njd-browse-list{margin-bottom:16px}
.njd .njd-filters>summary,.njd .njd-exclude>summary,.njd .njd-browse-list>summary{padding:12px 2px;min-height:48px;cursor:pointer;font-size:.9rem;color:#4f1964;font-weight:650}
.njd .njd-filters>summary small,.njd .njd-exclude>summary small{font-size:.76rem;font-weight:400;color:var(--njd-muted);margin-inline-start:12px}
.njd .njd-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;align-items:start;padding:4px 0 6px}
.njd .njd-filter-grid>label{font-size:.82rem;font-weight:600}
.njd .njd-filter-grid select,.njd .njd-missing select{font-size:.85rem;min-height:46px;margin-top:6px;padding:9px 10px;background:#fff;border:1px solid #92809d}
.njd .njd-filter{position:relative;border:1px solid #92809d;border-radius:9px;background:#fff;font-size:.85rem;min-width:0}
.njd .njd-filter>summary{min-height:46px;padding:11px 10px;cursor:pointer;line-height:1.4}
.njd .njd-filter>div{padding:4px 10px 10px;max-height:230px;overflow:auto}
.njd .njd-filter label{display:flex;gap:8px;align-items:flex-start;min-height:40px;padding:7px 0;font-size:.82rem;line-height:1.45}
.njd .njd-filter label>span{flex:1}
.njd .njd-ingredient-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 16px;max-height:250px;overflow:auto;margin:12px 0}
.njd .njd-ingredient-list>label{display:flex;align-items:flex-start;gap:8px;min-height:42px;font-size:.82rem;padding:8px 0;line-height:1.5}
.njd .njd-ingredient-list small{color:#6b6270;margin-left:auto}
.njd .njd-form-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid #e6dce9;margin:18px 0 0;padding-top:12px;font-size:.8rem;color:var(--njd-muted)}
.njd .njd-form-foot a{min-height:44px;display:inline-flex;align-items:center}
.njd .njd-active{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:18px 0 0}
.njd .njd-active:empty{margin:0}
.njd .njd-active-chip{border:1px solid #cbb6d4;background:#f5eff8;border-radius:8px;color:#4f1964;font:inherit;font-size:.8rem;padding:7px 11px;min-height:44px;cursor:pointer;max-width:100%;line-height:1.45;text-align:start}
.njd .njd-status{font-size:.87rem;color:#625167;line-height:1.5;min-height:1.5em;margin:10px 0}
.njd .njd-results{transition:opacity .12s;min-width:0}
.njd.njd-loading .njd-results{opacity:.55}
.njd .njd-results-head{display:flex;gap:16px;align-items:baseline;justify-content:space-between;margin:10px 0 20px}
.njd .njd-results-head h2{font-size:clamp(1.3rem,2.3vw,1.85rem);margin:0;line-height:1.25}
.njd .njd-results-head p{margin:0;font-size:.86rem;color:var(--njd-muted)}
.njd .njd-empty{padding:clamp(20px,4vw,38px);background:#f7f2ea;border:1px solid #e9decb;border-radius:16px;text-align:center}
.njd .njd-empty h3{font-size:1.25rem;margin:0 0 10px}
.njd .njd-empty p{max-width:65ch;margin:0 auto;color:var(--njd-muted);font-size:.94rem;line-height:1.65}
.njd .njd-pages{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:24px 0}
.njd .njd-pages>a{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #cbb6d4;border-radius:9px;text-decoration:none;background:#fff}
.njd .njd-pages>a[aria-current=page]{background:#4f1964;color:#fff}
.njd .njd-error{background:#fff6e7;border:1px solid #af8646;padding:16px;border-radius:12px;margin:12px 0;font-size:.9rem;line-height:1.55}
.njd .njd-error p{margin:0 0 10px}
.njd .njd-error button,.njd .njd-error a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;margin:0 8px 0 0;border:1px solid #8a6533;border-radius:7px;background:white;color:#573718;font-size:.85rem;cursor:pointer;text-decoration:none}
/* Suggestions are a vertical list with group labels, never fixed-size icon buttons. */
.njd-search-host{position:relative;display:block;width:100%;min-width:0;text-align:start}
.nj-header-search>.njd-search-host{flex:1;min-width:0}
.njd-suggestions{position:absolute;z-index:100;top:calc(100% + 9px);left:0;width:100%;max-width:calc(100vw - 24px);max-height:min(480px,65dvh);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:8px;background:#fff;border:1px solid #d5c7dc;border-radius:14px;box-shadow:0 18px 48px #31143b26;text-align:start;font:400 1rem/1.5 var(--nj-body-font,system-ui,sans-serif);color:#29232d}
.njd-suggestions *{box-sizing:border-box;min-width:0}
.njd-suggestions .njd-suggest-group+.njd-suggest-group{margin-top:7px;border-top:1px solid #e5dce9;padding-top:5px}
.njd-suggestions .njd-suggest-label{font-size:.73rem;letter-spacing:.08em;text-transform:uppercase;font-weight:750;color:#716079;padding:7px 10px;line-height:1.4}
.njd-suggestions .njd-suggest-option{position:relative;display:flex;align-items:center;gap:12px;width:100%;height:auto;min-height:62px;padding:10px;border:0;border-radius:9px;background:transparent;color:#29232d;line-height:1.45;cursor:pointer;text-align:start;margin:0;float:none}
.njd-suggestions .njd-suggest-option:hover,.njd-suggestions .njd-suggest-option.is-active{background:#f6ead9}
.njd-suggestions .njd-suggest-icon{flex:0 0 44px;display:grid;place-items:center;width:44px;min-height:40px;color:#4f1964;font-size:1.25rem;align-self:center}
.njd-suggestions .njd-suggest-icon>img{display:block;width:44px;height:55px;object-fit:cover;border-radius:7px;margin:0;max-width:44px;aspect-ratio:4/5}
.njd-suggestions .njd-suggest-copy{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;white-space:normal;overflow-wrap:anywhere}
.njd-suggestions .njd-suggest-copy>strong{display:block;font-size:.91rem;line-height:1.4;font-weight:650;color:#4f1964;letter-spacing:normal;margin:0;padding:0}
.njd-suggestions .njd-suggest-copy>small{display:block;font-size:.76rem;line-height:1.4;color:#6b5b71;margin:0;padding:0}
.njd-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:800px){.njd .njd-intro{display:block}.njd .njd-intro>p{max-width:none;margin-top:8px}.njd .njd-match>div,.njd.njd-enhanced .njd-match>div{grid-template-columns:repeat(2,minmax(0,1fr))}.njd .njd-match small{font-size:.79rem}.njd .njd-missing{display:block}.njd .njd-missing small{display:block;margin-top:8px}.njd .njd-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.njd .njd-ingredient-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){
 .njd .njd-form{border-radius:18px;padding:15px}
 .njd .njd-intro h2{font-size:1.3rem}.njd .njd-intro>p{font-size:.84rem}
 .njd .njd-tabs{gap:6px;padding:5px;margin-bottom:20px}.njd .njd-tabs>a{padding:9px;min-height:62px}.njd .njd-tabs strong{font-size:.9rem}.njd .njd-tabs span{font-size:.73rem;line-height:1.4}
 .njd .njd-search-row{flex-direction:column;gap:8px}.njd .njd-search-row>.nj-button{min-height:44px;padding-block:9px}
 .njd .njd-ingredients{padding:12px}.njd .njd-composer{padding:4px}
 .njd .njd-help{font-size:.8rem}.njd .njd-chip>span{font-size:.87rem}
 .njd .njd-filter-grid{gap:8px}.njd .njd-filter-grid>label{font-size:.8rem}
 .njd .njd-results-head{flex-direction:column;gap:5px;margin-bottom:16px}
 .njd .njd-ingredient-list{grid-template-columns:1fr}
 .njd .njd-filters>summary small,.njd .njd-exclude>summary small{display:block;margin:3px 0 0 16px}
 .njd .njd-form-foot{gap:5px}.njd .njd-form-foot>span{flex-basis:100%}
 .njd-suggestions .njd-suggest-option{gap:9px;padding:9px 7px;min-height:60px}
 .njd-suggestions .njd-suggest-copy>strong{font-size:.88rem}
 .njd .nj-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 9px}
}
@media(prefers-reduced-motion:reduce){.njd .njd-results{transition:none}}
@media(forced-colors:active){.njd .njd-tabs>a[aria-selected=true],.njd .njd-match input:checked+span,.njd-suggestions .njd-suggest-option.is-active{outline:2px solid Highlight;outline-offset:-2px}.njd .njd-chip,.njd .njd-active-chip{border:1px solid ButtonText}}
@media print{.njd .njd-form,.njd .njd-status,.njd .njd-active,.njd .njd-pages,.njd .njd-error,.njd-suggestions{display:none!important}.njd.njd-loading .njd-results{opacity:1}}

/* Live discovery should not require a second Apply click or duplicate result counts. */
.njd.njd-enhanced .njd-apply{display:none}
.njd .njd-mode-help{display:none}
.njd .njd-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0;min-height:0;white-space:nowrap}
.njd.njd-loading .njd-status{position:static;width:auto;height:auto;clip-path:none;white-space:normal;margin:12px 0}
@media(max-width:520px){
 .njd.njd-enhanced .njd-match>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .njd.njd-enhanced .njd-match label>span{padding:9px 5px;display:grid;place-items:center;min-height:62px;text-align:center}
 .njd.njd-enhanced .njd-match label strong{font-size:.79rem;line-height:1.35}
 .njd.njd-enhanced .njd-match input[type=radio]{opacity:0;left:0;top:0;width:100%;height:100%;cursor:pointer}
 .njd.njd-enhanced .njd-match small{display:none}
 .njd.njd-enhanced .njd-mode-help{display:block;font-size:.8rem;line-height:1.5;margin:-3px 0 14px;color:var(--njd-muted)}
 .njd .njd-quick>button:nth-of-type(n+7){display:none}
 .njd .njd-filters>summary small,.njd .njd-exclude>summary small{display:none}
}

/* Native GET fallback uses editable checkboxes, not nonfunctional chip controls. */
.njd:not(.njd-enhanced) [data-njd-remove],.njd:not(.njd-enhanced) .njd-quick,.njd:not(.njd-enhanced) .njd-browse-list>label{display:none}

.njd-selection-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem;margin:.25rem 0 .5rem}.njd-selection-summary .njd-help{margin:0}.njd-result-jump{display:inline-flex;min-height:44px;align-items:center;font-size:.85rem;font-weight:650;text-underline-offset:3px}.njd-results{scroll-margin-top:1.5rem}

/* 0.8: distinct, non-overlapping possibility groups. Scoped against theme card rules. */
.njd .njd-group-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.6rem;padding:0}
.njd .njd-group-nav a{display:flex;align-items:center;gap:.6rem;border:1px solid var(--nj-line,#ddd3e3);border-radius:999px;min-height:44px;padding:.45rem .9rem;background:#fff;color:var(--nj-plum,#4f1964);text-decoration:none;font-size:.9rem;line-height:1.25}
.njd .njd-group-nav a[aria-current="page"]{background:var(--nj-plum,#4f1964);color:#fff;border-color:var(--nj-plum,#4f1964)}
.njd .njd-group-nav a span{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;background:rgba(127,105,140,.1);min-width:1.7em;padding:.15em .3em;font-variant-numeric:tabular-nums}
.njd .njd-group-nav a[aria-current="page"] span{background:rgba(255,255,255,.17)}
.njd .njd-match-group{padding:1.15rem 0 1.6rem;border-top:1px solid var(--nj-line,#ddd3e3);margin:0}
.njd .njd-group-heading{margin:0 0 1rem;padding:.8rem 1rem;border-radius:.8rem;background:#f4e6d1}
.njd .njd-match-group--near .njd-group-heading{background:#f9f4eb}
.njd .njd-match-group--inspiration .njd-group-heading{background:#f0edf4}
.njd .njd-group-heading h3{display:flex;gap:.6rem;align-items:center;margin:.15rem 0 .35rem;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.25}
.njd .njd-group-heading h3 span{font-size:.7em;border:1px solid currentColor;border-radius:99px;padding:.08em .45em}
.njd .njd-group-heading p{margin:.3rem 0;font-size:.93rem;line-height:1.5}
.njd .njd-group-heading .njd-eyebrow{font-size:.66rem;margin:0;letter-spacing:.12em}
.njd .nj-tile-copy h4{margin:.5rem 0;font-size:1.06rem;line-height:1.35;overflow-wrap:anywhere;color:var(--nj-plum,#4f1964)}
.njd .nj-tile-copy h4 a{text-decoration:none;color:inherit}
.njd .nj-match-note{margin:.75rem 0 .4rem;font-size:.85rem;line-height:1.5;padding-top:.6rem;border-top:1px solid var(--nj-line,#ddd3e3)}
.njd .njd-match-details{font-size:.84rem;line-height:1.5;overflow-wrap:anywhere;margin-top:.45rem}
.njd .njd-match-details summary{min-height:44px;display:list-item;cursor:pointer;padding:.65rem 0;color:var(--nj-plum,#4f1964);font-weight:600}
.njd .njd-match-details p{font-size:inherit;line-height:inherit;margin:.45rem 0}
.njd .njd-group-more{display:inline-flex;min-height:44px;align-items:center;font-weight:600;color:var(--nj-plum,#4f1964)}
.njd .njd-match>div,.njd.njd-enhanced .njd-match>div{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1100px){.njd .njd-match>div{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){
 .njd .njd-group-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
 .njd .njd-group-nav a{border-radius:.6rem;justify-content:space-between;font-size:.79rem;padding:.4rem .5rem;gap:.2rem}
 .njd .njd-match>div,.njd.njd-enhanced .njd-match>div{grid-template-columns:repeat(2,minmax(0,1fr))}
 .njd .nj-tile-copy h4{font-size:.86rem;line-height:1.4}
 .njd .nj-match-note,.njd .njd-match-details{font-size:.77rem}
 .njd .njd-group-heading{padding:.75rem}
 .njd .njd-match-group{padding-bottom:1.1rem}
}
@media(prefers-reduced-motion:reduce){.njd .njd-match-group{scroll-behavior:auto}}
