/* Design Library search language, shared by each catalog without changing its content. */
.lb-toolbar { display:flex!important; align-items:center; gap:12px!important; flex-wrap:wrap!important; width:100%; margin:20px 0 16px!important; padding:0!important; position:static!important; background:transparent!important; border:0!important; box-shadow:none!important; }
.lb-search { display:flex!important; flex:1 1 360px!important; align-items:center; min-width:0; gap:12px!important; min-height:58px; padding:0 16px!important; border:1px solid var(--line,#c8d0c4)!important; background-color:var(--surface,var(--paper,#fbfaf3))!important; color:var(--ink,#173d31); border-radius:0!important; margin:0!important; }
.lb-search svg { width:20px;height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; }
.lb-search input { display:block; width:100%!important; min-width:0; height:56px!important; padding:0!important; border:0!important; outline:0!important; border-radius:0; background:transparent!important; color:var(--ink,#173d31)!important; font:400 16px/1.4 var(--sans,Arial,sans-serif)!important; box-shadow:none!important; }
.lb-search input::placeholder { color:var(--muted,#56675c); opacity:1; }
.lb-search:focus-within { outline:2px solid var(--focus-ring,var(--teal,var(--forest,#21634e)));outline-offset:2px; }
.lb-key { flex:none; color:var(--muted,#56675c); font:13px/1 var(--sans,Arial,sans-serif); padding:5px 6px; border:1px solid var(--line,#c8d0c4); }
.lb-filter-toggle,.lb-clear { min-height:44px; color:var(--ink,#173d31)!important; font:600 16px/1.3 var(--sans,Arial,sans-serif)!important; cursor:pointer; }
.lb-filter-toggle { background-color:var(--surface,var(--paper,#fbfaf3))!important; border:1px solid var(--line,#c8d0c4)!important; padding:15px 18px!important; border-radius:0; min-height:58px; }
.lb-filter-toggle[aria-expanded=true] { background:var(--teal-light,var(--soft,#e9f0e7))!important; border-color:var(--teal,var(--forest,#21634e))!important; }
.lb-clear { background:none!important; border:0!important; padding:10px!important; text-decoration:underline; text-underline-offset:4px; }
.lb-clear[hidden],.lb-filter-panel[hidden],.lb-browse[hidden],.lb-overview[hidden] { display:none!important; }
.lb-sort { display:flex!important; align-items:center; gap:8px; margin:0!important; padding:0!important; color:var(--muted,#56675c); font:400 16px/1.4 var(--sans,Arial,sans-serif); }
.lb-sort select { width:auto!important; min-width:140px; max-width:235px; min-height:58px; padding-block:12px!important; border:1px solid var(--line,#c8d0c4)!important; border-radius:0; background-color:var(--surface,var(--paper,#fbfaf3))!important; color:var(--ink,#173d31); font:400 16px/1.4 var(--sans,Arial,sans-serif); }
.lb-filter-panel { padding:20px!important; margin:0 0 20px; border:1px solid var(--line,#c8d0c4); background:var(--surface-soft,var(--soft,#eef1e8)); }
.lb-filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:18px; }
.lb-field { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:7px!important; min-width:0!important; border:0!important; padding:0!important; margin:0!important; background:none!important; color:var(--ink,#173d31); font:400 16px/1.4 var(--sans,Arial,sans-serif); }
.lb-field>span { color:var(--ink-soft,#455d50)!important; font-weight:600!important; letter-spacing:0!important; text-transform:none!important; }
.lb-field select { width:100%!important; min-width:0; min-height:44px; border:1px solid var(--line,#c8d0c4)!important; border-radius:0; padding-block:10px!important; background-color:var(--surface,var(--paper,#fbfaf3))!important; color:var(--ink,#173d31); font:400 16px/1.4 var(--sans,Arial,sans-serif)!important; }
.lb-filter-panel .tag-filters { margin:20px 0 0; }
.lb-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.lb-tabs { display:inline-flex; align-items:stretch; border:1px solid var(--line,#c8d0c4); flex:none; }
.lb-tabs button { border:0; border-radius:0; min-height:44px; padding:10px 18px; background:var(--surface,var(--paper,#fbfaf3)); color:var(--ink,#173d31); font:600 16px/1.4 var(--sans,Arial,sans-serif); cursor:pointer; }
.lb-tabs button[aria-selected=true] { background:var(--ink,#173d31); color:var(--surface,var(--paper,#fbfaf3)); }
.lb-overview { margin-top:0; padding:clamp(23px,3.5vw,50px); border:1px solid var(--line,#d8dfd9); background:var(--surface,var(--paper,#fffefa)); }
.lb-overview-intro { display:flex; justify-content:space-between; align-items:end; gap:24px; border-bottom:1px solid var(--line,#d8dfd9); padding-bottom:30px; }
.lb-overview-kicker { margin:0 0 8px; color:var(--teal,var(--forest,#236b5c)); font:750 16px/1.4 var(--sans,Arial,sans-serif); letter-spacing:.17em; text-transform:uppercase; }
.lb-overview h3 { margin:0; font:400 clamp(32px,3vw,46px)/1.1 var(--serif,Georgia,serif); letter-spacing:-.04em; }
.lb-overview-intro>p { max-width:330px; margin:0; color:var(--muted,#52665f); font-size:16px; line-height:1.6; }
.lb-overview-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--line,#d8dfd9); }
.lb-stat { padding:28px 18px 27px 0; }
.lb-stat:not(:first-child) { border-left:1px solid var(--line,#d8dfd9); padding-left:25px; }
.lb-stat strong { display:block; color:var(--teal,var(--forest,#236b5c)); font:400 44px/1.15 var(--serif,Georgia,serif); letter-spacing:-.04em; }
.lb-stat span { font:700 16px/1.4 var(--sans,Arial,sans-serif); color:var(--muted,#52665f); text-transform:uppercase; letter-spacing:.1em; }
.lb-overview-columns { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(230px,.8fr); gap:clamp(30px,5vw,70px); padding-top:38px; }
.lb-overview h4 { margin:0 0 22px; font:400 25px/1.25 var(--serif,Georgia,serif); letter-spacing:-.03em; }
.lb-overview-panel:last-child { align-self:start; padding:24px; background:var(--surface-soft,var(--soft,#f0f3ed)); }
.lb-group { display:grid; grid-template-columns:minmax(110px,180px) minmax(0,1fr) 34px; gap:12px; align-items:center; width:100%; min-height:44px; border:0; padding:11px 5px; background:transparent; text-align:left; color:var(--ink,#1d2b28); font:400 16px/1.4 var(--sans,Arial,sans-serif); cursor:pointer; }
.lb-group:hover,.lb-tag:hover { background:var(--teal-light,var(--hover,#e1eee8)); }
.lb-category-name { font-weight:700; }
.lb-bar { display:block; height:11px; background:var(--surface-soft,var(--soft,#f0f3ed)); }
.lb-bar>span { display:block; min-width:3px; height:100%; background:#7aa68b; }
.lb-group:first-of-type .lb-bar>span { background:var(--teal,var(--forest,#236b5c)); }
.lb-category-num { text-align:right; color:var(--muted,#52665f); font-variant-numeric:tabular-nums; }
.lb-overview-tags { display:flex; flex-wrap:wrap; gap:8px; }
.lb-tag { padding:9px 12px; min-height:44px; border:1px solid var(--line,#d8dfd9); background:var(--surface,var(--paper,#fffefa)); color:var(--ink,#1d2b28); font:400 16px/1.4 var(--sans,Arial,sans-serif); cursor:pointer; }
.lb-toolbar button:focus-visible,.lb-tabs button:focus-visible,.lb-overview button:focus-visible,.lb-sort select:focus-visible,.lb-filter-panel select:focus-visible { outline:2px solid var(--focus-ring,var(--teal,var(--forest,#21634e))); outline-offset:3px; }
@media(max-width:899px) { .lb-overview-intro { display:block; } .lb-overview-intro>p { margin-top:15px; } .lb-overview-columns { grid-template-columns:1fr; gap:30px; } }
@media(max-width:720px) { .lb-search { flex-basis:100%!important; } .lb-sort { flex:1; justify-content:flex-end; } .lb-sort select { min-width:0; max-width:210px; } .lb-heading { align-items:start; } .lb-tabs button { padding:10px 14px; } .lb-filter-grid { grid-template-columns:1fr; } }
@media(max-width:420px) { .lb-key { display:none; } .lb-search { padding:0 12px!important; } .lb-sort>span { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); } .lb-sort select { max-width:185px; } }
@media(max-width:550px) { .lb-overview { padding:20px 14px; } .lb-overview-stats { grid-template-columns:1fr; } .lb-stat,.lb-stat:not(:first-child) { display:flex; align-items:baseline; gap:16px; padding:16px 0; border-left:0; } .lb-stat:not(:first-child) { border-top:1px solid var(--line,#d8dfd9); } .lb-stat strong { min-width:56px; font-size:30px; } .lb-stat span { overflow-wrap:anywhere; } .lb-group { grid-template-columns:minmax(80px,130px) minmax(0,1fr) 25px; gap:7px; } }
