/* Codigoro Termine – abgestimmt auf das Codigoro Presse-Archiv */
.codigoro-termine{--cgt-line:color-mix(in srgb,currentColor 17%,transparent);--cgt-soft:color-mix(in srgb,currentColor 4%,transparent);width:100%;margin-block:1.25rem;color:inherit;font:inherit;font-family:var(--e-global-typography-text-font-family,inherit)!important}
.codigoro-termine,.codigoro-termine *{box-sizing:border-box}
.codigoro-termine .cgt-heading{margin:0 0 1.6rem;font-family:var(--e-global-typography-primary-font-family,var(--e-global-typography-text-font-family,inherit))!important;font-weight:var(--e-global-typography-primary-font-weight,inherit)!important}
.cgt-timeline{position:relative;display:flex;flex-direction:column;gap:1.35rem;padding:0 0 0 78px}
.cgt-timeline:before{content:"";position:absolute;left:27px;top:20px;bottom:24px;width:2px;background:var(--cgt-timeline-line)}
.cgt-event{position:relative;min-width:0}
.cgt-marker{position:absolute;left:-78px;top:22px;width:56px;height:56px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cgt-date-bg);color:var(--cgt-date-text);box-shadow:0 0 0 6px color-mix(in srgb,var(--cgt-date-bg) 12%,transparent);z-index:1;font-weight:700;line-height:1}
.cgt-marker span{font-size:1.22em}.cgt-marker small{font-size:.68em;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.cgt-card{display:flex;min-width:0;overflow:hidden;border:1px solid var(--cgt-card-border);border-radius:12px;background:var(--cgt-card-bg);box-shadow:0 3px 14px rgba(0,0,0,.045);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.cgt-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.09);border-color:var(--cgt-card-border)}
.cgt-image{flex:0 0 31%;max-width:340px;min-height:210px;background:var(--cgt-soft)}
.cgt-image img{display:block;width:100%;height:100%;min-height:210px;object-fit:cover}
.cgt-content{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;padding:1.35rem 1.55rem;gap:.65rem}
.cgt-meta{display:flex;flex-wrap:wrap;gap:.35rem .8rem;align-items:center;color:var(--cgt-meta);font-size:.88em;font-weight:700}
.cgt-time{color:var(--cgt-time);opacity:.9}
.cgt-title{margin:0;padding:0;color:var(--cgt-title);font:inherit;font-family:var(--e-global-typography-primary-font-family,var(--e-global-typography-text-font-family,inherit))!important;font-size:1.25em;font-weight:700;line-height:1.3}
.cgt-location{font-size:.92em;color:var(--cgt-location)}.cgt-location span{color:var(--cgt-location);font-size:1.2em}
.cgt-description{line-height:1.58;color:var(--cgt-description)}.cgt-description p{margin:.25em 0}
.cgt-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:.25rem;padding:.62rem .95rem;border:1px solid var(--cgt-link-border);border-radius:6px;color:var(--cgt-link-text);background:var(--cgt-link-bg);font:inherit;font-weight:600;text-decoration:none;transition:background .2s,color .2s}
.cgt-link:hover,.cgt-link:focus-visible{background:var(--cgt-link-text);color:var(--cgt-link-bg);text-decoration:none}
.cgt-empty{padding:1rem 1.2rem;border:1px dashed var(--cgt-line);border-radius:8px}
@media(max-width:680px){.cgt-timeline{padding-left:60px;gap:1rem}.cgt-timeline:before{left:20px}.cgt-marker{left:-60px;width:42px;height:42px;top:17px}.cgt-marker span{font-size:1.05em}.cgt-marker small{font-size:.6em;margin-top:3px}.cgt-card{flex-direction:column}.cgt-image{flex:auto;width:100%;max-width:none;min-height:0;aspect-ratio:16/8}.cgt-image img{min-height:0;height:100%}.cgt-content{padding:1rem 1.05rem 1.15rem;gap:.55rem}.cgt-title{font-size:1.12em}.cgt-meta{font-size:.82em}}
@media(prefers-reduced-motion:reduce){.codigoro-termine *{transition:none!important;transform:none!important}}

.cgt-downloads{margin-top:.3rem;width:100%;font-size:.92em}.cgt-downloads ul{margin:.35rem 0 0;padding-left:1.2rem}.cgt-downloads a{color:var(--cgt-attachment);text-decoration:underline}

.cgt-marker em{font-size:.58em;font-style:normal;font-weight:600;line-height:1;margin-top:3px;opacity:.95}
@media(max-width:680px){.cgt-marker em{font-size:.52em;margin-top:2px}}

