/*!
 * Praxis-Urlaubsplaner – Website (Pop-up, Banner, Liste)
 * Hohe Spezifität (html body .pr-up-scope …), damit das Theme die Plugin-Farben nicht überschreibt.
 */
html body .pr-up-scope{--pr-up-p:#1F6FA8;--pr-up-d:#003254;--pr-up-a:#58D68D;--pr-up-t:#3D4A55;--pr-up-r:16px;font-family:inherit;color:var(--pr-up-t);box-sizing:border-box}
html body .pr-up-scope *,html body .pr-up-scope *::before,html body .pr-up-scope *::after{box-sizing:border-box}
html.pr-up-offen{overflow:hidden}

/* Pop-up */
html body .pr-up-overlay{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center;justify-content:center;padding:20px;background:rgba(0,30,52,.55)!important;opacity:0;transition:opacity .2s ease;margin:0!important}
html body .pr-up-overlay.ist-sichtbar{opacity:1}
html body .pr-up-overlay .pr-up-dialog{position:relative;width:100%;max-width:600px;max-height:calc(100vh - 40px);overflow:auto;background:#fff!important;border-radius:var(--pr-up-r)!important;box-shadow:0 30px 80px rgba(0,30,52,.35)!important;border-top:6px solid var(--pr-up-a)!important;transform:translateY(12px);transition:transform .2s ease;text-align:left!important}
html body .pr-up-overlay.ist-sichtbar .pr-up-dialog{transform:none}
html body .pr-up-overlay .pr-up-kopf{display:flex;align-items:center;gap:14px;padding:26px 60px 8px 28px}
html body .pr-up-overlay .pr-up-symbol{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#E8F2FA!important;color:var(--pr-up-p)!important}
html body .pr-up-overlay .pr-up-titel{margin:0!important;padding:0!important;font-size:22px!important;line-height:1.25!important;font-weight:600!important;color:var(--pr-up-d)!important;letter-spacing:0!important;text-transform:none!important;font-family:inherit!important}
html body .pr-up-overlay .pr-up-koerper{padding:10px 28px 6px}
html body .pr-up-scope .pr-up-text{margin:0 0 12px!important;font-size:17px!important;line-height:1.6!important;color:var(--pr-up-t)!important}
html body .pr-up-scope .pr-up-text strong{color:var(--pr-up-d)!important;font-weight:600!important}
html body .pr-up-scope .pr-up-text a{color:var(--pr-up-p)!important;text-decoration:underline!important;text-underline-offset:3px}
html body .pr-up-overlay .pr-up-fuss{display:flex;flex-wrap:wrap;gap:12px;padding:14px 28px 28px}
html body .pr-up-overlay .pr-up-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:12px 22px!important;border-radius:8px!important;font-weight:600!important;font-size:16px!important;line-height:1.2!important;font-family:inherit!important;text-decoration:none!important;cursor:pointer;border:2px solid var(--pr-up-p)!important;transition:background-color .2s,color .2s;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}
html body .pr-up-overlay .pr-up-btn--primaer{background:var(--pr-up-p)!important;color:#fff!important}
html body .pr-up-overlay .pr-up-btn--primaer:hover,html body .pr-up-overlay .pr-up-btn--primaer:focus-visible{background:var(--pr-up-d)!important;border-color:var(--pr-up-d)!important;color:#fff!important}
html body .pr-up-overlay .pr-up-btn--hell{background:#fff!important;color:var(--pr-up-p)!important}
html body .pr-up-overlay .pr-up-btn--hell:hover,html body .pr-up-overlay .pr-up-btn--hell:focus-visible{background:var(--pr-up-p)!important;color:#fff!important}
html body .pr-up-overlay .pr-up-zu{position:absolute!important;top:12px;right:12px;width:44px!important;height:44px!important;min-height:0!important;padding:0!important;border-radius:50%!important;border:0!important;background:#F2F8FC!important;color:var(--pr-up-d)!important;font-size:28px!important;line-height:1!important;cursor:pointer;display:flex!important;align-items:center;justify-content:center;box-shadow:none!important}
html body .pr-up-overlay .pr-up-zu:hover{background:#E8F2FA!important}
html body .pr-up-scope a:focus-visible,html body .pr-up-scope button:focus-visible{outline:3px solid var(--pr-up-a)!important;outline-offset:3px!important}
@media (max-width:600px){
	html body .pr-up-overlay{padding:12px;align-items:flex-end}
	html body .pr-up-overlay .pr-up-kopf{padding:22px 58px 6px 20px}
	html body .pr-up-overlay .pr-up-titel{font-size:20px!important}
	html body .pr-up-overlay .pr-up-koerper{padding:8px 20px 4px}
	html body .pr-up-overlay .pr-up-fuss{padding:12px 20px 22px}
	html body .pr-up-overlay .pr-up-btn{flex:1 1 100%}
}

/* Vertretung & Notfallnummern */
html body .pr-up-scope .pr-up-label{margin:0 0 6px!important;font-size:13px!important;font-weight:700!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#1E7A47!important}
html body .pr-up-scope .pr-up-vertretung{margin:0 0 14px;padding:14px 16px;border-radius:12px;background:#F1FAF5!important;border:1px solid #CFEBDB}
html body .pr-up-scope .pr-up-vertretung .pr-up-text{margin:0!important}
html body .pr-up-scope .pr-up-notfall{margin:6px 0 4px;padding:14px 16px;border-radius:12px;background:#FDF3F2!important;border:1px solid #F3D3CF}
html body .pr-up-scope .pr-up-notfall ul{list-style:none!important;margin:10px 0 2px!important;padding:0!important;display:grid;gap:8px}
html body .pr-up-scope details.pr-up-notfall{padding:4px 16px}
html body .pr-up-scope .pr-up-notfall summary{display:flex!important;align-items:center;gap:12px;min-height:44px;cursor:pointer;list-style:none!important;user-select:none}
html body .pr-up-scope .pr-up-notfall summary::-webkit-details-marker{display:none}
html body .pr-up-scope .pr-up-notfall summary::marker{content:none}
html body .pr-up-scope .pr-up-notfall summary .pr-up-label{margin:0!important}
html body .pr-up-scope .pr-up-kurz{margin-left:auto;font-size:14px;font-weight:700;color:#9B2C2C;white-space:nowrap;font-variant-numeric:tabular-nums}
html body .pr-up-scope .pr-up-pfeil{flex:0 0 auto;width:9px;height:9px;margin:0 4px 4px 0;border-right:2px solid var(--pr-up-d);border-bottom:2px solid var(--pr-up-d);transform:rotate(45deg);transition:transform .15s ease}
html body .pr-up-scope .pr-up-notfall[open] .pr-up-pfeil{transform:rotate(-135deg);margin:4px 4px 0 0}
html body .pr-up-scope .pr-up-notfall[open] .pr-up-kurz{visibility:hidden}
html body .pr-up-scope .pr-up-notfall summary:focus-visible{outline:3px solid var(--pr-up-a)!important;outline-offset:3px;border-radius:6px}
html body .pr-up-scope .pr-up-notfall li{display:flex!important;align-items:center;gap:12px;margin:0!important;padding:0!important}
html body .pr-up-scope .pr-up-notfall li span{display:flex;flex-direction:column;font-size:15px;line-height:1.35;color:var(--pr-up-t)}
html body .pr-up-scope .pr-up-notfall li strong{color:var(--pr-up-d)!important;font-weight:600}
html body .pr-up-scope .pr-up-notfall li em{font-style:normal;font-size:13px;color:#5C6B78}
html body .pr-up-scope .pr-up-nr{flex:0 0 auto;display:inline-flex!important;align-items:center;justify-content:center;min-width:104px;min-height:44px;padding:8px 12px;border-radius:10px;background:#fff!important;border:2px solid #C0392B!important;color:#9B2C2C!important;font-weight:700!important;font-size:16px!important;text-decoration:none!important;white-space:nowrap;font-variant-numeric:tabular-nums}
html body .pr-up-scope .pr-up-nr:hover,html body .pr-up-scope .pr-up-nr:focus-visible{background:#C0392B!important;color:#fff!important}
@media (max-width:600px){html body .pr-up-scope .pr-up-nr{min-width:92px;font-size:15px!important}}

/* Banner (Shortcode [praxis_urlaub_hinweis]) */
html body .pr-up-banner-wrap:empty{display:none}
html body .pr-up-scope .pr-up-banner{padding:20px 24px;border-radius:14px!important;background:#FFF6E3!important;border-left:5px solid #D98E04!important;margin:0 0 20px}
html body .pr-up-scope .pr-up-banner__titel{margin:0 0 8px!important;font-weight:600!important;font-size:18px!important;color:var(--pr-up-d)!important}
html body .pr-up-scope .pr-up-banner--kompakt{padding:14px 18px}
html body .pr-up-scope .pr-up-banner--kompakt .pr-up-text{font-size:15px!important;margin-bottom:6px!important}

/* Liste (Shortcode [praxis_urlaub_liste]) */
html body .pr-up-liste ul{list-style:none!important;margin:0!important;padding:0!important}
html body .pr-up-liste li{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid #DCE8F1}
html body .pr-up-liste li:last-child{border-bottom:0}
html body .pr-up-liste__zeit{font-weight:600;color:var(--pr-up-d)}
html body .pr-up-liste__vertretung{font-size:15px}

/* Rufnummern im Beitrag */
html body .pr-up-notfall-liste{list-style:none!important;padding:16px 18px!important;margin:8px 0 16px!important;border-radius:12px;background:#FDF3F2;border:1px solid #F3D3CF}
html body .pr-up-notfall-liste li{margin:4px 0!important}
html body .pr-up-notfall-liste a{font-weight:700;color:#9B2C2C!important;white-space:nowrap}
/* ---------- Urlaubskalender (Pop-up, Banner, Beitrag, Urlaubsverwaltung) ---------- */
html body .pr-up-scope .pr-up-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html body .pr-up-scope.pr-up-kal{display:block;max-width:640px;margin:2px 0 16px!important;padding:14px 14px 12px!important;border:1px solid #DCE8F1!important;border-radius:12px!important;background:#F7FBFE!important;font-size:14px;line-height:1.3;color:var(--pr-up-t);text-align:center}
html body .pr-up-kal .k-kopf{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
html body .pr-up-kal .k-titel{font-size:15px;font-weight:600;line-height:1.3;color:var(--pr-up-d)!important}
html body .pr-up-kal .k-kwlabel{flex:0 0 auto;padding:3px 9px;border-radius:999px;background:#E8F2FA!important;color:var(--pr-up-p)!important;font-size:12px;font-weight:700;letter-spacing:.03em;white-space:nowrap;font-variant-numeric:tabular-nums}
html body .pr-up-kal .k-blatt,html body .pr-up-kal .k-monat{display:inline-block;flex:0 0 auto;vertical-align:top;text-align:left}
html body .pr-up-kal .k-monate{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 24px}
html body .pr-up-kal table.k-tab{width:auto!important;max-width:none!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0 2px!important;margin:0!important;border:0!important;background:transparent!important;font-size:13px!important;line-height:1!important}
html body .pr-up-kal .k-tab tr,html body .pr-up-kal .k-tab th,html body .pr-up-kal .k-tab td{background:transparent!important;border:0!important;box-shadow:none!important}
html body .pr-up-kal .k-tab th,html body .pr-up-kal .k-tab td{position:relative;padding:0 0 9px!important;text-align:center!important;vertical-align:middle!important;line-height:1!important;font-family:inherit!important}
html body .pr-up-kal .k-tab thead th{padding:0 0 6px!important;font-size:11px!important;font-weight:700!important;letter-spacing:.04em;text-transform:uppercase;color:#5C6B78!important}
html body .pr-up-kal .k-tab abbr{text-decoration:none!important;border:0!important;cursor:help}
html body .pr-up-kal .k-tab th,html body .pr-up-kal .k-tab td{width:31px!important;min-width:0!important}
html body .pr-up-kal--woche .k-tab th,html body .pr-up-kal--woche .k-tab td{width:44px!important}
html body .pr-up-kal .k-tab .k-kw{width:24px!important;font-size:11px!important;font-weight:600!important;color:#8A99A6!important;font-variant-numeric:tabular-nums}
html body .pr-up-kal .k-tab thead th.k-we{color:#9AA7B2!important}
html body .pr-up-kal .k-t{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:27px;height:27px;border:2px solid transparent;border-radius:8px;font-size:13px;font-weight:500;line-height:1;color:var(--pr-up-t);font-variant-numeric:tabular-nums}
html body .pr-up-kal .k-t small{display:block;margin-top:2px;font-size:9.5px!important;font-weight:600;line-height:1;opacity:.8}
html body .pr-up-kal td.k-we .k-t{color:#9AA7B2}
html body .pr-up-kal td.k-ft .k-t{color:#B03A2E}
html body .pr-up-kal td.k-zu .k-t{background:var(--pr-up-p)!important;border-color:var(--pr-up-p);color:#fff!important;font-weight:700}
html body .pr-up-kal td.k-teil .k-t{background:#E3EEF8!important;border:2px dashed var(--pr-up-p);color:var(--pr-up-d)!important;font-weight:700}
html body .pr-up-kal td.k-auf .k-t{background:#F1FAF5!important;border-color:var(--pr-up-a);color:#1E7A47!important;font-weight:700}
html body .pr-up-kal td.k-heute .k-t{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--pr-up-d)}
/* Feiertag: kleiner roter Punkt */
html body .pr-up-kal td.k-ft .k-t::after{content:"";position:absolute;top:2px;right:2px;width:5px;height:5px;border-radius:50%;background:#C0392B;box-shadow:0 0 0 1.5px #fff}
/* Schulferien: feine, durchgehende Linie unter den Tagen (dezent) */
html body .pr-up-kal td.k-fe::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:3px;background:var(--pr-up-a);opacity:.55}
/* Wochenansicht: größere Felder mit Monatskürzel */
html body .pr-up-kal--woche .k-t{width:39px;height:42px;border-radius:10px;font-size:16px}
html body .pr-up-kal--woche .k-tab .k-kw{width:28px!important}
/* Legende & Zusatzinfos */
html body .pr-up-kal .k-legende{display:flex!important;flex-wrap:wrap;justify-content:center;gap:6px 14px;list-style:none!important;margin:10px 2px 0!important;padding:0!important;font-size:12px!important;line-height:1.3!important;color:#5C6B78!important}
html body .pr-up-kal .k-legende li{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;padding:0!important;list-style:none!important;font-size:12px!important;line-height:1.3!important;color:#5C6B78!important}
html body .pr-up-kal .k-legende li::before{content:none!important;display:none!important}
html body .pr-up-kal .k-legende li::marker{content:none!important}
html body .pr-up-kal .k-p{flex:0 0 auto;display:inline-block;width:12px;height:12px;border:1.5px solid transparent;border-radius:4px}
html body .pr-up-kal .k-p.k-zu{background:var(--pr-up-p);border-color:var(--pr-up-p)}
html body .pr-up-kal .k-p.k-teil{background:#E3EEF8;border:1.5px dashed var(--pr-up-p)}
html body .pr-up-kal .k-p.k-auf{background:#F1FAF5;border-color:var(--pr-up-a)}
html body .pr-up-kal .k-p.k-heute{background:#fff;border:2px solid var(--pr-up-d)}
html body .pr-up-kal .k-p.k-ft{width:7px;height:7px;margin:0 2px;border:0;border-radius:50%;background:#C0392B}
html body .pr-up-kal .k-p.k-fe{width:14px;height:3px;border:0;border-radius:2px;background:var(--pr-up-a);opacity:.7}
html body .pr-up-kal .k-aus,html body .pr-up-kal .k-legende li.k-aus{display:none!important}
html body .pr-up-kal .k-teiltext,html body .pr-up-kal .k-zusatz{margin:5px 2px 0!important;padding:0!important;text-align:center!important;font-size:12px!important;line-height:1.45!important;color:#5C6B78!important}
html body .pr-up-kal .k-teiltext{color:var(--pr-up-d)!important;font-weight:600!important}
html body .pr-up-overlay .pr-up-kal{margin:0 0 14px!important;padding:12px!important}
html body .pr-up-overlay .pr-up-kal .k-tab td{padding-bottom:9px!important}
html body .pr-up-overlay .pr-up-kal .k-legende{margin-top:8px!important;gap:4px 12px}
html body .pr-up-banner .pr-up-kal{background:#fff!important}
@media (max-width:600px){
	html body .pr-up-scope.pr-up-kal{padding:10px 8px!important}
	html body .pr-up-kal .k-tab .k-kw,html body .pr-up-kal--woche .k-tab .k-kw{width:22px!important;font-size:10px!important}
	html body .pr-up-kal--woche .k-tab th,html body .pr-up-kal--woche .k-tab td{width:40px!important}
	html body .pr-up-kal--woche .k-t{width:36px;height:40px;font-size:15px}
	html body .pr-up-kal .k-titel{font-size:14px}
}
@media print{html body .pr-up-kal td.k-zu .k-t{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media (prefers-reduced-motion:reduce){html body .pr-up-overlay,html body .pr-up-overlay .pr-up-dialog{transition:none!important}}
