:root{
  --das-navy:#072564;
  --das-red:#ca0034;
  --das-body:#5b6472;
  --das-mute:#98a1ad;
  --das-border:#e4e7ec;
  --das-ink:#1a1f29;
  --font-sans:'Poppins', sans-serif;
}


.wk-hidden{ display:none !important; }
.wk-layout{ display:grid; grid-template-columns:300px 1fr; gap:40px; align-items:start; }
.wk-side{ display:flex; flex-direction:column; gap:26px; position:sticky; top:96px; }
 
.wk-search{ background:var(--das-navy); border-radius:18px; padding:22px; }
.wk-search .lb{ color:#fff; font-family:var(--font-sans); font-size:16px; font-weight:700; margin:0 0 14px; }
.wk-search .inp{ display:flex; align-items:center; gap:10px; background:#fff; border-radius:999px; padding:12px 18px; }
.wk-search input{ border:none; outline:none; width:100%; font-family:var(--font-sans); font-size:15px; color:var(--das-ink); background:transparent; }
.wk-search .search-trigger{ cursor:pointer; flex-shrink:0; }
.wk-search .search-trigger:hover circle,
.wk-search .search-trigger:hover line{ stroke:var(--das-red, #ca0034); }
.wk-search .search-trigger:focus-visible{ outline:2px solid var(--das-red, #ca0034); outline-offset:2px; border-radius:50%; }
.wk-search .search-custom{
  border: 0;
  outline: none;
  box-shadow: none;
  padding: 0 !important;
 }
.wk-group .gt{ display:flex; align-items:center; gap:8px; font-family:var(--font-sans); font-size:16px; font-weight:700; color:var(--das-navy); margin:20px 0 14px; }
.wk-group .gt::before{ content:""; width:4px; height:16px; border-radius:2px; background:var(--das-red); }
 
.wk-opt{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; font-family:var(--font-sans); font-size:15px; color:var(--das-navy); cursor:pointer; }
.wk-optl{ display:flex; align-items:center; gap:11px; min-width:0; }
.wk-opt input{ width:19px; height:19px; cursor:pointer; flex-shrink:0; appearance:none; -webkit-appearance:none; border:1.5px solid #c9ced6; border-radius:5px; position:relative;padding: 0 !important; }
.wk-opt input:checked{ background:var(--das-red); border-color:var(--das-red); }
.wk-opt input:checked::after{ content:""; position:absolute; left:6px; top: 0px;
    width: 6px;
    height: 12px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.wk-opt .oi{ width:26px; height:26px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.wk-opt .oi img{ display:block; width:15px; height:15px; object-fit:contain; }
 
.wk-radio{ display:flex; align-items:center; gap:11px; padding:8px 0; font-family:var(--font-sans); font-size:15px; color:var(--das-navy); cursor:pointer; }
.wk-radio input{ width:19px; height:19px; cursor:pointer; flex-shrink:0; appearance:none; -webkit-appearance:none; border:1.5px solid #c9ced6; border-radius:999px; position:relative;padding: 0 !important; }
.wk-radio input:checked{ border-color:var(--das-red); }
.wk-radio input:checked::after{ content:""; position:absolute; left: 4px;
    top: 4px;width:9px; height:9px; border-radius:999px; background:var(--das-red); }
 
.wk-actions{ display:flex; flex-direction:column; gap:12px;margin-top:25px; }

/* ---- Tags filter: hidden checkbox behind a pill-styled label ---- */
.wk-tags{ display:flex; flex-wrap:wrap; gap:9px; }
.wk-tag{
  position:relative;
  display:inline-flex;
  align-items:center;
  font-family:var(--font-sans);
  font-size:12.5px;
  font-weight:500;
  color:var(--das-navy);
  background:#f2f4f7;
  border:1px solid var(--das-border);
  border-radius:999px;
  padding:7px 14px;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.wk-tag input{
  position:absolute;
  opacity:0;
  width:0; height:0;
  pointer-events:none;
}
.wk-tag.red{
  background:var(--das-red);
  color:#fff;
  border-color:var(--das-red);
}
.wk-tag:hover{ border-color:var(--das-red); }
.wk-tag input:focus-visible ~ *{ outline:2px solid var(--das-red); }

/* ---- Toolbar above the grid: result count + Sort By ---- */
.wk-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.wk-count{ font-family:var(--font-sans); font-size:15px; color:var(--das-body); }
.wk-count b{ color:var(--das-navy); }
.wk-sort{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--das-body); font-family:var(--font-sans); }
.wk-sort > span{
  white-space: nowrap;
}
.wk-sort select{
  -webkit-appearance:none; appearance:none;
  border:1px solid var(--das-border);
  background:#fff;
  border-radius:999px;
  padding:9px 38px 9px 16px;
  font-family:var(--font-sans);
  font-size:14px; font-weight:600;
  color:var(--das-navy);
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%23072564' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
}
.wk-side .wk-actions .btn-apply-filters{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 24px;
  min-height: 46px;
  border-radius: 100px;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  opacity: 1;
  transition: filter 0.15s, transform 0.1s;
  font-family: var(--font-sans);
  white-space: nowrap;
  background: var(--das-red);
  color: rgb(255, 255, 255);
  border: 1px solid var(--das-red);
  width: 100%;
  justify-content: center;
  filter: none;
}
.wk-side .wk-actions .btn-reset-filters{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 24px;
  min-height: 46px;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  opacity: 1;
  transition: filter 0.15s, transform 0.1s;
  white-space: nowrap;
  background: transparent;
  color: var(--das-navy);
  border: 1px solid var(--das-navy);
  width: 100%;
  justify-content: center;
  filter: none;
}
 
/* ---- Loading state ---- */
#course-filter1.is-loading,
#event-grids-wrap.is-loading,
#workshop-grids-wrap.is-loading{
  opacity:.45;
  pointer-events:none;
  transition:opacity .2s ease;
  position:relative;
  min-height:200px;
}
#course-filter1.is-loading::after,
#event-grids-wrap.is-loading::after,
#workshop-grids-wrap.is-loading::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:36px; height:36px;
  margin:-18px 0 0 -18px;
  border:3px solid rgba(7,37,100,.15);
  border-top-color:var(--das-navy);
  border-radius:50%;
  animation:wk-spin .7s linear infinite;
  z-index:5;
}
 
.wk-actions button{ position:relative; transition:opacity .15s ease; }
.wk-actions button.is-loading{ opacity:.7; cursor:not-allowed; color:transparent !important; pointer-events:none; }
.wk-actions button.is-loading::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:16px; height:16px;
  margin:-8px 0 0 -8px;
  border:2px solid rgba(255,255,255,.5);
  border-top-color:#fff;
  border-radius:50%;
  animation:wk-spin .6s linear infinite;
}
.wk-actions button.btn-reset-filters.is-loading::after{
  border:2px solid rgba(10,31,92,.3);
  border-top-color:var(--das-navy, #0a1f5c);
}
#event-complete-filter1 .cat-up{
  background: #FDEAF0 !important;
}
#event-complete-filter1 .cat-up ul li .elementor-icon-list-text{
  color: #CA0034 !important;
}
@keyframes wk-spin{ to{ transform:rotate(360deg); } }
 
@media (max-width:1024px){
  .wk-layout{ grid-template-columns:1fr; }
  .wk-side{ position:static; }
}