
.sfcc-page{max-width:1280px;margin:24px auto;padding:0 12px}
.sfcc-widget,.sfcc-detail{margin:0 0 20px 0;padding:22px;border:1px solid #1f2a3d1a;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);box-shadow:0 18px 40px rgba(15,23,42,.08);overflow:hidden}
.sfcc-widget:before,.sfcc-detail:before{content:"";display:block;height:4px;margin:-22px -22px 18px -22px;background:linear-gradient(90deg,#1d4ed8,#0f766e,#7c3aed)}
.sfcc-head,.sfcc-detail-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}
.sfcc-head h2,.sfcc-detail-header h2{margin:0;font-size:32px;line-height:1.15;color:#132238;font-weight:800}
.sfcc-subtitle{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:6px 12px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:700;font-size:13px}
.sfcc-subtitle:before{content:"📍"}
.sfcc-head-links{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.sfcc-month-title{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#475569}
.sfcc-overview-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;background:#132238;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 8px 18px rgba(19,34,56,.18);transition:transform .15s ease, box-shadow .15s ease}
.sfcc-overview-link:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(19,34,56,.22)}
.sfcc-layout,.sfcc-detail-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(340px,.95fr);gap:20px}
.sfcc-left,.sfcc-right,.sfcc-detail-main,.sfcc-detail-side{min-width:0}
.sfcc-grid-wrap,.sfcc-upcoming,.sfcc-detail-box,.sfcc-map-box,.sfcc-detail-scene,.sfcc-hotspots{border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.sfcc-grid-wrap{padding:16px}
.sfcc-weekdays,.sfcc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.sfcc-day-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.sfcc-day-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.sfcc-badge-scene{background:#ede9fe;color:#5b21b6}
.sfcc-weekdays{margin-bottom:10px}
.sfcc-weekdays span{display:flex;align-items:center;justify-content:center;height:34px;border-radius:10px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.sfcc-day{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;min-height:78px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.sfcc-day:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,23,42,.06)}
.sfcc-day-out{opacity:.42;background:#f8fafc}
.sfcc-day-has-events{background:linear-gradient(180deg,#ecfdf5 0%,#d1fae5 100%);border-color:#86efac}
.sfcc-day-has-scenes{box-shadow:inset 0 0 0 2px rgba(139,92,246,.12)}
.sfcc-day-has-birthdays{box-shadow:inset 0 0 0 2px rgba(245,158,11,.14)}
.sfcc-day-busy{border-color:#f59e0b;background:linear-gradient(180deg,#fff7ed 0%,#ffedd5 100%)}
.sfcc-day-number{font-weight:800;font-size:17px;color:#132238}
.sfcc-day-markers{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.sfcc-mini-marker{display:inline-flex;width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 3px rgba(255,255,255,.65)}
.sfcc-mini-marker-event{background:#0f766e}
.sfcc-mini-marker-scene{background:#7c3aed}
.sfcc-mini-marker-birthday{background:#f59e0b}
.sfcc-mini-marker-busy{background:#dc2626}
.sfcc-day-events,.sfcc-day-scenes,.sfcc-day-birthdays{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.sfcc-day-event-item,.sfcc-day-scene-item,.sfcc-day-birthday-item{font-size:12px;line-height:1.35;border-radius:10px;padding:6px 8px;color:#334155}
.sfcc-day-event-item{background:#ecfdf5;border:1px solid #bbf7d0}
.sfcc-day-event-item a{color:#14532d;text-decoration:none;font-weight:700}
.sfcc-day-event-item a:hover{text-decoration:underline}
.sfcc-day-scene-item{background:#f8fafc;border:1px solid #dbeafe}
.sfcc-day-birthday-item{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:700}
.sfcc-day-event-more,.sfcc-day-scene-more,.sfcc-day-birthday-more{font-size:11px;color:#64748b;padding-left:2px}
.sfcc-badge{position:absolute;right:10px;bottom:10px;display:inline-flex;min-width:24px;height:24px;padding:0 7px;align-items:center;justify-content:center;border-radius:999px;background:#0f766e;color:#fff;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(15,118,110,.25)}
.sfcc-right{display:flex;flex-direction:column;gap:16px}.sfcc-upcoming{padding:16px}.sfcc-right .sfcc-upcoming{position:sticky;top:14px}
.sfcc-upcoming h3,.sfcc-detail-box h3,.sfcc-map-box h3,.sfcc-hotspots h3{margin:0 0 14px 0;font-size:17px;color:#132238;font-weight:800}
.sfcc-legend-list{display:grid;gap:10px}
.sfcc-legend-item{display:flex;align-items:center;gap:10px;color:#475569;font-size:13px;font-weight:700}
.sfcc-legend-dot{display:inline-flex;width:12px;height:12px;border-radius:999px}
.sfcc-legend-dot-event{background:#0f766e}
.sfcc-legend-dot-scene{background:#7c3aed}
.sfcc-legend-dot-birthday{background:#f59e0b}
.sfcc-legend-dot-busy{background:#dc2626}
.sfcc-upcoming ul,.sfcc-detail-list,.sfcc-detail-meta{list-style:none;margin:0;padding:0}
.sfcc-event{padding:14px 0;border-top:1px solid #edf2f7}
.sfcc-event:first-child{border-top:0;padding-top:0}
.sfcc-event:last-child{padding-bottom:0}
.sfcc-event-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:800;font-size:15px;color:#132238;margin-bottom:6px}
.sfcc-event-title a{text-decoration:none;color:#132238}
.sfcc-event-title a:hover{color:#1d4ed8}
.sfcc-event-meta,.sfcc-event-teaser,.sfcc-scene,.sfcc-detail-teaser,.sfcc-map-meta{color:#64748b}
.sfcc-event-meta{font-size:13px;line-height:1.5}
.sfcc-event-meta a,.sfcc-map-meta a{text-decoration:none;color:#1d4ed8;font-weight:700}
.sfcc-event-teaser,.sfcc-scene{margin-top:6px;font-size:13px;line-height:1.55}
.sfcc-empty{padding:4px 0;color:#64748b}
.sfcc-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:800;vertical-align:middle}
.sfcc-map-box{overflow:hidden}
.sfcc-map-box h3{padding:16px 16px 0 16px}
.sfcc-map-box iframe{display:block;width:100%;height:280px;border:0;margin-top:12px}
.sfcc-map-meta{padding:0 16px 16px 16px;font-size:13px;line-height:1.6}
.sfcc-detail-box{padding:16px;margin-bottom:16px}
.sfcc-detail-teaser{margin-top:10px;font-size:15px;line-height:1.6}
.sfcc-detail-meta li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid #edf2f7}
.sfcc-detail-meta li:first-child{border-top:0}
.sfcc-detail-meta strong{color:#132238}
.sfcc-detail-scene{padding:16px;border-style:dashed;background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);margin-bottom:16px}
.sfcc-payload{overflow:auto;white-space:pre-wrap;word-break:break-word;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}

.sfcc-panel-label{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px 0;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#64748b}
.sfcc-panel-label:before{content:"";display:inline-block;width:8px;height:8px;border-radius:999px;background:#1d4ed8}
.sfcc-map-box,.sfcc-hotspots{padding:16px}
.sfcc-map-box iframe{border-radius:14px}
.sfcc-hotspots-list{display:flex;flex-direction:column;gap:12px}
.sfcc-hotspot{padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
.sfcc-hotspot-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.sfcc-hotspot-title strong{color:#132238;font-size:15px}
.sfcc-hotspot-meta{font-size:13px;line-height:1.55;color:#64748b}
.sfcc-hotspot-owner{margin-top:8px;padding-top:8px;border-top:1px dashed #e2e8f0;font-size:13px;color:#334155}
.sfcc-hotspot-owner strong{color:#132238}
.sfcc-overview-link.sfcc-overview-link-muted{background:#eef2ff;color:#1e3a8a;box-shadow:none}

@media (max-width: 1050px){.sfcc-layout,.sfcc-detail-layout{grid-template-columns:1fr}.sfcc-right{order:-1}.sfcc-map-box iframe{height:240px}}
@media (max-width: 720px){.sfcc-page{padding:0 8px}.sfcc-widget,.sfcc-detail{padding:16px;border-radius:16px}.sfcc-widget:before,.sfcc-detail:before{margin:-16px -16px 14px -16px}.sfcc-head,.sfcc-detail-header{flex-direction:column}.sfcc-head-links{align-items:flex-start}.sfcc-head h2,.sfcc-detail-header h2{font-size:26px}.sfcc-grid-wrap,.sfcc-upcoming,.sfcc-detail-box{padding:14px}.sfcc-weekdays,.sfcc-grid{gap:8px}.sfcc-day{min-height:60px;padding:10px}.sfcc-weekdays span{height:28px;font-size:11px}}

.sfcc-map-box{padding:18px}
.sfcc-citymap-shell{display:grid;gap:14px}
.sfcc-leaflet-map{height:340px;border-radius:16px;border:1px solid #dbe3ef;overflow:hidden;background:#e5eef9}
.sfcc-map-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.sfcc-map-actions{display:flex;gap:10px;flex-wrap:wrap}
.sfcc-map-action{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid #cbd5e1;background:#fff;color:#132238;text-decoration:none;font-weight:700;cursor:pointer}
.sfcc-map-action-link{background:#132238;color:#fff;border-color:#132238}
.sfcc-map-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sfcc-map-location{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;border-radius:14px;border:1px solid #dbe3ef;background:#f8fafc;text-align:left;cursor:pointer;transition:all .15s ease}
.sfcc-map-location:hover,.sfcc-map-location.is-active{transform:translateY(-1px);border-color:#93c5fd;background:#eff6ff;box-shadow:0 8px 20px rgba(29,78,216,.10)}
.sfcc-map-location-title{font-weight:800;color:#132238}
.sfcc-map-location-district{font-size:12px;color:#64748b;font-weight:700}
.sfcc-map-location-meta,.sfcc-map-location-owner{font-size:12px;color:#475569;line-height:1.45}
.sfcc-map-empty{display:grid;gap:12px;padding:16px;border-radius:16px;background:#f8fafc;border:1px dashed #cbd5e1}
.sfcc-map-empty-title{font-size:16px;font-weight:800;color:#132238}
.sfcc-map-empty-text{font-size:13px;color:#475569;line-height:1.55}
.sfcc-popup{line-height:1.45}
.leaflet-popup-content-wrapper{border-radius:14px}
.leaflet-popup-content{margin:12px 14px}

.sfcc-rp-status .sfcc-rp-meta{display:grid;gap:8px;font-size:13px;line-height:1.5}
.sfcc-rp-status h3{text-transform:none}


/* Lesbare Szenen im Monatskalender */
.sfcc-day{
    overflow:hidden;
}
.sfcc-day-scenes{
    margin-top:8px;
    display:flex;
    flex-direction:column;
    gap:5px;
    min-width:0;
}
.sfcc-day-scene-item{
    padding:0 !important;
    overflow:hidden;
    border-radius:9px;
    border:1px solid #ddd6fe;
    background:#f5f3ff;
}
.sfcc-day-scene-link{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:6px;
    width:100%;
    box-sizing:border-box;
    padding:6px 7px;
    text-decoration:none;
    color:#2f235f;
}
.sfcc-day-scene-title{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
    line-height:1.25;
    font-weight:800;
}
.sfcc-day-scene-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:72px;
    padding:2px 6px;
    border-radius:999px;
    background:#ede9fe;
    color:#5b21b6;
    font-size:9px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.03em;
    white-space:nowrap;
}
.sfcc-day-scene-status-beendet .sfcc-day-scene-status{
    background:#ffedd5;
    color:#9a3412;
}
.sfcc-day-scene-status-archiviert .sfcc-day-scene-status,
.sfcc-day-scene-status-archiviert-automatisch .sfcc-day-scene-status{
    background:#e2e8f0;
    color:#475569;
}
.sfcc-day-scene-more{
    font-size:10px;
    font-weight:800;
    color:#64748b;
    padding:2px 4px;
}

/* Mehr Platz für lesbare Inhalte in Kalenderzellen */
.sfcc-day{
    min-height:112px;
}
.sfcc-grid{
    align-items:stretch;
}

/* Große City-Map-Box bleibt ausgeblendet; der obere Button bleibt sichtbar */
.sfcc-citymap-card{
    display:none !important;
}

@media (max-width: 900px){
    .sfcc-day-scene-link{
        grid-template-columns:1fr;
        gap:3px;
    }
    .sfcc-day-scene-status{
        justify-self:start;
        max-width:100%;
    }
}


/* === Lesbare Szenen im Kalender - Fix v1300 === */
.sfcc-grid-wrap {
  overflow: visible;
}

.sfcc-weekdays,
.sfcc-grid {
  gap: 12px;
}

.sfcc-day {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 112px;
  padding: 12px;
  overflow: visible;
}

.sfcc-day-top {
  width: 100%;
  flex: 0 0 auto;
}

.sfcc-day-scenes {
  width: 100%;
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  min-width: 0;
}

.sfcc-day-scene-item {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0;
  border: 1px solid #d8e3f5;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .06);
  overflow: hidden;
}

.sfcc-day-scene-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 9px;
  color: #0f172a;
  text-decoration: none;
  min-width: 0;
}

.sfcc-day-scene-link:hover {
  background: #f8fbff;
  text-decoration: none;
}

.sfcc-day-scene-title {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  color: #0f172a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.sfcc-day-scene-status {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 2px 7px;
  border-radius: 999px;
  background: #eef2ff;
  color: #3730a3;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.sfcc-day-scene-status-beendet .sfcc-day-scene-status {
  background: #fff7ed;
  color: #9a3412;
}

.sfcc-day-scene-status-archiviert .sfcc-day-scene-status {
  background: #f1f5f9;
  color: #475569;
}

.sfcc-day-scene-more {
  width: 100%;
  box-sizing: border-box;
  padding: 5px 8px;
  border-radius: 8px;
  background: #f8fafc;
  color: #475569;
  font-size: 11px;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .sfcc-layout,
  .sfcc-detail-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .sfcc-weekdays,
  .sfcc-grid {
    gap: 8px;
  }

  .sfcc-day {
    min-height: 96px;
    padding: 8px;
  }

  .sfcc-day-number {
    font-size: 15px;
  }

  .sfcc-day-scene-title {
    font-size: 11px;
  }
}


/* Full-width calendar layout: no right sidebar */
.sfcc-layout-full{
    display:block;
}
.sfcc-layout-full .sfcc-left{
    width:100%;
    max-width:none;
}
.sfcc-top-panels{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    align-items:stretch;
    margin:0 0 18px 0;
}
.sfcc-top-panels > .sfcc-upcoming{
    flex:1 1 260px;
    min-width:240px;
}
.sfcc-bottom-panels{
    margin-top:18px;
}
.sfcc-bottom-panels .sfcc-upcoming{
    width:100%;
}
.sfcc-grid-wrap{
    width:100%;
}
.sfcc-grid,
.sfcc-weekdays{
    grid-template-columns:repeat(7,minmax(0,1fr));
}
.sfcc-day{
    min-height:154px;
    overflow:visible;
}
.sfcc-day-scenes{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-top:12px;
    width:100%;
}
.sfcc-day-scene{
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px;
    align-items:start;
    width:100%;
    min-width:0;
    padding:8px 9px;
    border-radius:10px;
    border:1px solid rgba(37,99,235,.16);
    background:#fff;
    box-shadow:0 6px 15px rgba(15,23,42,.06);
    font-size:12px;
    line-height:1.25;
}
.sfcc-day-scene a,
.sfcc-day-scene-title{
    min-width:0;
    overflow:hidden;
    overflow-wrap:anywhere;
    word-break:normal;
    font-weight:700;
}
.sfcc-scene-status,
.sfcc-day-scene-status{
    white-space:nowrap;
    align-self:start;
    font-size:10px;
    line-height:1;
    padding:4px 6px;
    border-radius:999px;
    background:#eef2ff;
    color:#3730a3;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.sfcc-right{
    display:none !important;
}
@media (max-width:900px){
    .sfcc-top-panels{
        display:block;
    }
    .sfcc-top-panels > .sfcc-upcoming{
        margin-bottom:12px;
    }
    .sfcc-grid,
    .sfcc-weekdays{
        min-width:760px;
    }
    .sfcc-grid-wrap{
        overflow-x:auto;
    }
}


/* Layout correction: only legend above calendar; all info panels below */
.sfcc-top-panels.sfcc-legend-row{
    display:block;
    margin:0 0 18px 0;
}
.sfcc-top-panels.sfcc-legend-row .sfcc-upcoming{
    width:100%;
    max-width:none;
}
.sfcc-bottom-panels{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:22px;
    align-items:start;
}
.sfcc-bottom-panels > *{
    min-width:0;
}
.sfcc-bottom-panels .sfcc-upcoming,
.sfcc-bottom-panels .sfcc-status-box{
    width:100%;
}
.sfcc-bottom-panels .sfcc-scene-sidebar{
    width:100%;
}
.sfcc-day{
    min-height:170px;
}
.sfcc-day-scene{
    grid-template-columns:minmax(0,1fr);
    gap:5px;
}
.sfcc-day-scene-status,
.sfcc-scene-status{
    justify-self:start;
}
@media (max-width:1050px){
    .sfcc-bottom-panels{
        grid-template-columns:1fr;
    }
}


/* Feather scene markers: compact day cells, readable scene info on hover/focus */
.sfcc-grid-wrap{
    overflow: visible;
}

.sfcc-grid,
.sfcc-day{
    overflow: visible;
}

.sfcc-day{
    min-height: 104px;
    flex-direction: column;
    gap: 8px;
}

.sfcc-day-top{
    width: 100%;
}

.sfcc-day-scenes-icons{
    width: 100%;
    margin-top: auto;
}

.sfcc-scene-icon-row{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    width: 100%;
}

.sfcc-scene-feather{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #c4b5fd;
    color: #6d28d9;
    text-decoration: none;
    box-shadow: 0 6px 14px rgba(109,40,217,.12);
    cursor: help;
    z-index: 1;
}

.sfcc-scene-feather:hover,
.sfcc-scene-feather:focus{
    z-index: 50;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(109,40,217,.20);
    outline: none;
}

.sfcc-scene-feather-symbol{
    font-size: 16px;
    line-height: 1;
}

.sfcc-scene-feather-aktiv{
    border-color: #93c5fd;
    color: #1d4ed8;
}

.sfcc-scene-feather-beendet{
    border-color: #fdba74;
    color: #c2410c;
}

.sfcc-scene-feather-archiviert{
    border-color: #cbd5e1;
    color: #475569;
    background: #f8fafc;
}

.sfcc-scene-tooltip{
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    transform: translateX(-50%) translateY(4px);
    width: min(270px, 82vw);
    padding: 12px;
    border-radius: 14px;
    background: #0f172a;
    color: #ffffff;
    box-shadow: 0 18px 38px rgba(15,23,42,.30);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
    font-size: 12px;
    line-height: 1.45;
    text-align: left;
    white-space: normal;
}

.sfcc-scene-tooltip:after{
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    border: 8px solid transparent;
    border-top-color: #0f172a;
}

.sfcc-scene-feather:hover .sfcc-scene-tooltip,
.sfcc-scene-feather:focus .sfcc-scene-tooltip,
.sfcc-scene-feather:focus-within .sfcc-scene-tooltip{
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.sfcc-scene-tooltip strong{
    display: block;
    margin: 0 0 6px;
    font-size: 13px;
    line-height: 1.25;
    color: #ffffff;
}

.sfcc-scene-tooltip span,
.sfcc-scene-tooltip small{
    display: block;
    margin-top: 4px;
    color: #dbeafe;
}

.sfcc-scene-tooltip b{
    color: #ffffff;
}

.sfcc-scene-tooltip small{
    margin-top: 8px;
    color: #cbd5e1;
}

.sfcc-scene-tooltip-status{
    display: inline-flex;
    margin-bottom: 6px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: #ffffff;
    font-style: normal;
    font-weight: 800;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.sfcc-scene-count{
    margin-top: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
}

.sfcc-day-scene-item,
.sfcc-day-scene-more,
.sfcc-day-scene-link,
.sfcc-day-scene-title,
.sfcc-day-scene-status{
    display: none !important;
}

@media (max-width: 760px){
    .sfcc-scene-feather{
        width: 24px;
        height: 24px;
    }

    .sfcc-scene-feather-symbol{
        font-size: 14px;
    }

    .sfcc-scene-tooltip{
        left: 0;
        transform: translateY(4px);
    }

    .sfcc-scene-feather:hover .sfcc-scene-tooltip,
    .sfcc-scene-feather:focus .sfcc-scene-tooltip,
    .sfcc-scene-feather:focus-within .sfcc-scene-tooltip{
        transform: translateY(0);
    }

    .sfcc-scene-tooltip:after{
        left: 18px;
    }
}


/* === CSS-Fix: Tooltip über Kalenderzellen, sauberer sichtbar === */
.sfcc-grid-wrap,
.sfcc-grid,
.sfcc-day {
    overflow: visible !important;
}

.sfcc-grid {
    position: relative;
}

.sfcc-day {
    position: relative;
    z-index: 1;
}

.sfcc-day:hover,
.sfcc-day:focus-within {
    z-index: 999 !important;
}

.sfcc-scene-feather {
    z-index: 2;
}

.sfcc-scene-feather:hover,
.sfcc-scene-feather:focus {
    z-index: 1000 !important;
}

.sfcc-scene-tooltip {
    z-index: 9999 !important;
    width: 280px;
    max-width: 280px;
    bottom: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    border: 1px solid rgba(255,255,255,.10);
    background: #101827;
    box-shadow: 0 24px 55px rgba(15,23,42,.42);
}

.sfcc-scene-feather:hover .sfcc-scene-tooltip,
.sfcc-scene-feather:focus .sfcc-scene-tooltip,
.sfcc-scene-feather:focus-within .sfcc-scene-tooltip {
    transform: translateX(-50%) translateY(0);
}

/* Verhindert, dass Tooltips an den Kalenderseiten unschön rauslaufen */
.sfcc-grid .sfcc-day:nth-child(7n + 1) .sfcc-scene-tooltip,
.sfcc-grid .sfcc-day:nth-child(7n + 2) .sfcc-scene-tooltip {
    left: 0;
    transform: translateY(6px);
}

.sfcc-grid .sfcc-day:nth-child(7n + 1) .sfcc-scene-feather:hover .sfcc-scene-tooltip,
.sfcc-grid .sfcc-day:nth-child(7n + 1) .sfcc-scene-feather:focus .sfcc-scene-tooltip,
.sfcc-grid .sfcc-day:nth-child(7n + 2) .sfcc-scene-feather:hover .sfcc-scene-tooltip,
.sfcc-grid .sfcc-day:nth-child(7n + 2) .sfcc-scene-feather:focus .sfcc-scene-tooltip {
    transform: translateY(0);
}

.sfcc-grid .sfcc-day:nth-child(7n + 1) .sfcc-scene-tooltip:after,
.sfcc-grid .sfcc-day:nth-child(7n + 2) .sfcc-scene-tooltip:after {
    left: 18px;
}

.sfcc-grid .sfcc-day:nth-child(7n) .sfcc-scene-tooltip,
.sfcc-grid .sfcc-day:nth-child(7n - 1) .sfcc-scene-tooltip {
    left: auto;
    right: 0;
    transform: translateY(6px);
}

.sfcc-grid .sfcc-day:nth-child(7n) .sfcc-scene-feather:hover .sfcc-scene-tooltip,
.sfcc-grid .sfcc-day:nth-child(7n) .sfcc-scene-feather:focus .sfcc-scene-tooltip,
.sfcc-grid .sfcc-day:nth-child(7n - 1) .sfcc-scene-feather:hover .sfcc-scene-tooltip,
.sfcc-grid .sfcc-day:nth-child(7n - 1) .sfcc-scene-feather:focus .sfcc-scene-tooltip {
    transform: translateY(0);
}

.sfcc-grid .sfcc-day:nth-child(7n) .sfcc-scene-tooltip:after,
.sfcc-grid .sfcc-day:nth-child(7n - 1) .sfcc-scene-tooltip:after {
    left: auto;
    right: 18px;
    transform: none;
}

/* Icons etwas ruhiger und lesbarer */
.sfcc-scene-icon-row {
    gap: 7px;
}

.sfcc-scene-feather {
    width: 30px;
    height: 30px;
    background: #fff;
}

.sfcc-scene-count {
    width: 100%;
    margin-top: 7px;
    font-size: 11px;
    color: #475569;
}

/* Mehr Luft in den Tageszellen */
.sfcc-day {
    min-height: 118px;
    padding: 14px;
}

@media (max-width: 760px) {
    .sfcc-scene-tooltip {
        width: 240px;
        max-width: 240px;
    }
}


/* === FIX NUR UNTEN: Panels unter dem Kalender dürfen nicht überlappen === */
.sfcc-bottom-panels{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:start !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin-top:24px !important;
}

.sfcc-bottom-panels > *,
.sfcc-bottom-panels .sfcc-upcoming,
.sfcc-bottom-panels .sfcc-status-box,
.sfcc-bottom-panels .sfcc-scene-sidebar{
    position:static !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    margin:0 !important;
}

.sfcc-bottom-panels .sfcc-upcoming{
    overflow:hidden !important;
}

.sfcc-bottom-panels .sfcc-event,
.sfcc-bottom-panels .sfcc-scene,
.sfcc-bottom-panels .sfcc-event-title,
.sfcc-bottom-panels .sfcc-event-meta{
    min-width:0 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}

.sfcc-bottom-panels .sfcc-event-title{
    display:block !important;
}

@media (max-width:1050px){
    .sfcc-bottom-panels{
        grid-template-columns:1fr !important;
    }
}


/* === FIX: Legende oben kompakt + Kalender rutscht direkt darunter === */
.sfcc-widget{
    box-sizing:border-box !important;
    overflow:visible !important;
}

/* Die Legende soll keine riesige leere Fläche erzeugen */
.sfcc-top-panels,
.sfcc-top-panels.sfcc-legend-row{
    display:block !important;
    width:100% !important;
    margin:0 0 16px 0 !important;
    padding:0 !important;
    min-height:0 !important;
    height:auto !important;
}

.sfcc-top-panels > *,
.sfcc-top-panels.sfcc-legend-row > *,
.sfcc-top-panels .sfcc-upcoming,
.sfcc-top-panels.sfcc-legend-row .sfcc-upcoming{
    position:static !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
}

/* Legendenkarte kompakt statt über die ganze Höhe */
.sfcc-top-panels .sfcc-upcoming{
    padding:16px 18px !important;
    border-radius:16px !important;
    overflow:hidden !important;
}

.sfcc-top-panels .sfcc-upcoming h3{
    margin:0 0 12px 0 !important;
}

.sfcc-top-panels .sfcc-legend-list{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px 22px !important;
    align-items:center !important;
}

.sfcc-top-panels .sfcc-legend-item{
    margin:0 !important;
    white-space:normal !important;
}

/* Kalender direkt nach der Legende, keine seitliche Alt-Grid-Struktur */
.sfcc-layout,
.sfcc-layout-full{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

.sfcc-left{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
}

.sfcc-right{
    display:none !important;
}

/* Kalender-Box volle Breite und sauber ausgerichtet */
.sfcc-grid-wrap{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:16px !important;
    overflow:visible !important;
}

.sfcc-weekdays,
.sfcc-grid{
    width:100% !important;
    box-sizing:border-box !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    gap:12px !important;
}

/* Keine unnötige große Leerfläche in Tageszellen */
.sfcc-day{
    min-height:128px !important;
    box-sizing:border-box !important;
}

/* Untere Panels sauber unter dem Kalender */
.sfcc-bottom-panels{
    clear:both !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:start !important;
    margin-top:22px !important;
    width:100% !important;
}

@media (max-width:1050px){
    .sfcc-bottom-panels{
        grid-template-columns:1fr !important;
    }
}

@media (max-width:760px){
    .sfcc-grid-wrap{
        overflow-x:auto !important;
    }

    .sfcc-weekdays,
    .sfcc-grid{
        min-width:760px !important;
    }

    .sfcc-top-panels .sfcc-legend-list{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:9px !important;
    }
}
