/* =========================================================
   SSV Vereinskalender v1.6.0
   Frontend-Design ohne Wappen-Hintergrund
   ========================================================= */

.ssv-vk-wrap {
    max-width: 1220px;
    margin: 38px auto 52px;
    padding: 0 18px;
    color: #1f1f25;
}

.ssv-vk-shell {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    padding: 30px;
    background:
        radial-gradient(circle at 88% 4%, rgba(201, 162, 39, .18), transparent 25%),
        linear-gradient(135deg, #ffffff 0%, #fbf9fd 46%, #f4eef9 100%);
    border: 1px solid rgba(91, 44, 131, .14);
    box-shadow: 0 22px 62px rgba(31, 22, 46, .11);
}

.ssv-vk-shell::before {
    content: "";
    position: absolute;
    left: 30px;
    right: 30px;
    top: 0;
    height: 5px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, var(--ssv-vk-primary), var(--ssv-vk-accent), var(--ssv-vk-primary));
}

.ssv-vk-style-card .ssv-vk-shell {
    background:
        radial-gradient(circle at 88% 4%, rgba(201, 162, 39, .18), transparent 25%),
        linear-gradient(135deg, #ffffff 0%, #fbf9fd 46%, #f4eef9 100%);
}

.ssv-vk-style-compact .ssv-vk-head p,
.ssv-vk-style-compact .ssv-vk-view-note {
    display: none;
}

.ssv-vk-header-row {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 6px 0 22px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(91, 44, 131, .12);
}

.ssv-vk-head {
    text-align: left;
    max-width: 760px;
}

.ssv-vk-kicker {
    display: none;
}

.ssv-vk-head h2 {
    margin: 0;
    font-size: clamp(30px, 4vw, var(--ssv-vk-title-size));
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.045em;
    color: var(--ssv-vk-title-color);
}

.ssv-vk-head h2::first-letter {
    color: inherit;
}

.ssv-vk-head p {
    max-width: 760px;
    margin: 13px 0 0;
    color: var(--ssv-vk-subtitle-color);
    font-size: var(--ssv-vk-subtitle-size);
    line-height: 1.55;
}

.ssv-vk-admin-actions {
    display: flex;
    justify-content: flex-end;
    flex-shrink: 0;
}

.ssv-vk-main-add,
.ssv-vk-primary-btn {
    border: 0;
    background: linear-gradient(135deg, var(--ssv-vk-primary), #7b3db2);
    color: #fff;
    border-radius: 999px;
    padding: 13px 22px;
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 15px 32px rgba(91,44,131,.28);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.ssv-vk-main-add:hover,
.ssv-vk-primary-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(91,44,131,.34);
    filter: saturate(1.06);
}

.ssv-vk-toolbar {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.ssv-vk-filter {
    min-width: 260px;
    padding: 12px 15px;
    border: 1px solid rgba(91,44,131,.18);
    border-radius: 16px;
    background: rgba(255,255,255,.88);
    color: #202026;
    font-weight: 850;
    box-shadow: 0 10px 24px rgba(36,25,53,.06);
}

.ssv-vk-view-note {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.ssv-vk-view-note span {
    background: rgba(255,255,255,.80);
    border: 1px solid rgba(91,44,131,.13);
    border-radius: 999px;
    padding: 8px 11px;
    font-size: 12px;
    font-weight: 850;
    color: #514b5c;
    box-shadow: 0 8px 18px rgba(36,25,53,.04);
}

.ssv-vk-week-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(var(--ssv-vk-cols), minmax(0, 1fr));
    gap: 15px;
}

.ssv-vk-day {
    min-width: 0;
    overflow: hidden;
    border-radius: 23px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(91,44,131,.13);
    box-shadow: 0 14px 34px rgba(36,25,53,.075);
    backdrop-filter: blur(8px);
    transition: transform .2s ease, box-shadow .2s ease;
}

.ssv-vk-day:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(36,25,53,.105);
}

.ssv-vk-day-title {
    position: relative;
    background: linear-gradient(135deg, #ffffff, #f8f4fb);
    color: #272330;
    text-align: center;
    font-weight: 950;
    padding: 17px 10px 18px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .09em;
    border-bottom: 1px solid rgba(91,44,131,.12);
}

.ssv-vk-day-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -1px;
    width: 58px;
    height: 3px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ssv-vk-primary), var(--ssv-vk-accent));
}

.ssv-vk-day-body {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 13px;
    background: linear-gradient(180deg, rgba(255,255,255,.58), rgba(247,244,250,.74));
}

.ssv-vk-empty {
    min-height: 76px;
    border-radius: 18px;
    background: rgba(255,255,255,.62);
    color: #8d8797;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
    border: 1px dashed rgba(91,44,131,.20);
}

.ssv-vk-empty span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.ssv-vk-empty span::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(91,44,131,.30);
}

.ssv-vk-event {
    border: 1px solid rgba(91,44,131,.12);
    width: 100%;
    min-height: 98px;
    border-radius: 18px;
    padding: 14px 14px 13px 17px;
    background: #fff;
    color: #17151d;
    cursor: pointer;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 25px rgba(36,25,53,.09);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ssv-vk-event::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, color-mix(in srgb, var(--event-color) 17%, transparent), transparent 58%);
    pointer-events: none;
}

.ssv-vk-event::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: var(--event-color);
}

.ssv-vk-event:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--event-color) 48%, rgba(91,44,131,.15));
    box-shadow: 0 18px 34px rgba(36,25,53,.15);
}

.ssv-vk-event-title {
    font-size: 18px;
    font-weight: 950;
    line-height: 1.16;
    letter-spacing: -.02em;
    position: relative;
    z-index: 1;
}

.ssv-vk-event-time {
    display: inline-flex;
    width: fit-content;
    padding: 4px 9px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--event-color) 18%, #ffffff);
    color: #1d1a22;
    font-size: 13px;
    font-weight: 950;
    position: relative;
    z-index: 1;
}

.ssv-vk-event-mini {
    font-size: 12px;
    font-weight: 800;
    color: rgba(29, 26, 34, .72);
    position: relative;
    z-index: 1;
}

