/* ritzy Kursverwaltung — Frontend
   Marken-Tokens aus ritzy.ch (Educavo): Akzent-Orange #eb6808, Navy #171f32,
   Schrift Public Sans (erbt vom Theme). Tokens zentral auf beiden Wurzeln. */
.ritzy-course,.ritzy-agenda{
  --rz-accent:#eb6808;--rz-accent-2:#ff5421;--rz-dark:#171f32;
  --rz-text:#333333;--rz-border:#eeeeee;--rz-muted:#6b7280;--rz-bg:#f9f9f9;
  font-family:inherit;color:var(--rz-text)
}
/* Link-Reset: Theme unterstreicht Content-Links – in unseren Komponenten nicht. */
.ritzy-course a,.ritzy-agenda a{text-decoration:none}
.ritzy-course a:hover,.ritzy-course a:focus,.ritzy-agenda a:hover,.ritzy-agenda a:focus{text-decoration:none}
/* Button-Links: weißer Text erzwingen (Educavo färbt <a> sonst orange → unsichtbar). */
/* Treueprogramm-Block (Gamification) */
.ritzy-loyalty{background:#fff8f2;border:1px solid #ffe0c7;border-radius:14px;padding:1.2rem 1.4rem;display:flex;flex-wrap:wrap;gap:1.2rem 1.6rem;align-items:center}
.ritzy-loyalty__intro{display:flex;gap:.9rem;align-items:center;flex:1 1 220px}
.ritzy-loyalty__trophy{color:var(--rz-accent);flex:0 0 auto}
.ritzy-loyalty__trophy .ritzy-loyalty__icon{width:54px;height:54px;stroke-width:1.5}
.ritzy-loyalty__title{font-size:1.35rem;font-weight:800;color:var(--rz-dark);margin:0;line-height:1.15}
.ritzy-loyalty__lead{font-size:.83rem;color:var(--rz-muted);margin:.3rem 0 0}
.ritzy-loyalty__points{display:flex;flex-wrap:wrap;gap:1.1rem 1.4rem;flex:2 1 340px}
.ritzy-loyalty__point{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.6rem}
.ritzy-loyalty__badge{grid-row:1/3;align-self:center;width:46px;height:46px;border-radius:50%;background:#f7d99a;display:flex;align-items:center;justify-content:center;color:#9a6410}
.ritzy-loyalty__badge .ritzy-loyalty__icon{width:24px;height:24px}
.ritzy-loyalty__pts{font-weight:800;color:var(--rz-accent);font-size:1.05rem;align-self:end}
.ritzy-loyalty__ptlabel{font-size:.78rem;color:var(--rz-dark);align-self:start;line-height:1.2}
.ritzy-loyalty__bonus{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;background:#fff;border:1px solid #ffe0c7;border-radius:10px;padding:.7rem .9rem}
.ritzy-loyalty__cal{color:var(--rz-accent);flex:0 0 auto}
.ritzy-loyalty__cal .ritzy-loyalty__icon{width:26px;height:26px}
.ritzy-loyalty__bonus-text{flex:1 1 200px}
.ritzy-loyalty__bonus-title{font-weight:700;color:var(--rz-accent);margin:0;font-size:.95rem}
.ritzy-loyalty__bonus-cond{font-size:.8rem;color:var(--rz-muted);margin:.1rem 0 0}
.ritzy-loyalty__btn{background:var(--rz-accent);color:#fff !important;font-weight:600;padding:.6rem 1.1rem;border-radius:8px;text-decoration:none;white-space:nowrap}
.ritzy-loyalty__btn:hover{background:var(--rz-accent-2)}
@media(max-width:600px){.ritzy-loyalty__points{flex-direction:column;gap:.7rem}}
.ritzy-course__request-btn,.ritzy-course__book,.ritzy-search__btn,.ritzy-form__submit,
.ritzy-course__request-btn:hover,.ritzy-course__book:hover{color:#fff !important}
.ritzy-agenda-card__btn{color:#fff}
.ritzy-course{max-width:1100px;margin:0 auto;padding:1rem}
.ritzy-course *{box-sizing:border-box}
/* Als Elementor-Widget: Vertikal-Padding raus (Abstände regelt Elementor / die
   Block-Margins) — verhindert addierte Lücken zwischen gestapelten Modulen. */
.elementor-widget-container > .ritzy-course{padding-top:0;padding-bottom:0;max-width:none}
.ritzy-course__block{margin:0 0 2rem}
.ritzy-course__title,.ritzy-course__heading,.ritzy-agenda-card__title,.ritzy-referent__name{color:var(--rz-dark)}
.ritzy-course__heading{font-size:1.35rem;font-weight:700;margin:0 0 .75rem;padding-bottom:.35rem;border-bottom:2px solid var(--rz-accent)}

/* Hero-Band (grau, uppercase) wie ritzy.ch — randlos, wenn Hero allein im Wrapper */
.ritzy-course__block--hero{margin:0 0 2rem}
.ritzy-course:has(> .ritzy-course__block--hero:only-child){max-width:none;padding:0}
.ritzy-course__hero-band{background:var(--rz-bg);padding:3rem clamp(1rem,4vw,2rem)}
.ritzy-course__hero-inner{max-width:1100px;margin:0 auto}
.ritzy-course__back{display:inline-block;color:var(--rz-accent);font-weight:600;font-size:.9rem;margin-bottom:.75rem}
.ritzy-course__title{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;margin:0 0 .5rem;text-transform:uppercase;font-weight:800;letter-spacing:-.01em}
.ritzy-course__slogan{font-size:1.15rem;color:var(--rz-muted);margin:0}
.ritzy-course__badge{display:inline-block;margin-top:.75rem;font-size:.8rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;background:var(--rz-accent);color:#fff}
.ritzy-course__image{margin-bottom:1.5rem}
.ritzy-course__image img{width:100%;height:auto;border-radius:10px;display:block}

/* Layout */
.ritzy-course__grid{display:grid;gap:2rem}
@media(min-width:900px){.ritzy-course__grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}
.ritzy-course__prose{line-height:1.6}
.ritzy-course__prose ul{padding-left:1.25rem}
.ritzy-course__section{margin-bottom:1.5rem}

/* Preise */
.ritzy-course__aside .ritzy-course__block{background:#faf7f5;border:1px solid var(--rz-border);border-radius:10px;padding:1.25rem}
.ritzy-course__prices{list-style:none;margin:0;padding:0}
.ritzy-course__price{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed var(--rz-border)}
.ritzy-course__price:last-child{border-bottom:0}
.ritzy-course__price-value{font-weight:700;white-space:nowrap}
.ritzy-course__price-extra,.ritzy-course__price-note{font-size:.9rem;color:var(--rz-muted);margin:.5rem 0 0}
/* Finanzierungs- + Favoriten-Button (Seitenspalte, wie Altseite) */
.ritzy-course__financing,.ritzy-course__favorite{display:block;text-align:center;background:var(--rz-accent);color:#fff !important;font-weight:600;font-size:.9rem;padding:.7rem 1rem;border-radius:6px;text-decoration:none;margin:.9rem 0 0}
.ritzy-course__financing:hover,.ritzy-course__favorite:hover{background:var(--rz-accent-2)}
.ritzy-course__favorite-star{font-size:1rem;line-height:1}
/* Kontakt-Block über dem Formular */
.ritzy-course__contact-line{margin:.25rem 0;font-weight:600}
.ritzy-course__contact-line a{color:var(--rz-accent);text-decoration:none}
.ritzy-course__contact-line a:hover{text-decoration:underline}
.ritzy-course__price-text{font-size:.92rem;margin:.6rem 0 0}
.ritzy-course__price-text h3{font-size:1rem;font-weight:700;margin:.4rem 0 .3rem}
.ritzy-course__price-text ul{margin:.2rem 0 .2rem 1.1rem;padding:0}
.ritzy-course__price-text li{margin:.15rem 0}

/* Referenten */
.ritzy-course__referents{display:grid;gap:1rem}
.ritzy-referent{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border:1px solid var(--rz-border);border-radius:10px}
.ritzy-referent__photo img{width:72px;height:72px;object-fit:cover;border-radius:8px;display:block}
.ritzy-referent__name{margin:0 0 .35rem;font-size:1.05rem;font-weight:600}
.ritzy-referent__name a{text-decoration:none}
.ritzy-referent__bio{font-size:.92rem;line-height:1.5;color:#333}
.ritzy-referent--compact{align-items:center;padding:.5rem 0;border:0;gap:.75rem}
.ritzy-referent--compact .ritzy-referent__photo img{width:48px;height:48px}
.ritzy-referent--compact .ritzy-referent__name{margin:0;color:var(--rz-accent)}

/* Termine (Tabelle) — orange Kopf, gerundet, Hover (wie ritzy.ch) */
.ritzy-course__table-wrap{overflow-x:auto;border:1px solid var(--rz-border);border-radius:10px}
.ritzy-course__agenda-table{width:100%;border-collapse:collapse;font-size:.92rem}
.ritzy-course__agenda-table thead th{text-align:left;font-weight:700;color:#fff;background:var(--rz-accent);padding:.7rem .8rem;white-space:nowrap;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
.ritzy-course__agenda-table td{padding:.7rem .8rem;border-top:1px solid var(--rz-border);vertical-align:middle}
.ritzy-course__agenda-table tbody tr:first-child td{border-top:0}
.ritzy-course__agenda-table tbody tr:hover{background:var(--rz-bg)}
.ritzy-course__agenda-table tr.is-cancelled{opacity:.55}
.ritzy-course__agenda-table td:first-child{font-weight:600;color:var(--rz-dark)}
.ritzy-course__book{display:inline-block;background:var(--rz-accent);color:#fff;font-weight:600;font-size:.82rem;padding:.4rem .9rem;border-radius:6px;text-decoration:none}
.ritzy-course__book:hover{background:var(--rz-accent-2)}
.ritzy-course__yesno{font-size:.82rem;font-weight:600}
.ritzy-course__yesno--yes{color:#2e7d32}
.ritzy-course__yesno--no{color:#b32d2e}
/* Belegungs-Badge (freie Plätze) */
.ritzy-course__seats{display:block;font-size:.74rem;font-weight:600;margin-bottom:.3rem}
.ritzy-course__seats--available{color:#2e7d32}
.ritzy-course__seats--few{color:#c76f00}
.ritzy-course__seats--full{color:#b32d2e}
/* Tourismus-Kontingent (3 vergünstigte Plätze je Termin) */
.ritzy-course__tourism{display:block;font-size:.7rem;font-weight:600;margin-top:.3rem}
.ritzy-course__tourism--open{color:var(--rz-accent)}
.ritzy-course__tourism--full{color:var(--rz-muted)}
/* Preisblock: Standardpreis (Swiss) + ermässigter Preis (Family, konditional) */
.ritzy-course__price--standard .ritzy-course__price-value{font-size:1.05rem;font-weight:700}
.ritzy-course__price--reduced .ritzy-course__price-value{color:var(--rz-accent);font-weight:700}
.ritzy-course__price--reduced .ritzy-course__price-label{color:var(--rz-muted)}
@media(max-width:600px){
  .ritzy-course__agenda-table thead{display:none}
  .ritzy-course__agenda-table,.ritzy-course__agenda-table tbody,.ritzy-course__agenda-table tr,.ritzy-course__agenda-table td{display:block;width:100%}
  .ritzy-course__agenda-table tr{border:1px solid var(--rz-border);border-radius:8px;margin-bottom:.75rem;padding:.25rem .5rem}
  .ritzy-course__agenda-table td{border:0;display:flex;justify-content:space-between;gap:1rem;padding:.35rem .25rem}
  .ritzy-course__agenda-table td::before{content:attr(data-label);font-weight:700;color:var(--rz-dark)}
}

/* Auf-Anfrage-Panel */
.ritzy-course__request{background:var(--rz-bg);border:1px solid var(--rz-border);border-radius:10px;padding:1.25rem}
.ritzy-course__request-badge{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--rz-accent);padding:.2rem .6rem;border-radius:999px;margin-bottom:.5rem}
.ritzy-course__request-btn{display:inline-block;margin-top:.75rem;background:var(--rz-accent);color:#fff;font-weight:600;padding:.6rem 1.2rem;border-radius:6px;text-decoration:none}
.ritzy-course__request-btn:hover{background:var(--rz-accent-2)}

/* Akkordeon (Inhalte/Zielgruppen) — native <details>, ✱-Bullet wie ritzy.ch */
.ritzy-course__accordion{border-top:1px solid var(--rz-border)}
.ritzy-acc{border-bottom:1px solid var(--rz-border)}
/* Nahtloser Übergang Inhalt → Zielgruppen (kein Abstand, keine Doppellinie) —
   sowohl als getrennte Elementor-Widgets als auch im Fallback-Layout. */
.elementor-widget-ritzy_course_content{margin-bottom:0 !important}
.elementor-widget-ritzy_course_content + .elementor-widget-ritzy_course_audiences,
.ritzy-course__block--content + .ritzy-course__block--audiences{margin-top:0}
.ritzy-course__block--content{margin-bottom:0}
.elementor-widget-ritzy_course_content + .elementor-widget-ritzy_course_audiences .ritzy-course__accordion,
.ritzy-course__block--content + .ritzy-course__block--audiences .ritzy-course__accordion{border-top:0}
.ritzy-acc__summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.6rem;padding:1rem .25rem;font-weight:700}
.ritzy-acc__summary::-webkit-details-marker{display:none}
.ritzy-acc__summary:hover .ritzy-acc__label{text-decoration:underline}
.ritzy-acc__star{color:var(--rz-accent);font-weight:700;line-height:1}
.ritzy-acc__label{flex:1;color:var(--rz-accent)}
.ritzy-acc__chevron{width:.55rem;height:.55rem;border-right:2px solid var(--rz-muted);border-bottom:2px solid var(--rz-muted);transform:rotate(-45deg);transition:transform .2s;flex:0 0 auto}
.ritzy-acc[open] .ritzy-acc__chevron{transform:rotate(45deg)}
.ritzy-acc__body{padding:0 .25rem 1.25rem;line-height:1.6}
.ritzy-acc__body ul{padding-left:1.25rem}

/* Zielgruppen (Ja/Nein) */
.ritzy-course__audiences{list-style:none;margin:0;padding:0}
.ritzy-course__audience{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed var(--rz-border)}
.ritzy-course__audience:last-child{border-bottom:0}

/* Kurscode */
.ritzy-course__kurscode{margin:.75rem 0 0;font-size:.9rem;color:var(--rz-muted)}

/* Info */
.ritzy-course__info{margin:0}
.ritzy-course__info-row{display:flex;gap:.75rem;padding:.4rem 0;border-bottom:1px dashed var(--rz-border)}
.ritzy-course__info-row dt{font-weight:600;min-width:9rem;margin:0}
.ritzy-course__info-row dd{margin:0}

/* CTA */
.ritzy-course__cta{text-align:center}
.ritzy-course__empty{color:var(--rz-muted)}

/* ---- Agenda / Kurssuche ---- */
.ritzy-agenda{max-width:1200px;margin:0 auto;padding:1rem}
.ritzy-agenda *{box-sizing:border-box}
.ritzy-agenda__filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;padding:1rem;background:#faf7f5;border:1px solid var(--rz-border);border-radius:10px;margin-bottom:1rem}
.ritzy-agenda__filter{display:flex;flex-direction:column;font-size:.85rem}
.ritzy-agenda__filter label{font-weight:600;display:flex;flex-direction:column;gap:.25rem;color:#333}
.ritzy-agenda__filter select,.ritzy-agenda__filter input[type=search]{padding:.45rem .5rem;border:1px solid var(--rz-border);border-radius:7px;min-width:150px;font-size:.9rem}
.ritzy-agenda__filter--search input{min-width:220px}
.ritzy-agenda__filter--actions{flex-direction:row;gap:.5rem;align-items:center}
.ritzy-agenda__submit{background:var(--rz-accent);color:#fff;border:0;border-radius:7px;padding:.55rem 1.1rem;font-weight:600;cursor:pointer}
.ritzy-agenda__reset{align-self:center;color:var(--rz-muted);font-size:.85rem}
.ritzy-agenda__toolbar{display:flex;justify-content:space-between;align-items:center;margin:.5rem 0 1rem}
.ritzy-agenda__count{color:var(--rz-muted);font-size:.9rem}
.ritzy-agenda__views a{display:inline-block;padding:.3rem .75rem;border:1px solid var(--rz-border);text-decoration:none;color:#333}
.ritzy-agenda__views a:first-child{border-radius:7px 0 0 7px}
.ritzy-agenda__views a:last-child{border-radius:0 7px 7px 0;border-left:0}
.ritzy-agenda__views a.is-active{background:var(--rz-accent);color:#fff;border-color:var(--rz-accent)}

/* Kacheln */
.ritzy-agenda__grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.ritzy-agenda-card{border:1px solid var(--rz-border);border-radius:12px;overflow:hidden;background:#fff;transition:box-shadow .15s,transform .15s}
.ritzy-agenda-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.ritzy-agenda-card.is-cancelled{opacity:.6}
.ritzy-agenda-card__link{text-decoration:none;color:inherit;display:block}
.ritzy-agenda-card__thumb{width:100%;height:150px;object-fit:cover;display:block}
.ritzy-agenda-card__body{display:flex;flex-direction:column;padding:1rem 1.1rem 1.2rem;position:relative}
.ritzy-agenda-card__label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rz-accent);margin:0 0 .15rem}
.ritzy-agenda-card__title{font-size:1.05rem;margin:.1rem 0 .45rem;line-height:1.3;font-weight:700}
.ritzy-agenda-card__date{font-weight:600;color:var(--rz-accent);margin:0 0 .2rem;font-size:.92rem}
.ritzy-agenda-card__venue{color:var(--rz-muted);font-size:.85rem;margin:0}
.ritzy-agenda__price{font-weight:700;margin:.5rem 0 0;font-size:.95rem;color:var(--rz-dark)}
.ritzy-agenda-card__btn{margin-top:.85rem;align-self:flex-start;background:var(--rz-accent);color:#fff;font-weight:600;font-size:.85rem;padding:.5rem .95rem;border-radius:6px;transition:background .15s,transform .15s}
.ritzy-agenda-card:hover .ritzy-agenda-card__btn{background:var(--rz-accent-2);transform:translateY(-1px)}

/* Liste */
.ritzy-agenda__list{list-style:none;margin:0;padding:0}
.ritzy-agenda-row{display:grid;grid-template-columns:9rem 1fr auto auto;gap:1rem;align-items:center;padding:.8rem .5rem;border-bottom:1px solid var(--rz-border)}
.ritzy-agenda-row.is-cancelled{opacity:.6}
.ritzy-agenda-row__date{font-weight:600;color:var(--rz-accent);font-size:.9rem}
.ritzy-agenda-row__title a{text-decoration:none;color:inherit;font-weight:600}
.ritzy-agenda-row__meta{color:var(--rz-muted);font-size:.85rem;display:flex;gap:.75rem;flex-wrap:wrap}
.ritzy-agenda-row__price .ritzy-agenda__price{margin:0}
@media(max-width:720px){.ritzy-agenda-row{grid-template-columns:1fr;gap:.25rem}}

/* Badges + Pagination + Empty */
.ritzy-badge{display:inline-block;font-size:.72rem;font-weight:700;padding:.12rem .5rem;border-radius:999px;margin-left:.4rem;vertical-align:middle}
.ritzy-badge--new{background:var(--rz-accent);color:#fff}
.ritzy-badge--cancelled{background:#fbeaea;color:#b32d2e;border:1px solid #e7b3b3}
.ritzy-agenda-card__body .ritzy-badge{position:absolute;top:-.9rem;left:1rem;margin:0}
.ritzy-agenda__pagination{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center;margin:1.5rem 0}
.ritzy-agenda__page{min-width:2.2rem;text-align:center;padding:.4rem .5rem;border:1px solid var(--rz-border);border-radius:7px;text-decoration:none;color:#333}
.ritzy-agenda__page.is-active{background:var(--rz-accent);color:#fff;border-color:var(--rz-accent)}
.ritzy-agenda__empty{padding:2rem;text-align:center;color:var(--rz-muted)}

/* ---- Anfrageformular ---- */
.ritzy-course__block--form{scroll-margin-top:90px}
.ritzy-form{display:flex;flex-direction:column;gap:.75rem}
.ritzy-form__field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:600;color:var(--rz-dark)}
.ritzy-form__field input,.ritzy-form__field textarea{padding:.55rem .65rem;border:1px solid var(--rz-border);border-radius:7px;font-size:.95rem;font-weight:400;font-family:inherit}
.ritzy-form__field input:focus,.ritzy-form__field textarea:focus{outline:2px solid var(--rz-accent);border-color:var(--rz-accent)}
.ritzy-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ritzy-form__submit{align-self:flex-start;background:var(--rz-accent);color:#fff;font-weight:600;border:0;border-radius:7px;padding:.65rem 1.4rem;cursor:pointer;transition:background .15s}
.ritzy-form__submit:hover{background:var(--rz-accent-2)}
.ritzy-form__notice{padding:.65rem .8rem;border-radius:7px;font-size:.92rem;margin:0 0 .5rem}
.ritzy-form__notice--ok{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}
.ritzy-form__notice--err{background:#fbeaea;color:#b32d2e;border:1px solid #e7b3b3}

/* ---- Referent / Ort (Detailseiten) — schlicht, Feinschliff später (Educavo) ---- */
.ritzy-org__head{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}
.ritzy-org__photo img{width:110px;height:110px;object-fit:cover;border-radius:10px;display:block}
.ritzy-org__name{margin:0;text-transform:none;font-size:clamp(1.5rem,3vw,2rem)}
.ritzy-org__courses{list-style:none;margin:0;padding:0}
.ritzy-org__course{padding:.55rem 0;border-bottom:1px solid var(--rz-border)}
.ritzy-org__course:last-child{border-bottom:0}
.ritzy-org__course a{font-weight:600;color:var(--rz-accent)}

/* ---- Kurse: Grid / Karussell / Suchbox (Startseiten-Module) ---- */
.ritzy-cards-wrap{--rz-accent:#eb6808;--rz-accent-2:#ff5421;--rz-dark:#171f32;--rz-text:#333;--rz-border:#eee;--rz-muted:#6b7280;--rz-bg:#f9f9f9;font-family:inherit;color:var(--rz-text)}
.ritzy-cards__heading{color:var(--rz-dark);font-size:1.5rem;font-weight:700;margin:0 0 1rem}
.ritzy-cards{display:grid;gap:1.25rem;grid-template-columns:repeat(var(--rz-cols,3),minmax(0,1fr))}
@media(max-width:900px){.ritzy-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ritzy-cards{grid-template-columns:1fr}}

/* Karussell (scroll-snap + Pfeile, ohne Abhängigkeit) */
.ritzy-carousel{position:relative}
.ritzy-carousel__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--rz-cols,3) - 1) * 1.25rem) / var(--rz-cols,3));gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:.5rem;scrollbar-width:thin}
.ritzy-carousel__track > .ritzy-agenda-card{scroll-snap-align:start}
@media(max-width:900px){.ritzy-carousel__track{grid-auto-columns:calc((100% - 1.25rem)/2)}}
@media(max-width:560px){.ritzy-carousel__track{grid-auto-columns:85%}}
.ritzy-carousel__nav{position:absolute;top:40%;transform:translateY(-50%);z-index:2;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--rz-border);background:#fff;color:var(--rz-dark);font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.ritzy-carousel__nav:hover{background:var(--rz-accent);color:#fff;border-color:var(--rz-accent)}
.ritzy-carousel__nav[disabled]{opacity:.35;cursor:default}
.ritzy-carousel__nav--prev{left:-1rem}
.ritzy-carousel__nav--next{right:-1rem}

/* Suchbox */
.ritzy-search{display:flex;flex-wrap:wrap;gap:.5rem;align-items:stretch}
.ritzy-search__input{flex:1 1 220px;min-width:180px;padding:.7rem .9rem;border:1px solid var(--rz-border);border-radius:8px;font-size:1rem;font-family:inherit}
.ritzy-search__select{padding:.7rem .8rem;border:1px solid var(--rz-border);border-radius:8px;font-size:.95rem;font-family:inherit}
.ritzy-search__input:focus,.ritzy-search__select:focus{outline:2px solid var(--rz-accent);border-color:var(--rz-accent)}
.ritzy-search__btn{background:var(--rz-accent);color:#fff;font-weight:600;border:0;border-radius:8px;padding:.7rem 1.4rem;cursor:pointer}
.ritzy-search__btn:hover{background:var(--rz-accent-2)}

/* ============================================================
   v0.10.0 — ritzy-Feedback vom 21.07.2026
   ============================================================ */

/* Listen-Marker wiederherstellen: Educavo resettet `ul{list-style:none}`
   global, wodurch die Bullet Points der SAP-Inhalte (Ziele, Schwerpunkte)
   unsichtbar wurden — der Inhalt war nie weg, nur die Marker. */
.ritzy-course__prose ul,.ritzy-acc__body ul{list-style:disc}
.ritzy-course__prose ol,.ritzy-acc__body ol{list-style:decimal}
.ritzy-course__prose li,.ritzy-acc__body li{margin:.15rem 0}

/* Fünfstrahliger ritzy*-Stern: Asterisk in Libre Franklin statt U+2731 (6 Strahlen). */
.ritzy-acc__star{font-family:"Libre Franklin",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.15em}

/* --- Preis-Segmente (Umschalter ohne JS) --- */
.ritzy-seg__radio{position:absolute;opacity:0;pointer-events:none}
.ritzy-seg__tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem}
.ritzy-seg__tab{flex:1 1 auto;text-align:center;padding:.4rem .5rem;font-size:.8rem;font-weight:600;
  border:1px solid var(--rz-border);border-radius:7px;cursor:pointer;color:var(--rz-muted);background:#fff;white-space:nowrap}
.ritzy-seg__tab:hover{border-color:var(--rz-accent)}
/* Ohne CSS/JS bleiben alle Panels sichtbar — bewusst als Fallback. */
.ritzy-seg__panel{display:none}
.ritzy-seg__radio--family:checked ~ .ritzy-seg__tabs .ritzy-seg__tab--family,
.ritzy-seg__radio--tourism:checked ~ .ritzy-seg__tabs .ritzy-seg__tab--tourism,
.ritzy-seg__radio--swiss:checked ~ .ritzy-seg__tabs .ritzy-seg__tab--swiss{
  background:var(--rz-accent);border-color:var(--rz-accent);color:#fff}
.ritzy-seg__radio--family:checked ~ .ritzy-seg__panels .ritzy-seg__panel--family,
.ritzy-seg__radio--tourism:checked ~ .ritzy-seg__panels .ritzy-seg__panel--tourism,
.ritzy-seg__radio--swiss:checked ~ .ritzy-seg__panels .ritzy-seg__panel--swiss{display:block}
/* Tastaturbedienung sichtbar machen. */
.ritzy-seg__radio:focus-visible ~ .ritzy-seg__tabs .ritzy-seg__tab{outline:2px solid var(--rz-accent);outline-offset:2px}
.ritzy-seg__price{margin:0;font-size:1.35rem;line-height:1.3}
.ritzy-seg__was{color:var(--rz-muted);font-size:.95rem;font-weight:400;margin-right:.35rem}
.ritzy-seg__now{color:var(--rz-accent);font-weight:700}
.ritzy-seg__quota{margin:.4rem 0 0;font-size:.8rem}

/* --- Modus-Umschalter der Agenda --- */
.ritzy-agenda__modes{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}
.ritzy-agenda__mode{padding:.45rem .95rem;border:1px solid var(--rz-border);border-radius:999px;
  font-size:.85rem;font-weight:600;color:var(--rz-muted);text-decoration:none;background:#fff}
.ritzy-agenda__mode:hover{border-color:var(--rz-accent);color:var(--rz-accent)}
.ritzy-agenda__mode.is-active{background:var(--rz-accent);border-color:var(--rz-accent);color:#fff}

/* --- Kompaktere Filterleiste ---
   Isabelle: bei 100 % Zoom sollen die Kurse ohne Scrollen sichtbar sein.
   Labels inline statt gestapelt spart je Filterzeile rund 22px Höhe. */
.ritzy-agenda__filters{padding:.6rem .75rem;gap:.5rem .6rem;margin-bottom:.6rem}
.ritzy-agenda__filter label{font-size:.72rem;font-weight:600;gap:.1rem;text-transform:uppercase;letter-spacing:.02em}
.ritzy-agenda__filter select,.ritzy-agenda__filter input[type=search]{padding:.35rem .45rem;min-width:132px;font-size:.85rem}
.ritzy-agenda__filter--search input{min-width:180px}
.ritzy-agenda__toolbar{margin:.35rem 0 .6rem}
@media (max-width:782px){
  /* Mobil: zwei Filter je Zeile statt je einer — sonst füllt allein die
     Filterleiste den ersten Bildschirm. */
  .ritzy-agenda__filters{gap:.4rem}
  .ritzy-agenda__filter{flex:1 1 calc(50% - .4rem);min-width:0}
  .ritzy-agenda__filter select,.ritzy-agenda__filter input[type=search]{min-width:0;width:100%}
  .ritzy-agenda__filter--search{flex:1 1 100%}
  .ritzy-agenda__mode{padding:.4rem .75rem;font-size:.8rem}
}

/* --- Treueprogramm mit den Originalgrafiken von ritzy ---
   Die Dateien sind JPEG ohne Transparenz → Flächen weiß halten, sonst
   entstehen sichtbare Kästen. (PNG/SVG bei ritzy angefragt.) */
.ritzy-loyalty__icon--img{display:block;width:auto;height:auto;max-width:100%}
.ritzy-loyalty__badge{background:#fff;width:56px;height:56px;overflow:hidden}
.ritzy-loyalty__badge .ritzy-loyalty__icon--img{width:44px;height:auto}
.ritzy-loyalty__trophy .ritzy-loyalty__icon--img{width:64px}

/* Kontakt: Überschrift über den Formularfeldern. */
.ritzy-course__contact-lead{margin:.75rem 0 0;font-weight:600;line-height:1.4}

/* „Weitere Kurse zum gleichen Thema" nutzt das Agenda-Grid. */
.ritzy-course__block--related{margin-top:1.5rem}
