/**
 * KS GLP-1 Carousel — theme shield
 * Loads last. Prevents WP / Elementor / theme global styles
 * from overriding carousel controls and card CTAs.
 * Typography is intentionally excluded — edit fonts in Elementor Style tab.
 */

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel .glp1-carousel__controls button.glp1-carousel__arrow,
.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow[type="button"],
.ks-el-root.ks-el-glp1-carousel .glp1-carousel__controls button.glp1-carousel__arrow,
.ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow[type="button"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: var(--gc-arrow-size) !important;
  height: var(--gc-arrow-size) !important;
  min-width: var(--gc-arrow-size) !important;
  min-height: var(--gc-arrow-size) !important;
  max-width: var(--gc-arrow-size) !important;
  max-height: var(--gc-arrow-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--gc-arrow-line) !important;
  border-radius: var(--gc-arrow-radius) !important;
  background: var(--gc-arrow-bg) !important;
  background-color: var(--gc-arrow-bg) !important;
  background-image: none !important;
  background-size: auto !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  box-shadow: none !important;
  color: var(--gc-arrow-ink) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  line-height: 1 !important;
  outline: none !important;
  cursor: pointer !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
  vertical-align: middle !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow[data-ks-gc-dir="next"],
.ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow[data-ks-gc-dir="next"] {
  background: var(--gc-arrow-next-bg) !important;
  background-color: var(--gc-arrow-next-bg) !important;
  background-image: none !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow:hover:not(:disabled),
.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow:focus-visible:not(:disabled),
.ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow:hover:not(:disabled),
.ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow:focus-visible:not(:disabled) {
  background: var(--gc-arrow-hover-bg) !important;
  background-color: var(--gc-arrow-hover-bg) !important;
  background-image: none !important;
  border-color: var(--gc-arrow-line-hover) !important;
  color: var(--gc-arrow-ink) !important;
  box-shadow: none !important;
  transform: none !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow[data-ks-gc-dir="next"]:hover:not(:disabled),
.ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow[data-ks-gc-dir="next"]:hover:not(:disabled) {
  background: var(--gc-arrow-hover-bg) !important;
  background-color: var(--gc-arrow-hover-bg) !important;
  background-image: none !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow:disabled,
.ks-el-root.ks-el-glp1-carousel button.glp1-carousel__arrow:disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel .glp1-carousel__arrow::before,
.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel .glp1-carousel__arrow::after,
.ks-el-root.ks-el-glp1-carousel .glp1-carousel__arrow::before,
.ks-el-root.ks-el-glp1-carousel .glp1-carousel__arrow::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel .glp1-carousel__arrow svg,
.ks-el-root.ks-el-glp1-carousel .glp1-carousel__arrow svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
  stroke: none !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* Card CTA links */
.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn,
.ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: var(--gc-btn-h) !important;
  margin: 0 !important;
  padding: 0 8px !important;
  border-radius: var(--gc-btn-radius) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-family: var(--gc-btn-font) !important;
  font-size: var(--gc-btn-size) !important;
  font-weight: var(--gc-btn-weight) !important;
  letter-spacing: var(--gc-btn-tracking) !important;
  text-transform: var(--gc-btn-transform) !important;
  line-height: 1 !important;
  background-image: none !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--primary,
.ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--primary {
  border: 1px solid var(--gc-btn1-line) !important;
  background: var(--gc-btn1-bg) !important;
  background-color: var(--gc-btn1-bg) !important;
  color: var(--gc-btn1-ink) !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--primary:hover,
.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--primary:focus-visible,
.ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--primary:hover,
.ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--primary:focus-visible {
  border-color: var(--gc-btn1-line-hover) !important;
  background: var(--gc-btn1-bg-hover) !important;
  background-color: var(--gc-btn1-bg-hover) !important;
  background-image: none !important;
  color: var(--gc-btn1-ink) !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--secondary,
.ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--secondary {
  border: 1px solid var(--gc-btn2-line) !important;
  background: var(--gc-btn2-bg) !important;
  background-color: var(--gc-btn2-bg) !important;
  color: var(--gc-btn2-ink) !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--secondary:hover,
.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--secondary:focus-visible,
.ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--secondary:hover,
.ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn--secondary:focus-visible {
  border-color: var(--gc-btn2-line-hover) !important;
  background: var(--gc-btn2-bg-hover) !important;
  background-color: var(--gc-btn2-bg-hover) !important;
  background-image: none !important;
  color: var(--gc-btn2-ink-hover) !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn::before,
.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn::after,
.ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn::before,
.ks-el-root.ks-el-glp1-carousel a.glp1-carousel__btn::after {
  content: none !important;
  display: none !important;
}

/* Progress shell */
.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel .glp1-carousel__progress,
.ks-el-root.ks-el-glp1-carousel .glp1-carousel__progress {
  background: var(--gc-prog-shell-bg) !important;
  background-color: var(--gc-prog-shell-bg) !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel .glp1-carousel__progress-track,
.ks-el-root.ks-el-glp1-carousel .glp1-carousel__progress-track {
  background: var(--gc-prog-track) !important;
  background-color: var(--gc-prog-track) !important;
  background-image: none !important;
}

.elementor-widget-ks_glp1_carousel .ks-el-root.ks-el-glp1-carousel .glp1-carousel__progress-inner,
.ks-el-root.ks-el-glp1-carousel .glp1-carousel__progress-inner {
  background: var(--gc-prog-fill) !important;
  background-color: var(--gc-prog-fill) !important;
  background-image: none !important;
}
