/*
  Entopy Webcast Grid Slider Section v1.1.6
*/

.entopy-webcasts{
  --webcast-bg:#ffffff;
  --webcast-bg-hover:#f1eee9;
  --webcast-image-bg:#e9e6de;
  --webcast-gap:20px;
  --webcast-card-padding:14px;
  --webcast-radius:4px;
  --webcast-border-width:1px;
  --webcast-image-radius:3px;
  --webcast-image-ratio:16 / 9;
  --webcast-title-size:clamp(22px,2vw,28px);
  --webcast-body-size:clamp(13px,1vw,15px);
  --webcast-small-size:clamp(12px,0.9vw,14px);
  --webcast-content-top:22px;
  --webcast-cta-top:42px;
  --webcast-image-x:0px;
  --webcast-image-y:0px;
  --webcast-title-x:0px;
  --webcast-title-y:0px;
  --webcast-desc-x:0px;
  --webcast-desc-y:0px;
  --webcast-cta-x:0px;
  --webcast-cta-y:0px;
  --webcast-cta-text-x:0px;
  --webcast-cta-text-y:0px;
  --webcast-cta-arrow-x:0px;
  --webcast-cta-arrow-y:0px;
  --webcast-reveal-duration:.9s;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--webcast-gap);
  font-family:Montserrat,Arial,sans-serif;
}

.entopy-webcasts *,
.entopy-webcasts *::before,
.entopy-webcasts *::after{box-sizing:border-box;}

.entopy-webcast-card{
  position:relative;
  overflow:hidden;
  background:var(--webcast-bg);
  border: var(--webcast-border-width) solid var(--webcast-border-colour);
  border-radius:var(--webcast-radius);
  color:var(--webcast-text-colour);
  opacity:0;
  transform:translateY(20px);
}

.entopy-webcast-link{
  min-height:100%;
  display:flex;
  flex-direction:column;
  padding:var(--webcast-card-padding);
  color:inherit;
  text-decoration:none;
  background:transparent;
  transition:background-color .35s ease;
}

.entopy-webcast-link:hover,
.entopy-webcast-link:focus,
.entopy-webcast-link:visited{
  color:inherit;
  text-decoration:none;
}

.entopy-webcast-card:hover .entopy-webcast-link{background:var(--webcast-bg-hover);}

.entopy-webcast-media-offset{transform:translate(var(--webcast-image-x),var(--webcast-image-y));}

.entopy-webcast-media{
  position:relative;
  overflow:hidden;
  aspect-ratio:var(--webcast-image-ratio);
  border-radius:var(--webcast-image-radius);
  background:var(--webcast-image-bg);
}

.entopy-webcast-media img,
.entopy-webcast-media video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1);
  transition:transform .45s ease;
}

.entopy-webcast-card:hover img,
.entopy-webcast-card:hover video{transform:scale(1.035);}

.entopy-webcast-content{
  padding-top:var(--webcast-content-top);
  padding-right:34px;
}

.entopy-webcast-title-offset{transform:translate(var(--webcast-title-x),var(--webcast-title-y));}
.entopy-webcast-desc-offset{transform:translate(var(--webcast-desc-x),var(--webcast-desc-y));}

.entopy-webcast-content h3{
  margin:0 0 14px;
  max-width:95%;
  font-size:var(--webcast-title-size);
  line-height:1.16;
  font-weight:700;
  letter-spacing:-.035em;
  color:var(--webcast-text-colour);
}

.entopy-webcast-content p{
  margin:0;
  max-width:92%;
  font-size:var(--webcast-body-size);
  line-height:1.45;
  font-weight:400;
  color:var(--webcast-text-colour);
}

.entopy-webcast-cta-offset{
  margin-top:auto;
  padding-top:var(--webcast-cta-top);
  transform:translate(var(--webcast-cta-x),var(--webcast-cta-y));
}

.entopy-webcast-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:var(--webcast-small-size);
  line-height:1;
  font-weight:700;
  color:var(--webcast-text-colour);
}

.entopy-webcast-cta-text{
  display:inline-block;
  transform:translate(var(--webcast-cta-text-x),var(--webcast-cta-text-y));
}

.entopy-webcast-cta-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:translate(var(--webcast-cta-arrow-x),var(--webcast-cta-arrow-y));
  transition:transform .35s ease;
}

