/* The Family Guide location step follows the public Camp Finder's regional hierarchy. */
.location-picker { --picker-line:#cedfe9; --picker-ink:#00486d; min-width:0; }
.picker-toolbar, .picker-shortlist { background:#fff; border:1px solid var(--picker-line); border-radius:14px; padding:15px 17px; }
.picker-toolbar { margin-top:13px; }
.picker-toolbar h3, .picker-shortlist strong { color:var(--picker-ink); font-size:16px; }
.picker-shortlist { border-top:4px solid var(--picker-ink); }
.picker-shortlist-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.picker-shortlist-head p { font-size:13px; line-height:1.45; margin:2px 0 0; color:#496372; }
.picker-shortlist-head .button { padding:10px 13px; min-height:44px; flex:none; }
.picker-shortlist-items, .picker-region-buttons { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.picker-remove, .picker-region { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:7px 11px; min-height:44px; border-radius:8px; border:1px solid #bed4e2; color:var(--picker-ink); background:#f5fafc; font-size:13px; font-weight:700; text-align:left; }
.picker-remove span { font-size:17px; line-height:1; }
.picker-region[aria-pressed="true"] { color:#fff; background:var(--picker-ink); border-color:var(--picker-ink); }
.picker-region small { font-size:11px; border-radius:20px; background:#e0eef6; color:#00486d; padding:2px 5px; }
.picker-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 12px; margin-top:14px; padding-top:13px; border-top:1px solid #e3ecf1; }
.picker-fields label { display:grid; gap:5px; min-width:0; color:#234f66; font-size:13px; font-weight:700; }
.picker-fields :is(input,select) { border:1px solid #b5ccda; border-radius:8px; min-height:44px; width:100%; min-width:0; padding:8px 9px; background:#fff; color:#183c4e; font:inherit; font-weight:600; }
.picker-fields :is(input,select):focus-visible, .location-picker button:focus-visible { outline:3px solid #1876a1; outline-offset:2px; }
.picker-result-head, .picker-region-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px 12px; flex-wrap:wrap; }
.picker-result-head { margin:15px 0 9px; font-size:13px; color:#365b6e; }
.picker-result-head button { min-height:44px; padding:4px 7px; }
.picker-region-head { margin:18px 0 10px; padding:0 0 8px; border-bottom:1px solid #bfd5e3; }
.picker-region-head h3, .picker-region-head h4 { font-size:21px; line-height:1.2; color:var(--picker-ink); }
.picker-region-head p { font-size:12px; margin:4px 0 0; color:#496372; }
.picker-region-head small { font-size:12px; font-weight:700; color:#355d72; }
.location-picker .location-choice-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,165px),1fr)); gap:10px; }
.location-picker .location-choice { min-height:0; padding:0; overflow:hidden; display:flex; flex-direction:column; align-items:stretch; gap:0; background:#fff; border:2px solid #d3e3ec; }
.location-picker .location-choice.selected { border-color:#19728f; background:#fff; box-shadow:0 0 0 2px #19728f26; }
.location-picker .location-choice img { display:block; width:100%; height:92px; object-fit:cover; margin:0; border-radius:0; }
.location-picker .picker-card-copy { display:grid; gap:4px; align-content:start; padding:10px 10px 9px; min-width:0; flex:1; }
.location-picker .picker-card-copy strong { font-size:15px; line-height:1.23; overflow-wrap:anywhere; }
.location-picker .picker-card-copy small, .location-picker .choice-dates { font-size:11px; line-height:1.35; }
.location-picker .picker-card-action { display:block; margin:0 10px 9px; padding:7px 6px; color:#00486d; background:#edf6fb; border-radius:6px; text-align:center; font-size:12px; font-weight:800; }
.location-picker .selected .picker-card-action { color:#fff; background:#00486d; }
.location-picker .open-locations { margin:12px 0 0; }
.location-picker .picker-empty { background:#fff; border:1px dashed #bad3e1; border-radius:11px; padding:16px; font-size:14px; }
.location-picker .campus-scope-note { margin:13px 0 0; }
@media(max-width:500px) {
  .picker-toolbar, .picker-shortlist { padding:12px; }
  .picker-fields { grid-template-columns:1fr; }
  .location-picker .location-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:360px) {
  .location-picker .location-choice-grid { grid-template-columns:1fr; }
  .picker-shortlist-head { align-items:flex-start; flex-direction:column; }
}

/* Bring the controls into view earlier on the location step. */
.wizard-shell[data-step="2"] .question-why { display:none; }
@media(min-width:1101px) {
  .wizard-shell[data-step="2"] { grid-template-columns:minmax(265px,30%) minmax(0,1fr); }
  .location-picker .location-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:820px) {
  .wizard-shell[data-step="2"] .wizard-graphic,
  .wizard-shell[data-step="2"] .intro-promise,
  .wizard-shell[data-step="2"] .wizard-summary { display:none; }
  .wizard-shell[data-step="2"] .wizard-intro { padding:21px 22px; }
}
