
:root{
  --fk-scale: 0.85;
  --fk-card-gap: 20px;
  --fk-card-radius: 18px;
  --fk-upcoming-card-bg: rgba(255,255,255,.88);
  --fk-past-card-bg: rgba(255,255,255,.76);
  --fk-upcoming-title-color: #7bc67b;
  --fk-upcoming-meta-color: #667085;
  --fk-upcoming-meta-size: 14;
  --fk-upcoming-meta-line-height: 1.25;
  --fk-upcoming-teaser-color: #344054;
  --fk-upcoming-button-color: #c01ac6;
  --fk-upcoming-button-text-color: #ffffff;
  --fk-past-title-color: #7bc67b;
  --fk-past-meta-color: #667085;
  --fk-past-meta-size: 12;
  --fk-past-meta-line-height: 1.2;
  --fk-past-button-color: rgba(255,255,255,.56);
  --fk-past-button-text-color: #7bc67b;
  --fk-upcoming-title: 30;
  --fk-past-title: 16;
  --fk-meta-size: 14;
  --fk-button-size: 14;
  --fk-upcoming-image-height: 260;
  --fk-past-image-height: 100;
  --fk-upcoming-button-shadow: 0 8px 18px rgba(16,24,40,.16);
  --fk-past-button-shadow: 0 6px 14px rgba(16,24,40,.10);
  --fk-card-shadow-upcoming: 0 12px 28px rgba(16,24,40,.10);
  --fk-card-shadow-upcoming-hover: 0 24px 52px rgba(16,24,40,.20);
  --fk-card-shadow-past: 0 8px 20px rgba(16,24,40,.08);
  --fk-card-shadow-past-hover: 0 14px 34px rgba(16,24,40,.14);
}

.fk-events-wrap,
.et_pb_module.et_pb_code,
.et_pb_module.et_pb_code .et_pb_code_inner,
.et_pb_module.et_pb_code .et_pb_code_inner > .fk-events-wrap,
.fk-section,
.fk-past-archive{
  width:100% !important;
  max-width:none !important;
  display:block;
}

.fk-events-wrap,
.fk-events-wrap *{box-sizing:border-box;font-family:inherit}

.fk-events-wrap{
  display:grid;
  width:100%;
  gap:calc(32px * var(--fk-scale));
  container-type:inline-size;
}
.fk-section{margin:0;}
.fk-section--past{margin-top:0;}

.fk-event-grid{
  display:grid;
  width:100%;
  align-items:stretch;
}
.fk-event-grid--upcoming{
  gap:var(--fk-card-gap);
  grid-template-columns:repeat(var(--fk-cols,1), minmax(0, 1fr));
}
.fk-event-grid--past{
  gap:calc(14px * var(--fk-scale));
  grid-template-columns:repeat(var(--fk-cols,1), minmax(0, 1fr));
}

.fk-event-card{
  width:100%;
  position:relative;
  border:1px solid rgba(208,213,221,.75);
  border-radius:var(--fk-card-radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  transform:translateY(0);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
  backdrop-filter:saturate(120%) blur(4px);
}
.fk-event-card--upcoming{background:var(--fk-upcoming-card-bg);box-shadow:var(--fk-card-shadow-upcoming);}
.fk-event-card--past{background:var(--fk-past-card-bg);box-shadow:var(--fk-card-shadow-past);}

.fk-event-flyer{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  background:transparent;
}
.fk-event-card--upcoming .fk-event-flyer{height:calc(var(--fk-upcoming-image-height) * 1px);}
.fk-event-card--past .fk-event-flyer{height:calc(var(--fk-past-image-height) * 1px);}
.fk-event-flyer img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transition:transform .28s ease;
}

