.material-paper,
.material-paint,
.material-ink,
.material-wash,
.photo-print {
  isolation: isolate;
}

:where(.material-paper, .material-paint, .material-ink, .material-wash, .photo-print):not(.absolute):not(.fixed):not(.sticky) {
  position: relative;
}

:where(.material-paper, .material-paint, .material-ink, .material-wash)::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  content: "";
  pointer-events: none;
  background-image: var(--material-texture);
  background-size: var(--material-size, 240px);
  opacity: var(--material-opacity, .08);
  mix-blend-mode: var(--material-blend, multiply);
}

.material-paper {
  --material-texture: url("/vi/services/website-development/styles/item/coffee-roastery-paper-cup-parade/preview/assets/paper-grain.webp");
  --material-size: 256px;
  --material-opacity: .09;
  --material-blend: multiply;
}

.material-paint {
  --material-texture: url("/vi/services/website-development/styles/item/coffee-roastery-paper-cup-parade/preview/assets/paint-dropout.webp");
  --material-size: 210px;
  --material-opacity: .18;
  --material-blend: screen;
}

.material-ink {
  --material-texture: url("/vi/services/website-development/styles/item/coffee-roastery-paper-cup-parade/preview/assets/ink-dropout.webp");
  --material-size: 145px;
  --material-opacity: .08;
  --material-blend: screen;
}

.material-wash {
  --material-texture: url("/vi/services/website-development/styles/item/coffee-roastery-paper-cup-parade/preview/assets/paper-grain.webp");
  --material-size: 340px;
  --material-opacity: .14;
  --material-blend: soft-light;
}

.photo-print:not(.absolute) {
  position: relative;
}

.photo-print {
  overflow: hidden;
  background: #111;
}

.photo-print > img {
  filter: grayscale(1) contrast(1.35) sepia(.12);
}

.photo-print::before,
.photo-print::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  content: "";
  pointer-events: none;
}

.photo-print::before {
  background-image: url("/vi/services/website-development/styles/item/coffee-roastery-paper-cup-parade/preview/assets/paper-grain.webp");
  background-size: 190px;
  opacity: .32;
  mix-blend-mode: soft-light;
}

.photo-print::after {
  background-image: radial-gradient(circle, rgb(255 250 230 / .38) 0 .52px, transparent .75px);
  background-size: 3px 3px;
  opacity: .28;
  mix-blend-mode: screen;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
