:where(.elementor-widget-blossom_stepper_cards .blossom-stepper-cards){
  --bsc-accent:#2D5A27;
  --bsc-transition:300ms;
  --bsc-dot-size:12px;
  --bsc-dot-gap:12px;
  --bsc-dot-color:#FFFFFF;
  --bsc-dot-active:#2D5A27;
  --bsc-line-size:2px;
  --bsc-line-completed:#2D5A27;
  --bsc-line-incomplete:#E5E7EB;
  --bsc-stepper-gap:24px;
  --bsc-cards-gap:24px;
  --bsc-mobile-card-width:85%;
  --bsc-snap-align:start;
  --bsc-card-bg:#FFFFFF;
  --bsc-card-bg-active:#FFFFFF;
  --bsc-card-border-width:1px;
  --bsc-card-border-style:solid;
  --bsc-card-border-color:#E5E7EB;
  --bsc-card-border-active:#2D5A27;
  --bsc-icon-wrap-size:48px;
  --bsc-icon-wrap-radius:999px;
  --bsc-icon-wrap-bg:#F3F4F6;
  --bsc-icon-wrap-bg-hover:#E5ECE5;
  --bsc-icon-wrap-bg-active:#2D5A27;
  --bsc-icon-size:20px;
  --bsc-icon-color:#2D5A27;
  --bsc-icon-color-hover:#2D5A27;
  --bsc-icon-color-active:#FFFFFF;
  --bsc-icon-gap:12px;
  --bsc-label-color:#6E6E73;
  --bsc-label-color-active:#2D5A27;
  --bsc-label-mb:6px;
  --bsc-title-color:#111827;
  --bsc-title-color-active:#111827;
  --bsc-title-mb:12px;
  --bsc-desc-color:#4B5563;
  --bsc-desc-color-active:#374151;
  --bsc-desc-mb:16px;
  --bsc-benefit-color:#1F2937;
  --bsc-benefit-color-active:#111827;
  --bsc-check-size:20px;
  --bsc-check-bg:#EAF4EA;
  --bsc-check-bg-active:#EAF4EA;
  --bsc-check-icon-size:12px;
  --bsc-check-icon-color:#2D5A27;
  --bsc-check-icon-color-active:#2D5A27;
  --bsc-benefit-gap:10px;
  --bsc-benefit-rows-gap:10px;
}

