.trip-photos { scroll-margin-top: 1rem; }
.trip-photo-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap: 1rem; }
.trip-photo-card { border: 1px solid var(--cy-border); border-radius: .75rem; overflow: hidden; overflow-wrap: anywhere; padding-bottom: 1rem; }
.trip-photo-card>img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.trip-photo-card>p,.trip-photo-card>label,.trip-photo-card>.actions { margin: .8rem; }
.trip-photos label,.trip-photo-dialog label { display: block; padding: .7rem 0; }
.trip-photos button,.trip-photos a,.trip-photos summary,.trip-photo-dialog button,.trip-photo-dialog a { min-height: 44px; padding: .75rem; }
.trip-photos input:not([type=checkbox]),.trip-photos textarea,.trip-photo-dialog input:not([type=checkbox]),.trip-photo-dialog textarea,.trip-photo-dialog select { width: 100%; max-width: 100%; font-size: 1rem; box-sizing: border-box; }
.trip-photo-upload { margin: 1rem 0; padding: 1rem; border: 1px solid var(--cy-border); }
.trip-photo-upload progress { display: block; width: 100%; }
.trip-photo-dialog { width: min(54rem,calc(100% - 2rem)); max-height: 90dvh; overflow: auto; padding: 1rem; box-sizing: border-box; }
.trip-photo-dialog img { display: block; width: 100%; height: auto; object-fit: contain; }
body.owner-trip-focused #our-trip-photos,body.owner-trip-focused a[href='#our-trip-photos'] { display: none; }

.trip-photo-quick-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0; }
.trip-photo-quick-actions a { padding: .65rem .8rem; min-height: 44px; box-sizing: border-box; }
.trip-photos .actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.trip-photos .actions button,.trip-photos .actions a { padding: .5rem .65rem; }
.trip-photo-upload { padding: .65rem; margin: .65rem 0; }
.trip-photo-upload h4 { margin: 0 0 .5rem; overflow-wrap: anywhere; }
.trip-photo-upload label { padding: .4rem 0; }
.trip-photo-dialog figure { margin: .75rem 0; }
.trip-photo-dialog figure img { max-height: 45dvh; }
#trip-photo-uploader,#trip-photo-list,#trip-photo-publish { scroll-margin-top: 1rem; }
body.owner-trip-focused .trip-photo-quick-actions { display: none; }

.trip-photos p { margin: .5rem 0; }
.trip-photos label,.trip-photo-dialog label { font-weight: 400; line-height: 1.4; }
.trip-photos .actions button,.trip-photos .actions a { width: auto; flex: 0 1 auto; font-size: 1rem; line-height: 1.3; }
.trip-photo-tools { margin: .5rem 0; }
.trip-photo-tools>button { margin: .25rem; width: auto; }
.trip-photo-upload details { margin: .4rem 0; }
.trip-photo-upload textarea { min-height: 3rem; }
.trip-photo-quick-actions a { flex: 1 1 9rem; text-align: center; }

.trip-photos .trip-photo-card>p { margin: .5rem .8rem; }
.trip-photos .trip-photo-card .actions { margin: .65rem .8rem; }
