﻿.wp-block-kupf-events .kupf-events-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem }
@media (max-width: 1024px){
  .wp-block-kupf-events .kupf-events-grid{ grid-template-columns:repeat(2,1fr) }
}
.wp-block-kupf-events .kupf-event{ background:#fff; border:1px solid #e5e5e5; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; position:relative }
.wp-block-kupf-events .kupf-event__link{ display:flex; flex-direction:column; color:inherit; text-decoration:none; height:100% }
.wp-block-kupf-events .kupf-event__link:hover .kupf-event__title{ text-decoration:underline }
.wp-block-kupf-events .kupf-event__content{ display:flex; flex-direction:column; height:100%; flex:1 }

/* Thumb maintains aspect ratio per breakpoint */
.wp-block-kupf-events .kupf-event__thumb{ aspect-ratio: 25/20 }
@media (max-width: 1024px){
  .wp-block-kupf-events .kupf-event__thumb{ aspect-ratio: 25/20 }
}
.wp-block-kupf-events .kupf-event__thumb img{ width:100%; height:100%; object-fit:cover; display:block }

.wp-block-kupf-events .kupf-event__body{ padding:1rem }
.wp-block-kupf-events .kupf-event__title{ margin:0 0 .5rem; font-size:1.4rem; line-height:1.25 }
.wp-block-kupf-events .kupf-event__meta{ display:block; font-size:.9rem; color:#555; margin-bottom:.5rem }
.wp-block-kupf-events .kupf-event__badge{ position:absolute; left:-30%; right:-30%; top:50%; transform:translateY(-50%) rotate(-12deg); padding:.6rem 1rem; font-weight:700; text-align:center; font-size:1.1rem; pointer-events:none; z-index:2; box-shadow:0 8px 24px rgba(0,0,0,.25) }
.wp-block-kupf-events .kupf-event__badge--sold{ background:#b50000; color:#fff; text-transform:uppercase; letter-spacing:.08em }
.wp-block-kupf-events .kupf-event.is-sold-out .kupf-event__content{ opacity:.5 }
.wp-block-kupf-events .kupf-event__weekday{ display:inline-block; margin-right:.5rem }
.wp-block-kupf-events .kupf-event__date{ display:inline }
.wp-block-kupf-events .kupf-event__time{ display:block; margin-top:1rem }
.wp-block-kupf-events .kupf-event__weekday,
.wp-block-kupf-events .kupf-event__date,
.wp-block-kupf-events .kupf-event__time{ font-size:1.35rem; line-height:1.3; color:#222 }
.wp-block-kupf-events .kupf-event__desc{ margin:.5rem 0 0; color:#333 }
.wp-block-kupf-events .kupf-event__actions{ margin-top:auto; padding:0 1rem 1rem }
.wp-block-kupf-events .kupf-button{ display:inline-block; padding:.6rem 1rem; border-radius:8px; border:1px solid #111; text-decoration:none }
.wp-block-kupf-events .kupf-button:focus{ outline:2px solid #111; outline-offset:2px }
