/* ============================================================
   Hof Kastania — Events Page (Single)
   File: assets/css/hofkastania-events-page.css
   Scope: .hk-single-event
   ============================================================ */

.hk-single-event{
  font-family:var(--hk-ec-font-body);
  color:var(--hk-ec-text);
  width:min(100%,var(--hk-ec-max));
  margin-inline:auto;
  padding:0 16px 64px;
  animation:hkEventFade .18s ease-out both;
}

@keyframes hkEventFade{
  from{
    opacity:.001;
    transform:translate3d(0,2px,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

.hk-single-event *{
  box-sizing:border-box;
}

/* ------------------------------------------------------------
   HERO
   ------------------------------------------------------------ */
.hk-single-event .hk-event-hero{
  position:relative;
  margin:18px 0 18px;
  border-radius:var(--hk-ec-radius);
  border:1px solid var(--hk-card-border);
  background:rgba(255,255,255,.78);
  box-shadow:var(--hk-toolbar-shadow);
  overflow:hidden;
  backdrop-filter:blur(10px);
}

.hk-single-event .hk-event-hero__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.16;
  transform:scale(1.02);
  z-index:0;
  pointer-events:none;
  backface-visibility:hidden;
  will-change:transform;
}

.hk-single-event .hk-event-hero__inner{
  position:relative;
  z-index:1;
  padding:26px 22px;
}

@media (min-width:681px){
  .hk-single-event .hk-event-hero__inner{
    padding:34px 30px;
  }
}

.hk-single-event .hk-event-hero__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.hk-single-event .hk-event-hero__back{
  display:inline-flex;
  font-weight:900;
  font-size:13px;
  color:rgba(29,35,40,.68);
}

.hk-single-event .hk-event-hero__badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.hk-single-event .hk-badge{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  border:1px solid rgba(29,35,40,.12);
  background:rgba(255,255,255,.70);
  color:rgba(29,35,40,.70);
}

.hk-single-event .hk-badge--featured{
  border-color:rgba(255,158,63,.45);
  background:rgba(255,158,63,.14);
  color:rgba(204,102,0,.95);
}

.hk-single-event .hk-event-hero__title{
  font-family:var(--hk-ec-font-title);
  font-weight:700;
  font-size:clamp(28px,2.2vw,44px);
  line-height:1.08;
  margin:0 0 6px;
  color:#b4651e;
  text-wrap:balance;
}

.hk-single-event.is-cancelled .hk-event-hero__title{
  color:#8e3b3b;
}

.hk-single-event .hk-event-hero__byline{
  margin:0 0 12px;
  color:rgba(29,35,40,.70);
  font-weight:800;
  font-size:14px;
}

.hk-single-event .hk-event-hero__subtitle{
  margin:0 0 16px;
  max-width:75ch;
  font-size:16px;
  line-height:1.6;
  color:rgba(29,35,40,.82);
}

.hk-single-event .hk-event-hero__meta{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:10px 0 18px;
  padding-top:12px;
  border-top:1px solid rgba(29,35,40,.08);
}

.hk-single-event .hk-meta-item{
  min-width:220px;
}

.hk-single-event .hk-meta-label{
  display:block;
  font-size:12px;
  font-weight:900;
  color:rgba(29,35,40,.60);
  margin-bottom:4px;
}

.hk-single-event .hk-meta-value{
  display:block;
  font-size:14px;
  font-weight:800;
  color:rgba(29,35,40,.84);
}

.hk-single-event .hk-event-hero__cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:6px;
}

/* ------------------------------------------------------------
   BODY
   ------------------------------------------------------------ */
.hk-single-event .hk-event-body{
  margin-top:18px;
}

.hk-single-event .hk-event-body__grid{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:22px;
  align-items:start;
}

@media (max-width:980px){
  .hk-single-event .hk-event-body__grid{
    grid-template-columns:1fr;
  }
}

.hk-single-event .hk-content-block{
  border-radius:var(--hk-ec-radius);
  border:1px solid var(--hk-card-border);
  background:rgba(255,255,255,.78);
  box-shadow:var(--hk-card-shadow);
  padding:18px;
  margin-bottom:14px;
}

.hk-single-event .hk-content-block h2{
  font-family:var(--hk-ec-font-title);
  font-weight:700;
  margin:0 0 10px;
  font-size:22px;
}

.hk-single-event .hk-series-block{
  border-left:4px solid rgba(255,158,63,.55);
}

/* ------------------------------------------------------------
   ASIDE
   ------------------------------------------------------------ */
.hk-single-event .hk-info-card{
  border-radius:var(--hk-ec-radius);
  border:1px solid rgba(29,35,40,.10);
  background:rgba(255,255,255,.78);
  box-shadow:var(--hk-ec-shadow);
  padding:18px;
}

.hk-single-event .hk-info-card__title{
  margin:0 0 14px;
  font-family:var(--hk-ec-font-title);
  font-size:22px;
  line-height:1.15;
}

@media (min-width:981px){
  .hk-single-event .hk-info-card{
    position:sticky;
    top:110px;
  }
}

/* ------------------------------------------------------------
   CANCELLED EVENT
   ------------------------------------------------------------ */
.hk-single-event.is-cancelled .hk-event-hero{
  border-color:var(--hk-cancel-border);
  background:rgba(255,255,255,.75);
}

.hk-single-event.is-cancelled .hk-info-card{
  border-color:var(--hk-cancel-border);
  background:rgba(255,252,252,.92);
}

.hk-single-event.is-cancelled .hk-event-hero__img{
  opacity:.12;
}

.hk-single-event .hk-info-card__cancelled-title{
  margin:0 0 8px;
}

.hk-single-event .hk-info-card__cancelled-text p:first-child{
  margin-top:0;
}

.hk-single-event .hk-info-card__cancelled-text p:last-child{
  margin-bottom:0;
}