.elementor-33 .elementor-element.elementor-element-8367602{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:150px 150px;--row-gap:150px;--column-gap:150px;--padding-top:150px;--padding-bottom:150px;--padding-left:20px;--padding-right:20px;}.elementor-33 .elementor-element.elementor-element-5da0149{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:wrap;}.elementor-33 .elementor-element.elementor-element-0109516{width:var( --container-widget-width, 65% );max-width:65%;--container-widget-width:65%;--container-widget-flex-grow:0;text-align:start;}.elementor-33 .elementor-element.elementor-element-0109516 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-secondary );}.elementor-33 .elementor-element.elementor-element-485727b{width:var( --container-widget-width, 135px );max-width:135px;margin:-50px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:135px;--container-widget-flex-grow:0;}.elementor-33 .elementor-element.elementor-element-485727b img{height:135px;object-fit:contain;object-position:center center;}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta .elementor-cta__bg, .elementor-33 .elementor-element.elementor-element-548133d .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-33 .elementor-element.elementor-element-548133d{width:var( --container-widget-width, 765px );max-width:765px;--container-widget-width:765px;--container-widget-flex-grow:0;}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__content{text-align:start;padding:0px 0px 0px 0px;background-color:var( --e-global-color-transparent );}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__title{font-family:var( --e-global-typography-mq1sppv-font-family ), Sans-serif;font-size:var( --e-global-typography-mq1sppv-font-size );font-weight:var( --e-global-typography-mq1sppv-font-weight );line-height:var( --e-global-typography-mq1sppv-line-height );color:var( --e-global-color-text );}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-33 .elementor-element.elementor-element-fd17202{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:60px 30px;--row-gap:60px;--column-gap:30px;--flex-wrap:wrap;}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta .elementor-cta__bg, .elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta .elementor-cta__bg-overlay{transition-duration:500ms;}.elementor-33 .elementor-element.elementor-element-b84b027{width:var( --container-widget-width, calc((100% - 60px) / 3) );max-width:calc((100% - 60px) / 3);--container-widget-width:calc((100% - 60px) / 3);--container-widget-flex-grow:0;}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__content{text-align:start;padding:20px 80px 0px 0px;background-color:var( --e-global-color-transparent );}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__title{font-family:var( --e-global-typography-od2xcdl-font-family ), Sans-serif;font-size:var( --e-global-typography-od2xcdl-font-size );font-weight:var( --e-global-typography-od2xcdl-font-weight );line-height:var( --e-global-typography-od2xcdl-line-height );color:var( --e-global-color-text );}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__title:not(:last-child){margin-bottom:20px;}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__button{color:var( --e-global-color-ffffff );border-color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );background-color:var( --e-global-color-accent );border-width:0px;border-radius:50%;padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta:hover .elementor-cta__bg-overlay{background-color:var( --e-global-color-transparent );}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta .elementor-cta__bg, .elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta .elementor-cta__bg-overlay{transition-duration:500ms;}.elementor-33 .elementor-element.elementor-element-967c507{width:var( --container-widget-width, calc((100% - 60px) / 3) );max-width:calc((100% - 60px) / 3);--container-widget-width:calc((100% - 60px) / 3);--container-widget-flex-grow:0;}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__content{text-align:start;padding:20px 80px 0px 0px;background-color:var( --e-global-color-transparent );}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__title{font-family:var( --e-global-typography-od2xcdl-font-family ), Sans-serif;font-size:var( --e-global-typography-od2xcdl-font-size );font-weight:var( --e-global-typography-od2xcdl-font-weight );line-height:var( --e-global-typography-od2xcdl-line-height );color:var( --e-global-color-text );}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__title:not(:last-child){margin-bottom:20px;}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__button{color:var( --e-global-color-ffffff );border-color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );background-color:var( --e-global-color-primary );border-width:0px;border-radius:50%;padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta:hover .elementor-cta__bg-overlay{background-color:var( --e-global-color-transparent );}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta .elementor-cta__bg, .elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta .elementor-cta__bg-overlay{transition-duration:500ms;}.elementor-33 .elementor-element.elementor-element-160d1cb{width:var( --container-widget-width, calc((100% - 60px) / 3) );max-width:calc((100% - 60px) / 3);--container-widget-width:calc((100% - 60px) / 3);--container-widget-flex-grow:0;}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__content{text-align:start;padding:20px 80px 0px 0px;background-color:var( --e-global-color-transparent );}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__title{font-family:var( --e-global-typography-od2xcdl-font-family ), Sans-serif;font-size:var( --e-global-typography-od2xcdl-font-size );font-weight:var( --e-global-typography-od2xcdl-font-weight );line-height:var( --e-global-typography-od2xcdl-line-height );color:var( --e-global-color-text );}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__title:not(:last-child){margin-bottom:20px;}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__button{color:var( --e-global-color-ffffff );border-color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );background-color:var( --e-global-color-secondary );border-width:0px;border-radius:50%;padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta:hover .elementor-cta__bg-overlay{background-color:var( --e-global-color-transparent );}.elementor-33 .elementor-element.elementor-element-a535223{--display:flex;}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta .elementor-cta__bg, .elementor-33 .elementor-element.elementor-global-1487 .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta__title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );color:var( --e-global-color-secondary );}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta__button{color:var( --e-global-color-ffffff );border-color:var( --e-global-color-primary );background-color:var( --e-global-color-primary );border-width:0px;}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta__button:hover{background-color:var( --e-global-color-accent );}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta:hover .elementor-cta__bg-overlay{background-color:var( --e-global-color-transparent );}.elementor-33 .elementor-element.elementor-element-b9d58c5{--display:flex;}.elementor-33 .elementor-element.elementor-element-63aee30{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:100px 100px;--row-gap:100px;--column-gap:100px;}.elementor-33 .elementor-element.elementor-element-63aee30.e-con{--align-self:center;}@media(max-width:1200px){.elementor-33 .elementor-element.elementor-element-8367602{--gap:100px 100px;--row-gap:100px;--column-gap:100px;}.elementor-33 .elementor-element.elementor-element-5da0149{--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-33 .elementor-element.elementor-element-0109516{width:var( --container-widget-width, calc(100% - 165px) );max-width:calc(100% - 165px);--container-widget-width:calc(100% - 165px);--container-widget-flex-grow:0;}.elementor-33 .elementor-element.elementor-element-0109516 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-33 .elementor-element.elementor-element-548133d{width:var( --container-widget-width, 765px );max-width:765px;--container-widget-width:765px;--container-widget-flex-grow:0;}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__title{font-size:var( --e-global-typography-mq1sppv-font-size );line-height:var( --e-global-typography-mq1sppv-line-height );}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__content{padding:20px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__title{font-size:var( --e-global-typography-od2xcdl-font-size );line-height:var( --e-global-typography-od2xcdl-line-height );}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__button{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__content{padding:20px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__title{font-size:var( --e-global-typography-od2xcdl-font-size );line-height:var( --e-global-typography-od2xcdl-line-height );}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__button{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__content{padding:20px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__title{font-size:var( --e-global-typography-od2xcdl-font-size );line-height:var( --e-global-typography-od2xcdl-line-height );}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__button{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta__title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-33 .elementor-element.elementor-element-63aee30{--flex-wrap:wrap;}}@media(max-width:1024px){.elementor-33 .elementor-element.elementor-element-8367602{--gap:100px 100px;--row-gap:100px;--column-gap:100px;--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-33 .elementor-element.elementor-element-0109516 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-33 .elementor-element.elementor-element-485727b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-33 .elementor-element.elementor-element-548133d{width:100%;max-width:100%;}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__title{font-size:var( --e-global-typography-mq1sppv-font-size );line-height:var( --e-global-typography-mq1sppv-line-height );}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-33 .elementor-element.elementor-element-b84b027{--container-widget-width:calc((100% - 60px) / 3);--container-widget-flex-grow:0;width:var( --container-widget-width, calc((100% - 60px) / 3) );max-width:calc((100% - 60px) / 3);}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__title{font-size:var( --e-global-typography-od2xcdl-font-size );line-height:var( --e-global-typography-od2xcdl-line-height );}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__button{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-967c507{--container-widget-width:calc((100% - 60px) / 3);--container-widget-flex-grow:0;width:var( --container-widget-width, calc((100% - 60px) / 3) );max-width:calc((100% - 60px) / 3);}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__title{font-size:var( --e-global-typography-od2xcdl-font-size );line-height:var( --e-global-typography-od2xcdl-line-height );}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__button{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-160d1cb{--container-widget-width:calc((100% - 60px) / 3);--container-widget-flex-grow:0;width:var( --container-widget-width, calc((100% - 60px) / 3) );max-width:calc((100% - 60px) / 3);}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__title{font-size:var( --e-global-typography-od2xcdl-font-size );line-height:var( --e-global-typography-od2xcdl-line-height );}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__button{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta__title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-33 .elementor-element.elementor-element-63aee30{--gap:50px 50px;--row-gap:50px;--column-gap:50px;}}@media(max-width:767px){.elementor-33 .elementor-element.elementor-element-8367602{--gap:60px 60px;--row-gap:60px;--column-gap:60px;}.elementor-33 .elementor-element.elementor-element-5da0149{--justify-content:center;}.elementor-33 .elementor-element.elementor-element-0109516{width:100%;max-width:100%;text-align:center;}.elementor-33 .elementor-element.elementor-element-0109516 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-33 .elementor-element.elementor-element-485727b{--container-widget-width:60px;--container-widget-flex-grow:0;width:var( --container-widget-width, 60px );max-width:60px;}.elementor-33 .elementor-element.elementor-element-485727b.elementor-element{--align-self:center;}.elementor-33 .elementor-element.elementor-element-485727b img{height:60px;}.elementor-33 .elementor-element.elementor-element-548133d{width:100%;max-width:100%;}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__content{text-align:center;}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__title{font-size:var( --e-global-typography-mq1sppv-font-size );line-height:var( --e-global-typography-mq1sppv-line-height );}.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-33 .elementor-element.elementor-element-b84b027{width:100%;max-width:100%;}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__content{text-align:start;padding:16px 24px 0px 0px;}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__title{font-size:var( --e-global-typography-od2xcdl-font-size );line-height:var( --e-global-typography-od2xcdl-line-height );}.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__button{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-967c507{width:100%;max-width:100%;}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__content{text-align:start;padding:16px 24px 0px 0px;}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__title{font-size:var( --e-global-typography-od2xcdl-font-size );line-height:var( --e-global-typography-od2xcdl-line-height );}.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__button{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-element-160d1cb{width:100%;max-width:100%;}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__content{text-align:start;padding:16px 24px 0px 0px;}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__title{font-size:var( --e-global-typography-od2xcdl-font-size );line-height:var( --e-global-typography-od2xcdl-line-height );}.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__button{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );padding:0px 0px 0px 0px;}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta__title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-33 .elementor-element.elementor-global-1487 .elementor-cta__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-33 .elementor-element.elementor-element-63aee30{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}}@media(min-width:768px){.elementor-33 .elementor-element.elementor-element-63aee30{--width:875px;}}@media(max-width:1024px) and (min-width:768px){.elementor-33 .elementor-element.elementor-element-63aee30{--width:100%;}}/* Start custom CSS for call-to-action, class: .elementor-element-548133d */.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__title span {color:var(--e-global-color-primary)}

.elementor-33 .elementor-element.elementor-element-548133d .elementor-cta__description strong {font-weight:500}/* End custom CSS */
/* Start custom CSS for call-to-action, class: .elementor-element-b84b027 *//* ==========================================================================
   CTA-Kachel  |  Icon auf Farbflaeche + Button in der Aussparung
   --------------------------------------------------------------------------
   Maskengeometrie (image-mask.svg, viewBox auf 428 x 316 normiert):
     Seitenverhaeltnis .......... 428 : 316
     Aussparung ................. Kreis, Radius 56.246
     Mittelpunkt der Aussparung . 28.347 vom rechten UND vom unteren
                                  Bildrand  =  6.6231 % der Kachelbreite

   Kachelbreite Desktop: (1320px - 2 x 30px Gap) / 3 = 420px
     -> Bildhoehe    420 x 316/428 = 310px
     -> Aussparung   Durchmesser 110px
     -> Button       16.6667 % von 420px = 70px

   Alle Werte sind prozentual zur Kachelbreite -> Bild und Button skalieren
   auf jeder Breite exakt mit der Maske mit, ohne Breakpoint-Rechnerei.
   ========================================================================== */

.elementor-33 .elementor-element.elementor-element-b84b027 {
    /* image-mask.svg als Data-URI (nichts hochladen noetig).
       Alternative: SVG in die Mediathek laden und hier ersetzen durch
       url("https://www.stadtwerke-weiden.de/wp-content/uploads/.../image-mask.svg") */
    --cta-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 428 316' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0,28.346V287.653A28.347,28.347,0,0,0,28.346,316H315.061a28.347,28.347,0,0,0,28.346-28.347,56.246,56.246,0,0,1,56.246-56.246h0A28.346,28.346,0,0,0,428,203.06V28.346A28.346,28.346,0,0,0,399.654,0H28.346A28.346,28.346,0,0,0,0,28.346'/%3E%3C/svg%3E");

    --cta-ratio: 428 / 316;  /* Seitenverhaeltnis des Bildes = Maske */
    --cta-notch: 6.6231%;    /* Mittelpunkt der Aussparung, von rechts / unten */
    --cta-btn: 16.6667%;     /* Buttondurchmesser -> 70px bei 420px Kachel */
    --cta-btn-min: 46px;     /* Untergrenze (Smartphone) */
    --cta-btn-max: 88px;     /* Obergrenze (sehr breite Kachel) */

    /* --- Icon statt Bild ---------------------------------------------
       Das Icon liegt als Maske auf .elementor-cta__bg. Dadurch kommt die
       Farbe aus der CSS-Variable statt aus der SVG-Datei, und der
       Zoom-Effekt beim Hover greift unveraendert, weil Elementor genau
       dieses Element skaliert.
       Quelldatei: icons/icon-oeffnungszeiten.svg (92.563 x 92.563)
       Fuer eine andere Groesse nur --cta-icon-h aendern - die Breite
       folgt ueber --cta-icon-ar automatisch, das Icon wird nie verzerrt. */
    --cta-bg: var(--e-global-color-accent);          /* Kachel UND Button */
    --cta-icon-color: var(--e-global-color-ffffff);
    --cta-icon-h: 100px;                             /* Hoehe des Icons */
    --cta-icon-ar: 1.00000;                         /* 92.563 / 92.563 */
    --cta-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='92.563' height='92.563' viewBox='0 0 92.563 92.563'%3E %3Cdefs%3E %3CclipPath id='clip-path'%3E %3Crect id='Rechteck_2796' data-name='Rechteck 2796' width='92.563' height='92.563' fill='%23fff' stroke='%23fff' stroke-width='1'/%3E %3C/clipPath%3E %3C/defs%3E %3Cg id='Gruppe_5920' data-name='Gruppe 5920' clip-path='url(%23clip-path)'%3E %3Cpath id='Pfad_4605' data-name='Pfad 4605' d='M46.28,92.563A46.282,46.282,0,1,1,92.561,46.282,46.331,46.331,0,0,1,46.28,92.563m0-86.249A39.967,39.967,0,1,0,86.247,46.282,40.012,40.012,0,0,0,46.28,6.315' transform='translate(0 0.001)' fill='%23fff' stroke='%23fff' stroke-width='1'/%3E %3Cpath id='Pfad_4606' data-name='Pfad 4606' d='M46.1,50.712l-4.639,4.3L23.366,36.941l-.013-22.677,6.519-.041L29.828,34.33Z' transform='translate(18.781 11.438)' fill='%23fff' stroke='%23fff' stroke-width='1'/%3E %3C/g%3E %3C/svg%3E");

    container-type: inline-size;  /* nur fuer die mitskalierende "+"-Groesse */
    overflow: visible;
}

/* ---------- Grundlayout: Bild oben, Text darunter ---------- */
.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    position: relative;
    overflow: visible;  /* Button darf ueber die Bildkante ragen */
}

/* ---------- Bild: feste Proportion + Maske ---------- */
.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta .elementor-cta__bg-wrapper {
    background-color: var(--cta-bg);
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;                     /* ersetzt die alte Mindesthoehe 320px */
    aspect-ratio: var(--cta-ratio);
    overflow: hidden;
    -webkit-mask-image: var(--cta-mask);
            mask-image: var(--cta-mask);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
}

.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta .elementor-cta__bg {
    /* Das im Widget hinterlegte Bild wird nicht mehr geladen: einen auf
       none gerechneten background-image fordert der Browser nie an.
       !important, weil Elementor die Bild-URL inline ausgibt. */
    background-image: none !important;
    background-color: var(--cta-icon-color);
    -webkit-mask-image: var(--cta-icon);
            mask-image: var(--cta-icon);
    -webkit-mask-size: calc(var(--cta-icon-h) * var(--cta-icon-ar)) var(--cta-icon-h);
            mask-size: calc(var(--cta-icon-h) * var(--cta-icon-ar)) var(--cta-icon-h);
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
}

/* ---------- Textblock ---------- */
.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta .elementor-cta__content {
    position: relative;                /* Bezugsrahmen fuer den Button */
    flex: 1 1 auto;
    width: 100%;
    justify-content: flex-start;       /* Text sitzt direkt unter dem Bild */
    overflow: visible;
}

/* ---------- Button in der Aussparung ----------
   top: 0 entspricht der Unterkante des Bildes.
   Prozentuale margin/right beziehen sich auf die Kachelbreite,
   translate(50%,-50%) legt den Buttonmittelpunkt exakt auf den
   Mittelpunkt der Aussparung. */
.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta .elementor-cta__button-wrapper {
    position: absolute;
    top: 0;
    right: var(--cta-notch);
    margin: calc(-1 * var(--cta-notch)) 0 0 0;
    padding: 0;
    width: var(--cta-btn);
    min-width: var(--cta-btn-min);
    max-width: var(--cta-btn-max);
    aspect-ratio: 1 / 1;
    transform: translate(50%, -50%) !important;
    z-index: 5;
}

.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta .elementor-cta__button-wrapper > .elementor-cta__button {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-width: 0;
    padding: 0;                        /* Groesse kommt nicht mehr ueber Padding */
    border: 0;
    border-radius: 50%;
    background-color: var(--cta-bg);
    line-height: 1;
    text-align: center;
    font-size: 40px;                          /* Fallback ohne Container-Queries */
    font-size: clamp(26px, 9.524cqw, 50px);   /* = 40px bei 420px Kachelbreite */
    transition: transform .3s ease, background-color .3s ease;
}

.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta:hover .elementor-cta__button-wrapper > .elementor-cta__button {
    transform: scale(1.08);
}

/* ---------- Titel ---------- */
.elementor-33 .elementor-element.elementor-element-b84b027 .elementor-cta__title {
    text-decoration: underline;
    text-underline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for call-to-action, class: .elementor-element-967c507 *//* ==========================================================================
   CTA-Kachel  |  Icon auf Farbflaeche + Button in der Aussparung
   --------------------------------------------------------------------------
   Maskengeometrie (image-mask.svg, viewBox auf 428 x 316 normiert):
     Seitenverhaeltnis .......... 428 : 316
     Aussparung ................. Kreis, Radius 56.246
     Mittelpunkt der Aussparung . 28.347 vom rechten UND vom unteren
                                  Bildrand  =  6.6231 % der Kachelbreite

   Kachelbreite Desktop: (1320px - 2 x 30px Gap) / 3 = 420px
     -> Bildhoehe    420 x 316/428 = 310px
     -> Aussparung   Durchmesser 110px
     -> Button       16.6667 % von 420px = 70px

   Alle Werte sind prozentual zur Kachelbreite -> Bild und Button skalieren
   auf jeder Breite exakt mit der Maske mit, ohne Breakpoint-Rechnerei.
   ========================================================================== */

.elementor-33 .elementor-element.elementor-element-967c507 {
    /* image-mask.svg als Data-URI (nichts hochladen noetig).
       Alternative: SVG in die Mediathek laden und hier ersetzen durch
       url("https://www.stadtwerke-weiden.de/wp-content/uploads/.../image-mask.svg") */
    --cta-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 428 316' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0,28.346V287.653A28.347,28.347,0,0,0,28.346,316H315.061a28.347,28.347,0,0,0,28.346-28.347,56.246,56.246,0,0,1,56.246-56.246h0A28.346,28.346,0,0,0,428,203.06V28.346A28.346,28.346,0,0,0,399.654,0H28.346A28.346,28.346,0,0,0,0,28.346'/%3E%3C/svg%3E");

    --cta-ratio: 428 / 316;  /* Seitenverhaeltnis des Bildes = Maske */
    --cta-notch: 6.6231%;    /* Mittelpunkt der Aussparung, von rechts / unten */
    --cta-btn: 16.6667%;     /* Buttondurchmesser -> 70px bei 420px Kachel */
    --cta-btn-min: 46px;     /* Untergrenze (Smartphone) */
    --cta-btn-max: 88px;     /* Obergrenze (sehr breite Kachel) */

    /* --- Icon statt Bild ---------------------------------------------
       Das Icon liegt als Maske auf .elementor-cta__bg. Dadurch kommt die
       Farbe aus der CSS-Variable statt aus der SVG-Datei, und der
       Zoom-Effekt beim Hover greift unveraendert, weil Elementor genau
       dieses Element skaliert.
       Quelldatei: icons/icon-preise.svg (120.697 x 92.563)
       Fuer eine andere Groesse nur --cta-icon-h aendern - die Breite
       folgt ueber --cta-icon-ar automatisch, das Icon wird nie verzerrt. */
    --cta-bg: var(--e-global-color-primary);          /* Kachel UND Button */
    --cta-icon-color: var(--e-global-color-secondary);
    --cta-icon-h: 100px;                             /* Hoehe des Icons */
    --cta-icon-ar: 1.30394;                         /* 120.697 / 92.563 */
    --cta-icon: url("data:image/svg+xml,%3Csvg id='Gruppe_5922' data-name='Gruppe 5922' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='120.697' height='92.563' viewBox='0 0 120.697 92.563'%3E %3Cdefs%3E %3CclipPath id='clip-path'%3E %3Crect id='Rechteck_2797' data-name='Rechteck 2797' width='120.697' height='92.563' fill='%23135347'/%3E %3C/clipPath%3E %3C/defs%3E %3Cg id='Gruppe_5921' data-name='Gruppe 5921' transform='translate(0 0)' clip-path='url(%23clip-path)'%3E %3Cpath id='Pfad_4607' data-name='Pfad 4607' d='M10.207,80.435c-1.341-2-1.468-5.5-1.023-8.432l90.928,0-.026-62.846,8.435-.214.033,71.448Z' transform='translate(12.142 12.129)' fill='%23135347'/%3E %3Cpath id='Pfad_4608' data-name='Pfad 4608' d='M0,0H103.894V75.868H0ZM95.417,8.463h-87V67.349h87Z' transform='translate(0 0)' fill='%23135347'/%3E %3Cpath id='Pfad_4609' data-name='Pfad 4609' d='M39.789,21.3v4.055H14.68V21.3h5.393A17.614,17.614,0,0,1,37.117,8.213a19.25,19.25,0,0,1,12.219,4.312L46.614,17.71l-.309.049a13.789,13.789,0,0,0-8.93-3.233A10.823,10.823,0,0,0,27.415,21.3Zm8.369,13.863h.509v6.519a19.691,19.691,0,0,1-11.91,3.7A17.448,17.448,0,0,1,20.073,32.393H14.68V28.339H39.789v4.055H27.568A11.216,11.216,0,0,0,37.631,39.12a16.417,16.417,0,0,0,10.527-3.954' transform='translate(19.907 11.138)' fill='%23135347'/%3E %3C/g%3E %3C/svg%3E");

    container-type: inline-size;  /* nur fuer die mitskalierende "+"-Groesse */
    overflow: visible;
}

/* ---------- Grundlayout: Bild oben, Text darunter ---------- */
.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    position: relative;
    overflow: visible;  /* Button darf ueber die Bildkante ragen */
}

/* ---------- Bild: feste Proportion + Maske ---------- */
.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta .elementor-cta__bg-wrapper {
    background-color: var(--cta-bg);
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;                     /* ersetzt die alte Mindesthoehe 320px */
    aspect-ratio: var(--cta-ratio);
    overflow: hidden;
    -webkit-mask-image: var(--cta-mask);
            mask-image: var(--cta-mask);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
}

.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta .elementor-cta__bg {
    /* Das im Widget hinterlegte Bild wird nicht mehr geladen: einen auf
       none gerechneten background-image fordert der Browser nie an.
       !important, weil Elementor die Bild-URL inline ausgibt. */
    background-image: none !important;
    background-color: var(--cta-icon-color);
    -webkit-mask-image: var(--cta-icon);
            mask-image: var(--cta-icon);
    -webkit-mask-size: calc(var(--cta-icon-h) * var(--cta-icon-ar)) var(--cta-icon-h);
            mask-size: calc(var(--cta-icon-h) * var(--cta-icon-ar)) var(--cta-icon-h);
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
}

/* ---------- Textblock ---------- */
.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta .elementor-cta__content {
    position: relative;                /* Bezugsrahmen fuer den Button */
    flex: 1 1 auto;
    width: 100%;
    justify-content: flex-start;       /* Text sitzt direkt unter dem Bild */
    overflow: visible;
}

/* ---------- Button in der Aussparung ----------
   top: 0 entspricht der Unterkante des Bildes.
   Prozentuale margin/right beziehen sich auf die Kachelbreite,
   translate(50%,-50%) legt den Buttonmittelpunkt exakt auf den
   Mittelpunkt der Aussparung. */
.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta .elementor-cta__button-wrapper {
    position: absolute;
    top: 0;
    right: var(--cta-notch);
    margin: calc(-1 * var(--cta-notch)) 0 0 0;
    padding: 0;
    width: var(--cta-btn);
    min-width: var(--cta-btn-min);
    max-width: var(--cta-btn-max);
    aspect-ratio: 1 / 1;
    transform: translate(50%, -50%) !important;
    z-index: 5;
}

.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta .elementor-cta__button-wrapper > .elementor-cta__button {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-width: 0;
    padding: 0;                        /* Groesse kommt nicht mehr ueber Padding */
    border: 0;
    border-radius: 50%;
    background-color: var(--cta-bg);
    line-height: 1;
    text-align: center;
    font-size: 40px;                          /* Fallback ohne Container-Queries */
    font-size: clamp(26px, 9.524cqw, 50px);   /* = 40px bei 420px Kachelbreite */
    transition: transform .3s ease, background-color .3s ease;
}

.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta:hover .elementor-cta__button-wrapper > .elementor-cta__button {
    transform: scale(1.08);
}

/* ---------- Titel ---------- */
.elementor-33 .elementor-element.elementor-element-967c507 .elementor-cta__title {
    text-decoration: underline;
    text-underline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for call-to-action, class: .elementor-element-160d1cb *//* ==========================================================================
   CTA-Kachel  |  Icon auf Farbflaeche + Button in der Aussparung
   --------------------------------------------------------------------------
   Maskengeometrie (image-mask.svg, viewBox auf 428 x 316 normiert):
     Seitenverhaeltnis .......... 428 : 316
     Aussparung ................. Kreis, Radius 56.246
     Mittelpunkt der Aussparung . 28.347 vom rechten UND vom unteren
                                  Bildrand  =  6.6231 % der Kachelbreite

   Kachelbreite Desktop: (1320px - 2 x 30px Gap) / 3 = 420px
     -> Bildhoehe    420 x 316/428 = 310px
     -> Aussparung   Durchmesser 110px
     -> Button       16.6667 % von 420px = 70px

   Alle Werte sind prozentual zur Kachelbreite -> Bild und Button skalieren
   auf jeder Breite exakt mit der Maske mit, ohne Breakpoint-Rechnerei.
   ========================================================================== */

.elementor-33 .elementor-element.elementor-element-160d1cb {
    /* image-mask.svg als Data-URI (nichts hochladen noetig).
       Alternative: SVG in die Mediathek laden und hier ersetzen durch
       url("https://www.stadtwerke-weiden.de/wp-content/uploads/.../image-mask.svg") */
    --cta-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 428 316' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0,28.346V287.653A28.347,28.347,0,0,0,28.346,316H315.061a28.347,28.347,0,0,0,28.346-28.347,56.246,56.246,0,0,1,56.246-56.246h0A28.346,28.346,0,0,0,428,203.06V28.346A28.346,28.346,0,0,0,399.654,0H28.346A28.346,28.346,0,0,0,0,28.346'/%3E%3C/svg%3E");

    --cta-ratio: 428 / 316;  /* Seitenverhaeltnis des Bildes = Maske */
    --cta-notch: 6.6231%;    /* Mittelpunkt der Aussparung, von rechts / unten */
    --cta-btn: 16.6667%;     /* Buttondurchmesser -> 70px bei 420px Kachel */
    --cta-btn-min: 46px;     /* Untergrenze (Smartphone) */
    --cta-btn-max: 88px;     /* Obergrenze (sehr breite Kachel) */

    /* --- Icon statt Bild ---------------------------------------------
       Das Icon liegt als Maske auf .elementor-cta__bg. Dadurch kommt die
       Farbe aus der CSS-Variable statt aus der SVG-Datei, und der
       Zoom-Effekt beim Hover greift unveraendert, weil Elementor genau
       dieses Element skaliert.
       Quelldatei: icons/icon-veranstaltungen.svg (92.296 x 92.564)
       Fuer eine andere Groesse nur --cta-icon-h aendern - die Breite
       folgt ueber --cta-icon-ar automatisch, das Icon wird nie verzerrt. */
    --cta-bg: var(--e-global-color-secondary);          /* Kachel UND Button */
    --cta-icon-color: var(--e-global-color-primary);
    --cta-icon-h: 100px;                             /* Hoehe des Icons */
    --cta-icon-ar: 0.99710;                         /* 92.296 / 92.564 */
    --cta-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='92.296' height='92.564' viewBox='0 0 92.296 92.564'%3E %3Cdefs%3E %3CclipPath id='clip-path'%3E %3Crect id='Rechteck_2795' data-name='Rechteck 2795' width='92.296' height='92.564' fill='%23b2d560'/%3E %3C/clipPath%3E %3C/defs%3E %3Cg id='Gruppe_5919' data-name='Gruppe 5919' transform='translate(0 0)'%3E %3Cg id='Gruppe_5919-2' data-name='Gruppe 5919' transform='translate(0 0)' clip-path='url(%23clip-path)'%3E %3Cpath id='Pfad_4603' data-name='Pfad 4603' d='M16.925,37.668,24,42.812,21.3,51.13a4.417,4.417,0,0,0,6.8,4.945l7.079-5.143,7.079,5.143a4.42,4.42,0,0,0,6.8-4.943l-2.7-8.321,7.077-5.143a4.419,4.419,0,0,0-2.6-7.995h-8.75l-2.7-8.322a4.42,4.42,0,0,0-8.406,0l-2.705,8.322h-8.75a4.419,4.419,0,0,0-2.6,7.995m15.8-1.867,2.455-7.554L37.634,35.8h7.944l-6.428,4.67,2.455,7.554-6.426-4.67-6.428,4.67,2.457-7.555L24.78,35.8Z' transform='translate(11.341 13.74)' fill='%23b2d560'/%3E %3Cpath id='Pfad_4604' data-name='Pfad 4604' d='M80.836,5.055V0H74.707V5.055H64.735V0H58.607V5.055H48.632V0H42.5V5.055H32.53V0H26.4V5.055H16.429V0H10.3V5.055H0V92.564H92.3V5.055ZM10.3,11.184V16.24h6.128V11.184H26.4V16.24H32.53V11.184H42.5V16.24h6.128V11.184h9.975V16.24h6.128V11.184h9.972V16.24h6.128V11.184h5.332v9.093H6.128V11.184ZM86.167,75.266H6.128V26.4H86.167ZM6.128,81.394H86.167v5.041H6.128Z' transform='translate(0 -0.001)' fill='%23b2d560'/%3E %3C/g%3E %3C/g%3E %3C/svg%3E");

    container-type: inline-size;  /* nur fuer die mitskalierende "+"-Groesse */
    overflow: visible;
}

/* ---------- Grundlayout: Bild oben, Text darunter ---------- */
.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    position: relative;
    overflow: visible;  /* Button darf ueber die Bildkante ragen */
}

/* ---------- Bild: feste Proportion + Maske ---------- */
.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta .elementor-cta__bg-wrapper {
    background-color: var(--cta-bg);
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;                     /* ersetzt die alte Mindesthoehe 320px */
    aspect-ratio: var(--cta-ratio);
    overflow: hidden;
    -webkit-mask-image: var(--cta-mask);
            mask-image: var(--cta-mask);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
}

.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta .elementor-cta__bg {
    /* Das im Widget hinterlegte Bild wird nicht mehr geladen: einen auf
       none gerechneten background-image fordert der Browser nie an.
       !important, weil Elementor die Bild-URL inline ausgibt. */
    background-image: none !important;
    background-color: var(--cta-icon-color);
    -webkit-mask-image: var(--cta-icon);
            mask-image: var(--cta-icon);
    -webkit-mask-size: calc(var(--cta-icon-h) * var(--cta-icon-ar)) var(--cta-icon-h);
            mask-size: calc(var(--cta-icon-h) * var(--cta-icon-ar)) var(--cta-icon-h);
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
}

/* ---------- Textblock ---------- */
.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta .elementor-cta__content {
    position: relative;                /* Bezugsrahmen fuer den Button */
    flex: 1 1 auto;
    width: 100%;
    justify-content: flex-start;       /* Text sitzt direkt unter dem Bild */
    overflow: visible;
}

/* ---------- Button in der Aussparung ----------
   top: 0 entspricht der Unterkante des Bildes.
   Prozentuale margin/right beziehen sich auf die Kachelbreite,
   translate(50%,-50%) legt den Buttonmittelpunkt exakt auf den
   Mittelpunkt der Aussparung. */
.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta .elementor-cta__button-wrapper {
    position: absolute;
    top: 0;
    right: var(--cta-notch);
    margin: calc(-1 * var(--cta-notch)) 0 0 0;
    padding: 0;
    width: var(--cta-btn);
    min-width: var(--cta-btn-min);
    max-width: var(--cta-btn-max);
    aspect-ratio: 1 / 1;
    transform: translate(50%, -50%) !important;
    z-index: 5;
}

.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta .elementor-cta__button-wrapper > .elementor-cta__button {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-width: 0;
    padding: 0;                        /* Groesse kommt nicht mehr ueber Padding */
    border: 0;
    border-radius: 50%;
    background-color: var(--cta-bg);
    line-height: 1;
    text-align: center;
    font-size: 40px;                          /* Fallback ohne Container-Queries */
    font-size: clamp(26px, 9.524cqw, 50px);   /* = 40px bei 420px Kachelbreite */
    transition: transform .3s ease, background-color .3s ease;
}

.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta:hover .elementor-cta__button-wrapper > .elementor-cta__button {
    transform: scale(1.08);
}

/* ---------- Titel ---------- */
.elementor-33 .elementor-element.elementor-element-160d1cb .elementor-cta__title {
    text-decoration: underline;
    text-underline-offset: 3px;
}/* End custom CSS */