.cgt-map-link{margin-left:.4rem;color:var(--cgt-location);font-size:.88em;text-decoration:underline}
.cgt-link{margin-right:.45rem}
.cgt-status-toggle.is-active{border-color:#16803c;color:#16803c}
.cgt-status-toggle.is-inactive{border-color:#b32d2e;color:#b32d2e}

/* Karte rechts in der Terminkarte */
.cgt-map-panel{flex:0 0 280px;width:280px;display:flex;flex-direction:column;gap:.4rem;padding:1rem 1rem 1rem 0;min-width:0}
.cgt-map-panel iframe{display:block;width:100%;height:190px;border:0;border-radius:8px;background:var(--cgt-card-bg)}
.cgt-map-open{font-size:.78em;color:var(--cgt-location);text-decoration:underline;align-self:flex-start}
.cgt-ics-link{display:inline-flex;align-items:center;gap:.55rem;margin-top:.3rem;padding:.5rem .75rem;border:1px solid var(--cgt-link-border);border-radius:8px;background:var(--cgt-link-bg);color:var(--cgt-link-text);font:inherit;font-size:.9em;font-weight:600;text-decoration:none;transition:background .2s,color .2s}
.cgt-ics-link:hover,.cgt-ics-link:focus-visible{background:var(--cgt-link-text);color:var(--cgt-link-bg);text-decoration:none}
.cgt-ics-icon{width:30px;height:30px;flex:0 0 30px}
@media(max-width:800px){.cgt-map-panel{flex-basis:230px;width:230px}.cgt-map-panel iframe{height:170px}}
@media(max-width:680px){.cgt-map-panel{width:100%;flex:1 1 auto;padding:0 1rem 1rem}.cgt-map-panel iframe{height:190px}}

/* 1.4.0: Karte über die volle Kartenhöhe und grafische Aktionslinks */
.cgt-card{align-items:stretch}
.cgt-content{min-width:0}
.cgt-map-panel{align-self:stretch;min-height:100%;height:auto}
.cgt-map-panel iframe{flex:1 1 auto;height:auto;min-height:220px}
.cgt-ics-link,.cgt-more-link{width:42px;height:42px;min-width:42px;padding:7px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;vertical-align:middle}
.cgt-ics-icon,.cgt-more-link svg{width:27px;height:27px;display:block;flex:0 0 27px}
.cgt-ics-link{margin-right:.45rem}
.cgt-more-link{margin-top:.3rem}
.cgt-more-link:hover svg,.cgt-ics-link:hover svg{color:inherit}
@media(max-width:680px){
 .cgt-map-panel{height:auto;min-height:0}
 .cgt-map-panel iframe{height:200px;min-height:200px;flex:none}
}

/* 1.4.1: Aktions-Buttons immer nebeneinander anordnen */
.cgt-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.65rem;flex-wrap:wrap;margin-top:.3rem}
.cgt-actions .cgt-more-link,.cgt-actions .cgt-ics-link{margin:0;flex:0 0 42px}

/* 1.4.2: Anhänge als kompakte Icon-Buttons neben Kalender/Mehr erfahren */
.cgt-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.65rem;flex-wrap:wrap}
.cgt-actions .cgt-more-link,.cgt-actions .cgt-ics-link,.cgt-actions .cgt-attachment-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;box-sizing:border-box;margin:0;padding:9px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;text-decoration:none;line-height:1}
.cgt-actions .cgt-more-link svg,.cgt-actions .cgt-ics-link svg,.cgt-actions .cgt-attachment-button svg{display:block;width:100%;height:100%}
.cgt-actions-divider{display:block;width:1px;height:25px;background:currentColor;opacity:.3;margin:0 .15rem}
.cgt-actions .cgt-attachment-button:hover,.cgt-actions .cgt-more-link:hover,.cgt-actions .cgt-ics-link:hover{opacity:.75}

/* 1.5.3: Eingebettete Karte füllt rechts die gesamte Höhe der Terminkarte */
@media(min-width:681px){
 .cgt-card{align-items:stretch}
 .cgt-map-panel{display:flex;flex:0 0 280px;align-self:stretch;min-height:0;height:auto;padding:0;gap:0}
 .cgt-map-panel iframe{display:block;flex:1 1 auto;width:100%;height:100%;min-height:0;border:0;border-radius:0;align-self:stretch}
}
@media(min-width:681px) and (max-width:800px){
 .cgt-map-panel{flex-basis:230px;width:230px}
}