.ssv-vk-hover-meta {
    margin-top: 5px;
    padding-top: 7px;
    border-top: 1px solid rgba(91,44,131,.10);
    display: grid;
    gap: 3px;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity .18s ease, max-height .18s ease;
    position: relative;
    z-index: 1;
}

.ssv-vk-hover-meta strong,
.ssv-vk-hover-meta small,
.ssv-vk-hover-meta em {
    display: block;
}

.ssv-vk-hover-meta strong {
    font-size: 12px;
}

.ssv-vk-hover-meta small {
    font-size: 12px;
    line-height: 1.3;
}

.ssv-vk-hover-meta em {
    margin-top: 2px;
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ssv-vk-primary);
}

.ssv-vk-event:hover .ssv-vk-hover-meta,
.ssv-vk-event:focus .ssv-vk-hover-meta {
    opacity: 1;
    max-height: 170px;
}

.ssv-vk-day-add {
    min-height: 42px;
    border: 1px dashed rgba(91,44,131,.32);
    color: var(--ssv-vk-primary);
    background: rgba(255,255,255,.68);
    border-radius: 16px;
    padding: 10px;
    font-weight: 950;
    cursor: pointer;
    transition: background .18s ease, transform .18s ease, border-color .18s ease;
}

.ssv-vk-day-add:hover {
    background: #fff;
    transform: translateY(-1px);
    border-color: var(--ssv-vk-primary);
}

.ssv-vk-event.is-hidden {
    display: none;
}

.ssv-vk-legend {
    position: relative;
    z-index: 1;
    margin-top: 16px;
    background: #fff;
    border: 1px solid rgba(91,44,131,.13);
    border-radius: 16px;
    padding: 13px 15px;
    color: #51545e;
}

.ssv-vk-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
}

.ssv-vk-modal.is-open {
    display: block;
}

.ssv-vk-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(21, 13, 31, .68);
    backdrop-filter: blur(7px);
}

.ssv-vk-modal-dialog {
    position: relative;
    max-width: 780px;
    max-height: 88vh;
    overflow: auto;
    margin: 6vh auto 0;
    background: #fff;
    border-radius: 28px;
    padding: 28px;
    box-shadow: 0 34px 100px rgba(0,0,0,.34);
    z-index: 1;
}

.ssv-vk-editor-dialog {
    max-width: 900px;
}

.ssv-vk-modal-close {
    position: absolute;
    right: 18px;
    top: 14px;
    border: 0;
    background: transparent;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    color: #595c66;
}

.ssv-vk-modal-kicker {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(91,44,131,.10);
    color: var(--ssv-vk-primary);
    font-weight: 900;
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ssv-vk-modal-header h3 {
    margin: 12px 40px 0 0;
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.08;
}

.ssv-vk-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 22px;
}

.ssv-vk-detail-grid div,
.ssv-vk-detail-description,
.ssv-vk-editor-options {
    background: linear-gradient(135deg, #fbf9fd, #f4eff8);
    border: 1px solid rgba(91,44,131,.12);
    border-radius: 16px;
    padding: 14px 15px;
}

.ssv-vk-detail-grid strong,
.ssv-vk-detail-description strong {
    display: block;
    color: var(--ssv-vk-primary);
    margin-bottom: 5px;
}

.ssv-vk-detail-description {
    margin-top: 15px;
}

.ssv-vk-detail-description p {
    margin: 0;
    color: #4d4f58;
    line-height: 1.55;
}

.ssv-vk-detail-actions,
.ssv-vk-editor-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.ssv-vk-secondary-btn,
.ssv-vk-danger-btn {
    border: 0;
    border-radius: 999px;
    padding: 11px 16px;
    font-weight: 900;
    cursor: pointer;
}

.ssv-vk-secondary-btn {
    background: #f0ecf6;
    color: var(--ssv-vk-primary);
}

.ssv-vk-danger-btn {
    background: #fff0f0;
    color: #b00020;
}

.ssv-vk-editor-options {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0 16px;
}

.ssv-vk-editor-options label {
    font-weight: 900;
}

.ssv-vk-editor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ssv-vk-editor-grid label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-weight: 900;
}

.ssv-vk-editor-wide {
    grid-column: 1 / -1;
}

.ssv-vk-editor-grid input,
.ssv-vk-editor-grid select,
.ssv-vk-editor-grid textarea {
    width: 100%;
    border: 1px solid #ddd7e8;
    border-radius: 13px;
    padding: 11px 12px;
    font: inherit;
    font-weight: 600;
    box-sizing: border-box;
}

.ssv-vk-editor-grid input[type="color"] {
    min-height: 44px;
    padding: 4px;
}

.ssv-vk-editor-message {
    margin-top: 12px;
    font-weight: 800;
}

.ssv-vk-editor-message.is-error {
    color: #b00020;
}

.ssv-vk-editor-message.is-success {
    color: #147a2e;
}

.ssv-vk-month-block + .ssv-vk-month-block {
    margin-top: 26px;
}

.ssv-vk-month-title {
    margin: 0 0 12px;
    color: var(--ssv-vk-primary);
    font-size: 25px;
    font-weight: 950;
}

.ssv-vk-year-list {
    display: grid;
    gap: 14px;
}

.ssv-vk-year-card {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 18px;
    padding: 18px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(36,25,53,.10);
    border-left: 7px solid var(--event-color);
    border-top: 1px solid rgba(91,44,131,.10);
    border-right: 1px solid rgba(91,44,131,.10);
    border-bottom: 1px solid rgba(91,44,131,.10);
}

.ssv-vk-year-date {
    color: var(--ssv-vk-primary);
    font-weight: 950;
    font-size: 18px;
}

.ssv-vk-year-category {
    display: inline-block;
    background: rgba(91,44,131,.10);
    color: var(--ssv-vk-primary);
    font-size: 12px;
    font-weight: 900;
    border-radius: 999px;
    padding: 6px 10px;
    margin-bottom: 9px;
    border: 1px solid rgba(91,44,131,.12);
}

.ssv-vk-year-content h4 {
    margin: 0 0 6px;
    font-size: 24px;
}

.ssv-vk-year-meta,
.ssv-vk-year-desc {
    margin: 0;
}

.ssv-vk-year-meta {
    font-weight: 800;
    color: #444;
}

.ssv-vk-year-desc {
    margin-top: 8px;
    color: #555;
}

