.service-photo-preview{margin:0 0 24px;padding:16px;border:1px solid #dce3df;background:#f4f7ef;border-radius:16px}
.service-photo-preview img{display:block;width:100%;height:230px;object-fit:contain;border-radius:10px}
.service-photo-preview figcaption{margin-top:10px;color:#536859;font-size:13px}
.service-photo-preview[hidden]{display:none}
input[type=file]{display:block;width:100%;min-height:48px;padding:8px!important;font-size:14px}
input[type=file]::file-selector-button{padding:10px 14px;margin-right:12px;border:0;border-radius:8px;background:#e4edda;color:#153d33;cursor:pointer;font-weight:600}
.service-choice-section h3{font-size:20px;margin-bottom:8px}
.service-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-height:480px;overflow:auto;padding:5px;margin:0 -5px 12px}
.service-choice{display:flex;flex-direction:column;min-width:0;border:2px solid #dde4d8;border-radius:16px;overflow:hidden;text-decoration:none;background:#fff;transition:border-color .15s,box-shadow .15s}
.service-choice:hover{border-color:#829b65;box-shadow:0 4px 14px #153d3312}
.service-choice.is-selected{border-color:#153d33;background:#f1f6e8}
.service-choice img,.service-photo-placeholder{display:block;width:100%;height:160px;object-fit:contain;background:#edf1e8}
.service-photo-placeholder{display:grid;place-items:center;font-size:44px;font-family:Georgia,serif;color:#587249}
.service-choice-info{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:8px;padding:14px}
.service-choice-info strong{font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.service-choice-info>span{font-size:13px;color:#4d6254;line-height:1.5}
.service-choice-info .service-selected{font-weight:650;color:#153d33;margin-top:auto}
.selected-service-photo{width:100%;max-height:260px;object-fit:contain;background:#edf1e8;border-radius:16px;margin:0 0 24px}
.service-card-photo{width:100%;height:150px;object-fit:contain;border-radius:12px;background:#edf1e8;margin-bottom:14px}
.service-saved-photo{width:64px;height:48px;object-fit:contain;border-radius:8px;vertical-align:middle;margin-right:12px;background:#edf1e8}
#booking-filters{scroll-margin-top:24px}
@media(max-width:600px){.service-choice img,.service-photo-placeholder{height:115px}.service-choice-info{padding:11px;gap:6px}.service-choice-info strong{font-size:14px}.service-choice-info>span{font-size:12px}.service-choices{gap:10px;max-height:410px}.service-photo-preview img{height:190px}.selected-service-photo{max-height:180px}}
@media(prefers-reduced-motion:reduce){.service-choice{transition:none}}
