/* =========================================================================
   Norsoltec Tienda — Estilos compartidos
   ========================================================================= */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

.card-tilt { transition: all .35s cubic-bezier(.2,.8,.2,1); }
.card-tilt:hover { transform: translateY(-6px); box-shadow: 0 20px 48px -12px rgba(139,92,246,.28); }

.modal-backdrop { background: rgba(6,4,16,.78); backdrop-filter: blur(4px); }

.slider { scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
.slide  { scroll-snap-align: start; }

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }

.linea-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.linea-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Ocultar scrollbar de carruseles en desktop */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Animaciones */
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.anim-in { animation: fadeIn .35s ease both; }

/* Aviso flotante (toast) */
#toast {
  position: fixed; z-index: 90; left: 50%; bottom: 26px; transform: translateX(-50%) translateY(140%);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .3s; opacity: 0;
  max-width: 92vw;
}
#toast.visible { transform: translateX(-50%) translateY(0); opacity: 1; }

/* Enlaces de navegacion */
.nav-link { position: relative; }
.nav-link::after {
  content: ''; position: absolute; left: 0; bottom: -4px; height: 2px; width: 0;
  background: linear-gradient(90deg, #EC4899, #8B5CF6); transition: width .25s ease;
}
.nav-link:hover::after, .nav-link.activo::after { width: 100%; }

/* Placeholder de producto (evita parpadeo mientras carga la imagen) */
.prod-media { background: linear-gradient(135deg, #0B0719 0%, #4C1D95 55%, #9D174D 100%); }
