.tks-slider {
  position: relative;
  width: min(calc(100vw - 32px), 1720px);
  height: var(--tks-height, 560px);
  margin-right: auto;
  margin-left: 50%;
  overflow: hidden;
  color: #fff;
  font-family: inherit;
  background: #2f3d34;
  outline-offset: -3px;
  transform: translateX(-50%);
}

.tks-slides,
.tks-slide {
  position: absolute;
  inset: 0;
}

.tks-slide {
  z-index: 0;
  color: var(--tks-text-color, #fff);
  background: var(--tks-background, linear-gradient(135deg, #2f3d34, #a09f72));
  visibility: hidden;
  opacity: 0;
  transition: opacity .55s ease;
}

.tks-slide.is-active {
  z-index: 1;
  visibility: visible;
  opacity: 1;
}

.tks-picture,
.tks-picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tks-picture {
  z-index: 0;
}

.tks-picture img {
  object-fit: var(--tks-image-fit, cover);
  object-position: var(--tks-focal-x, 50%) var(--tks-focal-y, 50%);
}

.tks-shade {
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--tks-overlay-color, #2f3d34) var(--tks-overlay, 48%), transparent) 0%,
    color-mix(in srgb, var(--tks-overlay-color, #2f3d34) 20%, transparent) 55%,
    transparent 100%
  );
}

.tks-slide::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  content: "";
}

.tks-effect-glow::before {
  background:
    radial-gradient(circle at 15% 20%, rgb(255 255 255 / 28%), transparent 28%),
    radial-gradient(circle at 82% 78%, rgb(242 240 233 / 20%), transparent 32%);
}

.tks-effect-texture::before {
  background-image: repeating-linear-gradient(118deg, rgb(255 255 255 / 6%) 0 1px, transparent 1px 6px);
  opacity: .7;
}

.tks-inner {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.3vw, 34px);
  width: 100%;
  max-width: 1720px;
  height: 100%;
  margin: 0 auto;
  padding: 42px clamp(36px, 5vw, 88px);
}

.tks-copy {
  max-width: 590px;
  transform: translate(var(--tks-text-offset-x, 0%), var(--tks-text-offset-y, 0%));
}

.tks-eyebrow {
  margin-bottom: 15px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.tks-copy h2 {
  margin: 0 0 20px;
  color: inherit;
  font-family: Garamond, "Cormorant Garamond", Georgia, serif;
  font-size: var(--tks-title-size, 56px);
  font-weight: 500;
  line-height: .98;
}

.tks-description {
  max-width: 510px;
  margin-bottom: 25px;
  font-size: var(--tks-description-size, 17px);
  line-height: 1.55;
}

.tks-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 47px;
  padding: 12px 25px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  transition: transform .2s ease, filter .2s ease;
}

.tks-button-light {
  color: #2f3d34 !important;
  background: #f2f0e9;
}

.tks-button-accent {
  color: #fff !important;
  background: #a25a3c;
}

.tks-button-outline {
  color: inherit !important;
  background: transparent;
  border: 1px solid currentcolor;
}

.tks-button:hover,
.tks-button:focus-visible {
  filter: brightness(.96);
  transform: translateY(-2px);
}

.tks-position-center-center .tks-inner {
  justify-content: center;
  text-align: center;
}

.tks-position-center-center .tks-copy {
  margin: auto;
}

.tks-position-center-center .tks-shade {
  background: color-mix(in srgb, var(--tks-overlay-color, #2f3d34) var(--tks-overlay, 48%), transparent);
}

.tks-position-right-center .tks-inner,
.tks-position-right-top .tks-inner,
.tks-position-right-bottom .tks-inner {
  justify-content: flex-end;
}

.tks-position-right-center .tks-copy,
.tks-position-right-top .tks-copy,
.tks-position-right-bottom .tks-copy {
  text-align: right;
}

.tks-position-right-center .tks-shade,
.tks-position-right-top .tks-shade,
.tks-position-right-bottom .tks-shade {
  background: linear-gradient(
    270deg,
    color-mix(in srgb, var(--tks-overlay-color, #2f3d34) var(--tks-overlay, 48%), transparent),
    transparent 75%
  );
}

.tks-position-left-top .tks-inner,
.tks-position-right-top .tks-inner {
  align-items: flex-start;
}

.tks-position-left-bottom .tks-inner,
.tks-position-right-bottom .tks-inner {
  align-items: flex-end;
}

.tks-arrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  width: 46px;
  height: 46px;
  color: #fff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  background: rgb(30 40 34 / 25%);
  border: 1px solid rgb(255 255 255 / 65%);
  border-radius: 50%;
  transform: translateY(-50%);
  backdrop-filter: blur(4px);
}

.tks-arrow:hover,
.tks-arrow:focus-visible {
  background: rgb(30 40 34 / 55%);
}

.tks-prev { left: 20px; }
.tks-next { right: 20px; }

.tks-dots {
  position: absolute;
  z-index: 4;
  bottom: 22px;
  left: 50%;
  display: flex;
  gap: 9px;
  transform: translateX(-50%);
}

.tks-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  cursor: pointer;
  background: rgb(255 255 255 / 55%);
  border: 0;
  border-radius: 5px;
  transition: width .25s ease, background-color .25s ease;
}

.tks-dots button.is-active {
  width: 27px;
  background: #fff;
}

.tks-slide.has-cards .tks-inner { max-width: 1720px; }
.tks-slide.has-cards .tks-copy { flex: 0 1 420px; }
.tks-slide.has-cards .tks-copy h2 { font-size: min(var(--tks-title-size, 56px), 56px); }
.tks-slide.has-cards .tks-description { margin-bottom: 18px; }

.tks-cards {
  display: grid;
  flex: 1 1 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: var(--tks-card-gap, 12px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.tks-cards-1 { grid-template-columns: minmax(0, 1fr); }
.tks-cards-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tks-cards-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.tks-card-align-left { margin-right: auto; }
.tks-card-align-center { margin-right: auto; margin-left: auto; }
.tks-card-align-right { margin-left: auto; }

.tks-card-size-compact { flex-basis: min(100%, 710px); }
.tks-card-size-standard { flex-basis: min(100%, 980px); }
.tks-card-size-large { flex-basis: 100%; }
.tks-card-size-free { flex: 0 1 var(--tks-card-width, 100%); width: var(--tks-card-width, 100%); }

.tks-card-size-compact .tks-card-body { min-height: 112px; padding: 10px 12px; }
.tks-card-size-large .tks-card-body { min-height: 156px; padding: 16px; }
.tks-card-size-free .tks-card { min-height: max(160px, var(--tks-card-height, 0px)); }

.tks-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  color: var(--tks-card-title-color, #2f3d34);
  text-decoration: none !important;
  background: #f2f0e9;
  box-shadow: 0 14px 34px rgb(0 0 0 / 15%);
  transition: transform .2s ease;
}

.tks-card:hover,
.tks-card:focus-visible {
  color: var(--tks-card-title-color, #2f3d34);
  transform: translateY(-4px);
}

.tks-card-media {
  display: block;
  min-width: 0;
  background: #f2f0e9;
}

.tks-card-media img {
  display: block;
  width: 100%;
  height: auto;
}

.tks-card-image-cover .tks-card-media {
  min-height: 148px;
  height: clamp(148px, 19vw, 265px);
}

.tks-card-size-compact.tks-card-image-cover .tks-card-media { height: clamp(120px, 15vw, 190px); }
.tks-card-size-large.tks-card-image-cover .tks-card-media { height: clamp(180px, 24vw, 330px); }
.tks-card-size-free.tks-card-image-cover .tks-card-media { height: min(62%, max(120px, calc(var(--tks-card-height, 260px) - 112px))); }

.tks-card-image-cover .tks-card-media img {
  height: 100%;
  object-fit: cover;
  object-position: var(--tks-card-focal-x, 50%) var(--tks-card-focal-y, 50%);
}

.tks-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 136px;
  padding: 13px 14px;
}

.tks-card strong {
  min-height: 2.16em;
  color: var(--tks-card-title-color, #2f3d34);
  font: 500 var(--tks-card-title-size, 18px)/1.08 Garamond, Georgia, serif;
}

.tks-card-prices {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: baseline;
  margin-top: auto;
  font-size: 14px;
}

.tks-card-prices del { color: var(--tks-card-old-price-color, #777); font-size: .88em; }
.tks-card-prices > span { color: var(--tks-card-price-color, #a25a3c); font-weight: 600; }

.tks-card em {
  margin-top: 12px;
  color: var(--tks-card-price-color, #a25a3c);
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
}

.tks-card-body > strong + .tks-card-prices { margin-top: auto; }
.tks-card-body > strong + .tks-card em { margin-top: auto; }
.tks-card-body-empty { display: none; }

.tks-card-content-overlay .tks-card {
  justify-content: flex-end;
  min-height: 250px;
  color: var(--tks-card-title-color, #f2f0e9);
}

.tks-card-content-overlay.tks-card-size-free .tks-card {
  min-height: max(200px, var(--tks-card-height, 0px));
}

.tks-card-content-overlay .tks-card-media,
.tks-card-content-overlay .tks-card-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tks-card-content-overlay .tks-card-media img {
  object-fit: cover;
  object-position: var(--tks-card-focal-x, 50%) var(--tks-card-focal-y, 50%);
}

.tks-card-content-overlay .tks-card-body {
  position: relative;
  z-index: 1;
  min-height: 0;
  padding: 46px 14px 14px;
  background: linear-gradient(0deg, rgb(20 30 25 / 88%), rgb(20 30 25 / 0%));
}

.tks-card-content-overlay .tks-card strong { color: var(--tks-card-title-color, #f2f0e9); }
.tks-card-content-overlay .tks-card-prices > span,
.tks-card-content-overlay .tks-card em { color: var(--tks-card-price-color, #f2f0e9); }
.tks-card-content-overlay .tks-card-prices del { color: var(--tks-card-old-price-color, #f2f0e9); }

@media (max-width: 991px) {
  .tks-slider { width: calc(100vw - 32px); }
  .tks-inner { padding: 42px 42px; }
  .tks-slide.has-cards .tks-inner { gap: 25px; }
  .tks-cards-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .tks-slider { width: 100%; height: var(--tks-height-mobile, 540px); }

  .tks-shade,
  .tks-position-right-center .tks-shade,
  .tks-position-right-top .tks-shade,
  .tks-position-right-bottom .tks-shade {
    background: linear-gradient(
      0deg,
      color-mix(in srgb, var(--tks-overlay-color, #2f3d34) var(--tks-overlay, 48%), transparent) 0%,
      color-mix(in srgb, var(--tks-overlay-color, #2f3d34) 24%, transparent) 62%,
      transparent 100%
    );
  }

  .tks-inner,
  .tks-position-left-top .tks-inner,
  .tks-position-right-top .tks-inner {
    align-items: flex-end !important;
    justify-content: flex-start !important;
    padding: 45px 24px 68px;
    text-align: left !important;
  }

  .tks-copy { max-width: 100%; text-align: left !important; }
  .tks-copy h2 { font-size: 42px; line-height: 1; }

  .tks-description {
    margin-bottom: 18px;
    font-size: 15px;
    line-height: 1.45;
  }

  .tks-arrow {
    top: auto;
    bottom: 20px;
    width: 38px;
    height: 38px;
    transform: none;
  }

  .tks-prev { right: 68px; left: auto; }
  .tks-next { right: 22px; }
  .tks-dots { bottom: 35px; left: 24px; transform: none; }

  .tks-slide.has-cards .tks-inner {
    display: block;
    padding-top: 36px;
  }

  .tks-slide.has-cards .tks-copy { margin-bottom: 18px; }
  .tks-slide.has-cards .tks-copy h2 { font-size: 34px; }
  .tks-slide.has-cards .tks-description { display: none; }

  .tks-cards {
    display: flex;
    gap: min(var(--tks-card-gap, 12px), 16px);
    padding-bottom: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .tks-card {
    display: flex !important;
    flex: 0 0 58%;
    scroll-snap-align: start;
  }

  .tks-card-size-compact .tks-card { flex-basis: 46%; }
  .tks-card-size-large .tks-card { flex-basis: 78%; }
  .tks-card-size-free .tks-card { flex-basis: min(var(--tks-card-width, 80%), 84%); }

  .tks-card-body { padding: 10px; }
  .tks-card strong { font-size: min(var(--tks-card-title-size, 18px), 15px); }
  .tks-card-content-overlay .tks-card { min-height: 220px; }
  .tks-card-content-overlay.tks-card-size-free .tks-card { min-height: max(180px, var(--tks-card-height, 0px)); }
}

@media (prefers-reduced-motion: reduce) {
  .tks-slide,
  .tks-card,
  .tks-button {
    transition: none !important;
  }
}
