/* Kreiswerk52 Event-Magazin 1.0.0. Isoliert vom bestehenden V7-Seitendesign. */
:root{--kw52ev-lime:#cfda8a;--kw52ev-sand:#a5916d;--kw52ev-black:#231f20;--kw52ev-paper:#f8f7f4;--kw52ev-white:#fff}
.kw52-events-page,.kw52-events,.kw52-eventsingle{color:var(--kw52ev-black);font-family:Montserrat,'Avenir Next',Arial,sans-serif}
.kw52-events-page *, .kw52-events *, .kw52-eventsingle *{box-sizing:border-box}
.kw52-events-page.et_pb_section{padding:0!important}
.kw52-events-page .et_pb_row{width:min(1200px,calc(100% - 9vw));max-width:1200px!important;padding:0!important}
.kw52-events-page h1,.kw52-events-page h2,.kw52-events-page h3{font-family:Montserrat,'Avenir Next',Arial,sans-serif!important;font-weight:800!important;letter-spacing:-.045em!important;line-height:1.06!important}
.kw52-events-page h1{font-size:clamp(49px,6.4vw,112px)!important;color:#fff!important;text-transform:uppercase;max-width:1050px}
.kw52-events-page h1 span{color:var(--kw52ev-lime)}
.kw52-events-page h2{font-size:clamp(33px,4.4vw,65px)!important;color:var(--kw52ev-black)!important;text-transform:uppercase}
.kw52-events-page h2 span{color:var(--kw52ev-sand)}
.kw52-events-hero.et_pb_section{position:relative;isolation:isolate;min-height:clamp(460px,66svh,740px);background:var(--kw52ev-black)!important;display:flex;align-items:flex-end;padding:90px 0 78px!important;overflow:hidden}
.kw52-events-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 88% 15%,rgba(207,218,138,.17),transparent 28%),radial-gradient(circle at 15% 95%,rgba(165,145,109,.15),transparent 36%);z-index:-1}
.kw52-events-hero:after{content:'';position:absolute;width:clamp(250px,42vw,640px);aspect-ratio:1;border:16px solid rgba(207,218,138,.21);border-radius:50%;right:-11vw;top:-12vw;z-index:-1}
.kw52-events-hero .kw52-events-hero-kicker p{font-size:12px!important;letter-spacing:.18em;font-weight:800!important;color:var(--kw52ev-lime)!important;margin-bottom:28px}
.kw52-events-hero .kw52-events-hero-title h1{color:#fff!important;margin:0 0 22px!important;padding:0!important}
.kw52-events-hero .kw52-events-hero-description p{max-width:650px;font-size:clamp(16px,1.5vw,19px)!important;color:#f7f4eb!important;line-height:1.6}
.kw52-events-overview.et_pb_section{background:var(--kw52ev-paper)!important;padding:98px 0 116px!important}
.kw52-events-overview .kw52-events-overline p{font-size:12px!important;letter-spacing:.17em;font-weight:800;color:#827459;text-transform:uppercase;margin-bottom:12px}
.kw52-events-overview .kw52-events-overview-title h2{margin-bottom:14px!important;padding:0!important}
.kw52-events-overview .kw52-events-overview-intro p{font-size:16px!important;line-height:1.6;margin-bottom:42px!important}
.kw52-events-overview .et_pb_text{margin-bottom:0!important}
.kw52-events-overview .kw52-events-shortcode .et_pb_text_inner{width:100%}
/* Own card system – normal Divi-Text-Modul contains [kw52_events]. */
.kw52-events{max-width:1200px;width:100%;margin:0 auto}
.kw52-events [hidden]{display:none!important}
.kw52-eventfilters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 32px}
.kw52-eventfilters button{font:700 13px/1.3 Montserrat,Arial,sans-serif;cursor:pointer;border:1px solid #cfc8bc;border-radius:100px;background:transparent;color:var(--kw52ev-black);padding:10px 17px;min-height:43px;transition:background .25s,border-color .25s,transform .25s}
.kw52-eventfilters button:hover,.kw52-eventfilters button[aria-pressed="true"]{background:var(--kw52ev-lime);border-color:var(--kw52ev-lime)}
.kw52-eventfilters button:focus-visible,.kw52-eventbtn:focus-visible,.kw52-eventcard a:focus-visible{outline:3px solid var(--kw52ev-sand);outline-offset:4px}
.kw52-events-subheading{font:800 12px/1.5 Montserrat,Arial,sans-serif;color:#867659;margin:8px 0 16px;letter-spacing:.14em}
.kw52-eventcard{background:#fff;overflow:hidden;border-radius:16px;display:flex;flex-direction:column;min-width:0;box-shadow:0 16px 50px rgba(35,31,32,.05);transition:box-shadow .4s ease,transform .4s ease}
.kw52-eventcard:hover{box-shadow:0 24px 60px rgba(35,31,32,.14);transform:translateY(-4px)}
.kw52-eventcard-media{display:block;position:relative;overflow:hidden;aspect-ratio:1.36;background:var(--kw52ev-black)}
.kw52-eventcard-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.1,1)}
.kw52-eventcard:hover .kw52-eventcard-media img{transform:scale(1.045)}
.kw52-eventcard-placeholder{display:flex;align-items:center;justify-content:center;height:100%;width:100%;background:radial-gradient(circle at 78% 10%,#514c48,#231f20 70%);color:white;font-size:clamp(18px,2.4vw,28px);font-weight:800;letter-spacing:.06em}
.kw52-lime{color:var(--kw52ev-lime)}
.kw52-eventcard-date{position:absolute;left:18px;top:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--kw52ev-lime);color:var(--kw52ev-black);min-width:72px;min-height:78px;padding:9px;border-radius:6px;box-shadow:0 6px 20px #0002}
.kw52-eventcard-date strong{display:block;font-size:30px;line-height:1;font-weight:800;letter-spacing:-.055em}
.kw52-eventcard-date small{font-size:11px;letter-spacing:.12em;font-weight:800;margin-top:7px}
.kw52-eventcard-content{padding:29px;display:flex;flex:1;flex-direction:column;gap:0}
.kw52-eventcard-overline{font-size:11px!important;letter-spacing:.17em;text-transform:uppercase;font-weight:800!important;color:#8b795e!important;margin:0 0 9px!important}
.kw52-eventcard-content h3{font:800 clamp(23px,2.1vw,31px)/1.15 Montserrat,Arial,sans-serif!important;color:var(--kw52ev-black)!important;padding:0!important;margin:0 0 16px!important;letter-spacing:-.035em}
.kw52-eventcard-content h3 a{color:inherit!important;text-decoration:none}
.kw52-eventcard-meta{font-size:13px!important;line-height:1.55;color:#6d6259!important;font-weight:650!important;margin:0 0 15px!important}
.kw52-eventcard-desc{font-size:14px!important;line-height:1.65;color:#504945!important;margin:0 0 22px!important}
.kw52-eventcard-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:auto}
/* Eventkarten: ALLE Aktionslinks gleich darstellen, unabhängig von ihrer Buttonklasse. */
.kw52-events .kw52-eventcard-actions a,
.kw52-events .kw52-eventcard-actions button,
.kw52-eventsingle .kw52-eventbtn,
.kw52-eventsingle .kw52-eventbtn-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    max-width: 100% !important;
    min-height: 46px !important;
    padding: 12px 18px !important;
    border: 1px solid #D0DB8C !important;
    border-radius: 100px !important;
    background: #D0DB8C !important;
    background-color: #D0DB8C !important;
    background-image: none !important;
    color: #231F20 !important;
    -webkit-text-fill-color: #231F20 !important;
    font: 750 13px/1.25 Montserrat, Arial, sans-serif !important;
    text-align: center !important;
    text-decoration: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease !important;
}

/* Besuchte Links bleiben im Normalzustand hellgrün. */
.kw52-events .kw52-eventcard-actions a:visited,
.kw52-eventsingle .kw52-eventbtn:visited {
    background-color: #D0DB8C !important;
    border-color: #D0DB8C !important;
    color: #231F20 !important;
    -webkit-text-fill-color: #231F20 !important;
}

/* Hover-Effekt für ALLE Eventbuttons: weiß, dunkle Schrift, grüne Kontur. */
.kw52-events .kw52-eventcard-actions a:is(:hover,:focus-visible),
.kw52-events .kw52-eventcard-actions button:is(:hover,:focus-visible),
.kw52-eventsingle .kw52-eventbtn:is(:hover,:focus-visible),
.kw52-eventsingle .kw52-eventbtn-secondary:is(:hover,:focus-visible) {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    background-image: none !important;
    border-color: #D0DB8C !important;
    color: #231F20 !important;
    -webkit-text-fill-color: #231F20 !important;
    opacity: 1 !important;
    transform: translateY(-2px);
}

/* Text und Pfeilsymbole auch in verschachtelten Elementen sichtbar halten. */
.kw52-events .kw52-eventcard-actions a *,
.kw52-events .kw52-eventcard-actions button *,
.kw52-eventsingle .kw52-eventbtn *,
.kw52-eventsingle .kw52-eventbtn-secondary * {
    color: #231F20 !important;
    -webkit-text-fill-color: #231F20 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.kw52-events .kw52-eventcard-actions a span,
.kw52-eventsingle .kw52-eventbtn span { font-size: 17px; line-height: .9; }

.kw52-eventcard-featured{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);background:var(--kw52ev-black);color:#fff;border-radius:19px;margin-bottom:48px;min-height:430px}
.kw52-eventcard-featured .kw52-eventcard-media{aspect-ratio:auto;min-height:430px}
.kw52-eventcard-featured .kw52-eventcard-content{padding:clamp(32px,5vw,66px);justify-content:center}
.kw52-eventcard-featured h3,.kw52-eventcard-featured h3 a{color:#fff!important;font-size:clamp(32px,3.1vw,49px)!important}
.kw52-eventcard-featured .kw52-eventcard-meta,.kw52-eventcard-featured .kw52-eventcard-desc{color:#f0eae5!important}
.kw52-eventcard-featured .kw52-eventcard-overline{color:var(--kw52ev-lime)!important}
.kw52-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.kw52-events-empty{padding:28px;background:#fff;border:1px solid #e5dfd8;border-radius:12px;max-width:680px}
.kw52-events-empty p{margin-bottom:20px}
.kw52-events-filterempty{font-size:16px;margin-top:20px}
/* Conversion section. */
.kw52-events-cta.et_pb_section{background:var(--kw52ev-lime)!important;padding:85px 0 90px!important}
.kw52-events-cta .kw52-events-cta-kicker p{font-size:12px!important;letter-spacing:.18em;font-weight:800!important;margin:0 0 22px}
.kw52-events-cta .kw52-events-cta-title h2{max-width:1030px;font-size:clamp(32px,4.8vw,68px)!important;font-weight:800!important;color:var(--kw52ev-black)!important;text-transform:uppercase}
.kw52-events-cta .kw52-events-cta-copy p{font-size:17px!important;line-height:1.6!important;max-width:720px;margin:23px 0 16px}
.kw52-events-cta .kw52-events-button.et_pb_button{background:transparent!important;border:1px solid var(--kw52ev-black)!important;color:var(--kw52ev-black)!important;box-shadow:none!important;border-radius:7px!important;padding:13px 22px!important;font:700 14px/1.3 Montserrat,Arial,sans-serif!important}
.kw52-events-cta .kw52-events-button.et_pb_button:hover{background:var(--kw52ev-black)!important;color:#fff!important;padding:13px 22px!important}
.kw52-events-cta .kw52-events-button.et_pb_button:after{display:none!important}
/* Single-event template uses same brand; no outer Divi section. */
.kw52-eventsingle-hero{padding:clamp(95px,13vw,195px) 6vw 70px;background:var(--kw52ev-black);color:#fff;position:relative;overflow:hidden}
.kw52-eventsingle-hero:after{content:'';position:absolute;width:38vw;aspect-ratio:1;border:12px solid #cfda8a40;border-radius:50%;right:-8vw;top:-12vw}
.kw52-eventsingle-inner{max-width:1130px;margin:auto;position:relative;z-index:1}
.kw52-eventsingle-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--kw52ev-lime)}
.kw52-eventsingle h1{font:800 clamp(40px,6vw,78px)/1.05 Montserrat,Arial,sans-serif;color:#fff;text-transform:uppercase;letter-spacing:-.04em;padding:15px 0 25px}
.kw52-eventsingle-date{font-size:19px;color:#e8e1d9}
.kw52-eventsingle-status{margin-top:20px;font-weight:700;color:var(--kw52ev-lime)}
.kw52-eventsingle-layout{max-width:1170px;margin:0 auto;padding:85px 26px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.85fr);gap:55px}
.kw52-eventsingle-photo img{width:100%;height:auto;display:block;border-radius:12px;margin-bottom:40px}
.kw52-eventsingle-description{font-size:17px;line-height:1.75;margin-bottom:40px}
.kw52-eventsingle-info{background:#f0efe8;border-radius:12px;padding:32px;align-self:start}
.kw52-eventsingle-info h2{font:800 25px/1.25 Montserrat,Arial,sans-serif;margin-bottom:22px}
.kw52-eventsingle-info p{margin-bottom:20px}
.kw52-eventsingle-bottom{padding:70px max(7vw,24px);background:var(--kw52ev-lime)}
.kw52-eventsingle-bottom h2{font:800 clamp(30px,4.5vw,62px)/1.1 Montserrat,Arial,sans-serif;text-transform:uppercase;margin:10px 0 25px}
@media(max-width:1100px){.kw52-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kw52-eventcard-featured{min-height:360px}.kw52-eventcard-featured .kw52-eventcard-media{min-height:360px}}
@media(max-width:980px){.kw52-events-page .et_pb_row{width:90%!important}.kw52-events-overview.et_pb_section{padding:65px 0 80px!important}.kw52-eventsingle-layout{grid-template-columns:1fr}}
@media(max-width:700px){.kw52-events-hero.et_pb_section{min-height:0;padding:110px 0 70px!important}.kw52-events-hero:after{width:360px;right:-200px}.kw52-events-hero .kw52-events-hero-title h1{font-size:clamp(42px,10.8vw,68px)!important}.kw52-events-grid{grid-template-columns:1fr;gap:20px}.kw52-eventcard-featured{display:flex;flex-direction:column;min-height:0}.kw52-eventcard-featured .kw52-eventcard-media{min-height:0;aspect-ratio:4/3}.kw52-eventcard-featured .kw52-eventcard-content{padding:26px}.kw52-eventcard-content{padding:24px}.kw52-eventcard-date{left:12px;top:12px;min-width:60px;min-height:64px}.kw52-eventcard-date strong{font-size:25px}.kw52-events-cta.et_pb_section{padding:66px 0!important}.kw52-eventsingle-layout{padding:40px 18px}.kw52-eventsingle-hero{padding:100px 22px 45px}.kw52-eventfilters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.kw52-eventfilters button{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){.kw52-eventcard,.kw52-eventcard-media img,.kw52-eventbtn,.kw52-eventfilters button{transition:none!important;transform:none!important}}

/* ==========================================
   KREISWERK52 – EVENT CTA
   Weißer Button auf Event-Einzelseiten
   ========================================== */

.kw52-eventsingle .kw52-eventsingle-bottom
a.kw52-eventbtn--rooms {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;

    background-color: #FFFFFF !important;
    color: #231F20 !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 12px !important;

    padding: 16px 28px !important;
    min-height: 54px !important;
    width: auto !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

/* Pfeil */
.kw52-eventsingle .kw52-eventsingle-bottom
a.kw52-eventbtn--rooms svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0;
    stroke: currentColor;
}

/* Hover */
.kw52-eventsingle .kw52-eventsingle-bottom
a.kw52-eventbtn--rooms:hover {
    background-color: #231F20 !important;
    border-color: #231F20 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

/* Tastatur-Fokus */
.kw52-eventsingle .kw52-eventsingle-bottom
a.kw52-eventbtn--rooms:focus-visible {
    outline: 3px solid #231F20 !important;
    outline-offset: 4px;
}

/* ==========================================
   KREISWERK52 – EVENT CTA HOVER FIX
   Weißer Text auf dunklem Hintergrund
   ========================================== */

.kw52-eventsingle .kw52-eventsingle-bottom
a.kw52-eventbtn.kw52-eventbtn--rooms:hover,
.kw52-eventsingle .kw52-eventsingle-bottom
a.kw52-eventbtn.kw52-eventbtn--rooms:focus-visible {
    background: #231F20 !important;
    background-color: #231F20 !important;
    border-color: #231F20 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
}

/* Pfeil beim Hover ebenfalls weiß */
.kw52-eventsingle .kw52-eventsingle-bottom
a.kw52-eventbtn.kw52-eventbtn--rooms:hover svg,
.kw52-eventsingle .kw52-eventsingle-bottom
a.kw52-eventbtn.kw52-eventbtn--rooms:hover svg path,
.kw52-eventsingle .kw52-eventsingle-bottom
a.kw52-eventbtn.kw52-eventbtn--rooms:focus-visible svg,
.kw52-eventsingle .kw52-eventsingle-bottom
a.kw52-eventbtn.kw52-eventbtn--rooms:focus-visible svg path {
    color: #FFFFFF !important;
    stroke: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}