body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
.social_feed_element{overflow:visible;padding:0;width:100%}.social_feed_element.extended .inner a{display:inline;padding:0;color:#1b95e0}.social_feed_element.extended .inner a:hover{text-decoration:underline}.social_feed_element.extended .inner>figure{padding:0}.social_feed_element.extended a.more{padding:0;font-size:14px;color:#1b95e0;font-weight:700;display:block}.social_feed_element.extended a.more:hover{text-decoration:underline}.social_feed_element.extended .inner{padding:0 20px 20px}.social_feed_element.extended p:first-child{margin-top:0}.social_feed_element.extended p:last-child{margin-bottom:0}.social_feed_element .inner{background:#f2f2f2;padding:0;margin:30px 10px 10px;position:relative;word-break:break-word;border-top:5px solid #c1c1c1}.social_feed_element .inner a{padding:0 20px;display:block}.social_feed_element .inner>figure{padding:0 20px}.social_feed_element .ce_text{padding:15px 0;color:#333;margin:0}.social_feed_element .icon{position:static;text-indent:0}.social_feed_element .icon img{position:absolute;top:-20px;border-radius:100%;max-width:50px}.social_feed_element .icon .image-wrapper:not(.loaded){height:0 !important}.social_feed_element .info{margin:0;padding:10px 0 0;text-align:right;font-size:14px;color:#989898;display:flex;align-items:center;justify-content:flex-end}.social_feed_element .info img{width:15px;margin-left:10px}.social_feed_element .title{margin:10px 0;font-size:16px;font-weight:700;color:#333}.social_feed_element a{color:#333;text-decoration:none}.social_feed_element .ce_text{font-size:14px}.social_feed_element .fa{font-size:18px;padding-left:5px}.social_feed_element .image_container>a{padding:0}.social_feed_container{width:calc(100% + 30px);margin-left:-15px;font-family:sans-serif}.social_feed_container:not(.masonry){display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.social_feed_container:not(.masonry).columns2 .social_feed_element{-ms-flex:0 0 50%;flex:0 0 50%}.social_feed_container:not(.masonry).columns3 .social_feed_element{-ms-flex:0 0 33%;flex:0 0 33%}.social_feed_container:not(.masonry).columns4 .social_feed_element{-ms-flex:0 0 25%;flex:0 0 25%}.social_feed_container.masonry.columns2 .social_feed_element,.social_feed_container.masonry.columns3 .social_feed_element,.social_feed_container.masonry.columns4 .social_feed_element{float:left}.social_feed_container.masonry.columns2 .social_feed_element{width:50%}.social_feed_container.masonry.columns3 .social_feed_element{width:33.33%}.social_feed_container.masonry.columns4 .social_feed_element{width:25%}@media (max-width:767px){.social_feed_container{width:100%;margin-left:0}.social_feed_container:not(.masonry).columns2 .social_feed_element,.social_feed_container:not(.masonry).columns3 .social_feed_element,.social_feed_container:not(.masonry).columns4 .social_feed_element{-ms-flex:0 0 100%;flex:0 0 100%}.social_feed_container.masonry.columns2 .social_feed_element,.social_feed_container.masonry.columns3 .social_feed_element,.social_feed_container.masonry.columns4 .social_feed_element{float:none;width:100%}}

.wwb {
  /* ---------- Hausfarben: hier anpassen ---------- */
  --wwb-akzent:      #d31a08;  /* Spenden-Button, entspricht eurem Theme-Rot */
  --wwb-akzent-tief: #a81306;  /* dunklere Variante fuer Hover */
  --wwb-nacht:       #071618;  /* Hintergrund der gezeichneten Szene */
  --wwb-winter:      transparent; /* Hintergrund hinter der Illustration.
                                     Die Grafik selbst ist transparent, hier
                                     scheint also die Seite durch. Fuer eine
                                     Flaeche stattdessen z. B. #cddde5
                                     (Eisblau) oder #f0e9dd (Creme). */
  /* ---------------------------------------------- */

  font: inherit;               /* uebernimmt die Schrift des Themes */
  /* Keine Breitenbegrenzung: das Widget nutzt die Spaltenbreite des Themes.
     Falls doch gewuenscht: max-width: 46rem; margin-inline: auto; */
}
.wwb *, .wwb *::before, .wwb *::after { box-sizing: border-box; }
/* Kein pauschales margin:0 mehr auf Absaetzen - die beiden Absaetze unter der
   Szene setzen ihre Abstaende weiter unten selbst. */
.wwb p { padding: 0; }

.wwb-buehne {
  position: relative;
  border-radius: 0.375rem;
  overflow: hidden;
  background: var(--wwb-nacht);
  line-height: 0;
}
.wwb-illu .wwb-buehne { background: var(--wwb-winter); }

.wwb-szene { display: block; width: 100%; height: auto; }

/* Illustration plus darueberliegende Klickebene */
.wwb-bild  { display: block; width: 100%; height: auto; }
.wwb-ebene { position: absolute; inset: 0; width: 100%; height: 100%; }

/* Kugeln und Geschenke reagieren auf Maus und Finger */
.wwb-ziel { cursor: pointer; }
.wwb-ziel .wwb-heben {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 0.2s cubic-bezier(.34, 1.3, .64, 1);
}
.wwb-ziel:hover .wwb-heben { transform: scale(1.09); }
.wwb-ziel .wwb-aura { opacity: 0; transition: opacity 0.2s ease; }
.wwb-ziel:hover .wwb-aura { opacity: 1; }

/* Lichterkette und Schnee der gezeichneten Variante */
.wwb-licht { animation: wwb-flackern 4.5s ease-in-out infinite; }
@keyframes wwb-flackern { 0%, 100% { opacity: 1 } 50% { opacity: 0.55 } }

.wwb-flocke { animation: wwb-fallen linear infinite; }
@keyframes wwb-fallen {
  from { transform: translateY(-60px); }
  to   { transform: translateY(1140px); }
}

@media (prefers-reduced-motion: reduce) {
  .wwb-licht, .wwb-flocke { animation: none; }
  .wwb-flocke { opacity: 0.25; }
  .wwb-ziel .wwb-heben { transition: none; }
}

/* --------------------------------------------------------------------------
   Abschluss unter der Szene: Button plus leiser Hinweis.
   Der Button traegt zusaetzlich die Theme-Klasse "btn". Alles hier ist mit
   .wwb davor geschrieben und gewinnt damit gegen .btn, egal in welcher
   Reihenfolge die Stylesheets geladen werden.
   -------------------------------------------------------------------------- */
.wwb .wwb-aktion {
  margin: 2.25rem 0 0;
  text-align: center;     /* fuer linksbuendig: auf left aendern */
}
.wwb .wwb-hinweis {
  margin: 1rem 0 2rem;
  text-align: center;     /* muss zur Zeile darueber passen */
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  opacity: 0.62;
}

.wwb .wwb-cta {
  display: inline-block;
  height: auto;                       /* Theme setzt 36px, das waere zu klein */
  margin: 0;
  padding: 1.05rem 2.6rem;
  border: none;
  border-radius: 0;
  background-color: var(--wwb-akzent);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  /* Der harte, leicht versetzte Schatten ist die Handschrift eures Themes,
     hier nur auf die groessere Flaeche hochskaliert. */
  box-shadow: -3px 3px 3px 0 rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s ease-out, transform 0.12s ease-out, box-shadow 0.12s ease-out;
}
.wwb .wwb-cta:hover,
.wwb .wwb-cta:focus {
  background-color: var(--wwb-akzent-tief);
  color: #fff;
}
/* Beim Druecken wandert der Button in seinen Schatten hinein */
.wwb .wwb-cta:hover {
  transform: translate(-2px, 2px);
  box-shadow: -1px 1px 2px 0 rgba(0, 0, 0, 0.28);
}
.wwb .wwb-cta:active {
  transform: translate(-3px, 3px);
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2);
}
.wwb .wwb-cta:focus-visible {
  outline: 3px solid var(--wwb-akzent);
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .wwb .wwb-cta { transition: background-color 0.2s ease-out; }
  .wwb .wwb-cta:hover, .wwb .wwb-cta:active { transform: none; }
}
