/* Shared styles for the public site (index.html) and the staff dashboard's embedded
   copy of it (admin.html) — kept in one file so the two never drift, same principle
   as theme.js for colors/fonts/logo. */
[x-cloak] { display: none !important; }
.themed-range { -webkit-appearance: none; appearance: none; background: transparent; }
.themed-range::-webkit-slider-runnable-track { background: #CBC1B5; height: 4px; border-radius: 2px; }
.themed-range::-moz-range-track { background: #CBC1B5; height: 4px; border-radius: 2px; }
.themed-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; margin-top: -5px; height: 14px; width: 14px; background-color: #C9A66B; border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
.themed-range::-moz-range-thumb { height: 14px; width: 14px; background-color: #C9A66B; border-radius: 50%; border: none; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
.custom-scrollbar { scrollbar-width: none; -ms-overflow-style: none; }
.custom-scrollbar::-webkit-scrollbar { width: 0; height: 0; display: none; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.animate-fadeIn { animation: fadeIn 0.2s ease-in-out; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.animate-marquee { animation: marquee 13s linear infinite; }
.animate-marquee:hover, .animate-marquee:active { animation-play-state: paused; }
@keyframes kenBurns { 0% { transform: scale(1) translate(0, 0); } 50% { transform: scale(1.08) translate(-1%, -1%); } 100% { transform: scale(1) translate(0, 0); } }
.hero-slide-animated { animation: kenBurns 20s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .hero-slide-animated { animation: none; } }
