.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}

.bouncy-hover {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.bouncy-hover:hover {
  transform: scale(1.03) translateY(-4px);
}

.ambient-shadow {
  box-shadow: 0 10px 30px -10px rgba(255, 159, 28, 0.2);
}
.soft-shadow {
  box-shadow: 0 10px 30px -10px rgba(255, 159, 28, 0.15);
}
.inner-glow {
  box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.3);
}

.glass-panel {
  backdrop-filter: blur(8px);
  background: rgba(255, 255, 255, 0.85);
}
.glass-card {
  backdrop-filter: blur(12px);
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.5);
}

.blob-shape {
  border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
}

.floating {
  animation: floating 4s ease-in-out infinite;
}
@keyframes floating {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

.floating-blob {
  position: absolute;
  z-index: -1;
  filter: blur(60px);
  opacity: 0.25;
  border-radius: 9999px;
  animation: floating 8s ease-in-out infinite;
}

.custom-scrollbar::-webkit-scrollbar { width: 6px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #dac2ae; border-radius: 9999px; }

/* Ползунок вибору тривалості */
.duration-slider {
  -webkit-appearance: none;
  appearance: none;
  height: 10px;
  border-radius: 9999px;
  background: #e7e8e9;
  outline: none;
  cursor: pointer;
}
.duration-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #895100;
  border: 3px solid #ffffff;
  box-shadow: 0 2px 8px rgba(137, 81, 0, 0.45);
  transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.duration-slider::-webkit-slider-thumb:hover { transform: scale(1.15); }
.duration-slider::-webkit-slider-thumb:active { transform: scale(0.95); }
.duration-slider::-moz-range-thumb {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #895100;
  border: 3px solid #ffffff;
  box-shadow: 0 2px 8px rgba(137, 81, 0, 0.45);
  cursor: pointer;
}
.duration-slider::-moz-range-track {
  height: 10px;
  border-radius: 9999px;
  background: transparent;
}
.duration-slider:focus-visible::-webkit-slider-thumb { outline: 2px solid #006780; outline-offset: 2px; }

/* Reveal-ефект появи секцій */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
