/* Optional request photos, matching the approved garden form. */
.photo-field{margin:28px 0 8px;padding-top:25px;border-top:1px solid #b9c7ae}
.photo-field>label{display:block;font:600 17px/1.4 Arial,Helvetica,sans-serif;color:#163b28;margin-bottom:10px}
.photo-field>label span{font-weight:400;font-size:13px}
.photo-field #photo-help{font-size:13px;line-height:1.65;color:#465e49;margin:0 0 14px}
.photo-field input[type=file]{display:block;width:100%;min-height:56px;color:transparent;font:0/1 Arial,Helvetica,sans-serif;background:#e9eee5;border:1px dashed #789068;border-radius:10px;padding:8px;cursor:pointer}
.photo-field input[type=file]::file-selector-button{width:100%;min-height:44px;background:#163b28;color:#f4f5ed;border:0;border-radius:24px;padding:10px 16px;margin:0;font:14px/1.5 Arial,Helvetica,sans-serif;cursor:pointer}
.photo-hint{font:12px/1.65 Arial,Helvetica,sans-serif;color:#465e49;margin:10px 0}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:16px 0 0}
.photo-grid:empty{display:none}
.photo-item{min-width:0;margin:0;background:#e9eee5;border:1px solid #b9c7ae;border-radius:10px;overflow:hidden}
.photo-thumb{width:100%;height:140px;object-fit:cover;display:block;background:#d5dfc8}
.photo-name{display:block;font:12px/1.5 Arial,Helvetica,sans-serif;color:#163b28;overflow-wrap:anywhere;margin:10px 12px 4px}
.photo-remove{display:block;min-width:44px;min-height:44px;padding:8px 12px;margin:0 0 3px;background:transparent;border:0;color:#163b28;text-decoration:underline;text-underline-offset:3px;font:13px/1.4 Arial,Helvetica,sans-serif;cursor:pointer}
.photo-field button:disabled,.photo-field input:disabled,#submit-btn:disabled{cursor:wait;opacity:.65}
.photo-field :focus-visible,.photo-open:focus-visible,.photo-remove:focus-visible,.photo-dialog button:focus-visible{outline:3px solid #215a34;outline-offset:3px}
.detail-photos{margin:0 0 24px;border-top:1px solid #cbd5c3;padding-top:18px}
.detail-photos h3{font-size:16px;margin:0 0 5px;color:#163b28}
.photo-open{display:block;width:100%;padding:0;border:0;background:transparent;color:#163b28;cursor:zoom-in;text-align:left;min-height:44px}
.photo-open .photo-name{margin-bottom:12px}
.photo-dialog{border:1px solid #b9c7ae;border-radius:14px;background:#f4f5ed;color:#163b28;width:min(94vw,980px);max-height:92svh;padding:20px;overflow:auto}
.photo-dialog::backdrop{background:rgba(9,21,15,.8)}
.photo-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}
.photo-dialog h2{font:600 18px/1.3 Arial,Helvetica,sans-serif;overflow-wrap:anywhere;margin:0;min-width:0}
.photo-dialog button{flex:none;min-height:44px;border:1px solid #789068;border-radius:24px;padding:10px 16px;background:#e9eee5;color:#163b28;cursor:pointer}
.photo-dialog img{width:100%;height:auto;max-height:70svh;object-fit:contain}
.photo-dialog p{font:12px/1.6 Arial,Helvetica,sans-serif;margin:14px 0 0}
@media(max-width:430px){.photo-grid{gap:10px}.photo-thumb{height:120px}.photo-dialog{padding:14px}.photo-dialog-head{gap:10px}.photo-dialog h2{font-size:16px}}
