/* VereinsApp – gemeinsames Design fuer oeffentliche Veranstaltungsformulare, TEST 1. */
:root{--public-accent:#76202c;--public-accent-dark:#601923;--public-border:#e8e0e1;--public-bg:#f7f7f9}
body:has(.vvpublic){background:var(--public-bg);color:#302d32;font-family:Arial,Helvetica,sans-serif}
.vvpublic{width:min(100%,740px);margin:24px auto!important}
.vvpublic .vvcard{background:#fff;border:1px solid var(--public-border);border-radius:12px;box-shadow:none;padding:clamp(18px,4vw,30px);margin-bottom:18px}
.vvpublic .vvcard:first-child{border-top:5px solid var(--public-accent)}
.vvpublic h1,.vvpublic h2{color:var(--public-accent)}
.vvpublic .vvcard:first-child h1{color:var(--public-accent);font-size:clamp(24px,4vw,31px)}
.vvpublic .vvform input,.vvpublic .vvform select,.vvpublic .vvform textarea{border:1px solid #d7d1d3;border-radius:9px;padding:12px;max-width:100%}
.vvpublic .vvform input:focus,.vvpublic .vvform select:focus,.vvpublic .vvform textarea:focus{outline:2px solid #dcb9c1;outline-offset:1px}
.vvpublic .vvbtn,.vvpublic button.vvbtn{background:var(--public-accent);color:#fff;border-radius:9px;padding:12px 18px}
.vvpublic .vvbtn:hover,.vvpublic button.vvbtn:hover{background:var(--public-accent-dark)}
.vvpublic .vvnotice{background:#f9f0f2;border-left:4px solid var(--public-accent)}
.vvpublic .vverror{border-left:4px solid #ad3152}
.vvpublic .vvtable th{background:#f8f3f4}
@media(max-width:600px){body:has(.vvpublic){padding:12px!important}.vvpublic{margin:10px auto!important}.vvpublic .vvgrid{grid-template-columns:1fr}}

/* TEST 2B.4: persoenliche Rueckmeldung zum Staatsempfang */
body.vv-reply-body{padding:clamp(12px,3vw,28px);background:#f7f7f9}
.vv-reply{max-width:740px;margin:20px auto!important}
.vv-reply .vv-reply-header{text-align:center;padding:clamp(24px,5vw,42px) 20px 26px}
.vv-reply-logo{display:block;width:auto;height:auto;max-width:min(230px,85%);max-height:120px;object-fit:contain;margin:0 auto 22px}
.vv-reply-kicker{color:#76202c;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.vv-reply .vv-reply-header h1{font-size:clamp(25px,4vw,34px);margin:0 0 12px}
.vv-reply-event-meta{color:#615b60;margin:0}
.vv-reply-content h2{margin:0 0 16px}
.vv-reply .vvform{display:grid;gap:16px}
.vv-reply .vvform label{display:grid;gap:7px}
.vv-reply .vvform input,.vv-reply .vvform select,.vv-reply .vvform textarea{min-height:45px}
.vv-reply .vvform textarea{min-height:105px}
.vv-reply #state-menu-fields{padding:18px;background:#fbf8f9;border:1px solid #eadfe2;border-radius:11px}
.vv-reply #state-menu-fields label{margin:13px 0}
.vv-reply .vvform button.vvbtn{width:100%;padding:14px 18px;font-weight:700}
@media(max-width:600px){.vv-reply{margin:0 auto!important}.vv-reply .vvcard{padding:20px 16px}}

/* TEST 5.1 – Kartenanfrage und Kartenverwaltung */
.vv-ticket-public-body{margin:0;padding:12px;background:#f7f7f9}
.vv-ticket-public{max-width:740px}
.vv-ticket-public .vv-ticket-hero{border-top:5px solid #76202c}
.vv-ticket-public .vv-ticket-hero p{line-height:1.55}
.vv-ticket-public .vvform{display:block}
.vv-ticket-public .vvform label{display:grid;gap:7px;margin:14px 0;font-weight:600}
.vv-ticket-public .vvform input,.vv-ticket-public .vvform select{width:100%;min-height:45px;box-sizing:border-box}
.vv-ticket-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.vv-ticket-public .vv-ticket-submit{width:100%;font-weight:700}
.vv-ticket-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.vv-ticket-stat{display:flex;flex-direction:column;gap:6px;padding:15px;background:#f8f5f6;border:1px solid #eadfe2;border-radius:10px;text-decoration:none;color:inherit}
.vv-ticket-stat strong{font-size:25px}.vv-ticket-stat span{font-size:13px}
.vv-ticket-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0}
.vv-ticket-filters{display:flex;gap:6px;flex-wrap:wrap}
.vv-ticket-filters .vvbtn{padding:7px 12px;font-size:13px}
.vv-ticket-selected{outline:2px solid #76202c;outline-offset:1px}
.vv-ticket-entry{border:1px solid #ddd;border-radius:10px;margin:9px 0;background:#fff}
.vv-ticket-entry summary{cursor:pointer;display:flex;align-items:center;gap:15px;padding:14px;flex-wrap:wrap;list-style:none}
.vv-ticket-entry summary::-webkit-details-marker{display:none}
.vv-ticket-entry-name{font-weight:700;flex:1;min-width:140px}
.vv-ticket-status{background:#f3edf0;border-radius:20px;padding:4px 9px;font-size:12px}
.vv-ticket-open{font-size:12px;color:#76202c}
.vv-ticket-details{padding:0 16px 16px;border-top:1px solid #eee}
.vv-ticket-table-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.vv-ticket-table-grid label{display:grid;gap:5px}
.vv-ticket-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:650px){.vv-ticket-fields{grid-template-columns:1fr}.vv-ticket-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vv-ticket-entry summary{gap:8px}}

/* TEST 5.2 */
.vv-ticket-logo{display:block;max-width:180px;max-height:110px;width:auto;height:auto;margin:0 auto 14px}
.vv-ticket-edit{margin:14px 0;padding:12px;border:1px solid #ddd;border-radius:8px}
.vv-ticket-edit>summary{cursor:pointer;font-weight:600}
.vv-ticket-edit .vvform{margin-top:12px}
.vv-ticket-cancel{margin-top:10px}
