.footer-links{display:flex;flex-wrap:wrap;gap:12px 23px;font-size:.875rem;color:var(--wine)}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.gallery-main,.admin-main{padding-block:30px 72px}.back-link{display:inline-flex;gap:10px;padding-block:8px;color:var(--muted);font-size:.875rem}.gallery-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin:35px 0 18px}.gallery-intro h1{font-size:clamp(2.65rem,4.3vw,4rem);line-height:1.13;max-width:740px;margin-bottom:19px}.gallery-intro p:not(.eyebrow){color:var(--muted);margin-bottom:0}.year-filter{font-size:.875rem;font-weight:600;display:flex;flex-direction:column;gap:7px;min-width:170px}.year-filter select{padding:12px 36px 12px 14px;border:1px solid var(--line);border-radius:5px;background:var(--paper);font:1rem var(--sans);color:var(--ink)}.gallery-count{font-size:.875rem;color:var(--muted);margin:27px 0 21px}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 25px}.album-card{display:block;overflow:hidden;border-bottom:1px solid var(--line);padding-bottom:25px}.album-card:focus-visible{outline-offset:5px}.album-cover{aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#eee5da}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.album-card:hover .album-cover img{transform:scale(1.025)}.album-card .album-year{font-size:.75rem;color:var(--wine);font-weight:600;letter-spacing:.07em;margin:18px 0 7px}.album-card h3{font-size:1.65rem;line-height:1.2;letter-spacing:-.03em;margin:0 0 10px}.album-card .album-place{font-size:.875rem;color:var(--muted);margin-bottom:10px}.album-card .album-open{font-size:.875rem;font-weight:600;color:var(--wine)}.home-gallery{border-top:1px solid var(--line)}.home-gallery .section-heading{align-items:center}.gallery-message{grid-column:1/-1;color:var(--muted);padding:28px 0}.event-meta{margin:32px 0 15px}.event-description{max-width:720px;white-space:pre-line;color:var(--muted);margin-bottom:35px}#event-view h1{font-size:clamp(2.5rem,4.2vw,4rem);max-width:900px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.photo-item{border:0;background:none;padding:0;text-align:left;color:var(--ink);cursor:pointer;font:1rem var(--sans)}.photo-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.photo-item span{display:block;padding-top:9px;color:var(--muted);font-size:.875rem;line-height:1.5}.lightbox{border:0;border-radius:8px;background:#221c1b;color:white;padding:50px 24px 18px;width:min(1000px,calc(100vw - 28px));max-width:none;max-height:95dvh}.lightbox::backdrop{background:#171313dc}.lightbox-content img{max-height:70dvh;width:100%;object-fit:contain}.lightbox-content p{font-size:.9375rem;text-align:center;margin:14px 20px;min-height:1.6em}.lightbox-close{position:absolute;right:12px;top:7px;border:0;background:none;color:white;font-size:2rem;cursor:pointer;width:42px;height:42px}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.lightbox-controls button{border:1px solid #665c58;border-radius:5px;background:none;color:white;padding:10px 15px;cursor:pointer;font-size:.875rem}.lightbox-controls span{font-size:.875rem}.notice{padding:17px 20px;border:1px solid #bdc8b7;border-radius:6px;background:#f3f7ef;color:#2f4931;margin:18px 0;white-space:pre-line;font-size:1rem}.notice.error{border-color:#dba6a6;background:#fff3f0;color:#862e32}.notice button{margin-left:15px;color:inherit;background:none;border:0;text-decoration:underline;cursor:pointer;font:inherit}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:25px 0 35px}.admin-heading h1{font-size:clamp(2.1rem,3.3vw,3.1rem);line-height:1.15;margin-bottom:15px}.admin-heading .eyebrow{margin-bottom:14px}.admin-heading p:not(.eyebrow){font-size:.875rem;color:var(--muted);margin:0}.admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:42px;align-items:start}.album-sidebar>.button{width:100%;margin-bottom:20px;cursor:pointer}.album-sidebar #admin-events{display:flex;flex-direction:column;gap:10px}.admin-event-button{border:1px solid var(--line);background:transparent;border-radius:6px;text-align:left;font:1rem/1.5 var(--sans);padding:17px;color:var(--ink);cursor:pointer;word-break:break-word}.admin-event-button[aria-current=true]{background:#f3e9db;border-color:#b79987}.admin-event-button strong{display:block;font-weight:600}.admin-event-button span{display:block;font-size:.75rem;color:var(--muted);margin-top:7px}.event-editor{border:1px solid var(--line);border-radius:8px;padding:30px;min-width:0}#editor-empty h2{font-size:2rem;line-height:1.25}#editor-empty p{color:var(--muted)}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px}.editor-heading h2{font-size:1.9rem;line-height:1.2;margin:0}.status-label{font-size:.75rem;padding:5px 10px;border-radius:4px;background:#f3e9db;color:var(--wine);white-space:nowrap}.status-label.published{background:#e8efe0;color:#3f542f}.event-editor fieldset{border:0;padding:0;margin:0;min-width:0}.event-editor label{display:flex;flex-direction:column;gap:7px;font-size:.875rem;font-weight:600;margin-bottom:18px}.event-editor label>span:not(.upload-symbol){font-weight:400;color:var(--muted)}.event-editor input:not([type=file]),.event-editor textarea{width:100%;font:1rem/1.5 var(--sans);color:var(--ink);background:white;border:1px solid #d6cbbb;border-radius:5px;padding:11px 13px}.event-editor textarea{resize:vertical;min-height:90px}.event-editor input:focus-visible,.event-editor textarea:focus-visible,select:focus-visible{outline:2px solid var(--wine);outline-offset:2px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.event-editor .button{cursor:pointer;font-family:var(--sans)}button:disabled,fieldset:disabled{opacity:.55;cursor:not-allowed}.upload-section{border-top:1px solid var(--line);margin-top:30px;padding-top:26px}.upload-section h3{font-size:1.7rem;letter-spacing:-.025em;margin-bottom:10px}.upload-section>p,.upload-detail{font-size:.875rem;color:var(--muted)}.event-editor .upload-zone{position:relative;border:1px dashed #b89b88;background:#faf5ed;border-radius:7px;min-height:156px;text-align:center;justify-content:center;align-items:center;gap:6px;padding:22px;overflow:hidden}.upload-zone:hover,.upload-zone.dragging{background:#f3e7d7}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-zone:focus-within{outline:2px solid var(--wine);outline-offset:3px}.upload-symbol{font-family:var(--serif);font-size:2rem;color:var(--wine);line-height:1}.upload-zone strong{font-size:1rem}.upload-zone>span{font-size:.875rem}.upload-detail{font-size:.75rem;margin-top:-5px}.upload-section progress{width:100%;accent-color:var(--wine);height:12px}.upload-section #upload-status{font-size:.875rem;color:var(--muted)}.admin-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 18px;margin-top:23px}.admin-photo{min-width:0}.admin-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px;margin-bottom:12px}.admin-photo label{font-size:.75rem;gap:5px;margin-bottom:8px}.admin-photo input{font-size:.875rem!important;padding:8px!important}.photo-actions{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap}.photo-actions button{background:none;border:0;color:var(--wine);font-size:.8125rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 0;min-height:32px}.photo-actions .remove-photo{color:#8e4338}.publish-panel{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:23px;padding-top:28px;margin-top:30px}.publish-panel h3{font-size:1.45rem;margin-bottom:9px;line-height:1.2}.publish-panel p{font-size:.875rem;color:var(--muted);margin:0}.publish-panel>.button{flex-shrink:0;font-size:.875rem;padding:12px 19px}.publish-panel .text-link{margin-top:8px}.event-editor[aria-busy=true]{pointer-events:none}.event-editor[aria-busy=true] .upload-section{pointer-events:auto}.event-editor[aria-busy=true] .admin-photo-grid{pointer-events:none}[hidden]{display:none!important}
@media(max-width:1100px){.album-grid{gap:25px 20px}.admin-layout{grid-template-columns:230px minmax(0,1fr);gap:25px}.event-editor{padding:25px}.publish-panel{align-items:flex-start;flex-direction:column}.gallery-intro{align-items:flex-start}.gallery-intro h1{font-size:3rem}.year-filter{min-width:150px}.header nav{gap:17px}}
@media(max-width:800px){.gallery-intro{flex-direction:column;gap:23px}.year-filter{width:210px}.album-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr 1fr}.admin-layout{grid-template-columns:1fr;gap:28px}.album-sidebar #admin-events{display:grid;grid-template-columns:1fr 1fr}.album-sidebar>.button{width:auto}.admin-heading{align-items:flex-start;flex-direction:column;gap:15px}.admin-heading h1{font-size:2.3rem}.gallery-intro h1{font-size:2.9rem}.home-gallery .section-heading{align-items:flex-start}.header nav{gap:12px}}
@media(max-width:560px){.gallery-main,.admin-main{padding-block:22px 48px}.gallery-intro{margin-top:23px}.gallery-intro h1{font-size:2.7rem}.album-grid{grid-template-columns:1fr;gap:26px}.album-card h3{font-size:1.7rem}.photo-grid{gap:15px}.photo-item span{font-size:.8125rem}.lightbox{padding:49px 12px 14px}.lightbox-controls button{padding:10px;font-size:.8125rem}.lightbox-content img{max-height:65dvh}.event-editor{padding:22px 18px}.admin-heading h1{font-size:2.15rem}.admin-heading{margin-top:16px}.album-sidebar #admin-events{grid-template-columns:1fr}.admin-event-button{padding:14px}.editor-heading{align-items:flex-start;flex-direction:column;gap:10px}.editor-heading h2{font-size:1.8rem}.field-row{grid-template-columns:1fr;gap:0}.admin-photo-grid{grid-template-columns:1fr 1fr;gap:22px 12px}.admin-photo img{aspect-ratio:1}.upload-zone{padding:18px!important}.photo-actions{flex-direction:column;align-items:flex-start;gap:2px}.notice{padding:15px}.footer-links{font-size:.875rem;gap:10px 20px}.gallery-intro .eyebrow{font-size:.75rem}.home-gallery .section-heading h2{font-size:2.6rem}}
