/* Ukryj tylko gdy JS realnie wystartował (bez JS/cookie-block tekst zostaje widoczny). */
.blossom-reveal.blossom-reveal--init:not(.blossom-reveal--ready) {
  visibility: hidden;
}

.blossom-reveal .br-char {
  display: inline-block;
  will-change: transform, opacity, filter, clip-path;
}

.blossom-reveal .br-word {
  display: inline-block;
  white-space: nowrap;
}

.blossom-reveal .br-word-item {
  display: inline-block;
  white-space: nowrap;
  will-change: transform, opacity, clip-path, filter;
}

.blossom-reveal .br-word-mask {
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

.blossom-reveal .br-block {
  display: block;
}

.blossom-reveal--ready .br-char {
  opacity: 0;
  transform: translateY(20px);
}

.blossom-reveal--active .br-char {
  animation: blossom-text-reveal-char 400ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

/* 1) Slide up z maską */
.blossom-reveal--style-slide_mask.blossom-reveal--ready .br-word-item {
  opacity: 1;
  transform: translateY(115%);
}
.blossom-reveal--style-slide_mask.blossom-reveal--active .br-word-item {
  animation: blossom-text-reveal-slide-mask 620ms cubic-bezier(0.2, 0.75, 0.2, 1) both;
}

/* 2) Blur in */
.blossom-reveal--style-blur_in.blossom-reveal--ready .br-char {
  transform: translateY(12px) scale(0.97);
  filter: blur(8px);
}
.blossom-reveal--style-blur_in.blossom-reveal--active .br-char {
  animation-name: blossom-text-reveal-blur-in;
  animation-duration: 580ms;
}

/* 3) Split words */
.blossom-reveal--style-split_words.blossom-reveal--ready .br-word-item {
  opacity: 0;
  transform: translateY(20px);
}
.blossom-reveal--style-split_words.blossom-reveal--active .br-word-item {
  animation: blossom-text-reveal-split-words 520ms cubic-bezier(0.3, 0.7, 0.2, 1) both;
}

/* 4) Clip path wipe */
.blossom-reveal--style-clip_wipe.blossom-reveal--ready .br-word-item--clip {
  opacity: 1;
  transform: none;
  clip-path: inset(0 100% 0 0);
}
.blossom-reveal--style-clip_wipe.blossom-reveal--active .br-word-item--clip {
  animation: blossom-text-reveal-clip-wipe 620ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* 5) Scramble / glitch */
.blossom-reveal--style-scramble.blossom-reveal--ready .br-char {
  opacity: 0.15;
  transform: none;
}
.blossom-reveal--style-scramble.blossom-reveal--active .br-char {
  animation: none;
}

/* Text widget effects (long content) */
.blossom-reveal--style-para_fade_up.blossom-reveal--ready .br-block,
.blossom-reveal--style-para_stagger.blossom-reveal--ready .br-block {
  opacity: 0;
  transform: translateY(16px);
}
.blossom-reveal--style-para_fade_up.blossom-reveal--active .br-block,
.blossom-reveal--style-para_stagger.blossom-reveal--active .br-block {
  animation: blossom-text-reveal-para-fade-up 520ms cubic-bezier(0.3, 0.7, 0.2, 1) both;
}

.blossom-reveal--style-line_reveal.blossom-reveal--ready .br-block {
  overflow: hidden;
}
.blossom-reveal--style-line_reveal.blossom-reveal--ready .br-line-inner {
  display: inline-block;
  transform: translateY(112%);
  opacity: 0.9;
}
.blossom-reveal--style-line_reveal.blossom-reveal--active .br-line-inner {
  animation: blossom-text-reveal-line 620ms cubic-bezier(0.2, 0.75, 0.2, 1) both;
  animation-delay: inherit;
}

.blossom-reveal--style-highlight_sweep .br-highlight-sweep {
  background-image: linear-gradient(
    90deg,
    rgba(255, 214, 102, 0.45) 0%,
    rgba(255, 214, 102, 0.45) 100%
  );
  background-repeat: no-repeat;
  background-size: 0% 72%;
  background-position: 0 88%;
}
.blossom-reveal--style-highlight_sweep.blossom-reveal--active .br-highlight-sweep {
  animation: blossom-text-reveal-highlight 820ms ease both;
  animation-delay: var(--br-highlight-delay, 0ms);
}
.blossom-reveal--style-highlight_sweep .br-highlight-sweep--fallback {
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

@keyframes blossom-text-reveal-char {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes blossom-text-reveal-slide-mask {
  0% {
    transform: translateY(115%);
  }
  80% {
    transform: translateY(-3%);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes blossom-text-reveal-blur-in {
  0% {
    opacity: 0;
    transform: translateY(12px) scale(0.97);
    filter: blur(8px);
  }
  72% {
    opacity: 1;
    transform: translateY(-1px) scale(1.005);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes blossom-text-reveal-split-words {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  65% {
    opacity: 1;
    transform: translateY(-2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes blossom-text-reveal-clip-wipe {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}

@keyframes blossom-text-reveal-para-fade-up {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes blossom-text-reveal-line {
  0% {
    opacity: 0.9;
    transform: translateY(112%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes blossom-text-reveal-highlight {
  0% {
    background-size: 0% 72%;
  }
  100% {
    background-size: 100% 72%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .blossom-reveal .br-char,
  .blossom-reveal .br-word-item,
  .blossom-reveal .br-line-inner,
  .blossom-reveal .br-block,
  .blossom-reveal--ready .br-char,
  .blossom-reveal--active .br-char,
  .blossom-reveal--active .br-word-item,
  .blossom-reveal--active .br-line-inner,
  .blossom-reveal--active .br-block {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    background-size: 100% 72% !important;
  }
}

