/* Search and catalogue controls share the Duke product surfaces. */
#search-dialog {
  width:min(860px,calc(100% - 48px)); max-width:none; max-height:calc(100dvh - 48px);
  padding:28px 32px; overflow:hidden; border-radius:12px;
}
#search-dialog[open] { display:flex; flex-direction:column; }
#search-dialog .dialog__head { flex:none; margin:0 0 22px; gap:20px; }
#search-dialog h2 { font-size:32px; line-height:1.15; letter-spacing:-.03em; font-weight:500; }
#search-dialog .dialog__head .icon-button { flex:none; margin:0 -8px 0 0; }
#search-dialog>label { color:#171717; font-size:14px; line-height:20px; font-weight:500; margin:0 0 8px; flex:none; }
#search-dialog .search-field { display:block; border:0; padding:0; margin:0; flex:none; }
#search-dialog .bricks-search-form { border:0; padding:0; margin:0; width:100%; }
#search-dialog input[type=search], #filter-dialog .duke-filters input:not([type=checkbox]):not([type=hidden]), #filter-dialog .duke-filters select {
  box-sizing:border-box; width:100%; min-width:0; height:48px; min-height:48px; max-height:48px;
  padding:11px 14px; border:1px solid #c4c4c0; border-radius:8px; background-color:#fff;
  color:#171717; font:400 16px/24px 'Instrument Sans',Arial,sans-serif; box-shadow:none; caret-color:#171717;
  transition:border-color .18s,background-color .18s; margin:0;
}
#search-dialog input::placeholder, #filter-dialog input::placeholder { color:#646464; opacity:1; }
#search-dialog input[type=search]:focus, #filter-dialog .duke-filters input:focus, #filter-dialog .duke-filters select:focus {
  border-color:#171717; outline:none; box-shadow:none;
}
#search-dialog input[type=search]:focus-visible, #filter-dialog .duke-filters input:focus-visible, #filter-dialog .duke-filters select:focus-visible {
  outline:none; border-width:2px; border-color:#171717; padding-block:10px; padding-left:13px;
}
#filter-dialog .duke-filters input[type=checkbox]:focus-visible { outline:2px solid #171717; outline-offset:3px; }
#search-dialog .search-count { margin:22px 0 12px; font-size:14px; font-weight:500; line-height:20px; color:#171717; flex:none; }
#search-dialog .search-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#aaa transparent; padding:3px; margin-inline:-3px; }
#search-dialog .search-result { display:flex; gap:14px; align-items:center; min-width:0; min-height:112px; border-radius:8px; background:#f4f4f2; padding:10px 14px 10px 10px; color:#171717; transition:background-color .2s; }
#search-dialog .search-result:hover { background:#eaeae7; }
#search-dialog .search-result span { margin:0; }
#search-dialog .search-result__image { display:flex; flex:0 0 82px; align-items:center; justify-content:center; align-self:stretch; }
#search-dialog .search-result img { display:block; width:82px; height:92px; object-fit:contain; background:transparent; mix-blend-mode:multiply; }
#search-dialog .search-result--cutout img { mix-blend-mode:normal; }
#search-dialog .search-result__info { flex:1; min-width:0; }
#search-dialog .search-result__name { display:block; font-size:15px; font-weight:500; line-height:1.35; text-wrap:pretty; }
#search-dialog .search-result .search-result__price { display:block; font-size:14px; line-height:1.4; margin-top:8px; font-variant-numeric:tabular-nums; }
#search-dialog .search-result>.icon { flex:none; width:16px; height:16px; }
#search-dialog .search-message { grid-column:1/-1; min-height:100px; padding:24px 0; font-size:16px; line-height:1.5; color:#171717; }
#search-dialog .search-message p+p { margin-top:8px; }
#search-dialog .search-actions { display:flex; justify-content:space-between; align-items:center; flex:none; gap:16px; border-top:1px solid #d9d9d6; padding-top:20px; margin-top:20px; }
#search-dialog .search-actions .button, #filter-dialog .filter-actions .button {
  display:inline-flex; align-items:center; justify-content:center; gap:18px; height:48px; min-height:48px; padding:0 22px;
  border:1px solid #171717; border-radius:999px; color:#fff; background:#171717; font-size:15px; line-height:1.2; font-weight:500; text-decoration:none;
}
#search-dialog .search-actions .button:hover, #filter-dialog .filter-actions .button:hover { background:#353535; }
#search-dialog .search-actions .button .icon { width:18px; height:18px; }
.discovery-secondary { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:48px; padding:0 20px; border:1px solid #c4c4c0; border-radius:999px; background:#fff; color:#171717; font:400 15px/1.2 'Instrument Sans',Arial,sans-serif; text-decoration:none; }
.discovery-secondary:hover { border-color:#171717; background:#f4f4f2; }
#search-dialog a:focus-visible, #search-dialog button:focus-visible, #filter-dialog a:focus-visible, #filter-dialog button:focus-visible, .duke-load-more a:focus-visible { outline:2px solid #171717; outline-offset:3px; }
#filter-dialog { width:min(520px,100%); max-width:100%; height:100dvh; max-height:100dvh; padding:28px 32px; overflow:hidden; }
#filter-dialog[open] { display:flex; flex-direction:column; }
#filter-dialog .dialog-heading { color:#171717; font-size:32px; line-height:1.15; letter-spacing:-.03em; font-weight:500; flex:none; margin:0 0 26px; padding-right:28px; max-width:100%; }
#filter-dialog .dialog-close { top:24px; right:24px; }
#filter-dialog>.brxe-shortcode { flex:1; min-height:0; width:100%; display:flex; }
#filter-dialog .duke-filters { display:flex; flex-direction:column; width:100%; height:100%; gap:0; min-height:0; }
#filter-dialog .filter-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:18px 14px; overflow:auto; scrollbar-width:thin; scrollbar-color:#aaa transparent; min-height:0; padding:4px; margin:-4px; }
#filter-dialog .filter-wide { grid-column:1/-1; }
#filter-dialog .duke-filters label, #filter-dialog .filter-price { display:flex; flex-direction:column; gap:8px; color:#171717; font-size:14px; font-weight:500; line-height:20px; margin:0; min-width:0; }
#filter-dialog .duke-filters select { appearance:none; padding-right:34px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position:right 12px center; background-repeat:no-repeat; text-overflow:ellipsis; }
#filter-dialog .duke-filters select.is-placeholder { color:#646464; }
#filter-dialog .duke-filters option { color:#171717; background:#fff; }
#filter-dialog .filter-price { padding:0; border:0; }
#filter-dialog .filter-price legend { padding:0; margin-bottom:8px; color:#171717; font-size:14px; font-weight:500; }
#filter-dialog .filter-price>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#filter-dialog .filter-price input[type=number] { appearance:textfield; -moz-appearance:textfield; }
#filter-dialog .filter-price input::-webkit-inner-spin-button, #filter-dialog .filter-price input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
#filter-dialog .duke-filters .filter-stock { flex-direction:row; align-items:center; min-height:36px; gap:12px; font-weight:400; }
#filter-dialog .duke-filters .filter-stock input { width:20px; height:20px; min-height:20px; margin:0; accent-color:#171717; }
#filter-dialog .filter-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.45fr); flex:none; gap:12px; border-top:1px solid #d9d9d6; padding-top:20px; margin-top:auto; }
#filter-dialog .filter-actions .button { width:100%; }
#filter-dialog .filter-reset { align-self:auto; }
#filter-dialog .filter-actions a { font-size:14px; padding-inline:12px; }
.duke-load-more { min-height:104px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding-top:40px; }
.listing-load-status { display:flex; align-items:center; justify-content:center; gap:12px; font-size:14px; line-height:1.5; color:#171717; text-align:center; }
.listing-load-status:empty { display:none; }
.duke-load-more.is-loading .listing-load-status:before { content:''; display:block; width:18px; height:18px; border:1.5px solid #d9d9d6; border-top-color:#171717; border-radius:50%; animation:duke-loading .75s linear infinite; }
.duke-load-more [data-listing-next][hidden] { display:none; }
.listing-error { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 24px; font-size:15px; }
@keyframes duke-loading { to { transform:rotate(360deg); } }
@media(max-width:767px) {
  #search-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); padding:22px 20px; }
  #search-dialog h2, #filter-dialog .dialog-heading { font-size:28px; }
  #search-dialog .dialog__head { margin-bottom:18px; gap:10px; }
  #search-dialog .search-results { grid-template-columns:1fr; gap:10px; }
  #search-dialog .search-result { min-height:96px; }
  #search-dialog .search-result img { height:76px; }
  #search-dialog .search-count { margin-top:18px; }
  #search-dialog .search-actions { flex-direction:column-reverse; gap:10px; padding-top:16px; margin-top:16px; }
  #search-dialog .search-actions>* { width:100%; }
  #search-dialog .search-actions .discovery-secondary { min-height:44px; }
  #filter-dialog { padding:24px 20px; }
  #filter-dialog .dialog-close { top:20px; right:12px; }
  #filter-dialog .dialog-heading { margin-bottom:24px; }
  #filter-dialog .filter-fields { gap:16px 12px; }
  #filter-dialog .filter-actions { padding-top:16px; padding-bottom:env(safe-area-inset-bottom); }
}
@media(max-height:740px) {
  #filter-dialog { padding-top:20px; padding-bottom:16px; }
  #filter-dialog .dialog-heading { margin-bottom:18px; }
  #filter-dialog .filter-fields { gap:12px; }
  #filter-dialog .filter-actions { padding-top:14px; }
}
@media(max-width:360px) {
  #filter-dialog .filter-actions { grid-template-columns:minmax(0,1fr); gap:10px; }
  #filter-dialog .filter-actions a, #filter-dialog .filter-actions .button { height:48px; min-height:48px; font-size:15px; white-space:nowrap; }
}
@media(prefers-reduced-motion:reduce) {
  .duke-load-more.is-loading .listing-load-status:before { animation:none; }
  #search-dialog .search-result, #search-dialog input, #filter-dialog input, #filter-dialog select { transition:none; }
}

/* Reserve the local annotation tool area without covering purchase controls. */
#filter-dialog:has(agentation-toolbar) { padding-bottom:80px; }
@media(max-width:767px) { #search-dialog:has(agentation-toolbar) { padding-bottom:76px; } }