.entopy-webcast-cta svg{
  width:24px;
  height:24px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.entopy-webcast-card:hover .entopy-webcast-cta-arrow{
  transform:translate(calc(var(--webcast-cta-arrow-x) + 3px),calc(var(--webcast-cta-arrow-y) + 3px));
}

.entopy-webcasts.is-visible .entopy-webcast-card{
  animation:entopyWebcastReveal var(--webcast-reveal-duration) ease-out forwards;
}

.entopy-webcasts.is-visible .entopy-webcast-card:nth-child(1){animation-delay:.15s;}
.entopy-webcasts.is-visible .entopy-webcast-card:nth-child(2){animation-delay:.25s;}
.entopy-webcasts.is-visible .entopy-webcast-card:nth-child(3){animation-delay:.35s;}
.entopy-webcasts.is-visible .entopy-webcast-card:nth-child(4){animation-delay:.45s;}
.entopy-webcasts.is-visible .entopy-webcast-card:nth-child(5){animation-delay:.55s;}
.entopy-webcasts.is-visible .entopy-webcast-card:nth-child(6){animation-delay:.65s;}

@keyframes entopyWebcastReveal{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}

body.elementor-editor-active .entopy-webcast-card,
body.elementor-editor-preview .entopy-webcast-card,
.elementor-editor-active .entopy-webcast-card{
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
}


.entopy-webcast-grid-slider-wrap{
  --webcast-slider-slide-width:82%;
  --webcast-slider-side-padding:24px;
  --webcast-slider-bottom-spacing:18px;
  --webcast-dots-top:18px;
  --webcast-dots-bottom:0px;
  --webcast-dots-x:0px;
  --webcast-dots-y:0px;
  --webcast-dot-size:8px;
  --webcast-active-dot-width:8px;
  --webcast-dot-border-width:1px;
  --webcast-dot-gap:22px;
  --webcast-dot-colour:#1d3557;
  --webcast-active-dot-colour:#1d3557;
  width:100%;
  overflow:hidden;
}

.entopy-webcast-slider-dots{
  display:none;
}

@media(max-width:1024px){
  .entopy-webcasts{
    --webcast-title-size:clamp(19px,2.3vw,22px);
    --webcast-body-size:13px;
    grid-template-columns:repeat(2,1fr);
  }

  .entopy-webcast-slider-enabled{
    padding-bottom:var(--webcast-slider-bottom-spacing);
  }

  .entopy-webcast-slider-enabled .entopy-webcasts{
    display:flex;
    grid-template-columns:none;
    gap:var(--webcast-gap);
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    padding:0 var(--webcast-slider-side-padding);
    scrollbar-width:none;
  }

  .entopy-webcast-slider-enabled .entopy-webcasts::-webkit-scrollbar{
    display:none;
  }

  .entopy-webcast-slider-enabled .entopy-webcast-card{
    flex:0 0 var(--webcast-slider-slide-width);
    width:var(--webcast-slider-slide-width);
    min-width:0;
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }

  .entopy-webcast-slider-enabled.entopy-webcast-slider-has-dots .entopy-webcast-slider-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:var(--webcast-dot-gap);
    width:100%;
    margin:var(--webcast-dots-top) 0 var(--webcast-dots-bottom);
    transform:translate(var(--webcast-dots-x),var(--webcast-dots-y));
  }

  .entopy-webcast-slider-dot{
    width:var(--webcast-dot-size);
    height:var(--webcast-dot-size);
    flex:0 0 auto;
    border:var(--webcast-dot-border-width) solid var(--webcast-dot-colour);
    border-radius:999px;
    padding:0;
    background:transparent;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    transition:background-color .25s ease,border-color .25s ease,width .25s ease,opacity .25s ease;
  }

  .entopy-webcast-slider-dot.is-active{
    width:var(--webcast-active-dot-width);
    background:var(--webcast-active-dot-colour);
    border-color:var(--webcast-active-dot-colour);
  }

  .entopy-webcast-slider-dot:focus-visible{
    outline:2px solid var(--webcast-active-dot-colour);
    outline-offset:4px;
  }
}

@media(max-width:768px){
  .entopy-webcast-grid-slider-wrap{
    --webcast-slider-slide-width:86%;
    --webcast-slider-side-padding:16px;
    --webcast-slider-bottom-spacing:16px;
    --webcast-dots-top:16px;
  }

  .entopy-webcasts{
    --webcast-gap:12px;
    --webcast-card-padding:10px;
    --webcast-title-size:clamp(14px,4vw,17px);
    --webcast-body-size:12px;
    --webcast-small-size:12px;
    grid-template-columns:repeat(2,1fr);
  }

  .entopy-webcast-content{
    padding-top:14px;
    padding-right:0;
  }

  .entopy-webcast-content h3{
    max-width:100%;
    margin-bottom:8px;
    line-height:1.2;
    font-weight:var(--webcast-title-weight);
  }

  .entopy-webcast-content p{
    max-width:100%;
    line-height:1.35;
  }

  .entopy-webcast-cta-offset{padding-top:22px;}

  .entopy-webcast-cta svg{
    width:16px;
    height:16px;
  }
}

@media(max-width:420px){
  .entopy-webcasts{grid-template-columns:1fr;}

  .entopy-webcast-slider-enabled .entopy-webcasts{
    display:flex;
  }
}

@media(prefers-reduced-motion:reduce){
  .entopy-webcast-card{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }
}


/* v1.1.0 Final media/video and CTA offset refinements */
.entopy-webcast-video{
  background:var(--webcast-image-bg);
}

.entopy-webcast-media video::-webkit-media-controls{
  display:none !important;
}

.entopy-webcast-media video::-webkit-media-controls-enclosure{
  display:none !important;
}

/* v1.1.3 clean split: text and border colours */
.entopy-webcasts{
  --webcast-text-colour:#1d3557;
  --webcast-border-colour:#1d3557;
}
.entopy-webcasts .entopy-webcast-card{
  border-color: var(--webcast-border-colour) !important;
}
.entopy-webcasts .entopy-webcast-card,
.entopy-webcasts .entopy-webcast-card *{
  color: var(--webcast-text-colour) !important;
}
.entopy-webcasts .entopy-webcast-card svg,
.entopy-webcasts .entopy-webcast-card svg *{
  stroke: var(--webcast-text-colour) !important;
}


/* v115 typography weights */
.entopy-webcasts{
  --webcast-title-weight:600;
  --webcast-body-weight:400;
  --webcast-cta-weight:500;
}

.entopy-webcast-title,
.entopy-webcast-card h3{
  font-weight:var(--webcast-title-weight);
}

.entopy-webcast-description,
.entopy-webcast-card p{
  font-weight:var(--webcast-body-weight);
}

.entopy-webcast-cta,
.entopy-webcast-meta,
.entopy-webcast-card .cta{
  font-weight:var(--webcast-cta-weight);
}
