.bve-support-front{max-width:980px;margin:0 auto}.bve-front-card{background:#fff;border:1px solid #dfe3e8;border-radius:10px;padding:22px;margin:0 0 18px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.bve-front-form label{display:block;font-weight:600;margin:14px 0 6px}.bve-front-form label span{color:#b42318}.bve-front-form input[type=text],.bve-front-form input[type=email],.bve-front-form input[type=tel],.bve-front-form select,.bve-front-form textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #b8c0cc;border-radius:5px;background:#fff}.bve-front-grid{display:grid;gap:14px}.bve-front-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.bve-front-button{display:inline-block;margin-top:18px;padding:11px 18px;background:#4066af;color:#fff;border:0;border-radius:5px;font-weight:600;cursor:pointer}.bve-front-button:hover{filter:brightness(.95)}.bve-check{display:flex!important;gap:8px;align-items:flex-start;font-weight:400!important}.bve-check input{margin-top:4px}.bve-front-notice{padding:14px 16px;border-radius:6px;margin:0 0 18px}.bve-front-notice.success{background:#edf8ef;border-left:4px solid #2f8a46}.bve-front-notice.error{background:#fff0f0;border-left:4px solid #b42318}.bve-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.bve-front-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 16px}.bve-ticket-list{display:grid;gap:10px}.bve-ticket-row{display:flex;justify-content:space-between;gap:20px;background:#fff;border:1px solid #dfe3e8;border-radius:8px;padding:16px;text-decoration:none;color:inherit}.bve-ticket-row:hover{border-color:#4066af}.bve-ticket-row>div{display:flex;flex-direction:column;gap:4px}.bve-ticket-row>div:last-child{align-items:flex-end}.bve-front-badge{display:inline-block;background:#eaf0fb;color:#284a87;padding:5px 9px;border-radius:999px;font-size:.9em}.bve-ticket-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.bve-ticket-head h2{margin:3px 0 14px}.bve-front-message{margin:12px 0;padding:14px 16px;border-radius:7px;border-left:4px solid #4066af;background:#f4f7fc}.bve-front-message.citizen{border-left-color:#6b7280;background:#f7f7f8}.bve-front-message .head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.bve-front-message .head span{font-size:.86em;color:#6b7280}.bve-front-files{margin-top:12px}.bve-front-files ul{margin:6px 0 0 18px}.bve-login{max-width:560px;margin-left:auto;margin-right:auto}@media(max-width:700px){.bve-front-grid.two{grid-template-columns:1fr}.bve-ticket-row,.bve-ticket-head,.bve-front-message .head{flex-direction:column}.bve-ticket-row>div:last-child{align-items:flex-start}}

/* BvE Support 1.2.0 */
.bve-front-subtitle{margin:4px 0 0;color:#5f6773;font-size:.96em}
.bve-front-logout{display:inline-block;padding:8px 12px;border:1px solid #4066af;border-radius:5px;text-decoration:none;color:#4066af;font-weight:600}
.bve-front-logout:hover{background:#4066af;color:#fff}
.bve-portal-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.bve-portal-summary>div{background:#fff;border:1px solid #dfe3e8;border-radius:9px;padding:16px;text-align:center}
.bve-portal-summary strong{display:block;font-size:1.65em;line-height:1;color:#4066af;margin-bottom:6px}
.bve-portal-summary span{font-size:.9em;color:#5f6773}
.bve-ticket-row small{color:#6b7280}
.bve-front-badge.status-new{background:#eaf0fb;color:#284a87}
.bve-front-badge.status-review{background:#eef2ff;color:#414aa3}
.bve-front-badge.status-processing{background:#fff4d6;color:#7a5700}
.bve-front-badge.status-waiting_citizen{background:#fff0df;color:#914d00}
.bve-front-badge.status-postponed{background:#eceff3;color:#4f5966}
.bve-front-badge.status-done,.bve-front-badge.status-closed{background:#e5f5e9;color:#236b36}
.bve-ticket-meta{margin:0;color:#6b7280;font-size:.9em}
.bve-front-help{margin-top:-4px;color:#667085;font-size:.94em}
.bve-ticket-closed{border-left:4px solid #2f8a46;background:#f5fbf6}
.bve-ticket-closed p{margin-bottom:0}
@media(max-width:700px){
  .bve-portal-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bve-front-toolbar{align-items:flex-start}
}


/* BvE Support 1.3.2 – Bürgerportal Finetuning */
.bve-ticket-row-meta{min-width:210px}
.bve-ticket-row-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.bve-front-badge.priority-low{background:#e7f6ec;color:#236b36;border:1px solid #b8dfc4}
.bve-front-badge.priority-normal{background:#eef2f7;color:#4b5563;border:1px solid #d3d9e2}
.bve-front-badge.priority-high{background:#fff0d9;color:#8a5000;border:1px solid #f0c989}
.bve-front-badge.priority-urgent{background:#fde7e7;color:#a61b1b;border:1px solid #efb4b4;font-weight:700}
.bve-ticket-priority{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:120px}
.bve-priority-label{font-size:.82em;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;font-weight:600}
.bve-ticket-priority .bve-front-badge{font-size:1em;padding:7px 12px}
.bve-citizen-reply-form input[type=file]{display:block;margin-bottom:26px}
.bve-citizen-reply-form .bve-front-button{margin-top:0}
@media(max-width:700px){
  .bve-ticket-row-meta{min-width:0}
  .bve-ticket-row-badges{justify-content:flex-start}
  .bve-ticket-priority{align-items:flex-start;margin-top:10px}
}


/* BvE Support 1.3.3 – Abstand im Bürger-Antwortformular */
.bve-citizen-reply-form .bve-reply-attachments{
  display:block;
  width:100%;
  margin:0 0 30px;
}
.bve-citizen-reply-form .bve-reply-attachments label{
  display:block;
  margin-bottom:10px;
}
.bve-citizen-reply-form .bve-reply-attachments input[type=file]{
  display:block;
  width:100%;
  margin:0;
}
.bve-citizen-reply-form .bve-reply-submit{
  display:block;
  width:100%;
  clear:both;
  margin-top:0;
}
.bve-citizen-reply-form .bve-reply-submit .bve-front-button{
  display:inline-block;
  margin:0;
}

/* =========================================================
   BvE Kontaktanfragen – Conversational Form
   ========================================================= */

.bve-contact-conversation{
    max-width:820px;
}

.bve-contact-intro{
    margin-bottom:22px;
}

.bve-contact-intro h2{
    margin-bottom:8px;
}

.bve-contact-intro p{
    margin:0;
    color:#5f6773;
    font-size:1.05em;
}

.bve-contact-progress{
    margin:0 0 18px;
}

.bve-contact-progress-bar{
    height:8px;
    overflow:hidden;
    border-radius:999px;
    background:#e7ebf1;
}

.bve-contact-progress-bar span{
    display:block;
    width:20%;
    height:100%;
    border-radius:999px;
    background:#4066af;
    transition:width .25s ease;
}

.bve-contact-progress-text{
    margin-top:8px;
    text-align:right;
    color:#667085;
    font-size:.88em;
}

.bve-contact-form{
    min-height:440px;
}

.bve-contact-step{
    display:none;
}

.bve-contact-step.active{
    display:block;
}

.bve-contact-step-heading{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding-bottom:18px;
    margin-bottom:12px;
    border-bottom:1px solid #e5e7eb;
}

.bve-contact-step-heading>span{
    display:flex;
    flex:0 0 38px;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#4066af;
    color:#fff;
    font-weight:700;
}

.bve-contact-step-heading h3{
    margin:0 0 3px;
}

.bve-contact-step-heading p{
    margin:0;
    color:#667085;
}

.bve-contact-field{
    margin-bottom:14px;
}

.bve-contact-field label{
    display:block;
    font-weight:600;
    margin:14px 0 6px;
}

.bve-contact-field label span{
    color:#b42318;
}

.bve-contact-field input,
.bve-contact-field textarea{
    width:100%;
    box-sizing:border-box;
    padding:11px;
    border:1px solid #b8c0cc;
    border-radius:5px;
    background:#fff;
}

.bve-contact-field input:focus,
.bve-contact-field textarea:focus{
    outline:2px solid rgba(64,102,175,.2);
    border-color:#4066af;
}

.bve-contact-field small{
    display:block;
    margin-top:6px;
    color:#667085;
}

.bve-contact-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:30px;
    padding-top:18px;
    border-top:1px solid #e5e7eb;
}

.bve-contact-actions>div{
    display:flex;
    align-items:center;
    gap:10px;
}

.bve-contact-actions .bve-front-button{
    margin-top:0;
}

.bve-contact-secondary,
.bve-contact-skip{
    padding:10px 14px;
    border:1px solid #cbd2dc;
    border-radius:5px;
    background:#fff;
    color:#344054;
    cursor:pointer;
    font-weight:600;
}

.bve-contact-secondary:hover{
    border-color:#4066af;
    color:#4066af;
}

.bve-contact-skip{
    border-color:transparent;
    color:#667085;
}

.bve-contact-skip:hover{
    color:#4066af;
}

.bve-contact-privacy{
    padding:16px;
    border:1px solid #dfe3e8;
    border-radius:7px;
    background:#f8fafc;
}

.bve-contact-review{
    overflow:hidden;
    border:1px solid #dfe3e8;
    border-radius:8px;
}

.bve-contact-review-row{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:18px;
    padding:13px 15px;
    border-bottom:1px solid #e8ebef;
}

.bve-contact-review-row:last-child{
    border-bottom:0;
}

.bve-contact-review-row span{
    color:#667085;
}

.bve-contact-review-row strong{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

.bve-contact-submit:disabled{
    opacity:.65;
    cursor:wait;
}

@media(max-width:700px){

    .bve-contact-form{
        min-height:0;
        padding:18px;
    }

    .bve-contact-review-row{
        grid-template-columns:1fr;
        gap:4px;
    }

    .bve-contact-actions{
        align-items:stretch;
    }

    .bve-contact-actions>div{
        align-items:stretch;
    }

    .bve-contact-actions .bve-front-button,
    .bve-contact-secondary{
        min-height:44px;
    }
}

@media(max-width:480px){

    .bve-contact-actions,
    .bve-contact-actions>div{
        flex-direction:column-reverse;
        width:100%;
    }

    .bve-contact-actions button{
        width:100%;
    }

    .bve-contact-step-heading>span{
        flex-basis:34px;
        width:34px;
        height:34px;
    }
}
/* BvE Mitgliedsanträge 1.4.1 */
.bve-contact-field select{
    width:100%;box-sizing:border-box;padding:11px;border:1px solid #b8c0cc;border-radius:5px;background:#fff;
}
.bve-contact-field select:focus{outline:2px solid rgba(64,102,175,.2);border-color:#4066af;}
.bve-membership-fees{border:0;padding:0;margin:8px 0 0;}
.bve-membership-fees legend{font-weight:600;margin:0 0 10px;}
.bve-membership-fees legend span{color:#b42318;}
.bve-membership-fee{display:flex;align-items:center;gap:12px;padding:15px 16px;margin:0 0 10px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;}
.bve-membership-fee:hover{border-color:#4066af;}
.bve-membership-fee:has(input:checked){border-color:#4066af;background:#f4f7fc;box-shadow:0 0 0 2px rgba(64,102,175,.12);}
.bve-membership-fee input{width:18px;height:18px;margin:0;accent-color:#4066af;flex:0 0 auto;}
.bve-membership-fee span{display:block;line-height:1.35;}
.bve-field-error{min-height:1.25em;margin-top:5px;color:#b42318;font-size:.92em;font-weight:600;}


/* BvE Bürgerportal 1.7.0 */
.bve-citizen-portal{max-width:1100px;margin:0 auto}
.bve-citizen-portal-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.bve-citizen-portal-nav a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid #d7dce5;border-radius:8px;background:#fff;color:#243247;text-decoration:none;font-weight:600}
.bve-citizen-portal-nav a:hover,.bve-citizen-portal-nav a:focus,.bve-citizen-portal-nav a.is-active{border-color:#4066af;color:#4066af;background:#f5f8ff}
.bve-citizen-portal-intro{margin-bottom:20px}
.bve-citizen-portal-intro h2{margin-bottom:8px}
.bve-citizen-portal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.bve-citizen-portal-card{display:flex;flex-direction:column;gap:10px;min-height:190px;padding:22px;border:1px solid #dfe3ea;border-radius:12px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 2px 10px rgba(30,45,70,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.bve-citizen-portal-card:hover,.bve-citizen-portal-card:focus{transform:translateY(-2px);border-color:#4066af;box-shadow:0 5px 18px rgba(30,45,70,.10)}
.bve-citizen-portal-card-title{font-size:1.15rem;font-weight:700;color:#243247}
.bve-citizen-portal-card-action{margin-top:auto;color:#4066af;font-weight:700}
.bve-citizen-portal-section{margin-top:4px}
@media (max-width:850px){.bve-citizen-portal-cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.bve-citizen-portal-cards{grid-template-columns:1fr}.bve-citizen-portal-nav{display:grid;grid-template-columns:1fr}.bve-citizen-portal-nav a{justify-content:center}}


/* BvE Bürgerkommunikation 2.1.4 – robuste Ausrichtung der Ticketliste */
.bve-support-front .bve-ticket-list{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-rows:auto!important;
  align-items:stretch!important;
}
.bve-support-front .bve-ticket-row{
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
.bve-support-front .bve-ticket-row-main{
  display:flex!important;
  flex:1 1 auto!important;
  min-width:0!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
  text-align:left!important;
}
.bve-support-front .bve-ticket-row-meta{
  display:flex!important;
  flex:0 0 auto!important;
  min-width:210px!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:12px!important;
  text-align:right!important;
}
.bve-support-front .bve-ticket-row-badges{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:7px!important;
}
.bve-support-front .bve-ticket-row::before,
.bve-support-front .bve-ticket-row::after,
.bve-support-front .bve-ticket-list::before,
.bve-support-front .bve-ticket-list::after{
  content:none!important;
  display:none!important;
}
@media(max-width:700px){
  .bve-support-front .bve-ticket-row{flex-direction:column!important;}
  .bve-support-front .bve-ticket-row-meta{min-width:0!important;align-items:flex-start!important;text-align:left!important;}
  .bve-support-front .bve-ticket-row-badges{justify-content:flex-start!important;}
}


/* BvE Bürgerkommunikation 2.1.5 – Elementor/wpautop-sichere Ticketkarten */
.bve-support-front .bve-ticket-row-link{
  color:inherit!important;
  text-decoration:none!important;
}
.bve-support-front .bve-ticket-row-link:hover,
.bve-support-front .bve-ticket-row-link:focus{
  color:inherit!important;
  text-decoration:none!important;
}
.bve-support-front .bve-ticket-row:hover{border-color:#4066af;}
/* Defensive cleanup for legacy markup injected by Elementor Text Editor/wpautop. */
.bve-support-front .bve-ticket-list > p{display:none!important;margin:0!important;padding:0!important;border:0!important;height:0!important;}
.bve-support-front .bve-ticket-row:empty{display:none!important;}


/* BvE Bürgerkommunikation 2.1.6 – Gemeinde im Bürgerportal */
.bve-support-front .bve-ticket-municipality{margin-top:2px!important;}
.bve-support-front .bve-ticket-municipality-detail{margin:6px 0 4px;color:#4b5563;}
