:root {
	--vf-main-color: #7F00FF;
	--vf-main-color-bg: var(--vf-main-color);
	--vf-main-color-rgb: 127, 0, 255;
	--vf-main-color-rgb-10: rgba(127, 0, 255,.9);
	--vf-main-color-rgb-20: rgba(127, 0, 255,.8);
}
body { margin:0; color:#2a2a2a; overflow-y: scroll; }

.brand { font-weight:600; font-size:1.3rem; }
.brand span { color:#ff4db8; }

.footer-links a { text-decoration:none; margin:0 6px; font-size:.85rem; text-shadow:0 2px 8px rgba(0,0,0,0.4); transition:opacity .2s ease; }
.footer-links a:hover { opacity:.75; }

/* Overlay Menu */
.overlay-menu { position:fixed; inset:0; background:linear-gradient(135deg,#ffd6eb,#f5c6ff); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2rem; font-size:1.3rem; transform:translateY(-100%); transition:transform .3s ease; z-index:1050; }
.overlay-menu.active { transform:translateY(0); }
.overlay-close { position:absolute; top:25px; right:30px; font-size:1.5rem; cursor:pointer; }

.footer-link { color:#292929; }
.footer-text { color:#292929; }

.bg-purple { background-color: var(--vf-main-color) !important; }
.text-purple { color: var(--vf-main-color) !important; }
.btn-purple { --bs-btn-bg: var(--vf-main-color); --bs-btn-border-color: var(--vf-main-color); }

.ratio-1x1 img { object-fit: cover; }
.overlay { opacity: 0; transition: .2s; }
.explore-item:hover .overlay { opacity: 1; }

.bg-custom { background-color: var(--vf-main-color) !important; }
.text-custom { color: var(--vf-main-color) !important; }
.btn-custom {
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: var(--vf-main-color-bg);
  --bs-btn-border-color: var(--vf-main-color-bg);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: var(--vf-main-color-rgb-10);
  --bs-btn-hover-border-color: var(--vf-main-color-rgb-10);
  --bs-btn-focus-shadow-rgb: var(--vf-main-color-rgb);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: var(--vf-main-color-rgb-20);
  --bs-btn-active-border-color: var(--vf-main-color-rgb-20);
}