.rivf-calendar{--rivf-green:#315b3d;--rivf-gold:#d9a928;--rivf-light:#f4f7f2;--rivf-border:#d7e0d5;display:grid;gap:1.5rem;max-width:1180px;margin:0 auto;color:#1e2a21}.rivf-calendar__header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;padding:1.5rem;border-radius:18px;background:linear-gradient(135deg,#f6f2dc,#eef5eb)}.rivf-calendar__header h1{margin:.15rem 0 .5rem}.rivf-calendar__eyebrow{margin:0;color:var(--rivf-green);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.rivf-calendar__panel,.rivf-calendar__filters,.rivf-calendar__detail{padding:1.4rem;border:1px solid var(--rivf-border);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(29,58,36,.06)}.rivf-calendar__filters,.rivf-calendar__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.rivf-calendar__filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.rivf-calendar label{display:grid;gap:.35rem;font-weight:650}.rivf-calendar input,.rivf-calendar textarea,.rivf-calendar select{box-sizing:border-box;width:100%;padding:.72rem .8rem;border:1px solid #9caf9e;border-radius:8px;background:#fff;color:#17201a;font:inherit}.rivf-calendar input:focus,.rivf-calendar textarea:focus,.rivf-calendar select:focus,.rivf-calendar__button:focus{outline:3px solid var(--rivf-gold);outline-offset:2px}.rivf-calendar__wide{grid-column:1/-1}.rivf-calendar__check{display:flex!important;grid-column:1/-1;align-items:center}.rivf-calendar__check input{width:auto}.rivf-calendar__button{display:inline-flex;justify-content:center;align-items:center;width:max-content;padding:.72rem 1rem;border:1px solid var(--rivf-green);border-radius:8px;background:var(--rivf-green);color:#fff!important;font-weight:700;text-decoration:none;cursor:pointer}.rivf-calendar__button--secondary{background:#fff!important;color:var(--rivf-green)!important}.rivf-calendar__list{display:grid;gap:1rem}.rivf-calendar__card{display:grid;grid-template-columns:150px 1fr;gap:1.2rem;padding:1.2rem;border:1px solid var(--rivf-border);border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(29,58,36,.06)}.rivf-calendar__card h2,.rivf-calendar__card p{margin:.35rem 0}.rivf-calendar__date{display:grid;align-content:start;gap:.25rem;padding:.8rem;border-radius:10px;background:var(--rivf-light);color:var(--rivf-green)}.rivf-calendar__badges{display:flex;flex-wrap:wrap;gap:.4rem}.rivf-calendar__badges span{padding:.25rem .55rem;border-radius:999px;background:#e8f0e6;color:var(--rivf-green);font-size:.78rem;font-weight:700}.rivf-calendar__empty{padding:2rem;border:2px dashed var(--rivf-border);border-radius:16px;text-align:center}.rivf-calendar__month-nav{display:flex;justify-content:space-between;gap:1rem;align-items:center}.rivf-calendar__month{overflow-x:auto}.rivf-calendar__weekdays,.rivf-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr))}.rivf-calendar__weekdays strong{padding:.6rem;background:var(--rivf-green);color:#fff;text-align:center}.rivf-calendar__day{min-height:120px;padding:.5rem;border:1px solid var(--rivf-border);background:#fff}.rivf-calendar__day.is-empty{background:#f5f5f5}.rivf-calendar__day>a{display:block;margin-top:.4rem;padding:.35rem;border-radius:5px;background:#e8f0e6;color:var(--rivf-green);font-size:.82rem;text-decoration:none}.rivf-calendar__detail{display:grid;gap:1rem}.rivf-calendar__detail h1{margin:0}.rivf-calendar__detail-image{width:100%;max-height:480px;border-radius:12px;object-fit:cover}.rivf-calendar__detail dl{display:grid;gap:.5rem;margin:0}.rivf-calendar__detail dl div{display:grid;grid-template-columns:140px 1fr;gap:.7rem}.rivf-calendar__detail dt{font-weight:700}.rivf-calendar__detail dd{margin:0}.rivf-calendar__table-wrap{overflow-x:auto}.rivf-calendar table{width:100%;border-collapse:collapse}.rivf-calendar th,.rivf-calendar td{padding:.65rem;border-bottom:1px solid var(--rivf-border);text-align:left;vertical-align:top}.rivf-calendar th{background:var(--rivf-light);white-space:nowrap}.rivf-calendar__inline-form{display:inline-block;margin:.15rem}.rivf-calendar__inline-form button{cursor:pointer}.rivf-calendar__inline-form button.is-danger{border:1px solid #8c2d22!important;border-radius:5px;background:#8c2d22!important;color:#fff!important}.rivf-calendar__notice{padding:1rem;border-radius:10px;font-weight:700}.rivf-calendar__notice--success{background:#e5f3e8;color:#1f562d}.rivf-calendar__notice--error{background:#fbe9e7;color:#8c2d22}@media(max-width:850px){.rivf-calendar__filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.rivf-calendar__header,.rivf-calendar__filters,.rivf-calendar__form,.rivf-calendar__card{grid-template-columns:1fr}.rivf-calendar__wide{grid-column:auto}.rivf-calendar__button{width:100%}.rivf-calendar__month-nav{display:grid;text-align:center}.rivf-calendar__detail dl div{grid-template-columns:1fr;gap:.15rem}}
.rivf-mail__warning{padding:1rem;border:2px solid #d9a928;border-radius:10px;background:#fff7d8;color:#4a3a06}.rivf-mail__choices{display:flex;flex-wrap:wrap;gap:.65rem;padding:1rem;border:1px solid var(--rivf-border);border-radius:10px}.rivf-mail__choices legend{padding:0 .35rem;font-weight:700}.rivf-mail__choices .rivf-calendar__check{grid-column:auto}.rivf-mail__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.rivf-mail__summary>div{padding:.85rem;border-radius:9px;background:var(--rivf-light)}.rivf-mail__summary dt{font-weight:700}.rivf-mail__summary dd{margin:.2rem 0 0}.rivf-mail__preview{overflow:auto;margin:1rem 0;border:1px solid var(--rivf-border);border-radius:12px;background:#f4f1e7}.rivf-mail__preview>table{border-collapse:separate}.rivf-mail__text-preview{overflow:auto;max-height:420px;padding:1rem;border-radius:8px;background:#f4f4f4;white-space:pre-wrap}.rivf-mail__confirm{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.2rem}.rivf-mail__confirm>p{flex-basis:100%;margin:0}.rivf-mail h3{margin-top:1.5rem}@media(max-width:620px){.rivf-mail__summary{grid-template-columns:1fr}.rivf-mail__confirm{display:grid}.rivf-mail__choices{display:grid}}
.rivf-mail__audience-help{padding:.9rem 1rem;border-left:5px solid var(--rivf-green);border-radius:8px;background:var(--rivf-light);font-weight:650}.rivf-mail__choice-panel{padding:1rem;border:1px solid var(--rivf-border);border-radius:12px;background:#fbfcfa}.rivf-mail__choice-panel legend{padding:0 .35rem;font-weight:750}.rivf-mail__choice-panel>p:first-of-type{margin-top:0}.rivf-mail__audience-ready .rivf-mail__choice-panel:not(.is-active){display:none}.rivf-mail__checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.rivf-mail__member-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-height:320px;overflow:auto;margin-top:.75rem;padding:.75rem;border:1px solid var(--rivf-border);border-radius:8px;background:#fff}.rivf-mail__member-list .rivf-calendar__check,.rivf-mail__checkbox-grid .rivf-calendar__check{padding:.45rem;border-radius:7px;background:#fff}.rivf-mail__member-list .rivf-calendar__check:hover,.rivf-mail__checkbox-grid .rivf-calendar__check:hover{background:#eef4ec}.rivf-mail__selection-count{margin-bottom:0;font-weight:700;color:var(--rivf-green)}.rivf-mail__selection-error{padding:.8rem;border-radius:8px;background:#fbe9e7;color:#8c2d22;font-weight:700}.rivf-mail__search{max-width:520px}@media(max-width:620px){.rivf-mail__checkbox-grid,.rivf-mail__member-list{grid-template-columns:1fr}}
.rivf-calendar__fieldset{margin:.5rem 0;padding:1rem;border:1px solid var(--rivf-border);border-radius:10px}.rivf-calendar__fieldset>legend{padding:0 .35rem;font-weight:700}.rivf-calendar__fieldset>p{margin-top:0}.rivf-calendar__fieldset .rivf-calendar__form{margin-top:1rem}
.rivf-mail__template-links{margin:1rem 0;padding:.85rem 1rem;border-left:5px solid var(--rivf-gold);border-radius:8px;background:#fff7d8}.rivf-mail__template-links small{display:inline-block;margin-top:.35rem}
.rivf-mail-templates code{padding:.1rem .3rem;border-radius:4px;background:#eef2ec}.rivf-mail-template__form{margin-top:1rem}.rivf-mail-template__form textarea{min-height:18rem;font-family:inherit;line-height:1.55}.rivf-mail-template__form input[type=color]{min-height:48px;padding:.25rem}.rivf-mail-template__delete{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--rivf-border)}.rivf-calendar__button--danger{border-color:#8c2d22!important;background:#8c2d22!important;color:#fff!important}
.rivf-mail__log-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-top:1.5rem}.rivf-mail__log-heading h3{margin:0}.rivf-mail__log-heading p{max-width:760px;margin:.35rem 0 0;color:#536057;font-size:.9rem}@media(max-width:700px){.rivf-mail__log-heading{display:grid;align-items:start}.rivf-mail__log-heading .rivf-calendar__button{width:100%}}
.rivf-calendar__save{margin-top:1.25rem;padding:1.1rem;border:1px solid var(--rivf-border);border-radius:12px;background:var(--rivf-light)}.rivf-calendar__save h2,.rivf-calendar__save>p{margin-top:0}.rivf-calendar__save-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.rivf-calendar__save-button{display:flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem .8rem;border:2px solid var(--rivf-green);border-radius:9px;background:#fff;color:var(--rivf-green)!important;font-weight:750;line-height:1.25;text-align:center;text-decoration:none}.rivf-calendar__save-button:hover{background:var(--rivf-green);color:#fff!important}.rivf-calendar__save-button:focus{outline:3px solid var(--rivf-gold);outline-offset:2px}.rivf-calendar__save-button--google{border-color:#1a73e8;color:#1558b0!important}.rivf-calendar__save-button--outlook,.rivf-calendar__save-button--microsoft{border-color:#1267b5;color:#0d579b!important}.rivf-calendar__save-button--google:hover{background:#1a73e8}.rivf-calendar__save-button--outlook:hover,.rivf-calendar__save-button--microsoft:hover{background:#1267b5}.rivf-calendar__save-note{margin:.8rem 0 0!important;color:#536057;font-size:.84rem}.rivf-calendar__save--compact{padding:.75rem 0 0;border:0;border-top:1px solid var(--rivf-border);border-radius:0;background:transparent}.rivf-calendar__save--compact summary{color:var(--rivf-green);font-weight:750;cursor:pointer}.rivf-calendar__save--compact .rivf-calendar__save-actions{margin-top:.75rem}.rivf-calendar__save--compact .rivf-calendar__save-button{min-height:40px;font-size:.88rem}@media(max-width:620px){.rivf-calendar__save-actions{grid-template-columns:1fr}}

.rivf-calendar__file-status{display:block;margin-top:.25rem;color:#536057;font-size:.9rem;font-weight:650}.rivf-calendar__file-status.is-error{padding:.7rem;border-radius:8px;background:#fbe9e7;color:#8c2d22}.rivf-calendar__upload-status{display:grid;gap:.65rem;padding:1rem;border:1px solid #d9a928;border-radius:10px;background:#fff7d8;color:#4a3a06}.rivf-calendar__upload-status[hidden]{display:none}.rivf-calendar__upload-status progress{width:100%;height:1rem;accent-color:var(--rivf-green)}.rivf-calendar__upload-status.is-complete{border-color:#4f865d;background:#e5f3e8;color:#1f562d}.rivf-calendar__upload-status.is-error{border-color:#b24b3f;background:#fbe9e7;color:#8c2d22}.rivf-calendar__form.is-uploading{cursor:progress}.rivf-calendar__form.is-uploading button{cursor:progress;opacity:.65}
.rivf-calendar{width:100%;min-width:0}.rivf-calendar,.rivf-calendar>*{box-sizing:border-box}.rivf-calendar>*,.rivf-calendar__form>*,.rivf-calendar__filters>*,.rivf-calendar__card>*{min-width:0}.rivf-calendar fieldset{min-inline-size:0}

.rivf-calendar__venue{display:grid;gap:1rem}.rivf-calendar__venue>p{margin:0}.rivf-calendar__venue-fields{margin:0}.rivf-calendar__venue-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.rivf-calendar__venue-actions span{font-weight:650}.rivf-calendar__location{margin-top:.4rem;padding:1rem;border:1px solid var(--rivf-border);border-radius:12px;background:var(--rivf-light)}.rivf-calendar__location h2{margin-top:0}.rivf-calendar__location-map{width:100%;height:min(52vh,460px);min-height:320px;border:1px solid #8d887c;border-radius:10px;background:#e9e6dc;z-index:0}.rivf-calendar__location-map--editor{height:440px}.rivf-calendar__venue-privacy{color:#536057;font-size:.88rem}.rivf-calendar__venue .rivf-calendar__check{margin:0}@media(max-width:620px){.rivf-calendar__venue-actions{align-items:stretch;flex-direction:column}.rivf-calendar__venue-actions .rivf-calendar__button{width:100%}.rivf-calendar__location-map{height:55vh;min-height:300px}}

.rivf-calendar{box-sizing:border-box;max-width:var(--rivf-shortcode-max-width,1180px);margin:var(--rivf-shortcode-margin,0 auto);padding:var(--rivf-shortcode-padding,0);border-radius:var(--rivf-shortcode-radius,0);background:var(--rivf-shortcode-background,transparent);color:var(--rivf-shortcode-text-color,inherit);font-size:var(--rivf-shortcode-font-size,inherit);text-align:var(--rivf-shortcode-alignment,left)}
.rivf-calendar h2,.rivf-calendar h3{color:var(--rivf-shortcode-heading-color,inherit);font-family:inherit}.rivf-calendar__header h2{margin:.15rem 0 .5rem}.rivf-calendar__panel,.rivf-calendar__filters,.rivf-calendar__detail,.rivf-calendar__card{background:var(--wp--preset--color--base,#fff)}
.rivf-calendar__card h2 a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.15em}.rivf-calendar__month-nav{display:grid;gap:1rem;padding:1rem;border:1px solid var(--rivf-border);border-radius:14px;background:var(--wp--preset--color--base,#fff);text-align:center}.rivf-calendar__month-nav h2{margin:0}.rivf-calendar__month-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.rivf-calendar__month-links a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:.5rem;border:1px solid var(--rivf-green);border-radius:8px;color:var(--rivf-green);font-weight:700;text-decoration:none}.rivf-calendar__month-links a:focus,.rivf-calendar__day>a:focus{outline:3px solid var(--rivf-gold);outline-offset:2px}.rivf-calendar__month-select{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.75rem;align-items:end;text-align:left}.rivf-calendar__day>time{font-weight:750}.rivf-calendar__day>a{display:grid;gap:.15rem}.rivf-calendar__month-category{font-size:.72rem;font-weight:750}.rivf-calendar__month-category::before{content:"["}.rivf-calendar__month-category::after{content:"]"}
@media(max-width:620px){.rivf-calendar__month-links{grid-template-columns:repeat(2,minmax(0,1fr))}.rivf-calendar__month-links a:nth-child(3){grid-column:1/-1;grid-row:1}.rivf-calendar__month-select{grid-template-columns:1fr}.rivf-calendar__month-select .rivf-calendar__button{width:100%}.rivf-calendar__month{overflow:visible}.rivf-calendar__weekdays{display:none}.rivf-calendar__days{display:grid;grid-template-columns:1fr;gap:.65rem}.rivf-calendar__day{display:grid;min-height:0;gap:.35rem;padding:.75rem;border-radius:10px}.rivf-calendar__day.is-empty,.rivf-calendar__day:not(.has-events){display:none}.rivf-calendar__day>time{font-size:0}.rivf-calendar__day>time::after{content:attr(data-label);font-size:1rem}.rivf-calendar__day>a{margin-top:0;padding:.6rem}}

/* Lange Termintitel innerhalb ihrer Karte halten, auch bei großen Theme-Überschriften. */
.rivf-calendar__card{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}
.rivf-calendar__card>div:last-child,.rivf-calendar__card h2,.rivf-calendar__card h2 a{min-width:0;max-width:100%}
.rivf-calendar__card h2{font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.2;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.rivf-calendar__card h2 a{display:block;overflow-wrap:anywhere}
@media(max-width:620px){.rivf-calendar__card{padding:1rem}.rivf-calendar__card h2{font-size:clamp(1.35rem,7vw,1.7rem)}}