.elementor-widget-blossom_stepper_cards .bsc-stepper{
  display:grid;
  grid-template-columns:repeat(var(--bsc-steps, 1), minmax(0,1fr));
  gap:0;
  margin-bottom:var(--bsc-stepper-gap);
  position:relative;
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__step{
  background:transparent;
  border:none;
  padding:0;
  margin:0;
  outline:none;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
  border-radius:0;
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  cursor:pointer;
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__step:hover,
.elementor-widget-blossom_stepper_cards .bsc-stepper__step:focus,
.elementor-widget-blossom_stepper_cards .bsc-stepper__step:focus-visible,
.elementor-widget-blossom_stepper_cards .bsc-stepper__step:active{
  background:transparent;
  box-shadow:none;
  outline:none;
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__step::before{
  content:"";
  position:absolute;
  top:calc(var(--bsc-dot-size) / 2);
  left:0;
  width:calc(50% - (var(--bsc-dot-size) / 2) - var(--bsc-dot-gap));
  height:var(--bsc-line-size);
  transform:translateY(-50%);
  background:var(--bsc-line-incomplete);
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__step::after{
  content:"";
  position:absolute;
  top:calc(var(--bsc-dot-size) / 2);
  right:0;
  width:calc(50% - (var(--bsc-dot-size) / 2) - var(--bsc-dot-gap));
  height:var(--bsc-line-size);
  transform:translateY(-50%);
  background:var(--bsc-line-incomplete);
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__step:first-child::before,
.elementor-widget-blossom_stepper_cards .bsc-stepper__step:last-child::after{
  display:none;
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__step.is-completed::before,
.elementor-widget-blossom_stepper_cards .bsc-stepper__step.is-completed::after{
  background:var(--bsc-line-completed);
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__step.is-active::before{
  background:var(--bsc-line-completed);
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__dot{
  width:var(--bsc-dot-size);
  height:var(--bsc-dot-size);
  border-radius:999px;
  background:var(--bsc-dot-color);
  border:2px solid var(--bsc-line-incomplete);
  transition:all var(--bsc-transition) ease;
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__step.is-active .bsc-stepper__dot{
  background:var(--bsc-dot-active);
  border-color:var(--bsc-dot-active);
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__label{
  text-align:center;
  font-size:13px;
  line-height:1.3;
  font-weight:600;
  background:transparent;
  transition:color var(--bsc-transition) ease;
}

.elementor-widget-blossom_stepper_cards .bsc-stepper__step.is-active .bsc-stepper__label{
  font-weight:700;
}

.elementor-widget-blossom_stepper_cards .bsc-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--bsc-cards-gap);
}

.elementor-widget-blossom_stepper_cards .bsc-card{
  background:var(--bsc-card-bg);
  border:var(--bsc-card-border-width) var(--bsc-card-border-style) var(--bsc-card-border-color);
  transition:all var(--bsc-transition) ease;
  min-width:0;
  overflow:hidden;
}

.elementor-widget-blossom_stepper_cards .bsc-card.is-active{
  background:var(--bsc-card-bg-active);
  border-color:var(--bsc-card-border-active);
}

.elementor-widget-blossom_stepper_cards .bsc-card__header{
  display:flex;
  align-items:flex-start;
  gap:var(--bsc-icon-gap);
}

.elementor-widget-blossom_stepper_cards .bsc-card__icon-wrap{
  width:var(--bsc-icon-wrap-size);
  height:var(--bsc-icon-wrap-size);
  border-radius:var(--bsc-icon-wrap-radius);
  background:var(--bsc-icon-wrap-bg);
  color:var(--bsc-icon-color);
  flex:0 0 var(--bsc-icon-wrap-size);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:0;
  transition:all var(--bsc-transition) ease;
}

.elementor-widget-blossom_stepper_cards .bsc-card:hover .bsc-card__icon-wrap{
  background:var(--bsc-icon-wrap-bg-hover);
  color:var(--bsc-icon-color-hover);
}

.elementor-widget-blossom_stepper_cards .bsc-card.is-active .bsc-card__icon-wrap{
  background:var(--bsc-icon-wrap-bg-active);
  color:var(--bsc-icon-color-active);
}

.elementor-widget-blossom_stepper_cards .bsc-card__icon-wrap :where(i,svg){
  font-size:var(--bsc-icon-size);
  width:var(--bsc-icon-size);
  height:var(--bsc-icon-size);
  line-height:1;
  color:currentColor;
  fill:currentColor;
  stroke:currentColor;
}

.elementor-widget-blossom_stepper_cards .bsc-card__icon-wrap :where(svg,svg *){
  color:currentColor;
  fill:currentColor;
  stroke:currentColor;
}

.elementor-widget-blossom_stepper_cards .bsc-card__titles{
  min-width:0;
}

/* Word wrap / overflow fixes (mobile + long words) */
.elementor-widget-blossom_stepper_cards :where(.bsc-stepper__label,.bsc-card__label,.bsc-card__title,.bsc-card__desc,.bsc-card__check-text){
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}

/* Ensure flex children can shrink and wrap */
.elementor-widget-blossom_stepper_cards :where(.bsc-stepper__step,.bsc-card__header,.bsc-card__benefit){
  min-width:0;
}

.elementor-widget-blossom_stepper_cards .bsc-card__label{
  display:block;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:0 0 var(--bsc-label-mb);
  color:var(--bsc-label-color);
}

.elementor-widget-blossom_stepper_cards .bsc-card.is-active .bsc-card__label{
  color:var(--bsc-label-color-active);
}

.elementor-widget-blossom_stepper_cards .bsc-card__title{
  margin:0 0 var(--bsc-title-mb);
  color:var(--bsc-title-color);
}

.elementor-widget-blossom_stepper_cards .bsc-card.is-active .bsc-card__title{
  color:var(--bsc-title-color-active);
}

.elementor-widget-blossom_stepper_cards .bsc-card__desc{
  margin:0 0 var(--bsc-desc-mb);
  color:var(--bsc-desc-color);
}

.elementor-widget-blossom_stepper_cards .bsc-card.is-active .bsc-card__desc{
  color:var(--bsc-desc-color-active);
}

.elementor-widget-blossom_stepper_cards .bsc-card__benefits{
  display:flex;
  flex-direction:column;
  gap:var(--bsc-benefit-rows-gap);
}

.elementor-widget-blossom_stepper_cards .bsc-card__benefit{
  display:flex;
  align-items:flex-start;
  gap:var(--bsc-benefit-gap);
}

.elementor-widget-blossom_stepper_cards .bsc-card__check-icon{
  width:var(--bsc-check-size);
  height:var(--bsc-check-size);
  border-radius:999px;
  background:var(--bsc-check-bg);
  color:var(--bsc-check-icon-color);
  flex:0 0 var(--bsc-check-size);
  display:flex;
  align-items:center;
  justify-content:center;
}

.elementor-widget-blossom_stepper_cards .bsc-card.is-active .bsc-card__check-icon{
  background:var(--bsc-check-bg-active);
  color:var(--bsc-check-icon-color-active);
}

.elementor-widget-blossom_stepper_cards .bsc-card__check-icon :where(i,svg){
  font-size:var(--bsc-check-icon-size);
  width:var(--bsc-check-icon-size);
  height:var(--bsc-check-icon-size);
  line-height:1;
}

.elementor-widget-blossom_stepper_cards .bsc-card__check-text{
  color:var(--bsc-benefit-color);
}

.elementor-widget-blossom_stepper_cards .bsc-card.is-active .bsc-card__check-text{
  color:var(--bsc-benefit-color-active);
}

@media (max-width:1024px){
  .elementor-widget-blossom_stepper_cards .bsc-cards{
    display:flex;
    gap:var(--bsc-cards-gap);
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .elementor-widget-blossom_stepper_cards .bsc-card{
    flex:0 0 var(--bsc-mobile-card-width);
    scroll-snap-align:var(--bsc-snap-align);
  }
  .elementor-widget-blossom_stepper_cards .bsc--hide-scrollbar .bsc-cards{
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .elementor-widget-blossom_stepper_cards .bsc--hide-scrollbar .bsc-cards::-webkit-scrollbar{
    display:none;
  }
}

@media (max-width:767px){
  .elementor-widget-blossom_stepper_cards .bsc--hide-stepper-mobile .bsc-stepper{
    display:none;
  }

  /* Mobile: horizontal scroll for long step labels */
  .elementor-widget-blossom_stepper_cards .bsc-stepper{
    display:flex;
    flex-wrap:nowrap;
    justify-content:flex-start;
    gap:16px;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    padding:0 6px 10px;
    scroll-snap-type:x proximity;
  }

  .elementor-widget-blossom_stepper_cards .bsc--hide-stepper-scrollbar-mobile .bsc-stepper{
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .elementor-widget-blossom_stepper_cards .bsc--hide-stepper-scrollbar-mobile .bsc-stepper::-webkit-scrollbar{
    display:none;
  }

  .elementor-widget-blossom_stepper_cards .bsc-stepper__step{
    flex:0 0 auto;
    scroll-snap-align:start;
    padding:0 4px;
    min-width:max-content;
  }

  /* Connecting lines don't work well with scroll */
  .elementor-widget-blossom_stepper_cards .bsc-stepper__step::before,
  .elementor-widget-blossom_stepper_cards .bsc-stepper__step::after{
    display:none;
  }

  /* Keep label in one line; user can scroll */
  .elementor-widget-blossom_stepper_cards .bsc-stepper__label{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
  }
}