/* 1.5.4: Karte unabhängig von der Inhaltshöhe über die komplette Kartenhöhe ziehen */
@media(min-width:681px){
 .cgt-card{position:relative;display:block;min-height:0}
 .cgt-card>.cgt-content{width:calc(100% - 280px);max-width:calc(100% - 280px);min-height:100%;padding-right:1.55rem}
 .cgt-card>.cgt-map-panel{position:absolute;top:0;right:0;bottom:0;width:280px;min-width:280px;height:auto;min-height:0;padding:0;display:block}
 .cgt-card>.cgt-map-panel iframe{display:block;width:100%;height:100%;min-height:100%;max-height:none;border:0;border-radius:0}
}
@media(min-width:681px) and (max-width:800px){
 .cgt-card>.cgt-content{width:calc(100% - 230px);max-width:calc(100% - 230px)}
 .cgt-card>.cgt-map-panel{width:230px;min-width:230px}
}
@media(max-width:680px){
 .cgt-card{position:static;display:flex}
 .cgt-card>.cgt-content{width:100%;max-width:none}
 .cgt-card>.cgt-map-panel{position:static;width:100%;min-width:0;min-height:0;height:auto;padding:0 1rem 1rem;display:flex}
 .cgt-card>.cgt-map-panel iframe{width:100%;height:200px;min-height:200px;max-height:none}
}

/* 1.5.5: Kartenlayout stabil über CSS Grid – Karte bleibt sichtbar und füllt die Kartenhöhe */
@media(min-width:681px){
 .cgt-card{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:minmax(220px,auto);align-items:stretch}
 .cgt-card>.cgt-content{grid-column:1;grid-row:1;width:auto!important;max-width:none!important;min-width:0;min-height:0}
 .cgt-card>.cgt-map-panel{grid-column:2;grid-row:1;position:relative!important;inset:auto!important;display:flex!important;flex-direction:column;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:100%!important;align-self:stretch;padding:0!important;margin:0!important;overflow:hidden}
 .cgt-card>.cgt-map-panel iframe{display:block!important;position:relative!important;flex:1 1 auto!important;width:100%!important;height:100%!important;min-height:220px!important;max-height:none!important;border:0;border-radius:0;visibility:visible!important;opacity:1!important}
 .cgt-card>.cgt-map-panel .cgt-map-open{display:none!important}
}
@media(min-width:681px) and (max-width:800px){
 .cgt-card{grid-template-columns:minmax(0,1fr) 230px}
}
@media(max-width:680px){
 .cgt-card{display:flex!important;position:static!important;grid-template-columns:none!important;grid-template-rows:none!important}
 .cgt-card>.cgt-content{width:100%!important;max-width:none!important}
 .cgt-card>.cgt-map-panel{position:static!important;inset:auto!important;display:flex!important;width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;padding:0 1rem 1rem!important}
 .cgt-card>.cgt-map-panel iframe{display:block!important;width:100%!important;height:200px!important;min-height:200px!important;flex:none!important}
}

/* 1.5.6: Karte exakt auf die Grid-Zeilenhöhe der Textbox strecken */
@media(min-width:681px){
 .cgt-card{
   display:grid!important;
   grid-template-columns:minmax(0,1fr) 280px!important;
   grid-template-rows:auto!important;
   align-items:stretch!important;
 }
 .cgt-card>.cgt-content{
   grid-column:1!important;grid-row:1!important;
   width:auto!important;max-width:none!important;
   min-width:0!important;height:auto!important;
 }
 .cgt-card>.cgt-map-panel{
   grid-column:2!important;grid-row:1!important;
   position:relative!important;inset:auto!important;
   display:block!important;align-self:stretch!important;
   width:auto!important;min-width:0!important;max-width:none!important;
   height:auto!important;min-height:0!important;
   margin:0!important;padding:0!important;
   overflow:hidden!important;
 }
 .cgt-card>.cgt-map-panel iframe{
   position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;
   display:block!important;width:100%!important;height:100%!important;
   min-height:0!important;max-height:none!important;
   margin:0!important;border:0!important;border-radius:0!important;
 }
 .cgt-card>.cgt-map-panel .cgt-map-open{display:none!important}
}
@media(min-width:681px) and (max-width:800px){
 .cgt-card{grid-template-columns:minmax(0,1fr) 230px!important}
}
@media(max-width:680px){
 .cgt-card{display:flex!important;grid-template-columns:none!important;grid-template-rows:none!important}
 .cgt-card>.cgt-content{width:100%!important;max-width:none!important}
 .cgt-card>.cgt-map-panel{
   position:static!important;display:flex!important;align-self:auto!important;
   width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;
   padding:0 1rem 1rem!important;overflow:visible!important;
 }
 .cgt-card>.cgt-map-panel iframe{
   position:static!important;display:block!important;width:100%!important;
   height:200px!important;min-height:200px!important;max-height:none!important;
 }
}

/* 1.5.7: Abstand zwischen Start- und Enddatum gezielt verkleinern */
.cgt-meta .cgt-date-end{margin-left:-.6rem}

/* 1.5.8: Kompaktes Datumsformat auf Tablet und Smartphone */
.cgt-date-compact{display:none}
@media(max-width:1024px){
 .cgt-date-full{display:none}
 .cgt-date-compact{display:inline}
}



