/* Copyright (c) 2026 ELM. Private distribution. */
.elm-tree-gallery{margin:36px 0;padding:24px 0;border-top:1px solid #ccd7c5}
.elm-tree-gallery h2,.elm-gallery-manager h2{font:400 32px/1.25 Georgia,serif}
.elm-tree-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px;align-items:start}
.elm-photo-card{margin:0;padding:14px;background:#fffdf6;border:1px solid #d9dfd0;border-radius:12px;overflow:hidden}
.elm-photo-card>a{display:block;text-align:center;background:#edf0e7;border-radius:8px}
.elm-photo-card img{display:block;width:100%;height:230px;object-fit:contain;border-radius:8px}
.elm-photo-card figcaption{padding-top:12px;font-size:15px}
.elm-photo-card figcaption p{margin:6px 0;overflow-wrap:anywhere}
.elm-photo-caption{white-space:normal}
.elm-photo-download{display:inline-block;margin:8px 0;font-size:13px}
.elm-photo-edit{margin-top:12px;border-top:1px solid #dae1d2;padding-top:10px}
.elm-photo-edit summary{cursor:pointer;font-weight:600}
.elm-photo-edit form,.elm-gallery-upload{display:grid;gap:12px;margin:15px 0}
.elm-photo-edit label,.elm-gallery-upload label{display:grid;gap:4px;font-size:14px}
.elm-photo-edit input,.elm-photo-edit textarea,.elm-gallery-upload input,.elm-gallery-upload select,.elm-gallery-upload textarea{max-width:100%;width:100%;box-sizing:border-box;border:1px solid #b9c9b0;border-radius:7px;background:#fff;padding:9px;font:inherit;color:#243b2d}
.elm-photo-edit input[type=file],.elm-gallery-upload input[type=file]{padding:12px}
.elm-photo-buttons{display:flex;gap:9px;flex-wrap:wrap}
.elm-photo-edit button,.elm-gallery-upload button{justify-self:start;border:0;border-radius:7px;background:#24553c;color:#fff;padding:10px 15px;font:inherit;cursor:pointer}
.elm-photo-edit button.secondary{background:#e7eddc;color:#24553c;border:1px solid #b9c9b0}
.elm-gallery-manager{margin-top:24px}
@media(max-width:600px){.elm-photo-card img{height:210px}.elm-tree-gallery{padding:18px 0}.elm-gallery-upload button{width:100%}}

.elm-album-visibility{padding:16px;margin:14px 0;border:1px solid #c8d4bf;border-radius:9px;background:#f5f7ef}.elm-album-visibility h4{margin:0}.elm-gallery-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0}.elm-gallery-check input{margin-top:5px;flex:0 0 auto}.elm-album-visibility button{border:0;border-radius:7px;background:#24553c;color:#fff;padding:10px 14px;cursor:pointer}.elm-photo-visibility{font-size:12px;color:#536b50}
