/*
 * Functional integration styles only.
 * The public design system belongs to the trgr-block child theme.
 */

body.wp-trgr-site .cmplz-cookiebanner {
  font-family: "IBM Plex Sans", Arial, sans-serif;
}

body.wp-trgr-site .cmplz-manage-consent {
  min-height: 44px;
}

.wpcf7 form[aria-busy="true"] [type="submit"] {
  cursor: progress;
  opacity: .65;
}


/* Category-dependent technical filters use the existing catalogue panel and tokens. */
.trgr-attribute { min-width:0; margin:0; padding:.75rem 0; border:0; border-top:1px solid var(--trgr-border); }
.trgr-attribute legend { padding:0 .25rem 0 0; font-size:.875rem; font-weight:600; }
.trgr-attribute-options { display:flex; flex-wrap:wrap; gap:.25rem .75rem; }
.trgr-catalog-nav .trgr-attribute label { display:flex; align-items:center; gap:.5rem; min-height:44px; cursor:pointer; font-weight:400; }
.trgr-catalog-nav .trgr-attribute input[type=checkbox] { display:inline-block; flex:none; width:20px; height:20px; margin:0; accent-color:var(--trgr-brand); }
.trgr-filter-fields:has(.trgr-attribute) { max-width:100%; }
.trgr-catalog-nav > .trgr-filter-search { min-width:0; margin-bottom:0; }
@media (min-width:782px) {
  .trgr-filter-fields:has(.trgr-attribute) { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (min-width:782px) and (max-width:1023px) {
  .trgr-filter-fields:has(.trgr-attribute) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.trgr-autocomplete { width:100%; min-width:0; }
.trgr-autocomplete .autocomplete__wrapper { width:100%; }
.trgr-autocomplete .autocomplete__input { box-sizing:border-box; width:100%; font:inherit; }
.trgr-autocomplete .autocomplete__menu { z-index:1000; max-height:24rem; overflow-y:auto; background:#fff; color:#172033; border-color:#b8c6db; font:inherit; }
.trgr-autocomplete .autocomplete__option { padding:.75rem; font:inherit; cursor:pointer; border-bottom:1px solid #e2e8f0; }
.trgr-autocomplete .autocomplete__option--focused { background:#e7efff; color:#172033; border-color:#e2e8f0; }
.trgr-search-result { display:flex; align-items:center; gap:.75rem; white-space:normal; }
.trgr-search-result img { flex:0 0 44px; width:44px; height:44px; object-fit:contain; background:#fff; }
.trgr-search-result small { display:block; font-size:.8rem; margin-top:.25rem; }
.trgr-search-all { font-weight:600; }
