/* Dermatology Group of Florida — the search bar and buttons (DECISIONS G18).
 * One definition, used by the start page (/start/) and the results page (/). Labels sit above values inside one white
 * bar; the only colour is the blue "Find openings" button. Roles from tokens.css only. */
.search{display:grid;grid-template-columns:minmax(200px,1fr) minmax(260px,1.7fr) minmax(150px,.8fr) auto;gap:0;align-items:stretch;background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:6px;box-shadow:var(--sh-lg)}
.fld{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;padding:9px 16px 8px;border-radius:var(--r-md);border:1px solid transparent;min-width:0;position:relative;cursor:text}
.fld + .fld::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:var(--c-line)}
.fld:focus-within{border-color:var(--c-focus);background:var(--c-surface-accent)}
.fld .k{grid-column:1/-1;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--c-ink-muted);font-weight:var(--fw-strong);line-height:1.2;margin-bottom:2px}
.fld input,.fld select{min-width:0;width:100%;border:0;background:transparent;font:inherit;font-size:var(--fs-lg);font-weight:var(--fw-ui);color:var(--c-ink);outline:none;appearance:none;padding:0;height:30px;text-overflow:ellipsis;cursor:pointer}
.fld input{cursor:text}
.fld select{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23146c9e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right center;padding-right:20px}
.fld input::placeholder{color:var(--c-ink-muted);font-weight:var(--fw-body)}
.fld .geo{grid-row:2;grid-column:2;border:0;background:transparent;color:var(--c-accent);font-weight:var(--fw-strong);font-size:var(--fs-sm);padding:4px 6px;border-radius:var(--r-md);white-space:nowrap;cursor:pointer;font-family:inherit}
.fld .geo:hover{background:var(--c-surface-alt)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-h);padding:0 var(--sp-5);border-radius:var(--r-md);font:inherit;font-weight:var(--fw-strong);font-size:var(--fs-sm);text-decoration:none;border:1px solid transparent;white-space:nowrap;cursor:pointer;color:inherit}
.btn.primary{background:var(--c-cta);color:var(--c-cta-ink)}
.btn.primary:hover{filter:brightness(.96)}
.btn.ghost{background:#fff;border-color:var(--c-line);color:var(--c-ink)}
.btn.ghost:hover{border-color:var(--c-accent)}
.btn.text{border:0;background:transparent;color:var(--c-link);padding:0 var(--sp-2);text-decoration:underline;text-underline-offset:3px}
.btn.sm{height:36px;padding:0 var(--sp-3);font-size:var(--fs-xs)}
.search .btn.primary{height:auto;min-height:62px;margin-left:6px;padding:0 var(--sp-6);font-size:var(--fs-md)}
@media (max-width:1023px){
  .search{grid-template-columns:1fr 1fr} .search .btn.primary{grid-column:1/-1;margin:6px 0 0;min-height:52px}
  .fld + .fld::before{display:none} .fld{padding:8px 12px}
}
@media (max-width:640px){
  .search{grid-template-columns:1fr} .fld .geo span{display:none}
}
