/* PARLOR FREAKS — Reusable decorative components */

.pf-deco {
  position: absolute;
  pointer-events: none;
  user-select: none;
}

/* Logo flanking wings / horns */
.pf-deco--wing-left,
.pf-deco--wing-right {
  top: 50%;
  width: 36px;
  height: 72px;
  transform: translateY(-50%);
  color: var(--pf-black);
  opacity: 0.9;
}

.pf-deco--wing-left {
  left: 4px;
}

.pf-deco--wing-right {
  right: 4px;
  transform: translateY(-50%) scaleX(-1);
}

.pf-deco--wing-left svg,
.pf-deco--wing-right svg {
  width: 100%;
  height: 100%;
}

/* Scissors above logo */
.pf-deco--scissors-top {
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 28px;
  color: var(--pf-black);
  opacity: 0.85;
}

/* Star accents */
.pf-deco--star {
  width: var(--deco-size, 16px);
  height: var(--deco-size, 16px);
  color: var(--pf-blue);
}

.pf-deco--star-sm {
  --deco-size: 12px;
}

/* Tape strip */
.pf-deco--tape {
  width: 64px;
  height: 22px;
  background: rgba(244, 232, 213, 0.72);
  border: 1px solid rgba(31, 31, 31, 0.08);
  box-shadow: 0 2px 4px rgba(31, 31, 31, 0.1);
  transform: rotate(var(--tape-rotate, -4deg));
  opacity: 0.85;
}

/* Stamp circle */
.pf-deco--stamp {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid var(--pf-red);
  border-radius: 50%;
  font-family: var(--font-display);
  font-size: 8px;
  letter-spacing: 0.08em;
  color: var(--pf-red);
  transform: rotate(-12deg);
  opacity: 0.75;
}

/* Hand-drawn arrow */
.pf-deco--arrow-sketch svg {
  width: 40px;
  height: 24px;
  color: var(--pf-red);
  opacity: 0.7;
}

/* Grunge splatter overlay (section use) */
.pf-deco--splatter {
  width: 120px;
  height: 120px;
  opacity: 0.15;
  mix-blend-mode: multiply;
}

/* Record disc */
.pf-deco--record {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, var(--pf-black) 8%, transparent 9%),
    repeating-radial-gradient(circle at center, var(--pf-black) 0 1px, transparent 1px 3px);
  border: 3px solid var(--pf-black);
  opacity: 0.65;
}

/* Palm silhouette */
.pf-deco--palm {
  width: 48px;
  height: 64px;
  color: var(--pf-green);
  opacity: 0.35;
}

/* Newspaper clip */
.pf-deco--news-clip {
  width: 80px;
  padding: 6px 8px;
  background: rgba(244, 232, 213, 0.9);
  border: 1px solid rgba(31, 31, 31, 0.15);
  font-family: var(--font-body);
  font-size: 8px;
  line-height: 1.3;
  letter-spacing: 0.04em;
  transform: rotate(2deg);
  box-shadow: 2px 3px 8px rgba(31, 31, 31, 0.12);
  opacity: 0.8;
}

/* Ink splatter */
.pf-deco--ink {
  width: 32px;
  height: 32px;
  border-radius: 45% 55% 52% 48% / 48% 45% 55% 52%;
  background: var(--pf-black);
  opacity: 0.12;
}

/* Compass */
.pf-deco--compass {
  width: 40px;
  height: 40px;
  color: var(--pf-blue);
  opacity: 0.5;
}

/* Sun burst */
.pf-deco--sun {
  width: 44px;
  height: 44px;
  color: var(--pf-yellow);
  opacity: 0.55;
}

/* Position helpers for scattered layout */
.pf-deco-pos--tl { top: 8%; left: 6%; }
.pf-deco-pos--tr { top: 12%; right: 8%; }
.pf-deco-pos--bl { bottom: 10%; left: 5%; }
.pf-deco-pos--br { bottom: 8%; right: 6%; }
