/* CCW Centerplan – zurückhaltender Grundriss, Farbe nur wo sie Information trägt. */
.ccw-plan{
  /* Markenfarben aus dem CCW-Logo: #E11845 (Akzent), #2C2322 (Grundton). */
  --ccw-flaeche:#e6e0dd;      /* Ruhezustand: neutral, warm */
  --ccw-rand:#fff;
  --ccw-aktiv:#e11845;
  --ccw-shop:#7d4f57;         /* Kategorien gedeckt, damit das Rot der Auswahl gehört */
  --ccw-food:#a2653a;
  --ccw-serv:#5a6b6e;
  --ccw-frei:#9c918c;
  --ccw-bedarf:#8a6a3c;       /* Bedarfsfläche: ohne Geschäft, aber nicht zu vermieten */
  --ccw-offen:#4a7d5c;
  --ccw-zu:#9c918c;
  --ccw-linie:#e4dedA;
  --ccw-struktur:#b0a7a3;   /* Wände statt Schwarz */
  --ccw-flur:#f0ecea;
  --ccw-text:#2c2322;
  --ccw-grau:#6e6260;
  --ccw-grund:#fff;
  font-size:16px; color:var(--ccw-text);
}

.ccw-plan *,.ccw-plan *::before,.ccw-plan *::after{box-sizing:border-box}

.ccw-steuer{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-bottom:20px}
.ccw-seg{display:flex;border:1px solid var(--ccw-linie);border-radius:3px;overflow:hidden}
.ccw-seg button{appearance:none;border:0;background:var(--ccw-grund);color:var(--ccw-grau);
  cursor:pointer;font:600 15px/1 inherit;padding:13px 22px}
.ccw-seg button+button{border-left:1px solid var(--ccw-linie)}
.ccw-seg button[aria-pressed=true]{background:var(--ccw-text);color:var(--ccw-grund)}
.ccw-chips{display:flex;flex-wrap:wrap;gap:8px}
.ccw-chip{appearance:none;cursor:pointer;background:var(--ccw-grund);color:var(--ccw-grau);
  border:1px solid var(--ccw-linie);border-radius:100px;padding:11px 20px;font:600 14px/1 inherit;
  transition:border-color .15s,color .15s}