/* 1.6.2: Einziges Datumsdesign – Kalender-Kachel */
.cgt-date-style-3 .cgt-timeline{padding-left:92px}
.cgt-date-style-3 .cgt-timeline:before{left:33px}
.cgt-date-style-3 .cgt-marker-style3{
    left:-92px;top:12px;width:72px;height:88px;border-radius:9px;
    overflow:hidden;background:#fff;color:var(--cgt-style3-day-text);
    box-shadow:0 3px 12px rgba(0,0,0,.12);justify-content:flex-start;
    border:1px solid color-mix(in srgb,var(--cgt-style3-month-bg) 30%,#fff)
}
.cgt-date-style-3 .cgt-marker-style3 small{
    display:block;width:100%;margin:0;padding:6px 2px;
    background:var(--cgt-style3-month-bg);color:var(--cgt-style3-month-text);
    font-size:.68em;line-height:1.2;text-align:center;text-transform:uppercase;letter-spacing:.02em
}
.cgt-date-style-3 .cgt-marker-style3 span{font-size:1.75em;margin-top:7px;color:var(--cgt-style3-day-text)}
.cgt-date-style-3 .cgt-marker-style3 em{font-size:.65em;color:var(--cgt-style3-year-text);margin-top:3px}
.cgt-date-style-3 .cgt-content>.cgt-meta{display:flex;color:var(--cgt-date-text);font-size:.76em;font-weight:600;line-height:1.25;gap:.25rem .65rem;margin:0 0 -.3rem}
@media(max-width:680px){
 .cgt-date-style-3 .cgt-timeline{padding-left:72px}
 .cgt-date-style-3 .cgt-timeline:before{left:24px}
 .cgt-date-style-3 .cgt-marker-style3{left:-72px;top:12px;width:56px;height:76px;border-radius:7px}
 .cgt-date-style-3 .cgt-marker-style3 small{font-size:.55em;padding:5px 1px}
 .cgt-date-style-3 .cgt-marker-style3 span{font-size:1.4em;margin-top:6px}
 .cgt-date-style-3 .cgt-marker-style3 em{font-size:.55em}
}


/* 1.6.3: Karten nach Seitenaktualisierung zuverlässig sichtbar halten */
@media(min-width:681px){
 .cgt-card>.cgt-map-panel{
   display:block!important;
   position:relative!important;
   min-height:240px!important;
   height:auto!important;
   align-self:stretch!important;
   overflow:hidden!important;
   background:#f2f2f2;
 }
 .cgt-card>.cgt-map-panel iframe{
   display:block!important;
   position:absolute!important;
   inset:0!important;
   width:100%!important;
   height:100%!important;
   min-height:240px!important;
   border:0!important;
   visibility:visible!important;
   opacity:1!important;
 }
}
@media(max-width:680px){
 .cgt-card>.cgt-map-panel{
   display:block!important;
   position:relative!important;
   min-height:200px!important;
   height:200px!important;
   overflow:hidden!important;
   background:#f2f2f2;
 }
 .cgt-card>.cgt-map-panel iframe{
   display:block!important;
   position:absolute!important;
   inset:0!important;
   width:100%!important;
   height:200px!important;
   min-height:200px!important;
   border:0!important;
   visibility:visible!important;
   opacity:1!important;
 }
}

/* 1.6.4: Datums-/Zeitraumzeile klein oberhalb der Terminüberschrift */
.cgt-date-style-3 .cgt-content>.cgt-meta{display:flex!important;color:var(--cgt-date-text,#777777)!important}
.cgt-date-style-3 .cgt-content>.cgt-meta time,.cgt-date-style-3 .cgt-content>.cgt-meta .cgt-date-end{color:inherit!important}

/* 1.6.5: Datumsabstand und kompaktes Datumsformat auf Tablet/Mobil */
.cgt-date-style-3 .cgt-content>.cgt-meta .cgt-date-end{margin-left:-.35rem!important}
@media(max-width:1024px){
  .cgt-date-style-3 .cgt-content>.cgt-meta .cgt-date-full{display:none!important}
  .cgt-date-style-3 .cgt-content>.cgt-meta .cgt-date-compact{display:inline!important}
}
@media(min-width:1025px){
  .cgt-date-style-3 .cgt-content>.cgt-meta .cgt-date-full{display:inline!important}
  .cgt-date-style-3 .cgt-content>.cgt-meta .cgt-date-compact{display:none!important}
}

/* 1.6.6: Abstand zwischen Start- und Enddatum feinjustiert */
.cgt-date-style-3 .cgt-content>.cgt-meta .cgt-date-end{margin-left:-.35rem!important}
