/* XXXparty.nl – aanvullingen op proto.css (prototype v0.21.1) */

/* ---------- algemeen ---------- */
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.section-tight{padding-top:10px;padding-bottom:10px}
.section-gap{margin-top:40px}
.help{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:7px}
.field .label,.field>span.label{display:block;font-size:13px;font-weight:bold;margin-bottom:7px}
.field-error{display:block;color:#a52f4f;font-size:13px;margin-top:6px;font-weight:bold}
.error-list ul{margin:8px 0 0;padding-left:20px}
.error-list a{color:inherit}
.form-sub{margin:30px 0 14px;font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.check-row{display:flex;flex-wrap:wrap;gap:4px 20px}
.check-row .check{margin:6px 0}
.small{font-size:13px;color:var(--muted)}
code{background:var(--soft);border-radius:5px;padding:1px 6px;font-size:.92em}
code.wrap{word-break:break-all}
.notice.success strong,.notice.error strong{display:inline}
.notice.error strong:first-child,.notice.success strong:first-child{display:block}

/* ---------- poster-fallback (geen flyer aangeleverd: géén nepbeeld) ---------- */
.poster-fallback{width:100%;aspect-ratio:2/3;max-height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:18px 16px;background:linear-gradient(160deg,#3a1d3f 0%,#1b0f1e 70%);color:#fff;border-radius:6px;text-align:left;overflow:hidden}
.poster-fallback .pf-brand{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#e9a6c1}
.poster-fallback strong{font-family:Georgia,serif;font-weight:normal;font-size:clamp(18px,2.2vw,30px);line-height:1.1;overflow-wrap:anywhere}
.poster-fallback .pf-date{font-size:14px;color:#f3dce6}
.poster-fallback .pf-city{font-size:12px;color:#c9b2c9;text-transform:uppercase;letter-spacing:.08em}
.card-poster .poster-fallback{max-height:180px;width:120px;padding:10px}
.card-poster .poster-fallback strong{font-size:15px}
.detail-poster .poster-fallback{min-height:420px}

/* ---------- agenda ---------- */
.hero-compact{padding:26px 0}
.hero-flyers{display:flex;gap:12px;align-items:flex-end;justify-content:flex-end}
.hero-flyer{display:block;width:150px;border-radius:8px;overflow:hidden;box-shadow:0 12px 30px #2b143022;transform:rotate(-2deg);background:#1b0f1e}
.hero-flyer:nth-child(2){transform:rotate(2deg) translateY(-10px)}
.hero-flyer:nth-child(3){transform:rotate(-1deg)}
.hero-flyer img,.hero-flyer .poster-fallback{width:100%;aspect-ratio:2/3;object-fit:cover}
@media (max-width:760px){.hero-flyers{display:none}}
.filter-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.filter-actions .button{min-height:46px}
.empty-state{text-align:center;padding:50px 20px;border:1px dashed var(--line);border-radius:var(--radius);background:#fff}
.empty-state h2{font-size:28px}
.pill.new{background:#e7f3eb;color:#275439;border-color:#b4d1bd}
.pill.live{background:#fff1d6;color:#7a4b00}
.button.current,.niche-nav .button.current{background:var(--plum);color:#fff;border-color:var(--plum)}
.calendar-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}
.calendar-links .button{min-height:40px;padding:8px 14px;font-size:14px}
.org-card-cover{height:120px;background:linear-gradient(135deg,#5b2b5f,#1d1020)}
.org-card-cover.neon{background:linear-gradient(135deg,#2d1b69,#c2185b)}
.org-card-cover.deco{background:linear-gradient(135deg,#14213d,#7a6a3a)}
.org-card-cover.ruby{background:linear-gradient(135deg,#7f1734,#2a0d16)}
.org-card-cover.noir{background:linear-gradient(135deg,#222,#000)}

/* ---------- formulieren ---------- */
.rate-rows{display:grid;gap:10px}
.rate-row input{width:100%;border:1px solid #d9d0de;border-radius:8px;padding:10px 12px;min-height:44px}
.upload-preview img{max-width:160px;max-height:220px;border-radius:6px;margin-top:10px}
.upload-preview{width:auto;max-height:none}
.upload-done{display:flex;gap:16px;align-items:center;margin-bottom:16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.upload-done img{width:90px;height:auto;border-radius:6px}
.upload-done p{margin:0;font-size:14px}
.review-box{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:16px 18px;margin:16px 0}
.review-box dl{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;margin:0;font-size:14px}
.review-box dt{color:var(--muted)}
.review-box dd{margin:0;overflow-wrap:anywhere}
.review-box ul{margin:8px 0 0;padding-left:20px}
.privacy-note{margin-top:20px}
.wizard-buttons{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
[data-wizard].is-wizard .form-section{display:none}
[data-wizard].is-wizard .form-section.is-current{display:block}
.is-hidden{display:none!important}
.counter{display:block;font-size:12px;color:var(--muted);text-align:right;margin-top:4px}
.counter.bad{color:#a52f4f;font-weight:bold}

/* ---------- inhoudspagina's ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:24px 0}
.feature-grid>*{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.link-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.link-list{list-style:none;padding:0;margin:0}
.link-list li{padding:6px 0;border-bottom:1px solid var(--line)}
.link-list li span{color:var(--muted);font-size:13px}

/* ---------- beheer ---------- */
.admin-body{background:#f6f3f7}
.admin-header{background:#261c30;color:#fff}
.admin-header-inner{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;padding:12px 24px;max-width:1400px;margin:auto}
.admin-brand{color:#fff;text-decoration:none;font-weight:bold;font-size:18px}
.admin-brand span{color:#e9a6c1;font-weight:normal}
.admin-header .admin-nav{display:flex;flex-wrap:wrap;gap:4px;margin:0}
.admin-header .admin-nav a{background:transparent;border:0;color:#e8dcea;padding:7px 11px;border-radius:7px;font-size:14px}
.admin-header .admin-nav a[aria-current=page]{background:#653c78;color:#fff}
.admin-header .admin-nav a:hover{background:#3d2d4a}
.admin-header .badge{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:#e9a6c1;color:#261c30;font-size:12px;font-weight:bold;text-align:center}
.admin-user{margin-left:auto;display:flex;gap:14px;align-items:center;font-size:13px}
.admin-user a,.linklike{color:#e8dcea;background:none;border:0;padding:0;text-decoration:underline;font-size:13px}
form.inline{display:inline}
.admin-main{max-width:1400px;margin:auto;padding:26px 24px 80px}
.admin-main h1{font-size:34px;margin-bottom:16px}
.admin-main h1 .status{font-size:14px;vertical-align:middle;font-family:Arial,sans-serif;letter-spacing:0}
.admin-main .panel h2{font-size:22px;margin-top:8px}
.admin-main .panel h2:not(:first-of-type){margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.admin-auth{max-width:420px;margin:60px auto}
.admin-auth h1{font-size:32px}
.admin-auth .field{margin-bottom:14px}
.panel.narrow{max-width:520px}
.panel.narrow .field{margin-bottom:14px}
.admin-titlebar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.admin-titlebar h1{margin:0}
.admin-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.admin-cols.wide-left{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}
@media (max-width:980px){.admin-cols,.admin-cols.wide-left{grid-template-columns:1fr}}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px}
.stat{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;color:var(--ink)}
.stat strong{display:block;font-size:32px;font-family:Georgia,serif;font-weight:normal;color:var(--plum)}
.stat span{font-size:13px;color:var(--muted)}
.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:14px}
.admin-table th,.admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.admin-table th{background:var(--soft);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.admin-table tr.muted td{opacity:.55}
.panel .admin-table{border:0}
@media (max-width:760px){.admin-table{display:block;overflow-x:auto}}
.admin-thumb.small{width:120px;height:40px}
.admin-main .admin-thumb{margin-bottom:8px}
.status{display:inline-block;padding:2px 9px;border-radius:12px;font-size:12px;font-weight:bold;background:#eee;color:#333}
.s-nieuw,.status.s-concept{background:#fff1d6;color:#7a4b00}
.s-aanvulling{background:#e3ecff;color:#1d3f8a}
.s-gepubliceerd,.s-published,.s-verwerkt,.s-afgehandeld{background:#e7f3eb;color:#275439}
.s-afgewezen,.s-genegeerd{background:#fbe4ea;color:#8b2843}
.warn{color:#a52f4f;font-weight:bold}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.tabs a{padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;text-decoration:none;font-size:14px}
.tabs a[aria-current=page]{background:var(--plum);color:#fff;border-color:var(--plum)}
.admin-search{display:flex;gap:8px;margin-bottom:16px;max-width:520px}
.admin-search input{flex:1;border:1px solid #d9d0de;border-radius:8px;padding:10px 12px}
.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.inline-form input,.inline-form select{border:1px solid #d9d0de;border-radius:8px;padding:8px 10px;min-height:40px}
.inline-form input{flex:1;min-width:180px}
.inline-form .button{min-height:40px;padding:8px 14px}
.empty{padding:30px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:12px}
.plain-list{list-style:none;padding:0;margin:0}
.plain-list li{padding:8px 0;border-bottom:1px solid var(--line)}
.history{list-style:none;padding:0;margin:0}
.history li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;font-size:14px}
.kv dt{color:var(--muted)}.kv dd{margin:0}
.item header{margin-bottom:10px;font-size:14px}
.secret{display:inline-block;font-size:20px;letter-spacing:.08em;margin:8px 0;padding:8px 12px}
.mail-edit{margin:18px 0;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fcfafc}
.mail-edit summary{cursor:pointer;font-weight:bold}
.mail-edit .field{margin-top:12px}
.admin-main aside .panel .field{margin-bottom:10px}
.admin-main .split-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

/* ---------- correcties na visuele test ---------- */
.footer nav{flex-wrap:wrap;gap:6px 18px}
.footer-inner>div{min-width:0}
.card-poster .poster-fallback{width:118px;height:170px;aspect-ratio:auto;padding:9px 8px;gap:4px}
.card-poster .poster-fallback .pf-brand{font-size:8px;letter-spacing:.08em}
.card-poster .poster-fallback strong{font-size:13px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.card-poster .poster-fallback .pf-date{font-size:11px}
.card-poster .poster-fallback .pf-city{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-flyer .poster-fallback{padding:12px 10px}
.hero-flyer .poster-fallback strong{font-size:16px}
