:root{--green:#173f35}body{margin:0;color:#26352f;background:#f7faf8;font:16px/1.5 system-ui,sans-serif}.top{background:var(--green);color:white;padding:14px 18px;display:flex;justify-content:space-between;gap:12px}.top a{color:white;font-weight:800}main{max-width:1100px;margin:auto;padding:16px}h1{margin-bottom:4px}.controls{background:white;border:1px solid #d3dfda;border-radius:12px;padding:15px;display:flex;flex-wrap:wrap;gap:12px;align-items:end}.controls label{display:grid;gap:3px;font-weight:600;flex:1 1 145px}.controls .check{display:flex;align-items:center;gap:8px}input,select,button{min-height:44px;padding:9px;border-radius:7px;border:1px solid #9fb1aa;font:inherit}button{background:#245f8a;color:white;border:0;font-weight:700;cursor:pointer}button.secondary{background:#eef5f2;color:#173f35}.legend{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0}#map{height:390px;border:1px solid #d3dfda;border-radius:10px;background:#e9f1ee}.results{margin-top:18px}#list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.kennel{background:white;border:1px solid #d3dfda;border-radius:10px;padding:14px}.kennel h3{margin:0 0 5px}.kennel p{margin:5px 0}.status{font-weight:700}.muted{color:#607069;font-size:.92rem}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}footer{text-align:center;padding:25px}.pin{border-radius:50%;height:16px;width:16px;border:2px solid white;box-shadow:0 1px 5px #3338}@media(max-width:600px){#map{height:300px}.top{font-size:.9rem}}
/* Map containment fallback; Leaflet CSS must also load. */
#map{position:relative;overflow:hidden;isolation:isolate;max-width:100%;z-index:0}
#map .leaflet-container{width:100%;height:100%}

/* Regionalwebsite-inspired homepage cards */
.app-intro-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.app-intro-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #c9dbd0;border-radius:10px;background:#f3f8f5;color:#173f35;text-decoration:none;box-shadow:0 2px 8px rgba(23,63,53,.06)}
.app-intro-card:hover,.app-intro-card:focus-visible{background:#e5f3e9;border-color:#267c48;text-decoration:none}
.app-intro-card--map{border:2px solid #267c48;background:#e9f5ed}
.app-intro-card strong{font-size:1.05rem;line-height:1.3}.app-intro-card span:last-child{font-size:.92rem;line-height:1.4;color:#455e51}
.app-card-emoji{font-size:1.8rem;line-height:1.2}.app-search-heading{margin:18px 0 4px;color:#173f35}
@media(max-width:640px){.app-intro-cards{grid-template-columns:1fr;gap:9px}.app-intro-card{padding:12px 14px}.app-card-emoji{font-size:1.5rem}}

/* Geographic destination selection */
.controls .place-choice{grid-column:1/-1;background:#fff8df;padding:12px;border:1px solid #e3ad31;border-radius:8px}.controls .place-choice[hidden]{display:none!important}.controls .place-choice select{width:100%;max-width:100%;padding:9px}.destination-marker{width:18px;height:18px;border:3px solid #fff;background:#245f8a;border-radius:50%;box-shadow:0 0 0 2px #245f8a}

.center-coordinates{font-weight:700;background:#eef5f2;border-left:4px solid #245f8a;padding:10px 12px;margin:12px 0;overflow-wrap:anywhere}

/* Australia import announcement, October 2026 */
.app-australia{margin:16px 0 22px;padding:17px 20px;border:2px solid #28734e;border-radius:12px;background:#edf8f0;color:#173f35}.app-australia h2{margin:0 0 8px;font-size:1.3rem}.app-australia p{line-height:1.55;margin:0 0 10px}.app-australia a{color:#155f36;font-weight:750}

/* Search and verification clarity, v0.1.9 */
.app-caution{padding:12px 14px;background:#fff8df;border-left:4px solid #d5a12c;border-radius:6px;line-height:1.5}
.kennel .status{font-weight:750}.kennel .actions a{display:inline-block;padding:7px 9px;border-radius:6px;background:#eef5f2}

.weekday-picker{border:1px solid #aebfb6;border-radius:8px;padding:9px 12px;min-width:245px}
.weekday-picker legend{font-weight:700;padding:0 4px}
.weekday-options{display:flex;flex-wrap:wrap;gap:8px 12px}
.weekday-options label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer}
.weekday-options input{width:18px;height:18px}
.weekday-picker small{display:block;margin-top:5px}

/* Search workflow visibility, v0.2.1 */
.controls .destination-field{flex:1 1 100%;font-size:1.08rem}
.destination-field input{border:2px solid #267c48;background:#fff;font-size:1.05rem}
.destination-field small{font-size:.88rem;font-weight:500;color:#415d4b}
.controls .primary-search{flex:1 1 100%;background:#176b39;color:white;font-size:1.12rem;min-height:56px;border:2px solid #0c4e27;box-shadow:0 3px 8px #173f3528}
.controls .primary-search:hover,.controls .primary-search:focus-visible{background:#0e512b}
.controls .place-choice{flex:1 1 100%;order:0;border:3px solid #c58b00;background:#fff2c5;padding:16px;box-shadow:0 3px 10px #795b2026}
.controls .place-choice strong{font-size:1.1rem}
.controls .place-choice p{margin:5px 0 10px}
.controls .place-choice select{border:2px solid #8d6400;background:#fff;font-weight:650}

/* v0.3 map/list selection and mobile result readability */
.kennel{cursor:pointer;scroll-margin-top:14px;transition:border-color .15s,box-shadow .15s}
.kennel.selected{border:3px solid #176b39;box-shadow:0 0 0 3px #b7e1c5;padding:12px}
.kennel:focus-visible{outline:3px solid #245f8a;outline-offset:3px}
.map-help{font-weight:650;color:#245646;margin:8px 0}
.results h2{margin-bottom:12px}.kennel .actions a{font-weight:650}
@media(max-width:600px){#list{grid-template-columns:1fr}.kennel{padding:15px}.kennel .actions a{min-height:38px;display:inline-flex;align-items:center}}

/* v0.3.1 statewide search */
.controls .state-field{flex:1 1 100%;font-size:1.04rem}
.state-field input{border:2px solid #245f8a;background:#fff}
.state-field small{display:block;color:#34584d;font-weight:500}
.example-link{background:transparent;color:#125d37;text-decoration:underline;border:0;padding:3px 6px;min-height:32px;cursor:pointer;font-weight:700}

/* Phase 6: mobile-first map/list controls; desktop map and list remain visible. */
.mobile-view-switch{display:none}
@media(max-width:700px){
  body{overflow-x:hidden}
  main{padding-left:12px!important;padding-right:12px!important}
  .controls{gap:12px}
  .controls input,.controls select,.controls button{max-width:100%;box-sizing:border-box}
  .controls input,.controls select{min-height:44px;font-size:16px}
  .controls button{min-height:44px}
  .mobile-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:sticky;top:0;z-index:500;background:#fff;padding:9px 0;border-bottom:1px solid #d5ded9}
  .mobile-view-switch button{min-height:48px;border:2px solid #176b39;border-radius:9px;background:#fff;color:#176b39;font-weight:750;font-size:1rem}
  .mobile-view-switch button[aria-pressed="true"]{background:#176b39;color:white}
  body.mobile-list-view #map,body.mobile-list-view .map-help{display:none}
  body.mobile-map-view .results{display:none}
  body.mobile-list-view .results{display:block}
  #map{min-height:340px;height:55vh;max-height:620px}
  .kennel .actions{display:flex;flex-wrap:wrap;gap:8px}
  .kennel .actions a{min-height:44px}
  .results{scroll-margin-top:65px}
}
@media(prefers-reduced-motion:reduce){.kennel{transition:none}}

.controls .destination-field .clear-location-top{justify-self:start;min-height:40px;padding:7px 14px;font-size:.95rem;border:1px solid #b7c9bf;}

/* Phase 6 v0.4.3: editable radius and unit selection */
.distance-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.distance-field>label{font-weight:700}
.distance-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.distance-controls input{width:125px;max-width:48%;min-width:90px}
.distance-controls select{width:auto;min-width:140px}
.distance-field small{display:block;line-height:1.4}

/* v0.4.5: compact weekday selection, remove oversized space before radius. */
.controls .weekday-picker{flex:1 1 100%;width:100%;box-sizing:border-box;min-width:0;margin:0;padding:7px 10px 6px;align-self:stretch;}
.controls .weekday-picker legend{font-size:.94rem;line-height:1.3;padding:0 5px;}
.controls .weekday-options{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;}
.controls .weekday-options label{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;font-size:.91rem;font-weight:550;white-space:nowrap;line-height:1.25;margin:0;padding:2px 3px;cursor:pointer;}
.controls .weekday-options input[type=checkbox]{width:17px;height:17px;min-height:0;margin:0;padding:0;flex:none;}
.controls .weekday-picker small{font-size:.79rem;line-height:1.2;margin:3px 0 0;}
.controls .distance-field{flex:1 1 100%;width:100%;box-sizing:border-box;margin:0;}
@media(max-width:390px){.controls .weekday-options{gap:3px 5px}.controls .weekday-options label{font-size:.86rem;padding:2px 1px}}
