/* Guettler Webinare – Frontend
   Design: Salbeigruen #73865b, Montserrat, ruhig/natuerlich, viel Weissraum, weiche Rundungen.
   Alle Klassen mit Praefix gw- (keine Theme-Konflikte). */

.gw {
	--gw-primary: #73865b;
	--gw-primary-dark: #73865b;
	--gw-bg: #f6f8f5;
	--gw-bg-alt: #eef2ec;
	--gw-text: #2b332b;
	--gw-muted: #6a756a;
	--gw-border: #dde4da;
	--gw-radius: 16px;
	--gw-shadow: 0 6px 22px rgba(38, 70, 38, 0.08);
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
	color: var(--gw-text);
	line-height: 1.6;
}

.gw * { box-sizing: border-box; }

.gw-container { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.gw-narrow { max-width: 560px; }
.gw-section { padding: 56px 0; }
.gw-section--alt { background: var(--gw-bg-alt); }
.gw-muted { color: var(--gw-muted); }

/* Typografie */
.gw-h1 { font-size: 2.1rem; line-height: 1.2; margin: 0 0 12px; font-weight: 700; }
.gw-h2 { font-size: 1.6rem; margin: 0 0 14px; font-weight: 700; }
.gw-h3 { font-size: 1.2rem; margin: 0 0 10px; font-weight: 700; }

/* Hero */
.gw-hero {
	background: var(--gw-bg-alt);
	padding: 84px 20px;
	text-align: center;
}
.gw-hero__inner { max-width: 760px; margin: 0 auto; }
.gw-hero__eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .85rem; color: var(--gw-primary); font-weight: 600; margin: 0 0 10px; }
.gw-hero__title { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 700; margin: 0 0 26px; }
.gw-hero__cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* Hero mit Hintergrundfoto: heller Text für guten Kontrast */
.gw-hero--image { color: #fff; }
.gw-hero--image .gw-hero__eyebrow { color: #eef2ec; }
.gw-hero--image .gw-hero__title { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.gw-hero--image .gw-btn--ghost { background: rgba(255,255,255,.92); border-color: #fff; }

/* Buttons */
.gw-btn {
	display: inline-block; padding: 13px 26px; border-radius: 12px;
	font-weight: 600; text-decoration: none; cursor: pointer; border: 2px solid transparent;
	transition: transform .08s ease, background .15s ease; font-size: 1rem; line-height: 1.2;
}
.gw-btn:hover { transform: translateY(-1px); }
.gw-btn--primary { background: var(--gw-primary); color: #fff; }
.gw-btn--primary:hover { background: var(--gw-primary-dark); color: #fff; }
.gw-btn--ghost { background: #fff; color: var(--gw-primary); border-color: var(--gw-primary); }
.gw-btn--block { display: block; width: 100%; text-align: center; }

/* Intro + Features */
.gw-intro__text { font-size: 1.15rem; max-width: 760px; margin: 0 auto 8px; text-align: center; }
.gw-features { list-style: none; padding: 0; margin: 32px auto 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; max-width: 900px; }
.gw-feature { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 16px 18px; box-shadow: var(--gw-shadow); }
.gw-feature__icon { font-size: 1.5rem; }

/* Grid + Cards */
.gw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; margin-top: 28px; }
.gw-card { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); overflow: hidden; box-shadow: var(--gw-shadow); display: flex; flex-direction: column; }
.gw-card__media { aspect-ratio: 16/9; background: #d9e2d6; }
.gw-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gw-card__media--placeholder { background: #d9e2d6; }
.gw-card__body { padding: 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.gw-card__reihe { text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; color: var(--gw-primary); font-weight: 600; margin: 0; }
.gw-card__title { font-size: 1.25rem; font-weight: 700; margin: 0; }
.gw-card__sub { color: var(--gw-muted); margin: 0; }
.gw-card__desc { font-size: .95rem; margin: 4px 0; }
.gw-card__price { font-weight: 700; font-size: 1.1rem; margin: 6px 0 12px; }
.gw-card .gw-btn { margin-top: auto; }

/* Detailseite */
.gw-detail { display: grid; grid-template-columns: 1fr 320px; gap: 36px; align-items: start; }
.gw-detail__sub { font-size: 1.2rem; color: var(--gw-muted); margin: 0 0 16px; }
.gw-rating { color: #caa54b; margin-bottom: 18px; }
.gw-checklist { list-style: none; padding: 0; }
.gw-checklist li { padding: 8px 0 8px 28px; position: relative; }
.gw-checklist li::before { content: "\2713"; color: var(--gw-primary); position: absolute; left: 0; font-weight: 700; }
.gw-quote { border-left: 4px solid var(--gw-primary); margin: 0; padding: 8px 0 8px 18px; color: var(--gw-muted); font-style: italic; }
.gw-pricebox { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 22px; box-shadow: var(--gw-shadow); position: sticky; top: 20px; }
.gw-pricebox__title { margin: 0 0 14px; }
.gw-pricebox__option { display: block; margin-bottom: 12px; }
.gw-pricebox__plus { font-size: .8rem; opacity: .85; }
.gw-pricebox__note { font-size: .85rem; color: var(--gw-muted); margin: 12px 0 0; }

/* Forms */
.gw-form { display: flex; flex-direction: column; gap: 14px; margin: 18px 0; }
.gw-card-form { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 24px; box-shadow: var(--gw-shadow); }
.gw-label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: .95rem; }
.gw-input { padding: 12px 14px; border: 1px solid var(--gw-border); border-radius: 10px; font-size: 1rem; font-family: inherit; width: 100%; }
.gw-input:focus { outline: 2px solid var(--gw-primary); border-color: var(--gw-primary); }
.gw-check, .gw-radio { display: flex; align-items: center; gap: 8px; font-weight: 500; font-size: .95rem; }
.gw-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gw-fieldset { border: 1px solid var(--gw-border); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.gw-fieldset legend { font-weight: 700; padding: 0 6px; }
.gw-form--inline { flex-direction: row; flex-wrap: wrap; align-items: center; }
.gw-divider { text-align: center; position: relative; margin: 22px 0; color: var(--gw-muted); }
.gw-divider span { background: var(--gw-bg-alt); padding: 0 12px; position: relative; z-index: 1; }
.gw-divider::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--gw-border); }
.gw-details { background: #fff; border: 1px solid var(--gw-border); border-radius: 12px; padding: 12px 16px; margin: 16px 0; }
.gw-details summary { cursor: pointer; font-weight: 600; }

/* Notices */
.gw-notice { background: #fff; border: 1px solid var(--gw-border); border-left: 4px solid var(--gw-primary); border-radius: 10px; padding: 14px 16px; margin: 16px 0; }
.gw-notice--error { border-left-color: #b3261e; }
.gw-notice--ok { border-left-color: var(--gw-primary); }
.gw-notice--locked { border-left-color: #b88a00; }

/* Mein Bereich */
.gw-dashhead { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.gw-dashgrid { display: grid; grid-template-columns: 280px 1fr; gap: 28px; align-items: start; }
.gw-roomlist { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.gw-roomlist__item a { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; background: #fff; border: 1px solid var(--gw-border); border-radius: 10px; text-decoration: none; color: var(--gw-text); }
.gw-roomlist__item.is-active a { border-color: var(--gw-primary); background: var(--gw-bg-alt); }
.gw-roomlist__title { font-weight: 600; }
.gw-roomlist__rest { font-size: .82rem; color: var(--gw-muted); }
.gw-material { padding-left: 18px; }

/* Inhalts-/Video-Schutz: keine Auswahl, kein Bild-Ziehen im geschuetzten Bereich */
.gw-protect, .gw-protect *, [data-gw-protected], [data-gw-protected] * {
	-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
	-webkit-user-drag: none; -webkit-touch-callout: none;
}
.gw-protect img, [data-gw-protected] img { -webkit-user-drag: none; pointer-events: none; }

/* Player + Schutz */
.gw-player__frame { position: relative; aspect-ratio: 16/9; border-radius: var(--gw-radius); overflow: hidden; background: #000; box-shadow: var(--gw-shadow); }
.gw-player__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.gw-player__shield { position: absolute; top: 0; right: 0; width: 64px; height: 56px; } /* deckt nichts Bedienbares ab, erschwert direkten Frame-Kontext */
.gw-player__hint { font-size: .82rem; color: var(--gw-muted); margin-top: 8px; }
.gw-chapters { list-style: none; padding: 0; }
.gw-chapters li { padding: 6px 0; border-bottom: 1px solid var(--gw-border); }
.gw-chapters__time { color: var(--gw-primary); font-weight: 600; margin-right: 8px; }

/* Community */
.gw-posts { display: flex; flex-direction: column; gap: 18px; margin-top: 20px; }
.gw-post { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 20px; box-shadow: var(--gw-shadow); }
.gw-post__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.gw-post__title { margin: 0; }
.gw-post__replies { margin: 12px 0; padding-left: 14px; border-left: 2px solid var(--gw-border); display: flex; flex-direction: column; gap: 8px; }
.gw-form--reply { flex-direction: row; }

/* About + Stats */
.gw-about { text-align: center; }
.gw-about__text { max-width: 720px; margin: 0 auto 20px; }
.gw-stats { list-style: none; padding: 0; display: flex; gap: 28px; justify-content: center; flex-wrap: wrap; }
.gw-stats li { display: flex; flex-direction: column; }
.gw-stats strong { font-size: 1.8rem; color: var(--gw-primary); }

/* Summary (Checkout) */
.gw-summary { background: var(--gw-bg-alt); border-radius: var(--gw-radius); padding: 18px 20px; margin: 16px 0; }
.gw-summary__price { font-weight: 700; font-size: 1.2rem; margin: 8px 0 0; }

/* Cookie-Banner */
.gw-cookie { position: fixed; left: 16px; right: 16px; bottom: 16px; max-width: 720px; margin: 0 auto; background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); box-shadow: 0 10px 40px rgba(0,0,0,.18); padding: 16px 20px; display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; z-index: 9999; font-family: 'Montserrat', Arial, sans-serif; }
.gw-cookie__text { margin: 0; font-size: .9rem; flex: 1 1 320px; }
.gw-cookie__actions { display: flex; gap: 10px; }

/* ============================================================
   Vollbreite auf Plugin-Seiten: Theme-Sidebar (rechts: Bild + Impressum)
   ausblenden und Inhaltsbereich auf volle Breite ziehen. Theme-Kopf/-Fuß
   bleiben erhalten. Deckt gängige Theme-Strukturen ab.
   ============================================================ */
/* Theme der Rosen-Methode-Seite: #main > #content + #sidebar */
body.gw-fullpage #sidebar,
body.gw-fullpage #secondary,
body.gw-fullpage .sidebar,
body.gw-fullpage .widget-area,
body.gw-fullpage aside.widget-area,
body.gw-fullpage .site-sidebar,
body.gw-fullpage .post-thumbnail,
body.gw-fullpage .wp-post-image,
body.gw-fullpage .entry-thumbnail,
body.gw-fullpage .featured-image,
body.gw-fullpage .single-featured-image-header { display: none !important; }

body.gw-fullpage #content,
body.gw-fullpage #primary,
body.gw-fullpage .content-area,
body.gw-fullpage #content .content-area,
body.gw-fullpage .site-content,
body.gw-fullpage .site-main,
body.gw-fullpage .entry-content {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Frontend-Dashboard (Studio) */
.gw-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); overflow: hidden; }
.gw-table th, .gw-table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--gw-border); vertical-align: middle; }
.gw-table th { background: var(--gw-bg-alt); font-size: .85rem; }
.gw-table tr:last-child td { border-bottom: 0; }
.gw-fechart { display: flex; align-items: flex-end; gap: 16px; height: 190px; background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 18px; max-width: 620px; }
.gw-fechart__col { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1; justify-content: flex-end; height: 100%; }
.gw-fechart__bar { width: 64%; background: var(--gw-primary); border-radius: 6px 6px 0 0; min-height: 3px; }
.gw-credit { text-align: center; color: var(--gw-muted); font-size: .8rem; margin-top: 18px; }

/* ============================================================
   Kunden-Dashboard mit Seitenleiste (.gw-db)
   ============================================================ */
.gw-db { background: var(--gw-bg); }
.gw-db__layout { display: grid; grid-template-columns: 250px 1fr; gap: 28px; align-items: start; }
.gw-db__side { position: sticky; top: 20px; background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); box-shadow: var(--gw-shadow); padding: 20px; }
.gw-db__user { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; margin-bottom: 12px; border-bottom: 1px solid var(--gw-border); }
.gw-db__avatar { width: 46px; height: 46px; border-radius: 50%; background: var(--gw-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex: 0 0 46px; }
.gw-db__name { display: block; font-size: .98rem; color: var(--gw-text); }
.gw-db__lic { display: block; font-size: .8rem; color: var(--gw-muted); }
.gw-db__nav { display: flex; flex-direction: column; gap: 2px; }
.gw-db__nav a { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border-radius: 10px; color: var(--gw-text); text-decoration: none; font-weight: 600; font-size: .95rem; transition: background .12s; }
.gw-db__nav a:hover { background: var(--gw-bg-alt); color: var(--gw-primary); }
.gw-db__nav a .gw-ico { color: var(--gw-primary); }

/* Horizontale Navigation (Veranstalter-Bereich): Leiste oben, Inhalt volle Breite */
.gw-db--top .gw-db__layout { display: block; }
.gw-db--top .gw-db__side { position: sticky; top: 8px; z-index: 20; display: flex; align-items: center; gap: 18px; padding: 12px 18px; margin-bottom: 26px; flex-wrap: wrap; box-shadow: 0 6px 20px rgba(43, 51, 43, .08); }
.gw-db--top .gw-db__user { padding: 0 18px 0 0; margin: 0; border-bottom: 0; border-right: 1px solid var(--gw-border); }
.gw-db--top .gw-db__nav { flex-direction: row; flex-wrap: wrap; gap: 4px; flex: 1 1 auto; }
.gw-db--top .gw-db__nav .gw-db__logout { margin-left: auto; }
.gw-db--top .gw-db__main { width: 100%; }
@media (max-width: 640px) {
	.gw-db--top .gw-db__user { border-right: 0; border-bottom: 1px solid var(--gw-border); padding: 0 0 10px; width: 100%; }
	.gw-db--top .gw-db__nav .gw-db__logout { margin-left: 0; }
}

/* Nativer WYSIWYG-Editor (Beschreibungsfelder) */
.gw-rte { border: 1px solid var(--gw-border); border-radius: 12px; overflow: hidden; background: #fff; }
.gw-rte__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; padding: 7px 8px; background: var(--gw-bg-alt); border-bottom: 1px solid var(--gw-border); }
.gw-rte__btn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 32px; padding: 0; border: 1px solid transparent; background: transparent; border-radius: 8px; cursor: pointer; color: var(--gw-text); transition: background .12s, border-color .12s, color .12s; }
.gw-rte__btn:hover { background: #fff; border-color: var(--gw-border); color: var(--gw-primary); }
.gw-rte__btn:active { background: var(--gw-primary); color: #fff; }
.gw-rte__btn svg { display: block; }
.gw-rte__sep { width: 1px; align-self: stretch; margin: 2px 4px; background: var(--gw-border); }
.gw-rte__area { min-height: 190px; padding: 16px 18px; outline: none; font-size: 1rem; line-height: 1.65; color: var(--gw-text); }
.gw-rte__area:focus { box-shadow: inset 0 0 0 2px rgba(115, 134, 91, .25); }
.gw-rte__area:empty::before { content: attr(data-placeholder); color: var(--gw-muted); }
.gw-rte__area p { margin: 0 0 .7em; }
.gw-rte__area h2 { margin: .5em 0 .35em; font-size: 1.35rem; line-height: 1.3; }
.gw-rte__area h3 { margin: .45em 0 .35em; font-size: 1.15rem; line-height: 1.3; }
.gw-rte__area ul, .gw-rte__area ol { margin: 0 0 .7em 1.4em; }
.gw-rte__area blockquote { margin: 0 0 .7em; padding: 6px 14px; border-left: 3px solid var(--gw-primary); background: var(--gw-bg-alt); color: var(--gw-text); border-radius: 0 8px 8px 0; }
.gw-rte__area a { color: var(--gw-primary); text-decoration: underline; }

/* Veranstalterin-Zeile im Webinar-Kopf */
.gw-rhead__host { margin: 8px 0 0; color: var(--gw-muted); font-size: .95rem; }

/* Einheitliche Farbe für Checkboxen, Radios und Auswahl – kein Browser-Blau */
.gw input[type="checkbox"],
.gw input[type="radio"],
.gw select,
.gw progress { accent-color: var(--gw-primary); }
.gw ::selection { background: #d8e2d0; color: var(--gw-text); }

/* Frühbucherpreis */
.gw-preis-alt { text-decoration: line-through; color: var(--gw-muted); font-weight: 400; margin-right: 6px; }
.gw-fruehbucher { margin: 4px 0 0; font-size: .86rem; font-weight: 600; color: var(--gw-primary); }
.gw-fbbanner { display: inline-flex; align-items: center; gap: 9px; margin: 14px 0 0; padding: 9px 16px; border-radius: 999px; background: var(--gw-bg-alt); border: 1px solid var(--gw-primary); color: var(--gw-text); font-size: .94rem; font-weight: 600; }
.gw-fbbanner svg { flex: none; color: var(--gw-primary); }

/* Lese-Ansicht eines Webinars (Veranstalter:innen ohne Bearbeitungsrecht) */
.gw-vread__img { display: block; width: 100%; max-width: 380px; height: auto; border-radius: 12px; margin: 0 0 16px; }
.gw-vread__sub { margin: 0 0 16px; font-size: 1.1rem; color: var(--gw-muted); }
.gw-vread__list { display: grid; grid-template-columns: max-content 1fr; gap: 8px 22px; margin: 0 0 22px; }
.gw-vread__list dt { font-weight: 600; color: var(--gw-muted); }
.gw-vread__list dd { margin: 0; }
.gw-vread__text { line-height: 1.65; }
.gw-vread__text h2, .gw-vread__text h3 { margin: .6em 0 .35em; }
.gw-vread__text p { margin: 0 0 .7em; }
.gw-vread__hint { display: flex; align-items: center; gap: 7px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--gw-border); }
@media (max-width: 560px) { .gw-vread__list { grid-template-columns: 1fr; gap: 2px 0; } .gw-vread__list dd { margin-bottom: 10px; } }

/* Bildwähler (Upload + Vorschau) */
.gw-imgfield { border: 1px solid var(--gw-border); border-radius: 12px; background: #fff; padding: 12px; display: flex; flex-direction: column; gap: 12px; }
.gw-imgfield__preview { display: flex; align-items: center; justify-content: center; min-height: 130px; border-radius: 10px; border: 1px dashed var(--gw-border); background: var(--gw-bg-alt); color: var(--gw-muted); overflow: hidden; }
.gw-imgfield__preview.has-img { border-style: solid; background: #fff; }
.gw-imgfield__preview img { display: block; max-width: 100%; max-height: 240px; object-fit: contain; }
.gw-imgfield__actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.gw-imgfield__status { font-size: .88rem; color: var(--gw-muted); }
.gw-imgfield__status.is-error { color: #b3261e; }
.gw-imgfield__url { font-size: .82rem !important; color: var(--gw-muted); padding: 8px 10px !important; background: var(--gw-bg-alt); }
.gw-imgfield__url::placeholder { color: var(--gw-muted); }
.gw-imgfield__url--hidden { display: none !important; }

/* Avatar-Variante des Bildwählers (rund, kompakt) */
.gw-imgfield--avatar { flex-direction: row; align-items: center; gap: 16px; }
.gw-imgfield--avatar .gw-imgfield__preview { width: 92px; height: 92px; min-height: 0; border-radius: 50%; flex: 0 0 92px; }
.gw-imgfield--avatar .gw-imgfield__preview img { width: 100%; height: 100%; object-fit: cover; }
.gw-imgfield--avatar .gw-imgfield__actions { flex-direction: column; align-items: flex-start; gap: 7px; }

/* Avatar im Seitenleisten-Kreis als Foto */
.gw-db__avatar--img { background: none; overflow: hidden; padding: 0; }
.gw-db__avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }

/* Profil: Avatar-Block + Anschrift-Fieldset */
.gw-profilavatar { display: flex; flex-direction: column; gap: 8px; margin-bottom: 6px; }
.gw-profilavatar__label { font-weight: 600; font-size: .95rem; color: var(--gw-text); }
.gw-fieldset { border: 1px solid var(--gw-border); border-radius: 12px; padding: 14px 16px 4px; margin: 4px 0 6px; }
.gw-legend { padding: 0 8px; font-weight: 700; font-size: .92rem; color: var(--gw-primary); }
.gw-help { display: block; margin-top: 6px; font-size: .86rem; line-height: 1.4; color: var(--gw-muted); font-weight: 400; }
.gw-row2--plz { grid-template-columns: 120px 1fr; }
@media (max-width: 560px) { .gw-row2--plz { grid-template-columns: 1fr; } }

/* Auszahlungs-Hinweis unter dem Preis */
.gw-payout-hint { display: flex; align-items: center; gap: 9px; margin: -6px 0 14px; padding: 11px 14px; border-radius: 10px; background: var(--gw-bg-alt); border: 1px solid var(--gw-border); border-left: 4px solid var(--gw-primary); color: var(--gw-text); font-size: .92rem; line-height: 1.45; }
.gw-payout-hint .gw-ico { color: var(--gw-primary); flex: 0 0 auto; }
.gw-payout-hint__val { color: var(--gw-primary); }

/* Toolbar über der Webinar-Liste (Titel + Ansicht-Umschalter + Neues Webinar) */
.gw-wtools { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.gw-wtools__right { display: flex; align-items: center; gap: 10px; }

/* Ansicht-Umschalter (Kachel / Liste) */
.gw-viewswitch { display: inline-flex; background: var(--gw-bg-alt); border: 1px solid var(--gw-border); border-radius: 10px; padding: 3px; gap: 2px; }
.gw-viewbtn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 32px; border: 0; background: transparent; border-radius: 8px; color: var(--gw-muted); cursor: pointer; transition: background .12s, color .12s; }
.gw-viewbtn:hover { color: var(--gw-primary); }
.gw-viewbtn.is-active { background: #fff; color: var(--gw-primary); box-shadow: 0 1px 3px rgba(43, 51, 43, .12); }
.gw-viewbtn svg { display: block; }
.gw-btn--new { display: inline-flex; align-items: center; gap: 7px; }
.gw-btn--new svg { display: block; }

/* Webinar-Liste: eine Markup-Struktur, zwei Layouts (Grid / Liste) */
.gw-wgrid--grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
.gw-wgrid--list { display: flex; flex-direction: column; gap: 10px; }
.gw-wcard { background: #fff; border: 1px solid var(--gw-border); border-radius: 14px; box-shadow: var(--gw-shadow); overflow: hidden; display: flex; flex-direction: column; }
.gw-wcard__media { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--gw-bg-alt); overflow: hidden; }
.gw-wcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gw-wcard__pill { position: absolute; top: 10px; left: 10px; }
.gw-wcard__body { padding: 12px 14px 4px; flex: 1; }
.gw-wcard__title { margin: 0 0 4px; font-size: 1.05rem; }
.gw-wcard__meta { margin: 0; color: var(--gw-muted); font-size: .9rem; }
.gw-wcard__actions { display: flex; align-items: center; gap: 8px; padding: 12px 14px; }
.gw-wcard__actions form { display: inline; margin: 0; }
.gw-wgrid--list .gw-wcard { flex-direction: row; align-items: center; }
.gw-wgrid--list .gw-wcard__media { width: 104px; height: 68px; aspect-ratio: auto; flex: 0 0 104px; }
.gw-wgrid--list .gw-wcard__pill { display: none; }
.gw-wgrid--list .gw-wcard__body { padding: 10px 14px; }
.gw-wgrid--list .gw-wcard__actions { padding: 10px 14px; margin-left: auto; }
@media (max-width: 520px) {
	.gw-wgrid--list .gw-wcard { flex-wrap: wrap; }
	.gw-wgrid--list .gw-wcard__actions { margin-left: 0; width: 100%; }
}

/* Leere Liste */
.gw-wempty { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 40px 20px; border: 1px dashed var(--gw-border); border-radius: 14px; color: var(--gw-muted); background: var(--gw-bg-alt); }
.gw-wempty .gw-ico { color: var(--gw-primary); }

/* Einklappbares „Neues Webinar" */
.gw-collapse[hidden] { display: none; }
.gw-collapse { animation: gw-fadein .18s ease; }

/* Unter-Tabs in der Webinar-Bearbeitung (Details / Termine) */
.gw-vsub { display: flex; gap: 4px; border-bottom: 2px solid var(--gw-border); margin: 6px 0 24px; }
.gw-vsubtab { display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; border: 0; background: transparent; color: var(--gw-muted); font-weight: 700; font-size: 1rem; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; border-radius: 8px 8px 0 0; transition: color .12s, border-color .12s, background .12s; }
.gw-vsubtab:hover { color: var(--gw-primary); background: var(--gw-bg-alt); }
.gw-vsubtab.is-active { color: var(--gw-primary); border-bottom-color: var(--gw-primary); }
.gw-vsubtab svg { display: block; }
.gw-vsubpanel { display: none; animation: gw-fadein .18s ease; }
.gw-vsubpanel.is-active { display: block; }

/* Webinar-Typ-Auswahl (Live / Aufzeichnung) als Auswahlkarten */
.gw-typchooser { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.gw-typopt { cursor: pointer; display: block; }
.gw-typopt input { position: absolute; opacity: 0; pointer-events: none; }
.gw-typopt__box { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 2px solid var(--gw-border); border-radius: 12px; background: #fff; transition: border-color .12s, background .12s, box-shadow .12s; height: 100%; }
.gw-typopt__ico { color: var(--gw-primary); flex: 0 0 auto; }
.gw-typopt__txt { display: flex; flex-direction: column; gap: 2px; }
.gw-typopt__txt strong { font-size: 1rem; }
.gw-typopt__txt .gw-help { margin-top: 0; }
.gw-typopt input:checked + .gw-typopt__box { border-color: var(--gw-primary); background: var(--gw-bg-alt); box-shadow: 0 0 0 3px rgba(115, 134, 91, .15); }
.gw-typopt input:focus-visible + .gw-typopt__box { box-shadow: 0 0 0 3px rgba(115, 134, 91, .35); }
.gw-termhint { display: flex; align-items: center; gap: 8px; }
@media (max-width: 560px) { .gw-typchooser { grid-template-columns: 1fr; } }
.gw-db__logout { margin-top: 6px; border-top: 1px solid var(--gw-border); padding-top: 14px !important; color: var(--gw-muted) !important; }

.gw-db__welcome { margin-bottom: 18px; }
.gw-db__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; margin-bottom: 14px; }
.gw-db__stat { background: #fff; border: 1px solid var(--gw-border); border-left: 4px solid var(--gw-primary); border-radius: var(--gw-radius); padding: 18px 20px; box-shadow: var(--gw-shadow-sm, 0 2px 10px rgba(31,50,35,.05)); }
.gw-db__statnum { display: block; font-size: 1.9rem; font-weight: 800; color: var(--gw-text); line-height: 1; }
.gw-db__statlbl { display: block; color: var(--gw-muted); font-size: .85rem; margin-top: 6px; }

/* Live-Termine */
.gw-livelist { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; }
.gw-liveitem { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 16px 20px; box-shadow: var(--gw-shadow); flex-wrap: wrap; }
.gw-liveitem.is-expired { opacity: .6; }
.gw-liveitem__date { display: inline-flex; align-items: center; gap: 7px; color: var(--gw-primary); font-weight: 600; font-size: .9rem; }
.gw-liveitem__title { display: block; margin-top: 4px; color: var(--gw-text); font-size: 1.05rem; }

/* Profil */
.gw-db__profil { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 8px 22px; box-shadow: var(--gw-shadow); margin-top: 12px; }
.gw-db__profil dl { display: grid; grid-template-columns: 200px 1fr; margin: 0; }
.gw-db__profil dt { padding: 14px 0; color: var(--gw-muted); font-weight: 600; border-bottom: 1px solid var(--gw-border); }
.gw-db__profil dd { padding: 14px 0; margin: 0; color: var(--gw-text); border-bottom: 1px solid var(--gw-border); }

@media (max-width: 820px) {
	.gw-db__layout { grid-template-columns: 1fr; }
	.gw-db__side { position: static; }
	.gw-db__nav { flex-direction: row; flex-wrap: wrap; }
	.gw-db__profil dl { grid-template-columns: 1fr; }
	.gw-db__profil dt { border-bottom: 0; padding-bottom: 0; }
}

/* ============================================================
   Mein Bereich (Kunden-Dashboard) – robust gegen Theme-Einflüsse
   ============================================================ */
.gw-mb, .gw-db { background: var(--gw-bg); }
.gw-mbcard__reihe { text-transform: uppercase; letter-spacing: .06em; font-size: .7rem; color: var(--gw-primary); font-weight: 600; margin: 0; }
.gw-mb .gw-section { padding: 40px 0; }
.gw-mb__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; padding-bottom: 22px; margin-bottom: 28px; border-bottom: 1px solid var(--gw-border); }
.gw-mb__eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 600; color: var(--gw-primary); margin: 0 0 6px; }
.gw-mb__title { font-size: 2.1rem; font-weight: 800; margin: 0 0 8px; color: var(--gw-text) !important; line-height: 1.15; }
.gw-mb__sub { color: var(--gw-muted); margin: 0; font-size: .95rem; }
.gw-mb__h2 { font-size: 1.4rem; font-weight: 700; margin: 0 0 4px; color: var(--gw-text) !important; }
.gw-mb__back { margin: 0 0 20px; }
.gw-mb__back a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px 9px 13px; border: 1px solid var(--gw-border); border-radius: 999px; background: #fff; color: var(--gw-primary); text-decoration: none; font-weight: 700; font-size: 1rem; box-shadow: 0 1px 3px rgba(43, 51, 43, .07); transition: background .12s, border-color .12s, transform .12s; }
.gw-mb__back a:hover { background: var(--gw-primary); border-color: var(--gw-primary); color: #fff; transform: translateX(-2px); }
.gw-mb__back a .gw-ico { transition: transform .12s; }
.gw-mb__back a:hover .gw-ico { transform: translateX(-2px); }
.gw-mb__empty { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 28px; text-align: center; box-shadow: var(--gw-shadow); }

/* Karten-Grid */
.gw-mb__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 22px; margin-top: 22px; }
.gw-mbcard { display: flex; background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); overflow: hidden; box-shadow: var(--gw-shadow); }
.gw-mbcard__media { flex: 0 0 110px; background: #d9e2d6; display: flex; align-items: center; justify-content: center; color: var(--gw-primary); }
.gw-mbcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gw-mbcard.is-expired .gw-mbcard__media { background: #e6e6e6; color: #9aa39a; filter: grayscale(1); }
.gw-mbcard__body { flex: 1; padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.gw-mbcard__title { font-size: 1.15rem; font-weight: 700; margin: 0; color: var(--gw-text) !important; }
.gw-mbcard__meta { font-size: .85rem; color: var(--gw-muted); margin: 0; display: flex; justify-content: space-between; }
.gw-mbcard .gw-btn { margin-top: auto; }

/* Status-Pille */
.gw-pill { align-self: flex-start; display: inline-block; padding: 4px 12px; border-radius: 999px; font-size: .76rem; font-weight: 600; }
.gw-pill--on { background: #73865b; color: #fff; }
.gw-pill--off { background: #efe3d8; color: #8a6a4a; }

/* Fortschrittsbalken */
.gw-prog { height: 8px; border-radius: 999px; background: #eceee9; overflow: hidden; }
.gw-prog span { display: block; height: 100%; border-radius: 999px; background: var(--gw-primary); }

/* Detail / Player */
.gw-mb__detail { display: grid; grid-template-columns: 1.6fr 1fr; gap: 26px; align-items: start; margin-top: 8px; }
.gw-mb__webtitle { font-size: 1.5rem; font-weight: 800; margin: 0 0 4px; color: var(--gw-text) !important; }
.gw-mb__rest { color: var(--gw-muted); margin: 8px 0 14px; font-weight: 600; }
.gw-mb__side { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 20px 22px; box-shadow: var(--gw-shadow); }

@media (max-width: 860px) {
	.gw-mb__detail { grid-template-columns: 1fr; }
}

/* Responsive */
@media (max-width: 860px) {
	.gw-detail { grid-template-columns: 1fr; }
	.gw-dashgrid { grid-template-columns: 1fr; }
	.gw-pricebox { position: static; }
}
@media (max-width: 520px) {
	.gw-row2 { grid-template-columns: 1fr; }
	.gw-section { padding: 40px 0; }
}

/* ===================================================================
   Reihen-Detail: Termin-Kacheln + Buchungsbox (Frontend)
   =================================================================== */
.gw-detail--reihe { display: grid; grid-template-columns: 1fr 330px; gap: 36px; align-items: start; }
.gw-detail__hero { border-radius: var(--gw-radius); overflow: hidden; margin: 0 0 22px; box-shadow: var(--gw-shadow); }
.gw-detail__hero img { width: 100%; height: auto; display: block; }

/* Karten-Link im Katalog */
.gw-card__link { text-decoration: none; color: inherit; display: block; }
.gw-card__link:hover .gw-card__title { color: var(--gw-primary); }
.gw-card__foot { padding: 0 18px 18px; margin-top: auto; }
.gw-card__termine { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; color: var(--gw-muted); margin: 6px 0 0; }
.gw-card__termine svg { vertical-align: middle; }

/* Termin-Kacheln auf der Reihen-Detailseite */
.gw-termine { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; margin: 14px 0 26px; }
.gw-termin { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); overflow: hidden; box-shadow: var(--gw-shadow); display: flex; flex-direction: column; }
.gw-termin__media { position: relative; aspect-ratio: 4 / 3; background: var(--gw-bg-alt); overflow: hidden; }
.gw-termin__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gw-termin__icon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--gw-primary); opacity: .5; }
.gw-termin__num { position: absolute; top: 10px; left: 10px; width: 28px; height: 28px; border-radius: 50%; background: var(--gw-primary); color: #fff; font-weight: 700; font-size: .85rem; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,.2); }
.gw-termin__body { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.gw-termin__date { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--gw-primary); font-weight: 600; margin: 0; }
.gw-termin__title { font-size: 1.05rem; margin: 0; }
.gw-termin__sub { color: var(--gw-muted); font-size: .9rem; margin: 0; }
.gw-termin__desc { font-size: .9rem; color: var(--gw-text); }
.gw-termin__desc p { margin: 6px 0 0; }

/* Buchungsbox */
.gw-pricebox__big { font-size: 2.2rem; font-weight: 800; color: var(--gw-primary); margin: 4px 0 0; letter-spacing: -.02em; }
.gw-pricebox__hint { color: var(--gw-muted); margin: 0 0 14px; font-size: .9rem; }
.gw-btn--lg { padding: 15px 20px; font-size: 1.05rem; }
.gw-pricebox__list { list-style: none; padding: 0; margin: 16px 0 0; display: flex; flex-direction: column; gap: 8px; }
.gw-pricebox__list li { display: flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--gw-text); }
.gw-pricebox__list svg { color: var(--gw-primary); flex: none; }
.gw-summary__access { background: var(--gw-bg-alt); border-radius: 10px; padding: 10px 14px; font-size: .9rem; color: var(--gw-text); margin: 4px 0 0; }

/* Dashboard: Termin-Bloecke nach Kauf */
.gw-mb__detailhead { margin-bottom: 18px; }
.gw-mb__sessions { display: flex; flex-direction: column; gap: 26px; }
.gw-mbsession { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 18px; box-shadow: var(--gw-shadow); }
.gw-mbsession__head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 14px; }
.gw-mbsession__num { flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--gw-primary); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.gw-mbsession__date { display: inline-flex; align-items: center; gap: 6px; color: var(--gw-primary); font-weight: 600; font-size: .85rem; margin: 0 0 2px; }
.gw-mbsession__title { margin: 0; font-size: 1.15rem; }
.gw-mbsession__desc { margin-top: 12px; color: var(--gw-text); font-size: .92rem; }

@media (max-width: 860px) {
	.gw-detail--reihe { grid-template-columns: 1fr; }
	.gw-pricebox { position: static; }
}

/* Lesbarer, heller Hintergrund fuer alle Plugin-Inhalte (verhindert, dass der
   gruene Theme-Hintergrund durchscheint und Text schwer lesbar macht). */
.gw { background: #ffffff; }
.gw .gw-muted { color: #5c665c; }

/* ===================================================================
   Webinare-Katalog: Filterleiste, Kategorie-Chips, Spalten, Badges
   =================================================================== */
.gw-grid--2 { grid-template-columns: repeat(2, 1fr); }
.gw-grid--3 { grid-template-columns: repeat(3, 1fr); }
.gw-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) { .gw-grid--4 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px)  { .gw-grid--3, .gw-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .gw-grid--2, .gw-grid--3, .gw-grid--4 { grid-template-columns: 1fr; } }

.gw-filter { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; justify-content: space-between; margin: 22px 0 6px; }
.gw-filter__group { display: inline-flex; background: var(--gw-bg-alt); border: 1px solid var(--gw-border); border-radius: 999px; padding: 4px; gap: 2px; }
.gw-fbtn { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; color: var(--gw-text); font: 600 .9rem/1 inherit; padding: 9px 16px; border-radius: 999px; cursor: pointer; transition: background .15s, color .15s; }
.gw-fbtn svg { vertical-align: middle; }
.gw-fbtn:hover { color: var(--gw-primary); }
.gw-fbtn.is-active { background: var(--gw-primary); color: #fff; box-shadow: 0 2px 8px rgba(70,124,69,.25); }
.gw-fbtn.is-active svg { color: #fff; }

.gw-filter__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gw-chip { border: 1px solid var(--gw-border); background: #fff; color: var(--gw-text); font: 600 .82rem/1 inherit; padding: 8px 14px; border-radius: 999px; cursor: pointer; transition: all .15s; }
.gw-chip:hover { border-color: var(--gw-primary); color: var(--gw-primary); }
.gw-chip.is-active { background: var(--gw-primary); border-color: var(--gw-primary); color: #fff; }

.gw-card__media { position: relative; }
.gw-card__badge { position: absolute; top: 12px; left: 12px; font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; color: #fff; background: rgba(43,51,43,.55); backdrop-filter: blur(2px); }
.gw-card__badge--kommend { background: var(--gw-primary); }
.gw-card__badge--vergangen { background: #8a7d5a; }

.gw-filter__empty { text-align: center; color: var(--gw-muted); padding: 40px 0; font-size: 1.02rem; }

/* ===================================================================
   Saubere Typografie + einheitliches, modernes Landingpage-Design
   =================================================================== */
/* Theme-Blocksatz im Plugin abschalten -> linksbuendig, professionell. */
.gw, .gw p, .gw li, .gw h1, .gw h2, .gw h3, .gw h4,
.gw .gw-card__reihe, .gw .gw-card__title, .gw .gw-card__sub,
.gw .gw-card__desc, .gw .gw-termin__desc, .gw-mbsession__desc {
	text-align: left !important;
	hyphens: manual;
	word-spacing: normal;
}

/* Doppelten Theme-Seitentitel auf den Plugin-Seiten ausblenden,
   damit das Plugin-Design einheitlich wirkt. */
body.gw-fullpage .entry-title,
body.gw-fullpage .page-title,
body.gw-fullpage .entry-header,
body.gw-fullpage .page-header { display: none !important; }

/* Moderner Kopfbereich (Hero) des Webinare-Katalogs */
.gw-cathero {
	background: var(--gw-primary);
	color: #fff;
	border-radius: 22px;
	padding: 40px 38px;
	margin: 8px 0 26px;
	box-shadow: 0 12px 34px rgba(53, 94, 52, .22);
}
.gw-cathero__eyebrow {
	text-transform: uppercase; letter-spacing: .16em; font-size: .8rem;
	font-weight: 700; margin: 0 0 10px; color: rgba(255,255,255,.85) !important;
}
.gw-cathero__title {
	font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.12; margin: 0 0 12px;
	color: #fff !important; letter-spacing: -.02em; font-weight: 800;
}
.gw-cathero__lead {
	font-size: 1.05rem; line-height: 1.6; margin: 0; max-width: 60ch;
	color: rgba(255,255,255,.92) !important;
}
@media (max-width: 600px) { .gw-cathero { padding: 28px 22px; } }

/* ===================================================================
   Reihen-Detail: zentrierter Kauf-Bereich unter den Terminen
   =================================================================== */
.gw-detail__back { margin: 0 0 10px; }
.gw-detail__back a { color: var(--gw-primary); text-decoration: none; font-weight: 600; }
.gw-detail__desc--wide { max-width: 80ch; }

.gw-buyband {
	max-width: 640px;
	margin: 36px auto 8px;
	background: #fff;
	border: 1px solid var(--gw-border);
	border-radius: 22px;
	box-shadow: 0 14px 36px rgba(53,94,52,.12);
	padding: 34px 30px;
	text-align: center;
}
.gw-buyband__title { margin: 0 0 6px; font-size: 1.5rem; text-align: center !important; }
.gw-buyband__price { font-size: 2.2rem; font-weight: 800; color: var(--gw-primary); letter-spacing: -.02em; margin: 0 0 18px; }
.gw-buyband__price span { display: block; font-size: .95rem; font-weight: 600; color: var(--gw-muted); letter-spacing: 0; margin-top: 4px; }
.gw-buyband__list { list-style: none; padding: 0; margin: 0 auto 22px; display: inline-flex; flex-direction: column; gap: 9px; text-align: left; }
.gw-buyband__list li { display: flex; align-items: center; gap: 9px; font-size: .95rem; color: var(--gw-text); }
.gw-buyband__list svg { color: var(--gw-primary); flex: none; }
.gw-buyband__btn { display: inline-block; min-width: 280px; padding: 16px 28px; font-size: 1.1rem; }
.gw-buyband__note { display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--gw-muted); font-size: .85rem; margin: 16px 0 0; }

/* Wenige Kacheln: zentriert und in halber Breite statt links klebend */
.gw-grid.gw-grid--center { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.gw-grid--center .gw-card { width: 100%; flex: 0 1 480px; }
.gw-grid--center.is-1 .gw-card { max-width: 520px; }
.gw-grid--center.is-2 .gw-card { flex: 0 1 420px; }
@media (max-width: 600px) { .gw-grid--center .gw-card { flex-basis: 100%; } }

/* Reihen-Detail: Hero-Bild kleiner + Termine zentriert nebeneinander */
.gw-detail__hero { max-width: 660px; margin: 0 auto 24px; }
.gw-detail__hero img { width: 100%; max-height: 360px; object-fit: cover; }
.gw-termine { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.gw-termine .gw-termin { flex: 0 1 300px; }
@media (max-width: 600px) { .gw-termine .gw-termin { flex-basis: 100%; } }

/* ===================================================================
   Anzahl-basierte Verteilung: Karten fuellen IMMER den ganzen Bereich
   1 = halbe Breite zentriert · 2 = 50/50 · 3 = Drittel · ab 4 = Raster
   =================================================================== */
.gw-termine--1, .gw-termine--2, .gw-termine--3 { display: grid; gap: 20px; align-items: start; }
.gw-termine--1 { grid-template-columns: minmax(0, 520px); justify-content: center; }
.gw-termine--2 { grid-template-columns: repeat(2, 1fr); }
.gw-termine--3 { grid-template-columns: repeat(3, 1fr); }
.gw-termine--1 .gw-termin, .gw-termine--2 .gw-termin, .gw-termine--3 .gw-termin { flex: initial; width: auto; }
@media (max-width: 780px) { .gw-termine--2, .gw-termine--3 { grid-template-columns: 1fr; } }

.gw-grid.is-1 { display: flex; justify-content: center; }
.gw-grid.is-1 .gw-card { flex: 0 1 520px; width: 100%; }
.gw-grid.is-2 { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; }
.gw-grid.is-3 { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; }
.gw-grid.is-2 .gw-card, .gw-grid.is-3 .gw-card { width: auto; flex: initial; }
@media (max-width: 780px) { .gw-grid.is-2, .gw-grid.is-3 { grid-template-columns: 1fr !important; } }

/* ===================================================================
   Reihen-Detail: dezenter Zurueck-Link + moderner Kopfbereich
   =================================================================== */
.gw-rback {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: .85rem; font-weight: 600; color: var(--gw-muted);
	text-decoration: none; margin: 0 0 18px; transition: color .15s;
}
.gw-rback:hover { color: var(--gw-primary); }
.gw-rback svg { opacity: .8; }

.gw-rhead { position: relative; padding: 0 0 18px; margin: 0 0 26px; border-bottom: 1px solid var(--gw-border); }
.gw-rhead::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 64px; height: 3px; border-radius: 3px; background: var(--gw-primary); }
.gw-rhead__eyebrow {
	text-transform: uppercase; letter-spacing: .14em; font-size: .78rem;
	font-weight: 700; color: var(--gw-primary); margin: 0 0 10px;
}
.gw-rhead__title {
	font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.14; letter-spacing: -.02em;
	font-weight: 800; color: var(--gw-text); margin: 0 0 10px;
}
.gw-rhead__sub { font-size: 1.12rem; line-height: 1.5; color: var(--gw-muted); margin: 0; max-width: 70ch; }

/* Reihen-Beschreibung: Block mittig (gleicher Rand links/rechts), Text bleibt linksbündig */
.gw-detail__desc--wide { max-width: 760px; margin-left: auto; margin-right: auto; }

/* Termin-Kacheln: gleiche Höhe + Bilder vollständig sichtbar (nicht beschnitten) */
.gw-termine--1, .gw-termine--2, .gw-termine--3 { align-items: stretch; }
.gw-termine .gw-termin { height: 100%; }
.gw-termin__media { aspect-ratio: auto; height: 240px; background: #ecefe8; }
.gw-termin__media img { width: 100%; height: 100%; object-fit: contain; }

/* Kauf-Bereich wieder zentrieren (überschreibt die globale Linksbündig-Regel) */
.gw .gw-buyband,
.gw .gw-buyband__title,
.gw .gw-buyband__price,
.gw .gw-buyband__note { text-align: center !important; }
.gw .gw-buyband__list { list-style: none !important; padding: 0 !important; margin: 0 auto 22px !important; }
.gw .gw-buyband__list li { text-align: left !important; }
.gw .gw-buyband__list li::before,
.gw .gw-buyband__list li::marker { content: none !important; }

/* Dashboard "Meine Webinare": Kacheln wie auf der Landingpage (Bild oben) */
.gw-mbcard { flex-direction: column; }
.gw-mbcard__media { flex: none; width: 100%; height: 190px; }
.gw-mbcard__media img { width: 100%; height: 100%; object-fit: cover; }

/* Dashboard "Live-Termine" als Kacheln */
.gw-livegrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; margin-top: 16px; }
.gw-livecard { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); box-shadow: var(--gw-shadow); padding: 18px 20px; display: flex; flex-direction: column; gap: 8px; }
.gw-livecard__date { display: inline-flex; align-items: center; gap: 7px; color: var(--gw-primary); font-weight: 600; font-size: .88rem; }
.gw-livecard__title { font-size: 1.08rem; margin: 0; color: var(--gw-text) !important; }
.gw-livecard__reihe { font-size: .8rem; color: var(--gw-muted); margin: 0; }
.gw-livecard .gw-btn { margin-top: 8px; }

/* Kunden-Dashboard: Bereiche als umschaltbare Tabs (nur aktiver sichtbar) */
.gw-dbpanel { display: none; }
.gw-dbpanel.is-active { display: block; animation: gw-fadein .18s ease; }
@keyframes gw-fadein { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.gw-db__nav a.is-active { background: var(--gw-bg-alt); color: var(--gw-primary); font-weight: 700; }

/* Dashboard: anklickbare Kennzahlen-Kacheln */
a.gw-db__stat { display: block; text-decoration: none; color: inherit; cursor: pointer; position: relative; transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease; }
a.gw-db__stat::after { content: "\203A"; position: absolute; top: 14px; right: 16px; color: var(--gw-primary); font-size: 1.2rem; line-height: 1; opacity: 0; transform: translateX(-4px); transition: opacity .14s ease, transform .14s ease; }
a.gw-db__stat:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(38,70,38,.16); border-left-width: 6px; background: #fbfcfa; }
a.gw-db__stat:hover::after { opacity: 1; transform: translateX(0); }
a.gw-db__stat:focus-visible { outline: 2px solid var(--gw-primary); outline-offset: 2px; }

/* Profil: Formular + Meta */
.gw-profilform { margin-bottom: 22px; }
.gw-profilmeta { display: grid; grid-template-columns: max-content 1fr; gap: 8px 20px; margin: 0; }
.gw-profilmeta dt { font-weight: 700; color: var(--gw-text); }
.gw-profilmeta dd { margin: 0; color: var(--gw-muted); }
.gw-profil__pw { margin: 18px 0 0; }
.gw-profil__pw a { color: var(--gw-primary); font-weight: 600; text-decoration: none; }

/* Community: Hinweis „keine Werbung" */
.gw-community__rule { display: inline-flex; align-items: center; gap: 8px; background: #fff4e0; border: 1px solid #f0d9a8; color: #7a5a12; border-radius: 12px; padding: 10px 16px; font-size: .9rem; font-weight: 600; margin: 4px 0 18px; }
.gw-community__rule svg { flex: none; }

/* Login/Registrierung: Google-Button + Links */
.gw-social { margin: 4px 0 6px; }
.gw-btn--google { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: #fff; color: #3c4043; border: 1px solid #dadce0; font-weight: 600; }
.gw-btn--google:hover { background: #f7f8f7; color: #3c4043; box-shadow: 0 1px 3px rgba(60,64,67,.15); }
.gw-btn--google svg { flex: none; }
.gw-authlink { margin: 18px 0 0; color: var(--gw-muted); }
.gw-authlink a { color: var(--gw-primary); font-weight: 600; text-decoration: none; }

/* Gebrandetes Modal (Abmelden-Bestätigung u. a.) */
body.gw-modal-open { overflow: hidden; }
.gw-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.gw-modal[hidden] { display: none; }
.gw-modal__backdrop { position: absolute; inset: 0; background: rgba(43,51,43,.55); backdrop-filter: blur(2px); }
.gw-modal__box { position: relative; background: #fff; border-radius: 18px; border-top: 5px solid var(--gw-primary); max-width: 400px; width: 100%; padding: 30px 28px 26px; text-align: center; box-shadow: 0 24px 60px rgba(0,0,0,.32); animation: gw-pop .18s ease; }
@keyframes gw-pop { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: none; } }
.gw-modal__icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--gw-bg-alt); color: var(--gw-primary); margin-bottom: 12px; }
.gw-modal__title { margin: 0 0 6px; font-size: 1.3rem; color: var(--gw-text) !important; }
.gw-modal__text { margin: 0 0 20px; color: var(--gw-muted); }
.gw-modal__actions { display: flex; gap: 12px; justify-content: center; }
.gw-modal__actions .gw-btn { min-width: 130px; }

/* Kachel-Markierung sicher erzwingen (überschreibt Theme-/Link-Resets) */
.gw .gw-db__stat,
.gw a.gw-db__stat {
	border: 1px solid var(--gw-border) !important;
	border-left: 6px solid #73865b !important;
	background: #fff !important;
	box-shadow: 0 3px 12px rgba(31,50,35,.06) !important;
}
.gw a.gw-db__stat:hover {
	border-left-color: #5f7049 !important;
	background: #fbfcfa !important;
	box-shadow: 0 12px 26px rgba(38,70,38,.16) !important;
}
.gw .gw-db__statnum { color: #2b332b; }

/* „Veranstalter werden": Vorteile + Schritte */
.gw .gw-host__center { text-align: center !important; }
.gw-hostbenefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 26px 0 34px; }
.gw-hostbenefit { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 22px 20px; box-shadow: var(--gw-shadow); }
.gw-hostbenefit__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; background: var(--gw-bg-alt); color: var(--gw-primary); margin-bottom: 12px; }
.gw-hostbenefit h3 { margin: 0 0 6px; font-size: 1.1rem; }
.gw-hostbenefit p { margin: 0; color: var(--gw-muted); font-size: .92rem; }

/* Einzeilige Vorteile (Icon links, Text daneben) – für Registrierungsseiten */
.gw-hostbenefit--line { display: flex; align-items: center; gap: 14px; padding: 16px 18px; }
.gw-hostbenefit--line .gw-hostbenefit__icon { width: 40px; height: 40px; margin: 0; flex: 0 0 auto; border-radius: 12px; }
.gw-hostbenefit--line p { color: var(--gw-text); font-size: 1rem; font-weight: 500; line-height: 1.35; }

.gw-steps { list-style: none; padding: 0; margin: 8px 0 34px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: gw-step; }
.gw-steps li { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); padding: 22px 20px 20px; box-shadow: var(--gw-shadow); display: flex; flex-direction: column; gap: 6px; }
.gw-steps__num { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--gw-primary); color: #fff; font-weight: 800; margin-bottom: 6px; }
.gw-steps li strong { font-size: 1.05rem; }
.gw-host__form { padding-top: 6px; }
@media (max-width: 720px) { .gw-steps { grid-template-columns: 1fr; } }

/* Veranstalter-Bereich: Tabellen + kleine Buttons */
.gw-vtable { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); overflow: hidden; margin: 8px 0 6px; }
.gw-vtable th, .gw-vtable td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--gw-border); vertical-align: middle; font-size: .95rem; }
.gw-vtable thead th { background: var(--gw-bg-alt); font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: var(--gw-muted); }
.gw-vtable tbody tr:last-child td { border-bottom: 0; }
.gw-vtable__act { white-space: nowrap; text-align: right; }
.gw-vtable__act form { margin-left: 6px; }
.gw-btn--sm { padding: 7px 14px; font-size: .85rem; border-radius: 9px; }
.gw-btn--danger { background: #fff; color: #b3261e; border: 2px solid #e7c3c0; }
.gw-btn--danger:hover { background: #fbeeee; color: #b3261e; }
.gw-vform .gw-input, .gw-vform textarea { background: #fff; }

/* Datums-Zeile im Termin-Formular */
.gw-datumzeile { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.gw-datumzeile__um { color: var(--gw-muted); }
.gw-datumfeld { position: relative; }
.gw-datumfeld .gw-input { cursor: pointer; }
.gw-input--zeit { max-width: 140px; }
/* ---- Kalender (jQuery UI) im Plugin-Grün ---- */
.gw-datepicker-panel.ui-datepicker {
	display: none;
	width: 330px;
	padding: 14px;
	border: 1px solid #dfe6d9;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(31, 50, 35, .16);
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: .94rem;
	color: #1f2a23;
	z-index: 100100 !important;
	box-sizing: border-box;
}
.gw-datepicker-panel.ui-datepicker * { box-sizing: border-box; }

/* Kopfzeile: Pfeil links, Monat/Jahr mittig, Pfeil rechts */
.gw-datepicker-panel .ui-datepicker-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	position: static;
	background: none;
	border: 0;
	padding: 0 0 12px;
	margin: 0;
}
.gw-datepicker-panel .ui-datepicker-prev,
.gw-datepicker-panel .ui-datepicker-next {
	position: static !important;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 1px solid #e7ece4;
	background: #fff;
	border-radius: 9px;
	cursor: pointer;
	overflow: hidden;
	text-indent: 0;
	color: transparent;
}
.gw-datepicker-panel .ui-datepicker-prev { order: 1; }
.gw-datepicker-panel .ui-datepicker-title { order: 2; flex: 1; display: flex; justify-content: center; gap: 8px; margin: 0; line-height: 1; }
.gw-datepicker-panel .ui-datepicker-next { order: 3; }
.gw-datepicker-panel .ui-datepicker-prev:hover,
.gw-datepicker-panel .ui-datepicker-next:hover { background: #eef2ec; border-color: #73865b; }
.gw-datepicker-panel .ui-datepicker-prev span,
.gw-datepicker-panel .ui-datepicker-next span { display: none !important; }
.gw-datepicker-panel .ui-datepicker-prev::after,
.gw-datepicker-panel .ui-datepicker-next::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #5c6b4c;
	border-right: 2px solid #5c6b4c;
}
.gw-datepicker-panel .ui-datepicker-prev::after { transform: rotate(-135deg) translate(-2px, -2px); }
.gw-datepicker-panel .ui-datepicker-next::after { transform: rotate(45deg) translate(-2px, 2px); }
.gw-datepicker-panel .ui-datepicker-title select {
	padding: 7px 10px;
	border: 1px solid #e7ece4;
	border-radius: 9px;
	background: #fff;
	font-size: .92rem;
	font-weight: 600;
	color: #1f2a23;
	min-height: 0;
	max-width: 46%;
}

/* Tage-Raster */
.gw-datepicker-panel table.ui-datepicker-calendar {
	width: 100%;
	table-layout: fixed;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 2px;
}
.gw-datepicker-panel .ui-datepicker-calendar th {
	width: 14.28%;
	padding: 6px 0;
	text-align: center;
	font-size: .74rem;
	font-weight: 700;
	color: #8a948a;
	text-transform: uppercase;
	border: 0;
	background: none;
}
.gw-datepicker-panel .ui-datepicker-calendar td { width: 14.28%; padding: 0; border: 0; background: none; }
.gw-datepicker-panel .ui-datepicker-calendar td a,
.gw-datepicker-panel .ui-datepicker-calendar td span {
	display: block;
	padding: 9px 0;
	text-align: center;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: #1f2a23;
	text-decoration: none;
	font-size: .94rem;
}
.gw-datepicker-panel .ui-datepicker-calendar td a:hover { background: #eef2ec; color: #3f4a34; }
.gw-datepicker-panel .ui-datepicker-today a { background: #eef2ec; font-weight: 700; color: #3f4a34; }
.gw-datepicker-panel .ui-datepicker-calendar td a.ui-state-active,
.gw-datepicker-panel .ui-state-active { background: #73865b !important; color: #fff !important; font-weight: 700; }
.gw-datepicker-panel .ui-datepicker-other-month span,
.gw-datepicker-panel .ui-state-disabled span { color: #c3cbc3; }

/* Fußzeile */
.gw-datepicker-panel .ui-datepicker-buttonpane {
	display: flex;
	justify-content: flex-end;
	margin: 12px 0 0;
	padding: 12px 0 0;
	border-top: 1px solid #eef2ec;
	float: none;
}
.gw-datepicker-panel .ui-datepicker-buttonpane button {
	float: none !important;
	margin: 0 !important;
	border: 1px solid #dfe6d9;
	background: #fff;
	color: #3f4a34;
	border-radius: 9px;
	padding: 7px 16px;
	font-size: .88rem;
	font-weight: 600;
	cursor: pointer;
}
.gw-datepicker-panel .ui-datepicker-buttonpane button:hover { background: #eef2ec; border-color: #73865b; }
.gw-datepicker-panel .ui-datepicker-buttonpane .ui-datepicker-current { display: none !important; }


/* Dashboard-Menü oben festhalten (per JS, 2.54.0) */
.gw-db--top .gw-db__side { position: relative; top: auto; background: #fff; }
.gw-db--top .gw-db__side.is-fixiert { position: fixed; z-index: 9990; margin: 0; box-shadow: 0 10px 28px rgba(43, 51, 43, .14); }
.gw-db__platzhalter { height: 0; }

/* =====================================================================
   Dashboards ohne Übersicht (2.55.0)
   ===================================================================== */
/* Name oben = Profil bearbeiten */
.gw-db__user--link { text-decoration: none; color: inherit; border-radius: 12px; transition: background .12s; cursor: pointer; }
.gw-db__user--link:hover { background: var(--gw-bg-alt); }
.gw-db__user--link .gw-db__lic { display: inline-flex; align-items: center; gap: 5px; color: var(--gw-primary); font-weight: 600; }
.gw-db--top .gw-db__user--link { padding: 6px 18px 6px 6px; }
.gw-db__user--link.is-active { background: var(--gw-bg-alt); }

/* Hinweis „Nächster Live-Termin" */
.gw-naechster {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	margin: 0 0 22px; padding: 14px 18px; border-radius: 12px;
	background: var(--gw-bg-alt); border: 1px solid var(--gw-border);
	color: var(--gw-text); text-decoration: none; font-size: .95rem;
}
.gw-naechster .gw-ico { color: var(--gw-primary); flex: none; }
.gw-naechster:hover { border-color: var(--gw-primary); }
.gw-naechster__pfeil { margin-left: auto; color: var(--gw-primary); font-weight: 700; white-space: nowrap; }

/* Live-Termine als aufklappbare Liste */
.gw-terminliste { display: flex; flex-direction: column; gap: 12px; }
.gw-termin { background: #fff; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); box-shadow: var(--gw-shadow); overflow: hidden; }
.gw-termin[open] { border-color: var(--gw-primary); }
.gw-termin__kopf {
	display: grid; grid-template-columns: 72px 1fr auto 24px; align-items: center; gap: 18px;
	padding: 14px 18px; cursor: pointer; list-style: none;
}
.gw-termin__kopf::-webkit-details-marker { display: none; }
.gw-termin__kopf:hover { background: var(--gw-bg-alt); }
.gw-termin__bild, .gw-termin__datum { width: 72px; height: 72px; border-radius: 12px; overflow: hidden; flex: none; }
.gw-termin__bild img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gw-termin__datum { display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--gw-primary); color: #fff; line-height: 1; }
.gw-termin__datum strong { font-size: 1.7rem; }
.gw-termin__datum span { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; margin-top: 4px; }
.gw-termin__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.gw-termin__wann { display: inline-flex; align-items: center; gap: 6px; color: var(--gw-primary); font-weight: 700; font-size: .9rem; }
.gw-termin__titel { font-size: 1.1rem; font-weight: 700; color: var(--gw-text); }
.gw-termin__reihe { font-size: .88rem; color: var(--gw-muted); }
.gw-termin__pfeil { width: 12px; height: 12px; border-right: 2px solid var(--gw-primary); border-bottom: 2px solid var(--gw-primary); transform: rotate(45deg); transition: transform .15s; justify-self: center; }
.gw-termin[open] .gw-termin__pfeil { transform: rotate(-135deg); }
.gw-termin__inhalt { display: grid; grid-template-columns: minmax(0, 280px) 1fr; gap: 24px; padding: 6px 18px 20px; border-top: 1px solid var(--gw-border); padding-top: 18px; }
.gw-termin__inhalt:not(:has(.gw-termin__grossbild)) { grid-template-columns: 1fr; }
.gw-termin__grossbild { width: 100%; border-radius: 12px; object-fit: cover; aspect-ratio: 4 / 3; }
.gw-termin__fakten { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0 0 12px; }
.gw-termin__fakten dt { font-weight: 700; color: var(--gw-muted); font-size: .85rem; }
.gw-termin__fakten dd { margin: 0; }
.gw-termin__beschreibung { margin: 8px 0 14px; }
.gw-termin__beschreibung img { max-width: 100%; height: auto; border-radius: 10px; }

/* Zoom-Knopf mit Zeitsteuerung */
.gw-zoom { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 24px; border-radius: 10px; font-weight: 700; font-size: 1rem; text-decoration: none; }
.gw-zoom--an { background: var(--gw-primary); color: #fff; }
.gw-zoom--an:hover { filter: brightness(.95); color: #fff; }
.gw-zoom--aus { background: var(--gw-bg-alt); color: var(--gw-muted); border: 1px solid var(--gw-border); cursor: default; }
.gw-zoom--klein { padding: 8px 14px; font-size: .88rem; }
.gw-zoom__hinweis { display: block; margin-top: 8px; font-size: .85rem; color: var(--gw-muted); }
.gw-zoomstatus { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--gw-bg-alt); color: var(--gw-muted); font-size: .85rem; font-weight: 600; white-space: nowrap; }

@media (max-width: 640px) {
	.gw-termin__kopf { grid-template-columns: 56px 1fr 20px; gap: 12px; }
	.gw-termin__bild, .gw-termin__datum { width: 56px; height: 56px; }
	.gw-termin__status { grid-column: 2 / 3; }
	.gw-termin__inhalt { grid-template-columns: 1fr; }
	.gw-naechster__pfeil { margin-left: 0; }
}

/* =====================================================================
   Geschützter Video-Player mit eigenen Bedienelementen (2.56.0)
   ===================================================================== */
.gw-vp { margin: 0; }
.gw-vp__rahmen {
	position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000;
	border-radius: var(--gw-radius); overflow: hidden; box-shadow: var(--gw-shadow);
	outline: none; isolation: isolate;
}
.gw-vp__rahmen iframe {
	position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
	max-width: none !important; max-height: none !important; border: 0 !important; margin: 0 !important;
	pointer-events: none; /* alle Klicks gehen an die Deckfläche */
}
.gw-vp__deck { position: absolute; inset: 0; z-index: 2; cursor: pointer; background: transparent; }

/* Großer Start-Knopf in der Mitte */
.gw-vp__gross {
	position: absolute; left: 50%; top: 50%; z-index: 4; transform: translate(-50%, -50%);
	width: 84px; height: 84px; border-radius: 50%; border: 0; cursor: pointer;
	background: var(--gw-primary); color: #fff; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .35); transition: transform .15s, opacity .2s;
}
.gw-vp__gross svg { margin-left: 4px; }
.gw-vp__gross:hover { transform: translate(-50%, -50%) scale(1.06); }
.gw-vp.is-spielt .gw-vp__gross { opacity: 0; pointer-events: none; }

/* Bedienleiste */
.gw-vp__leiste {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 5;
	display: flex; align-items: center; gap: 10px; padding: 26px 16px 12px;
	background: linear-gradient(to top, rgba(20, 26, 18, .85), rgba(20, 26, 18, 0));
	color: #fff; transition: opacity .25s;
}
.gw-vp.is-spielt:not(.is-aktiv) .gw-vp__leiste { opacity: 0; }
.gw-vp.is-spielt:not(.is-aktiv) .gw-vp__deck { cursor: none; }
.gw-vp__knopf {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 8px; border: 0; border-radius: 10px;
	background: transparent; color: #fff; cursor: pointer; font: inherit; font-weight: 700; font-size: .9rem;
}
.gw-vp__knopf:hover, .gw-vp__knopf:focus-visible { background: rgba(255, 255, 255, .16); outline: none; }
.gw-vp__ic-pause, .gw-vp.is-spielt .gw-vp__ic-play { display: none; }
.gw-vp.is-spielt .gw-vp__ic-pause { display: block; }
.gw-vp__ic-stumm, .gw-vp.is-stumm .gw-vp__ic-ton { display: none; }
.gw-vp.is-stumm .gw-vp__ic-stumm { display: block; }
.gw-vp__zeit { flex: none; font-size: .85rem; font-variant-numeric: tabular-nums; min-width: 44px; text-align: center; }

.gw-vp__balken, .gw-vp__laut {
	-webkit-appearance: none; appearance: none; height: 6px; border-radius: 99px; cursor: pointer;
	background: linear-gradient(to right, #b9cf9f var(--gw-vp-fort, 0%), rgba(255, 255, 255, .28) var(--gw-vp-fort, 0%));
	margin: 0; padding: 0; border: 0;
}
.gw-vp__balken { flex: 1 1 auto; min-width: 60px; }
.gw-vp__laut { flex: none; width: 80px; background: rgba(255, 255, 255, .45); }
.gw-vp__balken::-webkit-slider-thumb, .gw-vp__laut::-webkit-slider-thumb {
	-webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 1px 4px rgba(0, 0, 0, .4);
}
.gw-vp__balken::-moz-range-thumb, .gw-vp__laut::-moz-range-thumb {
	width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 0;
}

/* Vollbild */
.gw-vp__rahmen:fullscreen { border-radius: 0; aspect-ratio: auto; width: 100vw; height: 100vh; }
.gw-vp__rahmen:-webkit-full-screen { border-radius: 0; width: 100vw; height: 100vh; }

/* Schmale Bildschirme: Lautstärkeregler ausblenden (Gerätetasten nutzen) */
@media (max-width: 600px) {
	.gw-vp__laut, .gw-vp__speed { display: none; }
	.gw-vp__leiste { gap: 4px; padding: 20px 8px 8px; }
	.gw-vp__gross { width: 64px; height: 64px; }
}

/* =====================================================================
   Meine Webinare: Intro aus der Beschreibung + Bild-Überlappung (2.57.5)
   ===================================================================== */
.gw-mbcard__media { position: relative; overflow: hidden; }
.gw-mbcard__body { position: relative; z-index: 1; background: #fff; }
.gw-mbcard__intro {
	margin: 0; font-size: .92rem; line-height: 1.5; color: var(--gw-muted);
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.gw-mb__intro {
	margin: 0 0 26px; padding: 20px 24px; border-radius: var(--gw-radius);
	background: var(--gw-bg-alt); border: 1px solid var(--gw-border);
	font-size: 1.02rem; line-height: 1.65; color: var(--gw-text);
}
.gw-mb__intro > :first-child { margin-top: 0; }
.gw-mb__intro > :last-child { margin-bottom: 0; }
.gw-mb__intro img { max-width: 100%; height: auto; border-radius: 10px; }

/* =====================================================================
   Meine Webinare: Kacheln / Liste (2.58.0)
   ===================================================================== */
.gw-db .gw-wtools { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 18px; }
.gw-mbcard__intro { max-height: calc(1.5em * 3); }
.gw-mbcard__body { gap: 12px; }

/* Kacheln: Bild einheitlich im Querformat */
.gw-mb__grid.gw-wgrid--grid .gw-mbcard { flex-direction: column; }
.gw-mb__grid.gw-wgrid--grid .gw-mbcard__media { flex: none; width: 100%; height: auto; aspect-ratio: 16 / 10; }
.gw-mb__grid.gw-wgrid--grid .gw-mbcard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Liste: eine Karte pro Zeile, Bild links groß und vollständig sichtbar */
.gw-mb__grid.gw-wgrid--list { display: flex !important; flex-direction: column; gap: 16px; grid-template-columns: none; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard { flex-direction: row; align-items: stretch; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard__media {
	flex: 0 0 clamp(220px, 34%, 380px); width: auto; height: auto; min-height: 0; aspect-ratio: 16 / 10; align-self: center;
	margin: 16px 0 16px 16px; border-radius: 12px;
}
.gw-mb__grid.gw-wgrid--list .gw-mbcard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard__body { padding: 18px 22px; justify-content: center; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard .gw-btn { margin-top: 6px; align-self: flex-start; width: auto; padding-left: 28px; padding-right: 28px; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard__intro { -webkit-line-clamp: 2; max-height: calc(1.5em * 2); }

@media (max-width: 700px) {
	.gw-mb__grid.gw-wgrid--list .gw-mbcard { flex-direction: column; }
	.gw-mb__grid.gw-wgrid--list .gw-mbcard__media { flex: none; width: auto; margin: 12px 12px 0; }
	.gw-mb__grid.gw-wgrid--list .gw-mbcard .gw-btn { align-self: stretch; }
}

/* =====================================================================
   Meine Webinare: Karten neu geordnet (2.58.1)
   Kopf (Reihe, Titel, Intro) oben, Fuß (Status + Knopf) unten.
   ===================================================================== */
.gw-mbcard[data-gw-karte] { cursor: pointer; transition: box-shadow .15s, border-color .15s, transform .15s; }
.gw-mbcard[data-gw-karte]:hover { border-color: var(--gw-primary); box-shadow: 0 10px 28px rgba(43, 51, 43, .12); }
.gw-mbcard__body { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; background: #fff; }
.gw-mbcard__kopf { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gw-db .gw-mbcard__kopf p, .gw-db .gw-mbcard__kopf h3 { margin: 0 !important; padding: 0 !important; position: static !important; text-align: left !important; transform: none !important; }
.gw-db .gw-mbcard__title { font-size: 1.2rem; line-height: 1.3; }
.gw-db .gw-mbcard__intro {
	font-size: .93rem; line-height: 1.55 !important; color: var(--gw-muted);
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; max-height: none !important;
	margin-top: 4px !important;
}
.gw-mbcard__fuss { display: flex; flex-direction: column; gap: 14px; }
.gw-mbcard__status { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.gw-mbcard__statuszeile { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.gw-mbcard__statuszeile .gw-mbcard__meta { display: inline; }
.gw-db .gw-mbcard .gw-prog { margin: 0; }
.gw-db .gw-mbcard__btn { margin: 0 !important; justify-content: center; }

/* Bild füllt den Rahmen immer ganz */
.gw-db .gw-mbcard__media img { width: 100% !important; height: 100% !important; max-height: none !important; object-fit: cover !important; }

/* Kacheln */
.gw-mb__grid.gw-wgrid--grid .gw-mbcard__body { padding: 20px 22px 22px; }
.gw-mb__grid.gw-wgrid--grid .gw-mbcard__btn { width: 100%; }

/* Liste (Standard): Bild links, Text Mitte, Status + Knopf rechts unten */
.gw-mb__grid.gw-wgrid--list .gw-mbcard { display: grid !important; grid-template-columns: clamp(220px, 32%, 360px) 1fr; align-items: stretch; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard__media { margin: 16px 0 16px 16px; aspect-ratio: 16 / 10; align-self: center; border-radius: 12px; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard__body { padding: 20px 24px; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard__intro { -webkit-line-clamp: 2; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard__fuss { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 24px; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard__status { flex: 1 1 auto; max-width: 460px; }
.gw-mb__grid.gw-wgrid--list .gw-mbcard__btn { flex: none; width: auto !important; align-self: flex-end; padding-left: 28px; padding-right: 28px; white-space: nowrap; }

@media (max-width: 760px) {
	.gw-mb__grid.gw-wgrid--list .gw-mbcard { grid-template-columns: 1fr; }
	.gw-mb__grid.gw-wgrid--list .gw-mbcard__media { margin: 12px 12px 0; }
	.gw-mb__grid.gw-wgrid--list .gw-mbcard__fuss { flex-direction: column; align-items: stretch; }
	.gw-mb__grid.gw-wgrid--list .gw-mbcard__status { max-width: none; }
	.gw-mb__grid.gw-wgrid--list .gw-mbcard__btn { width: 100% !important; }
}

/* Meine Webinare: gleicher Hover-Effekt wie die Live-Termine (2.58.2) –
   ruhige hellgrüne Fläche statt grünem Rand und Schatten. */
.gw-mbcard[data-gw-karte] { transition: background-color .15s; }
.gw-mbcard[data-gw-karte]:hover { border-color: var(--gw-border) !important; box-shadow: var(--gw-shadow) !important; transform: none !important; background: var(--gw-bg-alt); }
.gw-mbcard[data-gw-karte] .gw-mbcard__body { background: transparent !important; }
.gw-mbcard[data-gw-karte]:hover .gw-prog { background: #fff; }

/* Reihen-Seite: Bereiche „Kommende Live-Termine" und „Aufzeichnungen" (2.59.0) */
.gw-db .gw-mb__bereich { display: flex; align-items: center; gap: 8px; margin: 30px 0 14px !important; font-size: 1.15rem; color: var(--gw-text); }
.gw-db .gw-mb__bereich .gw-ico { color: var(--gw-primary); }
.gw-db .gw-mb__hinweis { margin: 0 0 18px; padding: 14px 18px; border-radius: 12px; background: var(--gw-bg-alt); color: var(--gw-muted); }

/* Beschreibung auf der Reihen-Seite als normaler Text (2.59.1) */
.gw-db .gw-mb__beschreibung { margin: 0 0 8px; font-size: 1rem; line-height: 1.7; color: var(--gw-text); max-width: 78ch; }
.gw-db .gw-mb__beschreibung > :first-child { margin-top: 0; }
.gw-db .gw-mb__beschreibung p { margin: 0 0 1em; }
.gw-db .gw-mb__beschreibung img { max-width: 100%; height: auto; border-radius: 10px; }
.gw-db .gw-mb__detailhead + .gw-mb__bereich { margin-top: 18px !important; }

/* Dozenten-Bereich: Gruppenüberschrift über den Videos einer Reihe (2.60.0) */
.gw-db .gw-vgruppe { margin: 24px 0 10px; font-size: 1.02rem; font-weight: 700; color: var(--gw-primary); }
.gw-db .gw-vgruppe:first-child { margin-top: 4px; }

/* =====================================================================
   EINHEITLICHE BILDRAHMEN (2.61.0) – überall gleich, egal welches Format.
   Querformat füllt den Rahmen. Hochformat/quadratisch wird vollständig
   gezeigt, die Ränder füllt eine weich verschwommene Kopie desselben
   Bildes (Klasse gw-bild--hoch wird per JS je nach Bildformat gesetzt).
   Originalbilder bleiben unverändert.
   ===================================================================== */
.gw-card__media,
.gw-wcard__media,
.gw-mbcard__media,
.gw-acard__media,
.gw-termin__media,
.gw-termin__bild,
.gw-termin__grossbild-rahmen,
.gw-detail__hero,
.gw-bild__prev {
	position: relative !important;
	overflow: hidden !important;
	aspect-ratio: 16 / 10 !important;
	height: auto !important;
	background-color: #2b332b;
	isolation: isolate;
}
.gw-card__media > img,
.gw-wcard__media img,
.gw-mbcard__media > img,
.gw-acard__media > img,
.gw-termin__media img,
.gw-termin__bild > img,
.gw-detail__hero > img,
.gw-termin__grossbild-rahmen > img,
.gw-bild__prev > img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center center !important;
	z-index: 1;
}
/* Hoch- oder Quadratformat: ganzes Motiv zeigen */
.gw-bild--hoch.gw-bild--hoch.gw-bild--hoch > img,
.gw-bild--hoch.gw-bild--hoch.gw-bild--hoch img {
	object-fit: contain !important;
}
.gw-bild--hoch::before {
	content: "";
	position: absolute;
	inset: -24px;
	z-index: 0;
	background-image: var(--gw-bildbg);
	background-size: cover;
	background-position: center;
	filter: blur(20px) brightness(.6) saturate(.9);
	transform: scale(1.08);
	pointer-events: none;
}
/* Badges, Overlays usw. bleiben über dem Bild */
.gw-card__media > :not(img),
.gw-wcard__media > :not(img),
.gw-mbcard__media > :not(img),
.gw-acard__media > :not(img) { z-index: 2; }
/* Kleines Termin-Bild in den Live-Terminen ebenfalls 16:10 */
.gw-termin__bild { width: 112px !important; border-radius: 10px; }
.gw-termin__kopf { grid-template-columns: 112px 1fr auto 24px !important; }
@media (max-width: 640px) {
	.gw-termin__bild { width: 84px !important; }
	.gw-termin__kopf { grid-template-columns: 84px 1fr 20px !important; }
}

/* Dozenten-Bereich: Text des Termins anzeigen und bearbeiten (2.64.0) */
.gw-db .gw-vtable__textrow td { padding-top: 0 !important; border-top: 0 !important; }
.gw-db .gw-termintext { margin: 0 0 10px; padding: 12px 16px; border-radius: 12px; background: var(--gw-bg-alt); line-height: 1.6; color: var(--gw-text); }
.gw-db .gw-termintext > :first-child { margin-top: 0; }
.gw-db .gw-termintext > :last-child { margin-bottom: 0; }
.gw-db .gw-termintext a { color: var(--gw-primary); text-decoration: underline; word-break: break-word; }
.gw-db .gw-termintext__edit > summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.gw-db .gw-termintext__edit > summary::-webkit-details-marker { display: none; }
.gw-db .gw-termintext__edit[open] > summary { margin-bottom: 10px; }
.gw-db .gw-termintext__form { display: flex; flex-direction: column; gap: 10px; }
.gw-db .gw-termintext__form .gw-btn { align-self: flex-start; }
.gw-db .gw-termintext__hint { margin: 0; font-size: .85rem; }

/* Geschützter Zusatztext (Bücher, Links) – nur für Berechtigte ausgegeben (2.65.0) */
.gw-zusatztext { margin-top: 14px; padding: 14px 18px; border-radius: 12px; background: var(--gw-bg-alt); border-left: 3px solid var(--gw-primary); line-height: 1.6; }
.gw-zusatztext > :last-child { margin-bottom: 0; }
.gw-zusatztext__titel { margin: 0 0 6px !important; font-weight: 700; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--gw-primary); }
.gw-zusatztext a { color: var(--gw-primary); text-decoration: underline; word-break: break-word; }

/* =====================================================================
   Öffentliche Webinare-Seite (2.66.0)
   ===================================================================== */
/* Große, gut lesbare Filter-Tasten; aktiver Filter klar erkennbar */
.gw-filter__group { padding: 6px !important; gap: 6px !important; flex-wrap: wrap; }
.gw-fbtn {
	font-size: 1.12rem !important; font-weight: 700 !important; line-height: 1.2 !important;
	min-height: 54px; padding: 12px 26px !important; gap: 8px !important;
	border: 2px solid transparent !important; justify-content: center;
}
.gw-fbtn:focus-visible { outline: 3px solid var(--gw-primary); outline-offset: 2px; }
.gw-fbtn:not(.is-active) { background: #fff !important; border-color: var(--gw-border) !important; color: var(--gw-text) !important; }
.gw-fbtn:not(.is-active):hover { border-color: var(--gw-primary) !important; color: var(--gw-primary) !important; }
.gw-fbtn.is-active { background: var(--gw-primary) !important; border-color: var(--gw-primary) !important; color: #fff !important; }
.gw-fbtn__haken { display: none; }
.gw-fbtn.is-active .gw-fbtn__haken { display: inline-flex; }
.gw-fbtn.is-active .gw-fbtn__haken svg { color: #fff; }
@media (max-width: 640px) {
	.gw-filter { display: block !important; }
	.gw-filter__group { display: flex !important; flex-direction: column; width: 100%; border-radius: 18px !important; }
	.gw-fbtn { width: 100%; border-radius: 14px !important; font-size: 1.15rem !important; min-height: 56px; }
}

/* Preis und Knopf bei allen Kacheln einer Reihe auf derselben Höhe */
/* Kein !important: der Filter blendet Kacheln per style="display:none" aus (2.66.1). */
.gw-card { display: flex; flex-direction: column; }
.gw-card[style*="display: none"] { display: none !important; }
.gw-card__link { display: flex !important; flex-direction: column; flex: 1 1 auto; }
.gw-card__body { flex: 1 1 auto; display: flex !important; flex-direction: column; }
.gw-card__preisblock { margin-top: auto; padding-top: 10px; min-height: 4.2em; display: flex; flex-direction: column; justify-content: flex-start; }
.gw-card__preisblock .gw-card__price, .gw-card__preisblock .gw-fruehbucher { margin: 0; }
.gw-card__foot { margin-top: 0 !important; }

/* =====================================================================
   gwDialog – Plugin-eigene Nachfragen (2.70.0)
   ===================================================================== */
html.gw-dlg-offen { overflow: hidden; }
.gw-dlg { position: fixed; inset: 0; z-index: 1000000; display: flex; align-items: center; justify-content: center; padding: 20px; font-family: 'Montserrat', system-ui, sans-serif; animation: gwDlgEin .16s ease-out; }
.gw-dlg.is-zu { animation: gwDlgAus .16s ease-in forwards; }
.gw-dlg__hinter { position: absolute; inset: 0; background: rgba(31, 42, 35, .45); backdrop-filter: blur(2px); }
.gw-dlg__box {
	position: relative; width: 100%; max-width: 460px; box-sizing: border-box;
	padding: 30px 30px 24px; border-radius: 20px; background: #fff; text-align: center;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}
.gw-dlg__sym { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 12px; border-radius: 50%; background: #eef3e8; color: #73865b; }
.gw-dlg--gefahr .gw-dlg__sym { background: #fbecea; color: #b0352b; }
.gw-dlg__titel { margin: 0 0 8px !important; font-size: 1.25rem !important; line-height: 1.35 !important; font-weight: 700 !important; color: #1f2a23 !important; }
.gw-dlg__text { margin: 0 0 6px !important; font-size: 1rem; line-height: 1.55; color: #5c6457; white-space: pre-line; }
.gw-dlg__feld { width: 100%; box-sizing: border-box; margin: 12px 0 4px; height: 50px; padding: 0 14px; border: 1.5px solid #d9dfd3; border-radius: 12px; font: 500 1rem 'Montserrat', sans-serif; }
.gw-dlg__feld:focus { outline: none; border-color: #73865b; box-shadow: 0 0 0 3px rgba(115, 134, 91, .18); }
.gw-dlg__knoepfe { display: flex; gap: 12px; justify-content: center; margin-top: 22px; }
.gw-dlg__btn { flex: 1 1 0; min-height: 50px; padding: 0 20px; border-radius: 12px; font: 700 1rem 'Montserrat', sans-serif; cursor: pointer; transition: background .12s, border-color .12s; }
.gw-dlg__btn--nein { background: #eef2ec; border: 1.5px solid #cddac3; color: #3f4a34; }
.gw-dlg__btn--nein:hover { background: #e3eadc; }
.gw-dlg__btn--ja { background: #73865b; border: 1.5px solid #73865b; color: #fff; }
.gw-dlg__btn--ja:hover { background: #5f7049; }
.gw-dlg--gefahr .gw-dlg__btn--ja { background: #b0352b; border-color: #b0352b; }
.gw-dlg--gefahr .gw-dlg__btn--ja:hover { background: #942b22; }
.gw-dlg__btn:focus-visible { outline: 3px solid rgba(115, 134, 91, .45); outline-offset: 2px; }
@keyframes gwDlgEin { from { opacity: 0; } to { opacity: 1; } }
@keyframes gwDlgAus { from { opacity: 1; } to { opacity: 0; } }
@media (max-width: 480px) { .gw-dlg__knoepfe { flex-direction: column-reverse; } }
