/* scoped: si-page-training-and-events */

  /* ── Hero ── */
  .events-hero:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
    height: 296px;
    padding: 70px 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
  }

  .events-hero-bg:where(.si-page-training-and-events, .si-page-training-and-events *){
    position: absolute;
    inset: 0;
    background-image: url('/11. Membership hero.webp');
    background-size: cover;
    background-position: center;
    z-index: 0;
  }

  .events-hero-content:where(.si-page-training-and-events, .si-page-training-and-events *){
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .events-title:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-weight: 700;
    font-size: 58px;
    line-height: 100%;
    text-transform: uppercase;
    text-align: center;
    color: #FFFFFF;
    margin: 0;
  }

  .events-subtitle:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-weight: 400 !important;
    font-size: 30px;
    line-height: 100%;
    text-transform: uppercase;
    text-align: center;
    color: #FFFFFF;
    margin: 0;
  }

  .events-underline:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 80px;
    height: 5px;
    background: #D62121;
    flex-shrink: 0;
  }

  /* ── Events Section ── */
  .events-section:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
    padding: 0 80px 80px;
    margin-top: -23px;
    background-image: url('/events bg.webp');
    background-size: cover;
    background-position: center;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  /* ── Toolbar ── */
  .events-toolbar:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    padding-top: 0;
    position: relative;
    z-index: 10;
  }

  .events-search-wrap:where(.si-page-training-and-events, .si-page-training-and-events *){
    position: relative;
    width: 469px;
  }

  .search-icon:where(.si-page-training-and-events, .si-page-training-and-events *){
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    pointer-events: none;
  }

  .events-search:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
    height: 46px;
    padding: 14px 11px 14px 40px;
    border: none;
    border-radius: 5px;
    background: #FFFFFF;
    box-shadow: 0px 4px 18.7px 0px #0000001A;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #9999A6;
    box-sizing: border-box;
    outline: none;
  }

  .events-search:where(.si-page-training-and-events, .si-page-training-and-events *)::placeholder{
    color: #9999A6;
    font-weight: 700;
  }

  .events-search:focus:where(.si-page-training-and-events, .si-page-training-and-events *){
    box-shadow: 0px 4px 18.7px 0px #0000002A;
  }

  .events-filters:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .filter-btn:where(.si-page-training-and-events, .si-page-training-and-events *){
    height: 36px;
    padding: 0 16px;
    border-radius: 20px;
    border: 1.5px solid #E5E5EB;
    background: #FFFFFF;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 13px;
    color: #272727;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
  }

  .filter-btn:hover:where(.si-page-training-and-events, .si-page-training-and-events *){
    border-color: #D62121;
    color: #D62121;
  }

  .filter-btn.active:where(.si-page-training-and-events, .si-page-training-and-events *){
    background: #D62121;
    border-color: #D62121;
    color: #FFFFFF;
  }

  /* ── Categories Slider ── */
  .cat-section:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 972px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .cat-heading:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 100%;
    text-transform: uppercase;
    text-align: center;
    color: #272727;
    margin: 0;
  }

  .cat-slider-wrap:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 972px;
    height: 88px;
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
  }

  .cat-arrow--left:where(.si-page-training-and-events, .si-page-training-and-events *){
    margin-left: -42px;
    flex-shrink: 0;
  }

  .cat-arrow--right:where(.si-page-training-and-events, .si-page-training-and-events *){
    margin-right: -42px;
    flex-shrink: 0;
  }

  .cat-track-outer:where(.si-page-training-and-events, .si-page-training-and-events *){
    flex: 1;
    overflow: hidden;
    height: 88px;
    display: flex;
    align-items: center;
  }

  .cat-track:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    gap: 36px;
    align-items: center;
    transition: transform 0.3s ease;
    will-change: transform;
    padding: 0 4px;
  }


  .cat-arrow:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 35px;
    background: #D62121;
    border: none;
    padding: 10px;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: opacity 0.2s;
  }

  .cat-arrow--right svg:where(.si-page-training-and-events, .si-page-training-and-events *){
    transform: rotate(-90deg);
  }

  .cat-arrow--left svg:where(.si-page-training-and-events, .si-page-training-and-events *){
    transform: rotate(90deg);
  }

  .cat-arrow:hover:where(.si-page-training-and-events, .si-page-training-and-events *){ opacity: 0.85; }

  /* ── Training Section ── */
  .training-section:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
    height: 694px;
    padding: 40px 80px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 19px;
    background-image: url('/training bg.webp');
    background-size: cover;
    background-position: center;
  }

  .training-header:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .training-title:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 100%;
    text-transform: uppercase;
    text-align: center;
    color: #272727;
    margin: 0;
  }

  .training-underline:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 60px;
    height: 4px;
    background: #D62121;
    flex-shrink: 0;
  }

  .training-intro:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    text-align: center;
    color: #000000;
    margin: 0;
  }

  .training-cards:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: grid;
    grid-template-columns: repeat(3, 212px);
    gap: 24px;
    margin-top: 12px;
  }

  .training-card:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 212px;
    height: 156px;
    box-sizing: border-box;
    background: #FFFFFF;
    border-radius: 4px;
    box-shadow: 0px 4px 24px rgba(0,0,0,0.18), 0px 1px 4px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .tc-topline:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 212px;
    height: 4px;
    background: #D62121;
    flex-shrink: 0;
  }

  .tc-body:where(.si-page-training-and-events, .si-page-training-and-events *){
    padding: 10px 15px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
  }

  .tc-title:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    text-transform: uppercase;
    color: #272727;
    margin: 0;
    min-height: 36px;
  }

  .tc-title--r2:where(.si-page-training-and-events, .si-page-training-and-events *){
    min-height: 54px;
  }

  .tc--gold:where(.si-page-training-and-events, .si-page-training-and-events *){ background: #FFFBE6; }
  .tc-topline--gold:where(.si-page-training-and-events, .si-page-training-and-events *){ background: #E5B840; }
  .tc--red:where(.si-page-training-and-events, .si-page-training-and-events *){ background: linear-gradient(270deg, #D62121 0%, #701111 100%); }
  .tc-topline--white:where(.si-page-training-and-events, .si-page-training-and-events *){ background: #FFFFFF; }
  .tc-title--white:where(.si-page-training-and-events, .si-page-training-and-events *){ color: #FFFFFF; }

  .tc-desc:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    color: #272727;
    margin: 0;
    margin-top: -6px;
  }

  .tc-desc--white:where(.si-page-training-and-events, .si-page-training-and-events *){ color: #FFFFFF !important; margin-top: -6px !important; }

  .training-footer:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    margin-top: 20px;
  }

  .training-footer-text:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    text-align: center;
    color: #272727;
    margin: 0;
  }

  .training-btn:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 157px;
    height: 44px;
    padding: 15px 22px;
    box-sizing: border-box;
    border-radius: 4px;
    background: linear-gradient(90deg, #D62121 0%, #701111 100%);
    box-shadow: 0px 4px 20.4px 0px #D62121C2;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 100%;
    text-align: center;
    color: #FFFFFF;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
  }

  .training-btn:hover:where(.si-page-training-and-events, .si-page-training-and-events *){ opacity: 0.9; }

  /* ── Main Row ── */
  .events-main-row:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    flex-direction: row;
    gap: 53px;
    align-items: flex-start;
  }

  /* ── Calendar ── */
  .cal-widget:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 410px;
    min-height: 381px;
    background: #FFFFFF;
    border-radius: 10px;
    border: 1px solid #E5E5EB;
    padding: 24px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
  }

  .cal-title:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 100%;
    text-transform: uppercase;
    text-align: center;
    color: #D62121;
    margin: 0;
  }

  .cal-header:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .cal-nav-row:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 162px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
  }

  .cal-nav:where(.si-page-training-and-events, .si-page-training-and-events *){
    background: none;
    border: none;
    cursor: pointer;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  #cal-next:where(.si-page-training-and-events, .si-page-training-and-events *){
    color: #D62121;
    background: rgba(255, 134, 134, 0.2);
    border-radius: 50%;
  }
  #cal-next:hover:where(.si-page-training-and-events, .si-page-training-and-events *){ opacity: 0.8; }

  .cal-month-label:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    text-align: center;
    color: #9499A8;
    white-space: nowrap;
  }

  .cal-grid:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 325px;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    text-align: center;
  }

  .cal-tz-wrap:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 362px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: auto;
    padding-left: 18px;
    box-sizing: border-box;
  }

  .cal-tz-label:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 12px;
    line-height: 100%;
    color: #9499A8;
  }

  .cal-tz:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 323px;
    height: 16px;
    display: flex;
    align-items: center;
    gap: 7px;
  }

  .cal-tz-row:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
  }

  .cal-tz-text:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 12px;
    color: #9499A8;
    white-space: nowrap;
  }

  .cal-tz-time:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 12px;
    color: #9499A8;
    white-space: nowrap;
  }

  .cal-tz-time:where(.si-page-training-and-events, .si-page-training-and-events *)::before{ content: '('; }
  .cal-tz-time:where(.si-page-training-and-events, .si-page-training-and-events *)::after{ content: ')'; }

  .cal-tz-arrow-wrap:where(.si-page-training-and-events, .si-page-training-and-events *){
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }

  .cal-tz-select:where(.si-page-training-and-events, .si-page-training-and-events *){
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
  }

  /* ── Events List ── */
  .events-left-col:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 509px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: flex-start;
  }

  .events-list:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 509px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  /* ── Loading ── */
  .events-loading:where(.si-page-training-and-events, .si-page-training-and-events *){
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 60px 0;
    color: #272727;
    font-family: 'Roboto', sans-serif;
  }

  .loading-spinner:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 40px;
    height: 40px;
    border: 3px solid #E5E5EB;
    border-top-color: #D62121;
    border-radius: 50%;
    animation: si-page-training-and-events-spin 0.8s linear infinite;
  }

  @keyframes si-page-training-and-events-spin {
    to { transform: rotate(360deg); }
  }

  /* ── Empty ── */
  .events-empty:where(.si-page-training-and-events, .si-page-training-and-events *){
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 0;
    font-family: 'Roboto', sans-serif;
    color: #272727;
  }

  .events-empty h3:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    color: #1A1A24;
    margin: 0 0 8px;
  }


  /* ── Pagination ── */
  .events-pagination:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 509px;
    margin-top: 32px;
  }

  #page-info:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    gap: 8px;
    align-items: center;
  }

  .page-btn:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 4px;
    border: 1px solid #E5E5EB;
    background: #FFFFFF;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #272727;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
  }

  .page-btn:hover:not(:disabled):where(.si-page-training-and-events, .si-page-training-and-events *){
    border-color: #D62121;
    color: #D62121;
  }

  .page-btn:disabled:where(.si-page-training-and-events, .si-page-training-and-events *){
    opacity: 0.35;
    cursor: default;
  }

  .page-info:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    color: #272727;
  }


  .cat-pill:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
    text-transform: capitalize;
    text-align: center;
    color: #FFFFFF;
    background: #272727;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-block;
    transition: background 0.15s;
    border: none;
  }

  .cat-pill:hover:where(.si-page-training-and-events, .si-page-training-and-events *), .cat-pill.active:where(.si-page-training-and-events, .si-page-training-and-events *){
    background: #D62121;
    cursor: pointer;
  }

  /* ── Event Card ── */
  .event-card:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 509px;
    height: 150px;
    background: transparent;
    border-radius: 8px;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    flex-shrink: 0;
  }

  .card-img:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 150px;
    height: 150px;
    object-fit: cover;
    flex-shrink: 0;
    display: block;
    background: #E5E5EB;
  }

  .card-placeholder:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 150px;
    height: 150px;
    flex-shrink: 0;
    background: #F0F0F0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .card-placeholder svg:where(.si-page-training-and-events, .si-page-training-and-events *){
    opacity: 0.3;
  }

  .card-topline:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 4px;
    height: 150px;
    background: #D62121;
    flex-shrink: 0;
  }

  .card-body:where(.si-page-training-and-events, .si-page-training-and-events *){
    flex: 1;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: flex-start;
    min-width: 0;
  }

  .card-date:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    color: #000000;
    width: 356px;
    height: 16px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
  }

  .card-time:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    color: #000000;
    width: 356px;
    height: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
  }

  .card-title:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 110%;
    text-transform: capitalize;
    color: #000000;
    width: 100%;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .card-category:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    color: #272727;
    width: 356px;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
  }

  .card-btn:where(.si-page-training-and-events, .si-page-training-and-events *){
    margin-top: auto;
    width: 180px;
    height: 28px;
    padding: 7px 15px 7px 14px;
    border-radius: 5px;
    background: linear-gradient(90deg, #D62121 0%, #701111 100%);
    box-shadow: 0px 4px 4px 0px #00000040;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    text-align: center;
    color: #FFFFFF;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    box-sizing: border-box;
    flex-shrink: 0;
    transition: opacity 0.2s;
  }

  .card-btn:hover:where(.si-page-training-and-events, .si-page-training-and-events *){ opacity: 0.9; }

  .training-card:where(.si-page-training-and-events, .si-page-training-and-events *){ border: 1px solid #E5E5EB !important; }

  .cal-tz-label:where(.si-page-training-and-events, .si-page-training-and-events *), .cal-tz-row:where(.si-page-training-and-events, .si-page-training-and-events *){ margin-left: 16px; }

  .cal-overlay:where(.si-page-training-and-events, .si-page-training-and-events *){
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .cal-popup:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 560px;
    max-height: 80vh;
    overflow-y: auto;
    background: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0px 20px 60px rgba(0,0,0,0.3);
    padding: 24px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .cal-popup-header:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .cal-popup-date:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #D62121;
    text-transform: uppercase;
  }

  .cal-popup-close:where(.si-page-training-and-events, .si-page-training-and-events *){
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: #999;
    padding: 0;
    line-height: 1;
  }

  .cal-popup-close:hover:where(.si-page-training-and-events, .si-page-training-and-events *){ color: #272727; }

  .cal-popup-events:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .cal-popup-event:where(.si-page-training-and-events, .si-page-training-and-events *){
    background: #FFFFFF;
    border-radius: 6px;
    border: 1px solid #E5E5EB;
    border-left: 3px solid #D62121;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    box-shadow: 0px 2px 8px rgba(0,0,0,0.08);
  }

  .cal-popup-event-title:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Afacad', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #1A1A24;
    text-transform: capitalize;
    margin: 0;
  }

  .cal-popup-event-time:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 12px;
    color: #272727;
  }

  .cal-popup-event-link:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 11px;
    color: #D62121;
    text-decoration: none;
  }

  .cal-popup-event-link:hover:where(.si-page-training-and-events, .si-page-training-and-events *){ text-decoration: underline; }

  .cal-day-header:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 11px;
    color: #272727;
    padding: 4px 0;
  }

  .cal-day:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    color: #272727;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 auto;
    cursor: default;
    position: relative;
    z-index: 0;
  }

  .cal-day.has-event:where(.si-page-training-and-events, .si-page-training-and-events *){
    color: #D62121;
    cursor: pointer;
    font-weight: 700;
    background: transparent;
  }

  .cal-day.has-event:where(.si-page-training-and-events, .si-page-training-and-events *)::before{
    content: '';
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255, 134, 134, 0.2);
    z-index: -1;
  }

  .cal-day.other-month:where(.si-page-training-and-events, .si-page-training-and-events *){
    color: #CCCCCC;
  }


  .page-num-btn:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 32px;
    height: 32px;
    border-radius: 4px;
    border: 1px solid #E5E5EB;
    background: #FFFFFF;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #272727;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
  }

  .page-num-btn:hover:where(.si-page-training-and-events, .si-page-training-and-events *){ border-color: #D62121; color: #D62121; }

  .page-num-btn.active:where(.si-page-training-and-events, .si-page-training-and-events *){
    background: #D62121;
    border-color: #D62121;
    color: #FFFFFF;
  }

  /* Mobile */
  html.is-mobile .events-hero:where(.si-page-training-and-events, .si-page-training-and-events *){
    height: 229px;
    padding: 70px 0;
    gap: 70px;
    overflow: visible;
    background-image: url('/Safe Shooter 1MOBILE.webp') !important;
    background-size: cover;
    background-position: center;
  }

  html.is-mobile .events-hero-content:where(.si-page-training-and-events, .si-page-training-and-events *){
    gap: 8px;
    align-items: center;
  }

  html.is-mobile .events-title:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-size: 32px;
    text-align: center;
    color: #FFFEFE;
  }

  html.is-mobile .events-subtitle:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-size: 20px;
    text-align: center;
    color: #FFFFFF;
  }

  html.is-mobile .events-underline:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 80px;
    height: 5px;
  }

  html.is-mobile .events-search-wrap:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 320px !important;
  }

  html.is-mobile .events-hero:where(.si-page-training-and-events, .si-page-training-and-events *){
    overflow: visible !important;
    position: relative;
    padding-bottom: 23px;
  }

  html.is-mobile .events-search-float:where(.si-page-training-and-events, .si-page-training-and-events *), html.is-mobile .events-toolbar:where(.si-page-training-and-events, .si-page-training-and-events *){
    display: none !important;
  }

  html.is-mobile .events-search-float-m:where(.si-page-training-and-events, .si-page-training-and-events *){
    position: absolute;
    bottom: -23px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
  }

  html.is-mobile .events-section:where(.si-page-training-and-events, .si-page-training-and-events *){
    padding: 80px 20px 60px;
    gap: 32px;
    margin-top: -23px;
    background-image: url('/events bg mobile.webp') !important;
    background-size: cover;
    background-position: center;
  }

  html.is-mobile .cat-heading:where(.si-page-training-and-events, .si-page-training-and-events *){
    font-size: 22px;
    text-align: center;
    text-transform: uppercase;
  }

  html.is-mobile .cat-section:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100% !important;
    align-items: stretch;
  }

  html.is-mobile .cat-slider-wrap:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100% !important;
    height: auto !important;
    gap: 10px !important;
  }

  html.is-mobile .cat-arrow--left:where(.si-page-training-and-events, .si-page-training-and-events *), html.is-mobile .cat-arrow--right:where(.si-page-training-and-events, .si-page-training-and-events *){
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html.is-mobile .cat-track-outer:where(.si-page-training-and-events, .si-page-training-and-events *){
    flex: 1 !important;
    min-width: 0;
  }

  html.is-mobile .cat-track:where(.si-page-training-and-events, .si-page-training-and-events *){
    gap: 12px !important;
  }

  html.is-mobile .events-main-row:where(.si-page-training-and-events, .si-page-training-and-events *){
    flex-direction: column;
    gap: 40px;
    width: 100%;
  }

  html.is-mobile .events-left-col:where(.si-page-training-and-events, .si-page-training-and-events *), html.is-mobile .events-list:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
  }

  html.is-mobile .event-card:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
  }

  html.is-mobile .card-date:where(.si-page-training-and-events, .si-page-training-and-events *), html.is-mobile .card-title:where(.si-page-training-and-events, .si-page-training-and-events *), html.is-mobile .card-category:where(.si-page-training-and-events, .si-page-training-and-events *), html.is-mobile .card-time:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
  }

  html.is-mobile .cal-widget:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
    max-width: 390px;
    margin: 0 auto;
  }

  html.is-mobile .cat-section:where(.si-page-training-and-events, .si-page-training-and-events *), html.is-mobile .cat-slider-wrap:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
  }

  html.is-mobile .events-pagination:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
    justify-content: center;
  }

  html.is-mobile .training-section:where(.si-page-training-and-events, .si-page-training-and-events *){
    height: auto;
    padding: 40px 20px 60px;
    background-image: url('/training bg mobile.webp') !important;
    background-size: cover;
    background-position: center;
  }

  html.is-mobile .training-cards:where(.si-page-training-and-events, .si-page-training-and-events *){
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    gap: 12px;
  }

  html.is-mobile .training-card:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
  }

  html.is-mobile .training-cards .training-card:nth-child(5) .tc-desc:where(.si-page-training-and-events, .si-page-training-and-events *), html.is-mobile .training-cards .training-card:nth-child(6) .tc-desc:where(.si-page-training-and-events, .si-page-training-and-events *){
    position: relative;
    top: -8px;
  }

  html.is-mobile .training-cards .training-card:nth-child(1) .tc-desc:where(.si-page-training-and-events, .si-page-training-and-events *){
    position: relative;
    top: 8px;
  }

  html.is-mobile .events-section:where(.si-page-training-and-events, .si-page-training-and-events *){
    gap: 24px;
  }

  html.is-mobile .events-search-wrap:where(.si-page-training-and-events, .si-page-training-and-events *){
    width: 100%;
  }

  html.is-mobile .events-grid:where(.si-page-training-and-events, .si-page-training-and-events *){
    grid-template-columns: 1fr;
    gap: 16px;
  }
