/* KWNY Conditions Slider — every rule is scoped to .kwny-cslide, nothing else on the site is touched. */

.kwny-cslide{
  --kcs-green: var(--e-global-color-primary,   #035E39);
  --kcs-ink:   var(--e-global-color-secondary, #00140E);
  --kcs-body:  #4B5A50;
  --kcs-serif: var(--e-global-typography-primary-font-family, "Test Financier"), Georgia, serif;
  --kcs-sans:  var(--e-global-typography-text-font-family, "Inter"), Arial, sans-serif;
  --kcs-container: 1280px;
  --kcs-gutter: 20px;
  --kcs-gap: 16px;
  /* the first card lines up with the heading above it */
  --kcs-start: max(var(--kcs-gutter), calc((100% - var(--kcs-container)) / 2 + var(--kcs-gutter)));

  background-color: #F3F8F5;
  padding: 88px 0;
  font-family: var(--kcs-sans);
  overflow: hidden;
  box-sizing: border-box;
}
.kwny-cslide *,
.kwny-cslide *::before,
.kwny-cslide *::after{ box-sizing: border-box; }

/* full-width breakout (switch in the widget) — scrollbar-safe */
.kwny-cslide-full-yes .kwny-cslide{
  width: calc(100vw - var(--kwny-sb, 0px));
  max-width: calc(100vw - var(--kwny-sb, 0px));
  margin-left: calc(50% - 50vw + (var(--kwny-sb, 0px) / 2));
  margin-right: calc(50% - 50vw + (var(--kwny-sb, 0px) / 2));
}

/* ---------- header ---------- */
.kwny-cslide .kwny-cslide__head{
  width: 100%;
  max-width: var(--kcs-container);
  margin: 0 auto 44px;
  padding: 0 var(--kcs-gutter);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
}
.kwny-cslide .kwny-cslide__title{
  margin: 0;
  font-family: var(--kcs-serif);
  font-weight: 400;
  font-size: var(--e-global-typography-1179395-font-size, clamp(1.875rem, 1.5865rem + 1.2821vw, 3.125rem));
  line-height: 1.3em;
  letter-spacing: -0.01em;
  color: var(--kcs-ink);
}
.kwny-cslide .kwny-cslide__title em{
  display: block;
  font-style: italic;
  color: var(--kcs-green);
}
.kwny-cslide .kwny-cslide__intro{
  margin: 0;
  max-width: 52ch;
  font-size: clamp(.9375rem, .9087rem + .1282vw, 1.0625rem);
  line-height: 1.6;
  color: var(--kcs-body);
}

/* ---------- track ---------- */
.kwny-cslide .kwny-cslide__track{
  display: flex;
  gap: var(--kcs-gap);
  margin: 0;
  padding: 4px var(--kcs-gutter) 8px var(--kcs-start);
  list-style: none;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-left: var(--kcs-start);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.kwny-cslide__track::-webkit-scrollbar{ display: none; }
.kwny-cslide__track[data-drag="1"]{ cursor: grab; }
.kwny-cslide .kwny-cslide__track.is-dragging{ cursor: grabbing; scroll-snap-type: none; user-select: none; }
.kwny-cslide__track.is-dragging a{ pointer-events: none; }

.kwny-cslide .kwny-cslide__slide{
  flex: 0 0 clamp(250px, 25vw, 360px);
  margin: 0;
  padding: 0;
  scroll-snap-align: start;
}
.kwny-cslide__slide::before,
.kwny-cslide__slide::marker{ content: none; }

/* ---------- card ---------- */
.kwny-cslide .kwny-cslide__card{
  --kcs-shade-top: rgba(0,0,0,.42);
  --kcs-shade-bottom: rgba(0,0,0,.18);
  position: relative;
  display: block;
  aspect-ratio: 12 / 13;
  border-radius: 12px;
  overflow: hidden;
  background-color: #2A3530;
  color: #FFFFFF;
  text-decoration: none;
  isolation: isolate;
}
.kwny-cslide .kwny-cslide__card img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  z-index: -2;
  transition: transform .5s ease;
  -webkit-user-drag: none;
  user-select: none;
}
.kwny-cslide__card::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, var(--kcs-shade-top) 0%, rgba(0,0,0,.08) 34%, rgba(0,0,0,0) 55%, var(--kcs-shade-bottom) 100%);
  pointer-events: none;
}
.kwny-cslide-zoom-yes .kwny-cslide__card:hover img{ transform: scale(1.04); }
.kwny-cslide .kwny-cslide__card:focus-visible{ outline: 3px solid var(--kcs-green); outline-offset: 3px; }

.kwny-cslide .kwny-cslide__name{
  position: absolute;
  top: 16px;
  left: 16px;
  right: 56px;
  margin: 0;
  padding: 0;
  font-family: var(--kcs-serif);
  font-weight: 400;
  font-size: clamp(1.0625rem, 1.0192rem + .1923vw, 1.25rem);
  line-height: 1.3;
  color: #FFFFFF;
}
.kwny-cslide .kwny-cslide__arrow{
  position: absolute;
  top: 14px;
  right: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #FFFFFF;
  color: var(--kcs-ink);
  transition: transform .25s ease;
}
.kwny-cslide__arrow svg{ width: 14px; height: 14px; display: block; }
.kwny-cslide__card:hover .kwny-cslide__arrow{ transform: rotate(45deg); }

.kwny-cslide .kwny-cslide__desc{
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  background-color: rgba(255,255,255,.2);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  font-size: .875rem;
  line-height: 1.4;
  color: #FFFFFF;
}

/* ---------- tablet ---------- */
@media (max-width: 1024px){
  .kwny-cslide .kwny-cslide__slide{ flex-basis: clamp(240px, 36vw, 320px); }
}

/* ---------- mobile ---------- */
@media (max-width: 767px){
  .kwny-cslide{ --kcs-gutter: 16px; --kcs-gap: 12px; padding: 48px 0; }
  .kwny-cslide .kwny-cslide__head{ grid-template-columns: 1fr; gap: 14px; margin-bottom: 28px; }
  .kwny-cslide .kwny-cslide__intro{ max-width: none; }
  .kwny-cslide .kwny-cslide__slide{ flex-basis: min(84%, 320px); }
  .kwny-cslide .kwny-cslide__card{ aspect-ratio: 1 / 1.02; }
  .kwny-cslide .kwny-cslide__desc{ font-size: .8125rem; }
}

@media (prefers-reduced-motion: reduce){
  .kwny-cslide .kwny-cslide__card img,
  .kwny-cslide .kwny-cslide__arrow{ transition: none; }
  .kwny-cslide-zoom-yes .kwny-cslide__card:hover img{ transform: none; }
}