.fk-event-content{display:flex;flex-direction:column;min-width:0;flex:1;}
.fk-event-card--upcoming .fk-event-content{
  padding:calc(14px * var(--fk-scale)) calc(16px * var(--fk-scale)) calc(16px * var(--fk-scale));
}
.fk-event-card--past .fk-event-content{
  padding:calc(10px * var(--fk-scale)) calc(12px * var(--fk-scale)) calc(12px * var(--fk-scale));
}

.fk-event-title{margin:0;}
.fk-event-title a{text-decoration:none;}
.fk-event-title--upcoming{
  margin:0 0 calc(6px * var(--fk-scale));
  font-size:calc(var(--fk-upcoming-title) * 1px) !important;
  line-height:1.15;
  color:var(--fk-upcoming-title-color) !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.fk-event-title--upcoming a,
.fk-event-title--upcoming a:visited,
.fk-event-title--upcoming span{
  color:var(--fk-upcoming-title-color) !important;
  font-size:inherit !important;
  line-height:inherit !important;
}
.fk-event-title--past{
  margin:0 0 calc(6px * var(--fk-scale));
  font-size:calc(var(--fk-past-title) * 1px) !important;
  line-height:1.2;
  color:var(--fk-past-title-color) !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.fk-event-title--past a,
.fk-event-title--past a:visited,
.fk-event-title--past span{
  color:var(--fk-past-title-color) !important;
  font-size:inherit !important;
  line-height:inherit !important;
}

.fk-event-date,
.fk-event-location,
.fk-event-teaser,
.fk-event-meta-line,
.fk-event-meta-upcoming{margin:0;}

.fk-event-meta-upcoming{
  margin:0 0 calc(8px * var(--fk-scale));
  font-size:calc(var(--fk-upcoming-meta-size) * 1px) !important;
  color:var(--fk-upcoming-meta-color) !important;
  line-height:var(--fk-upcoming-meta-line-height);
}
.fk-event-meta-upcoming__line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:2px 6px;
}
.fk-event-meta-upcoming__line + .fk-event-meta-upcoming__line{
  margin-top:2px;
}
.fk-event-meta-upcoming__separator{opacity:.45;}

.fk-event-card--upcoming .fk-event-teaser{
  margin:0 0 calc(10px * var(--fk-scale));
  font-size:calc(var(--fk-meta-size) * 1px) !important;
  color:var(--fk-upcoming-teaser-color) !important;
  line-height:1.42;
}

.fk-event-meta-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:2px 6px;
  margin:0 0 calc(8px * var(--fk-scale));
  font-size:calc(var(--fk-past-meta-size) * 1px) !important;
  color:var(--fk-past-meta-color) !important;
  line-height:var(--fk-past-meta-line-height);
}
.fk-event-meta-line__separator{opacity:.45;}

.fk-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:12px;
  text-decoration:none;
  font-size:calc(var(--fk-button-size) * 1px);
  font-weight:700;
  border:1px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, filter .2s ease;
}
.fk-btn--primary,
.fk-btn--primary:visited{
  background:var(--fk-upcoming-button-color) !important;
  color:var(--fk-upcoming-button-text-color) !important;
  box-shadow:var(--fk-upcoming-button-shadow);
}
.fk-btn--ghost,
.fk-btn--ghost:visited{
  background:var(--fk-past-button-color) !important;
  color:var(--fk-past-button-text-color) !important;
  border-color:#d0d5dd;
  box-shadow:var(--fk-past-button-shadow);
}
.fk-event-card--upcoming .fk-btn{margin-top:auto;align-self:stretch;justify-content:center;}
.fk-event-card--past .fk-btn{margin-top:auto;align-self:flex-start;padding:8px 12px;border-radius:10px;}

