:root{font-family:system-ui,-apple-system,sans-serif;color:#263345;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}header{background:#172b48;color:#fff;padding:18px max(20px,calc((100vw - 1060px)/2));display:flex;justify-content:space-between}header a{color:#fff;font-weight:800;text-decoration:none;font-size:22px}main{max-width:1060px;margin:32px auto;padding:0 18px}h1{font-size:2rem}h2{margin-top:30px}nav{margin-bottom:20px}a{color:#2363a6}section,.photo,form:not(.inline){background:white;border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 2px 12px #172b4810}label{display:block;font-weight:600;margin-bottom:14px}input,select{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #cbd5e1;border-radius:9px;font:inherit}button,.btn{background:#176bb4;color:white;border:0;border-radius:9px;padding:11px 16px;cursor:pointer;display:inline-block;text-decoration:none;font-weight:650}.secondary{background:#64748b}.inline{display:inline-block;margin:4px 5px 4px 0}.inline button{padding:9px 12px}.notice{background:#e6f1ff;border-left:4px solid #438bce;padding:12px;border-radius:6px;overflow-wrap:anywhere}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.photo{min-width:0}.photo img{width:100%;height:210px;object-fit:contain;background:#101b2c;border-radius:8px}.comment{padding:8px;background:#f1f5f9;border-radius:6px}.wall{background:#080c13;position:fixed;inset:62px 0 0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white}.wall img{width:100%;height:calc(100% - 90px);object-fit:contain}.wall #caption{font-size:24px;padding:16px}.wall #empty{position:absolute;top:40%}@media(max-width:600px){main{margin:15px auto}.gallery{grid-template-columns:1fr}}

/* Boothly: feestelijke, mobiele ervaring */
:root{color:#24304b;background:#fff8f4}header{background:linear-gradient(105deg,#6035b7,#ee648d);box-shadow:0 3px 18px #552c8a22}header a{letter-spacing:.3px}main{max-width:1100px}h1{letter-spacing:-.035em}h2{color:#452778}a{color:#703ac4}button,.btn{background:linear-gradient(110deg,#ee578d,#f58c47);border-radius:12px;box-shadow:0 4px 10px #d75c7933;transition:transform .15s,filter .15s}button:hover,.btn:hover{transform:translateY(-2px);filter:brightness(1.04)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8b5cf6;outline-offset:2px}.secondary{background:#6f6687;box-shadow:none}section,.photo,form:not(.inline):not(.role-form){box-shadow:0 8px 30px #5c2c8d10;border:1px solid #eee4f2}.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#673ac5,#bd4bb7 55%,#ff9561);color:white;padding:34px 38px;border-radius:24px;box-shadow:0 15px 35px #7a40a32a}.hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:12px 0}.hero p{font-size:1.13rem;max-width:640px;line-height:1.55}.eyebrow{font-weight:750;letter-spacing:.035em}.hero-btn{display:inline-block;background:white;color:#7434ad;box-shadow:none;margin-top:8px}.upload-card{background:#fff0f5;border:2px dashed #eaa5c3;padding:26px}.gallery{gap:20px}.photo{border-radius:18px}.photo img{object-fit:cover;height:240px;border-radius:13px;background:#f0e7f7}.notice{background:#f4eafd;border-left-color:#9b60dc}.member-list{display:grid;gap:10px;margin:15px 0 28px}.member-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 18px;background:white;border:1px solid #eee4f2;border-radius:14px}.member-row small{display:block;color:#746b82;margin-top:3px}.role-form{display:flex;align-items:center;gap:8px;margin:0;padding:0;background:none;box-shadow:none}.role-form select{margin:0;min-width:130px}.role-form button{white-space:nowrap}@media(max-width:600px){.hero{padding:25px 20px}.member-row{align-items:stretch;flex-direction:column}.role-form{width:100%}.role-form select{flex:1;min-width:0}.photo img{height:270px}}

.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:12px;background:#fff;border-radius:18px}.admin-tabs a{padding:12px 15px;border-radius:12px;text-decoration:none;font-weight:700;background:#f8f0fc}.admin-tabs a.active{background:#7238b6;color:white}.moment-collage{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:24px;background:#fff1e9}.collage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.collage-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px}.share-card{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(115deg,#fff2f8,#fff6e8)}.qr-placeholder{background:white;padding:14px;border-radius:14px;min-width:208px;min-height:208px;display:grid;place-items:center}.muted{color:#6f6481;font-size:.9rem}@media(max-width:700px){.moment-collage{grid-template-columns:1fr}.share-card{flex-direction:column;align-items:flex-start}.admin-tabs a{flex:1 1 170px}}
/* Alpha4: QR-code gekoppeld aan de foto die momenteel op de wall staat. */
.wall-with-qr{padding:18px 22px 0;gap:8px}
.wall-with-qr #slide{height:calc(100% - 208px);min-height:0;object-fit:contain}
.wall-bottom{display:flex;align-items:center;justify-content:center;gap:32px;width:100%;min-height:192px;padding:8px 12px}
.wall-bottom #caption{flex:1;text-align:center;font-size:clamp(20px,3vw,34px);overflow-wrap:anywhere}
#photo-qr-panel{display:flex;align-items:center;gap:12px;flex:0 0 auto;max-width:350px;font-size:15px;line-height:1.35}
#photo-qr-panel[hidden]{display:none}
#photo-qr{background:#fff;padding:8px;border-radius:10px;width:176px;height:176px;flex:0 0 176px;display:grid;place-items:center}
#photo-qr img,#photo-qr canvas{max-width:160px;max-height:160px}
@media(max-width:700px){.wall-with-qr #slide{height:calc(100% - 245px)}.wall-bottom{flex-direction:column;gap:4px;min-height:235px}.wall-bottom #caption{flex:0 0 auto;font-size:18px;padding:4px}#photo-qr-panel{font-size:12px}#photo-qr{width:136px;height:136px;flex-basis:136px}#photo-qr img,#photo-qr canvas{width:120px!important;height:120px!important}}

/* Alpha6: heldere veldspecifieke foutmeldingen */
.form-error-summary{padding:14px 18px;background:#fff1f2;border-left:4px solid #d93658;border-radius:10px;margin:12px 0 18px;color:#81213a}.form-error-summary p{margin:5px 0 0}.field-error{color:#b42343;font-size:.92rem;font-weight:650;margin:-3px 0 14px}input[aria-invalid="true"]{border:2px solid #d93658;background:#fff8f9}#create-event-form label{margin-top:14px;margin-bottom:6px}#create-event-form input,#create-event-form select{margin-top:0;margin-bottom:8px}#create-event-form button{margin-top:12px}

/* Alpha7: account-albumkoppelingen */
.user-album-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.album-tag{display:inline-block;border-radius:999px;padding:.35rem .7rem;background:#eef4ff;color:#263c75;text-decoration:none;font-size:.86rem}.album-tag:hover{background:#dce8ff}
