*{box-sizing:border-box}body{margin:0;background:#faf9f6;color:#181818;font:16px/1.6 Arial,sans-serif}header{display:flex;align-items:center;justify-content:space-between;padding:18px 5%;border-bottom:1px solid #ddd;background:white;gap:20px}header img{width:170px;display:block}a{color:inherit}main{max-width:1240px;margin:auto;padding:48px 5% 80px}.eyebrow{font-size:11px;letter-spacing:2px;color:#89212b}h1{font:clamp(36px,7vw,70px)/1.1 Georgia,serif;overflow-wrap:anywhere;margin:20px 0 8px}h2{font:30px/1.2 Georgia,serif}.subtitle{font-size:22px;margin:0}.muted{color:#666}.gate{max-width:530px;margin:40px 0;background:#fff;padding:30px;border:1px solid #dedad5;border-radius:8px}.tag{font-size:11px;letter-spacing:1.5px;color:#902230}label{display:block;margin:16px 0 6px}input[type=password]{width:100%;padding:14px;border:1px solid #aaa;border-radius:4px;font-size:18px}button,.picker{display:inline-block;border:0;background:#880f20;color:white;border-radius:4px;padding:13px 20px;font:inherit;cursor:pointer}form button{margin-top:16px}button:disabled{opacity:.55;cursor:wait}.secondary{background:white;color:#222;border:1px solid #bbb}.admin{padding:28px;background:white;border:1px solid #ddd;margin-top:35px}.picker{position:relative;overflow:hidden}.picker input{display:block;max-width:100%;margin-top:8px}.actions,.bar{display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:24px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}.photo{background:white;border:1px solid #e2e2e2;overflow:hidden;border-radius:5px}.photo img{width:100%;height:260px;object-fit:cover;display:block}.photo div{padding:14px}.photo p{margin:0 0 12px;overflow-wrap:anywhere}.photo a{display:inline-block;margin-right:18px;color:#870f20}.empty{text-align:center;padding:50px 20px;border:1px dashed #c9c4bf}footer{border-top:1px solid #ddd;padding:25px 5%;color:#666;font-size:13px}progress{width:100%}[hidden]{display:none!important}@media(max-width:500px){header img{width:115px}header a{font-size:12px}.gate,.admin{padding:20px}.grid{grid-template-columns:1fr}}

/* Rounded surfaces across West Events Media. */
.button,.outline,button,.picker,input:not([type=checkbox]):not([type=radio]),textarea,select,.bulk-link{border-radius:12px}
.card,.card-art,.packages article,.hero-image,.photo,.gate,.admin,.empty,.bulk-download{border-radius:20px}
.hero-image,.card-art,.photo{overflow:hidden}
.hero-image img{border-radius:inherit}
.approach,.process,.contact,.ticker{border-radius:24px}
.contact input,.contact textarea,.contact select{border:1px solid #70634b;padding:12px;background:#ffffff08;border-radius:12px}
#wem-event-dialog .wem-ticket-link{border-radius:20px!important}
#wem-event-dialog .wem-mobile-cta,#wem-event-reopen{border-radius:12px!important}
#wem-event-dialog .wem-close{border-radius:50%!important}
.photo .photo-save{margin-top:12px;font-size:14px;padding:10px 14px;display:block}
.bulk-download{padding:20px;background:#fff;border:1px solid #dedad5;margin:0 0 26px}
.bulk-link{display:inline-block;padding:13px 20px;background:#880f20;color:#fff;text-decoration:none;font-weight:600}
.bulk-note,.bulk-status{font-size:13px;margin:12px 0 0}
.save-dialog{border:1px solid #dedad5;border-radius:22px;padding:26px;width:min(560px,92vw);max-height:88dvh;overflow:auto;color:#181818;background:#fff;box-sizing:border-box}
.save-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}
.save-dialog h2{margin:10px 45px 15px 0}.save-close{float:right;font-size:24px;padding:4px 12px;border-radius:50%}
.save-preview{display:block;max-width:100%;max-height:42dvh;object-fit:contain;margin:16px auto;border-radius:14px}
.save-preview:not([src]){display:none}.save-dialog .muted{font-size:13px}.save-dialog .actions{justify-content:flex-start}
.media-tabs{display:flex;gap:10px;margin:26px 0}.media-tabs button[aria-pressed=false]{background:#fff;color:#222;border:1px solid #bbb}
.preview-button{display:block;padding:0;border:0;width:100%;background:#eee;border-radius:0;overflow:hidden}.preview-button img{transition:transform .2s}.preview-button:hover img{transform:scale(1.025)}
.text-button{display:inline-block;background:none;color:#870f20;padding:0;margin:0 18px 8px 0;font-size:16px}
.held-badge{display:block;width:fit-content;padding:4px 9px;border-radius:8px;background:#fff0ca;color:#775500;font-size:12px;margin-bottom:12px}
.photo video{width:100%;height:260px;background:#151515;display:block;object-fit:contain}.photo .editor-controls{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #eee;padding:14px 0 0;margin-top:14px}.editor-controls button{font-size:12px;padding:9px 12px}.danger{color:#a00925}
.trash-box{margin-top:28px;padding:20px;border:1px solid #ddd;border-radius:18px}.trash-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px}.trash-row span{overflow-wrap:anywhere}
.photo-viewer{position:fixed;inset:0;margin:0;border:0;border-radius:0;padding:20px;width:100vw;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;background:#121212;color:#fff;overflow:hidden}
.photo-viewer[open]{display:flex;flex-direction:column}.photo-viewer::backdrop{background:#000}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;flex-shrink:0}.viewer-title{margin:0;flex:1;overflow-wrap:anywhere}.viewer-close{border-radius:50%;font-size:28px;padding:2px 13px;background:#333}.viewer-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;margin:14px 0;touch-action:pan-y pinch-zoom}.viewer-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px}.viewer-prev,.viewer-next{position:absolute;top:50%;transform:translateY(-50%);border-radius:50%;background:#0009;color:#fff;width:44px;height:44px;padding:0;font-size:32px;z-index:1}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer-download{color:white}.viewer-hint{text-align:center;font-size:12px;color:#bbb;margin:10px 0 0}.viewer-held{color:#f0cb76}.viewer-bottom{justify-content:center}.viewer-share{font-size:14px}.viewer-position{font-size:13px}
@media(max-width:600px){.photo-viewer{padding:14px 10px}.viewer-bottom{gap:12px}.viewer-title{font-size:13px}.viewer-prev,.viewer-next{width:36px;height:36px}.media-tabs{width:100%}.media-tabs button{flex:1}.save-dialog{padding:18px}.trash-row{align-items:start}}
/* Consistent control geometry and card rhythm. */
:root{--gallery-red:#880f20;--surface-radius:20px;--control-radius:12px}
button,.picker,.bulk-link{min-height:44px;border-radius:var(--control-radius);line-height:1.25}
main{padding-top:42px}.admin{border-radius:var(--surface-radius);padding:28px}.admin h2{margin:10px 0 16px}.admin p{max-width:760px}
.upload-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.upload-actions .picker{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:14px 22px;min-width:170px;position:relative;font-weight:600;font-size:14px}
.upload-actions .picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.upload-actions .picker:focus-within{outline:3px solid #b28a3c;outline-offset:3px}
.admin .actions{margin-bottom:0;justify-content:flex-start}.admin .actions button{font-size:14px;padding:13px 18px}
.media-tabs{display:inline-flex;width:auto;background:#eeebe6;padding:5px;border-radius:16px;gap:5px;margin:28px 0 8px}.media-tabs button{min-width:142px;font-size:14px;font-weight:600;border:0}.media-tabs button[aria-pressed=false]{border:0;background:transparent;color:#5c5652}
.bar{margin:14px 0 20px}.bar p{margin:0;font-size:14px;font-weight:600;color:#57514d}.bar button{min-height:40px;font-size:13px;padding:10px 18px}
.bulk-download{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;align-items:center;padding:22px;margin-bottom:26px;background:#fff;border-color:#e6e0da}
.bulk-link{grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;font-size:14px;white-space:nowrap;padding:14px 20px;min-height:48px}
.bulk-size{margin:0;font-size:14px;font-weight:600;color:#28211e}.bulk-note{margin:0;font-size:12px;line-height:1.5}.bulk-status{grid-column:1/-1;margin:0}.bulk-status:empty{display:none}
.grid{gap:24px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.photo{display:flex;flex-direction:column;border-radius:20px;border-color:#e6e0da;box-shadow:0 3px 12px #261a1105}
.photo>button.preview-button{border-radius:0;min-height:0;flex:none}.photo img,.photo video{height:270px}.photo .media-body{padding:18px;display:flex;flex-direction:column;flex:1}
.photo .media-title{font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0 0 5px;line-height:1.5}
.media-status{display:block;font-size:11px;line-height:18px;color:#807770;margin-bottom:16px}.media-status.is-held{color:#936014}
.photo .photo-actions{padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.photo-actions .text-button,.photo-actions a{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ded8d2;color:#493d38;border-radius:12px;min-height:44px;font-size:13px;font-weight:500;margin:0;padding:10px 8px;text-decoration:none}
.photo-actions>a:only-child{grid-column:1/-1}.photo .photo-save{width:100%;margin:10px 0 0;min-height:44px;padding:12px;font-size:13px;font-weight:600}
.photo .editor-controls{padding:14px 0 0;margin-top:16px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:10px}.editor-controls button{width:100%;min-height:40px;font-size:12px;padding:9px 8px}.editor-controls .danger{border-color:#ead4d8;background:#fffafb}
.photo-viewer .viewer-prev,.photo-viewer .viewer-next,.photo-viewer .viewer-close,.save-dialog .save-close{border-radius:50%}.viewer-bottom a{padding:12px 18px;border:1px solid #555;border-radius:12px;font-size:14px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.viewer-close{min-height:40px}
@media(max-width:600px){main{padding:28px 5% 50px}.admin{padding:20px}.admin h2{font-size:27px}.upload-actions{display:grid;grid-template-columns:1fr 1fr}.upload-actions .picker{min-width:0;padding:13px 10px;font-size:13px}.admin .actions{display:grid;grid-template-columns:1fr}.media-tabs{display:flex;width:100%}.media-tabs button{min-width:0;flex:1}.bulk-download{grid-template-columns:1fr;padding:20px;gap:10px}.bulk-link{grid-row:auto;width:100%}.bulk-size{text-align:center}.bulk-note{font-size:12px}.grid{grid-template-columns:1fr;gap:22px}.photo img,.photo video{height:auto;aspect-ratio:4/3}.photo .media-body{padding:18px}.viewer-image{height:auto;aspect-ratio:auto}.viewer-bottom{gap:8px}.viewer-bottom a,.viewer-share{font-size:12px;padding:11px 12px}.viewer-position{width:100%;text-align:center}}

.account-nav{display:flex;gap:14px;align-items:center;justify-content:flex-end;flex-wrap:wrap;font-size:13px}.account-nav .account-switch{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;background:#850d1d;color:#fff;border-radius:14px;text-decoration:none}.account-nav .account-role{font-weight:600}.account-nav button{min-height:44px} @media(max-width:620px){header{align-items:flex-start;gap:12px;flex-wrap:wrap}.account-nav{width:100%;justify-content:flex-start;gap:10px}.account-nav>a:first-child{margin-right:auto}}

.trash-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.trash-row>span{flex:1 1 240px}.trash-box>button{margin:14px 0;color:#850d1d}.trash-row>button:last-child{color:#850d1d}