.ssv-vk-year-details {
    margin-top: 12px;
    border: 0;
    background: var(--ssv-vk-primary);
    color: #fff;
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 900;
    cursor: pointer;
}

.ssv-vk-no-events,
.ssv-vk-notice {
    padding: 15px 16px;
    border-radius: 16px;
    background: #f4f0fa;
    border-left: 5px solid var(--ssv-vk-primary);
    max-width: 980px;
    margin: 18px auto;
}

@media (max-width: 1040px) {
    .ssv-vk-shell {
        padding: 24px;
    }

    .ssv-vk-week-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ssv-vk-wrap {
        margin: 28px auto 42px;
        padding: 0 12px;
    }

    .ssv-vk-shell {
        padding: 22px 14px;
        border-radius: 24px;
    }

    .ssv-vk-header-row,
    .ssv-vk-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .ssv-vk-head {
        text-align: left;
    }

    .ssv-vk-head h2 {
        font-size: 34px;
    }

    .ssv-vk-admin-actions,
    .ssv-vk-view-note {
        justify-content: flex-start;
    }

    .ssv-vk-week-grid {
        display: block;
    }

    .ssv-vk-day {
        margin-bottom: 16px;
    }

    .ssv-vk-day-body {
        min-height: 0;
    }

    .ssv-vk-filter {
        width: 100%;
        min-width: 0;
    }

    .ssv-vk-modal-dialog {
        margin: 4vh 12px 0;
        padding: 24px 18px 18px;
    }

    .ssv-vk-detail-grid,
    .ssv-vk-editor-grid,
    .ssv-vk-year-card {
        grid-template-columns: 1fr;
    }

    .ssv-vk-detail-actions,
    .ssv-vk-editor-actions {
        flex-direction: column;
    }
}


/* =========================================================
   v1.6 Feinschliff: leere Tage + kleines Plus
   ========================================================= */

.ssv-vk-shell {
    border-color: rgba(91,44,131,.10);
    box-shadow: 0 18px 48px rgba(31,22,46,.08);
}

.ssv-vk-empty {
    min-height: 54px;
    border: 0 !important;
    background: transparent !important;
    color: #aaa3b2;
    font-size: 13px;
    font-weight: 800;
    box-shadow: none !important;
}

.ssv-vk-empty span::before {
    display: none !important;
}

.ssv-vk-day-body {
    min-height: 285px;
}

.ssv-vk-day-add {
    width: 34px;
    height: 34px;
    min-height: 34px;
    margin: auto auto 0;
    padding: 0;
    border: 0 !important;
    border-radius: 999px;
    background: var(--ssv-vk-primary);
    color: #fff;
    box-shadow: 0 8px 18px rgba(91,44,131,.22);
    font-size: 0;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ssv-vk-day-add::before {
    content: "+";
    font-size: 22px;
    font-weight: 950;
    line-height: 1;
    transform: translateY(-1px);
}

.ssv-vk-day-add:hover {
    background: #6b34a0;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(91,44,131,.30);
}

.ssv-vk-event::before {
    opacity: .45;
}

.ssv-vk-event-time {
    background: rgba(91,44,131,.07);
}

@media (max-width: 760px) {
    .ssv-vk-head h2 {
        font-size: min(var(--ssv-vk-title-size), 36px);
    }
}

/* =========================================================
   Feinschliff v1.6.2
   ========================================================= */

.ssv-vk-wrap {
    max-width: 1320px;
}

.ssv-vk-empty {
    min-height: 58px;
    background: transparent;
    border: 0;
    color: #9b94a5;
    box-shadow: none;
}

.ssv-vk-day-add {
    align-self: center;
    margin-top: auto;
    width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--ssv-vk-primary);
    color: #fff;
    box-shadow: 0 9px 18px rgba(91,44,131,.22);
    font-size: 18px;
    line-height: 1;
}

.ssv-vk-day-add:hover {
    background: var(--ssv-vk-primary);
    color: #fff;
    transform: translateY(-2px);
}

.ssv-vk-event::before {
    position: absolute;
}

.ssv-vk-overview-list {
    display: grid;
    gap: 12px;
    position: relative;
    z-index: 1;
}

.ssv-vk-overview-card {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 18px;
    padding: 18px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(91,44,131,.12);
    border-left: 7px solid var(--event-color);
    box-shadow: 0 12px 28px rgba(36,25,53,.08);
}

.ssv-vk-overview-date {
    color: var(--ssv-vk-primary);
    font-weight: 950;
    font-size: 17px;
}

.ssv-vk-overview-content h3 {
    margin: 8px 0 5px;
    font-size: 22px;
    line-height: 1.15;
}

.ssv-vk-overview-content p {
    margin: 0;
    color: #5f5968;
    font-weight: 750;
}