.ccw-chip:hover{border-color:var(--ccw-aktiv);color:var(--ccw-aktiv)}
.ccw-chip[aria-pressed=true]{background:var(--ccw-aktiv);color:#fff;border-color:var(--ccw-aktiv)}
.ccw-chip[data-filter=offen][aria-pressed=true]{background:var(--ccw-offen);border-color:var(--ccw-offen);color:#fff}

.ccw-buehne{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:22px;align-items:start}
.ccw-plan--mini .ccw-buehne{grid-template-columns:1fr}
@media(max-width:820px){.ccw-buehne{grid-template-columns:1fr}}

.ccw-karte{border:1px solid var(--ccw-linie);border-radius:3px;padding:12px;background:var(--ccw-grund)}
.ccw-ebene[hidden]{display:none}
.ccw-karte svg{display:block;width:100%;height:auto}

/* Flächen: im Ruhezustand neutral. Farbe erst bei Auswahl, Fokus oder Filter. */
.ccw-f>polygon,.ccw-f>rect{fill:var(--ccw-flaeche);stroke:var(--ccw-rand);stroke-width:1.5;
  transition:fill .13s ease}
.ccw-f{cursor:pointer}
.ccw-f[data-frei]>polygon,.ccw-f[data-frei]>rect{fill:transparent;stroke:var(--ccw-frei);
  stroke-width:2;stroke-dasharray:6 4}
.ccw-f:hover>polygon,.ccw-f:hover>rect,
.ccw-f:focus-visible>polygon,.ccw-f:focus-visible>rect,
.ccw-f.ccw-an>polygon,.ccw-f.ccw-an>rect{fill:var(--ccw-aktiv)}
.ccw-f[data-frei]:hover>polygon,.ccw-f[data-frei].ccw-an>polygon,
.ccw-f[data-frei]:hover>rect,.ccw-f[data-frei].ccw-an>rect{fill:var(--ccw-frei);stroke-dasharray:none}
/* Beim Filtern trägt die Fläche ihre Kategoriefarbe. */
.ccw-plan[data-gefiltert] .ccw-f[data-treffer][data-k=einkaufen]>polygon,
.ccw-plan[data-gefiltert] .ccw-f[data-treffer][data-k=einkaufen]>rect{fill:var(--ccw-shop)}
.ccw-plan[data-gefiltert] .ccw-f[data-treffer][data-k=essen-trinken]>polygon,
.ccw-plan[data-gefiltert] .ccw-f[data-treffer][data-k=essen-trinken]>rect{fill:var(--ccw-food)}
.ccw-plan[data-gefiltert] .ccw-f[data-treffer][data-k=service]>polygon,
.ccw-plan[data-gefiltert] .ccw-f[data-treffer][data-k=service]>rect{fill:var(--ccw-serv)}
.ccw-f[data-aus]{cursor:default;opacity:.35}
/* Nummernkreise aus dem Original zurücknehmen, damit die Farbe wirken kann. */
.ccw-f>path[fill="#6F6F6E"]{fill:var(--ccw-rand);opacity:.55}
.ccw-f>path[fill="#FFFFFF"]{fill:var(--ccw-text)}
.ccw-f:hover>path[fill="#FFFFFF"],.ccw-f.ccw-an>path[fill="#FFFFFF"]{fill:#fff}
.ccw-f:hover>path[fill="#6F6F6E"],.ccw-f.ccw-an>path[fill="#6F6F6E"]{fill:rgba(255,255,255,.35)}

/* Gebäudestruktur und Flur: aus dem Illustrator-Export kommen sie fast schwarz
   (#1D1D1B) bzw. hellgrau. Ein Grundriss soll ruhig wirken, nicht wie ein Scherenschnitt. */
.ccw-karte svg > path[fill="#1D1D1B"],
.ccw-karte svg [id^="MNOINT"]{fill:var(--ccw-struktur)}
.ccw-karte svg #Flur,
.ccw-karte svg > polygon[fill="#D9D9D9"]{fill:var(--ccw-flur)}

/* Mini-Plan auf der Shop-Seite: nur Orientierung, nicht die halbe Seite. */
.ccw-plan--mini .ccw-karte{max-width:340px;padding:10px}
.ccw-plan--mini .ccw-buehne{justify-items:start}
@media(max-width:600px){.ccw-plan--mini .ccw-karte{max-width:100%}}

.ccw-punkt{cursor:pointer}
.ccw-punkt circle{fill:var(--ccw-flaeche);stroke:var(--ccw-rand);stroke-width:2.5;transition:fill .13s}
.ccw-punkt[data-frei] circle{fill:transparent;stroke:var(--ccw-frei);stroke-dasharray:5 3}
.ccw-punkt:hover circle,.ccw-punkt.ccw-an circle,.ccw-punkt:focus-visible circle{fill:var(--ccw-aktiv)}
.ccw-punkt text{font:600 13px system-ui,sans-serif;fill:var(--ccw-text);text-anchor:middle;
  dominant-baseline:central;pointer-events:none}
.ccw-punkt:hover text,.ccw-punkt.ccw-an text{fill:#fff}
.ccw-punkt[data-aus]{opacity:.35;cursor:default}

.ccw-liste{display:flex;flex-direction:column;border:1px solid var(--ccw-linie);
  border-radius:3px;overflow:hidden;background:var(--ccw-grund)}
.ccw-zeile{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:11px 13px;border-bottom:1px solid var(--ccw-linie);text-decoration:none;color:inherit}
.ccw-zeile:last-child{border-bottom:0}
.ccw-zeile[hidden]{display:none}
.ccw-zeile:hover,.ccw-zeile.ccw-an{background:color-mix(in srgb,var(--ccw-text) 6%,transparent)}
.ccw-num{font-family:inherit;font-weight:600;font-size:13px;line-height:1;
  font-variant-numeric:tabular-nums lining-nums;text-align:center;padding:6px 0;
  border:1px solid var(--ccw-linie);border-radius:2px;color:var(--ccw-grau)}
.ccw-zeile[data-k=einkaufen] .ccw-num{color:var(--ccw-shop);border-color:currentColor}
.ccw-zeile[data-k=essen-trinken] .ccw-num{color:var(--ccw-food);border-color:currentColor}
.ccw-zeile[data-k=service] .ccw-num{color:var(--ccw-serv);border-color:currentColor}
.ccw-zeile[data-frei] .ccw-num{border-style:dashed;color:var(--ccw-frei)}
.ccw-zeile > span:nth-child(2){display:flex;flex-direction:column;min-width:0}
.ccw-name{display:block;font-weight:600;font-size:15px;line-height:1.3}
.ccw-zeile[data-frei] .ccw-name{font-weight:400;font-style:italic;color:var(--ccw-grau)}
.ccw-unter{font-size:13px;color:var(--ccw-grau);line-height:1.35;margin-top:1px}
.ccw-ampel{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;
  white-space:nowrap}
.ccw-ampel::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ccw-zu)}
.ccw-ampel[data-s=offen]{color:var(--ccw-offen)}
.ccw-ampel[data-s=offen]::before{background:var(--ccw-offen)}
.ccw-ampel[data-s=termin],.ccw-ampel[data-s=unbekannt]{color:var(--ccw-grau)}
.ccw-ampel[data-s=frei]{color:var(--ccw-frei)}

.ccw-f:focus-visible,.ccw-punkt:focus-visible,.ccw-zeile:focus-visible,
.ccw-chip:focus-visible,.ccw-seg button:focus-visible{outline:2px solid var(--ccw-aktiv);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.ccw-plan *{transition:none!important}}

/* Center-News als Karten */
.ccw-news{--ccw-linie:#e4dedA;--ccw-text:#2c2322;--ccw-grau:#6e6260;--ccw-aktiv:#e11845;color:var(--ccw-text)}

.ccw-news-titel{font-size:26px;margin:0 0 20px;font-weight:700}
.ccw-news-gitter{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.ccw-news-karte{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border:1px solid var(--ccw-linie);border-radius:3px;overflow:hidden;transition:border-color .15s}
.ccw-news-karte:hover{border-color:var(--ccw-aktiv)}
.ccw-news-bild{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--ccw-linie)}
.ccw-news-bild img{width:100%;height:100%;object-fit:cover;display:block}
.ccw-news-text{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}
.ccw-news-text time{font-size:13px;color:var(--ccw-grau);letter-spacing:.02em}
.ccw-news-h{font-weight:600;font-size:16px;line-height:1.35}
.ccw-news-karte:hover .ccw-news-h{color:var(--ccw-aktiv)}

/* Hero-Slider */
.ccw-slider{position:relative;overflow:hidden;background:#2c2322;
  height:var(--ccw-slider-hoehe,720px);border-radius:3px}
@media(max-width:900px){.ccw-slider{height:calc(var(--ccw-slider-hoehe,720px) * .72)}}
@media(max-width:600px){.ccw-slider{height:calc(var(--ccw-slider-hoehe,720px) * .55);border-radius:0}}
.ccw-slider-buehne{position:absolute;inset:0}
.ccw-folie{position:absolute;inset:0;opacity:0;transition:opacity .45s ease;pointer-events:none}
.ccw-folie.ccw-an{opacity:1;pointer-events:auto}
.ccw-folie-bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ccw-folie::after{content:"";position:absolute;inset:0;
  /* Nur so viel Abdunklung, wie der Text zum Lesen braucht – oben bleibt das Foto frei.
     Ein Verlauf über die ganze Fläche macht aus jedem Bild eine braune Fläche. */
  background:linear-gradient(180deg,rgba(44,35,34,0) 0%,rgba(44,35,34,0) 42%,
    rgba(44,35,34,.42) 68%,rgba(44,35,34,.82) 100%)}
.ccw-folie-text{position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  padding:36px 40px 68px;max-width:880px}
@media(max-width:600px){.ccw-folie-text{padding:24px 20px 56px}}
.ccw-folie-datum{font-size:14px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;color:#fff;background:rgba(225,24,69,.92);padding:5px 11px;border-radius:2px;
  align-self:flex-start;text-shadow:none}
.ccw-folie-titel{font-size:clamp(1.6rem,3.9vw,2.9rem);line-height:1.2;font-weight:700;color:#fff;
  text-wrap:balance;text-shadow:0 2px 14px rgba(30,22,21,.75)}
.ccw-folie-link{align-self:flex-start;margin-top:14px;display:inline-block;
  background:#e11845;color:#fff;text-decoration:none;font-weight:600;font-size:16px;
  padding:13px 26px;border-radius:3px;transition:background .15s}
.ccw-folie-link:hover,.ccw-folie-link:focus-visible{background:#2c2322;color:#fff}
.ccw-slider-claim{position:absolute;top:0;left:0;right:0;z-index:3;padding:40px 40px 0;pointer-events:none}
.ccw-slider-claim h1{margin:0;color:#fff;font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.15;
  font-weight:700;max-width:16ch;text-shadow:0 2px 18px rgba(44,35,34,.45)}
@media(max-width:600px){.ccw-slider-claim{padding:22px 20px 0}}
.ccw-slider-pfeil{position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:44px;height:44px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.16);color:#fff;font-size:26px;line-height:1;
  backdrop-filter:blur(4px);transition:background .15s}
.ccw-slider-pfeil:hover,.ccw-slider-pfeil:focus-visible{background:rgba(225,24,69,.9)}
.ccw-zurueck{left:14px}.ccw-vor{right:14px}
@media(max-width:600px){.ccw-slider-pfeil{width:36px;height:36px;font-size:21px}
  .ccw-zurueck{left:8px}.ccw-vor{right:8px}}
.ccw-slider-punkte{position:absolute;bottom:20px;left:40px;z-index:4;display:flex;gap:8px}
@media(max-width:600px){.ccw-slider-punkte{left:20px;bottom:16px}}
.ccw-slider-punkte button{width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.42);transition:background .15s,width .15s}
.ccw-slider-punkte button.ccw-an{background:#e11845;width:26px;border-radius:5px}
.ccw-slider-pfeil:focus-visible,.ccw-slider-punkte button:focus-visible,
.ccw-folie-link:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.ccw-folie{transition:none}}

/* Elementors Shortcode-Widget gibt einem Kind ohne Inhaltsbreite keine Breite weiter.
   Slider und Plan sind innen absolut positioniert und blieben dadurch 0 px breit. */
.elementor-widget-shortcode .ccw-slider,
.elementor-shortcode .ccw-slider,
.elementor-widget-shortcode > .elementor-widget-container,
.elementor-widget-shortcode .elementor-shortcode{width:100%}
.ccw-slider{width:100%;align-self:stretch}

/* Astras Logo-Element bekommt im importierten Header-Layout keine Breite. */
.site-branding.ast-site-identity{width:auto;flex:0 0 auto}
.site-branding .custom-logo-link{display:inline-block}

/* Astra (img{height:auto}) und Elementor (.elementor img{height:auto}) übersteuern
   eine einfache Klassenregel. Das Folienbild wuchs dadurch auf seine Eigenhöhe
   statt die Folie zu füllen. Drei Klassen schlagen beide Regeln ohne !important. */
.ccw-slider .ccw-folie .ccw-folie-bild{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;max-width:none}

/* Die Zusatzbuchstaben bei 3a/3b sind <text fill="#FFFFFF"> und blieben auf dem
   aufgehellten Nummernkreis unsichtbar. */
.ccw-f text{fill:var(--ccw-text)}
.ccw-f:hover text,.ccw-f.ccw-an text{fill:#fff}

/* Vor-Header */
.ccw-vorheader{background:#2c2322;color:#e6dedb;font-size:13.5px;line-height:1.4}
.ccw-vorheader-inner{max-width:1140px;margin:0 auto;padding:8px 24px;
  display:flex;flex-wrap:nowrap;gap:0 20px;align-items:center;justify-content:space-between;
  white-space:nowrap}
.ccw-vorheader b{color:#fff;font-weight:600}
.ccw-vorheader a{color:#f2a3b4;text-decoration:none}
.ccw-vorheader a:hover,.ccw-vorheader a:focus-visible{color:#fff;text-decoration:underline}
.ccw-vh-gruppe{display:flex;flex-wrap:nowrap;gap:0 18px;align-items:center;min-width:0}
.ccw-vh-gruppe > *{flex:0 0 auto}
.ccw-vh-status{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.ccw-vh-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#9c918c}
.ccw-vh-status[data-offen="1"]{color:#8fd0a6}
.ccw-vh-status[data-offen="1"]::before{background:#8fd0a6}
@media(max-width:1300px){.ccw-vh-adresse{display:none}}
@media(max-width:900px){.ccw-vorheader a[href^="mailto"]{display:none}}
@media(max-width:600px){
  .ccw-vorheader-inner{padding:7px 20px;font-size:12px;gap:0 14px}
  .ccw-vh-zeiten{display:none}
}

/* Astra setzt für alle Buttons inline `font-size:0.8rem` bei 15px Wurzelgröße.
   Eine font-Kurzform in einer einfachen Klassenregel setzt sich dagegen nicht
   durch – deshalb hier explizit und mit zwei Klassen. */
.ccw-plan .ccw-chip{font-size:14px;line-height:1}
.ccw-plan .ccw-seg button{font-size:15px;line-height:1}
.ccw-slider .ccw-folie-link{font-size:16px;line-height:1.2}
.ccw-slider .ccw-folie-datum{font-size:14px}
.ccw-plan .ccw-name{font-size:15px}
.ccw-plan .ccw-unter{font-size:13px}
.ccw-plan .ccw-ampel{font-size:12.5px}
.ccw-plan .ccw-num{font-size:13px}

/* ---------------------------------------------------------------------------
   Footer in den Markenfarben.
   Das Starter-Template liefert ihn in #111 mit blaugrauem Text – das passt
   weder zum warmen Braunton des Logos noch zum Vor-Header.
   --------------------------------------------------------------------------- */
.site-footer,
.site-footer .ast-footer-copyright,
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap{background-color:#2c2322;color:#c9bfbc}
.site-footer .site-below-footer-wrap{border-top:1px solid #443937}
.site-footer .widget-title,
.site-footer h2,.site-footer h3{color:#fff;font-size:16px;letter-spacing:.02em;margin-bottom:12px}
.site-footer p,.site-footer li,.site-footer .textwidget,
.site-footer .widget,.site-footer .widget_text{color:#c9bfbc;line-height:1.65}
.site-footer,.site-footer .site-primary-footer-wrap,
.site-footer .ast-builder-grid-row{color:#c9bfbc}
.site-footer a,.site-footer .textwidget a,.site-footer p a,.site-footer li a{
  color:#f2a3b4;text-decoration:none}
.site-footer a:hover,.site-footer a:focus-visible,
.site-footer .textwidget a:hover,.site-footer p a:hover{color:#fff;text-decoration:underline}
.site-footer strong{color:#fff}
/* Ein roter Strich als Abschluss der Seite – dieselbe Handschrift wie oben. */
.site-footer{border-top:4px solid #e11845}
/* Footer-Logo maßvoll und auf dunklem Grund sichtbar */
.site-footer .widget_media_image img,
.site-footer .wp-block-image img{max-width:190px;height:auto}
.site-footer .ast-footer-copyright p{color:#9c918c;font-size:13px}

/* ---------------------------------------------------------------------------
   Hier stand einmal eine eigene Regel, die die Container-Abstände aus Elementors
   Variablen auf .e-con UND .e-con-inner angewendet hat. Sie war falsch: Elementor
   verteilt die Abstände bewusst auf zwei Elemente –

     .e-con-full, .e-con > .e-con-inner { padding-block-start/end }   (senkrecht)
     .e-con                             { padding-inline-start/end }  (waagerecht)
     .e-con > .e-con-inner              { padding-inline: 0 }

   – also senkrecht aussen nur bei vollbreiten, sonst innen; waagerecht umgekehrt.
   Da die Variablen an den inneren Container vererbt werden, hat die eigene Regel
   jeden Boxed-Abschnitt doppelt gepolstert: aus 72 px wurden 144. Der ursprüngliche
   Befund „alle Abschnitte kleben aneinander“ hatte eine andere Ursache – das
   veraltete post-<id>.css, das jetzt CCW_Elementor_CSS neu erzeugt.
   Nicht wieder einbauen.
   --------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
   Überfahren der Filter- und Ebenen-Knöpfe.
   Astra färbt jeden Button beim Überfahren in seiner Akzentfarbe ein. Auf einem
   bereits rot gefüllten Knopf ergab das roten Text auf rotem Grund. Deshalb hier
   jeder Zustand ausdrücklich – und mit genug Gewicht, um Astras Regel zu schlagen.
   --------------------------------------------------------------------------- */
.ccw-plan .ccw-chip:hover,
.ccw-plan .ccw-chip:focus-visible{
  background:var(--ccw-grund);color:var(--ccw-aktiv);border-color:var(--ccw-aktiv)}
.ccw-plan .ccw-chip[aria-pressed="true"],
.ccw-plan .ccw-chip[aria-pressed="true"]:hover,
.ccw-plan .ccw-chip[aria-pressed="true"]:focus-visible{
  background:var(--ccw-aktiv);color:#fff;border-color:var(--ccw-aktiv)}
.ccw-plan .ccw-chip[data-filter="offen"][aria-pressed="true"],
.ccw-plan .ccw-chip[data-filter="offen"][aria-pressed="true"]:hover,
.ccw-plan .ccw-chip[data-filter="offen"][aria-pressed="true"]:focus-visible{
  background:var(--ccw-offen);color:#fff;border-color:var(--ccw-offen)}

.ccw-plan .ccw-seg button:hover,
.ccw-plan .ccw-seg button:focus-visible{
  background:var(--ccw-grund);color:var(--ccw-aktiv)}
.ccw-plan .ccw-seg button[aria-pressed="true"],
.ccw-plan .ccw-seg button[aria-pressed="true"]:hover,
.ccw-plan .ccw-seg button[aria-pressed="true"]:focus-visible{
  background:var(--ccw-text);color:var(--ccw-grund)}

/* Gleiches Muster beim Pfeil und beim Slider-Button.
   Astra färbt Links in seiner Linkfarbe und schlägt dabei die einfache Klassenregel –
   auf dem roten Knopf stand der Text dadurch dunkelrot auf Rot. Deshalb jeder Zustand
   mit zwei Klassen: Schrift immer weiß, beim Überfahren wird der Knopf schwarz. */
.ccw-slider .ccw-folie-link,
.ccw-slider .ccw-folie-link:link,
.ccw-slider .ccw-folie-link:visited{background:#e11845;color:#fff}
.ccw-slider .ccw-folie-link:hover,
.ccw-slider .ccw-folie-link:focus-visible,
.ccw-slider .ccw-folie-link:active{background:#2c2322;color:#fff}
.ccw-slider .ccw-slider-pfeil:hover,
.ccw-slider .ccw-slider-pfeil:focus-visible{background:rgba(225,24,69,.92);color:#fff}

/* ---------------------------------------------------------------------------
   Shop-Übersicht [ccw_shops]
   --------------------------------------------------------------------------- */
.ccw-shops{display:grid;gap:20px;
  grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));
  margin:0 0 22px}
@media(min-width:900px){.ccw-shops{grid-template-columns:repeat(var(--ccw-spalten,3),1fr)}}
.ccw-shop{display:flex;flex-direction:column;text-decoration:none;color:#2c2322;
  background:#fff;border:1px solid #e4dedA;border-radius:3px;overflow:hidden;
  transition:border-color .15s,transform .15s}
.ccw-shop:hover,.ccw-shop:focus-visible{border-color:#e11845;transform:translateY(-2px)}
.ccw-shop:focus-visible{outline:2px solid #e11845;outline-offset:2px}
.ccw-shop-bild{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#efe9e6}
.ccw-shop-bild img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.ccw-shop-text{display:flex;flex-direction:column;gap:5px;padding:16px 18px 18px}
.ccw-shop-name{font-weight:700;font-size:17px;line-height:1.25;color:#2c2322}
.ccw-shop:hover .ccw-shop-name{color:#e11845}
.ccw-shop-kurz{font-size:14px;color:#6e6260;line-height:1.45}
.ccw-shop .ccw-ampel{margin-top:4px;font-size:12.5px}
.ccw-shops-hinweis{font-size:15px;color:#6e6260;margin:0}
.ccw-shops-hinweis a{color:#e11845;font-weight:600}

/* ---------------------------------------------------------------------------
   "Sie sind hier" – die eigene Fläche auf einer Shop-Seite.
   Bewusst anders als der Hover-Zustand: der ist flüchtig, dieser bleibt.
   --------------------------------------------------------------------------- */
.ccw-f.ccw-hier > polygon,.ccw-f.ccw-hier > rect{
  fill:var(--ccw-aktiv);stroke:#fff;stroke-width:2.5}
.ccw-punkt.ccw-hier circle{fill:var(--ccw-aktiv);stroke:#fff;stroke-width:3}
.ccw-f.ccw-hier > path[fill="#FFFFFF"],.ccw-f.ccw-hier text,
.ccw-punkt.ccw-hier text{fill:#fff}
.ccw-f.ccw-hier[data-aus],.ccw-punkt.ccw-hier[data-aus]{opacity:1}
.ccw-zeile.ccw-hier{background:#fdeef2;box-shadow:inset 3px 0 0 var(--ccw-aktiv)}
.ccw-hier-marke{display:inline-block;margin-top:5px;font-size:11.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--ccw-aktiv);
  padding:3px 8px;border-radius:2px;align-self:flex-start}

/* Hervorgehobene Meldung + Spalte daneben */
.ccw-news--gross{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:900px){.ccw-news--gross{grid-template-columns:1.35fr 1fr;align-items:start}
  .ccw-news--gross .ccw-news-titel{grid-column:1/-1}
  .ccw-news--gross .ccw-news-gitter{grid-template-columns:1fr}}
.ccw-news-haupt{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border:1px solid var(--ccw-linie,#e4dedA);border-radius:3px;overflow:hidden;
  transition:border-color .15s}
.ccw-news-haupt:hover{border-color:#e11845}
.ccw-news-haupt .ccw-news-bild{aspect-ratio:16/9}
.ccw-news-haupt .ccw-news-text{padding:18px 22px 24px;gap:7px}
.ccw-news-marke{display:inline-block;align-self:flex-start;background:#e11845;color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  padding:4px 9px;border-radius:2px;margin-bottom:2px}
.ccw-news-haupt .ccw-news-h{font-size:24px;line-height:1.25}
.ccw-news-haupt:hover .ccw-news-h{color:#e11845}
.ccw-news-anriss{font-size:15px;color:#6e6260;line-height:1.6;margin-top:2px}

/* Angebote */
.ccw-angebote{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr))}
.ccw-angebot{display:flex;flex-direction:column;text-decoration:none;color:#2c2322;
  background:#fff;border:1px solid #e4dedA;border-radius:3px;overflow:hidden;
  transition:border-color .15s,transform .15s}
.ccw-angebot:hover{border-color:#e11845;transform:translateY(-2px)}
.ccw-angebot-bild{display:block;aspect-ratio:16/10;overflow:hidden;background:#efe9e6}
.ccw-angebot-bild img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.ccw-angebot-text{display:flex;flex-direction:column;gap:5px;padding:15px 18px 18px}
.ccw-angebot-shop{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:#e11845}
.ccw-angebot-titel{font-weight:700;font-size:16.5px;line-height:1.3}
.ccw-angebot:hover .ccw-angebot-titel{color:#e11845}
.ccw-angebot time{font-size:13px;color:#6e6260}
.ccw-leer{font-size:16px;color:#6e6260;padding:24px 0}

/* Blättern in den Meldungen */
.ccw-blaettern{display:flex;gap:18px;align-items:center;justify-content:center;
  margin-top:28px;font-size:15px;color:#6e6260}
.ccw-blaettern a{color:#e11845;font-weight:600;text-decoration:none;
  border:1px solid #e4dedA;border-radius:3px;padding:9px 16px;transition:border-color .15s}
.ccw-blaettern a:hover,.ccw-blaettern a:focus-visible{border-color:#e11845}

/* Firmenlogo in der Infospalte einer Shop-Seite */
.ccw-firmenlogo{display:flex;align-items:center;justify-content:flex-start;
  background:#fff;border:1px solid #e4dedA;border-radius:3px;
  padding:14px 16px;margin:0 0 18px}
.ccw-firmenlogo img{max-width:190px;max-height:80px;width:auto;height:auto;
  object-fit:contain;display:block}
@media(max-width:600px){.ccw-firmenlogo img{max-width:160px;max-height:70px}}

/* ---------------------------------------------------------------------------
   Hervorgehobene Meldung: beide Spalten gleich hoch.
   Zwei Karten mit festem Bildseitenverhältnis werden zusammen höher als die
   eine große daneben – es entsteht Leerraum unter der kürzeren Spalte. Deshalb
   füllen die kleinen Karten die verfügbare Höhe, und ihr Bild wächst mit,
   statt ein festes Verhältnis zu erzwingen.
   --------------------------------------------------------------------------- */
@media(min-width:900px){
  .ccw-news--gross{align-items:stretch}
  .ccw-news--gross .ccw-news-haupt{height:100%}
  .ccw-news--gross .ccw-news-gitter{display:flex;flex-direction:column;gap:20px;height:100%}
  .ccw-news--gross .ccw-news-karte{flex:1 1 0;min-height:0}
  .ccw-news--gross .ccw-news-karte .ccw-news-bild{flex:1 1 auto;aspect-ratio:auto;min-height:90px}
  .ccw-news--gross .ccw-news-karte .ccw-news-text{flex:0 0 auto}
  .ccw-news--gross .ccw-news-haupt .ccw-news-bild{flex:1 1 auto;aspect-ratio:auto;min-height:200px}
  .ccw-news--gross .ccw-news-haupt .ccw-news-text{flex:0 0 auto}
}

/* ---------------------------------------------------------------------------
   Soziale Netzwerke im Footer.
   Das Starter-Template brachte vier Symbole mit (Facebook, LinkedIn, Twitter,
   YouTube), alle auf "#" verlinkt – also tote Knöpfe. Das Center hat genau zwei
   Kanäle; die stehen jetzt als echte Links im Footer-Text, die Platzhalterleiste
   des Themes wird ausgeblendet.
   --------------------------------------------------------------------------- */
.ast-footer-social-wrap,
.site-footer .ast-builder-social-element[href="#"]{display:none !important}

.ccw-social{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.ccw-social a{display:inline-flex;align-items:center;gap:8px;
  color:#c9bfbc;text-decoration:none;font-size:14px;font-weight:600;
  border:1px solid #443937;border-radius:3px;padding:8px 14px;
  transition:border-color .15s,color .15s,background .15s}
.ccw-social a:hover,.ccw-social a:focus-visible{
  color:#fff;border-color:#e11845;background:rgba(225,24,69,.16);text-decoration:none}
.ccw-social svg{flex:0 0 auto}
@media(max-width:400px){.ccw-social a span{display:none}
  .ccw-social a{padding:9px 12px}}

/* ---- Google-Karte mit Zustimmungssperre (eigener Namensraum!) ----------
   Heisst bewusst ccw-gkarte: .ccw-karte gehoert seit jeher dem Kartenfeld
   im Centerplan. Gleiche Namen hatten den Plan auf 420 px gestaucht und
   unten abgeschnitten. -------------------------------------------------- -------------------------------------- */
/* Die Vorschau kommt ohne jede fremde Anfrage aus: das Raster ist ein
   Verlaufsmuster, die Nadel eine Form aus CSS. Erst der Klick holt Google. */
.ccw-gkarte{position:relative;height:var(--ccw-gkarte-hoehe,420px);border-radius:3px;
  overflow:hidden;border:1px solid #e4dedA;background:#f0ecea;margin:0 0 12px}
.ccw-gkarte iframe{display:block;width:100%;height:100%;border:0}
.ccw-gkarte-sperre{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}
/* Angedeuteter Stadtplan: Baublock-Raster, zwei Strassenzuege, ein Gruenzug.
   Alles aus Verlaeufen, damit die Vorschau ohne eine einzige Datei auskommt. */
.ccw-gkarte-muster{position:absolute;inset:0;background:
  linear-gradient(90deg,transparent 0,transparent 62%,#e9efe7 62%,#e9efe7 76%,transparent 76%),
  linear-gradient(115deg,transparent 45.4%,#fff 45.4%,#fff 54.6%,transparent 54.6%),
  linear-gradient(#fff 0,#fff 100%) 0 66%/100% 26px no-repeat,
  linear-gradient(#eae4e1 1px,transparent 1px) 0 0/44px 44px,
  linear-gradient(90deg,#eae4e1 1px,transparent 1px) 0 0/44px 44px,
  #f4f1ef}
.ccw-gkarte-nadel{display:block;width:20px;height:20px;margin:0 auto 12px;
  border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#e11845;position:relative;
  box-shadow:0 6px 14px rgba(225,24,69,.28)}
.ccw-gkarte-nadel::after{content:"";position:absolute;left:6px;top:6px;width:8px;height:8px;
  border-radius:50%;background:#fff}
.ccw-gkarte-kasten{position:relative;max-width:420px;text-align:center;background:#fff;
  border:1px solid #e4dedA;border-radius:3px;padding:22px 24px;
  box-shadow:0 10px 30px rgba(44,35,34,.12)}
.ccw-gkarte-uebertitel{margin:0 0 6px;font:600 12px/1.2 inherit;letter-spacing:.09em;
  text-transform:uppercase;color:#6e6260}
.ccw-gkarte-text{margin:0 0 16px;font-size:14px;line-height:1.55;color:#2c2322}
.ccw-gkarte-knoepfe{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.ccw-gkarte .ccw-gkarte-knopf{appearance:none;border:0;cursor:pointer;background:#e11845;color:#fff;
  border-radius:3px;padding:12px 22px;font-size:14px;font-weight:600;line-height:1}
.ccw-gkarte .ccw-gkarte-knopf:hover,.ccw-gkarte .ccw-gkarte-knopf:focus-visible{background:#c3143b;color:#fff}
.ccw-gkarte .ccw-gkarte-link{font-size:14px;color:#2c2322;text-decoration:underline;text-underline-offset:3px}
.ccw-gkarte .ccw-gkarte-link:hover{color:#e11845}
.ccw-gkarte-fuss{margin:14px 0 0;font-size:12px;color:#6e6260}
.ccw-gkarte-fuss a{color:#6e6260;text-decoration:underline}
.ccw-gkarte-route{margin:0 0 8px}
a.ccw-gkarte-routenknopf{display:inline-block;border:1px solid #2c2322;border-radius:3px;
  padding:11px 20px;font-size:14px;font-weight:600;line-height:1;color:#2c2322;text-decoration:none}
a.ccw-gkarte-routenknopf:hover,a.ccw-gkarte-routenknopf:focus-visible{background:#2c2322;color:#fff}
@media (max-width:600px){
  .ccw-gkarte{height:320px}
  .ccw-gkarte-kasten{padding:18px}
}

/* ---- Zeitenkasten [ccw_zeiten] ---------------------------------------- */
/* Zieht die Zeiten aus der Seite des Betriebs. Absichtlich schlicht, damit er
   in jedem Abschnitt sitzen kann – hell wie dunkel. */
.ccw-zeitenkasten{border:1px solid #e4dedA;border-radius:3px;background:#fff;padding:22px 24px}
.ccw-zeitenkasten-titel{margin:0 0 12px;font:600 12px/1.2 inherit;letter-spacing:.09em;
  text-transform:uppercase;color:#6e6260}
.ccw-zeitenkasten-liste{list-style:none;margin:0;padding:0}
.ccw-zeitenkasten-liste li{margin:0 0 6px;padding:0;font-size:15px;line-height:1.5;color:#2c2322}
.ccw-zeitenkasten-liste li:last-child{margin-bottom:0}
.ccw-zeitenkasten-status{display:inline-flex;align-items:center;gap:7px;margin:14px 0 0;
  font-size:14px;font-weight:600;color:#6e6260}
.ccw-zeitenkasten-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#9c918c}
.ccw-zeitenkasten-status.ccw-ist-offen{color:#4a7d5c}
.ccw-zeitenkasten-status.ccw-ist-offen::before{background:#4a7d5c}

/* ---- Slider-Text bündig zum Seiteninhalt ---------------------------------
   Elementor zentriert den Inhalt der Abschnitte auf 1200 px und polstert 24 px
   (unter 768 px: 20 px). --ccw-kante rechnet genau diese linke Inhaltskante nach.
   Die 100 % beziehen sich dort, wo die Variable eingesetzt wird, auf die Breite
   des Sliders – dadurch stimmt die Kante auch mit sichtbarer Scrollleiste. */
.ccw-slider{--ccw-rand:24px;--ccw-inhalt:1200px;
  --ccw-kante:max(var(--ccw-rand), calc(var(--ccw-rand) + (100% - 2 * var(--ccw-rand) - var(--ccw-inhalt)) / 2))}
@media(max-width:767px){.ccw-slider{--ccw-rand:20px}}
/* Unten mehr Abstand: der Text sitzt etwas höher und hat Luft zu den Punkten. */
.ccw-slider .ccw-folie-text{padding:36px var(--ccw-kante) 104px;max-width:none}
.ccw-slider .ccw-folie-titel{max-width:800px}
.ccw-slider .ccw-slider-punkte{left:var(--ccw-kante)}
.ccw-slider .ccw-slider-claim{padding-left:var(--ccw-kante);padding-right:var(--ccw-kante)}
@media(max-width:600px){.ccw-slider .ccw-folie-text{padding:24px var(--ccw-kante) 80px}}

/* ---- Firmenlogos größer --------------------------------------------------
   Die meisten Logos liegen auf 400×300-Flächen mit viel Weißraum. Bei 80 px
   Höhe blieb vom Schriftzug kaum etwas übrig; jetzt füllt das Logo die Karte. */
.ccw-firmenlogo{justify-content:center;padding:18px 20px}
.ccw-firmenlogo img{max-width:100%;max-height:170px}
@media(max-width:600px){.ccw-firmenlogo img{max-width:100%;max-height:150px}}

/* ---- Pfeile auf schmalen Bildschirmen -------------------------------------
   Bis 1024 px reicht der Text bis in die Mitte des Sliders und lag unter dem
   linken Pfeil. Unten rechts stören die Pfeile weder Titel, Knopf noch Punkte. */
@media(max-width:1024px){
  .ccw-slider .ccw-slider-pfeil{top:auto;bottom:14px;transform:none}
  .ccw-slider .ccw-slider-pfeil.ccw-zurueck{left:auto;right:calc(var(--ccw-kante) + 52px)}
  .ccw-slider .ccw-slider-pfeil.ccw-vor{right:var(--ccw-kante)}
}


/* ---- Marken im Plan: einheitliche Nummern, Logo-Karte zum Aufspringen ----
   Die Nummern der Illustrator-Grafik sind Umrisse, bei 3a/3b sogar Times kursiv.
   Sie weichen Marken, die das Skript an dieselben Stellen setzt. visibility statt
   display, damit das Skript die alten Kreise noch vermessen kann. */
.ccw-f>path[fill="#6F6F6E"],.ccw-f>path[fill="#F19992"],.ccw-f>path[fill="#FFFFFF"],
.ccw-f>polygon[fill="#FFFFFF"],.ccw-f>text,.ccw-f>ellipse{visibility:hidden}
.ccw-punkt circle,.ccw-punkt text{opacity:0}
.ccw-karte svg [id^="MNOINT"]{visibility:hidden}
.ccw-ebenenname{font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  fill:var(--ccw-struktur);dominant-baseline:central}
.ccw-karte svg{overflow:visible}

.ccw-marken{pointer-events:none}
.ccw-marke text{font-family:inherit;font-weight:600;text-anchor:middle;dominant-baseline:central;
  font-variant-numeric:tabular-nums lining-nums}
.ccw-marke-zahl circle{fill:#fff;stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 1.5px rgba(44,35,34,.25))}
.ccw-marke-zahl text{font-size:14px;fill:var(--ccw-text)}
.ccw-marke[data-frei] .ccw-marke-zahl circle{fill:#faf8f7;stroke:var(--ccw-frei);stroke-dasharray:4 3;filter:none}
.ccw-marke[data-frei] .ccw-marke-zahl text{fill:var(--ccw-frei)}
.ccw-marke.ccw-an:not([data-logo]) .ccw-marke-zahl circle{fill:var(--ccw-aktiv)}
.ccw-marke.ccw-an:not([data-logo]) .ccw-marke-zahl text{fill:#fff}
.ccw-marke[data-frei].ccw-an .ccw-marke-zahl circle{fill:var(--ccw-frei);stroke:#fff;stroke-dasharray:none}
.ccw-marke[data-aus]{opacity:.35}

.ccw-marke-zahl,.ccw-marke-logo,.ccw-marke-welle{transform-box:fill-box;transform-origin:center}
.ccw-marke-zahl{transition:transform .22s cubic-bezier(.34,1.56,.64,1) .08s}
.ccw-marke-logo{transform:scale(0);transition:transform .12s ease-in}
.ccw-marke-huelle{fill:none;stroke:none}
.ccw-marke-flaeche{fill:#fff;stroke:var(--ccw-aktiv);stroke-width:2.5;
  filter:drop-shadow(0 6px 12px rgba(44,35,34,.28))}
.ccw-marke-welle{fill:none;stroke:var(--ccw-aktiv);stroke-width:2;opacity:0}
.ccw-marke-tag rect{fill:var(--ccw-text)}
.ccw-marke-tag text{font-size:12.5px;fill:#fff}
.ccw-marke[data-logo].ccw-an .ccw-marke-zahl,
.ccw-marke[data-logo].ccw-hier .ccw-marke-zahl{transform:scaleX(0);transition:transform .1s ease-in}
.ccw-marke[data-logo].ccw-an .ccw-marke-logo,
.ccw-marke[data-logo].ccw-hier .ccw-marke-logo{transform:scale(1);
  transition:transform .34s cubic-bezier(.34,1.56,.64,1) .06s}
/* Sie sind hier: die eigene Karte bleibt offen und sendet leise Wellen */
.ccw-marke.ccw-hier .ccw-marke-welle{animation:ccw-welle 2.4s ease-out infinite}
@keyframes ccw-welle{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(1.28)}}
@media(prefers-reduced-motion:reduce){.ccw-marke-welle{animation:none!important}}

/* ---- Seitenleiste der Beiträge -------------------------------------------
   Drei Karten in derselben Handschrift wie der Zeitenkasten: heller Grund,
   feine Linie, kleine Versalüberschrift. Sie sollen die Meldung begleiten,
   nicht mit ihr konkurrieren. */
.ccw-leiste-karte{background:#faf8f7;border:1px solid #e4dedA;border-radius:3px;padding:20px 22px;margin:0 0 20px}
.ccw-leiste-karte:last-child{margin-bottom:0}
.ccw-leiste-titel{margin:0 0 12px;font:600 12px/1.2 inherit;letter-spacing:.09em;
  text-transform:uppercase;color:#6e6260}
.ccw-leiste-karte .ccw-zeitenkasten-liste li{font-size:14.5px;color:#2c2322}
.ccw-leiste-karte .ccw-zeitenkasten-status{margin-top:12px;font-size:13.5px}

.ccw-leiste-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ccw-leiste-liste li{margin:0;padding:0}
.ccw-leiste-liste a{display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:#2c2322}
.ccw-leiste-bild{flex:0 0 62px;width:62px;height:62px;border-radius:3px;overflow:hidden;
  background:#ece6e3;display:block}
.ccw-leiste-bild img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.ccw-leiste-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.ccw-leiste-datum{font-size:12.5px;color:#6e6260;letter-spacing:.02em}
.ccw-leiste-name{font-size:14.5px;font-weight:600;line-height:1.35}
.ccw-leiste-liste a:hover .ccw-leiste-name,
.ccw-leiste-liste a:focus-visible .ccw-leiste-name{color:#e11845}
.ccw-leiste-mehr{display:inline-block;margin-top:16px;font-size:14px;font-weight:600;
  color:#e11845;text-decoration:none}
.ccw-leiste-mehr:hover,.ccw-leiste-mehr:focus-visible{text-decoration:underline}

.ccw-wegweiser{list-style:none;margin:0;padding:0}
.ccw-wegweiser li{margin:0;padding:0;border-top:1px solid #e9e3e0}
.ccw-wegweiser li:first-child{border-top:0}
.ccw-wegweiser a{display:flex;align-items:baseline;gap:8px;padding:10px 0;text-decoration:none;
  color:#2c2322;font-size:14.5px;font-weight:600}
.ccw-wegweiser a::after{content:"›";margin-left:auto;color:#b9aeaa;font-weight:400;font-size:17px}
.ccw-wegweiser a:hover,.ccw-wegweiser a:focus-visible{color:#e11845}
.ccw-wegweiser a:hover::after{color:#e11845}
.ccw-wegweiser small{display:block;font-weight:400;font-size:13px;color:#6e6260;margin-top:1px}

/* ---- Einzelner Beitrag ----------------------------------------------------
   Kopfband, Textspalte und Seitenleiste in derselben Handschrift wie die
   Ladenseiten: dunkler Kopf, heller Text, Rot nur als Akzent. */
.single-post .ast-single-entry-banner{padding:56px 0;text-align:left}
.single-post .ast-single-entry-banner .ast-container{padding-left:24px;padding-right:24px}
.single-post .ast-single-entry-banner .entry-title{max-width:900px;margin:0;
  font-size:46px;font-weight:700;line-height:1.15;color:#fff;text-wrap:balance}
.single-post .ast-single-entry-banner .entry-meta{margin:14px 0 0;font-size:14.5px;
  line-height:1.5;color:#c9bfbc;letter-spacing:.01em}
.single-post .ast-single-entry-banner .entry-meta a{color:#f2a3b4;text-decoration:none}
.single-post .ast-single-entry-banner .entry-meta a:hover,
.single-post .ast-single-entry-banner .entry-meta a:focus-visible{color:#fff;text-decoration:underline}
@media(max-width:921px){
  .single-post .ast-single-entry-banner{padding:44px 0}
  .single-post .ast-single-entry-banner .entry-title{font-size:36px}
}
@media(max-width:600px){
  .single-post .ast-single-entry-banner{padding:32px 0}
  .single-post .ast-single-entry-banner .entry-title{font-size:28px}
  .single-post .ast-single-entry-banner .ast-container{padding-left:20px;padding-right:20px}
}

/* Beitragsbild über dem Text: ungeschnitten, damit auch Aushänge lesbar bleiben. */
.ccw-beitragsbild{margin:0 0 30px}
.ccw-beitragsbild img{display:block;width:100%;height:auto;border-radius:3px}
.ccw-beitragsbild figcaption{margin-top:8px;font-size:13.5px;color:#6e6260}

.single-post .entry-content{font-size:17px;line-height:1.75;color:#2c2322}
.single-post .entry-content h2{font-size:26px;line-height:1.25;margin:38px 0 12px;font-weight:700}
.single-post .entry-content h3{font-size:20px;line-height:1.3;margin:30px 0 10px;font-weight:700}
.single-post .entry-content h2:first-child,
.single-post .entry-content h3:first-child{margin-top:0}
.single-post .entry-content p{margin:0 0 18px}
.single-post .entry-content a{color:#c3143b;text-underline-offset:3px}
.single-post .entry-content a:hover{color:#e11845}
.single-post .entry-content img{border-radius:3px}
.single-post .entry-content ul,.single-post .entry-content ol{margin:0 0 18px 22px}
.single-post .entry-content li{margin-bottom:7px}

/* Seitenleiste: keine Trennlinie, dafür Luft. Unter 993 px rutscht sie unter den Text. */
.single-post.ast-right-sidebar #secondary{padding-left:44px;border-left:0}
.single-post #secondary .widget{margin-bottom:0;padding:0;border:0;background:none}
.single-post #secondary .widget+.widget{margin-top:20px}
@media(max-width:992px){
  .single-post.ast-right-sidebar #secondary{padding-left:0;margin-top:36px}
}

/* Voriger / nächster Beitrag */
.single-post .post-navigation{margin-top:40px;padding-top:22px;border-top:1px solid #e4dedA;
  font-size:15px}
.single-post .post-navigation a{color:#2c2322;text-decoration:none;font-weight:600}
.single-post .post-navigation a:hover,.single-post .post-navigation a:focus-visible{color:#e11845}

/* Bedarfsflächen (seit 1.15.0): wie freie Flächen gestrichelt, aber in eigenem Ton
   und mit kürzerem Strich, damit sie im Plan nicht als "zu vermieten" gelesen werden. */
.ccw-f[data-bedarf]>polygon,.ccw-f[data-bedarf]>rect{stroke:var(--ccw-bedarf);stroke-dasharray:2 3}
.ccw-f[data-bedarf]:hover>polygon,.ccw-f[data-bedarf].ccw-an>polygon,
.ccw-f[data-bedarf]:hover>rect,.ccw-f[data-bedarf].ccw-an>rect{fill:var(--ccw-bedarf);stroke-dasharray:none}
.ccw-punkt[data-bedarf] circle{stroke:var(--ccw-bedarf);stroke-dasharray:2 3}
.ccw-zeile[data-bedarf] .ccw-num{border-style:dotted;color:var(--ccw-bedarf)}
.ccw-ampel[data-s=bedarf]{color:var(--ccw-bedarf)}
.ccw-ampel[data-s=bedarf]::before{background:var(--ccw-bedarf)}
.ccw-marke[data-bedarf] .ccw-marke-zahl circle{stroke:var(--ccw-bedarf);stroke-dasharray:2 3}
.ccw-marke[data-bedarf] .ccw-marke-zahl text{fill:var(--ccw-bedarf)}
.ccw-marke[data-bedarf].ccw-an .ccw-marke-zahl circle{fill:var(--ccw-bedarf);stroke:#fff;stroke-dasharray:none}
.ccw-marke[data-bedarf].ccw-an .ccw-marke-zahl text{fill:#fff}
