
:root{--bg:#f4f1eb;--surface:#fff;--text:#201f1c;--muted:#6e6a63;--accent:#3c5b4b;--accent2:#263c31;--shadow:0 18px 45px rgba(20,20,18,.14);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,a,input,select,textarea{font:inherit}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.85rem 1.15rem;cursor:pointer;text-decoration:none;transition:.2s}.button:hover{transform:translateY(-2px)}.primary,.secondary{color:#fff;background:var(--accent)}.primary:hover,.secondary:hover{background:var(--accent2)}.eyebrow{margin:0 0 .5rem;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow.light{color:#fff}h1{margin:0;font-family:Georgia,serif;font-size:-webkit-xxx-large;font-weight:500;line-height:.95}.intro{max-width:54rem;color:var(--muted)}.login-shell,.admin-shell{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at top,#e8ede9,var(--bg) 55%)}.login-card,.admin-card{width:min(760px,100%);padding:clamp(2rem,5vw,4rem);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.login-form,.admin-form{display:grid;gap:1rem;margin-top:2rem}.login-form label,.admin-form label{display:grid;gap:.45rem;font-weight:700}.login-form input,.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:.85rem;border:1px solid #ccc;border-radius:12px;background:#fff}.login-error{padding:1rem;border-radius:12px;background:#f9dedb;color:#8a241b}.notice{padding:1rem;border-radius:12px;background:#dfeee5;color:#234c35}.cover{position:fixed;inset:0;z-index:20;display:grid;place-items:center;min-height:100vh;padding:2rem;background:#30483b center/cover no-repeat;transition:opacity .45s,transform .45s}.cover[hidden]{display:none}.cover.closing{opacity:0;transform:scale(1.03)}.cover-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,24,18,.82),rgba(0,0,0,.3))}.cover-content{position:relative;max-width:800px;color:#fff;text-align:center}.cover-content p{font-size:1.15rem}.cover-button{margin-top:1rem;background:#fff;color:var(--accent2)}.site-header{display:flex;justify-content:space-between;align-items:end;gap:2rem;max-width:1500px;margin:auto;padding:3.5rem 2rem 2rem}.header-actions{display:flex;gap:.6rem;flex-wrap:wrap}main{max-width:1500px;margin:auto;padding:0 2rem 3rem}.filter-panel{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:1.25rem;padding:1rem;border-radius:var(--radius);background:var(--surface);box-shadow:0 3px 16px rgba(0,0,0,.06)}.category-tabs{display:flex;gap:.45rem;flex-wrap:wrap}.category-tab{border:0;border-radius:999px;padding:.65rem .9rem;background:#e9ece9;cursor:pointer}.category-tab.active{color:#fff;background:var(--accent)}#categoryFilter{display:none}.gallery{columns:4 280px;column-gap:1rem}.gallery-card{position:relative;margin:0 0 1rem;break-inside:avoid;animation:reveal .45s both}.gallery-item{display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:var(--radius);background:#ddd;box-shadow:0 3px 16px rgba(0,0,0,.08);cursor:zoom-in}.gallery-item img{display:block;width:100%;height:auto;transition:.4s}.gallery-item:hover img{transform:scale(1.025);filter:brightness(.9)}.empty-message{padding:2rem;border-radius:var(--radius);background:var(--surface)}.site-footer{max-width:1500px;margin:auto;padding:0 2rem 2.5rem;color:var(--muted)}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;color:#fff;background:rgba(10,10,10,.97)}.lightbox[open]{display:grid;grid-template-rows:auto 1fr auto}.lightbox-toolbar{z-index:5;display:flex;justify-content:space-between;padding:.8rem 1rem}.toolbar-actions{display:flex;gap:.45rem}.icon-button{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 .75rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff;background:rgba(255,255,255,.1);text-decoration:none;cursor:pointer}.image-viewport{display:grid;place-items:center;overflow:hidden;touch-action:none}#lightboxImage{max-width:92vw;max-height:78vh;object-fit:contain;transform-origin:center;user-select:none}.nav-button{position:fixed;z-index:5;top:50%;width:52px;height:72px;border:0;border-radius:14px;color:#fff;background:rgba(255,255,255,.1);font-size:3rem;transform:translateY(-50%)}.previous{left:1rem}.next{right:1rem}.lightbox-caption{padding:1rem 2rem 1.4rem;text-align:center}.lightbox-caption span{display:block;color:#ccc}.admin-card{width:min(980px,100%)}.admin-actions{display:flex;gap:.6rem;margin:1rem 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input{width:auto}.order-list{width:100%;padding:1rem;border:1px solid #ccc;border-radius:12px;font-family:ui-monospace,monospace}.admin-card hr{margin:2rem 0;border:0;border-top:1px solid #ddd}@media(max-width:800px){.site-header{align-items:start;flex-direction:column}.header-actions{width:100%}.header-actions .button{flex:1}.category-tabs{display:none}#categoryFilter{display:block;width:100%;padding:.8rem;border-radius:12px}.form-grid{grid-template-columns:1fr}.toolbar-actions{gap:.25rem}.icon-button{min-width:38px;padding:0 .55rem}.nav-button{width:42px;height:60px}.previous{left:.3rem}.next{right:.3rem}}
.photo-selection{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin:16px 0 22px}.photo-choice{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid rgba(28,38,42,.16);border-radius:14px;background:#fff;cursor:pointer}.photo-choice:has(input:checked){border-color:#9a6849;box-shadow:0 0 0 2px rgba(154,104,73,.18)}.photo-choice input{width:18px;height:18px}.photo-choice img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.photo-choice span{font-size:.78rem;line-height:1.3;overflow-wrap:anywhere}
