/* Website search follows the portal's essential/optional filter hierarchy. */
.search-page .search-head{display:block;max-width:1120px}
.search-page .search-back{display:inline-flex;margin-bottom:var(--s4)}
.search-page .search-title p{max-width:64ch}
.search-page .search-body{max-width:1120px}
#filterModal.page-mode .modal{grid-template-columns:minmax(0,1fr) 420px;gap:var(--s8)}
#filterModal.page-mode .modal__body{display:block;padding:var(--s6);border:var(--rule) solid var(--border);border-radius:var(--radius-panel);background:var(--surface);min-width:0;mask-image:none;columns:auto}
/* Not column-count:1: WebKit keeps a one-column multicol box at its tallest
   height, so closing "More filters" left the open height behind on iPhones. */
#filterModal.page-mode .modal__body::after{display:none}
#filterModal.page-mode .search-country{margin-bottom:var(--s6)}
#filterModal.page-mode .modal__body>.form-group,#filterModal.page-mode .modal__body>.form-row{margin-bottom:var(--s4)}
#filterModal.page-mode .industry-tree-wrap{max-height:224px}
#filterModal.page-mode .industry-picker,#filterModal.page-mode .form-row{min-width:0;max-width:100%}
#filterModal.page-mode .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
#filterModal.page-mode .search-more{border-top:var(--rule) solid var(--border);margin-top:var(--s6);padding-top:var(--s2)}
#filterModal.page-mode .search-more>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:var(--s2);font-size:14px;font-weight:500;list-style:none}
#filterModal.page-mode .search-more>summary::-webkit-details-marker{display:none}
#filterModal.page-mode .search-more>summary::before{content:'+';font-size:20px;width:16px}
#filterModal.page-mode .search-more[open]>summary::before{content:'−'}
#filterModal.page-mode .search-more>.form-group,#filterModal.page-mode .search-more>.form-row{margin-block:var(--s3)}
#filterModal.page-mode .modal__footer{display:flex;flex-direction:column;align-items:stretch;gap:var(--s6);padding:var(--s6);position:sticky;top:var(--s24);bottom:auto;overflow:visible;min-width:0}
#filterModal.page-mode .modal__footer::after{display:none}
#filterModal.page-mode .search-summary-title{font-size:16px;font-weight:500;margin:0}
#filterModal.page-mode .estimate__count{font-size:44px;line-height:1.1;overflow-wrap:anywhere}
#filterModal.page-mode .estimate__count-label{font-size:15px}
#filterModal.page-mode .estimate__freshness,#filterModal.page-mode .estimate__price-details{font-size:13px;line-height:1.5}
#filterModal.page-mode .search-price{display:grid;gap:var(--s2);padding-top:var(--s6);border-top:var(--rule) solid var(--border);min-width:0}
#filterModal.page-mode .search-price>span{font-size:14px}
#filterModal.page-mode .search-price #estimateTotal{display:block;background:none;padding:0;margin:0;border:0;border-radius:0;box-shadow:none;color:var(--carbon);font:700 36px/1.2 var(--font-display);white-space:normal;overflow-wrap:anywhere}
#filterModal.page-mode .search-price .btn__price-vat{font-size:14px;margin-left:var(--s2)}
#filterModal.page-mode .modal__footer-actions{display:flex;flex-direction:column;gap:var(--s3)}
#filterModal.page-mode #btnOrder{display:flex;flex-direction:row;justify-content:space-between;min-height:48px;font-size:16px;padding:var(--s3) var(--s4)}
#filterModal.page-mode #btnOrder>.action-corner{width:24px;height:24px}
#filterModal.page-mode #btnPreview{display:flex;min-height:44px;font-size:14px;order:2;flex-direction:row}
#filterModal.page-mode .search-choice-link,#filterModal.page-mode .search-reset{background:none;border:0;border-radius:0;padding:var(--s2) 0;min-height:44px;color:var(--carbon);font:500 14px/1.4 var(--font-body);text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#filterModal.page-mode .search-selection{margin:0;font-size:14px;line-height:1.5}
#filterModal.page-mode .search-selection[hidden],#filterModal.page-mode .search-choice-link[hidden],#filterModal.page-mode .search-reset[hidden]{display:none}
#filterModal.page-mode>.signup-gate{max-width:calc(100% - 420px - var(--s8))}
.list-choice{box-sizing:border-box;width:min(800px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:var(--s8);margin:auto;border:var(--rule) solid var(--border);border-radius:var(--radius-panel);background:var(--surface);color:var(--carbon);overflow:auto;overscroll-behavior:contain;font-family:var(--font-body)}
.list-choice::backdrop{background:var(--scrim)}
.list-choice:not([open]){display:none}
.list-choice .list-choice-close{display:block;margin:0 0 var(--s2) auto;min-height:44px;padding:var(--s2) var(--s3);background:none;border:var(--rule) solid var(--border);border-radius:var(--radius-control);font:500 14px var(--font-body);cursor:pointer;color:var(--carbon)}
.list-choice h2{margin:0;font:700 clamp(26px,3vw,36px)/1.15 var(--font-display);text-wrap:balance}
.list-choice .list-choice-intro{margin:var(--s3) 0 var(--s6);max-width:60ch;line-height:1.6}
.list-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.list-choice-option{display:flex;flex-direction:column;align-items:stretch;gap:var(--s3);padding:var(--s6);min-width:0;border:var(--rule) solid var(--border);border-radius:var(--radius-control)}
.list-choice-option:last-child{background:var(--selection);border-color:var(--control-rule)}
.list-choice-option h3{font-size:18px;margin:0}
.list-choice-option p{margin:0;font-size:14px;line-height:1.5}
.list-choice-option .list-choice-count{font-size:16px;font-weight:500}
.list-choice-option .list-choice-amount{font:700 30px/1.2 var(--font-display);overflow-wrap:anywhere}
.list-choice-option .list-choice-vat{font-size:12px;color:var(--muted)}
.list-choice-option .list-choice-note{flex:1}
.list-choice-option button{display:block;min-height:48px;width:100%;padding:var(--s3);border:var(--rule) solid var(--control-rule);border-radius:var(--radius-control);background:var(--surface);color:var(--carbon);font:500 15px/1.4 var(--font-body);cursor:pointer;white-space:normal}
.list-choice-option:last-child button{background:var(--carbon);color:var(--surface)}
.list-choice-option button:disabled{opacity:.5;cursor:wait}
.list-choice-status{font-size:14px;line-height:1.5;margin:var(--s4) 0 0}
.list-choice-status:empty{display:none}
.list-choice button:focus-visible,.search-more>summary:focus-visible{outline:3px solid var(--carbon);outline-offset:3px}
@media(max-width:1023px){
 #filterModal.page-mode .modal{grid-template-columns:minmax(0,1fr) 340px;gap:var(--s6)}
 #filterModal.page-mode .modal__body,#filterModal.page-mode .modal__footer{padding:var(--s4)}
 /* search.css stacks the panel under the filters below 1024 px; with the
    two columns above that left the 340 px column empty beside the filters. */
 #filterModal.page-mode .modal__footer{grid-column:2;grid-row:1;border-radius:var(--radius-panel)}
 #filterModal.page-mode>.signup-gate{max-width:100%}
}
/* A landscape phone is shorter than the panel: let it scroll with the page. */
@media(max-width:1023px) and (max-height:599px){#filterModal.page-mode .modal__footer{position:static}}
@media(max-width:767px){
 #filterModal.page-mode .modal{display:flex;flex-direction:column;gap:var(--s4)}
 #filterModal.page-mode .modal__body,#filterModal.page-mode .modal__footer{width:100%}
 #filterModal.page-mode .modal__footer{position:static;gap:var(--s4);border-radius:var(--radius-panel)}
 #filterModal.page-mode .form-row{grid-template-columns:minmax(0,1fr)}
 #filterModal.page-mode .form-row>.form-group{width:100%}
 #filterModal.page-mode .search-start-hint{display:block}
 #filterModal.page-mode .estimate__freshness{display:block}
 #filterModal.page-mode .search-price #estimateTotal{font-size:32px}
 .list-choice{padding:var(--s4);width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 .list-choice-options{grid-template-columns:minmax(0,1fr)}
 .list-choice-option{padding:var(--s4);gap:var(--s2)}
 .list-choice .list-choice-intro{margin-bottom:var(--s4)}
 .list-choice-option .list-choice-amount{font-size:26px}
}

#filterModal.page-mode .estimate{display:block;width:100%;text-align:left}
#filterModal.page-mode .search-summary-title{text-align:left}
#filterModal.page-mode .search-start-hint[hidden],.list-choice [hidden]{display:none}

/* Phones: the count, the total and Order stay at the bottom of the screen
   while the buyer works through the filters (search-page.js .search-bar). */
.search-bar{display:none}
@media(max-width:767px){
 .search-bar:not([hidden]){position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:var(--s3);
  padding:var(--s3) var(--s4) calc(var(--s3) + env(safe-area-inset-bottom,0px));background:var(--surface);
  border-top:var(--rule) solid var(--border);box-shadow:0 -6px 20px rgba(28,38,44,.08)}
 .search-bar__sum{flex:1;min-width:0;margin:0;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--s1);color:var(--muted);font-size:13px;line-height:1.3}
 .search-bar__count{font:700 20px/1.2 var(--font-display);color:var(--carbon);font-variant-numeric:tabular-nums}
 .search-bar__total{flex-basis:100%;color:var(--carbon);font-size:15px;font-weight:500}
 .search-bar .search-bar__order{flex:none;min-height:44px;padding:var(--s2) var(--s4);font-size:15px;white-space:nowrap}
 body.has-search-bar{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 body.has-search-bar .cc-float.cc-float{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
