.photo-page{background:#f4f5ed;color:#103a2c;min-height:100vh;padding-bottom:110px}.photo-hero{padding:70px 24px 25px;background-size:cover;background-position:center;color:white}.photo-hero h2{font:italic 38px Georgia;margin:0}.photo-main{padding:18px;max-width:1100px;margin:auto}.photo-categories{display:flex;gap:8px;overflow:auto}.photo-categories button{flex:1;min-width:100px;border:1px solid #dce5dc;border-radius:16px;padding:14px;background:#fafcf7;color:#123d2f;white-space:nowrap}.photo-categories small{display:block;margin-top:5px}.photo-categories .active,.photo-primary{background:#103f2e;color:white}.photo-tools,.photo-upload{display:flex;gap:10px;margin:18px 0}.photo-tools input{flex:1;min-width:0}.photo-page input,.photo-page select,.photo-heading button{border:1px solid #d8e2da;border-radius:14px;padding:12px;background:#fff;color:#143e2f;font:inherit}.photo-upload select{min-width:0;max-width:45%}.photo-primary{padding:14px;border-radius:14px;cursor:pointer;display:block;text-align:center;flex:1;font-weight:700}.photo-cap{font-size:12px;display:flex;align-items:center;gap:12px}.photo-cap progress{width:100px;accent-color:#174f39}.photo-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.photo-heading h2{font:26px Georgia}.photo-heading small{font-size:18px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photo-tile{padding:0!important;border:0!important;border-radius:13px!important;overflow:hidden;background:white!important;text-align:left;color:#123b2e!important}.photo-tile img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo-tile span{display:block;padding:8px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-list{grid-template-columns:1fr}.photo-list .photo-tile{display:flex;align-items:center}.photo-list img{width:90px}.photo-empty{padding:50px 10px;text-align:center}.photo-viewer{border:0;border-radius:18px;max-width:min(95vw,1100px);padding:15px;background:#f7f8f1}.photo-viewer::backdrop{background:#001b16dc}.photo-viewer>img{display:block;max-width:100%;max-height:75vh;object-fit:contain}.photo-close{position:absolute;right:20px;top:20px;border:0;border-radius:50%;width:38px;height:38px;background:white;font-size:25px}.photo-viewer button{cursor:pointer}.photo-upload input:disabled+span{opacity:.5}@media(max-width:480px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-list{grid-template-columns:1fr}.photo-tools{flex-wrap:wrap}.photo-tools input{width:100%;flex-basis:100%}.photo-primary{font-size:14px}}

.photo-viewer .photo-delete{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:12px 0 0 auto;padding:10px;border:1px solid #e3c9c4;border-radius:12px;background:#fff;color:#9c312c;cursor:pointer}

.photo-upload{flex-wrap:wrap;align-items:end}.photo-upload-field{display:flex;flex:1 1 180px;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.photo-upload-field input,.photo-details textarea,.photo-details select{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #dbe2d6;border-radius:12px;background:#fff;font:400 16px/1.4 system-ui}.photo-details{display:grid;gap:12px;margin-top:16px}.photo-details label{display:grid;gap:6px;font-size:14px}.photo-details .photo-primary{justify-self:start;padding:10px 24px}.photo-details p:empty{display:none}