@media (hover:hover){
  .fk-event-card:hover{transform:translateY(-8px);border-color:#d8dee8;}
  .fk-event-card:hover .fk-event-flyer img{transform:scale(1.06);}
  .fk-event-card--upcoming:hover{box-shadow:var(--fk-card-shadow-upcoming-hover);}
  .fk-event-card--past:hover{box-shadow:var(--fk-card-shadow-past-hover);}
  .fk-event-card--upcoming:hover .fk-btn{filter:brightness(1.03);}
  .fk-event-card--past:hover .fk-btn{filter:brightness(1.02);}
}

.fk-past-archive{display:block;width:100%;}
.fk-past-more-wrap{display:flex;justify-content:center;margin-top:18px;}
.fk-past-more[hidden]{display:none!important;}
.fk-event-card.is-hidden{display:none!important;}

@media (max-width: 991px){
  .fk-event-grid--upcoming{grid-template-columns:1fr;}
  .fk-event-grid--past{grid-template-columns:repeat(min(var(--fk-cols, 1), 3), minmax(0, 1fr));}
}
@media (max-width: 767px){
  .fk-event-grid--past{grid-template-columns:repeat(min(var(--fk-cols, 1), 2), minmax(0, 1fr));}
}
@media (max-width: 480px){
  .fk-event-grid--past{grid-template-columns:1fr;}
}

.fk-event-single{padding-top:10px;padding-bottom:40px}
.fk-single-hero{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:28px;align-items:start;margin-bottom:28px}
.fk-single-flyer{aspect-ratio:4 / 5;overflow:hidden;border-radius:22px;box-shadow:0 10px 30px rgba(16,24,40,.12);background:#f5f7fb}
.fk-single-flyer img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.fk-single-title{margin:0 0 12px;font-size:clamp(2rem,4vw,2.8rem);line-height:1.02;color:#25314D}
.fk-single-teaser{margin:0 0 16px;font-size:1.05rem;color:#475467;max-width:60ch}
.fk-single-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.fk-single-chip{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#f3f4f6;color:#344054}
.fk-single-body__main{background:#fff;border:1px solid #e6eaf0;border-radius:22px;padding:24px;box-shadow:0 8px 28px rgba(16,24,40,.08)}
.fk-event-note{margin-top:18px;padding:14px 16px;background:#fff7e8;border-radius:14px}
.fk-single-gallery-wrap{margin-top:30px}
.fk-gallery{column-count:4;column-gap:16px}
.fk-gallery-item{display:block;margin:0 0 16px;break-inside:avoid}
.fk-gallery-item img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 6px 18px rgba(16,24,40,.08)}
@media (max-width:959px){.fk-single-hero{grid-template-columns:1fr}.fk-gallery{column-count:3}}
@media (max-width:639px){.fk-single-hero{grid-template-columns:1fr}.fk-gallery{column-count:2}}


.fk-single-shell{width:100%;padding:0 15px;box-sizing:border-box;}
.fk-single-card{background:rgba(255,255,255,.88);border:1px solid rgba(15,23,42,.08);border-radius:22px;box-shadow:0 14px 34px rgba(15,23,42,.08);overflow:hidden;}
.fk-single-hero{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:24px;padding:24px;align-items:start;}
.fk-single-flyer img{width:100%;height:auto;display:block;border-radius:18px;}
.fk-single-hero__content{min-width:0;}
.fk-single-title{margin:0 0 12px;line-height:1.08;}
.fk-single-teaser{margin:0 0 14px;line-height:1.45;}
.fk-single-facts{margin:0 0 14px;}
.fk-single-fact{display:flex;gap:6px;margin:0 0 6px;line-height:1.35;}
.fk-single-fact strong{font-weight:700;}
.fk-single-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;}
.fk-single-chip{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(15,23,42,.05);}
.fk-single-description-inline{margin:18px 0 0;line-height:1.55;color:var(--fk-detail-text-color,#344054);}
.fk-single-cta{margin:18px 0 0;}
.fk-single-gallery-wrap{padding:0 24px 24px;}
.fk-gallery-title{margin:0 0 14px;}
@media (max-width:980px){.fk-single-hero{grid-template-columns:1fr;gap:18px;padding:18px;}.fk-single-gallery-wrap{padding:0 18px 18px;}}
