/* Meine Fahrschulwelt – Kurskarte wie Dashboard-Vorschau (Webseiten-Design). Automatisch aus Dashboard v0.9.x übernommen. */
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-price{ background-color: var(--df-price-bg,#eff7ff) !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-preview-badge{background: var(--df-badge-bg,#d9e8fa) !important;}
.msw-dfc.msw-dfc.msw-dfc .vku2-location-link{color: var(--df-accent,#1677e8) !important;}
.msw-dfc.msw-dfc.msw-dfc .vku2-btn{background: var(--df-button-bg,#1677e8) !important;}
.df-preview-card{border: 2px solid rgb(220, 230, 241); padding: 20px; display: flex; flex-direction: column; box-shadow: rgba(16, 38, 66, 0.063) 0px 8px 23px; max-width: 460px; margin: auto;}
.df-preview-head{display: flex; gap: 10px; align-items: flex-start; justify-content: space-between;}
.df-preview-head h3{font-size: 1.25em; margin: 10px 0px 5px;}
.df-preview-head p{font-size: 0.85em; line-height: 1.5; margin: 0px;}
.df-preview-head strong{white-space: nowrap; padding: 10px; border-radius: 10px; font-size: 0.92em;}
.df-preview-badge{font-size: 0.72em; font-weight: bold; border-radius: 6px; padding: 5px 8px;}
.df-preview-button{border: 0px; padding: 14px; font-weight: 700; cursor: pointer;}
@media (max-width: 550px){.df-preview-head{flex-wrap: wrap;}}
.msw-dfc.msw-dfc.msw-dfc{width: 100%; min-width: 0px; max-width: 620px; margin: auto; overflow: hidden; box-shadow: rgba(16, 38, 66, 0.09) 0px 12px 35px; display: block;}
.msw-dfc.msw-dfc.msw-dfc .df-preview-badge{display: inline-block; border-radius: 99px; padding: 4px 10px; font-size: 11px; font-weight: 800; margin-bottom: 7px;}
.msw-dfc.msw-dfc.msw-dfc h3{margin: 0px 0px 8px;}
.msw-dfc.msw-dfc.msw-dfc p{margin: 0px; color: var(--df-muted,#718096);}
.msw-dfc.msw-dfc.msw-dfc .df-preview-button{width: 100%; border: 0px; cursor: default; padding: 15px 18px; font-weight: 750; font-size: 15px; color: white;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card{border-radius: 25px; background: rgb(255, 255, 255);}
.msw-dfc.msw-dfc.msw-dfc .vku2-course-head{padding: 21px 23px; background: linear-gradient(110deg, rgb(239, 247, 255), rgb(255, 255, 255)); display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; border-bottom: 1px solid rgb(228, 238, 252);}
.msw-dfc.msw-dfc.msw-dfc .vku2-title h3{font-size: 24px; color: rgb(16, 33, 62);}
.msw-dfc.msw-dfc.msw-dfc .vku2-title .df-preview-badge{display: inline-block; margin-bottom: 7px; line-height: 1.2;}
.msw-dfc.msw-dfc.msw-dfc .vku2-price{border-radius: 14px; padding: 12px 15px; background: rgb(8, 104, 230); color: white; font-size: 21px;}
.msw-dfc.msw-dfc.msw-dfc .vku2-course-info{padding: 20px 22px 6px;}
.msw-dfc.msw-dfc.msw-dfc .vku2-dates{list-style: none; margin: 0px; padding: 0px; display: grid; gap: 8px;}
.msw-dfc.msw-dfc.msw-dfc .vku2-dates li{padding: 11px 12px; border-radius: 14px; background: var(--df-date,#edf6ff); display: flex; gap: 10px; align-items: center;}
.msw-dfc.msw-dfc.msw-dfc li strong{display: block; font-size: 12px;}
.msw-dfc.msw-dfc.msw-dfc .vku2-seats{border-radius: 14px; background: rgb(225, 249, 237); color: rgb(18, 99, 68); font-size: 13px; font-weight: 700; padding: 16px 12px;}
.msw-dfc.msw-dfc.msw-dfc .vku2-registration-panel{padding: 19px 22px 22px;}
.msw-dfc.msw-dfc.msw-dfc .vku2-btn{border-radius: 16px; background: linear-gradient(100deg, rgb(7, 86, 242), rgb(0, 157, 247));}
@media (max-width: 650px){.msw-dfc.msw-dfc.msw-dfc .vku2-course-head{padding: 16px;}}
@media (max-width: 650px){.msw-dfc.msw-dfc.msw-dfc .vku2-course-info{padding: 16px;}}
@media (max-width: 650px){.msw-dfc.msw-dfc.msw-dfc .vku2-registration-panel{padding: 16px;}}
.msw-dfc.msw-dfc.msw-dfc.vku2-card{border: 8px solid rgb(226, 243, 255); border-radius: 27px; padding: 0px; background: rgb(255, 255, 255);}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-course-head{background: rgb(255, 255, 255); border: 0px; padding: 20px 21px 8px; display: flex; flex-wrap: nowrap; align-items: flex-start;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-title h3{font-size: clamp(19px, 2.5vw, 28px); line-height: 1.15;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-price{background: rgb(239, 247, 255); color: rgb(37, 105, 234); border-radius: 15px; font-size: 19px; white-space: nowrap; padding: 11px;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-course-info{padding: 8px 21px 0px;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-dates{gap: 10px;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-dates li{display: flex; padding: 13px 14px; border-radius: 15px; background: rgb(243, 248, 254);}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-daycopy{display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 12px; min-width: 0px;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-daycopy strong{font-size: 14px; color: rgb(11, 32, 65); font-weight: 800;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-time{font-size: 13px; color: rgb(81, 105, 131); white-space: nowrap;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-seats{background: transparent; border: 0px; padding: 0px; font-size: 13px; color: rgb(14, 106, 65);}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-registration-panel{padding: 17px 21px 20px;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-btn{background: rgb(7, 103, 249); border-radius: 15px;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-dates{background: var(--df-date,#edf6ff) !important; border-radius: 12px !important; gap: 0px !important; overflow: hidden !important; border: 1px solid rgb(227, 237, 249) !important;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-dates li{background: transparent !important; border-radius: 0px !important; border-width: 0px 0px 1px !important; border-style: none none solid !important; border-color: currentcolor currentcolor rgb(211, 225, 241) !important; border-image: none !important; padding: 12px 13px !important; margin: 0px !important; min-height: auto !important; box-shadow: none !important;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-dates li:last-child{border-bottom: 0px !important;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-daycopy{display: flex !important; justify-content: space-between !important; gap: 10px !important; flex-wrap: wrap !important; align-items: center !important;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-seats{color: rgb(20, 125, 74) !important; background: rgb(233, 248, 239) !important; padding: 9px 12px !important; border-radius: 9px !important; font-weight: 600 !important;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-location-link{display: inline-flex !important; gap: 9px !important; align-items: center !important; text-decoration: none !important; color: rgb(35, 67, 97) !important; padding: 8px 0px !important; font-size: 13px !important;}
.msw-dfc.msw-dfc.msw-dfc.vku2-card .df-preview-description.df-preview-description.df-preview-description{display: flex; gap: 4px; align-items: center;}
@media (max-width: 600px){.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-dates li{padding: 11px !important;}}
@media (max-width: 600px){.msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-daycopy{gap: 4px !important;}}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card{display: block !important; max-width: none !important; width: 100% !important; background: var(--df-card,#f0f6fd) !important; border: 1px solid var(--df-border,#dbe8f4) !important; border-radius: var(--df-radius,20px) !important; box-shadow: none !important; padding: 0px !important; overflow: hidden !important; color: var(--df-body,#17263b) !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-main{display: grid !important; grid-template-columns: 30% 37% 33% !important; min-width: 0px !important; align-items: stretch !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-main > *{min-width: 0px !important; border-right: 1px solid rgb(216, 226, 237) !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-main > :last-child{border-right: 0px !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-course-head{display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: space-between !important; gap: 12px !important; background: transparent !important; padding: 19px 16px !important; border: 0px !important; margin: 0px !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-title{min-width: 0px !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-preview-badge{display: inline-block !important; background: var(--df-badge-bg,#dbe9fa) !important; color: var(--df-badge-text,#235b99) !important; border-radius: 9px !important; padding: 5px 9px !important; font-weight: 750 !important; font-size: 12px !important; margin: 0px 0px 9px !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-title h3{margin: 0px 0px 8px !important; color: var(--df-heading,#102642) !important; font-size: clamp(17px, 2vw, 25px) !important; line-height: 1.2 !important; font-weight: 800 !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-preview-description.df-preview-description.df-preview-description{display: flex !important; align-items: center !important; gap: 7px !important; margin: 0px !important; color: var(--df-muted,#718096) !important; line-height: 1.35 !important; font-size: 12px !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-price{background: var(--df-badge-bg,#d9e8fa) !important; display: block !important; align-self: flex-start !important; padding: 10px 12px !important; margin: 8px 0px 0px !important; color: var(--df-price-text,#1769cf) !important; font-size: clamp(19px, 2vw, 28px) !important; line-height: 1.1 !important; border-radius: 14px !important; white-space: nowrap !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-course-info{padding: 18px 13px !important; margin: 0px !important; min-width: 0px !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-dates{display: block !important; list-style: none !important; margin: 0px !important; padding: 0px !important; border: 0px !important; border-radius: 0px !important; background: transparent !important; overflow: visible !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-dates li{display: block !important; min-height: 0px !important; padding: 10px 0px !important; margin: 0px 0px 4px !important; background: transparent !important; border: 0px !important; border-radius: 0px !important; box-shadow: none !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-daycopy{display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 5px !important; width: 100% !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-daycopy strong{white-space: normal !important; color: var(--df-heading,#102642) !important; font-size: 12px !important; font-weight: 800 !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-daycopy .vku2-time{font-size: 12px !important; color: var(--df-muted,#718096) !important; white-space: normal !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-right{display: flex !important; flex-direction: column !important; justify-content: flex-start !important; gap: 13px !important; padding: 19px 13px !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-seats{background: rgb(226, 245, 233) !important; color: rgb(23, 107, 69) !important; font-size: 12px !important; font-weight: 700 !important; border-radius: 20px !important; padding: 5px 9px !important; width: fit-content !important; line-height: 1.4 !important; margin: 0px !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-location-link{display: flex !important; align-items: flex-start !important; gap: 7px !important; color: var(--df-muted,#718096) !important; font-size: 11px !important; line-height: 1.4 !important; text-decoration: none !important; min-width: 0px !important; overflow-wrap: anywhere !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-registration-panel{margin-top: auto !important; padding: 0px !important; background: transparent !important; width: 100% !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-btn{width: 100% !important; border: 0px !important; border-radius: 8px !important; padding: 13px 9px !important; min-height: 43px !important; font-size: 12px !important; font-weight: 750 !important; box-shadow: none !important; background: var(--df-button-bg,#1677e8) !important; color: var(--df-button-text,#fff) !important; white-space: normal !important;}
@media (max-width: 600px){.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-main{display: flex !important; flex-direction: column !important;}}
@media (max-width: 600px){.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-main > *{border-right: 0px !important;}}
@media (max-width: 600px){.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-course-head{padding: 16px !important;}}
@media (max-width: 600px){.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-course-info{padding: 8px 16px !important;}}
@media (max-width: 600px){.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-right{padding: 14px 16px !important;}}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card{margin: 0px !important; width: 100% !important; max-width: 100% !important; box-shadow: none !important;}
.msw-dfc.msw-dfc.msw-dfc{box-sizing: border-box !important; background-clip: padding-box;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card{background: var(--df-card,#f0f6fd) !important; border-color: var(--df-border,#dbe8f4) !important; color: var(--df-body,#243750) !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-title h3,.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-daycopy strong{color: var(--df-heading,#102642) !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-preview-description.df-preview-description.df-preview-description,.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-daycopy .vku2-time,.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-location-link{color: var(--df-muted,#718096) !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-preview-badge,.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-price{background: var(--df-badge-bg,#d9e8fa) !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-preview-badge{color: var(--df-badge-text,#235b99) !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-price{color: var(--df-price-color,#1769cf) !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-course-info{background: var(--df-date,#f0f7ff) !important;}
.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-btn{background: var(--df-button-bg,#1677e8) !important; color: var(--df-button-text,#fff) !important;}
/* Webseiten-Grundlage: Theme-Einflüsse neutralisieren */
.msw-dfc-wrap{max-width:1100px;margin:22px auto;display:grid;gap:22px}
.msw-dfc,.msw-dfc *{box-sizing:border-box}
.msw-dfc ol{list-style:none;margin:0;padding:0}
.msw-dfc h3,.msw-dfc p{margin:0}
.msw-dfc a{text-decoration:none}
.msw-dfc button{cursor:pointer;font-family:inherit;border:0}
.msw-dfc .vku2-btn:disabled{opacity:.55;cursor:default}
/* Anmeldeformular unter der Karte */
.msw-dfc-form{border-top:1px solid var(--df-border,#dbe7f2);padding:18px;background:rgba(255,255,255,.55)}
.msw-dfc-form h4{margin:0 0 4px;font-size:17px;color:var(--df-heading,#102642)}
.msw-dfc-form p{margin:0 0 12px;color:var(--df-muted,#718096);font-size:13px}
.msw-dfc-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.msw-dfc-fields label{display:block;font-size:13px;font-weight:650;color:var(--df-body,#243750)}
.msw-dfc-fields input,.msw-dfc-fields textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:10px 12px;min-height:44px;border:1px solid var(--df-border,#dbe7f2);border-radius:8px;background:#fff;font:inherit;font-size:14px;color:#122749}
.msw-dfc-agb{display:flex;gap:8px;align-items:flex-start;margin:14px 0;font-size:13px;color:var(--df-body,#243750)}
.msw-dfc-agb a{color:var(--df-accent,#1677e8);text-decoration:underline}
.msw-dfc-cost{font-size:13px;color:var(--df-muted,#718096);margin:0 0 10px}
.msw-dfc-submit{width:100%;padding:13px 16px;border-radius:8px;font-weight:700;font-size:15px;background:var(--df-button-bg,#1677e8);color:var(--df-button-text,#fff)}
.msw-dfc-submit:hover{background:var(--df-button-hover,#0958ad)}
.msw-dfc-small{font-size:12px;color:var(--df-muted,#718096);margin:10px 0 0;text-align:center}
.msw-dfc-hp{position:absolute;left:-9999px}
.msw-dfc-alert{padding:14px 16px;border-radius:12px;background:#e9f8ef;color:#135c2c;font-weight:600}
.msw-dfc-alert.err{background:#fff1f1;color:#8a1c1c}
@media(max-width:600px){.msw-dfc-fields{grid-template-columns:1fr}}
.df-element-hidden{display:none!important}

/* Handy-Ansicht wie Dashboard-Vorschau «Handy» – greift, wenn die Kursliste schmaler als 700 px ist */
.msw-dfc-wrap{container-type:inline-size}
@container (max-width: 700px){
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .df-preview-card{max-width: 100%; min-width: 0px; width: 100%;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .vku2-course-head{padding: 13px; flex-direction: column; align-items: stretch;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .vku2-course-info,.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .vku2-registration-panel{padding: 13px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .vku2-title h3{font-size: 20px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .vku2-price{font-size: 18px; align-self: flex-start;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .df-preview-button{font-size: 13px; padding: 12px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .vku2-dates li{min-width: 0px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-price{ background-color: var(--df-price-bg,#eff7ff) !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-course-head{padding: 13px 11px 6px; gap: 6px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-price{padding: 8px; font-size: 14px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-course-info{padding: 7px 11px 0px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-daycopy{flex-wrap: wrap; gap: 4px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-daycopy strong{font-size: 12px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-time{font-size: 12px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.vku2-card .vku2-registration-panel{padding: 12px;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-main{display: flex !important; flex-direction: column !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-course-head{position: relative !important; display: block !important; padding: 20px 16px 8px !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-preview-badge{font-size: 13px !important; padding: 7px 12px !important; margin-bottom: 13px !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-title h3{font-size: 24px !important; margin: 0px 0px 6px !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-preview-description.df-preview-description.df-preview-description{font-size: 14px !important; margin-top: 6px !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-price{position: absolute !important; right: 13px !important; top: 20px !important; margin: 0px !important; padding: 9px 12px !important; background: var(--df-badge-bg,#d9e8fa) !important; border-radius: 15px !important; font-size: 19px !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-course-info{padding: 5px 16px 0px !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-dates{border-radius: 0px !important; background: transparent !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-dates li{padding: 16px 0px !important; margin: 0px !important; border-bottom: 1px solid rgb(211, 224, 236) !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-dates li:first-child{border-top: 1px solid rgb(211, 224, 236) !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-daycopy{display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-daycopy strong{font-size: 12px !important; white-space: nowrap !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-daycopy .vku2-time{font-size: 11px !important; white-space: nowrap !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-right{padding: 14px 16px 18px !important; gap: 12px !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-seats{background: transparent !important; padding: 0px !important; font-size: 15px !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-location-link{font-size: 13px !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-registration-panel{display: flex !important; justify-content: flex-end !important;}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-btn{width: auto !important; padding: 12px 17px !important; border-radius: 12px !important; font-size: 13px !important;}

/* Langer Kurstitel: Preis bleibt oben rechts, Titel bricht daneben um (keine Überlappung) */
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc .vku2-course-head{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-start!important;gap:12px!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc .vku2-title{flex:1 1 auto!important;min-width:0!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc .vku2-title h3{overflow-wrap:anywhere;padding-right:0!important;max-width:none!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc .vku2-price{position:static!important;flex:0 0 auto!important;margin:0 0 0 auto!important;transform:none!important;top:auto!important;right:auto!important;align-self:flex-start!important}
}

/* Saison-Deko: transparentes Muster über der Karte (z. B. Geister, Schneeflocken) */
.msw-dfc.msw-decor-fall::before{animation:msw-snow 12s linear infinite}
@keyframes msw-snow{from{background-position:0 0}to{background-position:60px 300px}}
@media (prefers-reduced-motion:reduce){.msw-dfc.msw-decor-fall::before{animation:none}}

/* Anmeldung im eigenen Fenster */
.msw-dfm{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.msw-dfm[hidden]{display:none!important}
.msw-dfm-backdrop{position:absolute;inset:0;background:rgba(10,20,35,.55)}
.msw-dfm-box{position:relative;width:100%;max-width:680px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:var(--dfm-form-bg,#fff);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.3);color:var(--df-body,#243750);overscroll-behavior:contain}
.msw-dfm-x{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:#33415a;font-size:24px;line-height:1;cursor:pointer;z-index:2;padding:0}
.msw-dfm-x:hover{background:#fff}
.msw-dfm-sum{background:var(--df-card,#edf4fb);border-bottom:1px solid var(--df-border,#dbe7f2);padding:18px 56px 14px 18px}
.msw-dfm-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--df-badge-bg,#d9e8fa);color:var(--df-badge-text,#245f9e)}
.msw-dfm-title{display:block;margin:6px 0 6px;font-size:19px;line-height:1.25;color:var(--df-heading,#102642)}
.msw-dfm-sum ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 14px}
.msw-dfm-sum li{font-size:13px;margin:0;padding:0}
.msw-dfm-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin-top:8px;font-size:13px;color:var(--df-accent,#1677e8)}
.msw-dfm-price{font-weight:800;color:var(--df-price-text,#1769cf);background:var(--df-price-bg,#d9e8fa);padding:2px 10px;border-radius:8px}
.msw-dfm .msw-dfc-form{border-top:0;background:var(--dfm-form-bg,#fff)}
.msw-dfm-back{display:block;width:100%;margin-top:10px;padding:11px 16px;border-radius:8px;border:1px solid var(--df-border,#dbe7f2);background:#fff;color:var(--df-body,#243750);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.msw-dfm-back:hover{background:var(--df-card,#edf4fb)}
html.msw-dfm-open,html.msw-dfm-open body{overflow:hidden}
@media(max-width:600px){.msw-dfm{padding:0;align-items:stretch}.msw-dfm-box{max-height:none;height:100%;border-radius:0}}
.msw-dfm .msw-dfc-form h4{font-weight:700;font-size:18px}

/* ===== 2.6: Aufbau-Vorlagen, Handy kompakt, Deko hinter dem Inhalt ===== */
.msw-dfc.msw-decor{position:relative;isolation:isolate}
.msw-dfc.msw-decor::before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:var(--msw-decor);background-size:var(--msw-decor-size,300px);background-repeat:repeat;opacity:var(--msw-decor-op,.9);pointer-events:none;z-index:0}
.msw-dfc.msw-decor>*{position:relative;z-index:1}
.msw-seatwrap{display:none;margin-top:2px}.msw-seatbar{height:8px;border-radius:99px;background:rgba(0,0,0,.08);overflow:hidden}.msw-seatbar i{display:block;height:100%;border-radius:99px;background:var(--df-accent,#1677e8)}.msw-seatwrap small{display:block;font-size:12px;margin-top:4px;color:var(--df-muted,#718096)}
/* Aufbau: Schlicht */
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-simple .df-preview-badge,.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-simple .df-preview-description{display:none!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-simple .vku2-dates,.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-simple .df-preview-dates{background:transparent!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-simple .vku2-dates li{padding-top:3px!important;padding-bottom:3px!important;border:0!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-simple .vku2-title h3,.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-simple .df-preview-title{font-size:20px!important;margin:0!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-simple{border-width:1px!important;box-shadow:none!important}
/* Aufbau: Kompakt (alles untereinander, Termine als Zeile) */
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .df-v52-main{display:flex!important;flex-direction:column!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .df-v52-main>*{border-right:0!important;border-left:0!important;width:auto!important;max-width:none!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .df-v52-right{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"seats btn" "loc btn" "bar bar"!important;align-items:center!important;gap:6px 12px!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .df-v52-right .vku2-seats{grid-area:seats;justify-self:start;margin:0!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .df-v52-right .vku2-location-link{grid-area:loc;margin:0!important;min-width:0}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .df-v52-right .vku2-registration-panel{grid-area:btn;margin:0!important;padding:0!important;align-self:center}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .df-v52-right .vku2-registration-panel .vku2-btn{width:auto!important;white-space:nowrap;padding:11px 16px!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .df-v52-right .msw-seatwrap{grid-area:bar}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .vku2-course-head{padding-bottom:4px!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .vku2-course-info{padding-top:0!important;padding-bottom:0!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .vku2-dates{display:flex!important;flex-wrap:wrap!important;gap:6px!important;background:transparent!important;padding:0!important;margin:0!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .vku2-dates li{background:var(--df-date,#f0f7ff)!important;border:0!important;border-radius:8px!important;padding:6px 10px!important;flex:1 1 170px;list-style:none}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .vku2-daycopy{display:flex!important;flex-wrap:wrap;gap:2px 8px;justify-content:space-between}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .df-preview-description{display:none!important}
/* Aufbau: Ausführlich (Termine als Kacheln, Platzanzeige als Balken) */
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .df-v52-main{display:flex!important;flex-direction:column!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .df-v52-main>*{border-right:0!important;border-left:0!important;width:auto!important;max-width:none!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .df-v52-right{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"seats btn" "loc btn" "bar bar"!important;align-items:center!important;gap:6px 12px!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .df-v52-right .vku2-seats{grid-area:seats;justify-self:start;margin:0!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .df-v52-right .vku2-location-link{grid-area:loc;margin:0!important;min-width:0}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .df-v52-right .vku2-registration-panel{grid-area:btn;margin:0!important;padding:0!important;align-self:center}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .df-v52-right .vku2-registration-panel .vku2-btn{width:auto!important;white-space:nowrap;padding:11px 16px!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .df-v52-right .msw-seatwrap{grid-area:bar}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .vku2-dates{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:10px!important;background:transparent!important;padding:0!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .vku2-dates li{background:var(--df-date,#f0f7ff)!important;border:1px solid var(--df-border,#dbe7f2)!important;border-radius:12px!important;padding:12px!important;list-style:none}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .vku2-daycopy{display:grid!important;gap:4px}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .vku2-daycopy strong{font-size:15px!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .msw-seatwrap{display:block!important}
@media(max-width:600px){
.msw-dfc-wrap .msw-dfc.msw-dfc .df-v52-right{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"seats btn" "loc btn" "bar bar"!important;align-items:center!important;gap:6px 12px!important}
.msw-dfc-wrap .msw-dfc.msw-dfc .df-v52-right .vku2-seats{grid-area:seats;justify-self:start;margin:0!important}
.msw-dfc-wrap .msw-dfc.msw-dfc .df-v52-right .vku2-location-link{grid-area:loc;margin:0!important;min-width:0}
.msw-dfc-wrap .msw-dfc.msw-dfc .df-v52-right .vku2-registration-panel{grid-area:btn;margin:0!important;padding:0!important;align-self:center}
.msw-dfc-wrap .msw-dfc.msw-dfc .df-v52-right .vku2-registration-panel .vku2-btn{width:auto!important;white-space:nowrap;padding:11px 16px!important}
.msw-dfc-wrap .msw-dfc.msw-dfc .df-v52-right .msw-seatwrap{grid-area:bar}
}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .vku2-course-head{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact .vku2-course-head .vku2-price{position:static!important;margin:0!important;flex:none!important;align-self:flex-start!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .vku2-course-head{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-detailed .vku2-course-head .vku2-price{position:static!important;margin:0!important;flex:none!important;align-self:flex-start!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-simple .vku2-title p,.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-simple #df-preview-description{display:none!important}
/* Aufbau «Kompakt»: kurze Liste, eine Zeile pro Kurs */
.msw-row{display:none}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact.msw-lay-compact{margin:0!important;box-shadow:none!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-lay-compact.msw-lay-compact .df-v52-main{display:none!important}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row{display:flex!important;align-items:center;gap:12px;width:100%;margin:0;padding:12px 14px;border:0;background:transparent;font:inherit;color:var(--df-body,#243750);text-align:left;cursor:pointer;box-sizing:border-box}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row:hover:not([disabled]){background:rgba(255,255,255,.55)}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row:focus-visible{outline:2px solid var(--df-button-bg,#1677e8);outline-offset:-2px}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row[disabled]{cursor:default;opacity:.7}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-status{width:12px;height:12px;border-radius:50%;flex:none;background:#2fa36b;box-shadow:0 0 0 4px rgba(47,163,107,.15)}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-warn{background:#e3a008;box-shadow:0 0 0 4px rgba(227,160,8,.15)}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-full{background:#d64545;box-shadow:0 0 0 4px rgba(214,69,69,.15)}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-main{flex:1;min-width:0;display:grid;gap:2px}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-main strong{font-size:15px;line-height:1.25;color:var(--df-heading,#102642)}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-dates,.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-loc{font-size:13px;line-height:1.3;color:var(--df-muted,#718096);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-loc{color:var(--df-accent,#1677e8)}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-side{display:grid;justify-items:end;gap:2px;flex:none;text-align:right}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-side b{font-size:14px;color:var(--df-heading,#102642);white-space:nowrap}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-side small{font-size:11px;color:var(--df-muted,#718096);white-space:nowrap}
.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-arrow{font-size:26px;line-height:1;color:var(--df-button-bg,#1677e8);flex:none}
@media(max-width:480px){.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row{gap:10px;padding:11px 10px}.msw-dfc-wrap .msw-dfc.msw-lay-compact .msw-row-side small{display:none}}
.msw-dfc-wrap:has(> .msw-lay-compact){gap:8px!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-compact .df-v52-main{display:none!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-compact .msw-row{display:flex!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-compact.msw-decor::before{background-size:460px;background-position:140px -40px;opacity:calc(var(--msw-decor-op,.9) * .55)}

/* 2.6.2: Handy – Plätze und Standort links, Button rechts daneben (stärker als ältere Regeln) */
@media(max-width:600px){
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-right{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"seats btn" "loc btn" "bar bar"!important;align-items:center!important;justify-items:start!important;gap:6px 12px!important;text-align:left!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-right .vku2-seats{grid-area:seats!important;justify-self:start!important;margin:0!important;text-align:left!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-right .vku2-location-link{grid-area:loc!important;justify-self:start!important;margin:0!important;min-width:0;text-align:left!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-right .vku2-registration-panel{grid-area:btn!important;justify-self:end!important;margin:0!important;padding:0!important;align-self:center!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-right .vku2-registration-panel .vku2-btn{width:auto!important;white-space:nowrap;padding:11px 16px!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-right .msw-seatwrap{grid-area:bar;justify-self:stretch}
}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card.msw-lay-detailed .df-v52-right{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"seats btn" "loc btn" "bar bar"!important;align-items:center!important;justify-items:start!important;gap:6px 12px!important;text-align:left!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card.msw-lay-detailed .df-v52-right .vku2-seats{grid-area:seats!important;justify-self:start!important;margin:0!important;text-align:left!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card.msw-lay-detailed .df-v52-right .vku2-location-link{grid-area:loc!important;justify-self:start!important;margin:0!important;min-width:0;text-align:left!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card.msw-lay-detailed .df-v52-right .vku2-registration-panel{grid-area:btn!important;justify-self:end!important;margin:0!important;padding:0!important;align-self:center!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card.msw-lay-detailed .df-v52-right .vku2-registration-panel .vku2-btn{width:auto!important;white-space:nowrap;padding:11px 16px!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card.msw-lay-detailed .df-v52-right .msw-seatwrap{grid-area:bar;justify-self:stretch}
/* Deko über die ganze Karte: Terminbereich halbtransparent */
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card.msw-decor .vku2-course-info,.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card.msw-decor .vku2-dates{background:color-mix(in srgb,var(--df-date,#f0f7ff) 45%,transparent)!important;background-color:color-mix(in srgb,var(--df-date,#f0f7ff) 45%,transparent)!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card.msw-decor.msw-lay-detailed .vku2-dates li,.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card.msw-decor.msw-lay-compact .vku2-dates li{background:color-mix(in srgb,var(--df-date,#f0f7ff) 70%,transparent)!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card{text-align:left!important}
/* 2.7.1: Kurskarte aus einem Guss – keine Übergänge zwischen Kopf, Terminen und Anmeldung */
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-course-info,.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-dates,.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-preview-dates{background:transparent!important;background-color:transparent!important;box-shadow:none!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-main>*,.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-course-info,.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .df-v52-right,.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card .vku2-course-head{border-left:0!important;border-right:0!important;border-top:0!important;border-bottom:0!important;box-shadow:none!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card:not(.msw-lay-detailed):not(.msw-lay-compact) .vku2-dates li:first-child{border-top:0!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card:not(.msw-lay-detailed):not(.msw-lay-compact) .vku2-dates li:last-child{border-bottom:0!important}
.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-dfc.df-v52-card:not(.msw-lay-detailed):not(.msw-lay-compact) .vku2-dates li{background:transparent!important}
/* CZV / WAB: Thema pro Tag, Plätze pro Tag, Tagesauswahl im Anmeldefenster */
.msw-day-topic{display:block;font-size:.9em;font-weight:600;color:var(--df-accent,#1677e8);margin-top:2px}
.msw-day-free{display:inline-block;margin-top:3px;font-size:.8em;font-weight:700;color:#15805c;background:#e4f5e9;border-radius:99px;padding:1px 8px}.msw-day-free.full{color:#b53b3b;background:#fff0f0}
.msw-perday{font-size:.55em;font-weight:700;opacity:.8}
.msw-days{border:0;margin:0 0 14px;padding:0;display:grid;gap:8px}.msw-days legend{font-weight:700;margin-bottom:8px;color:var(--df-heading,#102642)}
.msw-day{display:flex;align-items:center;gap:12px;border:1px solid var(--df-border,#dbe7f2);border-radius:12px;padding:10px 12px;cursor:pointer;background:#fff}
.msw-day input{width:20px;height:20px;flex:none;accent-color:var(--df-button-bg,#1677e8)}.msw-day span{flex:1;min-width:0}.msw-day strong{display:block;font-size:14px}.msw-day small{display:block;font-size:12.5px;opacity:.8}
.msw-day em{font-style:normal;font-size:12px;font-weight:700;color:#15805c;white-space:nowrap}.msw-day.off{opacity:.55;cursor:not-allowed}.msw-day.off em{color:#b53b3b}
.msw-day:has(input:checked){border-color:var(--df-button-bg,#1677e8);box-shadow:0 0 0 2px color-mix(in srgb,var(--df-button-bg,#1677e8) 25%,transparent)}
/* «Weitere Kurse anzeigen» */
.msw-dfc-wrap article[data-msw-more][hidden],.msw-dfc-wrap.msw-dfc-wrap article.msw-dfc.msw-dfc.msw-dfc[data-msw-more][hidden]{display:none!important}
.msw-more-wrap{display:flex;justify-content:center;margin:6px 0 10px}
.msw-more{font:inherit;font-weight:700;font-size:15px;color:var(--msw-more,#1677e8);background:#fff;border:2px solid var(--msw-more,#1677e8);border-radius:999px;padding:11px 26px;cursor:pointer;transition:background .15s,color .15s}
.msw-more:hover{background:var(--msw-more,#1677e8);color:#fff}.msw-more span{font-weight:600;opacity:.75}

.msw-dfc-paynote{background:#f3f8ff;border:1px solid #d6e6fb;border-radius:10px;padding:8px 10px;margin:8px 0}

/* 2.22.2: Ausgeblendete Elemente und Aufbau «Schlicht» immer wie in der Vorschau (stärker als die Kartenregeln oben). */
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc .df-element-hidden.df-element-hidden,.msw-dfc.msw-dfc.msw-dfc.msw-dfc .df-element-hidden.df-element-hidden{display:none!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-simple .df-preview-badge.df-preview-badge,.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-simple .df-preview-description.df-preview-description,.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-simple .vku2-title p,.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-simple #df-preview-description{display:none!important}
.msw-decor.msw-decor::before{z-index:-1!important}

/* 2.22.7: Anmeldefenster und Kurskarte aufgeräumt */
.msw-dfm .msw-dfm-box .msw-dfm-x.msw-dfm-x{position:absolute!important;top:12px!important;right:12px!important;left:auto!important;width:40px!important;height:40px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:1px solid rgba(16,30,66,.15)!important;border-radius:50%!important;background:#fff!important;color:#101e42!important;box-shadow:0 2px 8px rgba(16,30,66,.18)!important;display:grid!important;place-items:center!important;cursor:pointer!important;z-index:20!important;line-height:1!important;font-size:0!important;opacity:1!important;visibility:visible!important;transform:none!important}
.msw-dfm .msw-dfm-box .msw-dfm-x.msw-dfm-x svg{width:18px!important;height:18px!important;display:block!important}
.msw-dfm .msw-dfm-box .msw-dfm-x.msw-dfm-x:hover,.msw-dfm .msw-dfm-box .msw-dfm-x.msw-dfm-x:focus-visible{background:#f1f5fb!important;outline:2px solid var(--df-button-bg,#1677e8)!important;outline-offset:2px!important}
.msw-dfm .msw-dfm-box .msw-dfm-back.msw-dfm-back{display:inline-block!important;width:auto!important;min-height:0!important;margin:14px 0 0!important;padding:4px 0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--df-muted,#60718d)!important;font-size:14px!important;font-weight:600!important;text-decoration:underline!important;text-underline-offset:3px!important;cursor:pointer!important;text-align:left!important}
.msw-dfm .msw-dfm-box .msw-dfm-back.msw-dfm-back:hover{color:var(--df-heading,#102642)!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc .vku2-course-info .msw-loc-top.msw-loc-top{display:flex!important;align-items:flex-start!important;gap:6px!important;margin:0 0 10px!important;padding:0!important;font-weight:600!important;text-decoration:none!important}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc .df-preview-title.df-preview-title{word-break:normal!important;overflow-wrap:break-word!important;-webkit-hyphens:auto!important;hyphens:auto!important}
/* Schmale Ansicht (Handy): Kennzeichnung links und Preis rechts oben, Titel darunter über die ganze Breite */
@container (max-width: 560px){
.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc:not(.msw-lay-compact) .df-preview-head.df-preview-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;column-gap:10px!important;row-gap:8px!important}
.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc:not(.msw-lay-compact) .df-preview-head .vku2-title.vku2-title{display:contents!important}
.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc:not(.msw-lay-compact) .df-preview-head .df-preview-badge.df-preview-badge{grid-column:1!important;grid-row:1!important;justify-self:start!important;align-self:center!important;margin:0!important}
.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc:not(.msw-lay-compact) .df-preview-head .df-preview-price.df-preview-price{grid-column:2!important;grid-row:1!important;justify-self:end!important;position:static!important;margin:0!important;white-space:nowrap!important}
.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc:not(.msw-lay-compact) .df-preview-head .df-preview-title.df-preview-title{grid-column:1/-1!important;grid-row:2!important;margin:0!important}
.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc:not(.msw-lay-compact) .df-preview-head .df-preview-description.df-preview-description{grid-column:1/-1!important;grid-row:3!important;margin:0!important}
}
.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc .df-preview-price.df-preview-price{max-width:100%!important;box-sizing:border-box!important;overflow-wrap:anywhere;white-space:normal!important}
.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-detailed .vku2-dates.vku2-dates li{padding-left:12px!important;padding-right:12px!important}
@media (max-width:640px){.msw-dfm .msw-dfm-box .msw-dfm-x.msw-dfm-x{position:fixed!important;top:12px!important;right:12px!important}}
/* Ausführlich: Kacheln wachsen mit der Schriftgrösse, Datum bricht um statt abgeschnitten zu werden */
.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-detailed .vku2-dates.vku2-dates li,.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-detailed .vku2-daycopy strong,.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-detailed .vku2-daycopy .vku2-time{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;min-width:0!important}
@container (max-width: 420px){.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-detailed .vku2-dates.vku2-dates{grid-template-columns:1fr!important}}
.msw-dfc-wrap.msw-dfc-wrap .msw-dfc.msw-dfc.msw-dfc.msw-dfc.msw-lay-detailed .vku2-dates.vku2-dates .vku2-daycopy{display:grid!important;gap:4px!important;justify-items:start!important}
/* Standort-Symbol (Kartennadel) statt Emoji */
.msw-dfc-wrap svg.msw-pin,.msw-dfm svg.msw-pin{display:inline-block!important;width:1.1em!important;height:1.1em!important;flex:0 0 auto!important;vertical-align:-.18em!important;fill:currentColor!important;margin:0!important}
.msw-dfc-wrap .msw-dfc .vku2-course-info .msw-loc-top svg.msw-pin{margin-top:.08em!important}
