/* Warm paper, botanical ink and a clear order card for the blend shop. */
#blend-builder { --blend-accent:#366861; --blend-segment-0:#78b99d; --blend-segment-1:#b2a6d4; --blend-segment-2:#476344; --blend-segment-3:#77b6c9; --blend-segment-4:#d19189; max-width:1360px; margin:0 auto; overflow-wrap:anywhere; }
#blend-builder [hidden] { display:none !important; }
#blend-builder button, #blend-builder input { font:inherit; }
#blend-builder button { min-height:44px; cursor:pointer; }
#blend-builder button:disabled { cursor:not-allowed; opacity:.55; }
#blend-builder :is(button,input,a):focus-visible { outline:3px solid var(--blend-accent); outline-offset:4px; }
#blend-builder a { color:var(--blend-accent); text-underline-offset:3px; overflow-wrap:anywhere; }
#blend-builder input:not([type=range]):not([type=checkbox]) { display:block; width:100%; background:#fffdf8; border:1px solid #bdc5b5; border-radius:3px; color:var(--text); padding:11px 12px; min-height:44px; }
#blend-builder h3 { font:400 25px/1.3 var(--serif); letter-spacing:-.4px; }
#blend-builder h4 { font:400 25px/1.35 var(--serif); }
#blend-builder h5 { font-size:16px; font-weight:600; }
.blend-tab { border-color:var(--amber-dim); }
.blend-hero { display:flex; align-items:center; justify-content:space-between; gap:48px; padding:28px 0 32px; border-bottom:1px solid var(--border); }
.blend-eyebrow { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--blend-accent); margin:0 0 10px; }
.blend-hero h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(35px,4vw,58px); letter-spacing:-1.8px; line-height:1.14; }
.blend-intro { max-width:630px; margin:17px 0 0; color:#536050; font-size:16px; line-height:1.6; }
.blend-product { flex:0 0 350px; display:flex; align-items:center; gap:20px; padding:26px; color:#23392b; background:#e9e4d3; border:1px solid #e9e4d3; border-radius:2px; }
.blend-product-size { font-size:11px; letter-spacing:.5px; color:#4f604d; }
.blend-product strong { display:block; font:36px Georgia,serif; margin:8px 0; color:#243a2b; }
.blend-product strong span { display:block; margin-top:6px; white-space:nowrap; font:12px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:#4f604d; }
.blend-product p { color:#4f604d; font-size:13px; margin-bottom:14px; }
.blend-pill { display:inline-block; border:1px solid #45523f; border-radius:20px; padding:4px 9px; color:#465840; font-size:11px; line-height:1.5; }
.blend-step-title { display:flex; align-items:center; gap:13px; margin:30px 0 18px; flex-wrap:wrap; }
.blend-step-title > span:first-child { font:12px var(--mono); color:var(--blend-accent); width:30px; height:30px; border:1px solid #bec7b5; border-radius:50%; display:grid; place-items:center; }
.blend-step-note { margin-left:auto; color:var(--muted); font:10px var(--mono); letter-spacing:1px; }
.blend-paths { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#blend-builder .blend-paths button { position:relative; display:grid; grid-template-columns:36px minmax(0,1fr); align-content:center; text-align:left; gap:3px 16px; padding:20px 54px 20px 20px; background:transparent; color:var(--text); border:1px solid var(--border); border-radius:3px; }
#blend-builder .blend-paths button:hover, #blend-builder .blend-paths button[aria-pressed=true] { border-color:var(--blend-accent); background:#e5ebde; }
.blend-paths strong { font:400 26px/1.2 var(--serif); letter-spacing:-.5px; }
.blend-path-description { grid-column:2; color:var(--muted); font-size:13px; }
.blend-path-arrow { position:absolute; top:50%; transform:translateY(-50%); right:20px; color:var(--blend-accent); }
.blend-work-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr); gap:28px; align-items:start; }
.blend-catalog h4 { margin-bottom:10px; }
.blend-small { color:var(--muted); font-size:12px; line-height:1.6; }
.blend-quality-buttons { display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 18px; }
.blend-topic-branch { width:100%; border:0; border-bottom:1px solid var(--border); padding:2px 0; }
.blend-topic-branch summary { cursor:pointer; font-size:13px; line-height:1.6; padding:5px 0; min-height:34px; }
.blend-topic-branch summary span { color:var(--muted); font-size:11px; margin-left:7px; }
.blend-topic-children { display:flex; flex-wrap:wrap; gap:7px; margin-top:9px; padding-left:8px; border-left:1px solid var(--border); }
#blend-builder .blend-quality small { opacity:.75; margin-left:5px; }
.blend-related-catalog { grid-column:1/-1; border-top:1px solid var(--border); padding-top:14px; }
.blend-related-catalog > summary,.blend-more-research > summary { cursor:pointer; min-height:44px; padding:10px 0; line-height:1.5; color:var(--amber); font-size:13px; }
.blend-related-catalog > .blend-small { margin-bottom:14px; }
.blend-more-research { margin-top:12px; }
.blend-library-link { display:inline-block; padding:12px 0; font-size:13px; }
.blend-profile .study { padding:15px; margin-bottom:14px; min-width:0; overflow-wrap:anywhere; }
.blend-profile .study h4 { font-size:18px; line-height:1.55; }
.blend-profile .study .catchips { flex-wrap:wrap; }
.blend-profile .study .tags { flex-wrap:wrap; }
#blend-builder .blend-quality { border:1px solid #bdc5b5; border-radius:3px; padding:7px 17px; background:transparent; color:var(--text); font-size:13px; }
#blend-builder .blend-quality[aria-pressed=true] { background:#284d3c; color:#fffdf7; border-color:#284d3c; }
.blend-search-label,.blend-input-label { display:block; color:var(--muted); font-size:12px; margin:15px 0 7px; }
#blend-catalog-count { margin:10px 0 15px; }
.blend-oil-catalog { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.blend-oil-card { min-width:0; display:flex; flex-direction:column; gap:10px; background:transparent; padding:20px; border:1px solid var(--border); border-radius:3px; background:#fffdf8; }
.blend-oil-card.is-selected { border-color:#406649; background:#edf1e5; }
.blend-oil-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.blend-latin { color:var(--muted); font-size:12px; font-style:italic; margin-top:3px; }
.blend-oil-swatch { height:32px; width:32px; color:var(--blend-accent); flex-shrink:0; }
.blend-aroma { font-size:13px; color:#586049; }
#blend-builder .blend-oil-card button { background:transparent; border:1px solid #aebca7; border-radius:6px; color:#294d37; padding:7px; font-size:12px; margin-top:auto; }
#blend-builder .blend-oil-card button:not(:disabled):hover { background:#e1e8da; }
.blend-catalog-footnote { margin:15px 0; }
.blend-mixer { border:1px solid #bbc6b2; border-radius:3px; background:#eff1e7; padding:24px; }
.blend-mixer-top { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.blend-mixer-top > span { flex-shrink:0; }
.blend-portion { padding:17px 0; border-bottom:1px solid var(--border); }
.blend-portion-heading { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.blend-portion-heading label { font-size:14px; font-weight:600; }
#blend-builder .blend-portion-heading button { border:0; background:none; color:var(--muted); font-size:11px; padding:5px 0 5px 8px; }
.blend-portion-controls { display:flex; align-items:center; gap:15px; }
.blend-portion-controls input[type=range] { accent-color:#426a4f; min-width:0; flex:1; height:36px; }
.blend-portion-controls > span { display:flex; align-items:center; gap:6px; color:var(--muted); font:13px var(--mono); width:91px; }
#blend-builder .blend-portion-controls input[type=number] { width:74px; padding:7px; font:13px var(--mono); }
.blend-total-row { display:flex; justify-content:space-between; gap:12px; align-items:center; margin:20px 0 10px; font-size:13px; }
.blend-total-row strong { font:25px var(--mono); color:#2f573b; }
.blend-composition { display:flex; height:6px; border-radius:3px; overflow:hidden; margin:0 0 10px; gap:2px; background:#d3d9c9; }
.blend-composition span { min-width:0; flex-basis:0; }
#blend-builder .blend-text-button { color:var(--blend-accent); border:0; background:none; text-decoration:underline; text-underline-offset:3px; font-size:12px; padding:5px 0; }
.blend-proportion-note { padding:12px 0 17px 18px; color:#5a6052; font-size:12px; line-height:1.6; border-bottom:1px solid var(--border); }
.blend-pets { display:flex; align-items:flex-start; gap:10px; margin:18px 0; font-size:13px; cursor:pointer; }
.blend-pets input { margin-top:4px; accent-color:#426a4f; height:18px; width:18px; }
.blend-pets small { display:block; color:var(--muted); font-size:11px; margin-top:3px; }
.blend-inline-warning { font-size:13px; padding:12px; color:#68451f; background:#f3e9d8; border-left:3px solid #96703b; margin:10px 0 17px; }
#blend-builder .blend-primary { background:#294d3d; color:#fffdf7; padding:12px 18px; border:1px solid #294d3d; border-radius:3px; font-size:13px; font-weight:650; }
#blend-builder .blend-primary:hover { background:#1d3a2d; }
#blend-builder a.blend-primary { display:inline-flex; align-items:center; justify-content:center; min-height:44px; text-decoration:none; text-align:center; }
#blend-generate { display:flex; justify-content:space-between; width:100%; }
#blend-builder .blend-secondary { background:transparent; color:var(--text); border:1px solid #a9b59e; border-radius:3px; padding:12px 18px; font-size:13px; }
.blend-message { font-size:12px; color:#365c3d; margin-top:12px; line-height:1.6; }
#blend-builder .is-error { color:#a13f2c; }
#blend-status:empty { display:none; }
#blend-storage-note { margin-top:10px; font-size:11px; }
.blend-empty { border:1px solid #bdc5b5; border-radius:3px; padding:30px 15px; margin:20px 0; text-align:center; color:var(--muted); font-size:13px; }
.blend-empty > span { display:block; font-size:25px; color:#55734c; margin-bottom:10px; }
.blend-results { scroll-margin-top:150px; }
.blend-results-lead { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.blend-result-summary,.blend-result-cautions { padding:24px; border-radius:3px; border:1px solid #c4ccb9; background:#fffdf8; }
.blend-result-cautions { border-color:#c7b38c; background:#f5eddd; }
.blend-results-lead h4 { margin-bottom:14px; }
.blend-results-lead p:not(.blend-eyebrow) { margin:10px 0; font-size:13px; }
.blend-recipe-list { padding:0; list-style:none; margin:12px 0 18px; }
.blend-recipe-list li { display:flex; justify-content:space-between; gap:15px; border-bottom:1px solid #d1d6c7; padding:8px 0; font-size:13px; }
.blend-recipe-list strong { font-family:var(--mono); font-weight:500; }
.blend-result-cautions ul { margin:10px 0 10px 18px; font-size:13px; }
.blend-result-cautions li { margin:7px 0; }
.blend-source { display:block; color:#606954; margin-top:5px; font-size:12px; }
.blend-recipe-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:20px 0 8px; }
#blend-action-status { color:#45653e; font-size:13px; }
#blend-share-fallback { margin:20px 0; }
#blend-share-fallback label { font-size:12px; color:var(--muted); }
.blend-profile-list { margin:30px 0 20px; }
.blend-profile { border:1px solid var(--border); border-radius:3px; margin-bottom:18px; overflow:hidden; background:#fffdf8; }
.blend-profile > header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:24px; border-bottom:1px solid var(--border); background:#edf0e4; }
.blend-profile-columns { display:grid; grid-template-columns:1fr 1fr; }
.blend-profile-columns > div { padding:24px; }
.blend-profile-cautions { background:#f7f1e4; border-left:1px solid #d4c5a7; }
.blend-profile-columns h5 { margin-bottom:15px; }
.blend-profile-columns p { font-size:14px; line-height:1.7; margin-bottom:13px; }
.blend-profile-columns p.blend-small { font-size:12px; }
.blend-research + .blend-research { border-top:1px solid var(--border); padding-top:16px; margin-top:16px; }
.blend-research > p:first-child { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.blend-research a { font-size:12px; }
.blend-evidence-tier { font:10px var(--mono); background:#e5ecdd; color:#3b5a37; border-radius:4px; padding:4px 7px; }
.blend-constituents { padding:20px 24px; border-top:1px solid var(--border); }
.blend-constituents ul { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0 30px; padding:0; margin:14px 0; }
.blend-constituents li { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid var(--border); font-size:12px; }
.blend-constituents li > span:last-child { color:var(--muted); text-align:right; font-size:11px; }
.blend-checkout { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:25px; border:1px solid #b5c1aa; border-radius:3px; background:#e9eee0; }
.blend-checkout h4 { margin-bottom:10px; }
.blend-checkout p { font-size:13px; }
.blend-checkout p.blend-small { margin-top:12px; font-size:12px; }
.blend-order-pending { max-width:220px; color:#4d5d42; padding:13px 16px; border:1px solid #b5c1aa; border-radius:6px; }
.blend-review-requirements { padding:22px 0; }
.blend-review-requirements h4 { font-size:15px !important; color:#5e624e; }
.blend-review-requirements ul { margin:12px 0 0 18px; columns:2; column-gap:45px; font-size:12px; color:var(--muted); }
.blend-review-requirements li { break-inside:avoid; margin-bottom:9px; }
.blend-saved { border-top:1px solid var(--border); padding-top:26px; margin-top:34px; }
.blend-saved h3 { margin-bottom:15px; }
.blend-saved-item { display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid var(--border); padding:15px 0; font-size:13px; }
.blend-saved-item > div:last-child { display:flex; gap:8px; }
#blend-builder .blend-saved-item button { background:transparent; border:1px solid #b5c1aa; border-radius:6px; padding:8px 14px; color:#405738; font-size:12px; }
#blend-reset { margin-top:10px; }
@media(min-width:1000px) { .blend-mixer { position:sticky; top:110px; } }
@media(max-width:900px) { .blend-work-grid { grid-template-columns:minmax(0,1fr) minmax(290px,1fr); gap:18px; }.blend-oil-catalog { grid-template-columns:1fr; }.blend-hero { gap:25px; }.blend-product { flex-basis:250px; }.blend-mixer { padding:20px; } }
@media(max-width:680px) { .blend-hero { flex-direction:column; align-items:stretch; gap:22px; padding-top:10px; }.blend-product { flex-basis:auto; padding:19px; }.blend-product strong { display:inline-block; margin-right:15px; }.blend-product p { display:inline; }.blend-product .blend-pill { display:block; width:max-content; max-width:100%; margin-top:10px; }.blend-paths { gap:10px; }.blend-paths strong { font-size:18px; }#blend-builder .blend-paths button { padding:18px 14px; }.blend-path-arrow { display:none; }.blend-path-kicker { font-size:9px; }.blend-work-grid { display:flex; flex-direction:column; }.blend-catalog,.blend-mixer { width:100%; }.blend-oil-catalog { grid-template-columns:1fr 1fr; }.blend-oil-card { padding:13px; }.blend-oil-heading { align-items:flex-start; }.blend-oil-swatch { display:none; }.blend-mixer { padding:21px; }.blend-results-lead,.blend-profile-columns { grid-template-columns:1fr; }.blend-result-cautions { order:-1; }.blend-profile-cautions { order:-1; border-left:0; border-bottom:1px solid #d4c5a7; }.blend-profile > header { align-items:flex-start; flex-direction:column; }.blend-constituents ul { grid-template-columns:1fr; }.blend-checkout { flex-direction:column; align-items:stretch; }.blend-order-pending { max-width:none; }.blend-review-requirements ul { columns:1; }.blend-step-note { width:100%; margin-left:43px; }.blend-saved-item { align-items:flex-start; flex-direction:column; }.blend-results { scroll-margin-top:180px; } }
@media(prefers-reduced-motion:reduce) { #blend-builder * { scroll-behavior:auto !important; transition:none !important; } }

#blend-name-help { margin-top:6px; font-size:11px; }

.blend-library-note { display:flex; align-items:center; gap:10px; margin-top:22px; font-size:12px; color:var(--amber); }
.blend-library-note .ui-icon { flex-shrink:0; }
.blend-bottle { width:72px; height:110px; flex:0 0 72px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.blend-product-copy { min-width:0; }
.blend-product .blend-pill { color:#40543d; border-color:#a7b09a; border-radius:2px; padding:5px 7px; }
.blend-path-icon { display:block; grid-row:1 / 3; align-self:center; color:var(--amber); }
.blend-path-icon .ui-icon { width:29px; height:29px; }
.blend-recipe-actions button { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.blend-mixer { border-top:3px solid var(--blend-accent); }
#blend-builder .blend-oil-heading h5 { font:400 22px/1.2 var(--serif); }
@media (max-width:900px) { .blend-product { flex-basis:300px; padding:20px; gap:14px; }.blend-bottle { width:56px; flex-basis:56px; } }
@media (max-width:680px) {
  .blend-product { flex-basis:auto; }
  .blend-product strong { display:block; }
  .blend-product p { display:block; margin-bottom:10px; }
  .blend-product .blend-pill { width:auto; }
  .blend-paths { grid-template-columns:1fr; gap:8px; }
  .blend-paths strong { font-size:23px; }
  #blend-builder .blend-paths button { padding:14px 16px; }
  .blend-hero h2 { font-size:40px; }
}

/* Shared evidence components inherit the shop palette without changing research views. */
#blend-builder .study .tags .read-paper { background:#294d3d; border-color:#294d3d; color:#fffdf7; }
#blend-builder .study .tags .read-paper:hover { background:#1d3a2d; border-color:#1d3a2d; }
#blend-builder .study .finding-label { color:#406649; }
#blend-builder .study .taglink { color:var(--muted); }
#blend-builder .blend-mixer { border-top:3px solid #446342; box-shadow:0 12px 32px #293e2510; }
.blend-order-price { display:flex; justify-content:space-between; align-items:baseline; padding:18px 0 12px; border-top:1px solid var(--border); }
.blend-order-price strong { font:32px var(--serif); color:var(--text); }
.blend-order-price span { font-size:13px; color:var(--muted); }
.blend-research-disclosure { margin:26px 0 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.blend-research-disclosure > summary, .blend-review-requirements > summary { cursor:pointer; padding:19px 0; min-height:44px; font:22px var(--serif); }
.blend-research-disclosure > summary span { font:12px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--muted); margin-left:12px; }
.blend-checkout { margin:20px 0 0; align-items:center; }
.blend-checkout .blend-primary { min-width:210px; }
.blend-checkout h4 { margin:0 0 4px; }
.blend-review-requirements { padding:0; }
.blend-review-requirements > summary { font:13px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--muted); }
#blend-builder .blend-recipe-actions .blend-primary { background:transparent; color:var(--text); border-color:var(--border); }
.blend-empty { border-style:dashed; background:#fffdf880; }
.blend-intro { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px 20px; font-size:14px; }
.blend-intro li { margin:0; }
.blend-intro li::before { content:'✓'; color:#476344; margin-right:7px; }
#blend-storage-note:empty { display:none; }
@media(max-width:680px) {
  .blend-hero { padding:12px 0 24px; }
  .blend-hero h2 { font-size:38px; }
  .blend-intro { gap:6px 14px; font-size:13px; }
  .blend-product { padding:16px 20px; gap:20px; }
  .blend-product strong { font-size:30px; }
  .blend-product .blend-bottle { width:46px; height:80px; }
  .blend-checkout .blend-primary { width:100%; min-width:0; }
  .blend-oil-card { padding:15px 12px; }
  .blend-research-disclosure > summary span { display:block; margin:5px 0 0 18px; }
}

/* Always keep the next buying step in reach while browsing the collection. */
.blend-shop-bar { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); z-index:110; width:min(620px,calc(100% - 32px)); display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 18px; background:#fffdf8; border:1px solid #b6c1ac; border-radius:5px; box-shadow:0 8px 36px #203a2533; }
.blend-shop-bar[hidden], body:not(:has(#tab-blend.active)) .blend-shop-bar { display:none; }
.blend-shop-bar > div { display:flex; flex-direction:column; gap:3px; }
.blend-shop-bar strong { font:24px Georgia,serif; }
.blend-shop-bar span { font-size:12px; }
#blend-builder .blend-shop-bar button { margin:0; min-height:46px; padding:12px 22px; }
body:has(.blend-shop-bar:not([hidden])) footer { padding-bottom:120px; }
#blend-mixer { scroll-margin-top:130px; }
@media(max-width:680px) { .blend-shop-bar { bottom:0; width:100%; border-radius:0; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); gap:12px; }.blend-shop-bar strong { font-size:23px; }#blend-builder .blend-shop-bar button { padding:12px 17px; } }

.blend-result-summary h4 { overflow-wrap:anywhere; }

/* Selected filters stay visible; adding a use narrows results by default. */
.blend-filter-chips { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.blend-filter-chips button, .blend-match-mode button { padding:8px 11px; border:1px solid #c5cfba; border-radius:4px; background:#fffdf7; color:#294633; font:inherit; cursor:pointer; }
.blend-filter-chips button { font-size:12px; }
.blend-match-mode { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:10px 0 16px; font-size:12px; }
.blend-match-mode span { margin-right:4px; }
.blend-match-mode button[aria-pressed="true"] { background:#294633; color:#fffdf7; border-color:#294633; }
.blend-card-research { font-size:12px; color:#355b42; margin:0 0 12px; }
.blend-match-label { font-weight:600; }
.blend-evidence-label { font-size:11px; }
.blend-filter-chips button:focus-visible, .blend-match-mode button:focus-visible { outline:2px solid #294633; outline-offset:3px; }

.blend-catalog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.blend-catalog-heading h4 { margin:0; }
#blend-reset-choices { min-height:44px; flex-shrink:0; }
