.place-context{margin:1rem 0 1.5rem;border:1px solid var(--line,#ddd);background:var(--paper);padding:.75rem 1rem}
.place-context>summary{cursor:pointer;font-weight:600}.place-context-body{padding-top:1rem}.place-locations,.place-options{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:.75rem}.place-options label{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.place-options input[type=number]{width:6rem}.place-options select{max-width:100%}.place-dialog{width:min(42rem,calc(100% - 2rem));max-height:90dvh;overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:1.25rem}.place-dialog::backdrop{background:rgb(0 0 0 / .35)}.place-dialog label{display:block;margin:.5rem 0}.place-dialog input{max-width:100%}.place-close{float:right}.place-coordinate-fields{display:flex;gap:.75rem;flex-wrap:wrap}.place-coordinate-fields input{width:10rem}.place-map{height:300px;margin:1rem 0}.regional-details{margin:.5rem 0}.regional-details summary{cursor:pointer}.regional-note{font-size:.875rem}.regional-unknown{padding:.35rem .5rem;background:var(--soft)}.regional-estimate{font-weight:normal}.regional-summary{margin:1rem 0;padding:1rem;border:1px solid var(--line,#ddd)}
@media(max-width:600px){.place-options{align-items:stretch;flex-direction:column}.place-locations{align-items:stretch;flex-direction:column}.place-options label{justify-content:space-between}.place-dialog{padding:1rem}.place-map{height:240px}}
.place-options input[type=checkbox],.place-locations input[type=checkbox]{width:auto;flex:0 0 auto}.place-options label:has(input[type=checkbox]){display:block}.place-options[hidden]{display:none}
.place-options label[hidden]{display:none}


/* Shared place panel, with primary choices before optional refinements. */
.place-context{margin:16px 0 24px;padding:0;background:var(--soft);border:1px solid var(--line)}
.place-context>summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:14px 18px;list-style:none;box-sizing:border-box;font-size:15px;line-height:1.5}
.place-context>summary::-webkit-details-marker{display:none}
.place-context>summary::before{content:'';width:7px;height:7px;flex:none;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(-45deg)}
.place-context[open]>summary::before{transform:rotate(45deg)}
.place-context>summary [data-place-summary]{font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.place-summary-action{margin-left:auto;font-size:12px;font-weight:400;text-decoration:underline;text-underline-offset:3px}
.place-context-body{padding:4px 18px 18px}
.place-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:850px;margin:0 0 12px}
.place-location{display:flex;flex-direction:column;gap:6px;min-width:0}
.place-label{font-size:13px}.place-location button{text-align:left;min-height:44px;white-space:normal;overflow-wrap:anywhere;background:var(--paper);padding:10px 12px}
.place-same{display:flex;gap:8px;align-items:center;font-size:13px;margin:8px 0 20px}
.place-same input[type=checkbox]{width:17px;height:17px;min-height:0;margin:0;flex:none}
.place-grow-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;max-width:850px}
.place-options .place-select-label{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:13px}
.place-select-label select{width:100%;margin:0;min-height:44px;background:var(--paper)}
.place-grow-options>p,.place-grow-options>.place-refinements{grid-column:1/-1;margin:0;font-size:13px;line-height:1.55}
.place-refinements{border-top:1px solid var(--line);padding:10px 0 0}
.place-refinements>summary{font-size:13px;min-height:32px;cursor:pointer}
.place-refinements label{font-size:13px;line-height:1.5;margin-top:12px}
.place-refinements p{margin:4px 0 8px 22px;max-width:650px;font-size:12px}
.place-footer{border-top:1px solid var(--line);margin-top:16px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.place-footer .small{font-size:12px}.place-footer button{font-size:12px;min-height:36px;padding:7px 10px;background:var(--paper)}
.place-options [hidden],.place-refinements[hidden]{display:none!important}
@media(max-width:760px){
 .place-context>summary{padding:12px;gap:10px;flex-wrap:wrap;font-size:14px}
 .place-context>summary [data-place-summary]{order:3;flex-basis:100%;padding-left:17px;font-size:12px}
 .place-context>summary [data-place-summary]:empty{display:none}
 .place-summary-action{font-size:11px}
 .place-context-body{padding:0 12px 12px}
 .place-locations,.place-grow-options{grid-template-columns:1fr;gap:12px}
 .place-grow-options>p,.place-grow-options>.place-refinements{grid-column:auto}
 .place-footer{align-items:flex-start;flex-direction:column}
 .place-same{align-items:flex-start;line-height:1.5}
}


/* The same place chooser serves growing and nursery search. */
.place-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;box-sizing:border-box;border:1px solid var(--line);box-shadow:0 16px 64px #00000026}
.place-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 20px}
.place-dialog-header h2{font-size:23px;line-height:1.3;margin:5px 0 0;font-weight:500}
.place-dialog-header form{margin:0;flex:none}
.place-dialog-header .place-close{float:none;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;width:40px;height:40px;font-size:24px;padding:0;background:var(--paper)}
.place-dialog .place-search-label,.place-dialog .place-custom-label,.place-dialog .place-coordinate-fields label{display:flex;flex-direction:column;gap:7px;margin:0;font-size:13px;line-height:1.5}
.place-dialog .place-search-label input{display:block;width:100%;box-sizing:border-box;min-height:48px;margin:0;font-size:16px;padding:10px 12px}
.place-dialog .city-results{display:grid;gap:6px;margin-top:10px;font-size:13px}
.place-dialog .city-results:empty{display:none}
.place-dialog .city-results button{width:100%;text-align:left;min-height:44px;padding:10px 12px;font-size:14px;white-space:normal;background:var(--soft)}
.place-map-entry{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:13px}
.place-map-entry button{min-height:42px;font-size:13px;padding:9px 12px}
.place-dialog .place-map{height:340px;margin:18px 0;cursor:crosshair}
.place-dialog .place-map .leaflet-container{cursor:crosshair}
.place-chosen{display:flex;flex-direction:column;gap:5px;padding:14px;background:var(--soft);border:1px solid var(--line);margin:16px 0}
.place-chosen strong{font-size:15px;font-weight:500;overflow-wrap:anywhere}
.place-manual{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}
.place-manual>summary{min-height:36px;font-size:12px;cursor:pointer;color:var(--muted)}
.place-dialog .place-coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:10px 0 16px}
.place-dialog .place-coordinate-fields input{width:100%;min-width:0;box-sizing:border-box;margin:0;font-size:14px;min-height:40px;padding:8px 10px}
.place-dialog .place-custom-label input{width:100%;min-height:40px;margin:0;box-sizing:border-box;font-size:14px;padding:8px 10px}
.place-custom-label .small{font-size:11px;color:var(--muted)}
.place-manual p{margin:7px 0 0;font-size:12px;line-height:1.5}
.place-dialog-actions{display:flex;gap:12px;margin-top:20px}
.place-dialog-actions>button{min-height:46px;padding:11px 20px;font-size:14px}
.place-dialog [data-place-status]{margin:14px 0 0;font-size:13px;line-height:1.5}
.place-purchase-confirm{margin:18px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.place-purchase-confirm p{font-size:14px;line-height:1.5;margin:0 0 16px}
.place-purchase-confirm>div{display:flex;gap:10px;flex-wrap:wrap}
.place-purchase-confirm button{min-height:44px;font-size:13px;padding:10px 14px}
.place-dialog [hidden]{display:none!important}
@media(max-width:760px){
 .place-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px}
 .place-dialog-header{gap:12px;margin-bottom:18px}
 .place-dialog-header h2{font-size:21px;line-height:1.35;margin-top:4px}
 .place-dialog-header .place-close{width:44px;height:44px;min-width:44px;min-height:44px}
 .place-dialog .place-map{height:min(340px,42dvh)}
 .place-dialog .place-coordinate-fields{gap:12px}
 .place-dialog-actions>button{width:100%;min-height:48px}
 .place-purchase-confirm>div{flex-direction:column}
}

.plants-grid [data-regional-result]{margin:8px 0 0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}

@media(max-width:760px){
 .place-context>summary{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:start;gap:8px}
 .place-context>summary::before{margin-top:7px;grid-column:1;grid-row:1}
 .place-context>summary>span:first-of-type{grid-column:2;grid-row:1;min-width:0}
 .place-context>summary [data-place-summary]{grid-column:2/-1;grid-row:2;order:initial;padding:0;white-space:normal;line-height:1.5}
 .place-context>summary .place-summary-action{grid-column:3;grid-row:1;margin-top:2px}
 .place-map .leaflet-control-zoom a{width:40px;height:40px;line-height:40px}
}
