/* Placeholder */
.ksfb-placeholder{
  height: 0;
}

.ksfb--hidden{
  display: none !important;
}

/* Shell fixed: è lei che diventa floating/visible */
.ksfb-shell-fixed.ksfb--floating{
  position: fixed !important;
  bottom: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;

  /* IMPORTANT: battere override tema (left/right/width) */
  left: var(--ksfb-left, auto) !important;
  right: auto !important;
  width: var(--ksfb-width, auto) !important;

  transform: translateZ(0) translateY(100%);
  opacity: 0;
  will-change: transform, opacity, left, width !important;
  transition: transform 0.25s ease-out, opacity 0.25s ease-out !important;

  z-index: var(--ksfb-zi, 9999);
}

/* Stato visibile: MU-style */
.ksfb-shell-fixed.ksfb--floating.ksfb--visible{
  transform: translateZ(0) translateY(0);
  opacity: 1;

  max-width: var(--ksfb-maxw, none);
  padding-left: var(--ksfb-pad, 0px);
  padding-right: var(--ksfb-pad, 0px);
}

/* Il contenuto dentro la shell non deve “espandere” oltre */
.ksfb-shell-fixed > *{
  max-width: 100% !important;
  margin: 0 !important;
}

/* Clone di misura: resta nel DOM originale ma non si vede */
.ksfb-measure{
  position: absolute !important;
  left: -99999px !important;
  top: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: auto !important;
}

/* FIX padding interno Salient: forza il padding del row_col_wrap_12 in floating */
.ksfb-shell-fixed.ksfb--floating .row_col_wrap_12{
  padding-left: var(--ksfb-inner-pl, 0px) !important;
  padding-right: var(--ksfb-inner-pr, 0px) !important;
}

.ksfb-shell-fixed.ksfb--floating .row_col_wrap_12.col.span_12 {
  padding-left: 45px;
  padding-right: 45px;
}

@media (max-width: 1000px) {
.ksfb-shell-fixed.ksfb--floating.ksfb--visible{
  padding-left: 0px;
  padding-right: 0px;
}
}


@media (max-width: 690px) {
  .ksfb-shell-fixed.ksfb--floating .row_col_wrap_12.col.span_12 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

