.collage-group{display:grid;gap:8px;aspect-ratio:1;margin:0 0 12px;min-width:0}
.collage-empty-cell{display:flex;align-items:center;justify-content:center;color:#bdd0d5;font-size:12px}
.collage-cell{position:relative;overflow:hidden;margin:0;min-width:0;min-height:0;border-radius:8px;background:#20343a}
.collage-cell img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.collage-cell figcaption{position:absolute;bottom:0;left:0;right:0;padding:18px 10px 8px;background:linear-gradient(transparent,#0009);color:white;font-size:12px;pointer-events:none}
.collage-cell.is-selected{outline:3px solid #f59c38;outline-offset:-3px}
.collage-editor{margin:20px 0;padding:16px;border:1px solid #b8c8cc;border-radius:12px}
.collage-editor [hidden]{display:none!important}
.collage-modes{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.collage-modes button{padding:10px 14px;border:1px solid #b8c8cc;border-radius:8px;background:white;color:#18333b;cursor:pointer}
.collage-modes button[aria-pressed=true]{background:#18333b;color:white}
.collage-editor .collage-cell.is-drop-target{outline:4px solid #33c79b;outline-offset:-4px}
.collage-editor .collage-cell.is-dragging{opacity:.55}
.collage-editor[data-mode=frame] .collage-cell{cursor:move}
.collage-designs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.collage-designs button{width:100px;padding:8px;border:2px solid #d7dfe1;border-radius:8px;background:white;color:#18333b;cursor:pointer}
.collage-designs button[aria-pressed=true]{border-color:#ed8c2c;background:#fff3e8}
.collage-designs .collage-group{gap:3px;pointer-events:none;margin-bottom:6px}
.collage-designs .collage-cell{border-radius:1px;background:#9caeb4}
.collage-editor .collage-cell{cursor:grab;touch-action:none}
.collage-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.collage-tools label{flex:1;min-width:120px}
.collage-tools button,.photo-adjust-button{padding:9px 13px;border:1px solid #b8c8cc;border-radius:8px;background:white;color:#18333b;cursor:pointer}
.photo-adjust-button{margin:10px 0}
.photo-editor-dialog{width:min(760px,calc(100% - 24px));max-height:90dvh;padding:24px;border:0;border-radius:16px;color:#18333b;background:white;overflow:auto}
.photo-editor-dialog::backdrop{background:#07151ac9}
.photo-editor-dialog h2{margin:0 0 10px}
.photo-editor-stage{position:relative;overflow:hidden;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0/20px 20px;touch-action:none;cursor:grab;max-height:55dvh;margin:16px 0}
.photo-editor-stage img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none}
.photo-editor-dialog label{display:block;margin:12px 0}
.photo-editor-dialog input[type=range]{width:100%}
.photo-editor-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.photo-editor-actions button{padding:10px 16px;border:1px solid #b8c8cc;border-radius:8px;cursor:pointer}
.photo-editor-status{color:#ad3b20}
.trip-collage{margin-top:20px}
.collage-group[data-style=polaroid]{padding:22px;gap:20px;background:#e8e1d7;border-radius:14px}
.collage-group[data-style=polaroid] .collage-cell{border:8px solid #fff;border-bottom-width:30px;border-radius:0;box-shadow:0 5px 14px #0003;transform:rotate(-3deg)}
.collage-group[data-style=polaroid] .collage-cell:nth-child(even){transform:rotate(3deg)}
.collage-group[data-style=album]{padding:22px;gap:18px;background:linear-gradient(135deg,#b0a599,#d9cdbb);border-radius:14px}
.collage-group[data-style=album] .collage-cell{border:6px solid #f7f0e4;border-radius:2px;box-shadow:0 4px 10px #38271733}
.collage-group[data-style=album] .collage-cell::after{content:'';position:absolute;top:0;left:25%;width:42%;height:12px;background:#d9c8a5a6;pointer-events:none;transform:rotate(-4deg)}
.collage-designs .collage-group[data-style=polaroid],.collage-designs .collage-group[data-style=album]{padding:6px;gap:6px}
.collage-designs .collage-group[data-style=polaroid] .collage-cell{border-width:2px;border-bottom-width:5px}
.collage-designs .collage-group[data-style=album] .collage-cell{border-width:2px}
.collage-designs .collage-group[data-style=album] .collage-cell::after{height:4px}
.gallery-admin-section{margin-top:30px}
.gallery-library{margin:20px 0;padding:16px;border:1px solid #c9d5d8;border-radius:12px}
.gallery-library summary{cursor:pointer;font-weight:600}
.gallery-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:18px 0;max-height:380px;overflow:auto}
.gallery-library-grid label{position:relative;display:grid;gap:6px;font-size:12px}
.gallery-library-grid img{width:100%;height:100px;object-fit:cover;border-radius:8px}
.gallery-library-grid input{position:absolute;top:8px;left:8px;width:20px;height:20px}
.trip-gallery-video{width:100%;max-height:560px;display:block;border-radius:12px;background:#10232c;margin-bottom:16px}
@media(max-width:560px){.collage-editor{padding:10px}.collage-group{gap:5px}.photo-editor-dialog{padding:16px}.collage-cell figcaption{font-size:10px}}