@media (max-width: 760px) {
    .ssv-vk-overview-card {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Fix v1.6.2: Tages-Plus nur einmal anzeigen
   ========================================================= */
.ssv-vk-day-add{font-size:0!important;}
.ssv-vk-day-add::before{content:"+";font-size:22px;font-weight:950;line-height:1;transform:translateY(-1px);}


/* =========================================================
   v1.9.2 – Wochenplan luftiger + Frontend-Popup an Admin-Optik angepasst
   ========================================================= */
.ssv-vk-wrap{
    width:min(1480px, calc(100vw - 42px));
    max-width:none!important;
}
.ssv-vk-shell{
    padding:34px 36px 36px!important;
}
.ssv-vk-week-grid{
    gap:18px!important;
    align-items:stretch!important;
}
.ssv-vk-day{
    border-radius:24px!important;
    min-width:0!important;
}
.ssv-vk-day-title{
    padding:18px 12px!important;
    font-size:15px!important;
}
.ssv-vk-day-body{
    min-height:350px!important;
    padding:16px!important;
    gap:14px!important;
}
.ssv-vk-event{
    min-height:138px!important;
    padding:17px 16px 16px!important;
    border-radius:20px!important;
    justify-content:flex-start!important;
    gap:8px!important;
}
.ssv-vk-event-title{
    font-size:20px!important;
    line-height:1.12!important;
    letter-spacing:-.015em!important;
}
.ssv-vk-event-time{
    font-size:14px!important;
    padding:5px 10px!important;
    line-height:1.15!important;
}
.ssv-vk-event-mini{
    font-size:13px!important;
    line-height:1.35!important;
    word-break:normal!important;
}
.ssv-vk-empty{
    min-height:120px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding-top:22px!important;
}
.ssv-vk-day-add{
    width:38px!important;
    height:38px!important;
    min-height:38px!important;
    margin-top:auto!important;
}
.ssv-vk-day-add::before{
    font-size:24px!important;
}
@media(max-width:1200px){
    .ssv-vk-wrap{width:min(100%, calc(100vw - 28px));}
    .ssv-vk-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .ssv-vk-day-body{min-height:260px!important;}
}
@media(max-width:760px){
    .ssv-vk-wrap{width:calc(100vw - 20px);}
    .ssv-vk-shell{padding:22px 14px!important;}
    .ssv-vk-week-grid{display:block!important;}
    .ssv-vk-day-body{min-height:0!important;}
    .ssv-vk-event{min-height:auto!important;}
}

/* Frontend Termin-Erstellen/Bearbeiten: gleiche Richtung wie Admin-Popup */
.ssv-vk-wrap #ssv-vk-editor-modal.is-open{
    overflow-y:auto!important;
    padding:14px 18px!important;
    box-sizing:border-box!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-dialog{
    width:min(1120px, calc(100vw - 36px))!important;
    max-width:none!important;
    max-height:calc(100vh - 28px)!important;
    margin:0 auto!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:30px!important;
    display:flex!important;
    flex-direction:column!important;
    background:#fff!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-modal-header{
    flex:0 0 auto!important;
    padding:30px 34px 18px!important;
    border-bottom:1px solid #eee7f5!important;
    background:linear-gradient(135deg,#fff,#fbf8fd)!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-modal-header h3{
    margin:12px 44px 4px 0!important;
    font-size:36px!important;
    line-height:1.05!important;
    letter-spacing:-.03em!important;
    color:#202026!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-form{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    flex:1 1 auto!important;
    padding:0!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-options{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    padding:18px 34px!important;
    margin:0!important;
    border-radius:0!important;
    border-bottom:1px solid #eee7f5!important;
    background:#fff!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-options label{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-height:54px!important;
    padding:12px 14px!important;
    border:1px solid #ded2ea!important;
    border-radius:18px!important;
    background:#fbf9fd!important;
    font-weight:900!important;
    color:#241b2e!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-grid{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:16px!important;
    padding:22px 34px 24px!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-grid label{
    gap:7px!important;
    font-weight:900!important;
    color:#3a3245!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-grid input,
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-grid select,
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-grid textarea{
    border:1px solid #ddd7e8!important;
    border-radius:14px!important;
    min-height:46px!important;
    padding:11px 13px!important;
    font-weight:750!important;
    background:#fff!important;
    box-sizing:border-box!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-grid textarea{
    min-height:110px!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-wide{
    grid-column:1 / -1!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-message{
    padding:0 34px 8px!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-actions{
    flex:0 0 auto!important;
    position:sticky!important;
    bottom:0!important;
    margin:0!important;
    padding:18px 34px!important;
    border-top:1px solid #eee7f5!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(8px)!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal button[type="submit"]:disabled{
    opacity:.65!important;
    cursor:not-allowed!important;
}
@media(max-width:900px){
    .ssv-vk-wrap #ssv-vk-editor-modal.is-open{padding:8px!important;}
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-dialog{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:22px!important;}
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-options,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-grid{grid-template-columns:1fr!important;padding-left:18px!important;padding-right:18px!important;}
}

/* =========================================================
   v1.9.3 – Wochenplan neu ausgerichtet, kompaktere Terminkarten
   ========================================================= */
.ssv-vk-wrap{
    width:100%!important;
    max-width:1120px!important;
    margin:48px auto 56px!important;
    padding:0 16px!important;
    box-sizing:border-box!important;
}
.ssv-vk-shell{
    width:100%!important;
    box-sizing:border-box!important;
    padding:32px 34px 34px!important;
}
.ssv-vk-header-row{
    padding-bottom:18px!important;
    margin-bottom:16px!important;
}
.ssv-vk-toolbar{
    margin-bottom:16px!important;
}
.ssv-vk-week-grid{
    grid-template-columns:repeat(var(--ssv-vk-cols), minmax(0, 1fr))!important;
    gap:14px!important;
    justify-content:center!important;
}
.ssv-vk-day{
    border-radius:22px!important;
    box-shadow:0 12px 28px rgba(36,25,53,.075)!important;
}
.ssv-vk-day-title{
    padding:15px 10px 16px!important;
    font-size:13px!important;
    letter-spacing:.105em!important;
}
.ssv-vk-day-body{
    min-height:310px!important;
    padding:13px!important;
    gap:10px!important;
}
.ssv-vk-event{
    min-height:0!important;
    border-radius:17px!important;
    padding:13px 12px 12px 15px!important;
    gap:5px!important;
    box-shadow:0 10px 22px rgba(36,25,53,.085)!important;
}
.ssv-vk-event::after{
    width:5px!important;
}
.ssv-vk-event-title{
    font-size:16px!important;
    line-height:1.12!important;
    word-break:normal!important;
    hyphens:auto!important;
}
.ssv-vk-event-time{
    font-size:12px!important;
    padding:4px 8px!important;
    line-height:1.1!important;
}
.ssv-vk-event-mini{
    font-size:11.5px!important;
    line-height:1.25!important;
}
.ssv-vk-hover-meta{
    margin-top:4px!important;
    padding-top:5px!important;
}
.ssv-vk-hover-meta strong{display:none!important;}
.ssv-vk-hover-meta small{
    font-size:11px!important;
}
.ssv-vk-hover-meta em{
    font-size:10px!important;
}
.ssv-vk-empty{
    min-height:54px!important;
    padding-top:18px!important;
    align-items:flex-start!important;
    color:#9b94a5!important;
}
.ssv-vk-day-add{
    width:34px!important;
    height:34px!important;
    min-height:34px!important;
    margin-top:auto!important;
}
.ssv-vk-day-add::before{
    font-size:22px!important;
}
@media (min-width:1280px){
    .ssv-vk-wrap{max-width:1180px!important;}
}
@media (max-width:980px){
    .ssv-vk-wrap{max-width:760px!important;}
    .ssv-vk-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .ssv-vk-day-body{min-height:230px!important;}
}
@media (max-width:760px){
    .ssv-vk-wrap{width:100%!important;max-width:100%!important;padding:0 12px!important;margin:28px auto 42px!important;}
    .ssv-vk-shell{padding:22px 14px!important;}
    .ssv-vk-week-grid{display:block!important;}
    .ssv-vk-day{margin-bottom:14px!important;}
    .ssv-vk-day-body{min-height:0!important;}
    .ssv-vk-event{min-height:0!important;}
}

/* v1.9.4: Frontend-Erstellen/Bearbeiten im gleichen Aufbau wie Admin-Popup */
.ssv-vk-wrap #ssv-vk-editor-modal.is-open{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:18px 18px 12px!important;
    box-sizing:border-box!important;
    overflow:auto!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-dialog{
    width:min(1120px, calc(100vw - 36px))!important;
    max-height:calc(100vh - 30px)!important;
    margin:0 auto!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:30px!important;
    background:#fff!important;
    display:flex!important;
    flex-direction:column!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-modal-close{z-index:20;top:20px!important;right:24px!important;color:#5f5968!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-modal-head{
    flex:0 0 auto!important;
    display:flex!important;
    justify-content:space-between!important;
    gap:24px!important;
    align-items:flex-start!important;
    padding:28px 34px 18px!important;
    border-bottom:1px solid #eee7f5!important;
    background:linear-gradient(135deg,#fff,#fbf8fd)!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-modal-head h3{margin:12px 0 6px!important;font-size:34px!important;line-height:1.05!important;color:#202026!important;letter-spacing:-.03em!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-modal-head p{margin:0!important;color:#665f70!important;font-size:13px!important;line-height:1.45!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-form{display:flex!important;flex-direction:column!important;min-height:0!important;flex:1 1 auto!important;overflow:hidden!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switches{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    padding:18px 34px!important;
    border-bottom:1px solid #eee7f5!important;
    background:#fff!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    gap:4px 12px!important;
    align-items:center!important;
    border:1px solid #ded2ea!important;
    border-radius:18px!important;
    padding:14px 16px!important;
    background:#fbf9fd!important;
    cursor:pointer!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch:has(input:checked){border-color:#5b2c83!important;background:#f6f0fb!important;box-shadow:0 0 0 1px rgba(91,44,131,.12)!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch input{grid-row:1/3;width:18px!important;height:18px!important;accent-color:#5b2c83!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch span{font-weight:950!important;color:#241b2e!important;font-size:15px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch small{color:#6f6579!important;font-size:12px!important;font-weight:750!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-required-note{padding:10px 34px 0!important;font-size:12px!important;font-weight:900!important;color:#9c0018!important;background:#fff!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-form-sections{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
    padding:18px 34px 26px!important;
    display:grid!important;
    gap:16px!important;
    background:#fff!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-form-section{border:1px solid #eee7f5!important;border-radius:22px!important;padding:18px!important;background:#fff!important;box-shadow:0 8px 22px rgba(20,20,43,.035)!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-section-title{display:flex!important;align-items:flex-start!important;gap:12px!important;margin:0 0 14px!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-section-title>span{width:28px;height:28px;min-width:28px;border-radius:999px;background:#5b2c83;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:950;font-size:13px}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-section-title strong{display:block;font-size:18px;color:#241b2e;line-height:1.1}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-section-title small{display:block;margin-top:2px;color:#6f6579;font-size:12px;font-weight:750}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-grid .wide{grid-column:1/-1!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-grid label,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-layout label{font-weight:950!important;color:#2c2533!important;font-size:13px!important;line-height:1.25!important;display:block!important}
.ssv-vk-wrap #ssv-vk-editor-modal input[type=text],.ssv-vk-wrap #ssv-vk-editor-modal input[type=date],.ssv-vk-wrap #ssv-vk-editor-modal input[type=time],.ssv-vk-wrap #ssv-vk-editor-modal textarea,.ssv-vk-wrap #ssv-vk-editor-modal select{width:100%!important;border:1px solid #ddd7e8!important;border-radius:14px!important;padding:12px 14px!important;box-sizing:border-box!important;font:inherit!important;font-weight:800!important;color:#241b2e!important;background:#fff!important;margin-top:7px!important}
.ssv-vk-wrap #ssv-vk-editor-modal textarea{min-height:90px!important;resize:vertical!important}.ssv-vk-required-star{color:#b00020!important;margin-left:3px!important}.ssv-vk-field-help{display:block!important;margin-top:7px!important;color:#6e6476!important;font-size:12px!important;font-weight:700!important;line-height:1.35!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-layout{display:grid!important;grid-template-columns:1fr 1fr 1.5fr!important;gap:14px!important;align-items:start!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-date-time-panel{background:#fbf9fd!important;border:1px solid #eee7f5!important;border-radius:18px!important;padding:14px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-date-pair{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-range-box{margin-top:12px!important;background:#fff!important;border:1px solid #eee7f5!important;border-radius:16px!important;padding:12px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-range-title{font-weight:950!important;color:#5b2c83!important;margin-bottom:8px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-range-inputs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-select,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-multi{position:relative!important;margin-top:7px!important}.ssv-vk-native-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-select-toggle,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-multi-toggle{width:100%!important;height:47px!important;border:1px solid #ddd7e8!important;border-radius:14px!important;background:#fff!important;color:#241b2e!important;padding:0 40px 0 14px!important;text-align:left!important;font-weight:900!important;position:relative!important;cursor:pointer!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-select-toggle:after,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-multi-toggle:after{content:'⌄';position:absolute;right:14px;top:50%;transform:translateY(-54%);color:#5b2c83;font-size:15px}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-select-menu,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-multi-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:999999;background:#fff;border:1px solid #d8c8e7;border-radius:16px;box-shadow:0 22px 52px rgba(36,25,53,.20);padding:10px;max-height:260px;overflow:auto}.ssv-vk-wrap #ssv-vk-editor-modal .is-open>.ssv-vk-admin-select-menu,.ssv-vk-wrap #ssv-vk-editor-modal .is-open>.ssv-vk-admin-multi-menu{display:grid!important;gap:7px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-select-menu button,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-multi-menu label{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;padding:11px 12px!important;border:0!important;border-radius:12px!important;background:#fff!important;color:#241b2e!important;font-weight:900!important;text-align:left!important;cursor:pointer!important;box-sizing:border-box!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-select-menu button:hover,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-multi-menu label:hover{background:#f3edf8!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-select-menu button.is-active,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-multi-menu label:has(input:checked){background:#efe7f7!important;color:#4b236f!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-multi-menu input{appearance:none!important;-webkit-appearance:none!important;width:22px!important;height:22px!important;min-width:22px!important;margin:0!important;border:2px solid #d8c8e7!important;border-radius:7px!important;background:#fff!important;display:inline-grid!important;place-content:center!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-multi-menu input:checked{background:#5b2c83!important;border-color:#5b2c83!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-admin-multi-menu input:checked:after{content:'✓'!important;color:#fff!important;font-size:14px!important;line-height:1!important;font-weight:950!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-category-appearance-note{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;background:#fbf9fd!important;border:1px solid #eee7f5!important;border-radius:18px!important;padding:14px 16px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-category-appearance-note strong{display:block;color:#241b2e!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-category-appearance-note small{display:block;color:#6f6579!important;font-weight:700!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-custom-appearance-toggle{display:inline-flex!important;align-items:center!important;gap:8px!important;background:#fff!important;border:1px solid #ddd7e8!important;border-radius:999px!important;padding:10px 13px!important;color:#5b2c83!important;font-weight:950!important;white-space:nowrap!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-custom-appearance-toggle input{width:18px!important;height:18px!important;accent-color:#5b2c83!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-custom-appearance-fields{margin-top:14px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-color-picker-row{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin-top:8px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-color-preview{width:42px!important;height:42px!important;border-radius:999px!important;border:4px solid #f0ebf6!important;background:#b7a9d6!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)!important;cursor:pointer!important}.ssv-vk-wrap #ssv-vk-editor-modal input[type=color]{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-color-warning{display:block!important;flex-basis:100%!important;margin-top:6px!important;color:#a80018!important;background:#fff0f0!important;border:1px solid #f0c7c7!important;border-radius:12px!important;padding:9px 11px!important;font-size:12px!important;font-weight:850!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-icon-picker{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:8px 0 8px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-icon-picker button{width:34px!important;height:34px!important;border-radius:999px!important;border:1px solid #ddd7e8!important;background:#fff!important;cursor:pointer!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-icon-picker button.is-active{border-color:#5b2c83!important;box-shadow:0 0 0 3px rgba(91,44,131,.12)!important}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-calendar-preview-card{min-width:285px!important;background:#fff!important;border:1px solid #eee7f5!important;border-radius:18px!important;padding:12px!important;box-shadow:0 12px 30px rgba(36,25,53,.08)!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-calendar-preview-label{text-transform:uppercase!important;letter-spacing:.08em!important;color:#5b2c83!important;font-weight:950!important;font-size:11px!important;margin-bottom:8px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-preview-mini-day{border:1px solid #eee7f5!important;border-radius:14px!important;overflow:hidden!important;background:#f7f4fa!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-preview-mini-day-title{text-align:center!important;background:#fff!important;padding:8px!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:950!important;color:#25212b!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-preview-event-card{display:grid!important;grid-template-columns:1fr auto!important;gap:6px 10px!important;align-items:center!important;margin:10px!important;width:calc(100% - 20px)!important;text-align:left!important;background:#fff!important;border:0!important;border-left:5px solid var(--event-color,#b7a9d6)!important;border-radius:13px!important;padding:12px 14px!important;box-shadow:0 8px 18px rgba(36,25,53,.08)!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-preview-event-card strong{font-size:15px!important;color:#241b2e!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-preview-time{background:#f0e2a9!important;color:#5c4810!important;border-radius:999px!important;padding:4px 8px!important;font-size:11px!important;font-weight:950!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-preview-event-card small{grid-column:1/-1!important;color:#665f70!important;font-size:12px!important;font-weight:750!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-message{padding:0 34px 10px!important;margin:0!important;font-weight:900!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-sticky-actions{flex:0 0 auto!important;margin:0!important;padding:14px 34px 18px!important;border-top:1px solid #eee7f5!important;background:#fff!important;box-shadow:0 -12px 24px rgba(255,255,255,.88)!important}
@media(max-width:900px){.ssv-vk-wrap #ssv-vk-editor-modal.is-open{padding:8px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-dialog{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:22px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-modal-head{display:block!important;padding:24px 18px 16px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-calendar-preview-card{min-width:0!important;margin-top:14px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switches,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-grid,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-layout,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-date-pair,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-range-inputs{grid-template-columns:1fr!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switches,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-form-sections,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-sticky-actions,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-message,.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-required-note{padding-left:18px!important;padding-right:18px!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-category-appearance-note{display:block!important}.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-custom-appearance-toggle{margin-top:10px!important;white-space:normal!important}}

/* =========================================================
   v1.9.5 – Wochenkalender luftiger + Terminkarten kompakter,
   Darstellung im Termin-Popup wirklich nur nach Aktivierung
   ========================================================= */
.ssv-vk-wrap{
    width:min(1280px, calc(100% - 32px))!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}
.ssv-vk-shell{
    padding:34px 36px 36px!important;
}
.ssv-vk-week-grid{
    gap:16px!important;
    align-items:stretch!important;
}
.ssv-vk-day{
    min-width:0!important;
    border-radius:24px!important;
}
.ssv-vk-day-body{
    min-height:330px!important;
    padding:14px!important;
    gap:9px!important;
}
.ssv-vk-event{
    width:100%!important;
    min-height:0!important;
    padding:12px 12px 12px 15px!important;
    border-radius:16px!important;
    gap:4px!important;
    box-sizing:border-box!important;
}
.ssv-vk-event-title{
    font-size:15px!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    white-space:normal!important;
}
.ssv-vk-event-time{
    font-size:11.5px!important;
    padding:3px 7px!important;
    line-height:1.1!important;
    margin-top:1px!important;
}
.ssv-vk-event-mini{
    font-size:11px!important;
    line-height:1.22!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
}
.ssv-vk-hover-meta{
    display:none!important;
}
.ssv-vk-day-add{
    width:32px!important;
    height:32px!important;
    min-height:32px!important;
}
@media (min-width:1280px){
    .ssv-vk-wrap{max-width:1280px!important;}
}
@media (max-width:1100px){
    .ssv-vk-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .ssv-vk-day-body{min-height:240px!important;}
}

/* Eigene Darstellung in Frontend- und Admin-Popup standardmäßig wirklich einklappen */
#ssv-vk-editor-modal .ssv-vk-custom-appearance-fields[hidden],
#ssv-vk-admin-event-modal .ssv-vk-custom-appearance-fields[hidden]{
    display:none!important;
}
#ssv-vk-editor-modal .ssv-vk-custom-appearance-fields,
#ssv-vk-admin-event-modal .ssv-vk-custom-appearance-fields{
    margin-top:14px!important;
}
#ssv-vk-editor-modal .ssv-vk-custom-appearance-toggle,
#ssv-vk-admin-event-modal .ssv-vk-custom-appearance-toggle{
    cursor:pointer!important;
}

/* v1.9.8: Wochenkalender und Jahreskalender im Terminfenster sauber trennen */
.ssv-vk-event-admin-form.is-mode-week .ssv-vk-date-start-label .ssv-vk-required-star,
.ssv-vk-event-admin-form.is-mode-week .ssv-vk-date-end-label .ssv-vk-required-star{
    display:none!important;
}
.ssv-vk-event-admin-form.is-mode-year .ssv-vk-week-only-field{
    display:none!important;
}
.ssv-vk-year-weekday-preview{
    grid-column:1/-1;
    background:#faf7fc;
    border:1px solid #eadff3;
    border-radius:14px;
    padding:10px 12px;
    color:#5b2c83;
    font-weight:850;
    font-size:13px;
}
.ssv-vk-event-switches .ssv-vk-event-switch{
    cursor:pointer;
}


/* =========================================================
   v1.9.9 – Terminart-Auswahl als echte Karten + bessere Zeitbereiche
   ========================================================= */
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switches{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px!important;
    padding:18px 34px!important;
    background:#fff!important;
    border-bottom:1px solid #eee7f5!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switches::before{
    content:"Terminart wählen";
    grid-column:1/-1;
    color:#5b2c83;
    font-weight:950;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:2px;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch{
    position:relative!important;
    display:block!important;
    min-height:78px!important;
    padding:17px 18px 16px 70px!important;
    border:1px solid #ddd3e8!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 8px 18px rgba(36,25,53,.035)!important;
    cursor:pointer!important;
    overflow:hidden!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch:hover{border-color:#bfa8d7!important;background:#fbf8fd!important;}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch:has(input:checked){
    border-color:#5b2c83!important;
    background:linear-gradient(135deg,#f7f1fb,#fff)!important;
    box-shadow:0 0 0 1px rgba(91,44,131,.18),0 14px 30px rgba(91,44,131,.08)!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch input{
    position:absolute!important;
    opacity:0!important;
    pointer-events:none!important;
    width:1px!important;
    height:1px!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch::before{
    content:"";
    position:absolute;
    left:20px;
    top:50%;
    width:32px;
    height:32px;
    border-radius:999px;
    border:2px solid #d6c9e7;
    background:#fff;
    transform:translateY(-50%);
    box-sizing:border-box;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch::after{
    content:"";
    position:absolute;
    left:30px;
    top:50%;
    width:12px;
    height:12px;
    border-radius:999px;
    background:#5b2c83;
    transform:translateY(-50%) scale(0);
    transition:.16s ease;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch:has(input:checked)::after{transform:translateY(-50%) scale(1);}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch span{
    display:block!important;
    font-size:17px!important;
    font-weight:950!important;
    color:#231b2e!important;
    line-height:1.15!important;
    margin-bottom:5px!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switch small{
    display:block!important;
    font-size:12px!important;
    font-weight:750!important;
    line-height:1.35!important;
    color:#6d6476!important;
    max-width:96%!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-layout{
    display:grid!important;
    grid-template-columns:minmax(230px,.9fr) minmax(230px,.9fr) minmax(360px,1.4fr)!important;
    gap:16px!important;
    align-items:start!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-date-time-panel{
    background:#fbf9fd!important;
    border:1px solid #eee7f5!important;
    border-radius:20px!important;
    padding:16px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-date-pair{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-range-box{margin-top:12px!important;background:#fff!important;border:1px solid #eee7f5!important;border-radius:16px!important;padding:13px!important;}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-admin-form.is-mode-year .ssv-vk-time-layout{grid-template-columns:1fr!important;}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-admin-form.is-mode-year .ssv-vk-date-time-panel{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;max-width:none!important;}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-admin-form.is-mode-year .ssv-vk-date-pair{margin:0!important;}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-admin-form.is-mode-year .ssv-vk-time-range-box{margin-top:0!important;}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-year-weekday-preview{grid-column:1/-1!important;background:#fff!important;border:1px solid #e3d5ee!important;border-radius:14px!important;padding:11px 13px!important;color:#5b2c83!important;font-weight:900!important;}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-calendar-preview-card.is-year-preview .ssv-vk-calendar-preview-label{color:#7b5b08!important;}
.ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-calendar-preview-card.is-year-preview .ssv-vk-preview-mini-day-title::before{content:"Jahrestermin · ";color:#5b2c83;}
@media(max-width:1050px){
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switches,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-layout,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-admin-form.is-mode-year .ssv-vk-date-time-panel{grid-template-columns:1fr!important;}
}


/* =========================================================
   v2.0.4 – Mobile-Aufräumen: saubere Wochenansicht als Accordion
   ========================================================= */
@media (max-width: 760px) {
    .ssv-vk-wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin: 22px auto 34px !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }

    .ssv-vk-shell {
        padding: 18px 12px 16px !important;
        border-radius: 22px !important;
    }

    .ssv-vk-shell::before {
        left: 12px !important;
        right: 12px !important;
    }

    .ssv-vk-header-row {
        gap: 16px !important;
        padding: 2px 0 16px !important;
        margin-bottom: 14px !important;
        align-items: stretch !important;
    }

    .ssv-vk-head,
    .ssv-vk-admin-actions,
    .ssv-vk-main-add {
        width: 100% !important;
        max-width: none !important;
    }

    .ssv-vk-head h2 {
        font-size: clamp(30px, 9vw, 44px) !important;
        line-height: .98 !important;
        letter-spacing: -.04em !important;
    }

    .ssv-vk-head p {
        margin-top: 10px !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        max-width: none !important;
    }

    .ssv-vk-main-add,
    .ssv-vk-primary-btn,
    .ssv-vk-secondary-btn,
    .ssv-vk-danger-btn {
        width: 100% !important;
        justify-content: center !important;
    }

    .ssv-vk-main-add {
        display: inline-flex !important;
        padding: 14px 18px !important;
        font-size: 15px !important;
    }

    .ssv-vk-toolbar {
        gap: 10px !important;
        margin-bottom: 12px !important;
        align-items: stretch !important;
    }

    .ssv-vk-filter {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 52px !important;
        padding: 12px 14px !important;
        border-radius: 14px !important;
        font-size: 16px !important;
        box-shadow: none !important;
    }

    .ssv-vk-view-note {
        display: none !important;
    }

    .ssv-vk-week-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .ssv-vk-day {
        margin: 0 !important;
        border-radius: 20px !important;
        overflow: hidden !important;
        box-shadow: 0 10px 24px rgba(36,25,53,.08) !important;
    }

    .ssv-vk-day:hover {
        transform: none !important;
    }

    .ssv-vk-day.is-mobile-accordion .ssv-vk-day-title {
        display: flex !important;
        align-items: center !important;
        padding: 16px 52px 16px 16px !important;
        text-align: left !important;
        font-size: 14px !important;
        letter-spacing: .08em !important;
        line-height: 1.2 !important;
        cursor: pointer !important;
        user-select: none !important;
        position: relative !important;
        background: linear-gradient(135deg, #ffffff, #faf7fc) !important;
    }

    .ssv-vk-day.is-mobile-accordion .ssv-vk-day-title::before {
        content: attr(data-count-badge) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 28px !important;
        height: 28px !important;
        margin-right: 10px !important;
        padding: 0 9px !important;
        border-radius: 999px !important;
        background: rgba(91,44,131,.10) !important;
        color: var(--ssv-vk-primary) !important;
        font-size: 12px !important;
        font-weight: 950 !important;
        letter-spacing: 0 !important;
        box-sizing: border-box !important;
    }

    .ssv-vk-day.is-mobile-accordion:not(.has-events) .ssv-vk-day-title::before {
        background: rgba(91,44,131,.06) !important;
        color: #948ca0 !important;
    }

    .ssv-vk-day.is-mobile-accordion .ssv-vk-day-title::after {
        content: "+" !important;
        position: absolute !important;
        right: 16px !important;
        left: auto !important;
        top: 50% !important;
        bottom: auto !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        transform: translateY(-50%) !important;
        color: var(--ssv-vk-primary) !important;
        font-size: 26px !important;
        font-weight: 600 !important;
        border-radius: 0 !important;
    }

    .ssv-vk-day.is-mobile-accordion.is-open .ssv-vk-day-title::after {
        content: "–" !important;
    }

    .ssv-vk-day.is-mobile-accordion .ssv-vk-day-body {
        min-height: 0 !important;
        padding: 0 12px 12px !important;
        gap: 8px !important;
        background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(247,244,250,.7)) !important;
    }

    .ssv-vk-day.is-mobile-accordion.is-collapsed .ssv-vk-day-body {
        display: none !important;
    }

    .ssv-vk-empty {
        min-height: auto !important;
        padding-top: 2px !important;
        justify-content: flex-start !important;
        font-size: 12px !important;
    }

    .ssv-vk-event {
        min-height: 0 !important;
        padding: 13px 14px 12px 16px !important;
        border-radius: 16px !important;
        gap: 6px !important;
        box-shadow: 0 8px 18px rgba(36,25,53,.08) !important;
    }

    .ssv-vk-event::after {
        width: 5px !important;
    }

    .ssv-vk-event-title {
        font-size: 18px !important;
        line-height: 1.08 !important;
        letter-spacing: -.02em !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        hyphens: auto !important;
        text-wrap: balance !important;
    }

    .ssv-vk-event-time {
        font-size: 12px !important;
        padding: 4px 8px !important;
    }

    .ssv-vk-event-mini {
        font-size: 12px !important;
        line-height: 1.28 !important;
        -webkit-line-clamp: 3 !important;
    }

    .ssv-vk-day-add {
        width: 100% !important;
        height: auto !important;
        min-height: 44px !important;
        margin-top: 2px !important;
        border-radius: 14px !important;
        padding: 12px 14px !important;
        box-shadow: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(91,44,131,.08) !important;
        color: var(--ssv-vk-primary) !important;
        border: 1px dashed rgba(91,44,131,.22) !important;
    }

    .ssv-vk-day-add::before {
        content: "+ Termin" !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        transform: none !important;
    }

    .ssv-vk-day-add:hover {
        background: rgba(91,44,131,.12) !important;
        transform: none !important;
    }

    .ssv-vk-modal-dialog {
        margin: 10px 8px 0 !important;
        max-height: calc(100vh - 18px) !important;
        border-radius: 20px !important;
        padding: 20px 16px 16px !important;
    }

    .ssv-vk-modal-close {
        top: 10px !important;
        right: 12px !important;
    }

    .ssv-vk-detail-grid,
    .ssv-vk-year-card,
    .ssv-vk-overview-card {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-calendar-preview-card {
        display: none !important;
    }

    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-modal-head {
        display: block !important;
        padding: 22px 18px 14px !important;
    }

    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-modal-head h3 {
        font-size: 31px !important;
        margin-right: 34px !important;
    }

    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switches,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-form-sections,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-sticky-actions,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-editor-message,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-required-note {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-switches,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-grid,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-layout,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-date-pair,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-time-range-inputs,
    .ssv-vk-wrap #ssv-vk-editor-modal .ssv-vk-event-admin-form.is-mode-year .ssv-vk-date-time-panel {
        grid-template-columns: 1fr !important;
    }
}
