.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  vertical-align: middle;
}
.pizza-gradient {
  background: linear-gradient(135deg, #9e3d00 0%, #c64f00 100%);
}
.glass-nav {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.glass-card {
  background: rgba(250, 249, 248, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
/* Ocultar scrollbar horizontal */
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
/* Carousel */
#hero-carousel:hover .carousel-arrow { opacity: 0.85; }
.carousel-slide { pointer-events: none; }
.carousel-slide.active { pointer-events: auto; }
.carousel-dot {
  width: 10px; height: 10px; border-radius: 9999px;
  background: rgba(255,255,255,0.4); border: none; cursor: pointer;
  transition: all 0.3s ease; padding: 0;
}
.carousel-dot.active {
  background: #fff; width: 32px;
  box-shadow: 0 0 8px rgba(255,255,255,0.4);
}
/* Animaciones */
.fade-in { animation: fadeIn 0.3s ease-in; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
/* Toast notifications */
.toast {
  position: fixed; bottom: 2rem; right: 2rem; z-index: 9999;
  padding: 1rem 1.5rem; border-radius: 0.75rem;
  background: #1a1c1c; color: #fff;
  font-family: 'Manrope', sans-serif; font-size: 0.875rem;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  transform: translateY(100px); opacity: 0;
  transition: all 0.3s ease;
}
.toast.show { transform: translateY(0); opacity: 1; }
/* Toggle switch */
.toggle-switch { position: relative; width: 44px; height: 24px; }
.toggle-switch input { opacity: 0; width: 0; height: 0; }
.toggle-slider {
  position: absolute; inset: 0; cursor: pointer;
  background: #e3e2e1; border-radius: 9999px; transition: 0.3s;
}
.toggle-slider:before {
  content: ''; position: absolute; height: 18px; width: 18px;
  left: 3px; bottom: 3px; background: white; border-radius: 50%; transition: 0.3s;
}
.toggle-switch input:checked + .toggle-slider { background: #9e3d00; }
.toggle-switch input:checked + .toggle-slider:before { transform: translateX(20px); }
/* Loading skeleton */
.skeleton {
  background: linear-gradient(90deg, #f4f3f2 25%, #eeeeed 50%, #f4f3f2 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
